Mercurial > hg > xemacs-beta
changeset 4966:48b63cd88a21
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 01 Feb 2010 14:11:36 -0600 |
parents | d79e9cc6aeca (diff) 6bc1f3f6cf0d (current diff) |
children | 0d4c9d0f6a8d |
files | lisp/ChangeLog src/ChangeLog src/bytecode.c src/fns.c src/lisp.h |
diffstat | 158 files changed, 4736 insertions(+), 2747 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,55 @@ +2010-01-31 Ben Wing <ben@xemacs.org> + + * configure.ac (TAB): + Say "This Xft feature" rather than just "This feature" to make it + possible to more safely filter out the warning in my `runcc' + script without the possibility of filtering out genuinely + important warnings. + * configure: Regenerate. + +2010-01-23 Ben Wing <ben@xemacs.org> + + * configure: + * configure.ac (XE_COMPLEX_ARG): + Expand the help for --with-debug to describe more specifically what + exactly gets turned on. Expand the help for --with-error-checking + to describe all the possible arguments, including `all', `none', + `noFOO', multiple arguments, etc. + + Change so that `--with-error-checking' is the same as + `--with-error-checking=all'. Currently, `--with-error-checking' has + no effect at all! It just means "leave all error-checking for + specific classes to their default values", which are "maybe", and + get converted to "yes" or "no" depending on whether we are running + a beta XEmacs. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * configure: Rebuild. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * aclocal.m4 (XE_SHLIB_STUFF): + Use -export-all-symbols instead of -export-dynamic on PE targets + (Cygwin and MinGW). + + * configure.ac (XE_EXPAND_VARIABLE): + * configure.ac (TAB): + Create variable XEMACS_CC_GPP to check whether we're running g++. + Don't just check for an executable called `g++' -- it might be + called g++-4 or whatever. Instead, check for either named `g++*' + or claiming to be g++ when called with --version. Rewrite code do + use the variable. + + Add -fno-strict-aliasing to optimization flags when GCC and + optimized, and in all cases with g++, since under these circumstances + strict aliasing is otherwise assumed, and XEmacs can't easily be + made to respect its restrictions. + + * configure: Regenerate. + + + 2010-01-14 Ben Wing <ben@xemacs.org> * PROBLEMS: @@ -8,6 +60,26 @@ * configure: Regenerate, now we no longer look for rint(). +2010-01-20 Ben Wing <ben@xemacs.org> + + * Makefile.in.in: + * Makefile.in.in (GENERATED_HEADERS): + * Makefile.in.in (.PHONY): + * Makefile.in.in (src/.gdbinit): + * configure: + * configure.ac (TAB): + etc/gdbinit.in has been moved to src/.gdbinit.in.in. Reflect + this -- generate src/.gdbinit.in from src/.gdbinit.in.in, and + use the normal mechanism for doing so instead of copying it + specially. + + Add target for `config-changed' and pass down to `src'. + Move some PHONY declarations to just before the actual targets. + +2010-01-16 Aidan Kehoe <kehoea@parhasard.net> + + * configure: Regenerate, now we no longer look for rint(). + 2010-01-13 Jerry James <james@xemacs.org> * configure.ac: Update comment about Cygwin and pdump.
--- a/Makefile.in.in Mon Feb 01 17:57:04 2010 +0000 +++ b/Makefile.in.in Mon Feb 01 14:11:36 2010 -0600 @@ -1,4 +1,4 @@ -## Copyright (C) 2003, 2005 Ben Wing. +## Copyright (C) 2003, 2005, 2010 Ben Wing. ## DIST: This is the distribution Makefile for XEmacs. configure can ## DIST: make most of the changes to this file you might want, so try @@ -243,7 +243,7 @@ ## instead, we have written out explicit code in the `install' targets. COPYDIR = ${srcdir}/etc ${srcdir}/lisp COPYDESTS = ${etcdir} ${lispdir} -GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h src/xemacs.def etc/PROBLEMS +GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h src/xemacs.def etc/PROBLEMS src/.gdbinit ## MAKE_SUBDIR will always be of the form lib-src ... src, where ## `...' includes various other directories that may be inserted by @@ -282,9 +282,15 @@ depend ${srcdir}/src/depend: cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend +.PHONY: config-changed +config-changed: + cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ + +.PHONY: check check: cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ +.PHONY: check-features check-features: all cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ @@ -355,6 +361,9 @@ src/xemacs.def: $(srcdir)/src/xemacs.def.in.in ./config.status && touch $@ +src/.gdbinit: ${srcdir}/src/.gdbinit.in.in + ./config.status && touch $@ + etc/PROBLEMS: $(srcdir)/PROBLEMS cp $^ $@ @@ -367,7 +376,6 @@ ## On AIX, use tar xBf. .PHONY: install-only install install-arch-dep install-arch-indep gzip.el mkdir -.PHONY: check check-features ## We delete each directory in ${COPYDESTS} before we copy into it; ## that way, we can reinstall over directories that have been put in
--- a/aclocal.m4 Mon Feb 01 17:57:04 2010 +0000 +++ b/aclocal.m4 Mon Feb 01 14:11:36 2010 -0600 @@ -513,10 +513,17 @@ dnl usually need to be prefix with ${wl} or some other such thing. dnl -if test "$xe_gnu_ld" = yes; then - if test "$ld_shlibs" = yes; then +if test "$xe_gnu_ld" = yes -a "$ld_shlibs" = yes; then + case "$xehost_os" in + *cygwin* | *mingw* ) + # -export-all-symbols is the PE equivalent of ELF-specific -export-dynamic + ld_dynamic_link_flags="${wl}-export-all-symbols" + ;; + + *) ld_dynamic_link_flags="${wl}-export-dynamic" - fi + ;; + esac fi if test -z "$ld_dynamic_link_flags"; then
--- a/configure Mon Feb 01 17:57:04 2010 +0000 +++ b/configure Mon Feb 01 14:11:36 2010 -0600 @@ -1,12 +1,14 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for XEmacs 21.5. +# Generated by GNU Autoconf 2.65 for XEmacs 21.5. # # Report bugs to <xemacs-beta@xemacs.org>. # +# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software -# Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. @@ -573,7 +575,8 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -exec 7<&0 </dev/null 6>&1 +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -1949,13 +1952,37 @@ Debugging options ----------------- - --with-debug Enable additional debugging information. No time - cost. - --with-error-checking=TESTS + --with-debug Enable additional debugging information. No + noticeable time cost (unlike + `--with-error-checking'). This turns adds `-g' to + the compiler options so that debug information is + compiled into the XEmacs executable. It also turns + on assert checks in the source code (i.e. same as + `--with-assertions'); enables Lisp commands for + determining detailed memory usage statistics (same + as `--with-memory-usage-stats'); adds various Lisp + variables and functions that allow one to display + internal structures, show the internal workings of + certain subsystems, and exit to the debugger; causes + Lisp errors during building to exit to the debugger + or dump core; and adds debugging-related C functions + meant to be called from a debugger. + --with-error-checking=CLASS|all|none Compile with internal error-checking added. Causes - noticeable loss of speed. Valid TESTS are - `byte_code', `display', `extents', `gc', `glyphs', - `malloc', `structures' `text', `types'. + noticeable loss of speed. Valid classes are + `byte_code', `display' (redisplay), `extents', `gc' + (garbage collection), `glyphs', `malloc' (memory + allocation), `structures' (C structures), `text' + (text handling and conversion), `types' (correct + Lisp-object type for type-specific operations). + `all' or `none' can be given to set all or no + classes, respectively. Any of the classes can be + prefixed with `no' to turn the class off. A + comma-separated list of classes can also be given. + For example, `all,nogc' turns on all but + garbage-collection-related checking. Omitting any + argument or specifying just `yes' is the same as + `all'. --with-assertions Compile in runtime assertions. --with-memory-usage-stats Enable LISP memory usage API. @@ -1986,7 +2013,7 @@ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor YACC The `Yet Another C Compiler' implementation to use. Defaults to @@ -2063,7 +2090,7 @@ if $ac_init_version; then cat <<\_ACEOF XEmacs configure 21.5 -generated by GNU Autoconf 2.64 +generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -2156,7 +2183,7 @@ ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -2193,7 +2220,7 @@ ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -2328,7 +2355,7 @@ fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -2405,7 +2432,7 @@ # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -2800,7 +2827,7 @@ fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_compute_int cat >config.log <<_ACEOF @@ -2808,7 +2835,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by XEmacs $as_me 21.5, which was -generated by GNU Autoconf 2.64. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3061,7 +3088,7 @@ for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 @@ -3070,9 +3097,9 @@ done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in @@ -5149,6 +5176,9 @@ withval="$with_debug" fi; +if test "$with_error_checking" = "yes"; then + with_error_checking=all +fi _error_checking_notfirst="" _error_checking_byte_code_default="" _error_checking_display_default="" @@ -6295,32 +6325,30 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; + +int +main () +{ ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -6382,10 +6410,10 @@ else ac_file='' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } if test -z "$ac_file"; then : - $as_echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 @@ -6393,51 +6421,18 @@ { as_fn_set_status 77 as_fn_error "C compiler cannot create executables See \`config.log' for more details." "$LINENO" 5; }; } -fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" @@ -6470,13 +6465,72 @@ as_fn_error "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." "$LINENO" 5; } fi -rm -f conftest$ac_cv_exeext +rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : @@ -7535,8 +7589,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8083,8 +8137,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8631,8 +8685,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8908,6 +8962,24 @@ : ${XEMACS_CC:="$CC"} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using g++" >&5 +$as_echo_n "checking whether we are using g++... " >&6; } + +XEMACS_CC_GPP=no +case "$XEMACS_CC" in + *g++* ) XEMACS_CC_GPP=yes ;; +esac + +if test "$XEMACS_CC_GPP" = "no" -a "$GCC" = "yes"; then + case "`$XEMACS_CC --version`" in + g++* ) XEMACS_CC_GPP=yes ;; + esac +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $XEMACS_CC_GPP" >&5 +$as_echo "$XEMACS_CC_GPP" >&6; } + + test -n "$CPP" -a -d "$CPP" && CPP= test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" @@ -9436,26 +9508,15 @@ xemacs_cc_cc_mismatch=no if test "$CC" != "$XEMACS_CC"; then - case "$XEMACS_CC" in - *g++* ) - if test "$GCC" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&5 + if test "$XEMACS_CC_GPP" = "yes" -a "$GCC" != "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&5 $as_echo "$as_me: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&2;} - xemacs_cc_cc_mismatch=yes - fi - ;; - esac - if test -n "$GCC"; then - case $XEMACS_CC in - *g++* ) - # it's as expected, do nothing - ;; - * ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&5 + xemacs_cc_cc_mismatch=yes + fi + if test -n "$GCC" -a "$XEMACS_CC_GPP" != "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&5 $as_echo "$as_me: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&2;} - xemacs_cc_cc_mismatch=yes - ;; - esac + xemacs_cc_cc_mismatch=yes fi fi @@ -9478,10 +9539,10 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for preferred optimization flags" >&5 $as_echo_n "checking for preferred optimization flags... " >&6; } -if test "$with_optimization" = "yes" ; then - if test "$cflags_optimization_specified" = "no"; then +if test "$cflags_optimization_specified" = "no"; then + if test "$with_optimization" = "yes" ; then if test "$GCC" = "yes"; then - with_cflags_optimization="-O3" + with_cflags_optimization="-O3 -fno-strict-aliasing" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) with_cflags_optimization="-xO4" ;; @@ -9494,9 +9555,9 @@ with_cflags_optimization="-O3 -Ob2" else with_cflags_optimization="-O" ; fi - fi -else - with_cflags_optimization= + elif test "$XEMACS_CC_GPP" = "yes" ; then + with_cflags_optimization="-fno-strict-aliasing" + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_cflags_optimization}" >&5 @@ -9539,7 +9600,7 @@ test "$__GCC" -ge 3 && with_cflags_warning="$with_cflags_warning -Wpacked" test "$have_glibc" != "yes" && \ with_cflags_warning="$with_cflags_warning -Wpointer-arith" - if test "$with_xemacs_compiler" = "g++"; then + if test "$XEMACS_CC_GPP" = "yes"; then xe_cflags_warning="$with_cflags_warning -Weffc++" elif test "$__GCC" -ge 3; then xe_cflags_warning="$with_cflags_warning -Wunused-parameter" @@ -13882,7 +13943,7 @@ -if test "$with_xemacs_compiler" = "g++"; then +if test "$XEMACS_CC_GPP" = "yes"; then LIBSTDCPP=-lstdc++ else LIBSTDCPP= @@ -14554,10 +14615,17 @@ fi # End of if cc_produces_so = no -if test "$xe_gnu_ld" = yes; then - if test "$ld_shlibs" = yes; then +if test "$xe_gnu_ld" = yes -a "$ld_shlibs" = yes; then + case "$xehost_os" in + *cygwin* | *mingw* ) + # -export-all-symbols is the PE equivalent of ELF-specific -export-dynamic + ld_dynamic_link_flags="${wl}-export-all-symbols" + ;; + + *) ld_dynamic_link_flags="${wl}-export-dynamic" - fi + ;; + esac fi if test -z "$ld_dynamic_link_flags"; then @@ -20288,7 +20356,7 @@ fi -internal_makefile_list="Makefile.in" +internal_makefile_list="Makefile.in src/.gdbinit.in" SUBDIR_MAKEFILES='' test -d lock || mkdir lock for dir in $MAKE_SUBDIR; do @@ -20335,10 +20403,6 @@ fi -if test -f "$srcdir/etc/gdbinit.in"; then - test "$verbose" = "yes" && echo "creating src/.gdbinit.in" - cp $srcdir/etc/gdbinit.in src/.gdbinit.in -fi if test -f "$srcdir/etc/dbxrc.in"; then test "$verbose" = "yes" && echo "creating src/.dbxrc.in" @@ -20646,41 +20710,41 @@ $as_echo "#define USE_SYSTEM_MALLOC 1" >>confdefs.h fi -test "$GCC" = "yes" && $as_echo "#define USE_GCC 1" >>confdefs.h - -test "$with_xemacs_compiler" = "g++" && $as_echo "#define USE_GPLUSPLUS 1" >>confdefs.h +test "$GCC" = "yes" && $as_echo "#define USE_GCC 1" >>confdefs.h + +test "$XEMACS_CC_GPP" = "yes" && $as_echo "#define USE_GPLUSPLUS 1" >>confdefs.h test "$with_external_widget" = "yes" && $as_echo "#define EXTERNAL_WIDGET 1" >>confdefs.h -test "$with_kkcc" = "yes" && $as_echo "#define USE_KKCC 1" >>confdefs.h - -test "$with_newgc" = "yes" && $as_echo "#define NEW_GC 1" >>confdefs.h - -test "$have_vdb_posix" = "yes" && $as_echo "#define VDB_POSIX 1" >>confdefs.h - -test "$have_vdb_fake" = "yes" && $as_echo "#define VDB_FAKE 1" >>confdefs.h - -test "$with_quick_build" = "yes" && $as_echo "#define QUICK_BUILD 1" >>confdefs.h - -test "$with_purify" = "yes" && $as_echo "#define PURIFY 1" >>confdefs.h - -test "$with_quantify" = "yes" && $as_echo "#define QUANTIFY 1" >>confdefs.h - -test "$with_valgrind" = "yes" && $as_echo "#define USE_VALGRIND 1" >>confdefs.h - -test "$with_pop" = "yes" && $as_echo "#define MAIL_USE_POP 1" >>confdefs.h - -test "$with_kerberos" = "yes" && $as_echo "#define KERBEROS 1" >>confdefs.h - -test "$with_hesiod" = "yes" && $as_echo "#define HESIOD 1" >>confdefs.h - -test "$with_union_type" = "yes" && $as_echo "#define USE_UNION_TYPE 1" >>confdefs.h - -test "$with_pdump" = "yes" && $as_echo "#define PDUMP 1" >>confdefs.h - -test "$with_dump_in_exec" = "yes" && $as_echo "#define DUMP_IN_EXEC 1" >>confdefs.h - -test "$with_ipv6_cname" = "yes" && $as_echo "#define IPV6_CANONICALIZE 1" >>confdefs.h +test "$with_kkcc" = "yes" && $as_echo "#define USE_KKCC 1" >>confdefs.h + +test "$with_newgc" = "yes" && $as_echo "#define NEW_GC 1" >>confdefs.h + +test "$have_vdb_posix" = "yes" && $as_echo "#define VDB_POSIX 1" >>confdefs.h + +test "$have_vdb_fake" = "yes" && $as_echo "#define VDB_FAKE 1" >>confdefs.h + +test "$with_quick_build" = "yes" && $as_echo "#define QUICK_BUILD 1" >>confdefs.h + +test "$with_purify" = "yes" && $as_echo "#define PURIFY 1" >>confdefs.h + +test "$with_quantify" = "yes" && $as_echo "#define QUANTIFY 1" >>confdefs.h + +test "$with_valgrind" = "yes" && $as_echo "#define USE_VALGRIND 1" >>confdefs.h + +test "$with_pop" = "yes" && $as_echo "#define MAIL_USE_POP 1" >>confdefs.h + +test "$with_kerberos" = "yes" && $as_echo "#define KERBEROS 1" >>confdefs.h + +test "$with_hesiod" = "yes" && $as_echo "#define HESIOD 1" >>confdefs.h + +test "$with_union_type" = "yes" && $as_echo "#define USE_UNION_TYPE 1" >>confdefs.h + +test "$with_pdump" = "yes" && $as_echo "#define PDUMP 1" >>confdefs.h + +test "$with_dump_in_exec" = "yes" && $as_echo "#define DUMP_IN_EXEC 1" >>confdefs.h + +test "$with_ipv6_cname" = "yes" && $as_echo "#define IPV6_CANONICALIZE 1" >>confdefs.h @@ -20805,7 +20869,7 @@ esac if test "$with_xft_menubars" = "yes"; then echo " - Using Xft to render antialiased fonts in menubars." - echo " WARNING: This feature will be replaced with a face." + echo " WARNING: This Xft feature will be replaced with a face." fi case "$with_scrollbars" in gtk ) echo " Using GTK scrollbars." ;; @@ -20834,12 +20898,12 @@ esac if test "$with_xft_tabs" = "yes"; then echo " - Using Xft to render antialiased fonts in tab controls." - echo " WARNING: This feature will be replaced with a face." + echo " WARNING: This Xft feature will be replaced with a face." fi if test "$with_xft_gauges" = "yes"; then echo " - Using Xft to render antialiased fonts in progress bars." - echo " WARNING: This feature will be replaced with a face." - echo " WARNING: This feature not yet implemented; setting ignored." + echo " WARNING: This Xft feature will be replaced with a face." + echo " WARNING: This Xft feature not yet implemented; setting ignored." fi if test "$with_dragndrop" = yes; then echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)." @@ -21531,7 +21595,7 @@ # values after options handling. ac_log=" This file was extended by XEmacs $as_me 21.5, which was -generated by GNU Autoconf 2.64. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -21571,6 +21635,7 @@ -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -21593,10 +21658,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ XEmacs config.status 21.5 -configured by $0, generated by GNU Autoconf 2.64, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation @@ -21632,6 +21698,8 @@ ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) @@ -21826,7 +21894,7 @@ t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -21840,7 +21908,7 @@ t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p
--- a/configure.ac Mon Feb 01 17:57:04 2010 +0000 +++ b/configure.ac Mon Feb 01 14:11:36 2010 -0600 @@ -970,14 +970,36 @@ dnl XE_HELP_SUBSECTION([Debugging options]) XE_MERGED_ARG([debug], - AS_HELP_STRING([--with-debug],[Enable additional debugging information. No time cost.]), + AS_HELP_STRING([--with-debug],[Enable additional debugging information. No noticeable time cost (unlike +`--with-error-checking'). This turns adds `-g' to the compiler options so that +debug information is compiled into the XEmacs executable. It also turns on +assert checks in the source code (i.e. same as `--with-assertions'); enables +Lisp commands for determining detailed memory usage statistics (same as +`--with-memory-usage-stats'); adds various Lisp variables and functions +that allow one to display internal structures, show the internal workings +of certain subsystems, and exit to the debugger; causes Lisp errors during +building to exit to the debugger or dump core; and adds debugging-related +C functions meant to be called from a debugger.]), [], []) -dnl Keep TESTS sorted to help with syncing doc to reality. +dnl If just --with-error-checking or --with-error-checking=yes is given, +dnl it should be the same as --with-error-checking=all. Currently it's +dnl the same as saying nothing at all. +if test "$with_error_checking" = "yes"; then + with_error_checking=all +fi XE_COMPLEX_ARG([error-checking], - AS_HELP_STRING([--with-error-checking=TESTS],[Compile with internal error-checking added. - Causes noticeable loss of speed. Valid TESTS - are `byte_code', `display', `extents', `gc', `glyphs', `malloc', `structures' `text', `types'.]), - [], [], + AS_HELP_STRING([--with-error-checking[=CLASS|all|none]],[Compile with internal error-checking added. +Causes noticeable loss of speed. Valid classes are `byte_code', `display' +(redisplay), `extents', `gc' (garbage collection), `glyphs', `malloc' +(memory allocation), `structures' (C structures), `text' (text handling and +conversion), `types' (correct Lisp-object type for type-specific +operations). `all' or `none' can be given to set all or no classes, +respectively. Any of the classes can be prefixed with `no' to turn the +class off. A comma-separated list of classes can also be given. For +example, `all,nogc' turns on all but garbage-collection-related checking. +Omitting any argument or specifying just `yes' is the same as `all'.]), + [], [], +dnl Keep TESTS sorted to help with syncing doc to reality. [XE_COMPLEX_OPTION([byte_code],[""]), XE_COMPLEX_OPTION([display],[""]), XE_COMPLEX_OPTION([extents],[""]), @@ -1591,6 +1613,31 @@ test -n "$with_xemacs_compiler" && XEMACS_CC="$with_xemacs_compiler" : ${XEMACS_CC:="$CC"} +dnl Are we using g++? + +AC_MSG_CHECKING(whether we are using g++) + +dnl Is it named g++*? +XEMACS_CC_GPP=no +case "$XEMACS_CC" in + *g++* ) XEMACS_CC_GPP=yes ;; +esac + +dnl If it's known to be in the GCC family, does it claim to be g++? We don't +dnl run this test unless we know it's GCC-like, because not all compilers +dnl accept --version. +dnl +dnl It's not clear we need both tests, but it doesn't hurt. g++ might not +dnl have always output "g++" as the first thing in its version string, and +dnl might not always in the future. +if test "$XEMACS_CC_GPP" = "no" -a "$GCC" = "yes"; then + case "`$XEMACS_CC --version`" in + g++* ) XEMACS_CC_GPP=yes ;; + esac +fi + +AC_MSG_RESULT($XEMACS_CC_GPP) + dnl Figure out what C preprocessor to use. dnl On Sun systems, people sometimes set up the variable CPP @@ -1877,24 +1924,13 @@ xemacs_cc_cc_mismatch=no if test "$CC" != "$XEMACS_CC"; then - case "$XEMACS_CC" in - *g++* ) - if test "$GCC" != "yes"; then - AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) - xemacs_cc_cc_mismatch=yes - fi - ;; - esac - if test -n "$GCC"; then - case $XEMACS_CC in - *g++* ) - # it's as expected, do nothing - ;; - * ) - AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) - xemacs_cc_cc_mismatch=yes - ;; - esac + if test "$XEMACS_CC_GPP" = "yes" -a "$GCC" != "yes"; then + AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes + fi + if test -n "$GCC" -a "$XEMACS_CC_GPP" != "yes" ; then + AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes fi dnl #### Add other detectable mismatches here. fi @@ -1919,12 +1955,17 @@ fi AC_MSG_CHECKING([for preferred optimization flags]) -if test "$with_optimization" = "yes" ; then - if test "$cflags_optimization_specified" = "no"; then +if test "$cflags_optimization_specified" = "no"; then + if test "$with_optimization" = "yes" ; then dnl Following values of cflags_optimization are known to work well. dnl Should we take debugging options into consideration? if test "$GCC" = "yes"; then - with_cflags_optimization="-O3" + dnl If you want to remove the -fno-strict-aliasing, then you will have + dnl to rewrite all cases of "type-punning" expressions like + dnl (* (foo *) (&bar)), which occur all over XEmacs, by making `bar' a + dnl union (use an anonymous union if you're willing to put in an ifdef + dnl for anon-union support, falling back to the type-punned expression. + with_cflags_optimization="-O3 -fno-strict-aliasing" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) with_cflags_optimization="-xO4" ;; @@ -1940,9 +1981,12 @@ else with_cflags_optimization="-O" ;dnl The only POSIX-approved flag fi + elif test "$XEMACS_CC_GPP" = "yes" ; then + dnl Fuck me! g++ v4 turns on strict aliasing by default, even without + dnl optimization. See comment above about why we can't have strict + dnl aliasing currently in XEmacs. + with_cflags_optimization="-fno-strict-aliasing" fi -else - with_cflags_optimization= fi AC_MSG_RESULT([${with_cflags_optimization}]) @@ -2005,7 +2049,7 @@ dnl But gcc warns about -Weffc++ in C compiles. dnl With g++, there is no effective way to use -Wunused-parameter without dnl some very ugly code changes. - if test "$with_xemacs_compiler" = "g++"; then + if test "$XEMACS_CC_GPP" = "yes"; then xe_cflags_warning="$with_cflags_warning -Weffc++" elif test "$__GCC" -ge 3; then xe_cflags_warning="$with_cflags_warning -Wunused-parameter" @@ -3312,7 +3356,7 @@ dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin dnl to avoid undefined symbol errors. This will never hurt, so just do it on dnl all platforms in case others have the same brain damage. -if test "$with_xemacs_compiler" = "g++"; then +if test "$XEMACS_CC_GPP" = "yes"; then LIBSTDCPP=-lstdc++ else LIBSTDCPP= @@ -5236,7 +5280,7 @@ dnl Compute lists of Makefiles and subdirs AC_SUBST(SRC_SUBDIR_DEPS) -internal_makefile_list="Makefile.in" +internal_makefile_list="Makefile.in src/.gdbinit.in" SUBDIR_MAKEFILES='' test -d lock || mkdir lock for dir in $MAKE_SUBDIR; do @@ -5286,11 +5330,8 @@ dnl Unlike TAGS, debugger init files depend on config.h. dnl Regenerate them locally on every configure. -dnl Create a .gdbinit useful for debugging XEmacs -if test -f "$srcdir/etc/gdbinit.in"; then - test "$verbose" = "yes" && echo "creating src/.gdbinit.in" - cp $srcdir/etc/gdbinit.in src/.gdbinit.in -fi +dnl .gdbinit is now handled like xemacs.def or other src files, and +dnl its source is in src/.gdbinit.in.in. dnl Create a .dbxrc useful for debugging XEmacs if test -f "$srcdir/etc/dbxrc.in"; then @@ -5490,24 +5531,24 @@ elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC) AC_DEFINE(USE_SYSTEM_MALLOC) fi -test "$GCC" = "yes" && AC_DEFINE(USE_GCC) -test "$with_xemacs_compiler" = "g++" && AC_DEFINE(USE_GPLUSPLUS) +test "$GCC" = "yes" && AC_DEFINE(USE_GCC) +test "$XEMACS_CC_GPP" = "yes" && AC_DEFINE(USE_GPLUSPLUS) test "$with_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) -test "$with_kkcc" = "yes" && AC_DEFINE(USE_KKCC) -test "$with_newgc" = "yes" && AC_DEFINE(NEW_GC) -test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) -test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) -test "$with_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) -test "$with_purify" = "yes" && AC_DEFINE(PURIFY) -test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) -test "$with_valgrind" = "yes" && AC_DEFINE(USE_VALGRIND) -test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) -test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) -test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) -test "$with_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) -test "$with_pdump" = "yes" && AC_DEFINE(PDUMP) -test "$with_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) -test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) +test "$with_kkcc" = "yes" && AC_DEFINE(USE_KKCC) +test "$with_newgc" = "yes" && AC_DEFINE(NEW_GC) +test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) +test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) +test "$with_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) +test "$with_purify" = "yes" && AC_DEFINE(PURIFY) +test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) +test "$with_valgrind" = "yes" && AC_DEFINE(USE_VALGRIND) +test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) +test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) +test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) +test "$with_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) +test "$with_pdump" = "yes" && AC_DEFINE(PDUMP) +test "$with_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) +test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) @@ -5640,7 +5681,7 @@ esac if test "$with_xft_menubars" = "yes"; then echo " - Using Xft to render antialiased fonts in menubars." - echo " WARNING: This feature will be replaced with a face." + echo " WARNING: This Xft feature will be replaced with a face." fi case "$with_scrollbars" in gtk ) echo " Using GTK scrollbars." ;; @@ -5669,12 +5710,12 @@ esac if test "$with_xft_tabs" = "yes"; then echo " - Using Xft to render antialiased fonts in tab controls." - echo " WARNING: This feature will be replaced with a face." + echo " WARNING: This Xft feature will be replaced with a face." fi if test "$with_xft_gauges" = "yes"; then echo " - Using Xft to render antialiased fonts in progress bars." - echo " WARNING: This feature will be replaced with a face." - echo " WARNING: This feature not yet implemented; setting ignored." + echo " WARNING: This Xft feature will be replaced with a face." + echo " WARNING: This Xft feature not yet implemented; setting ignored." fi if test "$with_dragndrop" = yes; then echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)."
--- a/etc/gdbinit.in Mon Feb 01 17:57:04 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,542 +0,0 @@ -## gdb init file for XEmacs -*- ksh -*- -## This is the source for src/.gdbinit. Edit it, and rerun configure. -## (Running config.status is not enough.) -## The generated file depends on src/config.h (currently only in one place). - -## To insert comments that will remain in the generated file, we use the -## imake XCOMM convention. Lines beginning with "XCOMM " exactly (no -## leading whitespace, one trailing ASCII space, case sensitive) will be -## transformed to gdb command file comments in the generated file. - -XCOMM gdb init file for XEmacs -XCOMM AUTOMATICALLY GENERATED FROM etc/gdbinit.in BY configure -- DO NOT EDIT. -XCOMM See etc/gdbinit.in for licensing information and usage hints. -XCOMM Copyright (C) 1998 Free Software Foundation, Inc. - -## This file is part of XEmacs. - -## XEmacs is free software; you can redistribute it and/or modify it -## under the terms of the GNU General Public License as published by the -## Free Software Foundation; either version 2, or (at your option) any -## later version. - -## XEmacs is distributed in the hope that it will be useful, but WITHOUT -## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -## for more details. - -## You should have received a copy of the GNU General Public License -## along with XEmacs; see the file COPYING. If not, write to -## the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -## Boston, MA 02110-1301 USA - -## Author: Martin Buchholz - -## Other contributors you could ask for help: Ivan Golubev, Jerry James, -## Stephen Turnbull. - -## Some useful commands for debugging emacs with gdb 4.16 or better. -## -## Since this file is called `.gdbinit', it will be read by gdb -## automatically when gdb is run in the build directory, which is where -## developers usually debug their xemacs. You can also source this -## file from your ~/.gdbinit, if you like. -## -## Configure xemacs with --debug, and compile with -g. -## -## See also the question of the XEmacs FAQ, titled -## "How to Debug an XEmacs problem with a debugger". -## -## This can be used to debug XEmacs no matter how the following are -## specified: - -## USE_UNION_TYPE - -## (the above all have configure equivalents) - -## Some functions defined here require a running process, but most -## don't. Considerable effort has been expended to this end. - -## See the dbg_ C support code in src/alloc.c that allows the functions -## defined in this file to work correctly. - -#define NOT_C_CODE -#include "config.h" - -set print union off -set print pretty off - -#ifdef VDB_POSIX -handle SIGSEGV SIGBUS nostop noprint -#endif - -set $Lisp_Type_Int = -2 -set $Lisp_Type_Record = 0 -set $Lisp_Type_Char = 2 - -define decode_object - set $obj = (unsigned long) $arg0 - if $obj & 1 - ## It's an int - set $val = $obj >> 1 - set $type = $Lisp_Type_Int - else - set $type = $obj & dbg_typemask - if $type == $Lisp_Type_Char - set $val = ($obj & dbg_valmask) >> dbg_gctypebits - else - ## It's a record pointer - set $val = $obj - end - end - - if $type == $Lisp_Type_Record - set $lheader = ((struct lrecord_header *) $val) - set $lrecord_type = ($lheader->type) - set $imp = ((struct lrecord_implementation *) lrecord_implementations_table[(int) $lrecord_type]) - else - set $lrecord_type = -1 - set $lheader = -1 - set $imp = -1 - end -end - -document decode_object -Usage: decode_object lisp_object -Extract implementation information from a Lisp Object. -Defines variables $val, $type and $imp. -end - -define xint -decode_object $arg0 -print ((long) $val) -end - -define xtype - decode_object $arg0 - if $type == $Lisp_Type_Int - echo int\n - else - if $type == $Lisp_Type_Char - echo char\n - else - printf "record type: %s\n", $imp->name - end - end -end - -document xtype -Usage: xtype lisp_object -Print the Lisp type of a lisp object. -end - -define lisp-shadows - run -batch -vanilla -f list-load-path-shadows -end - -document lisp-shadows -Usage: lisp-shadows -Run xemacs to check for lisp shadows -end - -define environment-to-run-temacs - unset env EMACSLOADPATH - set env EMACSBOOTSTRAPLOADPATH=../lisp/:.. - set env EMACSBOOTSTRAPMODULEPATH=../modules/:.. -end - -define run-temacs - environment-to-run-temacs - run -nd -batch -l ../lisp/loadup.el run-temacs -q -end - -document run-temacs -Usage: run-temacs -Run temacs interactively, like xemacs. -Use this with debugging tools (like purify) that cannot deal with dumping, -or when temacs builds successfully, but xemacs does not. -end - -define check-xemacs - run -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated -end - -document check-xemacs -Usage: check-xemacs -Run the test suite. Equivalent to 'make check'. -end - -define check-temacs - environment-to-run-temacs - run -nd -batch -l ../lisp/loadup.el run-temacs -q -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated -end - -document check-temacs -Usage: check-temacs -Run the test suite on temacs. Equivalent to 'make check-temacs'. -Use this with debugging tools (like purify) that cannot deal with dumping, -or when temacs builds successfully, but xemacs does not. -end - -define update-elc - environment-to-run-temacs - run -nd -batch -l ../lisp/update-elc.el -end - -document update-elc -Usage: update-elc -Run the core lisp byte compilation part of the build procedure. -Use when debugging temacs, not xemacs! -Use this when temacs builds successfully, but xemacs does not. -end - -define dmp - environment-to-run-temacs - run -nd -batch -l ../lisp/loadup.el dump -end - -document dmp -Usage: dmp -Run the dumping part of the build procedure. -Use when debugging temacs, not xemacs! -Use this when temacs builds successfully, but xemacs does not. -end - -define ldp - printf "%s", "Lisp => " - call debug_print($arg0) -end - -document ldp -Usage: ldp lisp_object -Print a Lisp Object value using the Lisp printer. -Requires a running xemacs process. -end - -define lbt -call debug_backtrace() -end - -document lbt -Usage: lbt -Print the current Lisp stack trace. -Requires a running xemacs process. -end - - -define leval -ldp Feval(Fcar(Fread_from_string(build_string($arg0),Qnil,Qnil))) -end - -document leval -Usage: leval "SEXP" -Eval a lisp expression. -Requires a running xemacs process. - -Example: -(gdb) leval "(+ 1 2)" -Lisp ==> 3 -end - - -define wtype -print $arg0->core.widget_class->core_class.class_name -end - -define xtname -print XrmQuarkToString(((Object)($arg0))->object.xrm_name) -end - -## GDB's command language makes you want to ... - -define pptype - set $type_ptr = ($arg0 *) $val - print $type_ptr - print *$type_ptr -end - -define pstructtype - set $type_ptr = (struct $arg0 *) $val - print $type_ptr - print *$type_ptr -end - -define pobj - decode_object $arg0 - if $type == $Lisp_Type_Int - printf "Integer: %d\n", $val - else - if $type == $Lisp_Type_Char - if $val > 32 && $val < 128 - printf "Char: %c\n", $val - else - printf "Char: %d\n", $val - end - else - if $lrecord_type == lrecord_type_string - pptype Lisp_String - else - if $lrecord_type == lrecord_type_cons - pptype Lisp_Cons - else - if $lrecord_type == lrecord_type_symbol - pptype Lisp_Symbol - printf "Symbol name: %s\n", ((Lisp_String *)$type_ptr->name)->data_ - else - if $lrecord_type == lrecord_type_vector - pptype Lisp_Vector - printf "Vector of length %d\n", $type_ptr->size - ##print *($type_ptr->data) @ $type_ptr->size - else - if $lrecord_type == lrecord_type_bit_vector - pptype Lisp_Bit_Vector - else - if $lrecord_type == lrecord_type_buffer - pstructtype buffer - else - if $lrecord_type == lrecord_type_char_table - pptype Lisp_Char_Table - else - if $lrecord_type == lrecord_type_char_table_entry - pptype Lisp_Char_Table_Entry - else - if $lrecord_type == lrecord_type_charset - pptype Lisp_Charset - else - if $lrecord_type == lrecord_type_coding_system - pptype Lisp_Coding_System - else - if $lrecord_type == lrecord_type_color_instance - pptype Lisp_Color_Instance - else - if $lrecord_type == lrecord_type_command_builder - pptype command_builder - else - if $lrecord_type == lrecord_type_compiled_function - pptype Lisp_Compiled_Function - else - if $lrecord_type == lrecord_type_console - pstructtype console - else - if $lrecord_type == lrecord_type_database - pptype Lisp_Database - else - if $lrecord_type == lrecord_type_device - pstructtype device - else - if $lrecord_type == lrecord_type_event - pptype Lisp_Event - else - if $lrecord_type == lrecord_type_extent - pstructtype extent - else - if $lrecord_type == lrecord_type_extent_auxiliary - pstructtype extent_auxiliary - else - if $lrecord_type == lrecord_type_extent_info - pstructtype extent_info - else - if $lrecord_type == lrecord_type_face - pptype Lisp_Face - else - if $lrecord_type == lrecord_type_float - pptype Lisp_Float - else - if $lrecord_type == lrecord_type_font_instance - pptype Lisp_Font_Instance - else - if $lrecord_type == lrecord_type_frame - pstructtype frame - else - if $lrecord_type == lrecord_type_glyph - pptype Lisp_Glyph - else - if $lrecord_type == lrecord_type_gui_item - pptype Lisp_Gui_Item - else - if $lrecord_type == lrecord_type_hash_table - pptype Lisp_Hash_Table - else - if $lrecord_type == lrecord_type_image_instance - pptype Lisp_Image_Instance - else - if $lrecord_type == lrecord_type_keymap - pptype Lisp_Keymap - else - if $lrecord_type == lrecord_type_lcrecord_list - pstructtype lcrecord_list - else - if $lrecord_type == lrecord_type_ldap - pptype Lisp_LDAP - else - if $lrecord_type == lrecord_type_lstream - pstructtype lstream - else - if $lrecord_type == lrecord_type_marker - pptype Lisp_Marker - else - if $lrecord_type == lrecord_type_opaque - pptype Lisp_Opaque - else - if $lrecord_type == lrecord_type_opaque_ptr - pptype Lisp_Opaque_Ptr - else - if $lrecord_type == lrecord_type_popup_data - pptype popup_data - else - if $lrecord_type == lrecord_type_process - pptype Lisp_Process - else - if $lrecord_type == lrecord_type_range_table - pptype Lisp_Range_Table - else - if $lrecord_type == lrecord_type_specifier - pptype Lisp_Specifier - else - if $lrecord_type == lrecord_type_subr - pptype Lisp_Subr - else - if $lrecord_type == lrecord_type_symbol_value_buffer_local - pstructtype symbol_value_buffer_local - else - if $lrecord_type == lrecord_type_symbol_value_forward - pstructtype symbol_value_forward - else - if $lrecord_type == lrecord_type_symbol_value_lisp_magic - pstructtype symbol_value_lisp_magic - else - if $lrecord_type == lrecord_type_symbol_value_varalias - pstructtype symbol_value_varalias - else - if $lrecord_type == lrecord_type_timeout - pptype Lisp_Timeout - else - if $lrecord_type == lrecord_type_toolbar_button - pstructtype toolbar_button - else - if $lrecord_type == lrecord_type_tooltalk_message - pptype Lisp_Tooltalk_Message - else - if $lrecord_type == lrecord_type_tooltalk_pattern - pptype Lisp_Tooltalk_Pattern - else - if $lrecord_type == lrecord_type_weak_list - pstructtype weak_list - else - if $lrecord_type == lrecord_type_window - pstructtype window - else - if $lrecord_type == lrecord_type_window_configuration - pstructtype window_config - else - if $lrecord_type == lrecord_type_fc_pattern - pstructtype fc_pattern - else - if $lrecord_type == lrecord_type_fc_config - pstructtype fc_config - else - echo Unknown Lisp Object type\n - print $arg0 - ## Barf, gag, retch - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - ## Repeat after me... gdb sux, gdb sux, gdb sux... - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - ## Are we having fun yet?? - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end -end - -document pobj -Usage: pobj lisp_object -Print the internal C representation of a Lisp Object. -end - -## ------------------------------------------------------------- -## functions to test the debugging support itself. -## If you change this file, make sure the following still work... -## ------------------------------------------------------------- -define test_xtype - printf "Vemacs_major_version: " - xtype Vemacs_major_version - printf "Vhelp_char: " - xtype Vhelp_char - printf "Qnil: " - xtype Qnil - printf "Qunbound: " - xtype Qunbound - printf "Vobarray: " - xtype Vobarray - printf "Vall_weak_lists: " - xtype Vall_weak_lists - printf "Vxemacs_codename: " - xtype Vxemacs_codename -end - -define test_pobj - printf "Vemacs_major_version: " - pobj Vemacs_major_version - printf "Vhelp_char: " - pobj Vhelp_char - printf "Qnil: " - pobj Qnil - printf "Qunbound: " - pobj Qunbound - printf "Vobarray: " - pobj Vobarray - printf "Vall_weak_lists: " - pobj Vall_weak_lists - printf "Vxemacs_codename: " - pobj Vxemacs_codename -end -
--- a/lib-src/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/lib-src/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,15 @@ +2010-01-26 Ben Wing <ben@xemacs.org> + + * make-msgfile.lex: Vague hacking on this file, insert a comment + about what should be done if we ever want this to work. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * fakemail.c (args_size): + * fakemail.c (parse_header): + * ootags.c (C_entries): + Fix warnings about possible use of uninitialized vars. + 2010-01-30 Ben Wing <ben@xemacs.org> * make-mswin-unicode.pl:
--- a/lib-src/fakemail.c Mon Feb 01 17:57:04 2010 +0000 +++ b/lib-src/fakemail.c Mon Feb 01 14:11:36 2010 -0600 @@ -512,7 +512,7 @@ register int size = 0; do { - char *field; + char *field = NULL; register char *keyword = get_keyword (the_header->text->string, &field); if ((strcmp (keyword, "TO") == 0) || (strcmp (keyword, "CC") == 0) || @@ -535,7 +535,7 @@ register header old = the_header; do { - char *field; + char *field = NULL; register char *keyword = get_keyword (the_header->text->string, &field); if (strcmp (keyword, "TO") == 0) where = add_field (the_header->text->continuation, field, where);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib-src/fix-perms.sh Mon Feb 01 14:11:36 2010 -0600 @@ -0,0 +1,87 @@ +#!/bin/sh +### fix-perms.sh --- Correct the permissions on XEmacs source/build files + +# Copyright (C) 2010 Ben Wing. + +# Author: Ben Wing +# Keywords: internal + +# This file is part of XEmacs. + +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# XEmacs is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +### Commentary: + +# This program sets the executable bit on all scripts and executable files +# in the XEmacs source tree, including those that are built. + +### Code: + +# List of executable source files in various directories (root, lib-src, etc) +# other than .sh files. Note that we are free to list files in +# subdirectories here rather than creating a separate item list" +ROOT_EXES="configure config.guess install-sh move-if-change \ + modules/canna/configure" +LIB_SRC_EXES="ad2c gnuattach gnudoit rcs2log vcdiff *.pl" +ETC_EXES="" + +LIB_SRC_BUILT_EXES="`cd lib-src; ls -1 *.c | sed 's/\.c$//g'`" +LIB_SRC_BUILT_EXES="minitar ctags $LIB_SRC_BUILT_EXES" +SRC_BUILT_EXES="temacs xemacs" + +find . -type f -print0 | xargs -0 chmod a-x + +for dir in . lib-src etc ; do + if [ "$dir" = "." ]; then + exes="$ROOT_EXES" + elif [ "$dir" = "lib-src" ]; then + exes="$LIB_SRC_EXES" + elif [ "$dir" = "etc" ]; then + exes="$ETC_EXES" + else + echo "Error! Don't know how to handle directory '$dir'"; exit 2 + fi + pwd=`pwd` + cd $dir + for x in $exes *.sh ; do + if [ ! -f $x ]; then + echo "Warning: file '$dir/$x' doesn't exist" + else + chmod a+x $x + fi + done + cd "$pwd" +done + +# Now do the built executables. Don't warn or anything if we don't find +# anything, since they may not be built. +for dir in lib-src src ; do + if [ "$dir" = "src" ]; then + exes="$SRC_BUILT_EXES" + elif [ "$dir" = "lib-src" ]; then + exes="$LIB_SRC_BUILT_EXES" + else + echo "Error! Don't know how to handle directory '$dir'"; exit 2 + fi + pwd=`pwd` + cd $dir + for x in $exes *.exe ; do + if [ -f $x ]; then + chmod a+x $x + fi + done + cd "$pwd" +done
--- a/lib-src/make-msgfile.lex Mon Feb 01 17:57:04 2010 +0000 +++ b/lib-src/make-msgfile.lex Mon Feb 01 14:11:36 2010 -0600 @@ -4,6 +4,7 @@ /* Localizable-message snarfing. Copyright (C) 1994, 1995 Amdahl Corporation. + Copyright (C) 2010 Ben Wing. This file is part of XEmacs. @@ -25,6 +26,27 @@ /* Written by Ben Wing, November 1994. Some code based on earlier make-msgfile.c. */ +/* #### A comment: + + Directly writing a lex file isn't right. We want to be able to specify + functions to snarf in simpler ways, e.g. + +BEGIN_C_FUNCS + +weird_doc (arg, snarf, snarf, arg); +signal_error (arg, snarf, arg); +etc. + +END_C_FUNCS + + In this case, `arg' indicates an arbitrary argument and `snarf' indicates + that when a quoted string is seen, it should be snarfed. + + Then either we write a program to read this script and directly snarf + messages, or we write a program to convert the script into lex. + +--ben, 1/26/10 */ + /* See text.c for a proposal about how this whole system should work. */ /* Note: there is still much work to be done on this. @@ -84,25 +106,34 @@ %s DO_C DO_LISP DEFUN %s DEFUN2 DEFUN3 LDEF -W [ \t\n] -Any (.|"\n") -Q "\"" -NQ [^"] -NT [^A-Za-z_0-9] -LP "(" -RP ")" -BS "\\" -Esc ({BS}{Any}) -Wh ({W}*) -LCom (";"({Esc}|.)*) -LWh (({W}|{Lcom})*) -Open ({Wh}{LP}) -OpWQ ({Open}{Wh}{Q}) -String ({Q}({Esc}|{NQ})*{Q}) -Arg ([^,]*",") -StringArg ({Wh}{String}{Wh}",") -OpenString ({Open}{StringArg}) -LispToken (({Esc}|[-A-Za-z0-9!@$%^&*_=+|{}`~,<.>/?])+) +W [ \t\n] +Any .|\n +Q \" +Cm , +NQ [^\"] +NT [^A-Za-z_0-9] +LP "(" +RP ")" +NQP [^\"()] +NQPCm [^,\"()] +BS "\\" +Esc ({BS}{Any}) +Wh ({W}*) +LCom (;({Esc}|.)*) +LWh ({W}|{LCom})* +Open {Wh}{LP} +OpWQ {Open}{Wh}{Q} +String {Q}({Esc}|{NQ})*{Q} +ParenExpr5 "("({String}|{NQP})*")" +ParenExpr4 "("({String}|{NQP}|{ParenExpr5})*")" +ParenExpr3 "("({String}|{NQP}|{ParenExpr4})*")" +ParenExpr2 "("({String}|{NQP}|{ParenExpr3})*")" +ParenExpr "("({String}|{NQP}|{ParenExpr5})*")" +Arg ({NQPCm}|{String}|{ParenExpr})* +ArgCm {Arg}{Cm} +StringArg {Wh}{String}{Wh}"," +OpenString {Open}{StringArg} +LispToken ({Esc}|[-A-Za-z0-9!@$%^&*_=+|{}`~,<.>/?])+ %% <DO_C>{NT}"GETTEXT"{OpWQ} { snarf (); } @@ -128,16 +159,17 @@ <DO_C>{NT}"stdout_out"{OpWQ} { snarf (); } <DO_C>{NT}"stderr_out"{OpWQ} { snarf (); } <DO_C>{NT}"with_output_to_temp_buffer"{OpWQ} { snarf (); } +<DO_C>{NT}"weird_doc"{Open}{ArgCm}{Wh}{Q} { snarf (); /* #### FIXME snarf next arg() */} -<DO_C>{NT}"DEFVAR_BOOL"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"DEFVAR_LISP"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"DEFVAR_SPECIFIER"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"DEFVAR_INT"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"DEFVAR_BUFFER_LOCAL"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"DEFVAR_BUFFER_DEFAULTS"{OpenString}{Arg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"deferror"{Open}{Arg}{StringArg}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_BOOL"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_LISP"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_SPECIFIER"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_INT"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_BUFFER_LOCAL"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"DEFVAR_BUFFER_DEFAULTS"{OpenString}{ArgCm}{Wh}{Q} { snarf (); } +<DO_C>{NT}"deferror"{Open}{ArgCm}{StringArg}{Wh}{Q} { snarf (); } -<DO_C>{NT}"barf_or_query_if_file_exists"{Open}{Arg}{Wh}{Q} { +<DO_C>{NT}"barf_or_query_if_file_exists"{Open}{ArgCm}{Wh}{Q} { /* #### see comment above about use of Arg */ snarf (); } @@ -153,7 +185,7 @@ <DO_C>{Q} { BEGIN C_QUOTE; } <DO_C>{Any} { } -<DEFUN>{StringArg}{Arg}{Arg}{Arg}{Arg}{Wh} { BEGIN DEFUN2; } +<DEFUN>{StringArg}{ArgCm}{ArgCm}{ArgCm}{ArgCm}{Wh} { BEGIN DEFUN2; } <DEFUN>{Any} { bad_c_defun (); } <DEFUN2>{Q} { @@ -163,7 +195,7 @@ } <DEFUN2>[^,]* { /* This function doesn't have an interactive specification. - Don't use {Arg} in the specification because DEFUN3 looks + Don't use {ArgCm} in the specification because DEFUN3 looks for the comma. */ BEGIN DEFUN3; }
--- a/lib-src/ootags.c Mon Feb 01 17:57:04 2010 +0000 +++ b/lib-src/ootags.c Mon Feb 01 14:11:36 2010 -0600 @@ -2639,7 +2639,7 @@ int parlev; /* current parenthesis level */ bool incomm, inquote, inchar, quotednl, midtoken; bool cplpl, cjava; - token savetok; /* token saved during preprocessor handling */ + token savetok = {0}; /* token saved during preprocessor handling */ tokoff = toklen = 0; /* keep compiler quiet */
--- a/lisp/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/lisp/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,178 @@ +2010-01-28 Ben Wing <ben@xemacs.org> + + * lisp-mode.el: Finish documenting `lisp-indent-specform', + on Mike Sperber's request. + +2010-01-17 Ben Wing <ben@xemacs.org> + + * bytecomp-runtime.el: + * bytecomp-runtime.el (error-unless-tests-match): New. + * bytecomp-runtime.el (byte-compile-file-being-compiled): New. + * bytecomp-runtime.el (compiled-if): New. + * bytecomp-runtime.el (compiled-when): New. + Add functions for dealing with conditional compilation of different code + depending on the presence or absence of features. Necessary for some + Mule code where code is run during compilation (macros or eval-when-compile) + but, depending on how the code is written, the code itself will crash + either with or without Unicode-internal. + + compiled-if and compiled-when are the basic functions for conditional + compilation. They automatically trigger an error message upon file + loading if, at that time, the test expression that selected which code + to compile does not have the same value as at compile time. + +2010-01-25 Ben Wing <ben@xemacs.org> + + * mule/cyrillic.el (koi8-c): + Fix bug in #83 mapping. + * mule/vietnamese.el (viscii): + Fix bug in #A6 mapping. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * simple.el (capitalize-string-as-title): + Use `with-string-as-buffer-contents' instead of emulating it. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * syntax.el: + * syntax.el (make-syntax-table): + Expand doc string. + +2010-01-22 Ben Wing <ben@xemacs.org> + + * lisp-mode.el: + * lisp-mode.el (lisp-indent-function): + If the function begins with `with-', assume it is a macro or + special form whose last argument is a body. Call + `lisp-indent-specform' with a flag indicating that it should indent + all arguments as a body instead of with normal (full) indent. + * lisp-mode.el (lisp-indent-specform): + Add an optional flag argument indicating that all non-distinguished + arguments, not just the first, should be indented as a body. This + is useful when the number of distinguished (i.e. pre-body) arguments + isn't known, and is used for this purpose by `lisp-indent-function'. + + +2010-01-20 Aidan Kehoe <kehoea@parhasard.net> + + * simple.el (handle-pre-motion-command-current-command-is-motion): + This function is called a *lot*, make it faster, making + keysyms-equal inline, calling #'characterp (which doesn't have a + bytecode) much more rarely, and not throwing and catching. This + won't make much difference in practice, but does eliminate losts + of noise from profiling, e.g. at startup. + +2010-01-13 Ben Wing <ben@xemacs.org> + + * loadup.el: + * loadup.el (featurep): + * loadup.el (member): + When featurep `debug-xemacs' (configure --with-debug), set + debug-on-error, so that we get an exit-to-debugger/assertion + failure upon Lisp error during loadup. Unset before dumping. + +2010-01-10 Ben Wing <ben@xemacs.org> + + * mule/mule-cmds.el (get-native-coding-system-from-language-environment): + Under Cygwin, force utf-8 if we are using Cygwin 1.7 or later + (making use of the magic feature 'cygwin-use-utf-8). + +2010-01-11 Ben Wing <ben@xemacs.org> + + * unicode.el: + * unicode.el (utf-8): + Don't define `utf-8' coding system here, because it's too late. + We need it during early startup code at dump time so we create it + in C in unicode.c. + +2010-01-10 Didier Verna <didier@xemacs.org> + + * x-faces.el (x-init-face-from-resources) + (x-init-device-faces) + (x-init-frame-faces): Cosmetic changes (comments formatting). + +2010-01-09 Didier Verna <didier@xemacs.org> + + * x-faces.el (x-init-global-faces): Deactivate obsolete code. + * x-faces.el (x-init-device-faces): Ditto. + * x-faces.el (x-init-frame-faces): Ditto. + +2010-01-09 Didier Verna <didier@xemacs.org> + + * glyphs.el (init-glyphs): Recognize bitmaps/ directory as + containing bitmap files. + +2010-01-09 Aidan Kehoe <kehoea@parhasard.net> + + * subr.el (with-trapping-errors): + Fix a bug here, where I used a normal quote instead of a + backquote. Thank you the byte-compiler. + +2010-01-08 Aidan Kehoe <kehoea@parhasard.net> + + * indent.el (indent-region): + Make COLUMN optional as in GNU, merging Andreas Roehler's change + of http://mid.gmane.org/4B46F5FC.2070506@online.de ; thank you + Andreas! + +2010-01-07 Aidan Kehoe <kehoea@parhasard.net> + + * cl-macs.el (map): + Add a compiler macro for this function, for cases where CL-TYPE is + constant and understood. + +2010-01-07 Aidan Kehoe <kehoea@parhasard.net> + + * unicode.el (load-unicode-tables): + * mule/mule-msw-init-late.el: + * mule/mule-category.el (predefined-category-list): + * mule/arabic.el: + Move arabic-iso8859-6 back to C, it needs to be there, otherwise + X11 character input lookup fails. + +2010-01-06 Didier Verna <didier@xemacs.org> + + * cl-extra.el (get-properties): New. + +2009-12-31 Aidan Kehoe <kehoea@parhasard.net> + + * list-mode.el (next-list-mode-item, switch-to-completions): Use + next-single-char-property-change, + previous-single-char-property-change now + next-single-property-change no longer pays attention to extents + not created using the text property functions. Fix for issue 546, + bug dates from changeset 8c96bdabcaf9. + +2009-12-21 Jerry James <james@xemacs.org> + + * dragdrop.el (offix-start-drag): Remove. + (offix-start-drag-region): Remove. + * mouse.el (mouse-begin-drag-n-drop): Remove OffiX support. + +2009-12-21 Adrian Aichner <adrian@xemacs.org> + + * package-get.el (package-get-download-sites): Remove + dk.xemacs.org from list of package download sites. + * package-get.el (package-get-pre-release-download-sites): Ditto. + +2009-12-21 Aidan Kehoe <kehoea@parhasard.net> + + * mule/arabic.el (arabic-iso8859-6): + Move the creation of this character set to this (dumped) file, + since it's needed for input on X11. + * mule/iso-with-esc.el: + Remove arabic-iso8859-6 and its Unicode map from this file. + * unicode.el (load-unicode-tables): + Load arabic-iso8859-6 on startup again. + +2009-12-19 Aidan Kehoe <kehoea@parhasard.net> + + * cl-macs.el (cl-do-arglist): + * cl-compat.el (keyword-of): + Remove support in our generated code for emacs versions where + keywords are not self-quoting. + 2010-02-01 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (equalp):
--- a/lisp/bytecomp-runtime.el Mon Feb 01 17:57:04 2010 +0000 +++ b/lisp/bytecomp-runtime.el Mon Feb 01 14:11:36 2010 -0600 @@ -1,7 +1,7 @@ ;;; bytecomp-runtime.el --- byte-compiler support for inlining ;; Copyright (C) 1992, 1997 Free Software Foundation, Inc. -;; Copyright (C) 2002 Ben Wing. +;; Copyright (C) 2002, 2010 Ben Wing. ;; Author: Jamie Zawinski <jwz@jwz.org> ;; Author: Hallvard Furuseth <hbf@ulrik.uio.no> @@ -493,6 +493,60 @@ `(with-byte-compiler-warnings-suppressed 'obsolete ,@body)) + +(defmacro error-unless-tests-match (test &optional source) + "Signal an error unless TEST matches when being compiled and loaded. +This is for use in a file that will be byte-compiled. Unless TEST has the +same nilness or non-nilness when the file is compiled and loaded, an error +will be signalled. SOURCE is the name of the source file." + (let ((source (eval source))) + `(unless (eq (not ,test) ,(not (eval test))) + (error ,(format "This file was compiled with `%s' %s, +but it was %s when run. This file needs to be compiled with +the same value for the expression as when it is run. Please delete +%s and rebuild." + test (if (eval test) "true" "false") + (if (eval test) "false" "true") + (cond + ((null source) "the .elc for this file") + ((string-match "\.elc$" source) source) + ((string-match "\.el$" source) (concat source "c")) + (t (concat source ".elc")))))))) + +(defun byte-compile-file-being-compiled () + "When byte-compiling a file, return the name of the file being compiled. +Return nil otherwise." + (or + ;;The first of these, but not the second, seems to work noninteractively; + ;;vice-versa interactively. This is because interactively a *Compile Log* + ;;buffer is created and byte-compile-log-1 inserts a "Compiling file ..." + ;;message into thelog buffer, and then sets byte-compile-current-file to + ;;nil to indicate that the message shouldn't be printed again. + (and-boundp 'byte-compile-current-file byte-compile-current-file) + (and-boundp 'byte-compile-log-buffer + (with-current-buffer byte-compile-log-buffer + (save-excursion + (and (re-search-backward "Compiling file \\(.*\\) at " nil t) + (match-string 1))))))) + + +(defmacro compiled-if (test if &rest else) + "Like a regular `if' statement but the TEST will be evalled at compile time. +If TEST doesn't match at compile time and load time, an error will be +signalled." + (let ((being-compiled (byte-compile-file-being-compiled))) + `(progn + (error-unless-tests-match ,test ,being-compiled) + ,(if (eval test) + if + `(progn ,else))))) + +(defmacro compiled-when (test &rest when) + "Like a regular `when' statement but the TEST will be evalled at compile time. +See `compiled-if'." + `(compiled-if ,test (progn ,@when))) + + ;;; Interface to file-local byte-compiler parameters. ;;; Redefined in bytecomp.el.
--- a/lisp/lisp-mode.el Mon Feb 01 17:57:04 2010 +0000 +++ b/lisp/lisp-mode.el Mon Feb 01 14:11:36 2010 -0600 @@ -2,7 +2,7 @@ ;; Copyright (C) 1985, 1996, 1997 Free Software Foundation, Inc. ;; Copyright (C) 1995 Tinker Systems. -;; Copyright (C) 2002 Ben Wing. +;; Copyright (C) 2002, 2010 Ben Wing. ;; Maintainer: FSF ;; Keywords: lisp, languages, dumped @@ -846,7 +846,11 @@ (lisp-indent-specform method state indent-point normal-indent)) (method - (funcall method state indent-point))))))) + (funcall method state indent-point)) + ((and (> (length function) 5) + (string-match "\\`with-" function)) + (lisp-indent-specform 0 state indent-point normal-indent + t))))))) (defun lisp-indent-quoteform (state indent-point) (goto-char (car (cdr state))) @@ -859,7 +863,36 @@ (defvar lisp-body-indent 2 "Number of columns to indent the second line of a `(def...)' form.") -(defun lisp-indent-specform (count state indent-point normal-indent) +;; Calculate the appropriate indentation for a special form (e.g. defun) or +;; a macro that behaves like a special form (e.g. with-temp-buffer). +;; Return value is as for `calculate-lisp-indent' (q.v.). +;; +;; COUNT is the number of "distinguished" forms (e.g. arguments before the +;; "body", in a macro taking a body as its last argument). +;; +;; INDENT-POINT is usually the value of (point) at the beginning of the +;; line containing the form to be indented. +;; +;; STATE is the result of calling (parse-partial-sexp (point) INDENT-POINT) +;; when (point) is sitting on (i.e. just before) the outermost containing +;; left paren for the form to be indented. +;; +;; NORMAL-INDENT is the amount of "full" indentation used for arguments +;; that aren't given some special indentation (usually less), and normally +;; it lines up with the first word after the function name. forms are +;; indented as follows: +;; +;; -- The first and second distinguished forms are given 2 times body indent +;; (determined by `lisp-body-indent') +;; -- Other distinguished forms are given normal indent +;; -- The first nondistinguished form (the body, usually) is given body indent +;; -- Normally, any further nondistinguished forms are given normal indent +;; -- However, if INDENT-REMAINING-AS-BODY was specified, any further +;; nondistinguished forms are given body indent. This is useful when the +;; number of distinguished forms isn't known or may vary. + +(defun lisp-indent-specform (count state indent-point normal-indent + &optional indent-remaining-as-body) (let ((containing-form-start (elt state 1)) (i count) body-indent containing-form-column) @@ -900,7 +933,8 @@ ;; or if this is the first undistinguished form and the preceding ;; distinguished form has indentation at least as great as body-indent. (if (or (and (= i 0) (= count 0)) - (and (= count 0) (<= body-indent normal-indent))) + (and (or (= count 0) indent-remaining-as-body) + (<= body-indent normal-indent))) body-indent normal-indent))))
--- a/lisp/simple.el Mon Feb 01 17:57:04 2010 +0000 +++ b/lisp/simple.el Mon Feb 01 14:11:36 2010 -0600 @@ -3835,13 +3835,8 @@ (defun capitalize-string-as-title (string) "Capitalize the words in the string, except for small words (as in titles). The words not capitalized are specified in `uncapitalized-title-words'." - (let ((buffer (get-buffer-create " *capitalize-string-as-title*"))) - (unwind-protect - (progn - (insert-string string buffer) - (capitalize-region-as-title 1 (point-max buffer) buffer) - (buffer-string buffer)) - (kill-buffer buffer)))) + (with-string-as-buffer-contents string + (capitalize-region-as-title (point-min) (point-max)))) (defun capitalize-region-as-title (b e &optional buffer) "Capitalize the words in the region, except for small words (as in titles).
--- a/lisp/syntax.el Mon Feb 01 17:57:04 2010 +0000 +++ b/lisp/syntax.el Mon Feb 01 14:11:36 2010 -0600 @@ -2,7 +2,7 @@ ;; Copyright (C) 1993, 1997 Free Software Foundation, Inc. ;; Copyright (C) 1995 Sun Microsystems. -;; Copyright (C) 2005 Ben Wing. +;; Copyright (C) 2005, 2010 Ben Wing. ;; This file is part of XEmacs. @@ -36,7 +36,20 @@ (defun make-syntax-table (&optional oldtable) "Return a new syntax table. -It inherits all characters from the standard syntax table." + +It inherits all characters from the standard syntax table. + +A syntax table is a char table of type `syntax' (see `make-char-table'). +The valid values are integers (intended to be syntax codes as generated by +`syntax-string-to-code'), and the default result given by `get-char-table' +is the syntax code for `word'. (Note: In 21.4 and prior, it was the code +for `inherit'.) + +To modify a syntax table, you should normally use `modify-syntax-entry' +rather than directly modify the table with `put-char-table'. + +See `modify-syntax-entry' for a description of the character codes used +to indicate the various syntax classes." (make-char-table 'syntax)) (defun syntax-after (pos)
--- a/lwlib/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/lwlib/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,9 @@ +2010-01-24 Ben Wing <ben@xemacs.org> + + * xlwgauge.c (GaugeResize): + * xlwgauge.c (GaugeSize): + Fix warnings about possible use of uninitialized vars. + 2010-01-28 Jerry James <james@xemacs.org> * lwlib-internal.h: Add copyright and license boilerplate text
--- a/lwlib/xlwgauge.c Mon Feb 01 17:57:04 2010 +0000 +++ b/lwlib/xlwgauge.c Mon Feb 01 14:11:36 2010 -0600 @@ -314,7 +314,7 @@ if( gw->gauge.nlabels > 1 ) { - Dimension lwm, lw0, lw1 ; /* width of max, left, right labels */ + Dimension lwm, lw0=0, lw1 ;/* width of max, left, right labels */ Dimension lh ; MaxLabel(gw,&lwm,&lh, &lw0,&lw1) ; @@ -1017,7 +1017,7 @@ */ if( gw->gauge.nlabels > 0 ) { - Dimension lwm, lw0, lw1 ; /* width of max, left, right labels */ + Dimension lwm, lw0=0, lw1 ;/* width of max, left, right labels */ Dimension lh ; MaxLabel(gw,&lwm,&lh, &lw0,&lw1) ;
--- a/man/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/man/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,25 @@ +2010-01-27 Ben Wing <ben@xemacs.org> + + * internals/internals.texi (lrecords): + * internals/internals.texi (The DFC API): + * internals/internals.texi (Conversion to and from External Data): + * internals/internals.texi (Mule-izing Code): + * internals/internals.texi (Pervasive changes throughout XEmacs sources): + * internals/internals.texi (Ben's README): + * internals/internals.texi (Future Work -- Localized Text/Messages): + * emodules.texi (Defining Variables): + Rename: + + write_c_string -> write_cistring + build_intstring -> build_istring + build_string -> build_cistring + build_ext_string -> build_extstring + make_ext_string -> make_extstring + buffer_insert_c_string -> buffer_insert_ascstring + intern_int -> intern_istring + + See comment in src/ChangeLog about this. + 2010-01-31 Aidan Kehoe <kehoea@parhasard.net> * xemacs/programs.texi (Defuns):
--- a/man/emodules.texi Mon Feb 01 17:57:04 2010 +0000 +++ b/man/emodules.texi Mon Feb 01 14:11:36 2010 -0600 @@ -1058,7 +1058,7 @@ */); sample_boolean = 0; - Vsample_string = build_string("My string"); + Vsample_string = build_ascstring ("My string"); @} @end cartouche @end example
--- a/man/internals/internals.texi Mon Feb 01 17:57:04 2010 +0000 +++ b/man/internals/internals.texi Mon Feb 01 14:11:36 2010 -0600 @@ -8643,7 +8643,7 @@ Sub-objects are printed using @code{print_internal()}, which takes exactly the same arguments as are passed to the print method. -Literal C strings should be printed using @code{write_c_string()}, +Literal C strings should be printed using @code{write_cistring()}, or @code{write_string_1()} for non-null-terminated strings. Functions that do not have a readable representation should check the @@ -11803,7 +11803,7 @@ of conversions involving raw data and/or Lisp strings, especially when the output is an @code{alloca()}ed string. (When the destination is a Lisp_String, there are other functions that should be used instead -- -@code{build_ext_string()} and @code{make_ext_string()}, for example.) The convenience +@code{build_extstring()} and @code{make_extstring()}, for example.) The convenience macros are of two types -- the older kind that store the result into a specified variable, and the newer kind that return the result. The newer kind of macros don't exist when the output is sized data, because that @@ -12865,7 +12865,7 @@ many types of conversions involving raw data and/or Lisp strings, especially when the output is an @code{alloca()}ed string. (When the destination is a Lisp string, there are other functions that should be -used instead -- @code{build_ext_string()} and @code{make_ext_string()}, +used instead -- @code{build_extstring()} and @code{make_extstring()}, for example.) The convenience macros are of two types -- the older kind that store the result into a specified variable, and the newer kind that return the result. The newer kind of macros don't exist when the output @@ -13026,13 +13026,13 @@ @item Check all uses of @code{XSTRING_DATA}. @item -Check all uses of @code{build_string} and @code{make_string}. +Check all uses of @code{build_cistring} and @code{make_string}. @item Check all uses of @code{tolower} and @code{toupper}. @item Check object print methods. @item -Check for use of functions such as @code{write_c_string}, +Check for use of functions such as @code{write_cistring}, @code{write_fmt_string}, @code{stderr_out}, @code{stdout_out}. @item Check all occurrences of @code{char} and correct to one of the other @@ -14350,15 +14350,15 @@ strings, which is quite often. @item -new fun @code{build_intstring()} takes an @code{Intbyte *}. also new -funs @code{build_msg_intstring} (like @code{build_intstring()}) and -@code{build_msg_string} (like @code{build_string()}) to do a +new fun @code{build_istring()} takes an @code{Intbyte *}. also new +funs @code{build_msg_intstring} (like @code{build_istring()}) and +@code{build_msg_string} (like @code{build_cistring()}) to do a @code{GETTEXT()} before building the string. (elimination of old @code{build_translated_string()}, replaced by @code{build_msg_string()}). @item -function @code{intern_int()} for @code{Intbyte *} arguments, like +function @code{intern_istring()} for @code{Intbyte *} arguments, like @code{intern()}. @item @@ -15344,10 +15344,10 @@ menu item to revert to most recent auto save. @item -consider renaming @code{build_string} -> @code{build_intstring} and -@code{build_c_string} to @code{build_string}. (consistent with +consider renaming @code{build_cistring} -> @code{build_istring} and +@code{build_c_string} to @code{build_cistring}. (consistent with @code{build_msg_string} et al; many more @code{build_c_string} than -@code{build_string}) +@code{build_cistring}) @end itemize @heading oct 20, 2001 @@ -25690,7 +25690,7 @@ signal_simple_error_2 ("string" ... ) build_translated_string ("string") - #### add this and use it instead of @code{build_string()} in some places. + #### add this and use it instead of @code{build_cistring()} in some places. yes_or_no_p ("string" ... ) #### add this instead of funcalling Qyes_or_no_p directly.
--- a/modules/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/modules/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,66 @@ +2010-01-27 Ben Wing <ben@xemacs.org> + + * postgresql/postgresql.c (print_pgconn): + * postgresql/postgresql.c (print_pgresult): + * postgresql/postgresql.c (Fpq_conn_defaults): + * postgresql/postgresql.c (Fpq_pgconn): + * postgresql/postgresql.c (Fpq_res_status): + * postgresql/postgresql.c (Fpq_result_error_message): + * postgresql/postgresql.c (Fpq_fname): + * postgresql/postgresql.c (Fpq_get_value): + * postgresql/postgresql.c (Fpq_cmd_status): + * postgresql/postgresql.c (Fpq_cmd_tuples): + * postgresql/postgresql.c (Fpq_notifies): + * postgresql/postgresql.c (Fpq_get_line): + * postgresql/postgresql.c (Fpq_get_line_async): + * postgresql/postgresql.c (FROB): + * postgresql/postgresql.c (init_postgresql_from_environment): + * ldap/eldap.c: + * ldap/eldap.c (Fldap_open): + * ldap/eldap.c (Fldap_search_basic): + * canna/canna_api.c: + * canna/canna_api.c (make_euc_string): + Rename: + + write_c_string -> write_cistring + build_intstring -> build_istring + build_string -> build_cistring + build_ext_string -> build_extstring + make_ext_string -> make_extstring + buffer_insert_c_string -> buffer_insert_ascstring + intern_int -> intern_istring + + See comment in src/ChangeLog about this. + +2010-01-26 Ben Wing <ben@xemacs.org> + + * postgresql/postgresql.c: + * postgresql/postgresql.c (CHECK_LIVE_CONNECTION): + * postgresql/postgresql.c (print_pgresult): + * postgresql/postgresql.c (Fpq_conn_defaults): + * postgresql/postgresql.c (Fpq_connectdb): + * postgresql/postgresql.c (Fpq_connect_start): + * postgresql/postgresql.c (Fpq_result_status): + * postgresql/postgresql.c (Fpq_res_status): + Mule-ize large parts of it. + +2010-01-26 Ben Wing <ben@xemacs.org> + + * ldap/eldap.c (print_ldap): + * ldap/eldap.c (allocate_ldap): + Use write_ascstring(). + +2010-01-24 Ben Wing <ben@xemacs.org> + + * postgresql/postgresql.c (CHECK_LIVE_CONNECTION): + * postgresql/postgresql.c (print_pgconn): + * postgresql/postgresql.c (Fpq_connectdb): + * postgresql/postgresql.c (Fpq_connect_start): + * postgresql/postgresql.c (Fpq_exec): + * postgresql/postgresql.c (Fpq_get_result): + Fix g++ 4.3 complaints about implicit conversions of string + literals (const char *) to char *. + 2010-01-16 Ben Wing <ben@xemacs.org> * common/Makefile.common:
--- a/modules/canna/canna_api.c Mon Feb 01 17:57:04 2010 +0000 +++ b/modules/canna/canna_api.c Mon Feb 01 14:11:36 2010 -0600 @@ -199,8 +199,8 @@ static Lisp_Object CANNA_mode_keys (void); static Lisp_Object Qeuc_jp; -#define make_euc_string(p, len) make_ext_string ((Extbyte *) p, len, Qeuc_jp) -#define build_euc_string(p) build_ext_string ((Extbyte *) p, Qeuc_jp) +#define make_euc_string(p, len) make_extstring ((Extbyte *) p, len, Qeuc_jp) +#define build_euc_string(p) build_extstring ((Extbyte *) p, Qeuc_jp) #ifdef CANNA_MULE static int euc_jp_num_chars (unsigned char *, int);
--- a/modules/ldap/eldap.c Mon Feb 01 17:57:04 2010 +0000 +++ b/modules/ldap/eldap.c Mon Feb 01 14:11:36 2010 -0600 @@ -99,7 +99,7 @@ #endif } invalid_operation ("LDAP error", - build_ext_string (ldap_err2string (ldap_err), Qnative)); + build_extstring (ldap_err2string (ldap_err), Qnative)); } @@ -134,7 +134,7 @@ write_fmt_string_lisp (printcharfun, "#<ldap %S", 1, ldap->host); if (!ldap->ld) - write_c_string (printcharfun,"(dead) "); + write_ascstring (printcharfun,"(dead) "); write_fmt_string (printcharfun, " 0x%lx>", (long)ldap); } @@ -346,7 +346,7 @@ if (err != LDAP_SUCCESS) { signal_error (Qprocess_error, "Failed binding to the server", - build_ext_string (ldap_err2string (err), Qnative)); + build_extstring (ldap_err2string (err), Qnative)); } ldap = allocate_ldap (); @@ -535,19 +535,19 @@ dn = ldap_get_dn (ld, e); if (dn == NULL) signal_ldap_error (ld, e, 0); - entry = Fcons (build_ext_string (dn, Qnative), Qnil); + entry = Fcons (build_extstring (dn, Qnative), Qnil); } for (a = ldap_first_attribute (ld, e, &ptr); a != NULL; a = ldap_next_attribute (ld, e, ptr)) { - list = Fcons (build_ext_string (a, Qnative), Qnil); + list = Fcons (build_extstring (a, Qnative), Qnil); unwind.vals = ldap_get_values_len (ld, e, a); if (unwind.vals != NULL) { for (i = 0; unwind.vals[i] != NULL; i++) { - list = Fcons (make_ext_string ((Extbyte *) unwind.vals[i]->bv_val, + list = Fcons (make_extstring ((Extbyte *) unwind.vals[i]->bv_val, unwind.vals[i]->bv_len, Qnative), list);
--- a/modules/postgresql/postgresql.c Mon Feb 01 17:57:04 2010 +0000 +++ b/modules/postgresql/postgresql.c Mon Feb 01 14:11:36 2010 -0600 @@ -118,15 +118,28 @@ Lisp_Object Vpg_coding_system; #endif -#define CHECK_LIVE_CONNECTION(P) do { \ - if (!P || (PQstatus (P) != CONNECTION_OK)) { \ - char *e = "bad value"; \ - if (P) e = PQerrorMessage (P); \ - signal_ferror (Qprocess_error, "dead connection [%s]", e); \ - } } while (0) -#define PUKE_IF_NULL(p) do { \ - if (!p) signal_error (Qinvalid_argument, "bad value", Qunbound); \ - } while (0) +#define CHECK_LIVE_CONNECTION(P) \ +do \ +{ \ + if (!P || (PQstatus (P) != CONNECTION_OK)) \ + { \ + const Ibyte *err; \ + \ + if (P) \ + err = NEW_EXTERNAL_TO_C_STRING (PQerrorMessage (P), PG_OS_CODING); \ + else \ + err = (const Ibyte *) "bad value"; \ + signal_ferror (Qprocess_error, "dead connection [%s]", err); \ + } \ +} \ +while (0) + +#define PUKE_IF_NULL(p) \ +do \ +{ \ + if (!p) signal_error (Qinvalid_argument, "bad value", Qunbound); \ +} \ +while (0) static Lisp_Object VXPGHOST; static Lisp_Object VXPGUSER; @@ -203,7 +216,7 @@ char buf[256]; PGconn *P; ConnStatusType cst; - char *host="", *db="", *user="", *port=""; + const char *host="", *db="", *user="", *port=""; P = (XPGCONN (obj))->pgconn; @@ -231,7 +244,7 @@ if (print_readably) printing_unreadable_object ("%s", buf); else - write_c_string (printcharfun, buf); + write_cistring (printcharfun, buf); } static Lisp_PGconn * @@ -338,7 +351,7 @@ PQcmdStatus (res)); break; default: -notuples: + notuples: /* No counts to print */ sprintf (buf, RESULT_DEFAULT_FMT, /* evil! */ PQresStatus (PQresultStatus (res)), @@ -352,7 +365,7 @@ if (print_readably) printing_unreadable_object ("%s", buf); else - write_c_string (printcharfun, buf); + write_cistring (printcharfun, buf); } #undef RESULT_TUPLES_FMT @@ -431,23 +444,25 @@ pcio = PQconndefaults(); if (!pcio) return Qnil; /* can never happen in libpq-7.0 */ - temp = list1 (Fcons (build_ext_string (pcio[0].keyword, PG_OS_CODING), - Fcons (build_ext_string (pcio[0].envvar, PG_OS_CODING), - Fcons (build_ext_string (pcio[0].compiled, PG_OS_CODING), - Fcons (build_ext_string (pcio[0].val, PG_OS_CODING), - Fcons (build_ext_string (pcio[0].label, PG_OS_CODING), - Fcons (build_ext_string (pcio[0].dispchar, PG_OS_CODING), - Fcons (make_int (pcio[0].dispsize), Qnil)))))))); + temp = + list1 (nconc2 (list4 (build_extstring (pcio[0].keyword, PG_OS_CODING), + build_extstring (pcio[0].envvar, PG_OS_CODING), + build_extstring (pcio[0].compiled, PG_OS_CODING), + build_extstring (pcio[0].val, PG_OS_CODING)), + list3 (build_extstring (pcio[0].label, PG_OS_CODING), + build_extstring (pcio[0].dispchar, PG_OS_CODING), + make_int (pcio[0].dispsize)))); for (i = 1; pcio[i].keyword; i++) { - temp1 = list1 (Fcons (build_ext_string (pcio[i].keyword, PG_OS_CODING), - Fcons (build_ext_string (pcio[i].envvar, PG_OS_CODING), - Fcons (build_ext_string (pcio[i].compiled, PG_OS_CODING), - Fcons (build_ext_string (pcio[i].val, PG_OS_CODING), - Fcons (build_ext_string (pcio[i].label, PG_OS_CODING), - Fcons (build_ext_string (pcio[i].dispchar, PG_OS_CODING), - Fcons (make_int (pcio[i].dispsize), Qnil)))))))); + temp1 = + list1 (nconc2 (list4 (build_extstring (pcio[i].keyword, PG_OS_CODING), + build_extstring (pcio[i].envvar, PG_OS_CODING), + build_extstring (pcio[i].compiled, PG_OS_CODING), + build_extstring (pcio[i].val, PG_OS_CODING)), + list3 (build_extstring (pcio[i].label, PG_OS_CODING), + build_extstring (pcio[i].dispchar, PG_OS_CODING), + make_int (pcio[i].dispsize)))); { Lisp_Object args[2]; args[0] = temp; @@ -472,35 +487,33 @@ { PGconn *P; Lisp_PGconn *lisp_pgconn; - char *error_message = "Out of Memory?"; - char *c_conninfo; + const Ascbyte *error_message = "Out of Memory?"; + Extbyte *c_conninfo; CHECK_STRING (conninfo); - TO_EXTERNAL_FORMAT(LISP_STRING, conninfo, - C_STRING_ALLOCA, c_conninfo, Qnative); + LISP_STRING_TO_EXTERNAL (conninfo, c_conninfo, PG_OS_CODING); P = PQconnectdb (c_conninfo); if (P && (PQstatus (P) == CONNECTION_OK)) { (void)PQsetNoticeProcessor (P, xemacs_notice_processor, NULL); - lisp_pgconn = allocate_pgconn(); + lisp_pgconn = allocate_pgconn (); lisp_pgconn->pgconn = P; return make_pgconn (lisp_pgconn); } else { /* Connection failed. Destroy the connection and signal an error. */ - char buf[BLCKSZ]; - strcpy (buf, error_message); + Ibyte *errmsg = (Ibyte *) error_message; if (P) { /* storage for the error message gets erased when call PQfinish */ - /* so we must temporarily stash it somewhere */ - strncpy (buf, PQerrorMessage (P), sizeof (buf)); - buf[sizeof (buf) - 1] = '\0'; + /* so we must temporarily stash it somewhere -- make alloca() copy */ + errmsg = NEW_EXTERNAL_TO_C_STRING (PQerrorMessage (P), PG_OS_CODING); + IBYTE_STRING_TO_ALLOCA (errmsg, errmsg); PQfinish (P); } - signal_ferror (Qprocess_error, "libpq: %s", buf); + signal_ferror (Qprocess_error, "libpq: %s", errmsg); } } @@ -517,18 +530,18 @@ { PGconn *P; Lisp_PGconn *lisp_pgconn; - char *error_message = "Out of Memory?"; - char *c_conninfo; + const Ascbyte *error_message = "Out of Memory?"; + Extbyte *c_conninfo; CHECK_STRING (conninfo); - TO_EXTERNAL_FORMAT (LISP_STRING, conninfo, - C_STRING_ALLOCA, c_conninfo, Qnative); + + LISP_STRING_TO_EXTERNAL (conninfo, c_conninfo, PG_OS_CODING); P = PQconnectStart (c_conninfo); if (P && (PQstatus (P) != CONNECTION_BAD)) { (void)PQsetNoticeProcessor (P, xemacs_notice_processor, NULL); - lisp_pgconn = allocate_pgconn(); + lisp_pgconn = allocate_pgconn (); lisp_pgconn->pgconn = P; return make_pgconn (lisp_pgconn); @@ -821,22 +834,22 @@ /* PQdb Returns the database name of the connection. char *PQdb(PGconn *conn) */ - return build_ext_string (PQdb(P), PG_OS_CODING); + return build_extstring (PQdb(P), PG_OS_CODING); else if (EQ (field, Qpquser)) /* PQuser Returns the user name of the connection. char *PQuser(PGconn *conn) */ - return build_ext_string (PQuser(P), PG_OS_CODING); + return build_extstring (PQuser(P), PG_OS_CODING); else if (EQ (field, Qpqpass)) /* PQpass Returns the password of the connection. char *PQpass(PGconn *conn) */ - return build_ext_string (PQpass(P), PG_OS_CODING); + return build_extstring (PQpass(P), PG_OS_CODING); else if (EQ (field, Qpqhost)) /* PQhost Returns the server host name of the connection. char *PQhost(PGconn *conn) */ - return build_ext_string (PQhost(P), PG_OS_CODING); + return build_extstring (PQhost(P), PG_OS_CODING); else if (EQ (field, Qpqport)) { char *p; @@ -852,12 +865,12 @@ /* PQtty Returns the debug tty of the connection. char *PQtty(PGconn *conn) */ - return build_ext_string (PQtty(P), PG_OS_CODING); + return build_extstring (PQtty(P), PG_OS_CODING); else if (EQ (field, Qpqoptions)) /* PQoptions Returns the backend options used in the connection. char *PQoptions(PGconn *conn) */ - return build_ext_string (PQoptions(P), PG_OS_CODING); + return build_extstring (PQoptions(P), PG_OS_CODING); else if (EQ (field, Qpqstatus)) { ConnStatusType cst; @@ -886,7 +899,7 @@ by an operation on the connection. char *PQerrorMessage(PGconn* conn); */ - return build_ext_string (PQerrorMessage(P), PG_OS_CODING); + return build_extstring (PQerrorMessage(P), PG_OS_CODING); else if (EQ (field, Qpqbackendpid)) /* PQbackendPID Returns the process ID of the backend server handling this connection. @@ -919,7 +932,8 @@ R = PQexec (P, c_query); { - char *tag, buf[BLCKSZ]; + const Ascbyte *tag; + char buf[BLCKSZ]; if (!R) out_of_memory ("query: out of memory", Qunbound); else @@ -992,7 +1006,8 @@ if (!R) return Qnil; /* not an error, there's no more data to get */ { - char *tag, buf[BLCKSZ]; + const Ascbyte *tag; + char buf[BLCKSZ]; switch (PQresultStatus (R)) { @@ -1044,7 +1059,9 @@ case PGRES_FATAL_ERROR: return Qpgres_fatal_error; default: /* they've added a new field we don't know about */ - signal_ferror (Qprocess_error, "Help! Unknown exec status code %08x from backend!", est); + signal_ferror (Qprocess_error, + "Help! Unknown exec status code %08x from backend!", + est); } } @@ -1059,7 +1076,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQresStatus (PQresultStatus (R)), PG_OS_CODING); + return build_extstring (PQresStatus (PQresultStatus (R)), PG_OS_CODING); } /* Sundry PGresult accessor functions */ @@ -1074,7 +1091,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQresultErrorMessage (R), PG_OS_CODING); + return build_extstring (PQresultErrorMessage (R), PG_OS_CODING); } DEFUN ("pq-ntuples", Fpq_ntuples, 1, 1, 0, /* @@ -1132,7 +1149,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQfname (R, XINT (field_index)), PG_OS_CODING); + return build_extstring (PQfname (R, XINT (field_index)), PG_OS_CODING); } DEFUN ("pq-fnumber", Fpq_fnumber, 2, 2, 0, /* @@ -1217,7 +1234,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQgetvalue (R, XINT (tup_num), XINT (field_num)), + return build_extstring (PQgetvalue (R, XINT (tup_num), XINT (field_num)), PG_OS_CODING); } @@ -1267,7 +1284,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQcmdStatus (R), PG_OS_CODING); + return build_extstring (PQcmdStatus (R), PG_OS_CODING); } DEFUN ("pq-cmd-tuples", Fpq_cmd_tuples, 1, 1, 0, /* @@ -1281,7 +1298,7 @@ R = (XPGRESULT (result))->pgresult; PUKE_IF_NULL (R); - return build_ext_string (PQcmdTuples (R), PG_OS_CODING); + return build_extstring (PQcmdTuples (R), PG_OS_CODING); } DEFUN ("pq-oid-value", Fpq_oid_value, 1, 1, 0, /* @@ -1375,7 +1392,7 @@ { Lisp_Object temp; - temp = list2 (build_ext_string (PGN->relname, PG_OS_CODING), make_int (PGN->be_pid)); + temp = list2 (build_extstring (PGN->relname, PG_OS_CODING), make_int (PGN->be_pid)); free ((void *)PGN); return temp; } @@ -1489,7 +1506,7 @@ ret = PQgetline (P, buffer, sizeof (buffer)); - return Fcons (make_int (ret), build_ext_string (buffer, PG_OS_CODING)); + return Fcons (make_int (ret), build_extstring (buffer, PG_OS_CODING)); } DEFUN ("pq-put-line", Fpq_put_line, 2, 2, 0, /* @@ -1558,7 +1575,7 @@ if (ret == -1) return Qt; /* done! */ else if (!ret) return Qnil; /* no data yet */ else return Fcons (make_int (ret), - make_ext_string ((Extbyte *) buffer, ret, PG_OS_CODING)); + make_extstring ((Extbyte *) buffer, ret, PG_OS_CODING)); } DEFUN ("pq-put-nbytes", Fpq_put_nbytes, 2, 2, 0, /* @@ -1828,7 +1845,7 @@ #define FROB(envvar, var) \ if ((p = egetenv (envvar))) \ - var = build_intstring (p); \ + var = build_istring (p); \ else \ var = Qnil
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/.gdbinit.in.in Mon Feb 01 14:11:36 2010 -0600 @@ -0,0 +1,572 @@ +## gdb init file for XEmacs -*- ksh -*- +## This is the source for src/.gdbinit. Edit it, and rerun configure. +## (Running config.status is not enough.) +## The generated file depends on src/config.h (currently only in one place). + +## To insert comments that will remain in the generated file, we use the +## imake XCOMM convention. Lines beginning with "XCOMM " exactly (no +## leading whitespace, one trailing ASCII space, case sensitive) will be +## transformed to gdb command file comments in the generated file. + +XCOMM gdb init file for XEmacs +XCOMM AUTOMATICALLY GENERATED FROM etc/gdbinit.in BY configure -- DO NOT EDIT. +XCOMM See etc/gdbinit.in for licensing information and usage hints. +XCOMM Copyright (C) 1998 Free Software Foundation, Inc. +XCOMM Copyright (C) 2010 Ben Wing. + +## This file is part of XEmacs. + +## XEmacs is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by the +## Free Software Foundation; either version 2, or (at your option) any +## later version. + +## XEmacs is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +## for more details. + +## You should have received a copy of the GNU General Public License +## along with XEmacs; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +## Boston, MA 02110-1301 USA + +## Author: Martin Buchholz + +## Other contributors you could ask for help: Ivan Golubev, Jerry James, +## Stephen Turnbull. + +## Some useful commands for debugging emacs with gdb 4.16 or better. +## +## Since this file is called `.gdbinit', it will be read by gdb +## automatically when gdb is run in the build directory, which is where +## developers usually debug their xemacs. You can also source this +## file from your ~/.gdbinit, if you like. +## +## Configure xemacs with --debug, and compile with -g. +## +## See also the question of the XEmacs FAQ, titled +## "How to Debug an XEmacs problem with a debugger". +## +## This can be used to debug XEmacs no matter how the following are +## specified: + +## USE_UNION_TYPE + +## (the above all have configure equivalents) + +## Some functions defined here require a running process, but most +## don't. Considerable effort has been expended to this end. + +## See the dbg_ C support code in src/alloc.c that allows the functions +## defined in this file to work correctly. + +#define NOT_C_CODE +#include "config.h" + +set print union off +set print pretty off + +#ifdef VDB_POSIX +handle SIGSEGV SIGBUS nostop noprint +#endif + +set $Lisp_Type_Int = -2 +set $Lisp_Type_Record = 0 +set $Lisp_Type_Char = 2 + +define decode_object + set $obj = (unsigned long) $arg0 + if $obj & 1 + ## It's an int + set $val = $obj >> 1 + set $type = $Lisp_Type_Int + else + set $type = $obj & dbg_typemask + if $type == $Lisp_Type_Char + set $val = ($obj & dbg_valmask) >> dbg_gctypebits + else + ## It's a record pointer + set $val = $obj + end + end + + if $type == $Lisp_Type_Record + set $lheader = ((struct lrecord_header *) $val) + set $lrecord_type = ($lheader->type) + set $imp = ((struct lrecord_implementation *) lrecord_implementations_table[(int) $lrecord_type]) + else + set $lrecord_type = -1 + set $lheader = -1 + set $imp = -1 + end +end + +document decode_object +Usage: decode_object lisp_object +Extract implementation information from a Lisp Object. +Defines variables $val, $type and $imp. +end + +define xint +decode_object $arg0 +print ((long) $val) +end + +define xtype + decode_object $arg0 + if $type == $Lisp_Type_Int + echo int\n + else + if $type == $Lisp_Type_Char + echo char\n + else + printf "record type: %s\n", $imp->name + end + end +end + +document xtype +Usage: xtype lisp_object +Print the Lisp type of a lisp object. +end + +define lisp-shadows + run -batch -vanilla -f list-load-path-shadows +end + +document lisp-shadows +Usage: lisp-shadows +Run xemacs to check for lisp shadows +end + +define environment-to-run-temacs + unset env EMACSLOADPATH + set env EMACSBOOTSTRAPLOADPATH=@srcdir@/../lisp/:@srcdir@/.. + set env EMACSBOOTSTRAPMODULEPATH=../modules/:.. +end + +define run-temacs + environment-to-run-temacs + run -nd -no-packages -batch -l @srcdir@/../lisp/loadup.el run-temacs -q +end + +document run-temacs +Usage: run-temacs +Run temacs interactively, like xemacs. +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +define check-xemacs-arg + run -vanilla -batch -l @srcdir@/../tests/automated/test-harness.el -f batch-test-emacs @srcdir@/../tests/$arg0 +end + +define check-xemacs + if $argc == 0 + check-xemacs-arg automated + else + check-xemacs-arg automated/$arg0 + end +end + +document check-xemacs +Usage: check-xemacs [FILE] +Run the test suite. If no file given, run the whole suite, equivalent to +'make check'. If a file given, run the suite only on the specified file. +end + +define check-temacs-arg + environment-to-run-temacs + run -nd -no-packages -batch -l @srcdir@/../lisp/loadup.el run-temacs -q -batch -l @srcdir@/../tests/automated/test-harness.el -f batch-test-emacs @srcdir@/../tests/$arg0 + +define check-temacs + if $argc == 0 + check-temacs-arg automated + else + check-temacs-arg automated/$arg0 + end +end + +document check-temacs +Usage: check-temacs [FILE] +Run the test suite on temacs. If no file given, run the whole suite, +equivalent to 'make check-temacs'. If a file given, run the suite only on +the specified file. + +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +define update-elc + environment-to-run-temacs + run -nd -no-packages -batch -l @srcdir@/../lisp/update-elc.el +end + +document update-elc +Usage: update-elc +Run the core lisp byte compilation part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +define update-elc-2 + environment-to-run-temacs + run -no-packages -batch -no-autoloads -l update-elc-2.el -f batch-update-elc-2 @srcdir@/../lisp +end + +document update-elc-2 +Usage: update-elc-2 +Run the post-dump core lisp byte compilation part of the build procedure. +end + +define dmp + environment-to-run-temacs + run -nd -no-packages -batch -l @srcdir@/../lisp/loadup.el dump +end + +document dmp +Usage: dmp +Run the dumping part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +define ldp + printf "%s", "Lisp => " + call debug_print($arg0) +end + +document ldp +Usage: ldp lisp_object +Print a Lisp Object value using the Lisp printer. +Requires a running xemacs process. +end + +define lbt +call debug_backtrace() +end + +document lbt +Usage: lbt +Print the current Lisp stack trace. +Requires a running xemacs process. +end + + +define leval +ldp Feval(Fcar(Fread_from_string(build_cistring($arg0),Qnil,Qnil))) +end + +document leval +Usage: leval "SEXP" +Eval a lisp expression. +Requires a running xemacs process. + +Example: +(gdb) leval "(+ 1 2)" +Lisp ==> 3 +end + + +define wtype +print $arg0->core.widget_class->core_class.class_name +end + +define xtname +print XrmQuarkToString(((Object)($arg0))->object.xrm_name) +end + +## GDB's command language makes you want to ... + +define pptype + set $type_ptr = ($arg0 *) $val + print $type_ptr + print *$type_ptr +end + +define pstructtype + set $type_ptr = (struct $arg0 *) $val + print $type_ptr + print *$type_ptr +end + +define pobj + decode_object $arg0 + if $type == $Lisp_Type_Int + printf "Integer: %d\n", $val + else + if $type == $Lisp_Type_Char + if $val > 32 && $val < 128 + printf "Char: %c\n", $val + else + printf "Char: %d\n", $val + end + else + if $lrecord_type == lrecord_type_string + pptype Lisp_String + else + if $lrecord_type == lrecord_type_cons + pptype Lisp_Cons + else + if $lrecord_type == lrecord_type_symbol + pptype Lisp_Symbol + printf "Symbol name: %s\n", ((Lisp_String *)$type_ptr->name)->data_ + else + if $lrecord_type == lrecord_type_vector + pptype Lisp_Vector + printf "Vector of length %d\n", $type_ptr->size + ##print *($type_ptr->data) @ $type_ptr->size + else + if $lrecord_type == lrecord_type_bit_vector + pptype Lisp_Bit_Vector + else + if $lrecord_type == lrecord_type_buffer + pstructtype buffer + else + if $lrecord_type == lrecord_type_char_table + pptype Lisp_Char_Table + else + if $lrecord_type == lrecord_type_char_table_entry + pptype Lisp_Char_Table_Entry + else + if $lrecord_type == lrecord_type_charset + pptype Lisp_Charset + else + if $lrecord_type == lrecord_type_coding_system + pptype Lisp_Coding_System + else + if $lrecord_type == lrecord_type_color_instance + pptype Lisp_Color_Instance + else + if $lrecord_type == lrecord_type_command_builder + pptype command_builder + else + if $lrecord_type == lrecord_type_compiled_function + pptype Lisp_Compiled_Function + else + if $lrecord_type == lrecord_type_console + pstructtype console + else + if $lrecord_type == lrecord_type_database + pptype Lisp_Database + else + if $lrecord_type == lrecord_type_device + pstructtype device + else + if $lrecord_type == lrecord_type_event + pptype Lisp_Event + else + if $lrecord_type == lrecord_type_extent + pstructtype extent + else + if $lrecord_type == lrecord_type_extent_auxiliary + pstructtype extent_auxiliary + else + if $lrecord_type == lrecord_type_extent_info + pstructtype extent_info + else + if $lrecord_type == lrecord_type_face + pptype Lisp_Face + else + if $lrecord_type == lrecord_type_float + pptype Lisp_Float + else + if $lrecord_type == lrecord_type_font_instance + pptype Lisp_Font_Instance + else + if $lrecord_type == lrecord_type_frame + pstructtype frame + else + if $lrecord_type == lrecord_type_glyph + pptype Lisp_Glyph + else + if $lrecord_type == lrecord_type_gui_item + pptype Lisp_Gui_Item + else + if $lrecord_type == lrecord_type_hash_table + pptype Lisp_Hash_Table + else + if $lrecord_type == lrecord_type_image_instance + pptype Lisp_Image_Instance + else + if $lrecord_type == lrecord_type_keymap + pptype Lisp_Keymap + else + if $lrecord_type == lrecord_type_lcrecord_list + pstructtype lcrecord_list + else + if $lrecord_type == lrecord_type_ldap + pptype Lisp_LDAP + else + if $lrecord_type == lrecord_type_lstream + pstructtype lstream + else + if $lrecord_type == lrecord_type_marker + pptype Lisp_Marker + else + if $lrecord_type == lrecord_type_opaque + pptype Lisp_Opaque + else + if $lrecord_type == lrecord_type_opaque_ptr + pptype Lisp_Opaque_Ptr + else + if $lrecord_type == lrecord_type_popup_data + pptype popup_data + else + if $lrecord_type == lrecord_type_process + pptype Lisp_Process + else + if $lrecord_type == lrecord_type_range_table + pptype Lisp_Range_Table + else + if $lrecord_type == lrecord_type_specifier + pptype Lisp_Specifier + else + if $lrecord_type == lrecord_type_subr + pptype Lisp_Subr + else + if $lrecord_type == lrecord_type_symbol_value_buffer_local + pstructtype symbol_value_buffer_local + else + if $lrecord_type == lrecord_type_symbol_value_forward + pstructtype symbol_value_forward + else + if $lrecord_type == lrecord_type_symbol_value_lisp_magic + pstructtype symbol_value_lisp_magic + else + if $lrecord_type == lrecord_type_symbol_value_varalias + pstructtype symbol_value_varalias + else + if $lrecord_type == lrecord_type_timeout + pptype Lisp_Timeout + else + if $lrecord_type == lrecord_type_toolbar_button + pstructtype toolbar_button + else + if $lrecord_type == lrecord_type_tooltalk_message + pptype Lisp_Tooltalk_Message + else + if $lrecord_type == lrecord_type_tooltalk_pattern + pptype Lisp_Tooltalk_Pattern + else + if $lrecord_type == lrecord_type_weak_list + pstructtype weak_list + else + if $lrecord_type == lrecord_type_window + pstructtype window + else + if $lrecord_type == lrecord_type_window_configuration + pstructtype window_config + else + if $lrecord_type == lrecord_type_fc_pattern + pstructtype fc_pattern + else + if $lrecord_type == lrecord_type_fc_config + pstructtype fc_config + else + echo Unknown Lisp Object type\n + print $arg0 + ## Barf, gag, retch + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + ## Repeat after me... gdb sux, gdb sux, gdb sux... + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + ## Are we having fun yet?? + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end +end + +document pobj +Usage: pobj lisp_object +Print the internal C representation of a Lisp Object. +end + +## ------------------------------------------------------------- +## functions to test the debugging support itself. +## If you change this file, make sure the following still work... +## ------------------------------------------------------------- +define test_xtype + printf "Vemacs_major_version: " + xtype Vemacs_major_version + printf "Vhelp_char: " + xtype Vhelp_char + printf "Qnil: " + xtype Qnil + printf "Qunbound: " + xtype Qunbound + printf "Vobarray: " + xtype Vobarray + printf "Vall_weak_lists: " + xtype Vall_weak_lists + printf "Vxemacs_codename: " + xtype Vxemacs_codename +end + +define test_pobj + printf "Vemacs_major_version: " + pobj Vemacs_major_version + printf "Vhelp_char: " + pobj Vhelp_char + printf "Qnil: " + pobj Qnil + printf "Qunbound: " + pobj Qunbound + printf "Vobarray: " + pobj Vobarray + printf "Vall_weak_lists: " + pobj Vall_weak_lists + printf "Vxemacs_codename: " + pobj Vxemacs_codename +end +
--- a/src/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/src/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -16,6 +16,11 @@ 2010-02-01 Ben Wing <ben@xemacs.org> + * alloc.c (common_init_alloc_early): + Fix compiler breakage. + +2010-02-01 Ben Wing <ben@xemacs.org> + * objects-gtk-impl.h: * objects-gtk-impl.h (XCOLOR_INSTANCE_GTK_COLOR): * objects-gtk-impl.h (XFONT_INSTANCE_GTK_FONT): @@ -25,6 +30,12 @@ XFONT_INSTANCE_X_FONT, XFONT_INSTANCE_GTK_FONT for convenience purposes. Fixes compile bug in redisplay-xlike-inc.c. +2010-01-29 Ben Wing <ben@xemacs.org> + + * lisp.h: + * objects.h (set_face_boolean_attached_to): + Use lisp.h for EXFUN of Fregexp_quote, that's what it's for. + 2010-02-01 Ben Wing <ben@xemacs.org> * compiler.h: @@ -335,9 +346,787 @@ Oops, change #else to #endif here; thank you Vin Shelton, thank you Robert Delius Royar. +2010-01-28 Ben Wing <ben@xemacs.org> + + * device-x.c (x_init_device): + * emodules.c (emodules_load): + * emodules.c (emodules_doc_subr): + * emodules.c (emodules_doc_sym): + * emodules.h: + Make the externally-called functions emodules_doc_sym() and + emodules_doc_subr() take Ascbyte * pointers since they're usually + passed string constants and we can't guarantee the encoding if + it's not ASCII. Fix pointer type in calls to dll_variable(), etc. + 2010-01-27 Ben Wing <ben@xemacs.org> - * casetab.c: Typo in comment. + * lread.c (vars_of_lread): + Turn on load-ignore-out-of-date-elc-files by default. + +2010-01-27 Ben Wing <ben@xemacs.org> + + * event-unixoid.c (read_event_from_tty_or_stream_desc): + Don't try to write one byte into a four-byte variable, leaving + the rest undefined. This is a recipe for crashing. + +2010-01-27 Ben Wing <ben@xemacs.org> + + * .gdbinit.in.in: + * README: + * abbrev.c (write_abbrev): + * abbrev.c (describe_abbrev): + * alloc.c (make_extstring): + * alloc.c (build_istring): + * alloc.c (build_cistring): + * alloc.c (build_ascstring): + * alloc.c (build_extstring): + * alloc.c (build_msg_istring): + * alloc.c (build_defer_istring): + * buffer.c (Fgenerate_new_buffer_name): + * buffer.c (init_buffer_2): + * console-tty.c (tty_init_console): + * console-x.c (get_display_arg_connection): + * console-x.c (x_perhaps_init_unseen_key_defaults): + * database.c (dbm_map): + * database.c (dbm_get): + * database.c (berkdb_get): + * database.c (berkdb_map): + * device-gtk.c (FROB_PIXMAP): + * device-gtk.c (Fgtk_style_info): + * device-msw.c (msprinter_default_printer): + * device-msw.c (sync_printer_with_devmode): + * device-x.c (coding_system_of_xrm_database): + * device-x.c (x_init_device): + * device-x.c (signal_if_x_error): + * device-x.c (Fx_get_resource): + * device-x.c (Fx_server_vendor): + * device-x.c (Fx_get_font_path): + * dialog-x.c (maybe_run_dbox_text_callback): + * doc.c (extract_object_file_name): + * doc.c (unparesseuxify_doc_string): + * doc.c (get_doc_string): + * doc.c (get_object_file_name): + * doc.c (Fdocumentation): + * doc.c (Fsnarf_documentation): + * doc.c (Fsubstitute_command_keys): + * editfns.c (init_editfns): + * editfns.c (Ftemp_directory): + * editfns.c (Fuser_login_name): + * editfns.c (Fuser_real_login_name): + * editfns.c (Fuser_home_directory): + * editfns.c (Fformat_time_string): + * editfns.c (Fcurrent_time_string): + * editfns.c (Fcurrent_time_zone): + * emacs.c: + * emacs.c (main_1): + * emodules.c (Flist_modules): + * emodules.c (emodules_load): + * emodules.c (emodules_doc_sym): + * emodules.c (vars_of_module): + * event-Xt.c (x_has_keysym): + * event-gtk.c (emacs_gtk_format_magic_event): + * event-gtk.c (dragndrop_data_received): + * event-gtk.c (gtk_reset_key_mapping): + * event-msw.c (mswindows_dde_callback): + * event-msw.c (mswindows_wnd_proc): + * faces.c (complex_vars_of_faces): + * file-coding.c (find_coding_system): + * file-coding.c (setup_eol_coding_systems): + * file-coding.c (make_coding_system_1): + * file-coding.c (snarf_coding_system): + * fileio.c: + * fileio.c (lisp_strerror): + * fileio.c (Ffile_name_directory): + * fileio.c (Ffile_name_as_directory): + * fileio.c (Fdirectory_file_name): + * fileio.c (if): + * fileio.c (Ffile_symlink_p): + * fileio.c (Fencrypt_string): + * fileio.c (Fdecrypt_string): + * filelock.c (lock_file): + * filelock.c (Ffile_locked_p): + * floatfns.c (matherr): + * font-mgr.c (build_fcapi_string): + * font-mgr.c (make_xlfd_font_regexp): + * frame-msw.c (mswindows_window_id): + * frame-msw.c (mswindows_frame_property): + * frame-x.c: + * frame-x.c (color_to_string): + * frame-x.c (maybe_set_frame_title_format): + * frame-x.c (x_cde_transfer_callback): + * frame-x.c (Fx_window_id): + * glade.c (connector): + * glade.c (Fglade_xml_textdomain): + * glade.c (syms_of_glade): + * glyphs-eimage.c (jpeg_instantiate): + * glyphs-eimage.c (png_instantiate): + * glyphs-eimage.c (tiff_instantiate): + * glyphs-gtk.c (font_instantiate): + * glyphs-gtk.c (BUILD_GLYPH_INST): + * glyphs-x.c (x_locate_pixmap_file): + * glyphs-x.c (font_instantiate): + * glyphs-x.c (x_widget_property): + * glyphs-x.c (BUILD_GLYPH_INST): + * glyphs.c (print_image_instance): + * glyphs.c (bitmap_to_lisp_data): + * glyphs.c (pixmap_to_lisp_data): + * gpmevent.c (turn_off_gpm): + * gpmevent.c (Fgpm_enabled_p): + * gpmevent.c (Fgpm_enable): + * gtk-glue.c (__make_string_mapper): + * gtk-glue.c (xemacs_gtklist_to_list): + * gtk-xemacs.c (FROB_FACE): + * gtk-xemacs.c (xemacs_gtk_convert_color): + * hpplay.c (player_error_internal): + * hpplay.c (myHandler): + * insdel.c (buffer_insert_ascstring_1): + * insdel.h: + * insdel.h (buffer_insert_ascstring): + * intl.c (Fcurrent_locale): + * intl.c (Fset_current_locale): + * keymap.c (make_key_description): + * keymap.c (Ftext_char_description): + * keymap.c (describe_command): + * keymap.c (describe_map): + * lisp.h: + * lread.c: + * lread.c (locate_file_in_directory_mapper): + * lread.c (locate_file_construct_suffixed_files_mapper): + * mule-charset.c (Fmake_charset): + * nt.c (Fmswindows_short_file_name): + * nt.c (Fmswindows_long_file_name): + * objects-gtk.c (__get_gtk_font_truename): + * objects-gtk.c (__gtk_font_list_internal): + * objects-msw.c (font_enum_callback_2): + * objects-msw.c (create_hfont_from_font_spec): + * objects-msw.c (mswindows_font_list): + * objects-msw.c (mswindows_font_spec_matches_charset_stage_2): + * objects-tty.c (tty_initialize_font_instance): + * objects-x.c (x_font_truename): + * objects-x.c (x_font_instance_truename): + * objects-x.c (x_font_instance_properties): + * objects-x.c (x_font_list): + * print.c (write_cistring): + * print.c (print_vector_internal): + * print.c (print_cons): + * process-nt.c (nt_canonicalize_host_name): + * process-unix.c (unix_create_process): + * process-unix.c (unix_canonicalize_host_name): + * process.c (status_message): + * process.c (status_notify): + * process.c (init_xemacs_process): + * process.c (syms_of_process): + * redisplay-tty.c (term_get_fkeys_1): + * redisplay-tty.c (CONDITIONAL_REASSIGN): + * search.c (compile_pattern_1): + * select-common.h (selection_data_to_lisp_data): + * select-gtk.c (atom_to_symbol): + * select-gtk.c (PROCESSING_GTK_CODE): + * select-msw.c (mswindows_get_foreign_selection): + * select-x.c (x_atom_to_symbol): + * select-x.c (Fx_get_cutbuffer_internal): + * symbols.c (intern_istring): + * symbols.c (intern): + * symbols.c (intern_converting_underscores_to_dashes): + * symbols.c (Fintern): + * sysdep.c (init_system_name): + * sysdll.c (dll_error): + * sysdll.c (dll_open): + * syswindows.h: + * syswindows.h (build_tstr_string): + * tests.c (DFC_CHECK_LENGTH): + * tests.c (DFC_CHECK_CONTENT): + * tests.c (DFC_RESULT_PASS): + * tests.c (Ftest_data_format_conversion): + * text.c: + * text.c (new_dfc_convert_now_damn_it): + * text.h: + * text.h (build_wext_string): + * tooltalk.c (tt_build_c_string): + * tooltalk.c (Ftooltalk_default_procid): + * tooltalk.c (Ftooltalk_default_session): + * tooltalk.c (init_tooltalk): + * ui-byhand.c (Fgtk_clist_get_text): + * ui-byhand.c (Fgtk_clist_get_pixtext): + * ui-byhand.c (Fgtk_label_get): + * ui-byhand.c (Fgtk_notebook_query_tab_label_packing): + * ui-gtk.c (emacs_gtk_object_printer): + * ui-gtk.c (emacs_gtk_boxed_printer): + * ui-gtk.c (gtk_type_to_lisp): + * ui-gtk.c (symbol_to_enum): + * ui-gtk.c (enum_to_symbol): + * unexaix.c (report_error): + * unexaix.c (ERROR0): + * unexec.c (report_error): + * unexec.c (ERROR0): + * unicode.c (unicode_to_ichar): + * win32.c (tstr_to_local_file_format): + * win32.c (Fmswindows_cygwin_to_win32_path): + * win32.c (struct read_link_hash): + * xemacs.def.in.in: + + Rename: + + write_c_string -> write_cistring + build_intstring -> build_istring + build_string -> build_cistring + build_ext_string -> build_extstring + make_ext_string -> make_extstring + buffer_insert_c_string -> buffer_insert_ascstring + intern_int -> intern_istring + + These functions have been renamed so that the naming harmonizes + with the typedefs for strings: `cistring' along with CIbyte *, + `istring' along with Ibyte *, `extstring' along with Extbyte *, + `ascstring' along with Ascbyte *. + + Also make buffer_insert_ascstring take Ascbyte * and assert + that its argument is ASCII. + +2010-01-26 Ben Wing <ben@xemacs.org> + + * alloc.c: + * alloc.c (build_ascstring): + * alloc.c (build_msg_cistring): + * alloc.c (staticpro_1): + * alloc.c (staticpro_name): + * alloc.c (staticpro_nodump_1): + * alloc.c (staticpro_nodump_name): + * alloc.c (unstaticpro_nodump_1): + * alloc.c (mcpro_1): + * alloc.c (mcpro_name): + * alloc.c (object_memory_usage_stats): + * alloc.c (common_init_alloc_early): + * alloc.c (init_alloc_once_early): + * buffer.c (print_buffer): + * buffer.c (vars_of_buffer): + * buffer.c (common_init_complex_vars_of_buffer): + * buffer.c (init_initial_directory): + * bytecode.c (invalid_byte_code): + * bytecode.c (print_compiled_function): + * bytecode.c (mark_compiled_function): + * chartab.c (print_table_entry): + * chartab.c (print_char_table): + * config.h.in: + * console-gtk.c: + * console-gtk.c (gtk_device_to_console_connection): + * console-gtk.c (gtk_semi_canonicalize_console_connection): + * console-gtk.c (gtk_canonicalize_console_connection): + * console-gtk.c (gtk_semi_canonicalize_device_connection): + * console-gtk.c (gtk_canonicalize_device_connection): + * console-stream.c (stream_init_frame_1): + * console-stream.c (vars_of_console_stream): + * console-stream.c (init_console_stream): + * console-x.c (x_semi_canonicalize_console_connection): + * console-x.c (x_semi_canonicalize_device_connection): + * console-x.c (x_canonicalize_device_connection): + * console-x.h: + * data.c (eq_with_ebola_notice): + * data.c (Fsubr_interactive): + * data.c (Fnumber_to_string): + * data.c (digit_to_number): + * device-gtk.c (gtk_init_device): + * device-msw.c (print_devmode): + * device-x.c (x_event_name): + * dialog-msw.c (handle_directory_dialog_box): + * dialog-msw.c (handle_file_dialog_box): + * dialog-msw.c (vars_of_dialog_mswindows): + * doc.c (weird_doc): + * doc.c (Fsnarf_documentation): + * doc.c (vars_of_doc): + * dumper.c (pdump): + * dynarr.c: + * dynarr.c (Dynarr_realloc): + * editfns.c (Fuser_real_login_name): + * editfns.c (get_home_directory): + * elhash.c (print_hash_table_data): + * elhash.c (print_hash_table): + * emacs.c (main_1): + * emacs.c (vars_of_emacs): + * emodules.c: + * emodules.c (_emodules_list): + * emodules.c (Fload_module): + * emodules.c (Funload_module): + * emodules.c (Flist_modules): + * emodules.c (find_make_module): + * emodules.c (attempt_module_delete): + * emodules.c (emodules_load): + * emodules.c (emodules_doc_subr): + * emodules.c (emodules_doc_sym): + * emodules.c (syms_of_module): + * emodules.c (vars_of_module): + * emodules.h: + * eval.c (print_subr): + * eval.c (signal_call_debugger): + * eval.c (build_error_data): + * eval.c (signal_error): + * eval.c (maybe_signal_error): + * eval.c (signal_continuable_error): + * eval.c (maybe_signal_continuable_error): + * eval.c (signal_error_2): + * eval.c (maybe_signal_error_2): + * eval.c (signal_continuable_error_2): + * eval.c (maybe_signal_continuable_error_2): + * eval.c (signal_ferror): + * eval.c (maybe_signal_ferror): + * eval.c (signal_continuable_ferror): + * eval.c (maybe_signal_continuable_ferror): + * eval.c (signal_ferror_with_frob): + * eval.c (maybe_signal_ferror_with_frob): + * eval.c (signal_continuable_ferror_with_frob): + * eval.c (maybe_signal_continuable_ferror_with_frob): + * eval.c (syntax_error): + * eval.c (syntax_error_2): + * eval.c (maybe_syntax_error): + * eval.c (sferror): + * eval.c (sferror_2): + * eval.c (maybe_sferror): + * eval.c (invalid_argument): + * eval.c (invalid_argument_2): + * eval.c (maybe_invalid_argument): + * eval.c (invalid_constant): + * eval.c (invalid_constant_2): + * eval.c (maybe_invalid_constant): + * eval.c (invalid_operation): + * eval.c (invalid_operation_2): + * eval.c (maybe_invalid_operation): + * eval.c (invalid_change): + * eval.c (invalid_change_2): + * eval.c (maybe_invalid_change): + * eval.c (invalid_state): + * eval.c (invalid_state_2): + * eval.c (maybe_invalid_state): + * eval.c (wtaerror): + * eval.c (stack_overflow): + * eval.c (out_of_memory): + * eval.c (print_multiple_value): + * eval.c (issue_call_trapping_problems_warning): + * eval.c (backtrace_specials): + * eval.c (backtrace_unevalled_args): + * eval.c (Fbacktrace): + * eval.c (warn_when_safe): + * event-Xt.c (modwarn): + * event-Xt.c (modbarf): + * event-Xt.c (check_modifier): + * event-Xt.c (store_modifier): + * event-Xt.c (emacs_Xt_format_magic_event): + * event-Xt.c (describe_event): + * event-gtk.c (dragndrop_data_received): + * event-gtk.c (store_modifier): + * event-gtk.c (gtk_reset_modifier_mapping): + * event-msw.c (dde_eval_string): + * event-msw.c (Fdde_alloc_advise_item): + * event-msw.c (mswindows_dde_callback): + * event-msw.c (FROB): + * event-msw.c (emacs_mswindows_format_magic_event): + * event-stream.c (external_debugging_print_event): + * event-stream.c (execute_help_form): + * event-stream.c (vars_of_event_stream): + * events.c (print_event_1): + * events.c (print_event): + * events.c (event_equal): + * extents.c (print_extent_1): + * extents.c (print_extent): + * extents.c (vars_of_extents): + * faces.c (print_face): + * faces.c (complex_vars_of_faces): + * file-coding.c: + * file-coding.c (print_coding_system): + * file-coding.c (print_coding_system_in_print_method): + * file-coding.c (default_query_method): + * file-coding.c (find_coding_system): + * file-coding.c (make_coding_system_1): + * file-coding.c (chain_print): + * file-coding.c (undecided_print): + * file-coding.c (gzip_print): + * file-coding.c (vars_of_file_coding): + * file-coding.c (complex_vars_of_file_coding): + * fileio.c: + * fileio.c (report_file_type_error): + * fileio.c (report_error_with_errno): + * fileio.c (report_file_error): + * fileio.c (barf_or_query_if_file_exists): + * fileio.c (vars_of_fileio): + * floatfns.c (matherr): + * fns.c (print_bit_vector): + * fns.c (Fmapconcat): + * fns.c (add_suffix_to_symbol): + * fns.c (add_prefix_to_symbol): + * frame-gtk.c: + * frame-gtk.c (Fgtk_window_id): + * frame-x.c (def): + * frame-x.c (x_cde_transfer_callback): + * frame.c: + * frame.c (Fmake_frame): + * gc.c (show_gc_cursor_and_message): + * gc.c (vars_of_gc): + * glyphs-eimage.c (png_instantiate): + * glyphs-eimage.c (tiff_instantiate): + * glyphs-gtk.c (gtk_print_image_instance): + * glyphs-msw.c (mswindows_print_image_instance): + * glyphs-x.c (x_print_image_instance): + * glyphs-x.c (update_widget_face): + * glyphs.c (make_string_from_file): + * glyphs.c (print_image_instance): + * glyphs.c (signal_image_error): + * glyphs.c (signal_image_error_2): + * glyphs.c (signal_double_image_error): + * glyphs.c (signal_double_image_error_2): + * glyphs.c (xbm_mask_file_munging): + * glyphs.c (pixmap_to_lisp_data): + * glyphs.h: + * gui.c (gui_item_display_flush_left): + * hpplay.c (player_error_internal): + * hpplay.c (myHandler): + * intl-win32.c: + * intl-win32.c (langcode_to_lang): + * intl-win32.c (sublangcode_to_lang): + * intl-win32.c (Fmswindows_get_locale_info): + * intl-win32.c (lcid_to_locale_mule_or_no): + * intl-win32.c (mswindows_multibyte_to_unicode_print): + * intl-win32.c (complex_vars_of_intl_win32): + * keymap.c: + * keymap.c (print_keymap): + * keymap.c (ensure_meta_prefix_char_keymapp): + * keymap.c (Fkey_description): + * keymap.c (Ftext_char_description): + * lisp.h: + * lisp.h (struct): + * lisp.h (DECLARE_INLINE_HEADER): + * lread.c (Fload_internal): + * lread.c (locate_file): + * lread.c (read_escape): + * lread.c (read_raw_string): + * lread.c (read1): + * lread.c (read_list): + * lread.c (read_compiled_function): + * lread.c (init_lread): + * lrecord.h: + * marker.c (print_marker): + * marker.c (marker_equal): + * menubar-msw.c (displayable_menu_item): + * menubar-x.c (command_builder_operate_menu_accelerator): + * menubar.c (vars_of_menubar): + * minibuf.c (reinit_complex_vars_of_minibuf): + * minibuf.c (complex_vars_of_minibuf): + * mule-charset.c (Fmake_charset): + * mule-charset.c (complex_vars_of_mule_charset): + * mule-coding.c (iso2022_print): + * mule-coding.c (fixed_width_query): + * number.c (bignum_print): + * number.c (ratio_print): + * number.c (bigfloat_print): + * number.c (bigfloat_finalize): + * objects-msw.c: + * objects-msw.c (mswindows_color_to_string): + * objects-msw.c (mswindows_color_list): + * objects-tty.c: + * objects-tty.c (tty_font_list): + * objects-tty.c (tty_find_charset_font): + * objects-xlike-inc.c (xft_find_charset_font): + * objects-xlike-inc.c (endif): + * print.c: + * print.c (write_istring): + * print.c (write_ascstring): + * print.c (Fterpri): + * print.c (Fprint): + * print.c (print_error_message): + * print.c (print_vector_internal): + * print.c (print_cons): + * print.c (print_string): + * print.c (printing_unreadable_object): + * print.c (print_internal): + * print.c (print_float): + * print.c (print_symbol): + * process-nt.c (mswindows_report_winsock_error): + * process-nt.c (nt_canonicalize_host_name): + * process-unix.c (unix_canonicalize_host_name): + * process.c (print_process): + * process.c (report_process_error): + * process.c (report_network_error): + * process.c (make_process_internal): + * process.c (Fstart_process_internal): + * process.c (status_message): + * process.c (putenv_internal): + * process.c (vars_of_process): + * process.h: + * profile.c (vars_of_profile): + * rangetab.c (print_range_table): + * realpath.c (vars_of_realpath): + * redisplay.c (vars_of_redisplay): + * search.c (wordify): + * search.c (Freplace_match): + * sheap.c (sheap_adjust_h): + * sound.c (report_sound_error): + * sound.c (Fplay_sound_file): + * specifier.c (print_specifier): + * symbols.c (Fsubr_name): + * symbols.c (do_symval_forwarding): + * symbols.c (set_default_buffer_slot_variable): + * symbols.c (set_default_console_slot_variable): + * symbols.c (store_symval_forwarding): + * symbols.c (default_value): + * symbols.c (defsymbol_massage_name_1): + * symbols.c (defsymbol_massage_name_nodump): + * symbols.c (defsymbol_massage_name): + * symbols.c (defsymbol_massage_multiword_predicate_nodump): + * symbols.c (defsymbol_massage_multiword_predicate): + * symbols.c (defsymbol_nodump): + * symbols.c (defsymbol): + * symbols.c (defkeyword): + * symbols.c (defkeyword_massage_name): + * symbols.c (check_module_subr): + * symbols.c (deferror_1): + * symbols.c (deferror): + * symbols.c (deferror_massage_name): + * symbols.c (deferror_massage_name_and_message): + * symbols.c (defvar_magic): + * symeval.h: + * symeval.h (DEFVAR_SYMVAL_FWD): + * sysdep.c: + * sysdep.c (init_system_name): + * sysdll.c: + * sysdll.c (MAYBE_PREPEND_UNDERSCORE): + * sysdll.c (dll_function): + * sysdll.c (dll_variable): + * sysdll.c (dll_error): + * sysdll.c (dll_open): + * sysdll.c (dll_close): + * sysdll.c (image_for_address): + * sysdll.c (my_find_image): + * sysdll.c (search_linked_libs): + * sysdll.h: + * sysfile.h: + * sysfile.h (DEFAULT_DIRECTORY_FALLBACK): + * syswindows.h: + * tests.c (DFC_CHECK_LENGTH): + * tests.c (DFC_CHECK_CONTENT): + * tests.c (Ftest_hash_tables): + * text.c (vars_of_text): + * text.h: + * tooltalk.c (tt_opnum_string): + * tooltalk.c (tt_message_arg_ival_string): + * tooltalk.c (Ftooltalk_default_procid): + * tooltalk.c (Ftooltalk_default_session): + * tooltalk.c (init_tooltalk): + * tooltalk.c (vars_of_tooltalk): + * ui-gtk.c (Fdll_load): + * ui-gtk.c (type_to_marshaller_type): + * ui-gtk.c (Fgtk_import_function_internal): + * ui-gtk.c (emacs_gtk_object_printer): + * ui-gtk.c (emacs_gtk_boxed_printer): + * unicode.c (unicode_to_ichar): + * unicode.c (unicode_print): + * unicode.c (unicode_query): + * unicode.c (vars_of_unicode): + * unicode.c (complex_vars_of_unicode): + * win32.c: + * win32.c (mswindows_report_process_error): + * window.c (print_window): + * xemacs.def.in.in: + + BASIC IDEA: Further fixing up uses of char * and CIbyte * + to reflect their actual semantics; Mule-izing some code; + redoing of the not-yet-working code to handle message translation. + + Clean up code to handle message-translation (not yet working). + Create separate versions of build_msg_string() for working with + Ibyte *, CIbyte *, and Ascbyte * arguments. Assert that Ascbyte * + arguments are pure-ASCII. Make build_msg_string() be the same + as build_msg_ascstring(). Create same three versions of GETTEXT() + and DEFER_GETTEXT(). Also create build_defer_string() and + variants for the equivalent of DEFER_GETTEXT() when building a + string. Remove old CGETTEXT(). Clean up code where GETTEXT(), + DEFER_GETTEXT(), build_msg_string(), etc. was being called and + introduce some new calls to build_msg_string(), etc. Remove + GETTEXT() from calls to weird_doc() -- we assume that the + message snarfer knows about weird_doc(). Remove uses of + DEFER_GETTEXT() from error messages in sysdep.c and instead use + special comments /* @@@begin-snarf@@@ */ and /* @@@end-snarf@@@ */ + that the message snarfer presumably knows about. + + Create build_ascstring() and use it in many instances in place + of build_string(). The purpose of having Ascbyte * variants is + to make the code more self-documenting in terms of what sort of + semantics is expected for char * strings. In fact in the process + of looking for uses of build_string(), much improperly Mule-ized + was discovered. + + Mule-ize a lot of code as described in previous paragraph, + e.g. in sysdep.c. + + Make the error functions take Ascbyte * strings and fix up a + couple of places where non-pure-ASCII strings were being passed in + (file-coding.c, mule-coding.c, unicode.c). (It's debatable whether + we really need to make the error functions work this way. It + helps catch places where code is written in a way that message + translation won't work, but we may well never implement message + translation.) + + Make staticpro() and friends take Ascbyte * strings instead of + raw char * strings. Create a const_Ascbyte_ptr dynarr type + to describe what's held by staticpro_names[] and friends, + create pdump descriptions for const_Ascbyte_ptr dynarrs, and + use them in place of specially-crafted staticpro descriptions. + + Mule-ize certain other functions (e.g. x_event_name) by correcting + raw use of char * to Ascbyte *, Rawbyte * or another such type, + and raw use of char[] buffers to another type (usually Ascbyte[]). + + Change many uses of write_c_string() to write_msg_string(), + write_ascstring(), etc. + + Mule-ize emodules.c, emodules.h, sysdll.h. + + Fix some un-Mule-ized code in intl-win32.c. + + A comment in event-Xt.c and the limitations of the message + snarfer (make-msgfile or whatever) is presumably incorrect -- + it should be smart enough to handle function calls spread over + more than one line. Clean up code in event-Xt.c that was + written awkwardly for this reason. + + In config.h.in, instead of NEED_ERROR_CHECK_TYPES_INLINES, + create a more general XEMACS_DEFS_NEEDS_INLINE_DECLS to + indicate when inlined functions need to be declared in + xemacs.defs.in.in, and make use of it in xemacs.defs.in.in. + We need to do this because postgresql.c now calls qxestrdup(), + which is an inline function. + + Make nconc2() and other such functions MODULE_API and put + them in xemacs.defs.in.in since postgresql.c now uses them. + + Clean up indentation in lread.c and a few other places. + + In text.h, document ASSERT_ASCTEXT_ASCII() and + ASSERT_ASCTEXT_ASCII_LEN(), group together the stand-in + encodings and add some more for DLL symbols, function and + variable names, etc. + +2010-01-26 Ben Wing <ben@xemacs.org> + + * .gdbinit.in.in: Allow an argument to check-xemacs and check-temacs + to check a specific file. + +2010-01-24 Ben Wing <ben@xemacs.org> + + * chartab.c (decode_char_table_range): + * extents.c (extent_fragment_update): + * objects-msw.c (initialize_font_instance): + * process.c (Fgetenv): + * redisplay-output.c (get_next_display_block): + Fix warnings about possible use of uninitialized vars. + + * compiler.h: + * compiler.h (REGISTER): + * event-stream.c (is_scrollbar_event): + * window.c (window_scrollbar_width): + * window.c (window_scrollbar_height): + * window.c (window_left_window_gutter_width): + * window.c (window_right_window_gutter_width): + Add USED_IF_SCROLLBARS. Use it to fix warnings about unused + vars when --with-scrollbars=no. + + * config.h.in: + Change comment to explain better why DECLARE_INLINE_HEADER + is needed. + + * dialog-msw.c: + * emacs.c (SHEBANG_EXE_PROGNAME_LENGTH): + * emacs.c (main_1): + * event-msw.c (struct mswin_message_debug): + * event-msw.c (debug_output_mswin_message): + * font-mgr.c: + * font-mgr.c (Ffc_config_filename): + * glyphs-msw.c (struct): + * glyphs-msw.c (bitmap_table): + * glyphs-x.c (update_widget_face): + * intl-win32.c (struct lang_to_string): + * intl-win32.c (lang_to_string_table): + * nas.c: + * objects-xlike-inc.c: + * objects-xlike-inc.c (xft_find_charset_font): + * syswindows.h: + * win32.c (mswindows_output_last_error): + Fix g++ 4.3 complaints about implicit conversions of string + literals (const char *) to char *. + + * lisp.h: + G++ 4.3 needs #include <limits> to avoid errors about min/max. + + * lisp.h (disabled_assert_with_message): + Use disabled_assert* whenever asserts are disabled. Rewrite + disabled_assert* to avoid complaints about unused vars by + pretending to use the vars but casting them to (void). + Remove code that defined assert() weirdly if DEBUG_XEMACS but + not USE_ASSERTIONS -- configure sets USE_ASSERTIONS automatically + when DEBUG_XEMACS, and if the user has forced it off, then + so be it. + + * lisp.h (SYMBOL_KEYWORD): + Put some of the combined `extern Lisp_Object's back under + the file they are declared in. Cosmetic fix. + + * number.h: + Remove `extern Lisp_Object' decls that duplicate lisp.h, + since they have different C vs. C++ linkage. + +2010-01-21 Ben Wing <ben@xemacs.org> + + * Makefile.in.in: + Oops. Use two hashes for comments in Makefile.in.in. + +2010-01-20 Ben Wing <ben@xemacs.org> + + * symbols.c: + Add long comment about the types of magic symbols, and the various + declarations that go along with them. + +2010-01-20 Ben Wing <ben@xemacs.org> + + * .gdbinit.in.in: + Moved here from etc/.gdbinit.in. + Put @srcdir@ in various places rather than just `..' whenever + Makefile.in.in does so. Fixes various strange crashes and errors + than occur when using `..'. + * Makefile.in.in (config-changed): + Add target, useful when building both Unicode-internal and + old-Mule workspaces using --srcdir and don't run configure before + switching from one to the other. + +2010-01-20 Ben Wing <ben@xemacs.org> + + * lrecord.h: + * lrecord.h (enum lrecord_type): + * lrecord.h (struct lrecord_implementation): + Clean up description of finalizer methods. Clean up and expand + the long comment at the top of lrecord.h. Add a section about why + New-GC requires a bunch of new internal objects to be created (not + completely understood). + +2010-01-20 Ben Wing <ben@xemacs.org> + + * lisp.h: + Disable error-checking code in Dynarr_at and related lookup + functions. It leads to a crash in the glyph-cachels code under + Cygwin 1.7 and GCC 3.4.4. I assume this is a compiler bug since + the code in question doesn't (or shouldn't) modify anything. + Changing the code from inline to non-inline didn't help. + +2010-01-19 Ben Wing <ben@xemacs.org> + + * console-impl.h (struct console_methods): + * console-stream.c (stream_text_width): + * redisplay-msw.c (mswindows_output_string): + * redisplay-msw.c (mswindows_text_width): + * redisplay-tty.c (tty_text_width): + * redisplay-xlike-inc.c (XLIKE_text_width): + * redisplay-xlike-inc.c (XLIKE_output_string): + * redisplay.c: + * redisplay.c (redisplay_window_text_width_ichar_string): + * redisplay.c (redisplay_text_width_string): + Change the text_width method to take a window instead of a frame. + Needed for Unicode-internal. 2010-01-18 Ben Wing <ben@xemacs.org> @@ -551,6 +1340,10 @@ Declare some temporary pointer variables const to avoid compile errors under C++ and/or Visual Studio 6. +2010-01-27 Ben Wing <ben@xemacs.org> + + * casetab.c: Typo in comment. + 2010-01-24 Aidan Kehoe <kehoea@parhasard.net> * number.c (Fnumerator, Fdenominator, Fcanonicalize_number):
--- a/src/Makefile.in.in Mon Feb 01 17:57:04 2010 +0000 +++ b/src/Makefile.in.in Mon Feb 01 14:11:36 2010 -0600 @@ -3,7 +3,7 @@ ## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois ## Copyright (C) 1996, 1997 Sun Microsystems, Inc. ## Copyright (C) 1998, 1999 J. Kean Johnston. -## Copyright (C) 2001, 2002, 2003, 2005 Ben Wing. +## Copyright (C) 2001, 2002, 2003, 2005, 2010 Ben Wing. ## This file is part of XEmacs. @@ -884,6 +884,19 @@ testdir = $(SRC)/../tests/automated batch_test_emacs = $(BATCH_PACKAGES) -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir) +## `config-changed' is useful if you are building both Unicode-internal +## and old-Mule workspaces using --srcdir and don't run configure before +## switching from one to the other. If you rerun configure, update-elc.el +## notices this and automatically removes the two files below, but not +## if you just switch directories and `make'. In that case, do +## `make config-changed' to avoid an error. + +.PHONY: remove-config-dependent-elcs config-changed +remove-config-dependent-elcs: + rm $(LISP)/mule/chinese.elc $(LISP)/mule/general-late.elc +config-changed: remove-config-dependent-elcs all + + .PHONY: check check-temacs check-features check: $(DO_XEMACS) $(batch_test_emacs)
--- a/src/README Mon Feb 01 17:57:04 2010 +0000 +++ b/src/README Mon Feb 01 14:11:36 2010 -0600 @@ -61,7 +61,7 @@ eval.c for a classification of various error functions. -- Constant strings occurring in source files need to get wrapped - in a call to GETTEXT (or if inside of a call to `build_string', + in a call to GETTEXT (or if inside of a call to `build_ascstring', change that function to `build_translated_string') if they don't occur in certain places where the I18N3 message snarfer will see them. For a complete discussion of this, see the file
--- a/src/abbrev.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/abbrev.c Mon Feb 01 14:11:36 2010 -0600 @@ -424,16 +424,16 @@ if (NILP (XSYMBOL_VALUE (sym)) || ! NILP (system_flag)) return; - buffer_insert_c_string (buf, " ("); + buffer_insert_ascstring (buf, " ("); name = Fsymbol_name (sym); Fprin1 (name, stream); - buffer_insert_c_string (buf, " "); + buffer_insert_ascstring (buf, " "); Fprin1 (XSYMBOL_VALUE (sym), stream); - buffer_insert_c_string (buf, " "); + buffer_insert_ascstring (buf, " "); Fprin1 (XSYMBOL (sym)->function, stream); - buffer_insert_c_string (buf, " "); + buffer_insert_ascstring (buf, " "); Fprin1 (count, stream); - buffer_insert_c_string (buf, ")\n"); + buffer_insert_ascstring (buf, ")\n"); } static void @@ -462,7 +462,7 @@ if (!NILP (system_flag)) { - buffer_insert_c_string (buf, " (sys)"); + buffer_insert_ascstring (buf, " (sys)"); Findent_to (make_int (20), one, Qnil); } else @@ -476,7 +476,7 @@ Findent_to (make_int (45), one, Qnil); Fprin1 (XSYMBOL (sym)->function, stream); } - buffer_insert_c_string (buf, "\n"); + buffer_insert_ascstring (buf, "\n"); } static int @@ -528,28 +528,28 @@ if (!NILP (readable)) { - buffer_insert_c_string (buf, "("); + buffer_insert_ascstring (buf, "("); Fprin1 (name, stream); - buffer_insert_c_string (buf, ")\n\n"); + buffer_insert_ascstring (buf, ")\n\n"); while (! NILP (symbols)) { describe_abbrev (XCAR (symbols), stream); symbols = XCDR (symbols); } - buffer_insert_c_string (buf, "\n\n"); + buffer_insert_ascstring (buf, "\n\n"); } else { - buffer_insert_c_string (buf, "(define-abbrev-table '"); + buffer_insert_ascstring (buf, "(define-abbrev-table '"); Fprin1 (name, stream); - buffer_insert_c_string (buf, " '(\n"); + buffer_insert_ascstring (buf, " '(\n"); while (! NILP (symbols)) { write_abbrev (XCAR (symbols), stream); symbols = XCDR (symbols); } - buffer_insert_c_string (buf, " ))\n\n"); + buffer_insert_ascstring (buf, " ))\n\n"); } return Qnil;
--- a/src/alloc.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/alloc.c Mon Feb 01 14:11:36 2010 -0600 @@ -272,7 +272,7 @@ /* Unbelievably, calling free() on 0xDEADBEEF doesn't cause an \ error until much later on for many system mallocs, such as \ the one that comes with Solaris 2.3. FMH!! */ \ - assert (block != (void *) 0xDEADBEEF); \ + assert (block != (void *) DEADBEEF_CONSTANT); \ MALLOC_BEGIN (); \ } \ while (0) @@ -283,7 +283,7 @@ /* Unbelievably, calling free() on 0xDEADBEEF doesn't cause an \ error until much later on for many system mallocs, such as \ the one that comes with Solaris 2.3. FMH!! */ \ - assert (block != (void *) 0xDEADBEEF); \ + assert (block != (void *) DEADBEEF_CONSTANT); \ /* You cannot free something within dumped space, because there is \ no longer any sort of malloc structure associated with the block. \ If you are tripping this, you may need to conditionalize on \ @@ -2878,7 +2878,7 @@ /* Take some raw memory, encoded in some external data format, and convert it into a Lisp string. */ Lisp_Object -make_ext_string (const Extbyte *contents, EMACS_INT length, +make_extstring (const Extbyte *contents, EMACS_INT length, Lisp_Object coding_system) { Lisp_Object string; @@ -2889,39 +2889,93 @@ } Lisp_Object -build_intstring (const Ibyte *str) +build_istring (const Ibyte *str) { /* Some strlen's crash and burn if passed null. */ return make_string (str, (str ? qxestrlen (str) : (Bytecount) 0)); } Lisp_Object -build_string (const CIbyte *str) -{ - /* Some strlen's crash and burn if passed null. */ - return make_string ((const Ibyte *) str, (str ? strlen (str) : 0)); +build_cistring (const CIbyte *str) +{ + return build_istring ((const Ibyte *) str); +} + +Lisp_Object +build_ascstring (const Ascbyte *str) +{ + ASSERT_ASCTEXT_ASCII (str); + return build_istring ((const Ibyte *) str); } Lisp_Object -build_ext_string (const Extbyte *str, Lisp_Object coding_system) +build_extstring (const Extbyte *str, Lisp_Object coding_system) { /* Some strlen's crash and burn if passed null. */ - return make_ext_string ((const Extbyte *) str, + return make_extstring ((const Extbyte *) str, (str ? dfc_external_data_len (str, coding_system) : 0), coding_system); } +/* Build a string whose content is a translatable message, and translate + the message according to the current language environment. */ + +Lisp_Object +build_msg_istring (const Ibyte *str) +{ + return build_istring (IGETTEXT (str)); +} + +/* Build a string whose content is a translatable message, and translate + the message according to the current language environment. */ + +Lisp_Object +build_msg_cistring (const CIbyte *str) +{ + return build_msg_istring ((const Ibyte *) str); +} + +/* Build a string whose content is a translatable message, and translate + the message according to the current language environment. + String must be pure-ASCII, and when compiled with error-checking, + an abort will have if not pure-ASCII. */ + +Lisp_Object +build_msg_ascstring (const Ascbyte *str) +{ + ASSERT_ASCTEXT_ASCII (str); + return build_msg_istring ((const Ibyte *) str); +} + +/* Build a string whose content is a translatable message, but don't + translate the message immediately. Perhaps do something else instead, + such as put a property on the string indicating that it needs to be + translated. + + This is useful for strings that are built at dump time or init time, + rather than on-the-fly when the current language environment is set + properly. */ + +Lisp_Object +build_defer_istring (const Ibyte *str) +{ + Lisp_Object retval = build_istring ((Ibyte *) str); + /* Possibly do something to the return value */ + return retval; +} + Lisp_Object -build_msg_intstring (const Ibyte *str) -{ - return build_intstring (GETTEXT (str)); +build_defer_cistring (const CIbyte *str) +{ + return build_defer_istring ((Ibyte *) str); } Lisp_Object -build_msg_string (const CIbyte *str) -{ - return build_string (CGETTEXT (str)); +build_defer_ascstring (const Ascbyte *str) +{ + ASSERT_ASCTEXT_ASCII (str); + return build_defer_istring ((Ibyte *) str); } Lisp_Object @@ -3247,62 +3301,54 @@ #ifdef DEBUG_XEMACS -static const struct memory_description staticpro_one_name_description_1[] = { - { XD_ASCII_STRING, 0 }, - { XD_END } -}; - -static const struct sized_memory_description staticpro_one_name_description = { - sizeof (char *), - staticpro_one_name_description_1 -}; - -static const struct memory_description staticpro_names_description_1[] = { - XD_DYNARR_DESC (char_ptr_dynarr, &staticpro_one_name_description), - { XD_END } -}; - - -extern const struct sized_memory_description staticpro_names_description; - -const struct sized_memory_description staticpro_names_description = { - sizeof (char_ptr_dynarr), - staticpro_names_description_1 -}; - /* Help debug crashes gc-marking a staticpro'ed object. */ Lisp_Object_ptr_dynarr *staticpros; -char_ptr_dynarr *staticpro_names; +const_Ascbyte_ptr_dynarr *staticpro_names; /* Mark the Lisp_Object at non-heap VARADDRESS as a root object for garbage collection, and for dumping. */ void -staticpro_1 (Lisp_Object *varaddress, char *varname) +staticpro_1 (Lisp_Object *varaddress, const Ascbyte *varname) { Dynarr_add (staticpros, varaddress); Dynarr_add (staticpro_names, varname); dump_add_root_lisp_object (varaddress); } +/* External debugging function: Return the name of the variable at offset + COUNT. */ +const Ascbyte * +staticpro_name (int count) +{ + return Dynarr_at (staticpro_names, count); +} Lisp_Object_ptr_dynarr *staticpros_nodump; -char_ptr_dynarr *staticpro_nodump_names; +const_Ascbyte_ptr_dynarr *staticpro_nodump_names; /* Mark the Lisp_Object at heap VARADDRESS as a root object for garbage collection, but not for dumping. (See below.) */ void -staticpro_nodump_1 (Lisp_Object *varaddress, char *varname) +staticpro_nodump_1 (Lisp_Object *varaddress, const Ascbyte *varname) { Dynarr_add (staticpros_nodump, varaddress); Dynarr_add (staticpro_nodump_names, varname); } +/* External debugging function: Return the name of the variable at offset + COUNT. */ +const Ascbyte * +staticpro_nodump_name (int count) +{ + return Dynarr_at (staticpro_nodump_names, count); +} + #ifdef HAVE_SHLIB /* Stop treating the Lisp_Object at non-heap VARADDRESS as a root object for garbage collection, but not for dumping. */ void -unstaticpro_nodump_1 (Lisp_Object *varaddress, char *varname) +unstaticpro_nodump_1 (Lisp_Object *varaddress, const Ascbyte *varname) { Dynarr_delete_object (staticpros, varaddress); Dynarr_delete_object (staticpro_names, varname); @@ -3386,42 +3432,28 @@ #ifdef DEBUG_XEMACS -static const struct memory_description mcpro_one_name_description_1[] = { - { XD_ASCII_STRING, 0 }, - { XD_END } -}; - -static const struct sized_memory_description mcpro_one_name_description = { - sizeof (char *), - mcpro_one_name_description_1 -}; - -static const struct memory_description mcpro_names_description_1[] = { - XD_DYNARR_DESC (char_ptr_dynarr, &mcpro_one_name_description), - { XD_END } -}; - -extern const struct sized_memory_description mcpro_names_description; - -const struct sized_memory_description mcpro_names_description = { - sizeof (char_ptr_dynarr), - mcpro_names_description_1 -}; - /* Help debug crashes gc-marking a mcpro'ed object. */ Lisp_Object_dynarr *mcpros; -char_ptr_dynarr *mcpro_names; +const_Ascbyte_ptr_dynarr *mcpro_names; /* Mark the Lisp_Object at non-heap VARADDRESS as a root object for garbage collection, and for dumping. */ void -mcpro_1 (Lisp_Object varaddress, char *varname) +mcpro_1 (Lisp_Object varaddress, const Ascbyte *varname) { Dynarr_add (mcpros, varaddress); Dynarr_add (mcpro_names, varname); } +/* External debugging function: Return the name of the variable at offset + COUNT. */ +const Ascbyte * +mcpro_name (int count) +{ + return Dynarr_at (mcpro_names, count); +} + #else /* not DEBUG_XEMACS */ Lisp_Object_dynarr *mcpros; @@ -4453,8 +4485,8 @@ { if (lrecord_stats[i].instances_in_use != 0) { - char buf [255]; - const char *name = lrecord_implementations_table[i]->name; + Ascbyte buf[255]; + const Ascbyte *name = lrecord_implementations_table[i]->name; int len = strlen (name); if (lrecord_stats[i].bytes_in_use_including_overhead != @@ -4497,8 +4529,8 @@ || lcrecord_stats[i].bytes_freed != 0 || lcrecord_stats[i].instances_on_free_list != 0) { - char buf [255]; - const char *name = lrecord_implementations_table[i]->name; + Ascbyte buf[255]; + const Ascbyte *name = lrecord_implementations_table[i]->name; int len = strlen (name); sprintf (buf, "%s-storage", name); @@ -4940,7 +4972,8 @@ #ifdef DEBUG_XEMACS if (staticpro_nodump_names) Dynarr_free (staticpro_nodump_names); - staticpro_nodump_names = Dynarr_new2 (char_ptr_dynarr, char *); + staticpro_nodump_names = Dynarr_new2 (const_Ascbyte_ptr_dynarr, + const Ascbyte *); Dynarr_resize (staticpro_nodump_names, 100); /* ditto */ #endif @@ -4949,9 +4982,10 @@ Dynarr_resize (mcpros, 1410); /* merely a small optimization */ dump_add_root_block_ptr (&mcpros, &mcpros_description); #ifdef DEBUG_XEMACS - mcpro_names = Dynarr_new2 (char_ptr_dynarr, char *); + mcpro_names = Dynarr_new2 (const_Ascbyte_ptr_dynarr, const Ascbyte *); Dynarr_resize (mcpro_names, 1410); /* merely a small optimization */ - dump_add_root_block_ptr (&mcpro_names, &mcpro_names_description); + dump_add_root_block_ptr (&mcpro_names, + &const_Ascbyte_ptr_dynarr_description); #endif #endif /* NEW_GC */ @@ -5044,9 +5078,10 @@ Dynarr_resize (staticpros, 1410); /* merely a small optimization */ dump_add_root_block_ptr (&staticpros, &staticpros_description); #ifdef DEBUG_XEMACS - staticpro_names = Dynarr_new2 (char_ptr_dynarr, char *); + staticpro_names = Dynarr_new2 (const_Ascbyte_ptr_dynarr, const Ascbyte *); Dynarr_resize (staticpro_names, 1410); /* merely a small optimization */ - dump_add_root_block_ptr (&staticpro_names, &staticpro_names_description); + dump_add_root_block_ptr (&staticpro_names, + &const_Ascbyte_ptr_dynarr_description); #endif #ifdef NEW_GC @@ -5054,9 +5089,10 @@ Dynarr_resize (mcpros, 1410); /* merely a small optimization */ dump_add_root_block_ptr (&mcpros, &mcpros_description); #ifdef DEBUG_XEMACS - mcpro_names = Dynarr_new2 (char_ptr_dynarr, char *); + mcpro_names = Dynarr_new2 (const_Ascbyte_ptr_dynarr, const Ascbyte *); Dynarr_resize (mcpro_names, 1410); /* merely a small optimization */ - dump_add_root_block_ptr (&mcpro_names, &mcpro_names_description); + dump_add_root_block_ptr (&mcpro_names, + &const_Ascbyte_ptr_dynarr_description); #endif #else /* not NEW_GC */ init_lcrecord_lists ();
--- a/src/buffer.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/buffer.c Mon Feb 01 14:11:36 2010 -0600 @@ -309,7 +309,7 @@ printing_unreadable_object ("#<buffer %s>", XSTRING_DATA (b->name)); } else if (!BUFFER_LIVE_P (b)) - write_c_string (printcharfun, "#<killed buffer>"); + write_ascstring (printcharfun, "#<killed buffer>"); else if (escapeflag) write_fmt_string_lisp (printcharfun, "#<buffer %S>", 1, b->name); else @@ -788,7 +788,7 @@ while (1) { qxesprintf (number, "<%d>", ++count); - gentemp = concat2 (name, build_intstring (number)); + gentemp = concat2 (name, build_istring (number)); if (!NILP (ignore)) { tem = Fstring_equal (gentemp, ignore); @@ -1998,8 +1998,8 @@ staticpro (&QSFundamental); staticpro (&QSscratch); - QSFundamental = build_string ("Fundamental"); - QSscratch = build_string (DEFER_GETTEXT ("*scratch*")); + QSFundamental = build_ascstring ("Fundamental"); + QSscratch = build_ascstring ("*scratch*"); DEFVAR_LISP ("change-major-mode-hook", &Vchange_major_mode_hook /* List of hooks to be run before killing local variables in a buffer. @@ -2258,7 +2258,7 @@ defs->syntax_table = Vstandard_syntax_table; defs->mirror_syntax_table = XCHAR_TABLE (Vstandard_syntax_table)->mirror_table; - defs->modeline_format = build_string ("%-"); /* reset in loaddefs.el */ + defs->modeline_format = build_ascstring ("%-"); /* reset in loaddefs.el */ defs->case_fold_search = Qt; defs->selective_display_ellipses = Qt; defs->tab_width = make_int (8); @@ -2935,7 +2935,7 @@ stderr_out ("`getcwd' failed: %s: changing default directory to %s\n", errmess, DEFAULT_DIRECTORY_FALLBACK); - if (qxe_chdir ((Ibyte *)DEFAULT_DIRECTORY_FALLBACK) < 0) + if (qxe_chdir ((Ibyte *) DEFAULT_DIRECTORY_FALLBACK) < 0) { GET_STRERROR (errmess, errno); @@ -2999,7 +2999,7 @@ /* This function can GC */ Fset_buffer (Fget_buffer (QSscratch)); - current_buffer->directory = build_intstring (initial_directory); + current_buffer->directory = build_istring (initial_directory); #if 0 /* FSFmacs */ /* #### is this correct? */
--- a/src/bytecode.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/bytecode.c Mon Feb 01 14:11:36 2010 -0600 @@ -1746,7 +1746,7 @@ DOESNT_RETURN -invalid_byte_code (const CIbyte *reason, Lisp_Object frob) +invalid_byte_code (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_byte_code, reason, frob); } @@ -2218,7 +2218,7 @@ struct gcpro gcpro1, gcpro2; GCPRO2 (obj, printcharfun); - write_c_string (printcharfun, print_readably ? "#[" : "#<compiled-function "); + write_ascstring (printcharfun, print_readably ? "#[" : "#<compiled-function "); #ifdef COMPILED_FUNCTION_ANNOTATION_HACK if (!print_readably) { @@ -2231,7 +2231,7 @@ print_internal (compiled_function_arglist (f), printcharfun, escapeflag); /* COMPILED_INSTRUCTIONS = 1 */ - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); { struct gcpro ngcpro1; Lisp_Object instructions = compiled_function_instructions (f); @@ -2248,7 +2248,7 @@ } /* COMPILED_CONSTANTS = 2 */ - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); print_internal (compiled_function_constants (f), printcharfun, escapeflag); /* COMPILED_STACK_DEPTH = 3 */ @@ -2257,7 +2257,7 @@ /* COMPILED_DOC_STRING = 4 */ if (docp || intp) { - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); print_internal (compiled_function_documentation (f), printcharfun, escapeflag); } @@ -2265,13 +2265,13 @@ /* COMPILED_INTERACTIVE = 5 */ if (intp) { - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); print_internal (compiled_function_interactive (f), printcharfun, escapeflag); } UNGCPRO; - write_c_string (printcharfun, print_readably ? "]" : ">"); + write_ascstring (printcharfun, print_readably ? "]" : ">"); }
--- a/src/chartab.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/chartab.c Mon Feb 01 14:11:36 2010 -0600 @@ -228,6 +228,7 @@ static void decode_char_table_range (Lisp_Object range, struct chartab_range *outrange) { + xzero (*outrange); if (EQ (range, Qt)) outrange->type = CHARTAB_RANGE_ALL; else if (CHAR_OR_CHAR_INTP (range)) @@ -315,7 +316,7 @@ struct gcpro gcpro1; Lisp_Object lisprange; if (!a->first) - write_c_string (a->printcharfun, " "); + write_ascstring (a->printcharfun, " "); a->first = 0; lisprange = encode_char_table_range (range); GCPRO1 (lisprange); @@ -339,7 +340,7 @@ write_fmt_string_lisp (printcharfun, "#s(char-table type %s data (", 1, char_table_type_to_symbol (ct->type)); map_char_table (obj, &range, print_table_entry, &arg); - write_c_string (printcharfun, "))"); + write_ascstring (printcharfun, "))"); /* #### need to print and read the default; but that will allow the default to be modified, which we don't (yet) support -- but FSF does */
--- a/src/compiler.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/compiler.h Mon Feb 01 14:11:36 2010 -0600 @@ -243,6 +243,11 @@ # else # define USED_IF_XFT(decl) UNUSED (decl) # endif +# ifdef HAVE_SCROLLBARS +# define USED_IF_SCROLLBARS(decl) decl +# else +# define USED_IF_SCROLLBARS(decl) UNUSED (decl) +# endif #endif /* UNUSED */ /* Declaration that variable or expression X is "used" to defeat
--- a/src/config.h.in Mon Feb 01 17:57:04 2010 +0000 +++ b/src/config.h.in Mon Feb 01 14:11:36 2010 -0600 @@ -1092,7 +1092,8 @@ /* Use DECLARE_INLINE_HEADER() to declare an inline function in a header file, like this: (This avoids the need to write a prototype directly - followed by the function header itself.) + followed by the function header itself, in order to avoid a + "no prototype" warning from GCC.) DECLARE_INLINE_HEADER (int foo (int x)) { @@ -1175,9 +1176,9 @@ aren't using the C++ preprocessor when processing xemacs.def.in.in even if we're using a C++ compiler. I suspect we only need this at all GCC is being used. */ -#if defined (ERROR_CHECK_TYPES) && !defined (USE_GPLUSPLUS) +#if !defined (USE_GPLUSPLUS) /* #if !defined (INLINE_HEADERS_ARE_STATIC) */ -#define NEED_ERROR_CHECK_TYPES_INLINES +#define XEMACS_DEFS_NEEDS_INLINE_DECLS #endif #endif /* _SRC_CONFIG_H_ */
--- a/src/console-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -60,7 +60,7 @@ return Qnil; else { - connection = build_string ("gtk"); + connection = build_ascstring ("gtk"); } return connection; } @@ -73,7 +73,7 @@ GCPRO1 (connection); - connection = build_string ("gtk"); + connection = build_ascstring ("gtk"); RETURN_UNGCPRO (connection); } @@ -87,7 +87,7 @@ GCPRO2 (connection, hostname); - connection = build_string ("gtk"); + connection = build_ascstring ("gtk"); RETURN_UNGCPRO (connection); } @@ -100,7 +100,7 @@ GCPRO1 (connection); - connection = build_string("gtk"); + connection = build_ascstring("gtk"); RETURN_UNGCPRO (connection); } @@ -112,7 +112,7 @@ struct gcpro gcpro1; GCPRO1 (connection); - connection = build_string("gtk"); + connection = build_ascstring("gtk"); RETURN_UNGCPRO (connection); }
--- a/src/console-impl.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-impl.h Mon Feb 01 14:11:36 2010 -0600 @@ -145,7 +145,7 @@ /* redisplay methods */ int (*left_margin_width_method) (struct window *); int (*right_margin_width_method) (struct window *); - int (*text_width_method) (struct frame *f, struct face_cachel *cachel, + int (*text_width_method) (struct window *w, struct face_cachel *cachel, const Ichar *str, Charcount len); void (*output_display_block_method) (struct window *, struct display_line *, int, int, int, int, int, int, int);
--- a/src/console-stream.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-stream.c Mon Feb 01 14:11:36 2010 -0600 @@ -194,7 +194,7 @@ invalid_operation ("Only one frame allowed on stream devices", Qunbound); #endif if (frame_name_is_defaulted) - f->name = build_string ("stream"); + f->name = build_ascstring ("stream"); f->height = 80; f->width = 24; f->visible = 0; /* so redisplay doesn't try to do anything */ @@ -202,7 +202,7 @@ static int -stream_text_width (struct frame *UNUSED (f), +stream_text_width (struct window *UNUSED (w), struct face_cachel *UNUSED (cachel), const Ichar *UNUSED (str), Charcount len) { @@ -374,7 +374,7 @@ Vterminal_frame = Qnil; /* Moved from console-tty.c */ - Vstdio_str = build_string ("stdio"); + Vstdio_str = build_ascstring ("stdio"); staticpro (&Vstdio_str); }
--- a/src/console-tty.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-tty.c Mon Feb 01 14:11:36 2010 -0600 @@ -114,7 +114,7 @@ invalid_state ("Cannot determine terminal type", Qunbound); } else - terminal_type = build_intstring (temp_type); + terminal_type = build_istring (temp_type); } /* Determine the controlling process */
--- a/src/console-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -162,12 +162,12 @@ /* assert: display_arg is only set if we found the display arg earlier so we can't fail to find it now. */ assert (disp_name != NULL); - conn = build_ext_string (disp_name, Qcommand_argument_encoding); + conn = build_extstring (disp_name, Qcommand_argument_encoding); free_argc_argv (argv); return conn; } else - return build_ext_string (XDisplayName (0), Qx_display_name_encoding); + return build_extstring (XDisplayName (0), Qx_display_name_encoding); } /* "semi-canonicalize" means convert to a nicer form for printing, but @@ -202,7 +202,7 @@ /* Check for a couple of standard special cases */ if (string_ichar (connection, 0) == ':') - connection = concat2 (build_string ("localhost"), connection); + connection = concat2 (build_ascstring ("localhost"), connection); else { /* connection =~ s/^unix:/localhost:/; */ @@ -217,7 +217,7 @@ INC_IBYTEPTR (p); } - connection = concat2 (build_string ("localhost:"), + connection = concat2 (build_ascstring ("localhost:"), make_string (p, end - p)); } ok: @@ -277,7 +277,7 @@ &screen_length); if (!screen_length) - connection = concat2 (connection, build_string (".0")); + connection = concat2 (connection, build_ascstring (".0")); RETURN_UNGCPRO (connection); } @@ -335,7 +335,7 @@ CHECK_CHAR(key); buf[set_itext_ichar(buf, XCHAR(key))] = '\0'; - key_name = build_intstring (buf); + key_name = build_istring (buf); /* We need to do the lookup and compare later, because we can't check the Qcharacter_of_keysym property belonging to an actual character. */
--- a/src/console-x.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/console-x.h Mon Feb 01 14:11:36 2010 -0600 @@ -104,7 +104,7 @@ void x_wm_set_cell_size (Widget wmshell, int cw, int ch); void x_wm_set_variable_size (Widget wmshell, int width, int height); -const char *x_event_name (int event_type); +const Ascbyte *x_event_name (int event_type); int check_if_pending_expose_event (struct device *d); int x_error_handler (Display *disp, XErrorEvent *event); void expect_x_error (Display *dpy);
--- a/src/data.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/data.c Mon Feb 01 14:11:36 2010 -0600 @@ -81,13 +81,13 @@ { /* #### It would be really nice if this were a proper warning instead of brain-dead print to Qexternal_debugging_output. */ - write_c_string + write_msg_string (Qexternal_debugging_output, "Comparison between integer and character is constant nil ("); Fprinc (obj1, Qexternal_debugging_output); - write_c_string (Qexternal_debugging_output, " and "); + write_msg_string (Qexternal_debugging_output, " and "); Fprinc (obj2, Qexternal_debugging_output); - write_c_string (Qexternal_debugging_output, ")\n"); + write_msg_string (Qexternal_debugging_output, ")\n"); debug_short_backtrace (debug_ebola_backtrace_length); } return EQ (obj1, obj2); @@ -365,7 +365,7 @@ const CIbyte *prompt; CHECK_SUBR (subr); prompt = XSUBR (subr)->prompt; - return prompt ? list2 (Qinteractive, build_msg_string (prompt)) : Qnil; + return prompt ? list2 (Qinteractive, build_msg_cistring (prompt)) : Qnil; } @@ -1224,44 +1224,44 @@ if (FLOATP (number)) { - char pigbuf[350]; /* see comments in float_to_string */ + Ascbyte pigbuf[350]; /* see comments in float_to_string */ float_to_string (pigbuf, XFLOAT_DATA (number)); - return build_string (pigbuf); + return build_ascstring (pigbuf); } #ifdef HAVE_BIGNUM if (BIGNUMP (number)) { - char *str = bignum_to_string (XBIGNUM_DATA (number), 10); - Lisp_Object retval = build_string (str); - xfree (str, char *); + Ascbyte *str = bignum_to_string (XBIGNUM_DATA (number), 10); + Lisp_Object retval = build_ascstring (str); + xfree (str, Ascbyte *); return retval; } #endif #ifdef HAVE_RATIO if (RATIOP (number)) { - char *str = ratio_to_string (XRATIO_DATA (number), 10); - Lisp_Object retval = build_string (str); - xfree (str, char *); + Ascbyte *str = ratio_to_string (XRATIO_DATA (number), 10); + Lisp_Object retval = build_ascstring (str); + xfree (str, Ascbyte *); return retval; } #endif #ifdef HAVE_BIGFLOAT if (BIGFLOATP (number)) { - char *str = bigfloat_to_string (XBIGFLOAT_DATA (number), 10); - Lisp_Object retval = build_string (str); - xfree (str, char *); + Ascbyte *str = bigfloat_to_string (XBIGFLOAT_DATA (number), 10); + Lisp_Object retval = build_ascstring (str); + xfree (str, Ascbyte *); return retval; } #endif { - char buffer[DECIMAL_PRINT_SIZE (long)]; + Ascbyte buffer[DECIMAL_PRINT_SIZE (long)]; long_to_string (buffer, XINT (number)); - return build_string (buffer); + return build_ascstring (buffer); } }
--- a/src/database.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/database.c Mon Feb 01 14:11:36 2010 -0600 @@ -327,9 +327,9 @@ keydatum = dbm_nextkey (db->dbm_handle)) { valdatum = dbm_fetch (db->dbm_handle, keydatum); - key = make_ext_string ((Extbyte *) keydatum.dptr, keydatum.dsize, + key = make_extstring ((Extbyte *) keydatum.dptr, keydatum.dsize, db->coding_system); - val = make_ext_string ((Extbyte *) valdatum.dptr, valdatum.dsize, + val = make_extstring ((Extbyte *) valdatum.dptr, valdatum.dsize, db->coding_system); call2 (func, key, val); } @@ -346,7 +346,7 @@ valdatum = dbm_fetch (db->dbm_handle, keydatum); return (valdatum.dptr - ? make_ext_string ((Extbyte *) valdatum.dptr, valdatum.dsize, + ? make_extstring ((Extbyte *) valdatum.dptr, valdatum.dsize, db->coding_system) : Qnil); } @@ -473,7 +473,7 @@ #endif /* DB_VERSION_MAJOR */ if (!status) - return make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, + return make_extstring ((const Extbyte *) valdatum.data, valdatum.size, db->coding_system); #if DB_VERSION_MAJOR == 1 @@ -564,9 +564,9 @@ status == 0; status = dbp->seq (dbp, &keydatum, &valdatum, R_NEXT)) { - key = make_ext_string ((const Extbyte *) keydatum.data, keydatum.size, + key = make_extstring ((const Extbyte *) keydatum.data, keydatum.size, db->coding_system); - val = make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, + val = make_extstring ((const Extbyte *) valdatum.data, valdatum.size, db->coding_system); call2 (func, key, val); } @@ -583,9 +583,9 @@ status == 0; status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_NEXT)) { - key = make_ext_string ((const Extbyte *) keydatum.data, keydatum.size, + key = make_extstring ((const Extbyte *) keydatum.data, keydatum.size, db->coding_system); - val = make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, + val = make_extstring ((const Extbyte *) valdatum.data, valdatum.size, db->coding_system); call2 (func, key, val); }
--- a/src/depend Mon Feb 01 17:57:04 2010 +0000 +++ b/src/depend Mon Feb 01 14:11:36 2010 -0600 @@ -15,18 +15,18 @@ #endif #if defined(HAVE_MS_WINDOWS) -console-msw.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h -device-msw.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console-stream.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-msw.h objects.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h systime.h syswindows.h text.h vdb.h +console-msw.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h +device-msw.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console-stream.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-msw.h objects.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h systime.h syswindows.h text.h vdb.h dialog-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h dired-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console-msw.h console.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h regex.h symeval.h symsinit.h syntax.h sysdir.h sysfile.h sysfloat.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h -event-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console-stream-impl.h console-stream.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h syswait.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -frame-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +event-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console-stream-impl.h console-stream.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h syswait.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +frame-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h glyphs-msw.o: $(CONFIG_H) $(LISP_H) charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device-impl.h device.h devslots.h dumper.h elhash.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -gui-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -menubar-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +gui-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +menubar-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h objects-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device-impl.h device.h devslots.h dumper.h elhash.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h opaque.h specifier.h symeval.h symsinit.h syswindows.h text.h vdb.h -redisplay-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h debug.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h gutter.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -scrollbar-msw.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +redisplay-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h debug.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h gutter.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +scrollbar-msw.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device.h dumper.h elhash.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h select-msw.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select.h specifier.h symeval.h symsinit.h syswindows.h text.h vdb.h toolbar-msw.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h device.h dumper.h elhash.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-msw.h glyphs.h gui.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syswindows.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h #endif @@ -43,13 +43,13 @@ balloon-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h balloon_help.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h balloon_help.o: $(CONFIG_H) balloon_help.h compiler.h xintrinsic.h console-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h -device-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h -dialog-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h xintrinsic.h -frame-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h +device-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h +dialog-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h xintrinsic.h +frame-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gutter.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h glyphs-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h opaque.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h -gui-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h glyphs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h +gui-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h glyphs.h gui.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h intl-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h compiler.h console-x.h console.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h xintrinsic.h -menubar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h +menubar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h objects-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h device-impl.h device.h devslots.h dumper.h elhash.h font-mgr.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h redisplay-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h scrollbar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h @@ -59,35 +59,35 @@ #endif #if defined(HAVE_TTY) console-tty.o: $(CONFIG_H) $(LISP_H) charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h dumper.h elhash.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systty.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -device-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h -event-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h syswait.h text.h vdb.h -frame-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h systime.h systty.h text.h vdb.h +device-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h +event-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h syswait.h text.h vdb.h +frame-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h systime.h systty.h text.h vdb.h objects-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h specifier.h symeval.h symsinit.h systty.h text.h vdb.h -redisplay-tty.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h +redisplay-tty.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h #endif #if defined(HAVE_GTK) console-gtk.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h -device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -dialog-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h events.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h window.h +device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +dialog-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h events.h frame.h gc.h general-slots.h gui.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h window.h emacs-marshals.o: hash.h emacs-widget-accessors.o: -event-gtk.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-tty.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gtk-xemacs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgdkx.h sysgtk.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window.h -frame-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgdkx.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h +event-gtk.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-tty.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gtk-xemacs.h gui.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgdkx.h sysgtk.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window.h +frame-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgdkx.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h gccache-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h gccache-gtk.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysgtk.h text.h vdb.h glade.o: bytecode.h -glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h +glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h gtk-glue.o: console-gtk.h console.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h specifier.h sysgtk.h gtk-xemacs.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h gui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h -menubar-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h +menubar-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h native-gtk-toolbar.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h console-gtk.h console.h dumper.h faces.h frame.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h objects-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h device-impl.h device.h devslots.h dumper.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgdkx.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h -redisplay-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h +redisplay-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgdkx.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h scrollbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h -select-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h +select-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h toolbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h toolbar-common.h vdb.h ui-byhand.o: gui.h -ui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device.h dumper.h elhash.h emacs-marshals.c emacs-widget-accessors.c events.h faces.h gc.h general-slots.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-byhand.c ui-gtk.h vdb.h window-impl.h window.h winslots.h +ui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device.h dumper.h elhash.h emacs-marshals.c emacs-widget-accessors.c events.h faces.h gc.h general-slots.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui.h hash.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-byhand.c ui-gtk.h vdb.h window-impl.h window.h winslots.h #endif #if defined(HAVE_DATABASE) database.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h database.h dumper.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h @@ -106,56 +106,56 @@ extw-Xt.o: $(CONFIG_H) compiler.h extw-Xlib.h extw-Xt.h #endif abbrev.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h syntax.h text.h vdb.h window.h -alloc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +alloc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h alloca.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h alsaplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h blocktype.o: $(CONFIG_H) $(LISP_H) blocktype.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h buffer.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h select.h specifier.h symeval.h symsinit.h syntax.h sysdir.h sysfile.h syswindows.h text.h vdb.h window.h bytecode.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h symeval.h symsinit.h syntax.h text.h vdb.h window.h -callint.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h events.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h +callint.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h events.h gc.h general-slots.h insdel.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h casefiddle.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h casetab.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h chartab.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h cm.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h systty.h text.h vdb.h -cmdloop.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-msw.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window.h +cmdloop.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-msw.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window.h cmds.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h extents.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h -console-stream.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h systty.h syswindows.h text.h vdb.h window.h -console.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h systime.h systty.h text.h vdb.h window.h +console-stream.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h systty.h syswindows.h text.h vdb.h window.h +console.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h systime.h systty.h text.h vdb.h window.h data.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfloat.h syssignal.h text.h vdb.h debug.o: $(CONFIG_H) $(LISP_H) bytecode.h compiler.h debug.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -device.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h text.h toolbar.h vdb.h window.h +device.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h text.h toolbar.h vdb.h window.h dialog.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h dired.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h elhash.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h regex.h symeval.h symsinit.h syntax.h sysdep.h sysdir.h sysfile.h syspwd.h systime.h syswindows.h text.h vdb.h -doc.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h +doc.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h doprnt.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dragdrop.o: $(CONFIG_H) $(LISP_H) compiler.h dragdrop.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dump-data.o: $(CONFIG_H) $(LISP_H) compiler.h dump-data.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dumper.o: $(CONFIG_H) $(LISP_H) coding-system-slots.h compiler.h console-stream.h console.h dump-data.h dumper.h elhash.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h dynarr.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h ecrt0.o: $(CONFIG_H) -editfns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window.h +editfns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap-buttons.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window.h elhash.o: $(CONFIG_H) $(LISP_H) bytecode.h compiler.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h emacs.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console-msw.h console.h dump-data.h dumper.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h paths.h process.h redisplay.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h emodules.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h emodules.h file-coding.h frame.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdll.h text.h vdb.h window.h esd.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h eval.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window.h -event-Xt.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h Emacs.ad.h EmacsFrame.h blocktype.h charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-tty.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h -event-stream.o: $(CONFIG_H) $(LISP_H) backtrace.h blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h insdel.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h macros.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -event-unixoid.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h -events.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h extents.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h systty.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h -extents.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h debug.h device.h dumper.h elhash.h extents-impl.h extents.h faces.h frame.h gc.h general-slots.h glyphs.h gutter.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h +event-Xt.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h Emacs.ad.h EmacsFrame.h blocktype.h charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-tty.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h +event-stream.o: $(CONFIG_H) $(LISP_H) backtrace.h blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h insdel.h intl-auto-encap-win32.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h macros.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +event-unixoid.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h +events.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h extents.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h systty.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h +extents.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h debug.h device.h dumper.h elhash.h extents-impl.h extents.h faces.h frame.h gc.h general-slots.h glyphs.h gutter.h insdel.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h faces.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h extents-impl.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h file-coding.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h extents.h file-coding.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h symeval.h symsinit.h text.h vdb.h -fileio.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +fileio.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h filelock.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h paths.h symeval.h symsinit.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h filemode.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h floatfns.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfloat.h syssignal.h text.h vdb.h -fns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h events.h extents.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h redisplay.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h +fns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h events.h extents.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h redisplay.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h font-lock.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h font-mgr.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h font-mgr.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h -frame.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h +frame.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h free-hook.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -gc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +gc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h general.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h getloadavg.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h glyphs-eimage.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h @@ -163,22 +163,22 @@ glyphs-widget.o: $(CONFIG_H) $(LISP_H) bytecode.h charset.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame.h gc.h general-slots.h glyphs.h gui.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h glyphs.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h gmalloc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysdep.h text.h vdb.h -gpmevent.o: $(CONFIG_H) $(LISP_H) commands.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h gpmevent.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h +gpmevent.o: $(CONFIG_H) $(LISP_H) commands.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h gpmevent.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h gui.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h elhash.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h redisplay.h symeval.h symsinit.h text.h vdb.h gutter.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h hash.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h hpplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h text.h vdb.h imgproc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h imgproc.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h indent.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h extents.h faces.h frame.h gc.h general-slots.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h -inline.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk.h console-impl.h console-msw.h console.h database.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h font-mgr.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syntax.h sysdll.h sysfile.h sysgtk.h systime.h syswindows.h text.h toolbar.h tooltalk.h ui-gtk.h vdb.h window-impl.h window.h winslots.h xintrinsic.h +inline.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk.h console-impl.h console-msw.h console.h database.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h font-mgr.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h intl-auto-encap-win32.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syntax.h sysdll.h sysfile.h sysgtk.h systime.h syswindows.h text.h toolbar.h tooltalk.h ui-gtk.h vdb.h window-impl.h window.h winslots.h xintrinsic.h input-method-motif.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h xmotif.h -input-method-xlib.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h +input-method-xlib.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h insdel.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h extents.h frame.h gc.h general-slots.h insdel.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h symeval.h symsinit.h text.h vdb.h intl-auto-encap-win32.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syswindows.h text.h vdb.h intl-encap-win32.o: $(CONFIG_H) $(LISP_H) compiler.h console-msw.h console.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syswindows.h text.h vdb.h intl-win32.o: $(CONFIG_H) $(LISP_H) charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-msw-impl.h console-msw.h console.h dumper.h elhash.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-msw-impl.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h intl.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -keymap.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h dumper.h elhash.h events.h extents.h frame.h gc.h general-slots.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h +keymap.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h dumper.h elhash.h events.h extents.h frame.h gc.h general-slots.h insdel.h keymap-buttons.h keymap-slots.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h lastfile.o: $(CONFIG_H) libinterface.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h libinterface.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h libsst.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h libsst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h @@ -186,12 +186,12 @@ linuxplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h systty.h syswindows.h text.h vdb.h lread.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h profile.h symeval.h symsinit.h sysfile.h sysfloat.h syswindows.h text.h vdb.h lstream.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h -macros.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h macros.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h +macros.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h macros.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h marker.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h mc-alloc.o: $(CONFIG_H) $(LISP_H) blocktype.h compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h md5.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -menubar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h -minibuf.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-stream.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h +menubar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap-buttons.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h +minibuf.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-stream.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h insdel.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h miscplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h syswindows.h text.h vdb.h nas.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysdep.h syssignal.h text.h vdb.h nt.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h symeval.h symsinit.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h @@ -203,22 +203,22 @@ objects.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h elhash.h faces.h frame.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systty.h text.h vdb.h window-impl.h window.h winslots.h opaque.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h print.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h extents.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h sysfile.h systty.h syswindows.h text.h vdb.h -process-nt.o: $(CONFIG_H) $(LISP_H) compiler.h console-msw.h console.h dumper.h events.h gc.h general-slots.h hash.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process-slots.h process.h procimpl.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h -process-unix.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h -process.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h +process-nt.o: $(CONFIG_H) $(LISP_H) compiler.h console-msw.h console.h dumper.h events.h gc.h general-slots.h hash.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process-slots.h process.h procimpl.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h +process-unix.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h +process.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h insdel.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h profile.o: $(CONFIG_H) $(LISP_H) backtrace.h bytecode.h compiler.h dumper.h elhash.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h profile.h symeval.h symsinit.h syssignal.h systime.h text.h vdb.h ralloc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h rangetab.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h rangetab.h symeval.h symsinit.h text.h vdb.h realpath.o: $(CONFIG_H) $(LISP_H) backtrace.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h profile.h symeval.h symsinit.h sysdir.h sysfile.h syswindows.h text.h vdb.h redisplay-output.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h -redisplay.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console-tty.h console.h debug.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h insdel.h intl-auto-encap-win32.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h systime.h systty.h syswindows.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h +redisplay.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console-tty.h console.h debug.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h insdel.h intl-auto-encap-win32.h keymap-buttons.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h systime.h systty.h syswindows.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h regex.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h regex.h symeval.h symsinit.h syntax.h text.h vdb.h scrollbar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h search.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h regex.h symeval.h symsinit.h syntax.h text.h vdb.h select.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h extents.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h opaque.h redisplay.h select.h specifier.h symeval.h symsinit.h text.h vdb.h sgiplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h libst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h sheap.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sheap-adjust.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h -signal.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h +signal.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h sound.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h sound.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h xintrinsic.h specifier.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h strcat.o: $(CONFIG_H) @@ -227,7 +227,7 @@ sunpro.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h symbols.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h text.h vdb.h syntax.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h extents.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h -sysdep.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h +sysdep.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h intl-auto-encap-win32.h keymap-buttons.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h sysdll.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysdll.h sysfile.h syswindows.h text.h vdb.h termcap.o: $(CONFIG_H) $(LISP_H) compiler.h console.h device.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h terminfo.o: $(CONFIG_H)
--- a/src/device-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/device-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -236,7 +236,7 @@ /* Attempt to load a site-specific gtkrc */ { - Lisp_Object gtkrc = Fexpand_file_name (build_string ("gtkrc"), Vdata_directory); + Lisp_Object gtkrc = Fexpand_file_name (build_ascstring ("gtkrc"), Vdata_directory); gchar **default_files = gtk_rc_get_default_files (); gint num_files; @@ -666,7 +666,7 @@ result = nconc2 (result, list2 (Qfont, convert_font (style->font))); -#define FROB_PIXMAP(state) (style->rc_style->bg_pixmap_name[state] ? build_string (style->rc_style->bg_pixmap_name[state]) : Qnil) +#define FROB_PIXMAP(state) (style->rc_style->bg_pixmap_name[state] ? build_cistring (style->rc_style->bg_pixmap_name[state]) : Qnil) if (style->rc_style) result = nconc2 (result, list2 (Qbackground,
--- a/src/device-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/device-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -507,7 +507,7 @@ name[] or ALLOCA ()ed */ qxestrtok (nameint, ","); - return build_intstring (nameint); + return build_istring (nameint); } @@ -672,7 +672,7 @@ Ibyte new_connext[20]; qxesprintf (new_connext, ":%X", d->header.uid); - new_connection = concat2 (devname, build_intstring (new_connext)); + new_connection = concat2 (devname, build_istring (new_connext)); } DEVICE_CONNECTION (d) = new_connection; @@ -1155,7 +1155,7 @@ Lisp_Devmode *dm = XDEVMODE (obj); if (print_readably) printing_unreadable_lcrecord (obj, 0); - write_c_string (printcharfun, "#<msprinter-settings"); + write_ascstring (printcharfun, "#<msprinter-settings"); if (!NILP (dm->printer_name)) write_fmt_string_lisp (printcharfun, " for %S", 1, dm->printer_name); if (!NILP (dm->device))
--- a/src/device-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/device-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -210,7 +210,7 @@ last_xrm_db = db; locale = XrmLocaleOfDatabase (db); - localestr = build_ext_string (locale, Qbinary); + localestr = build_extstring (locale, Qbinary); last_coding_system = call1 (Qget_coding_system_from_locale, localestr); return last_coding_system; @@ -585,7 +585,8 @@ { /* Look for the Xaw3d function */ dll_func xaw_function_handle = - dll_function (xaw_dll_handle, "Xaw3dComputeTopShadowRGB"); + dll_function (xaw_dll_handle, + (const Ibyte *) "Xaw3dComputeTopShadowRGB"); /* If we found it, warn the user in big, nasty, unfriendly letters */ if (xaw_function_handle != NULL) @@ -667,7 +668,7 @@ } /* need to update Vx_emacs_application_class: */ - Vx_emacs_application_class = build_string (app_class); + Vx_emacs_application_class = build_cistring (app_class); } slow_down_interrupts (); @@ -1005,10 +1006,10 @@ /* handle X errors */ /************************************************************************/ -const char * +const Ascbyte * x_event_name (int event_type) { - static const char *events[] = + static const Ascbyte *events[] = { "0: ERROR!", "1: REPLY", @@ -1198,19 +1199,19 @@ return 0; data = Qnil; qxesprintf (num, "0x%X", (unsigned int) last_error.resourceid); - data = Fcons (build_intstring (num), data); + data = Fcons (build_istring (num), data); qxesprintf (num, "%d", last_error.request_code); XGetErrorDatabaseText (last_error.display, "XRequest", (char *) num, "", buf, sizeof (buf)); if (*buf) - data = Fcons (build_ext_string (buf, Qx_error_message_encoding), data); + data = Fcons (build_extstring (buf, Qx_error_message_encoding), data); else { qxesprintf (num, "Request-%d", last_error.request_code); - data = Fcons (build_intstring (num), data); + data = Fcons (build_istring (num), data); } XGetErrorText (last_error.display, last_error.error_code, buf, sizeof (buf)); - data = Fcons (build_ext_string (buf, Qx_error_message_encoding), data); + data = Fcons (build_extstring (buf, Qx_error_message_encoding), data); again: Fsignal (Qx_error, data); if (! resumable_p) goto again; @@ -1605,7 +1606,7 @@ } if (EQ (type, Qstring)) - return build_ext_string (raw_result, codesys); + return build_extstring (raw_result, codesys); else if (EQ (type, Qboolean)) { if (!strcasecmp (raw_result, "off") || @@ -1618,8 +1619,8 @@ return Fcons (Qt, Qnil); return maybe_signal_continuable_error_2 (Qinvalid_operation, "Can't convert to a Boolean", - build_ext_string (name_string, Qbinary), - build_ext_string (raw_result, codesys), Qresource, + build_extstring (name_string, Qbinary), + build_extstring (raw_result, codesys), Qresource, errb); } else if (EQ (type, Qinteger) || EQ (type, Qnatnum)) @@ -1629,13 +1630,13 @@ if (1 != sscanf (raw_result, "%d%c", &i, &c)) return maybe_signal_continuable_error_2 (Qinvalid_operation, "Can't convert to an integer", - build_ext_string (name_string, Qbinary), - build_ext_string (raw_result, codesys), Qresource, + build_extstring (name_string, Qbinary), + build_extstring (raw_result, codesys), Qresource, errb); else if (EQ (type, Qnatnum) && i < 0) return maybe_signal_continuable_error_2 (Qinvalid_argument, "Invalid numerical value for resource", - make_int (i), build_ext_string (name_string, Qbinary), + make_int (i), build_extstring (name_string, Qbinary), Qresource, errb); else return make_int (i); @@ -1803,7 +1804,7 @@ Display *dpy = get_x_display (device); Extbyte *vendor = ServerVendor (dpy); - return build_ext_string (vendor ? vendor : "", Qx_hpc_encoding); + return build_extstring (vendor ? vendor : "", Qx_hpc_encoding); } DEFUN ("x-server-version", Fx_server_version, 0, 1, 0, /* @@ -2048,7 +2049,7 @@ gui_error ("Can't get X font path", device); while (ndirs_return--) - font_path = Fcons (build_ext_string (directories[ndirs_return], + font_path = Fcons (build_extstring (directories[ndirs_return], Qfile_name), font_path);
--- a/src/dialog-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/dialog-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -297,7 +297,7 @@ static struct { DWORD errmess; - Ascbyte *errname; + const Ascbyte *errname; } common_dialog_errors[] = { { CDERR_DIALOGFAILURE, "CDERR_DIALOGFAILURE" }, @@ -394,7 +394,7 @@ BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_EDITBOX | BIF_NEWDIALOGSTYLE; bi.lpfn = handle_directory_proc; - LISP_LOCAL_FILE_FORMAT_TO_TSTR (Fexpand_file_name (build_string (""), Qnil), + LISP_LOCAL_FILE_FORMAT_TO_TSTR (Fexpand_file_name (build_ascstring (""), Qnil), pd.fname); { @@ -468,7 +468,7 @@ ofn.nMaxFile = sizeof (fnbuf) / XETCHAR_SIZE; qxetcscpy (fnbuf, XETEXT ("")); - LISP_LOCAL_FILE_FORMAT_TO_TSTR (Fexpand_file_name (build_string (""), Qnil), + LISP_LOCAL_FILE_FORMAT_TO_TSTR (Fexpand_file_name (build_ascstring (""), Qnil), ofn.lpstrInitialDir); { @@ -844,9 +844,9 @@ &Vdefault_file_dialog_filter_alist /* */ ); Vdefault_file_dialog_filter_alist = - list5 (Fcons (build_msg_string ("Text Files"), build_string ("*.txt")), - Fcons (build_msg_string ("C Files"), build_string ("*.c;*.h")), - Fcons (build_msg_string ("Elisp Files"), build_string ("*.el")), - Fcons (build_msg_string ("HTML Files"), build_string ("*.html;*.html")), - Fcons (build_msg_string ("All Files"), build_string ("*.*"))); + list5 (Fcons (build_defer_string ("Text Files"), build_ascstring ("*.txt")), + Fcons (build_defer_string ("C Files"), build_ascstring ("*.c;*.h")), + Fcons (build_defer_string ("Elisp Files"), build_ascstring ("*.el")), + Fcons (build_defer_string ("HTML Files"), build_ascstring ("*.html;*.html")), + Fcons (build_defer_string ("All Files"), build_ascstring ("*.*"))); }
--- a/src/dialog-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/dialog-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -58,7 +58,7 @@ void *tmp = LISP_TO_VOID (cons3 (Qnil, list2 (text_field_callback, - build_ext_string (text_field_value, + build_extstring (text_field_value, Qlwlib_encoding)), Qnil)); popup_selection_callback (0, id, (XtPointer) tmp);
--- a/src/doc.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/doc.c Mon Feb 01 14:11:36 2010 -0600 @@ -65,7 +65,7 @@ if (0 > lseek (fd, position, 0)) { if (name_nonreloc) - name_reloc = build_intstring (name_nonreloc); + name_reloc = build_istring (name_nonreloc); return_me = list3 (build_msg_string ("Position out of range in doc string file"), name_reloc, make_int (position)); @@ -180,7 +180,7 @@ if (0 > lseek (fd, position, 0)) { if (name_nonreloc) - name_reloc = build_intstring (name_nonreloc); + name_reloc = build_istring (name_nonreloc); return_me = list3 (build_msg_string ("Position out of range in doc string file"), name_reloc, make_int (position)); @@ -378,7 +378,7 @@ if (fd < 0) report_file_error ("Cannot open doc string file", - name_nonreloc ? build_intstring (name_nonreloc) : + name_nonreloc ? build_istring (name_nonreloc) : name_reloc); } @@ -475,7 +475,7 @@ if (fd < 0) report_file_error ("Cannot open doc string file", - name_nonreloc ? build_intstring (name_nonreloc) : + name_nonreloc ? build_istring (name_nonreloc) : name_reloc); } @@ -491,12 +491,13 @@ static void -weird_doc (Lisp_Object sym, const CIbyte *weirdness, const CIbyte *type, +weird_doc (Lisp_Object sym, const Ascbyte *weirdness, const Ascbyte *type, int pos) { - if (!strcmp (weirdness, GETTEXT ("duplicate"))) return; + if (!strcmp (weirdness, "duplicate")) return; message ("Note: Strange doc (%s) for %s %s @ %d", - weirdness, type, XSTRING_DATA (XSYMBOL (sym)->name), pos); + GETTEXT (weirdness), GETTEXT (type), + XSTRING_DATA (XSYMBOL (sym)->name), pos); } DEFUN ("built-in-symbol-file", Fbuilt_in_symbol_file, 1, 2, 0, /* @@ -598,7 +599,7 @@ if (XSUBR (fun)->doc == 0) return Qnil; if ((EMACS_INT) XSUBR (fun)->doc >= 0) - doc = build_string (XSUBR (fun)->doc); + doc = build_cistring (XSUBR (fun)->doc); else doc = get_doc_string (make_int (- (EMACS_INT) XSUBR (fun)->doc)); } @@ -753,7 +754,7 @@ fd = qxe_open (name, O_RDONLY | OPEN_BINARY, 0); if (fd < 0) - report_file_error ("Opening doc string file", build_intstring (name)); + report_file_error ("Opening doc string file", build_istring (name)); Vinternal_doc_file_name = filename; filled = 0; pos = 0; @@ -789,8 +790,8 @@ Lisp_Object old = Fget (sym, Qvariable_documentation, Qzero); if (!ZEROP (old)) { - weird_doc (sym, GETTEXT ("duplicate"), - GETTEXT ("variable"), pos); + weird_doc (sym, "duplicate", + "variable", pos); /* In the case of duplicate doc file entries, always take the later one. But if the doc is not an int (a string, say) leave it alone. */ @@ -830,8 +831,8 @@ So I'm disabling this. --ben */ /* May have been #if'ed out or something */ - weird_doc (sym, GETTEXT ("not fboundp"), - GETTEXT ("function"), pos); + weird_doc (sym, "not fboundp", + "function", pos); #endif goto weird; } @@ -840,8 +841,8 @@ /* Lisp_Subrs have a slot for it. */ if (XSUBR (fun)->doc) { - weird_doc (sym, GETTEXT ("duplicate"), - GETTEXT ("subr"), pos); + weird_doc (sym, "duplicate", + "subr", pos); goto weird; } XSUBR (fun)->doc = (char *) (- XINT (offset)); @@ -859,11 +860,12 @@ Lisp_Object old = XCAR (tem); if (!ZEROP (old)) { - weird_doc (sym, GETTEXT ("duplicate"), - (EQ (tem, Qlambda) - ? GETTEXT ("lambda") - : GETTEXT ("autoload")), - pos); + if (EQ (tem, Qlambda)) + weird_doc (sym, "duplicate", "lambda", + pos); + else + weird_doc (sym, "duplicate", "autoload", + pos); /* In the case of duplicate doc file entries, always take the later one. But if the doc is not an int (a string, say) leave it @@ -875,24 +877,23 @@ } else if (!CONSP (tem)) { - weird_doc (sym, GETTEXT ("!CONSP(tem)"), - GETTEXT ("function"), pos); + weird_doc (sym, "!CONSP(tem)", "function", pos); goto cont; } else { /* DOC string is a string not integer 0 */ #if 0 - weird_doc (sym, GETTEXT ("!INTP(XCAR(tem))"), - GETTEXT ("function"), pos); + weird_doc (sym, "!INTP(XCAR(tem))", + "function", pos); #endif goto cont; } } else { - weird_doc (sym, GETTEXT ("not lambda or autoload"), - GETTEXT ("function"), pos); + weird_doc (sym, "not lambda or autoload", + "function", pos); goto cont; } } @@ -911,8 +912,7 @@ if (! (f->flags.documentationp)) { - weird_doc (sym, GETTEXT ("no doc slot"), - GETTEXT ("bytecode"), pos); + weird_doc (sym, "no doc slot", "bytecode", pos); goto weird; } else @@ -921,8 +921,7 @@ compiled_function_documentation (f); if (!ZEROP (old)) { - weird_doc (sym, GETTEXT ("duplicate"), - GETTEXT ("bytecode"), pos); + weird_doc (sym, "duplicate", "bytecode", pos); /* In the case of duplicate doc file entries, always take the later one. But if the doc is not an int (a string, say) leave it alone. */ @@ -936,8 +935,7 @@ { /* Otherwise the function is undefined or otherwise weird. Ignore it. */ - weird_doc (sym, GETTEXT ("weird function"), - GETTEXT ("function"), pos); + weird_doc (sym, "weird function", "function", pos); goto weird; } } @@ -1245,9 +1243,9 @@ if (NILP (tem)) { - buffer_insert_c_string (buf_, "(uses keymap \""); + buffer_insert_ascstring (buf_, "(uses keymap \""); buffer_insert_lisp_string (buf_, Fsymbol_name (name)); - buffer_insert_c_string (buf_, "\", which is not currently defined) "); + buffer_insert_ascstring (buf_, "\", which is not currently defined) "); if (start[-1] == '<') keymap = Qnil; } @@ -1315,6 +1313,6 @@ */ ); Vinternal_doc_file_name = Qnil; - QSsubstitute = build_string (" *substitute*"); + QSsubstitute = build_ascstring (" *substitute*"); staticpro (&QSsubstitute); }
--- a/src/dumper.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/dumper.c Mon Feb 01 14:11:36 2010 -0600 @@ -2123,11 +2123,11 @@ O_WRONLY | O_CREAT | O_TRUNC | OPEN_BINARY, 0666); if (pdump_fd < 0) report_file_error ("Unable to open dump file", - build_string (EMACS_PROGNAME ".dmp")); + build_ascstring (EMACS_PROGNAME ".dmp")); pdump_out = fdopen (pdump_fd, "w"); if (pdump_out < 0) report_file_error ("Unable to open dump file for writing", - build_string (EMACS_PROGNAME ".dmp")); + build_ascstring (EMACS_PROGNAME ".dmp")); retry_fwrite (&header, sizeof (header), 1, pdump_out); PDUMP_ALIGN_OUTPUT (max_align_t);
--- a/src/dynarr.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/dynarr.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,6 +1,6 @@ /* Support for dynamic arrays. Copyright (C) 1993 Sun Microsystems, Inc. - Copyright (C) 2002, 2003, 2004, 2005 Ben Wing. + Copyright (C) 2002, 2003, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -127,6 +127,27 @@ #include <config.h> #include "lisp.h" +static const struct memory_description const_Ascbyte_ptr_description_1[] = { + { XD_ASCII_STRING, 0 }, + { XD_END } +}; + +const struct sized_memory_description const_Ascbyte_ptr_description = { + sizeof (const Ascbyte *), + const_Ascbyte_ptr_description_1 +}; + +static const struct memory_description const_Ascbyte_ptr_dynarr_description_1[] = { + XD_DYNARR_DESC (const_Ascbyte_ptr_dynarr, &const_Ascbyte_ptr_description), + { XD_END } +}; + +const struct sized_memory_description const_Ascbyte_ptr_dynarr_description = { + sizeof (const_Ascbyte_ptr_dynarr), + const_Ascbyte_ptr_dynarr_description_1 +}; + + static int Dynarr_min_size = 8; static void
--- a/src/editfns.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/editfns.c Mon Feb 01 14:11:36 2010 -0600 @@ -95,7 +95,7 @@ if ((p = egetenv ("NAME"))) /* I don't think it's the right thing to do the ampersand modification on NAME. Not that it matters anymore... -hniksic */ - Vuser_full_name = build_intstring (p); + Vuser_full_name = build_istring (p); else Vuser_full_name = Fuser_full_name (Qnil); } @@ -649,7 +649,7 @@ } #endif - return build_intstring (tmpdir); + return build_istring (tmpdir); } DEFUN ("user-login-name", Fuser_login_name, 0, 1, 0, /* @@ -678,7 +678,7 @@ /* #### - I believe this should return nil instead of "unknown" when pw==0 pw=0 is indicated by a null return from user_login_name */ - return returned_name ? build_intstring (returned_name) : Qnil; + return returned_name ? build_istring (returned_name) : Qnil; } /* This function may be called from other C routines when a @@ -744,7 +744,7 @@ struct passwd *pw = qxe_getpwuid (getuid ()); /* #### - I believe this should return nil instead of "unknown" when pw==0 */ - return build_string (pw ? pw->pw_name : "unknown"); + return build_extstring (pw ? pw->pw_name : "unknown", Quser_name_encoding); } DEFUN ("user-uid", Fuser_uid, 0, 0, 0, /* @@ -869,7 +869,7 @@ We probably should try to extract pw_dir from /etc/passwd, before falling back to this. */ cached_home_directory - = qxestrdup ((const Ibyte *)DEFAULT_DIRECTORY_FALLBACK); + = qxestrdup ((const Ibyte *) DEFAULT_DIRECTORY_FALLBACK); output_home_warning = 1; } } @@ -895,7 +895,7 @@ Ibyte *path = get_home_directory (); return !path ? Qnil : - Fexpand_file_name (Fsubstitute_in_file_name (build_intstring (path)), + Fexpand_file_name (Fsubstitute_in_file_name (build_istring (path)), Qnil); } @@ -1078,7 +1078,7 @@ Qtime_function_encoding); if (emacs_strftime (buf, size, formext, &tm) || !*buf) - return build_ext_string (buf, Qtime_function_encoding); + return build_extstring (buf, Qtime_function_encoding); /* If buffer was too small, make it bigger. */ size *= 2; } @@ -1237,7 +1237,7 @@ { time_t value; Ibyte *the_ctime; - EMACS_INT len; /* this is what make_ext_string() accepts; #### + EMACS_INT len; /* this is what make_extstring() accepts; #### should it be an Bytecount? */ if (! lisp_to_time (specified_time, &value)) @@ -1320,7 +1320,7 @@ #endif #endif /* not HAVE_TM_ZONE */ if (s) - tem = build_ext_string (s, Qtime_zone_encoding); + tem = build_extstring (s, Qtime_zone_encoding); else { Ibyte buf[6]; @@ -1329,7 +1329,7 @@ int am = (offset < 0 ? -offset : offset) / 60; qxesprintf (buf, "%c%02d%02d", (offset < 0 ? '-' : '+'), am/60, am%60); - tem = build_intstring (buf); + tem = build_istring (buf); } return list2 (make_int (offset), tem); }
--- a/src/elhash.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/elhash.c Mon Feb 01 14:11:36 2010 -0600 @@ -313,16 +313,16 @@ int count = 0; htentry *e, *sentinel; - write_c_string (printcharfun, " :data ("); + write_ascstring (printcharfun, " :data ("); for (e = ht->hentries, sentinel = e + ht->size; e < sentinel; e++) if (!HTENTRY_CLEAR_P (e)) { if (count > 0) - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); if (!print_readably && count > 3) { - write_c_string (printcharfun, "..."); + write_ascstring (printcharfun, "..."); break; } print_internal (e->key, printcharfun, 1); @@ -330,7 +330,7 @@ count++; } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } static void @@ -340,16 +340,16 @@ Lisp_Hash_Table *ht = XHASH_TABLE (obj); Ascbyte pigbuf[350]; - write_c_string (printcharfun, + write_ascstring (printcharfun, print_readably ? "#s(hash-table" : "#<hash-table"); /* These checks have a kludgy look to them, but they are safe. Due to nature of hashing, you cannot use arbitrary test functions anyway. */ if (!ht->test_function) - write_c_string (printcharfun, " :test eq"); + write_ascstring (printcharfun, " :test eq"); else if (ht->test_function == lisp_object_equal_equal) - write_c_string (printcharfun, " :test equal"); + write_ascstring (printcharfun, " :test equal"); else if (ht->test_function == lisp_object_eql_equal) DO_NOTHING; else @@ -393,7 +393,7 @@ print_hash_table_data (ht, printcharfun); if (print_readably) - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); else write_fmt_string (printcharfun, " 0x%x>", ht->header.uid); }
--- a/src/emacs.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/emacs.c Mon Feb 01 14:11:36 2010 -0600 @@ -936,8 +936,8 @@ #define SHEBANG_PROGNAME_LENGTH \ (int)((sizeof (WEXTSTRING (SHEBANG_PROGNAME)) - sizeof (WEXTSTRING ("")))) -#define SHEBANG_EXE_PROGNAME_LENGTH \ - (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME) WEXTSTRING(".exe")) \ +#define SHEBANG_EXE_PROGNAME_LENGTH \ + (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME ".exe")) \ - sizeof (WEXTSTRING (""))) { @@ -959,7 +959,7 @@ int j; newarr[0] = argv[0]; - newarr[1] = WEXTSTRING ("--script"); + newarr[1] = (Wexttext *) WEXTSTRING ("--script"); for (j = 1; j < argc; ++j) { newarr[j + 1] = argv[j]; @@ -1252,7 +1252,7 @@ for (j = 0; j < count_before + 1; j++) new_[j] = argv[j]; - new_[count_before + 1] = WEXTSTRING ("-d"); + new_[count_before + 1] = (Wexttext *) WEXTSTRING ("-d"); new_[count_before + 2] = dpy; for (j = count_before + 2; j <argc; j++) new_[j + 1] = argv[j]; @@ -1262,7 +1262,7 @@ /* Change --display to -d, when its arg is separate. */ else if (dpy != 0 && skip_args > count_before && argv[count_before + 1][1] == '-') - argv[count_before + 1] = WEXTSTRING ("-d"); + argv[count_before + 1] = (Wexttext *) WEXTSTRING ("-d"); /* Don't actually discard this arg. */ skip_args = count_before; @@ -2010,8 +2010,9 @@ -- Fset() on a symbol that is unbound -- Any of the object-creating functions in alloc.c: e.g. - make_string() - - build_intstring() - - build_string() + - build_istring() + - build_cistring() + - build_ascstring() - make_vector() - make_int() - make_char() @@ -2632,7 +2633,7 @@ if (XSTRING_DATA (Vinvocation_name)[0] == '-') { /* XEmacs as a login shell, oh goody! */ - Vinvocation_name = build_intstring (egetenv ("SHELL")); + Vinvocation_name = build_istring (egetenv ("SHELL")); } Vinvocation_directory = Vinvocation_name; @@ -4208,7 +4209,7 @@ DEFVAR_LISP ("system-configuration", &Vsystem_configuration /* String naming the configuration XEmacs was built for. */ ); - Vsystem_configuration = build_string (EMACS_CONFIGURATION); + Vsystem_configuration = build_ascstring (EMACS_CONFIGURATION); #ifndef EMACS_CONFIG_OPTIONS # define EMACS_CONFIG_OPTIONS "UNKNOWN" @@ -4216,7 +4217,7 @@ DEFVAR_LISP ("system-configuration-options", &Vsystem_configuration_options /* String containing the configuration options XEmacs was built with. */ ); - Vsystem_configuration_options = build_string (EMACS_CONFIG_OPTIONS); + Vsystem_configuration_options = build_ascstring (EMACS_CONFIG_OPTIONS); DEFVAR_LISP ("emacs-major-version", &Vemacs_major_version /* Major version number of this version of Emacs, as an integer. @@ -4282,7 +4283,7 @@ #ifndef XEMACS_CODENAME #define XEMACS_CODENAME "Noname" #endif - Vxemacs_codename = build_string (XEMACS_CODENAME); + Vxemacs_codename = build_ascstring (XEMACS_CODENAME); DEFVAR_LISP ("xemacs-extra-name", &Vxemacs_extra_name /* Arbitrary string to place in the version string after the codename. @@ -4295,7 +4296,7 @@ to indicate particular branches, etc. */ ); #ifdef XEMACS_EXTRA_NAME - Vxemacs_extra_name = build_string (XEMACS_EXTRA_NAME); + Vxemacs_extra_name = build_ascstring (XEMACS_EXTRA_NAME); #endif DEFVAR_LISP ("xemacs-release-date", &Vxemacs_release_date /* @@ -4307,7 +4308,7 @@ #ifndef XEMACS_RELEASE_DATE #define XEMACS_RELEASE_DATE "2005-02-18 (defaulted in emacs.c)" #endif - Vxemacs_release_date = build_string (XEMACS_RELEASE_DATE); + Vxemacs_release_date = build_ascstring (XEMACS_RELEASE_DATE); /* Lisp variables which contain command line flags. @@ -4476,14 +4477,14 @@ For example, this may be \"xemacs\" or \"infodock\". This is mainly meant for use in path searching. */ ); - Vemacs_program_name = build_ext_string (PATH_PROGNAME, Qfile_name); + Vemacs_program_name = build_extstring (PATH_PROGNAME, Qfile_name); DEFVAR_LISP ("emacs-program-version", &Vemacs_program_version /* *Version of the Emacs variant. This typically has the form NN.NN-bNN. This is mainly meant for use in path searching. */ ); - Vemacs_program_version = build_ext_string (PATH_VERSION, Qfile_name); + Vemacs_program_version = build_extstring (PATH_VERSION, Qfile_name); DEFVAR_LISP ("exec-path", &Vexec_path /* *List of directories to search programs to run in subprocesses. @@ -4503,7 +4504,7 @@ */ ); #ifdef PATH_EXEC Vconfigure_exec_directory = Ffile_name_as_directory - (build_ext_string (PATH_EXEC, Qfile_name)); + (build_extstring (PATH_EXEC, Qfile_name)); #else Vconfigure_exec_directory = Qnil; #endif @@ -4519,7 +4520,7 @@ */ ); #ifdef PATH_LOADSEARCH Vconfigure_lisp_directory = Ffile_name_as_directory - (build_ext_string (PATH_LOADSEARCH, Qfile_name)); + (build_extstring (PATH_LOADSEARCH, Qfile_name)); #else Vconfigure_lisp_directory = Qnil; #endif @@ -4535,7 +4536,7 @@ */ ); #ifdef PATH_MULELOADSEARCH Vconfigure_mule_lisp_directory = Ffile_name_as_directory - (build_ext_string (PATH_MULELOADSEARCH, Qfile_name); + (build_extstring (PATH_MULELOADSEARCH, Qfile_name); #else Vconfigure_mule_lisp_directory = Qnil; #endif @@ -4551,7 +4552,7 @@ */ ); #ifdef PATH_MODULESEARCH Vconfigure_module_directory = Ffile_name_as_directory - (build_ext_string (PATH_MODULESEARCH, Qfile_name)); + (build_extstring (PATH_MODULESEARCH, Qfile_name)); #else Vconfigure_module_directory = Qnil; #endif @@ -4611,7 +4612,7 @@ */ ); #ifdef PATH_DATA Vconfigure_data_directory = Ffile_name_as_directory - (build_ext_string (PATH_DATA, Qfile_name)); + (build_extstring (PATH_DATA, Qfile_name)); #else Vconfigure_data_directory = Qnil; #endif @@ -4633,7 +4634,7 @@ */ ); #ifdef PATH_SITE Vconfigure_site_directory = Ffile_name_as_directory - (build_ext_string (PATH_SITE, Qfile_name)); + (build_extstring (PATH_SITE, Qfile_name)); #else Vconfigure_site_directory = Qnil; #endif @@ -4649,7 +4650,7 @@ */ ); #ifdef PATH_SITE_MODULES Vconfigure_site_module_directory = Ffile_name_as_directory - (build_ext_string (PATH_SITE_MODULES, Qfile_name)); + (build_extstring (PATH_SITE_MODULES, Qfile_name)); #else Vconfigure_site_module_directory = Qnil; #endif @@ -4666,7 +4667,7 @@ */ ); #ifdef PATH_DOC Vconfigure_doc_directory = Ffile_name_as_directory - (build_ext_string (PATH_DOC, Qfile_name)); + (build_extstring (PATH_DOC, Qfile_name)); #else Vconfigure_doc_directory = Qnil; #endif @@ -4677,7 +4678,7 @@ */ ); #ifdef PATH_EXEC_PREFIX Vconfigure_exec_prefix_directory = Ffile_name_as_directory - (build_ext_string (PATH_EXEC_PREFIX, Qfile_name)); + (build_extstring (PATH_EXEC_PREFIX, Qfile_name)); #else Vconfigure_exec_prefix_directory = Qnil; #endif @@ -4688,7 +4689,7 @@ */ ); #ifdef PATH_PREFIX Vconfigure_prefix_directory = Ffile_name_as_directory - (build_ext_string (PATH_PREFIX, Qfile_name)); + (build_extstring (PATH_PREFIX, Qfile_name)); #else Vconfigure_prefix_directory = Qnil; #endif @@ -4701,7 +4702,7 @@ */ ); #ifdef PATH_INFO Vconfigure_info_directory = - Ffile_name_as_directory (build_ext_string (PATH_INFO, Qfile_name)); + Ffile_name_as_directory (build_extstring (PATH_INFO, Qfile_name)); #else Vconfigure_info_directory = Qnil; #endif
--- a/src/emodules.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/emodules.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,5 +1,6 @@ /* emodules.c - Support routines for dynamic module loading (C) Copyright 1998, 1999 J. Kean Johnston. All rights reserved. +(C) Copyright 2010 Ben Wing. This file is part of XEmacs. @@ -18,6 +19,8 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* This file has been Mule-ized, Ben Wing, 1-26-10. */ + #include "emodules.h" #include "sysdll.h" #ifdef HAVE_LTDL @@ -48,11 +51,11 @@ typedef struct _emodules_list { int used; /* Is this slot used? */ - CIbyte *soname; /* Name of the shared object loaded (full path) */ - CIbyte *modname; /* The name of the module */ - CIbyte *modver; /* The module version string */ - CIbyte *modtitle; /* How the module announces itself */ - void (*unload)(void); /* Module cleanup function to run before unloading */ + Ibyte *soname; /* Name of the shared object loaded (full path) */ + Ibyte *modname; /* The name of the module */ + Ibyte *modver; /* The module version string */ + Ibyte *modtitle; /* How the module announces itself */ + void (*unload) (void);/* Module cleanup function to run before unloading */ dll_handle dlhandle; /* Dynamic lib handle */ } emodules_list; @@ -61,8 +64,8 @@ static emodules_list *modules; static int modnum; -static int find_make_module (const CIbyte *mod, const CIbyte *name, - const CIbyte *ver, int make_or_find); +static int find_make_module (Lisp_Object mod, const Ibyte *name, + const Ibyte *ver, int make_or_find); static Lisp_Object module_load_unwind (Lisp_Object); static void attempt_module_delete (int mod); @@ -96,22 +99,22 @@ */ (file, name, version)) { - const CIbyte *mod, *mname, *mver; + const Ibyte *mod, *mname, *mver; int speccount = specpdl_depth(); - CHECK_STRING(file); + CHECK_STRING (file); - mod = (CIbyte *) XSTRING_DATA (file); + mod = XSTRING_DATA (file); if (NILP (name)) - mname = ""; + mname = (const Ibyte *) ""; else - mname = (CIbyte *) XSTRING_DATA (name); + mname = XSTRING_DATA (name); if (NILP (version)) - mver = ""; + mver = (const Ibyte *) ""; else - mver = (CIbyte *) XSTRING_DATA (version); + mver = XSTRING_DATA (version); dlhandle = 0; record_unwind_protect (module_load_unwind, make_int(modnum)); @@ -136,7 +139,7 @@ (file, name, version)) { int x; - const CIbyte *mod, *mname, *mver; + const Ibyte *mname, *mver; Lisp_Object foundname = Qnil; struct gcpro gcpro1; @@ -146,20 +149,19 @@ if (locate_file (Vmodule_load_path, file, Vmodule_extensions, &foundname, 0) < 0) return Qt; - mod = (CIbyte *) XSTRING_DATA (foundname); UNGCPRO; if (NILP (name)) - mname = ""; + mname = (const Ibyte *) ""; else - mname = (CIbyte *) XSTRING_DATA (name); + mname = XSTRING_DATA (name); if (NILP (version)) - mver = ""; + mver = (const Ibyte *) ""; else - mver = (CIbyte *) XSTRING_DATA (version); + mver = XSTRING_DATA (version); - x = find_make_module (mod, mname, mver, 1); + x = find_make_module (foundname, mname, mver, 1); if (x != -1) { if (modules[x].unload != NULL) @@ -199,30 +201,31 @@ for (i = 0; i < modnum; i++) { if (modules[i].used == 1) - mlist = Fcons (list4 (build_string (modules[i].soname), - build_string (modules[i].modname), - build_string (modules[i].modver), - build_string (modules[i].modtitle)), mlist); + mlist = Fcons (list4 (build_istring (modules[i].soname), + build_istring (modules[i].modname), + build_istring (modules[i].modver), + build_istring (modules[i].modtitle)), mlist); } return mlist; } static int -find_make_module (const CIbyte *mod, const CIbyte *name, const CIbyte *ver, +find_make_module (Lisp_Object mod, const Ibyte *name, const Ibyte *ver, int mof) { int i, fs = -1; + Ibyte *modstr = XSTRING_DATA (mod); for (i = 0; i < modnum; i++) { if (fs == -1 && modules[i].used == 0) fs = i; - if (strcmp (modules[i].soname, mod) == 0) + if (qxestrcmp (modules[i].soname, modstr) == 0) { - if (name && name[0] && strcmp (modules[i].modname, name)) + if (name && name[0] && qxestrcmp (modules[i].modname, name)) continue; - if (ver && ver[0] && strcmp (modules[i].modver, ver)) + if (ver && ver[0] && qxestrcmp (modules[i].modver, ver)) continue; return i; /* Found a match */ } @@ -253,10 +256,10 @@ { if (dll_close (modules[mod].dlhandle) == 0) { - xfree (modules[mod].soname, CIbyte *); - xfree (modules[mod].modname, CIbyte *); - xfree (modules[mod].modver, CIbyte *); - xfree (modules[mod].modtitle, CIbyte *); + xfree (modules[mod].soname, Ibyte *); + xfree (modules[mod].modname, Ibyte *); + xfree (modules[mod].modver, Ibyte *); + xfree (modules[mod].modtitle, Ibyte *); modules[mod].dlhandle = 0; modules[mod].used = 0; } @@ -330,18 +333,16 @@ * the cleaning up. */ void -emodules_load (const CIbyte *module, const CIbyte *modname, - const CIbyte *modver) +emodules_load (const Ibyte *module, const Ibyte *modname, + const Ibyte *modver) { - /* !!#### Needs serious work */ Lisp_Object old_load_list; Lisp_Object filename; Lisp_Object foundname, lisp_modname; int x, mpx; - CIbyte *soname; - const CIbyte **f; + const Extbyte **f; const long *ellcc_rev; - CIbyte *mver, *mname, *mtitle, *symname; + Ibyte *mver, *mname, *mtitle, *symname; void (*modload)(void) = 0; void (*modsyms)(void) = 0; void (*modvars)(void) = 0; @@ -359,13 +360,12 @@ if (module == NULL || module[0] == '\0') invalid_argument ("Empty module name", Qunbound); - GCPRO4(filename, foundname, old_load_list, lisp_modname); - filename = build_string (module); + GCPRO4 (filename, foundname, old_load_list, lisp_modname); + filename = build_istring (module); if (locate_file (Vmodule_load_path, filename, Vmodule_extensions, &foundname, 0) < 0) signal_error (Qdll_error, "Cannot open dynamic module", filename); - LISP_STRING_TO_EXTERNAL (foundname, soname, Qfile_name); lisp_modname = call1 (Qfile_name_sans_extension, Ffile_name_nondirectory (foundname)); @@ -375,76 +375,87 @@ signal_error (Qdll_error, "Opening dynamic module", dll_error ()); } - ellcc_rev = (const long *)dll_variable (dlhandle, "emodule_compiler"); + ellcc_rev = (const long *) dll_variable (dlhandle, + (const Ibyte *) "emodule_compiler"); if (ellcc_rev == NULL || *ellcc_rev <= 0L) signal_error (Qdll_error, "Invalid dynamic module: Missing symbol `emodule_compiler'", Qunbound); if (*ellcc_rev > EMODULES_REVISION) signal_ferror (Qdll_error, "Invalid dynamic module: Unsupported version `%ld(%ld)'", *ellcc_rev, EMODULES_REVISION); - f = (const CIbyte **) dll_variable (dlhandle, "emodule_name"); + f = (const Extbyte **) dll_variable (dlhandle, + (const Ibyte *) "emodule_name"); if (f == NULL || *f == NULL) signal_error (Qdll_error, "Invalid dynamic module: Missing symbol `emodule_name'", Qunbound); - mname = (CIbyte *) ALLOCA (strlen (*f) + 1); - strcpy (mname, *f); + mname = NEW_EXTERNAL_TO_C_STRING (f, Qemodule_string_encoding); + /* #### Not obvious we have to force an alloca copy here, but the old + code did so */ + IBYTE_STRING_TO_ALLOCA (mname, mname); + if (mname[0] == '\0') signal_error (Qdll_error, "Invalid dynamic module: Empty value for `emodule_name'", Qunbound); - f = (const CIbyte **) dll_variable (dlhandle, "emodule_version"); + f = (const Extbyte **) dll_variable (dlhandle, + (const Ibyte *) "emodule_version"); if (f == NULL || *f == NULL) signal_error (Qdll_error, "Missing symbol `emodule_version': Invalid dynamic module", Qunbound); - mver = (CIbyte *) ALLOCA (strlen (*f) + 1); - strcpy (mver, *f); + mver = NEW_EXTERNAL_TO_C_STRING (f, Qemodule_string_encoding); + /* #### Not obvious we have to force an alloca copy here, but the old + code did so */ + IBYTE_STRING_TO_ALLOCA (mver, mver); - f = (const CIbyte **) dll_variable (dlhandle, "emodule_title"); + f = (const Extbyte **) dll_variable (dlhandle, + (const Ibyte *) "emodule_title"); if (f == NULL || *f == NULL) signal_error (Qdll_error, "Invalid dynamic module: Missing symbol `emodule_title'", Qunbound); - mtitle = (CIbyte *) ALLOCA (strlen (*f) + 1); - strcpy (mtitle, *f); + mtitle = NEW_EXTERNAL_TO_C_STRING (f, Qemodule_string_encoding); + /* #### Not obvious we have to force an alloca copy here, but the old + code did so */ + IBYTE_STRING_TO_ALLOCA (mtitle, mtitle); - symname = (CIbyte *) ALLOCA (strlen (mname) + 15); + symname = alloca_ibytes (qxestrlen (mname) + 15); - strcpy (symname, "modules_of_"); - strcat (symname, mname); - modload = (void (*)(void))dll_function (dlhandle, symname); + qxestrcpy_ascii (symname, "modules_of_"); + qxestrcat (symname, mname); + modload = (void (*)(void)) dll_function (dlhandle, symname); /* * modload is optional. If the module doesn't require other modules it can * be left out. */ - strcpy (symname, "syms_of_"); - strcat (symname, mname); - modsyms = (void (*)(void))dll_function (dlhandle, symname); + qxestrcpy_ascii (symname, "syms_of_"); + qxestrcat (symname, mname); + modsyms = (void (*)(void)) dll_function (dlhandle, symname); if (modsyms == NULL) { missing_symbol: signal_error (Qdll_error, "Invalid dynamic module: Missing symbol", - build_string (symname)); + build_istring (symname)); } - strcpy (symname, "vars_of_"); - strcat (symname, mname); - modvars = (void (*)(void))dll_function (dlhandle, symname); + qxestrcpy_ascii (symname, "vars_of_"); + qxestrcat (symname, mname); + modvars = (void (*)(void)) dll_function (dlhandle, symname); if (modvars == NULL) goto missing_symbol; - strcpy (symname, "docs_of_"); - strcat (symname, mname); - moddocs = (void (*)(void))dll_function (dlhandle, symname); + qxestrcpy_ascii (symname, "docs_of_"); + qxestrcat (symname, mname); + moddocs = (void (*)(void)) dll_function (dlhandle, symname); if (moddocs == NULL) goto missing_symbol; /* Now look for the optional unload function. */ - strcpy (symname, "unload_"); - strcat (symname, mname); - modunld = (void (*)(void))dll_function (dlhandle, symname); + qxestrcpy_ascii (symname, "unload_"); + qxestrcat (symname, mname); + modunld = (void (*)(void)) dll_function (dlhandle, symname); - if (modname && modname[0] && strcmp (modname, mname)) + if (modname && modname[0] && qxestrcmp (modname, mname)) signal_error (Qdll_error, "Module name mismatch", Qunbound); - if (modver && modver[0] && strcmp (modver, mver)) + if (modver && modver[0] && qxestrcmp (modver, mver)) signal_error (Qdll_error, "Module version mismatch", Qunbound); /* @@ -453,7 +464,7 @@ * If that is non-zero, we know that we have a previously loaded module * of the same name and version, and we don't need to go any further. */ - mpx = find_make_module (soname, mname, mver, 0); + mpx = find_make_module (foundname, mname, mver, 0); mp = &modules[mpx]; if (mp->used > 0) { @@ -471,10 +482,10 @@ * module to the list of modules. */ mp->used = emodules_depth + 1; - mp->soname = xstrdup (soname); - mp->modname = xstrdup (mname); - mp->modver = xstrdup (mver); - mp->modtitle = xstrdup (mtitle); + mp->soname = qxestrdup (XSTRING_DATA (foundname)); + mp->modname = qxestrdup (mname); + mp->modver = qxestrdup (mver); + mp->modtitle = qxestrdup (mtitle); mp->dlhandle = dlhandle; mp->unload = modunld; dlhandle = 0; @@ -489,15 +500,15 @@ * startup tasks. */ if (modload != 0) - (*modload)(); + (*modload) (); /* * Now we can get the module to initialize its symbols, and then its * variables, and lastly the documentation strings. */ - (*modsyms)(); - (*modvars)(); - (*moddocs)(); + (*modsyms) (); + (*modvars) (); + (*moddocs) (); if (!load_modules_quietly) message ("Loaded module %s v%s (%s)", mname, mver, mtitle); @@ -521,12 +532,23 @@ } void -emodules_doc_subr(const char *symname, const char *doc) +emodules_doc_subr (const Ascbyte *symname, const Ascbyte *doc) { - Bytecount len = strlen (symname); - Lisp_Object sym = oblookup (Vobarray, (const Ibyte *)symname, len); + Bytecount len; + Lisp_Object sym; Lisp_Subr *subr; + ASSERT_ASCTEXT_ASCII (symname); + len = strlen (symname); + sym = oblookup (Vobarray, (const Ibyte *) symname, len); + + /* We do this assert to avoid the possibility of externally formatted + text ending up in the doc string, where it could cause crashes. + It you need to have a non-ASCII doc string, create another version + emodules_doc_subr_istring() that accepts an Ibyte * and doesn't + assert, or create an emodules_doc_subr_extstring() that takes + an externally_formatted string and a coding system name. */ + ASSERT_ASCTEXT_ASCII (doc); /* Skip autoload cookies */ if (SYMBOLP (sym) && SUBRP (XSYMBOL (sym)->function)) { @@ -534,7 +556,7 @@ subr->doc = xstrdup (doc); } /* - * FIXME: I wish there was some way to avoid the xstrdup(). Is it + * #### FIXME: I wish there was some way to avoid the xstrdup(). Is it * possible to just set a pointer to the string, or somehow create a * symbol whose value we can point to the constant string? Can someone * look into this? @@ -542,17 +564,24 @@ } void -emodules_doc_sym (const char *symname, const char *doc) +emodules_doc_sym (const Ascbyte *symname, const Ascbyte *doc) { - Bytecount len = strlen (symname); - Lisp_Object sym = oblookup (Vobarray, (const Ibyte *)symname, len); + Bytecount len; + Lisp_Object sym; Lisp_Object docstr; struct gcpro gcpro1; - if (SYMBOLP(sym)) + ASSERT_ASCTEXT_ASCII (symname); + len = strlen (symname); + sym = oblookup (Vobarray, (const Ibyte *) symname, len); + + /* See comments above in emodules_doc_subr() about why we assert like + this. */ + ASSERT_ASCTEXT_ASCII (doc); + if (SYMBOLP (sym)) { - docstr = build_string (doc); - GCPRO1(docstr); + docstr = build_ascstring (doc); + GCPRO1 (docstr); Fput (sym, Qvariable_documentation, docstr); UNGCPRO; } @@ -565,9 +594,9 @@ DEFERROR_STANDARD (Qdll_error, Qerror); DEFSYMBOL (Qmodule); DEFSYMBOL (Qunload_module); - DEFSUBR(Fload_module); - DEFSUBR(Flist_modules); - DEFSUBR(Funload_module); + DEFSUBR (Fload_module); + DEFSUBR (Flist_modules); + DEFSUBR (Funload_module); module_tag = Fcons (Qmodule, Qnil); staticpro (&module_tag); Fput (Qunload_module, Qdisabled, Qt); @@ -605,7 +634,7 @@ the dynamic loading technology used in Emacs, if required. It is not a given that this value will be the same as the Emacs version number. */ ); - Vmodule_version = build_string (EMODULES_VERSION); + Vmodule_version = build_cistring (EMODULES_VERSION); DEFVAR_BOOL ("load-modules-quietly", &load_modules_quietly /* *Set to t if module loading is to be silent. @@ -651,9 +680,9 @@ DEFVAR_LISP ("module-extensions", &Vmodule_extensions /* *List of filename extensions to use when searching for dynamic modules. */); - Vmodule_extensions = list5 (build_string (".ell"), - build_string (".so"), - build_string (".dll"), - build_string (".dylib"), - build_string ("")); + Vmodule_extensions = list5 (build_ascstring (".ell"), + build_ascstring (".so"), + build_ascstring (".dll"), + build_ascstring (".dylib"), + build_ascstring ("")); }
--- a/src/emodules.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/emodules.h Mon Feb 01 14:11:36 2010 -0600 @@ -59,7 +59,8 @@ * specified version before. We also use these as checks when we open the * module to make sure we have the right module. */ -extern void emodules_load (const char *module, const char *name, const char *version); +extern void emodules_load (const Ibyte *module, const Ibyte *modname, + const Ibyte *modver); /* * Because subrs and symbols added by a dynamic module are not part of @@ -70,10 +71,10 @@ * into the right place. These functions will be called by the module * init code, generated by ellcc during initialization mode. */ -EXTERN_C MODULE_API void emodules_doc_subr (const char *objname, - const char *docstr); -EXTERN_C MODULE_API void emodules_doc_sym (const char *objname, - const char *docstr); +EXTERN_C MODULE_API void emodules_doc_subr (const Ascbyte *objname, + const Ascbyte *docstr); +EXTERN_C MODULE_API void emodules_doc_sym (const Ascbyte *objname, + const Ascbyte *docstr); #define CDOCSUBR(Fname, DOC) emodules_doc_subr (Fname, DOC) #define CDOCSYM(Sname, DOC) emodules_doc_sym (Sname, DOC)
--- a/src/eval.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/eval.c Mon Feb 01 14:11:36 2010 -0600 @@ -426,17 +426,17 @@ print_subr (Lisp_Object obj, Lisp_Object printcharfun, int UNUSED (escapeflag)) { Lisp_Subr *subr = XSUBR (obj); - const CIbyte *header = + const Ascbyte *header = (subr->max_args == UNEVALLED) ? "#<special-operator " : "#<subr "; - const CIbyte *name = subr_name (subr); - const CIbyte *trailer = subr->prompt ? " (interactive)>" : ">"; + const Ascbyte *name = subr_name (subr); + const Ascbyte *trailer = subr->prompt ? " (interactive)>" : ">"; if (print_readably) printing_unreadable_object ("%s%s%s", header, name, trailer); - write_c_string (printcharfun, header); - write_c_string (printcharfun, name); - write_c_string (printcharfun, trailer); + write_ascstring (printcharfun, header); + write_ascstring (printcharfun, name); + write_ascstring (printcharfun, trailer); } static const struct memory_description subr_description[] = { @@ -738,7 +738,7 @@ specbind (Qstack_trace_on_signal, Qnil); if (!noninteractive) - internal_with_output_to_temp_buffer (build_string ("*Backtrace*"), + internal_with_output_to_temp_buffer (build_ascstring ("*Backtrace*"), backtrace_259, Qnil, Qnil); @@ -780,7 +780,7 @@ specbind (Qstack_trace_on_signal, Qnil); if (!noninteractive) - internal_with_output_to_temp_buffer (build_string ("*Backtrace*"), + internal_with_output_to_temp_buffer (build_ascstring ("*Backtrace*"), backtrace_259, Qnil, Qnil); @@ -2654,7 +2654,7 @@ to signal_error_1(). */ Lisp_Object -build_error_data (const CIbyte *reason, Lisp_Object frob) +build_error_data (const Ascbyte *reason, Lisp_Object frob) { if (EQ (frob, Qunbound)) frob = Qnil; @@ -2669,13 +2669,13 @@ } DOESNT_RETURN -signal_error (Lisp_Object type, const CIbyte *reason, Lisp_Object frob) +signal_error (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob) { signal_error_1 (type, build_error_data (reason, frob)); } void -maybe_signal_error (Lisp_Object type, const CIbyte *reason, +maybe_signal_error (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { @@ -2686,14 +2686,14 @@ } Lisp_Object -signal_continuable_error (Lisp_Object type, const CIbyte *reason, +signal_continuable_error (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob) { return Fsignal (type, build_error_data (reason, frob)); } Lisp_Object -maybe_signal_continuable_error (Lisp_Object type, const CIbyte *reason, +maybe_signal_continuable_error (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { @@ -2715,7 +2715,7 @@ but these are more convenient in this particular case.) */ DOESNT_RETURN -signal_error_2 (Lisp_Object type, const CIbyte *reason, +signal_error_2 (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob0, Lisp_Object frob1) { signal_error_1 (type, list3 (build_msg_string (reason), frob0, @@ -2723,7 +2723,7 @@ } void -maybe_signal_error_2 (Lisp_Object type, const CIbyte *reason, +maybe_signal_error_2 (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob0, Lisp_Object frob1, Lisp_Object class_, Error_Behavior errb) { @@ -2735,7 +2735,7 @@ } Lisp_Object -signal_continuable_error_2 (Lisp_Object type, const CIbyte *reason, +signal_continuable_error_2 (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob0, Lisp_Object frob1) { return Fsignal (type, list3 (build_msg_string (reason), frob0, @@ -2743,7 +2743,7 @@ } Lisp_Object -maybe_signal_continuable_error_2 (Lisp_Object type, const CIbyte *reason, +maybe_signal_continuable_error_2 (Lisp_Object type, const Ascbyte *reason, Lisp_Object frob0, Lisp_Object frob1, Lisp_Object class_, Error_Behavior errb) { @@ -2763,13 +2763,13 @@ is a single string, created using the arguments. */ DOESNT_RETURN -signal_ferror (Lisp_Object type, const CIbyte *fmt, ...) +signal_ferror (Lisp_Object type, const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2778,7 +2778,7 @@ void maybe_signal_ferror (Lisp_Object type, Lisp_Object class_, Error_Behavior errb, - const CIbyte *fmt, ...) + const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; @@ -2788,7 +2788,7 @@ return; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2796,13 +2796,13 @@ } Lisp_Object -signal_continuable_ferror (Lisp_Object type, const CIbyte *fmt, ...) +signal_continuable_ferror (Lisp_Object type, const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2811,7 +2811,7 @@ Lisp_Object maybe_signal_continuable_ferror (Lisp_Object type, Lisp_Object class_, - Error_Behavior errb, const CIbyte *fmt, ...) + Error_Behavior errb, const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; @@ -2821,7 +2821,7 @@ return Qnil; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2844,14 +2844,14 @@ */ DOESNT_RETURN -signal_ferror_with_frob (Lisp_Object type, Lisp_Object frob, const CIbyte *fmt, +signal_ferror_with_frob (Lisp_Object type, Lisp_Object frob, const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2861,7 +2861,7 @@ void maybe_signal_ferror_with_frob (Lisp_Object type, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb, - const CIbyte *fmt, ...) + const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; @@ -2871,7 +2871,7 @@ return; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2881,13 +2881,13 @@ Lisp_Object signal_continuable_ferror_with_frob (Lisp_Object type, Lisp_Object frob, - const CIbyte *fmt, ...) + const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2898,7 +2898,7 @@ maybe_signal_continuable_ferror_with_frob (Lisp_Object type, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb, - const CIbyte *fmt, ...) + const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; @@ -2908,7 +2908,7 @@ return Qnil; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -2987,155 +2987,155 @@ /* Called from within emacs_doprnt_1, so REASON is not formatted. */ DOESNT_RETURN -syntax_error (const CIbyte *reason, Lisp_Object frob) +syntax_error (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qsyntax_error, reason, frob); } DOESNT_RETURN -syntax_error_2 (const CIbyte *reason, Lisp_Object frob1, Lisp_Object frob2) +syntax_error_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qsyntax_error, reason, frob1, frob2); } void -maybe_syntax_error (const CIbyte *reason, Lisp_Object frob, +maybe_syntax_error (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qsyntax_error, reason, frob, class_, errb); } DOESNT_RETURN -sferror (const CIbyte *reason, Lisp_Object frob) +sferror (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qstructure_formation_error, reason, frob); } DOESNT_RETURN -sferror_2 (const CIbyte *reason, Lisp_Object frob1, Lisp_Object frob2) +sferror_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qstructure_formation_error, reason, frob1, frob2); } void -maybe_sferror (const CIbyte *reason, Lisp_Object frob, +maybe_sferror (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qstructure_formation_error, reason, frob, class_, errb); } DOESNT_RETURN -invalid_argument (const CIbyte *reason, Lisp_Object frob) +invalid_argument (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_argument, reason, frob); } DOESNT_RETURN -invalid_argument_2 (const CIbyte *reason, Lisp_Object frob1, +invalid_argument_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qinvalid_argument, reason, frob1, frob2); } void -maybe_invalid_argument (const CIbyte *reason, Lisp_Object frob, +maybe_invalid_argument (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qinvalid_argument, reason, frob, class_, errb); } DOESNT_RETURN -invalid_constant (const CIbyte *reason, Lisp_Object frob) +invalid_constant (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_constant, reason, frob); } DOESNT_RETURN -invalid_constant_2 (const CIbyte *reason, Lisp_Object frob1, +invalid_constant_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qinvalid_constant, reason, frob1, frob2); } void -maybe_invalid_constant (const CIbyte *reason, Lisp_Object frob, +maybe_invalid_constant (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qinvalid_constant, reason, frob, class_, errb); } DOESNT_RETURN -invalid_operation (const CIbyte *reason, Lisp_Object frob) +invalid_operation (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_operation, reason, frob); } DOESNT_RETURN -invalid_operation_2 (const CIbyte *reason, Lisp_Object frob1, +invalid_operation_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qinvalid_operation, reason, frob1, frob2); } void -maybe_invalid_operation (const CIbyte *reason, Lisp_Object frob, +maybe_invalid_operation (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qinvalid_operation, reason, frob, class_, errb); } DOESNT_RETURN -invalid_change (const CIbyte *reason, Lisp_Object frob) +invalid_change (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_change, reason, frob); } DOESNT_RETURN -invalid_change_2 (const CIbyte *reason, Lisp_Object frob1, Lisp_Object frob2) +invalid_change_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qinvalid_change, reason, frob1, frob2); } void -maybe_invalid_change (const CIbyte *reason, Lisp_Object frob, +maybe_invalid_change (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qinvalid_change, reason, frob, class_, errb); } DOESNT_RETURN -invalid_state (const CIbyte *reason, Lisp_Object frob) +invalid_state (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qinvalid_state, reason, frob); } DOESNT_RETURN -invalid_state_2 (const CIbyte *reason, Lisp_Object frob1, Lisp_Object frob2) +invalid_state_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2) { signal_error_2 (Qinvalid_state, reason, frob1, frob2); } void -maybe_invalid_state (const CIbyte *reason, Lisp_Object frob, +maybe_invalid_state (const Ascbyte *reason, Lisp_Object frob, Lisp_Object class_, Error_Behavior errb) { maybe_signal_error (Qinvalid_state, reason, frob, class_, errb); } DOESNT_RETURN -wtaerror (const CIbyte *reason, Lisp_Object frob) +wtaerror (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qwrong_type_argument, reason, frob); } DOESNT_RETURN -stack_overflow (const CIbyte *reason, Lisp_Object frob) +stack_overflow (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qstack_overflow, reason, frob); } DOESNT_RETURN -out_of_memory (const CIbyte *reason, Lisp_Object frob) +out_of_memory (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qout_of_memory, reason, frob); } @@ -4572,7 +4572,7 @@ if (0 == count) { - write_c_string (printcharfun, "#<zero-length multiple value>"); + write_msg_string (printcharfun, "#<zero-length multiple value>"); } for (index = 0; index < count;) @@ -4594,7 +4594,7 @@ if (count > 1 && index < count) { - write_c_string (printcharfun, " ;\n"); + write_ascstring (printcharfun, " ;\n"); } } } @@ -5713,7 +5713,7 @@ ("%s: Attempt to throw outside of function:" "To catch `%s' with value `%s'\n\nBacktrace follows:\n\n%s", Qnil, 4, - build_msg_string (warning_string ? warning_string : "error"), + build_msg_cistring (warning_string ? warning_string : "error"), p->thrown_tag, p->thrown_value, p->backtrace); warn_when_safe_lispobj (Qerror, current_warning_level (), errstr); } @@ -5728,7 +5728,7 @@ emacs_sprintf_string_lisp ("%s: (%s %s)\n\nBacktrace follows:\n\n%s", Qnil, 4, - build_msg_string (warning_string ? warning_string : "error"), + build_msg_cistring (warning_string ? warning_string : "error"), p->error_conditions, p->data, p->backtrace); warn_when_safe_lispobj (warning_class, current_warning_level (), @@ -7000,18 +7000,18 @@ || specpdl[speccount - 1].func == specbind_unwind_local || specpdl[speccount - 1].func == specbind_unwind_wasnt_local) { - write_c_string (stream, !printing_bindings ? " # bind (" : " "); + write_ascstring (stream, !printing_bindings ? " # bind (" : " "); Fprin1 (specpdl[speccount - 1].symbol, stream); printing_bindings = 1; } else { - if (printing_bindings) write_c_string (stream, ")\n"); - write_c_string (stream, " # (unwind-protect ...)\n"); + if (printing_bindings) write_ascstring (stream, ")\n"); + write_ascstring (stream, " # (unwind-protect ...)\n"); printing_bindings = 0; } } - if (printing_bindings) write_c_string (stream, ")\n"); + if (printing_bindings) write_ascstring (stream, ")\n"); } static Lisp_Object @@ -7020,7 +7020,7 @@ if (args) return *args; else - return list1 (build_string ("[internal]")); + return list1 (build_ascstring ("[internal]")); } DEFUN ("backtrace", Fbacktrace, 0, 2, "", /* @@ -7078,15 +7078,15 @@ speccount = catches->pdlcount; if (catchpdl == speccount) { - write_c_string (stream, " # (catch "); + write_ascstring (stream, " # (catch "); Fprin1 (catches->tag, stream); - write_c_string (stream, " ...)\n"); + write_ascstring (stream, " ...)\n"); } else { - write_c_string (stream, " # (condition-case ... . "); + write_ascstring (stream, " # (condition-case ... . "); Fprin1 (Fcdr (Fcar (catches->tag)), stream); - write_c_string (stream, ")\n"); + write_ascstring (stream, ")\n"); } catches = catches->next; } @@ -7099,19 +7099,19 @@ backtrace_specials (speccount, backlist->pdlcount, stream); speccount = backlist->pdlcount; } - write_c_string (stream, backlist->debug_on_exit ? "* " : " "); + write_ascstring (stream, backlist->debug_on_exit ? "* " : " "); if (backlist->nargs == UNEVALLED) { Fprin1 (Fcons (*backlist->function, backtrace_unevalled_args (backlist->args)), stream); - write_c_string (stream, "\n"); /* from FSFmacs 19.30 */ + write_ascstring (stream, "\n"); /* from FSFmacs 19.30 */ } else { Lisp_Object tem = *backlist->function; Fprin1 (tem, stream); /* This can QUIT */ - write_c_string (stream, "("); + write_ascstring (stream, "("); if (backlist->nargs == MANY) { int i; @@ -7123,7 +7123,7 @@ !NILP (tail); tail = Fcdr (tail), i++) { - if (i != 0) write_c_string (stream, " "); + if (i != 0) write_ascstring (stream, " "); Fprin1 (Fcar (tail), stream); } NUNGCPRO; @@ -7135,14 +7135,14 @@ { if (!i && EQ (tem, Qbyte_code)) { - write_c_string (stream, "\"...\""); + write_ascstring (stream, "\"...\""); continue; } - if (i != 0) write_c_string (stream, " "); + if (i != 0) write_ascstring (stream, " "); Fprin1 (backlist->args[i], stream); } } - write_c_string (stream, ")\n"); + write_ascstring (stream, ")\n"); } backlist = backlist->next; } @@ -7234,7 +7234,7 @@ automatically be called when it is safe to do so. */ void -warn_when_safe (Lisp_Object class_, Lisp_Object level, const CIbyte *fmt, ...) +warn_when_safe (Lisp_Object class_, Lisp_Object level, const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; @@ -7243,7 +7243,7 @@ return; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); warn_when_safe_lispobj (class_, level, obj);
--- a/src/event-Xt.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/event-Xt.c Mon Feb 01 14:11:36 2010 -0600 @@ -192,7 +192,7 @@ EQ (new_value, Qt))) { maybe_define_x_key_as_self_inserting_character (keysym, sym); - Fputhash (build_ext_string (name, Qbinary), new_value, + Fputhash (build_extstring (name, Qbinary), new_value, hash_table); Fputhash (sym, new_value, hash_table); } @@ -337,46 +337,46 @@ /* Boy, I really wish C had local functions... */ - /* The call to warn_when_safe must be on the same line as the string or - make-msgfile won't pick it up properly (the newline doesn't confuse - it, but the backslash does). */ - -#define modwarn(name,old,other) \ - warn_when_safe (Qkey_mapping, Qwarning, "XEmacs: %s (0x%x) generates %s, which is generated by %s.", \ - name, code, index_to_name (old), other), \ +#define modwarn(name,old,other) \ + warn_when_safe (Qkey_mapping, Qwarning, \ + "XEmacs: %s (0x%x) generates %s, which is generated by %s.", \ + name, code, index_to_name (old), other), \ warned_about_overlapping_modifiers = 1 -#define modbarf(name,other) \ - warn_when_safe (Qkey_mapping, Qwarning, "XEmacs: %s (0x%x) generates %s, which is nonsensical.", \ - name, code, other), \ +#define modbarf(name,other) \ + warn_when_safe (Qkey_mapping, Qwarning, \ + "XEmacs: %s (0x%x) generates %s, which is nonsensical.", \ + name, code, other), \ warned_about_predefined_modifiers = 1 -#define check_modifier(name,mask) \ - if ((1<<modifier_index) != mask) \ - warn_when_safe (Qkey_mapping, Qwarning, "XEmacs: %s (0x%x) generates %s, which is nonsensical.", \ - name, code, index_to_name (modifier_index)), \ +#define check_modifier(name,mask) \ + if ((1<<modifier_index) != mask) \ + warn_when_safe (Qkey_mapping, Qwarning, \ + "XEmacs: %s (0x%x) generates %s, which is nonsensical.", \ + name, code, index_to_name (modifier_index)), \ warned_about_predefined_modifiers = 1 -#define store_modifier(name,old) \ - if (old && old != modifier_index) \ - warn_when_safe (Qkey_mapping, Qwarning, "XEmacs: %s (0x%x) generates both %s and %s, which is nonsensical.",\ - name, code, index_to_name (old), \ - index_to_name (modifier_index)), \ - warned_about_duplicate_modifiers = 1; \ - if (modifier_index == ShiftMapIndex) modbarf (name,"ModShift"); \ - else if (modifier_index == LockMapIndex) modbarf (name,"ModLock"); \ +#define store_modifier(name,old) \ + if (old && old != modifier_index) \ + warn_when_safe (Qkey_mapping, Qwarning, \ + "XEmacs: %s (0x%x) generates both %s and %s, which is nonsensical.", \ + name, code, index_to_name (old), \ + index_to_name (modifier_index)), \ + warned_about_duplicate_modifiers = 1; \ + if (modifier_index == ShiftMapIndex) modbarf (name,"ModShift"); \ + else if (modifier_index == LockMapIndex) modbarf (name,"ModLock"); \ else if (modifier_index == ControlMapIndex) modbarf (name,"ModControl"); \ - else if (sym == XK_Mode_switch) \ - mode_bit = modifier_index; /* Mode_switch is special, see below... */ \ - else if (modifier_index == meta_bit && old != meta_bit) \ - modwarn (name, meta_bit, "Meta"); \ - else if (modifier_index == super_bit && old != super_bit) \ - modwarn (name, super_bit, "Super"); \ - else if (modifier_index == hyper_bit && old != hyper_bit) \ - modwarn (name, hyper_bit, "Hyper"); \ - else if (modifier_index == alt_bit && old != alt_bit) \ - modwarn (name, alt_bit, "Alt"); \ - else \ + else if (sym == XK_Mode_switch) \ + mode_bit = modifier_index; /* Mode_switch is special, see below... */ \ + else if (modifier_index == meta_bit && old != meta_bit) \ + modwarn (name, meta_bit, "Meta"); \ + else if (modifier_index == super_bit && old != super_bit) \ + modwarn (name, super_bit, "Super"); \ + else if (modifier_index == hyper_bit && old != hyper_bit) \ + modwarn (name, hyper_bit, "Hyper"); \ + else if (modifier_index == alt_bit && old != alt_bit) \ + modwarn (name, alt_bit, "Alt"); \ + else \ old = modifier_index; mkpm = xd->x_modifier_keymap->max_keypermod; @@ -1750,7 +1750,7 @@ { Lisp_Object console = CDFW_CONSOLE (EVENT_CHANNEL (event)); if (CONSOLE_X_P (XCONSOLE (console))) - write_c_string + write_ascstring (pstream, x_event_name ((EVENT_MAGIC_X_EVENT (event)).type)); } @@ -2426,7 +2426,7 @@ static void describe_event (XEvent *event, Lisp_Object pstream) { - char buf[100]; + Ascbyte buf[100]; struct device *d = get_device_from_display (event->xany.display); sprintf (buf, "%s%s", x_event_name (event->type),
--- a/src/event-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/event-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -224,7 +224,7 @@ { Lisp_Object console = CDFW_CONSOLE (EVENT_CHANNEL (emacs_event)); if (CONSOLE_GTK_P (XCONSOLE (console))) - write_c_string + write_cistring (pstream, gtk_event_name (EVENT_MAGIC_GDK_EVENT (emacs_event).type)); } @@ -1015,9 +1015,9 @@ { /* Arbitrary string */ l_type = Qdragdrop_MIME; - l_dndlist = list1 (list3 (list1 (build_string ("text/plain")), - build_string ("8_bit"), - make_ext_string (data->data, + l_dndlist = list1 (list3 (list1 (build_ascstring ("text/plain")), + build_ascstring ("8_bit"), + make_extstring (data->data, strlen ((char *)data->data), Qctext))); } @@ -1044,9 +1044,9 @@ We just pass it up to lisp - we already have a mime type. */ l_type = Qdragdrop_MIME; - l_dndlist = list1 (list3 (list1 (build_string (gdk_atom_name (data->type))), - build_string ("8bit"), - make_ext_string ((Extbyte *) data->data, + l_dndlist = list1 (list3 (list1 (build_cistring (gdk_atom_name (data->type))), + build_ascstring ("8bit"), + make_extstring ((Extbyte *) data->data, data->length, Qbinary))); } @@ -1781,7 +1781,7 @@ Lisp_Object sym = gtk_keysym_to_emacs_keysym (keysym[0], 0); if (name) { - Fputhash (build_ext_string (name, Qx_keysym_encoding), + Fputhash (build_extstring (name, Qx_keysym_encoding), Qsans_modifiers, hashtable); Fputhash (sym, Qsans_modifiers, hashtable); } @@ -1796,7 +1796,7 @@ Lisp_Object sym = gtk_keysym_to_emacs_keysym (keysym[j], 0); if (name && NILP (Fgethash (sym, hashtable, Qnil))) { - Fputhash (build_ext_string (name, Qx_keysym_encoding), + Fputhash (build_extstring (name, Qx_keysym_encoding), Qt, hashtable); Fputhash (sym, Qt, hashtable); } @@ -1870,10 +1870,6 @@ /* Boy, I really wish C had local functions... */ - /* The call to warn_when_safe must be on the same line as the string or - make-msgfile won't pick it up properly (the newline doesn't confuse - it, but the backslash does). */ - #define store_modifier(name,old) \ old = modifier_index;
--- a/src/event-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/event-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -1752,9 +1752,9 @@ * get an error, or finish before the end of the string, * we know the original string had syntax errors. */ - args[0] = build_string ("(progn "); + args[0] = build_ascstring ("(progn "); args[1] = str; - args[2] = build_string (")"); + args[2] = build_ascstring (")"); str = Fconcat (3, args); obj = Fread_from_string (str, Qnil, Qnil); @@ -1820,10 +1820,10 @@ else { static int num = 0; - char buf[20]; + Ascbyte buf[20]; sprintf (buf, "Tok%d", num); ++num; - name = build_string (buf); + name = build_ascstring (buf); } token = Qnil; @@ -1989,12 +1989,12 @@ { if (NILP (dde_eval_error)) { - args[0] = build_string ("OK: %s"); + args[0] = build_ascstring ("OK: %s"); args[1] = dde_eval_result; } else { - args[0] = build_string ("ERR: %s"); + args[0] = build_ascstring ("ERR: %s"); args[1] = dde_eval_error; } } @@ -2013,7 +2013,7 @@ if (!DdeCmpStringHandles (hszItem, hsz)) args[1] = Fsymbol_value (elt); } - args[0] = build_string ("%s"); + args[0] = build_ascstring ("%s"); } res = Fformat (2, args); @@ -2118,7 +2118,7 @@ they don't allow relative paths at all! this is way bogus. */ cmd = urlify_filename (cmd); - l_dndlist = build_intstring (cmd); + l_dndlist = build_istring (cmd); xfree (cmd, Ibyte *); } GCPRO2 (emacs_event, l_dndlist); @@ -3735,7 +3735,7 @@ { Ibyte *fname2 = urlify_filename (fname); - l_item = build_intstring (fname2); + l_item = build_istring (fname2); xfree (fname2, Ibyte *); if (freeme) xfree (fname, Ibyte *); @@ -4274,7 +4274,7 @@ emacs_mswindows_format_magic_event (Lisp_Event *emacs_event, Lisp_Object pstream) { -#define FROB(msg) case msg: write_c_string (pstream, "type=" #msg); break +#define FROB(msg) case msg: write_ascstring (pstream, "type=" #msg); break switch (EVENT_MAGIC_MSWINDOWS_EVENT (emacs_event)) { @@ -4291,7 +4291,7 @@ if (!NILP (EVENT_CHANNEL (emacs_event))) { - write_c_string (pstream, " "); + write_ascstring (pstream, " "); print_internal (EVENT_CHANNEL (emacs_event), pstream, 1); } } @@ -4670,7 +4670,7 @@ struct mswin_message_debug { int mess; - char *string; + const Ascbyte *string; }; #define FROB(val) { val, #val, }, @@ -4961,7 +4961,7 @@ { Lisp_Object frame = mswindows_find_frame (hwnd); int i; - char *str = 0; + const Ascbyte *str = 0; /* struct mswin_message_debug *i_hate_cranking_out_code_like_this; */ for (i = 0; i < countof (debug_mswin_messages); i++)
--- a/src/event-stream.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/event-stream.c Mon Feb 01 14:11:36 2010 -0600 @@ -255,13 +255,14 @@ Fixnum debug_emacs_events; static void -external_debugging_print_event (const char *event_description, Lisp_Object event) +external_debugging_print_event (const Ascbyte *event_description, + Lisp_Object event) { - write_c_string (Qexternal_debugging_output, "("); - write_c_string (Qexternal_debugging_output, event_description); - write_c_string (Qexternal_debugging_output, ") "); + write_ascstring (Qexternal_debugging_output, "("); + write_ascstring (Qexternal_debugging_output, event_description); + write_ascstring (Qexternal_debugging_output, ") "); print_internal (event, Qexternal_debugging_output, 1); - write_c_string (Qexternal_debugging_output, "\n"); + write_ascstring (Qexternal_debugging_output, "\n"); } #define DEBUG_PRINT_EMACS_EVENT(event_description, event) do { \ if (debug_emacs_events) \ @@ -846,7 +847,7 @@ help = IGNORE_MULTIPLE_VALUES (Feval (Vhelp_form)); if (STRINGP (help)) - internal_with_output_to_temp_buffer (build_string ("*Help*"), + internal_with_output_to_temp_buffer (build_ascstring ("*Help*"), print_help, help, Qnil); Fnext_command_event (event, Qnil); /* Remove the help from the frame */ @@ -4137,7 +4138,7 @@ } static int -is_scrollbar_event (Lisp_Object event) +is_scrollbar_event (Lisp_Object USED_IF_SCROLLBARS (event)) { #ifdef HAVE_SCROLLBARS Lisp_Object fun; @@ -4979,9 +4980,9 @@ last_point_position_buffer = Qnil; staticpro (&last_point_position_buffer); - QSnext_event_internal = build_string ("next_event_internal()"); + QSnext_event_internal = build_ascstring ("next_event_internal()"); staticpro (&QSnext_event_internal); - QSexecute_internal_event = build_string ("execute_internal_event()"); + QSexecute_internal_event = build_ascstring ("execute_internal_event()"); staticpro (&QSexecute_internal_event); DEFVAR_LISP ("echo-keystrokes", &Vecho_keystrokes /*
--- a/src/event-unixoid.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/event-unixoid.c Mon Feb 01 14:11:36 2010 -0600 @@ -100,12 +100,16 @@ ch = Lstream_get_ichar (XLSTREAM (CONSOLE_TTY_DATA (con)->instream)); else { + Ibyte byte; /* #### Definitely something strange here. We should be setting the stdio handle unbuffered and reading from it instead of mixing stdio and raw io calls. */ - int nread = retry_read (fileno (CONSOLE_STREAM_DATA (con)->in), &ch, 1); + int nread = retry_read (fileno (CONSOLE_STREAM_DATA (con)->in), + &byte, 1); if (nread <= 0) ch = -1; + else + ch = byte; } if (ch < 0)
--- a/src/events.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/events.c Mon Feb 01 14:11:36 2010 -0600 @@ -320,10 +320,10 @@ } static void -print_event_1 (const char *str, Lisp_Object obj, Lisp_Object printcharfun) +print_event_1 (const Ascbyte *str, Lisp_Object obj, Lisp_Object printcharfun) { DECLARE_EISTRING_MALLOC (ei); - write_c_string (printcharfun, str); + write_ascstring (printcharfun, str); format_event_object (ei, obj, 0); write_eistring (printcharfun, ei); eifree (ei); @@ -371,7 +371,7 @@ XEVENT_TIMEOUT_OBJECT (obj)); break; case empty_event: - write_c_string (printcharfun, "#<empty-event"); + write_ascstring (printcharfun, "#<empty-event"); break; case misc_user_event: write_fmt_string_lisp (printcharfun, "#<misc-user-event (%S", 1, @@ -386,13 +386,13 @@ XEVENT_EVAL_OBJECT (obj)); break; case dead_event: - write_c_string (printcharfun, "#<DEALLOCATED-EVENT"); + write_ascstring (printcharfun, "#<DEALLOCATED-EVENT"); break; default: - write_c_string (printcharfun, "#<UNKNOWN-EVENT-TYPE"); + write_ascstring (printcharfun, "#<UNKNOWN-EVENT-TYPE"); break; } - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, ">"); } static int
--- a/src/extents.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/extents.c Mon Feb 01 14:11:36 2010 -0600 @@ -3114,13 +3114,15 @@ if (extent_start (e) == mempos && !NILP (extent_begin_glyph (e))) { Lisp_Object glyph = extent_begin_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->begin_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->begin_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; } @@ -3133,13 +3135,15 @@ if (extent_end (e) == mempos && !NILP (extent_end_glyph (e))) { Lisp_Object glyph = extent_end_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->end_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->end_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; } @@ -3268,7 +3272,7 @@ EXTENT ext = XEXTENT (obj); EXTENT anc = extent_ancestor (ext); Lisp_Object tail; - char buf[64], *bp = buf; + Ascbyte buf[64], *bp = buf; /* Retrieve the ancestor and use it, for faster retrieval of properties */ @@ -3296,7 +3300,7 @@ extent_duplicable_p (anc) || !NILP (extent_invisible (anc))) *bp++ = ' '; *bp = '\0'; - write_c_string (printcharfun, buf); + write_ascstring (printcharfun, buf); tail = extent_plist_slot (anc); @@ -3358,12 +3362,12 @@ } if (!EXTENT_LIVE_P (XEXTENT (obj))) - write_c_string (printcharfun, "#<destroyed extent"); + write_ascstring (printcharfun, "#<destroyed extent"); else { - write_c_string (printcharfun, "#<extent "); + write_ascstring (printcharfun, "#<extent "); print_extent_1 (obj, printcharfun, escapeflag); - write_c_string (printcharfun, extent_detached_p (XEXTENT (obj)) + write_ascstring (printcharfun, extent_detached_p (XEXTENT (obj)) ? " from " : " in "); write_fmt_string (printcharfun, "%s%s%s", title, name, posttitle); } @@ -3372,9 +3376,9 @@ { if (print_readably) printing_unreadable_object ("#<extent>"); - write_c_string (printcharfun, "#<extent"); - } - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, "#<extent"); + } + write_ascstring (printcharfun, ">"); } static int @@ -7639,6 +7643,6 @@ Vextent_face_reverse_memoize_hash_table = make_lisp_hash_table (100, HASH_TABLE_KEY_WEAK, HASH_TABLE_EQ); - QSin_map_extents_internal = build_msg_string ("(in map-extents-internal)"); + QSin_map_extents_internal = build_defer_string ("(in map-extents-internal)"); staticpro (&QSin_map_extents_internal); }
--- a/src/faces.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/faces.c Mon Feb 01 14:11:36 2010 -0600 @@ -137,7 +137,7 @@ write_fmt_string_lisp (printcharfun, "#<face %S", 1, face->name); if (!NILP (face->doc_string)) write_fmt_string_lisp (printcharfun, " %S", 1, face->doc_string); - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, ">"); } } @@ -2230,7 +2230,7 @@ Vdefault_face = Qnil; /* so that Fmake_face() doesn't set up a bogus default value */ - Vdefault_face = Fmake_face (Qdefault, build_msg_string ("default face"), + Vdefault_face = Fmake_face (Qdefault, build_defer_string ("default face"), Qnil); /* Provide some last-resort fallbacks to avoid utter fuckage if @@ -2240,22 +2240,22 @@ Lisp_Object fg_fb = Qnil, bg_fb = Qnil; #ifdef HAVE_GTK - fg_fb = acons (list1 (Qgtk), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qgtk), build_string ("white"), bg_fb); + fg_fb = acons (list1 (Qgtk), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qgtk), build_ascstring ("white"), bg_fb); #endif #ifdef HAVE_X_WINDOWS - fg_fb = acons (list1 (Qx), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qx), build_string ("gray80"), bg_fb); + fg_fb = acons (list1 (Qx), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qx), build_ascstring ("gray80"), bg_fb); #endif #ifdef HAVE_TTY fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); #endif #ifdef HAVE_MS_WINDOWS - fg_fb = acons (list1 (Qmsprinter), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qmsprinter), build_string ("white"), bg_fb); - fg_fb = acons (list1 (Qmswindows), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qmswindows), build_string ("white"), bg_fb); + fg_fb = acons (list1 (Qmsprinter), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qmsprinter), build_ascstring ("white"), bg_fb); + fg_fb = acons (list1 (Qmswindows), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qmswindows), build_ascstring ("white"), bg_fb); #endif set_specifier_fallback (Fget (Vdefault_face, Qforeground, Qnil), fg_fb); set_specifier_fallback (Fget (Vdefault_face, Qbackground, Qnil), bg_fb); @@ -2336,7 +2336,7 @@ #ifdef USE_XFT for (fontptr = fonts + countof(fonts) - 1; fontptr >= fonts; fontptr--) inst_list = Fcons (Fcons (list1 (device_symbol), - build_string (*fontptr)), + build_cistring (*fontptr)), inst_list); #else /* !USE_XFT */ @@ -2346,7 +2346,7 @@ (list1 (device_symbol), /* grrr. This really does need to be "*", not an XLFD. An unspecified XLFD won't pick up stuff like 10x20. */ - build_string ("*")), + build_ascstring ("*")), inst_list); #ifdef MULE @@ -2360,7 +2360,7 @@ Fcons (Fcons (list4(device_symbol, Qtwo_dimensional, Qfinal, Qx_coverage_instantiator), - build_string + build_ascstring ("-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1")), inst_list); @@ -2372,14 +2372,14 @@ Fcons (Fcons (list4(device_symbol, Qone_dimensional, Qfinal, Qx_coverage_instantiator), - build_string + build_ascstring ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), inst_list); for (fontptr = fonts + countof(fonts) - 1; fontptr >= fonts; fontptr--) inst_list = Fcons (Fcons (list3 (device_symbol, Qtwo_dimensional, Qinitial), - build_string (*fontptr)), + build_cistring (*fontptr)), inst_list); /* We need to set the font for the JIT-ucs-charsets separately from the @@ -2392,7 +2392,7 @@ Fcons (Fcons (list4(device_symbol, Qencode_as_utf_8, Qinitial, Qx_coverage_instantiator), - build_string + build_ascstring ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), inst_list); @@ -2404,7 +2404,7 @@ Fcons (Fcons (list1 (device_symbol), - build_string ("-*-*-medium-r-*-*-*-120-*-*-c-*-*-*")), + build_ascstring ("-*-*-medium-r-*-*-*-120-*-*-c-*-*-*")), inst_list); /* With a Cygwin XFree86 install, this returns the best (clearest, @@ -2417,7 +2417,7 @@ Fcons (Fcons (list1 (device_symbol), - build_string ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")), + build_ascstring ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")), inst_list); #endif /* !USE_XFT */ @@ -2425,7 +2425,7 @@ #endif /* HAVE_X_WINDOWS || HAVE_GTK */ #ifdef HAVE_TTY - inst_list = Fcons (Fcons (list1 (Qtty), build_string ("normal")), + inst_list = Fcons (Fcons (list1 (Qtty), build_ascstring ("normal")), inst_list); #endif /* HAVE_TTY */ @@ -2444,18 +2444,18 @@ { /* display device */ inst_list = Fcons (Fcons (list1 (Qmswindows), - build_string (*mswfontptr)), + build_ascstring (*mswfontptr)), inst_list); /* printer device */ inst_list = Fcons (Fcons (list1 (Qmsprinter), - build_string (*mswfontptr)), + build_ascstring (*mswfontptr)), inst_list); } /* Use Lucida Console rather than Courier New if it exists -- the line spacing is much less, so many more lines fit with the same size font. (And it's specifically designed for screens.) */ inst_list = Fcons (Fcons (list1 (Qmswindows), - build_string ("Lucida Console:Regular:10::")), + build_ascstring ("Lucida Console:Regular:10::")), inst_list); } #endif /* HAVE_MS_WINDOWS */ @@ -2479,7 +2479,7 @@ /* gui-element is the parent face of all gui elements such as modeline, vertical divider and toolbar. */ Vgui_element_face = Fmake_face (Qgui_element, - build_msg_string ("gui element face"), + build_defer_string ("gui element face"), Qnil); /* Provide some last-resort fallbacks for gui-element face which @@ -2493,22 +2493,22 @@ /* We need to put something in there, or error checking gets #%!@#ed up before the styles are set, which override the fallbacks. */ - fg_fb = acons (list1 (Qgtk), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qgtk), build_string ("Gray80"), bg_fb); + fg_fb = acons (list1 (Qgtk), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qgtk), build_ascstring ("Gray80"), bg_fb); #endif #ifdef HAVE_X_WINDOWS - fg_fb = acons (list1 (Qx), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qx), build_string ("Gray80"), bg_fb); + fg_fb = acons (list1 (Qx), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qx), build_ascstring ("Gray80"), bg_fb); #endif #ifdef HAVE_TTY fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); #endif #ifdef HAVE_MS_WINDOWS - fg_fb = acons (list1 (Qmsprinter), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qmsprinter), build_string ("white"), bg_fb); - fg_fb = acons (list1 (Qmswindows), build_string ("black"), fg_fb); - bg_fb = acons (list1 (Qmswindows), build_string ("Gray75"), bg_fb); + fg_fb = acons (list1 (Qmsprinter), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qmsprinter), build_ascstring ("white"), bg_fb); + fg_fb = acons (list1 (Qmswindows), build_ascstring ("black"), fg_fb); + bg_fb = acons (list1 (Qmswindows), build_ascstring ("Gray75"), bg_fb); #endif set_specifier_fallback (Fget (Vgui_element_face, Qforeground, Qnil), fg_fb); set_specifier_fallback (Fget (Vgui_element_face, Qbackground, Qnil), bg_fb); @@ -2519,7 +2519,7 @@ way since we need to get them anyway. */ /* modeline is gui element. */ - Vmodeline_face = Fmake_face (Qmodeline, build_msg_string ("modeline face"), + Vmodeline_face = Fmake_face (Qmodeline, build_defer_string ("modeline face"), Qnil); set_specifier_fallback (Fget (Vmodeline_face, Qforeground, Qunbound), @@ -2532,7 +2532,7 @@ /* toolbar is another gui element */ Vtoolbar_face = Fmake_face (Qtoolbar, - build_msg_string ("toolbar face"), + build_defer_string ("toolbar face"), Qnil); set_specifier_fallback (Fget (Vtoolbar_face, Qforeground, Qunbound), Fget (Vgui_element_face, Qforeground, Qunbound)); @@ -2544,7 +2544,7 @@ /* vertical divider is another gui element */ Vvertical_divider_face = Fmake_face (Qvertical_divider, - build_msg_string ("vertical divider face"), + build_defer_string ("vertical divider face"), Qnil); set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound), @@ -2558,7 +2558,7 @@ /* widget is another gui element */ Vwidget_face = Fmake_face (Qwidget, - build_msg_string ("widget face"), + build_defer_string ("widget face"), Qnil); /* #### weird ... the gui-element face doesn't have its own font yet */ set_specifier_fallback (Fget (Vwidget_face, Qfont, Qunbound), @@ -2570,17 +2570,17 @@ /* We don't want widgets to have a default background pixmap. */ Vleft_margin_face = Fmake_face (Qleft_margin, - build_msg_string ("left margin face"), + build_defer_string ("left margin face"), Qnil); Vright_margin_face = Fmake_face (Qright_margin, - build_msg_string ("right margin face"), + build_defer_string ("right margin face"), Qnil); Vtext_cursor_face = Fmake_face (Qtext_cursor, - build_msg_string ("face for text cursor"), + build_defer_string ("face for text cursor"), Qnil); Vpointer_face = Fmake_face (Qpointer, - build_msg_string + build_defer_string ("face for foreground/background colors of mouse pointer"), Qnil); }
--- a/src/file-coding.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/file-coding.c Mon Feb 01 14:11:36 2010 -0600 @@ -301,7 +301,7 @@ write_fmt_string_lisp (printcharfun, "#<coding-system %s ", 1, c->name); print_coding_system_properties (obj, printcharfun); - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, ">"); } /* Print an abbreviated version of a coding system (but still containing @@ -313,7 +313,7 @@ { write_fmt_string_lisp (printcharfun, "%s[", 1, XCODING_SYSTEM_NAME (cs)); print_coding_system_properties (cs, printcharfun); - write_c_string (printcharfun, "]"); + write_ascstring (printcharfun, "]"); } #ifndef NEW_GC @@ -521,18 +521,12 @@ if (flags & QUERY_METHOD_ERRORP) { - DECLARE_EISTRING (error_details); - - eicpy_ascii (error_details, "Cannot encode "); - eicat_lstr (error_details, - make_string_from_buffer (buf, fail_range_start, - pos - - fail_range_start)); - eicat_ascii (error_details, " using coding system"); - - signal_error (Qtext_conversion_error, - (const CIbyte *)(eidata (error_details)), - XCODING_SYSTEM_NAME (codesys)); + signal_error_2 + (Qtext_conversion_error, + "Cannot encode using coding system", + make_string_from_buffer (buf, fail_range_start, + pos - fail_range_start), + XCODING_SYSTEM_NAME (codesys)); } if (NILP (result)) @@ -679,7 +673,7 @@ } } - coding_system_or_name = intern_int (eidata (desired_base)); + coding_system_or_name = intern_istring (eidata (desired_base)); /* Remove this coding system and its subsidiary coding systems from the hash, to avoid calling this code recursively. */ @@ -697,7 +691,7 @@ /* Keep around the form so it doesn't disappear from under #'eval's feet. */ GCPRO1 (lookup); - call1_trapping_problems ((const CIbyte *)eidata (warning_info), + call1_trapping_problems ((const CIbyte *) eidata (warning_info), Qeval, lookup, 0); UNGCPRO; @@ -1107,14 +1101,14 @@ enum eol_type eol = coding_subsidiary_list[i].eol; qxestrcpy_ascii (codesys_name + len, extension); - codesys_name_sym = intern_int (codesys_name); + codesys_name_sym = intern_istring (codesys_name); if (mlen != -1) qxestrcpy_ascii (codesys_mnemonic + mlen, mnemonic_ext); sub_codesys = Fcopy_coding_system (codesys, codesys_name_sym); if (mlen != -1) XCODING_SYSTEM_MNEMONIC (sub_codesys) = - build_intstring (codesys_mnemonic); + build_istring (codesys_mnemonic); if (eol != EOL_LF) { @@ -1127,7 +1121,7 @@ (sub_codesys, "internal-subsidiary-eol-wrapper", Qchain, Qunbound, mlen != -1 ? - list6 (Qmnemonic, build_intstring (codesys_mnemonic), + list6 (Qmnemonic, build_istring (codesys_mnemonic), Qchain, chain, Qcanonicalize_after_coding, sub_codesys) : list4 (Qchain, chain, @@ -1213,7 +1207,7 @@ XSTRING_DATA (Fsymbol_name (XCODING_SYSTEM_NAME (name_or_existing))), ++coding_system_tick); - name_or_existing = intern_int (newname); + name_or_existing = intern_istring (newname); xfree (newname, Ibyte *); if (UNBOUNDP (description)) @@ -1222,12 +1216,12 @@ emacs_sprintf_malloc (NULL, "For Internal Use (%s)", XSTRING_DATA (Fsymbol_name (name_or_existing))); - description = build_intstring (newname); + description = build_istring (newname); xfree (newname, Ibyte *); } newname = emacs_sprintf_malloc (NULL, "Int%d", coding_system_tick); - defmnem = build_intstring (newname); + defmnem = build_istring (newname); xfree (newname, Ibyte *); } else @@ -1248,7 +1242,7 @@ cs->internal_p = !!prefix; if (NILP (description)) - description = build_string (""); + description = build_ascstring (""); else CHECK_STRING (description); CODING_SYSTEM_DESCRIPTION (cs) = description; @@ -1376,7 +1370,7 @@ (NULL, "internal-eol-copy-%s-%d", XSTRING_DATA (Fsymbol_name (name_or_existing)), ++coding_system_tick); - Lisp_Object newnamesym = intern_int (newname); + Lisp_Object newnamesym = intern_istring (newname); Lisp_Object copied = Fcopy_coding_system (csobj, newnamesym); xfree (newname, Ibyte *); @@ -2612,10 +2606,10 @@ { int i; - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); for (i = 0; i < XCODING_SYSTEM_CHAIN_COUNT (cs); i++) { - write_c_string (printcharfun, i == 0 ? "" : "->"); + write_ascstring (printcharfun, i == 0 ? "" : "->"); print_coding_system_in_print_method (XCODING_SYSTEM_CHAIN_CHAIN (cs)[i], printcharfun, escapeflag); } @@ -2624,13 +2618,13 @@ if (!NILP (cac)) { if (i > 0) - write_c_string (printcharfun, " "); - write_c_string (printcharfun, "canonicalize-after-coding="); + write_ascstring (printcharfun, " "); + write_ascstring (printcharfun, "canonicalize-after-coding="); print_coding_system_in_print_method (cac, printcharfun, escapeflag); } } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } static void @@ -3270,27 +3264,27 @@ XCODING_SYSTEM_TYPE_DATA (cs, undecided); int need_space = 0; - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); if (data->do_eol) { - write_c_string (printcharfun, "do-eol"); + write_ascstring (printcharfun, "do-eol"); need_space = 1; } if (data->do_coding) { if (need_space) - write_c_string (printcharfun, " "); - write_c_string (printcharfun, "do-coding"); + write_ascstring (printcharfun, " "); + write_ascstring (printcharfun, "do-coding"); need_space = 1; } if (!NILP (data->cs)) { if (need_space) - write_c_string (printcharfun, " "); - write_c_string (printcharfun, "coding-system="); + write_ascstring (printcharfun, " "); + write_ascstring (printcharfun, "coding-system="); print_coding_system_in_print_method (data->cs, printcharfun, escapeflag); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } static void @@ -3719,9 +3713,9 @@ if (n > 0) { name[n] = '\0'; - /* This call to intern_int() is OK because we already verified that + /* This call to intern_istring() is OK because we already verified that there are only ASCII characters in the string */ - return find_coding_system_for_text_file (intern_int ((Ibyte *) name), 0); + return find_coding_system_for_text_file (intern_istring ((Ibyte *) name), 0); } return Qnil; @@ -4312,12 +4306,12 @@ { struct gzip_coding_system *data = XCODING_SYSTEM_TYPE_DATA (cs, gzip); - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); if (data->level == -1) - write_c_string (printcharfun, "default"); + write_ascstring (printcharfun, "default"); else print_internal (make_int (data->level), printcharfun, 0); - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } static int @@ -4750,7 +4744,7 @@ /* We always have file-coding support */ Fprovide (intern ("file-coding")); - QScoding_system_cookie = build_string (";;;###coding system: "); + QScoding_system_cookie = build_ascstring (";;;###coding system: "); staticpro (&QScoding_system_cookie); #ifdef HAVE_DEFAULT_EOL_DETECTION @@ -4838,12 +4832,12 @@ { Fmake_coding_system_internal (Qconvert_eol_cr, Qconvert_eol, - build_msg_string ("Convert CR to LF"), + build_defer_string ("Convert CR to LF"), nconc2 (list6 (Qdocumentation, - build_msg_string ( + build_defer_string ( "Converts CR (used to mark the end of a line on Macintosh systems) to LF\n" "(used internally and under Unix to mark the end of a line)."), - Qmnemonic, build_string ("CR->LF"), + Qmnemonic, build_ascstring ("CR->LF"), Qsubtype, Qcr), /* VERY IMPORTANT! Tell make-coding-system not to generate subsidiaries -- it needs the coding systems we're creating @@ -4853,11 +4847,11 @@ Fmake_coding_system_internal (Qconvert_eol_lf, Qconvert_eol, - build_msg_string ("Convert LF to LF (do nothing)"), + build_defer_string ("Convert LF to LF (do nothing)"), nconc2 (list6 (Qdocumentation, - build_msg_string ( + build_defer_string ( "Do nothing."), - Qmnemonic, build_string ("LF->LF"), + Qmnemonic, build_ascstring ("LF->LF"), Qsubtype, Qlf), /* VERY IMPORTANT! Tell make-coding-system not to generate subsidiaries -- it needs the coding systems we're creating @@ -4867,12 +4861,12 @@ Fmake_coding_system_internal (Qconvert_eol_crlf, Qconvert_eol, - build_msg_string ("Convert CRLF to LF"), + build_defer_string ("Convert CRLF to LF"), nconc2 (list6 (Qdocumentation, - build_msg_string ( + build_defer_string ( "Converts CR+LF (used to mark the end of a line on Macintosh systems) to LF\n" "(used internally and under Unix to mark the end of a line)."), - Qmnemonic, build_string ("CRLF->LF"), + Qmnemonic, build_ascstring ("CRLF->LF"), Qsubtype, Qcrlf), /* VERY IMPORTANT! Tell make-coding-system not to generate @@ -4883,11 +4877,11 @@ Fmake_coding_system_internal (Qconvert_eol_autodetect, Qconvert_eol, - build_msg_string ("Autodetect EOL type"), + build_defer_string ("Autodetect EOL type"), nconc2 (list6 (Qdocumentation, - build_msg_string ( + build_defer_string ( "Autodetect the end-of-line type."), - Qmnemonic, build_string ("Auto-EOL"), + Qmnemonic, build_ascstring ("Auto-EOL"), Qsubtype, Qnil), /* VERY IMPORTANT! Tell make-coding-system not to generate subsidiaries -- it needs the coding systems we're creating @@ -4897,11 +4891,11 @@ Fmake_coding_system_internal (Qundecided, Qundecided, - build_msg_string ("Undecided (auto-detect)"), + build_defer_string ("Undecided (auto-detect)"), nconc2 (list4 (Qdocumentation, - build_msg_string + build_defer_string ("Automatically detects the correct encoding."), - Qmnemonic, build_string ("Auto")), + Qmnemonic, build_ascstring ("Auto")), list6 (Qdo_eol, Qt, Qdo_coding, Qt, /* We do EOL detection ourselves so we don't need to be wrapped in an EOL detector. (It doesn't actually hurt, @@ -4910,43 +4904,43 @@ Fmake_coding_system_internal (intern ("undecided-dos"), Qundecided, - build_msg_string ("Undecided (auto-detect) (CRLF)"), + build_defer_string ("Undecided (auto-detect) (CRLF)"), nconc2 (list4 (Qdocumentation, - build_msg_string + build_defer_string ("Automatically detects the correct encoding; EOL type of CRLF forced."), - Qmnemonic, build_string ("Auto")), + Qmnemonic, build_ascstring ("Auto")), list4 (Qdo_coding, Qt, Qeol_type, Qcrlf))); Fmake_coding_system_internal (intern ("undecided-unix"), Qundecided, - build_msg_string ("Undecided (auto-detect) (LF)"), + build_defer_string ("Undecided (auto-detect) (LF)"), nconc2 (list4 (Qdocumentation, - build_msg_string + build_defer_string ("Automatically detects the correct encoding; EOL type of LF forced."), - Qmnemonic, build_string ("Auto")), + Qmnemonic, build_ascstring ("Auto")), list4 (Qdo_coding, Qt, Qeol_type, Qlf))); Fmake_coding_system_internal (intern ("undecided-mac"), Qundecided, - build_msg_string ("Undecided (auto-detect) (CR)"), + build_defer_string ("Undecided (auto-detect) (CR)"), nconc2 (list4 (Qdocumentation, - build_msg_string + build_defer_string ("Automatically detects the correct encoding; EOL type of CR forced."), - Qmnemonic, build_string ("Auto")), + Qmnemonic, build_ascstring ("Auto")), list4 (Qdo_coding, Qt, Qeol_type, Qcr))); /* Need to create this here or we're really screwed. */ Fmake_coding_system_internal (Qraw_text, Qno_conversion, - build_msg_string ("Raw Text"), + build_defer_string ("Raw Text"), nconc2 (list4 (Qdocumentation, - build_msg_string ("Raw text converts only line-break " + build_defer_string ("Raw text converts only line-break " "codes, and acts otherwise like " "`binary'."), - Qmnemonic, build_string ("Raw")), + Qmnemonic, build_ascstring ("Raw")), #ifdef MULE list2 (Qsafe_charsets, list3 (Vcharset_ascii, Vcharset_control_1, Vcharset_latin_iso8859_1)))); @@ -4957,9 +4951,9 @@ Fmake_coding_system_internal (Qbinary, Qno_conversion, - build_msg_string ("Binary"), + build_defer_string ("Binary"), nconc2 (list6 (Qdocumentation, - build_msg_string ( + build_defer_string ( "This coding system is as close as it comes to doing no conversion.\n" "On input, each byte is converted directly into the character\n" "with the corresponding code -- i.e. from the `ascii', `control-1',\n" @@ -4967,7 +4961,7 @@ "converted back to the corresponding bytes, and other characters\n" "are converted to the default character, i.e. `~'."), Qeol_type, Qlf, - Qmnemonic, build_string ("Binary")), + Qmnemonic, build_ascstring ("Binary")), #ifdef MULE list2 (Qsafe_charsets, list3 (Vcharset_ascii, Vcharset_control_1, Vcharset_latin_iso8859_1))));
--- a/src/fileio.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/fileio.c Mon Feb 01 14:11:36 2010 -0600 @@ -143,13 +143,13 @@ DOESNT_RETURN report_file_type_error (Lisp_Object errtype, Lisp_Object oserrmess, - const CIbyte *string, Lisp_Object data) + const Ascbyte *reason, Lisp_Object data) { struct gcpro gcpro1; Lisp_Object errdata = build_error_data (NULL, data); GCPRO1 (errdata); - errdata = Fcons (build_msg_string (string), + errdata = Fcons (build_msg_string (reason), Fcons (oserrmess, errdata)); signal_error_1 (errtype, errdata); /* UNGCPRO; not reached */ @@ -157,17 +157,17 @@ DOESNT_RETURN report_error_with_errno (Lisp_Object errtype, - const CIbyte *string, Lisp_Object data) + const Ascbyte *reason, Lisp_Object data) { - report_file_type_error (errtype, lisp_strerror (errno), string, data); + report_file_type_error (errtype, lisp_strerror (errno), reason, data); } /* signal a file error when errno contains a meaningful value. */ DOESNT_RETURN -report_file_error (const CIbyte *string, Lisp_Object data) +report_file_error (const Ascbyte *reason, Lisp_Object data) { - report_error_with_errno (Qfile_error, string, data); + report_error_with_errno (Qfile_error, reason, data); } @@ -182,9 +182,9 @@ { Ibyte ffff[99]; qxesprintf (ffff, "Unknown error %d", errnum); - return build_intstring (ffff); + return build_istring (ffff); } - return build_ext_string (ret, Qstrerror_encoding); + return build_extstring (ret, Qstrerror_encoding); } static Lisp_Object @@ -429,7 +429,7 @@ qxestrncpy (newbeg, beg, len); newbeg[len] = '\0'; newbeg = mswindows_canonicalize_filename (newbeg); - return build_intstring (newbeg); + return build_istring (newbeg); } #endif #endif /* not WIN32_NATIVE */ @@ -549,7 +549,7 @@ buf = alloca_ibytes (XSTRING_LENGTH (filename) + 10); file_name_as_directory (buf, XSTRING_DATA (filename)); if (qxestrcmp (buf, XSTRING_DATA (filename))) - return build_intstring (buf); + return build_istring (buf); else return filename; } @@ -606,7 +606,7 @@ return call2_check_string (handler, Qdirectory_file_name, directory); buf = alloca_ibytes (XSTRING_LENGTH (directory) + 20); directory_file_name (XSTRING_DATA (directory), buf); - return build_intstring (buf); + return build_istring (buf); } /* Fmake_temp_name used to be a simple wrapper around mktemp(), but it @@ -787,7 +787,7 @@ if (NILP (default_directory)) default_directory = current_buffer->directory; if (! STRINGP (default_directory)) - default_directory = build_string (DEFAULT_DIRECTORY_FALLBACK); + default_directory = build_ascstring (DEFAULT_DIRECTORY_FALLBACK); if (!NILP (default_directory)) { @@ -946,7 +946,7 @@ { newnm = mswindows_canonicalize_filename (nm); if (qxestrcmp (newnm, XSTRING_DATA (name)) != 0) - name = build_intstring (newnm); + name = build_istring (newnm); } else { @@ -954,7 +954,7 @@ newnm = mswindows_canonicalize_filename (nm - 2); if (qxestrcmp (newnm, XSTRING_DATA (name)) != 0) { - name = build_intstring (newnm); + name = build_istring (newnm); XSTRING_DATA (name)[0] = DRIVE_LETTER (drive); XSTRING_DATA (name)[1] = ':'; } @@ -967,7 +967,7 @@ if (nm == XSTRING_DATA (name)) RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, name); RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, - build_intstring (nm)); + build_istring (nm)); #endif /* not WIN32_NATIVE */ } } @@ -1332,7 +1332,7 @@ { Ibyte *newtarget = mswindows_canonicalize_filename (target); - Lisp_Object result = build_intstring (newtarget); + Lisp_Object result = build_istring (newtarget); xfree (newtarget, Ibyte *); RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, result); @@ -1761,7 +1761,7 @@ If the file does not exist, STATPTR->st_mode is set to 0. */ static void -barf_or_query_if_file_exists (Lisp_Object absname, const CIbyte *querystring, +barf_or_query_if_file_exists (Lisp_Object absname, const Ascbyte *querystring, int interactive, struct stat *statptr) { /* This function can call Lisp. GC checked 2000-07-28 ben */ @@ -1780,8 +1780,8 @@ prompt = emacs_sprintf_string - (CGETTEXT ("File %s already exists; %s anyway? "), - XSTRING_DATA (absname), CGETTEXT (querystring)); + (GETTEXT ("File %s already exists; %s anyway? "), + XSTRING_DATA (absname), GETTEXT (querystring)); GCPRO1 (prompt); tem = call1 (Qyes_or_no_p, prompt); @@ -2103,7 +2103,7 @@ NGCPRO1 (*args); ngcpro1.nvars = 3; if (string_byte (newname, XSTRING_LENGTH (newname) - 1) != '/') - args[i++] = build_string ("/"); + args[i++] = build_ascstring ("/"); args[i++] = Ffile_name_nondirectory (filename); newname = Fconcat (i, args); NUNGCPRO; @@ -2607,7 +2607,7 @@ if (!fname) return Qnil; { - Lisp_Object val = build_intstring (fname); + Lisp_Object val = build_istring (fname); xfree (fname, Ibyte *); return val; } @@ -3858,7 +3858,7 @@ ecb_crypt (raw_key, encrypted_string, rounded_size, DES_ENCRYPT | DES_SW); - return make_ext_string (encrypted_string, rounded_size, Qbinary); + return make_extstring (encrypted_string, rounded_size, Qbinary); } DEFUN ("decrypt-string", Fdecrypt_string, 2, 2, 0, /* @@ -3889,7 +3889,7 @@ ecb_crypt (raw_key, decrypted_string, string_size, D | DES_SW); - return make_ext_string (decrypted_string, string_size - 1, Qbinary); + return make_extstring (decrypted_string, string_size - 1, Qbinary); } #endif /* 0 */ @@ -4477,7 +4477,7 @@ vars_of_fileio (void) { QSin_expand_file_name = - build_msg_string ("(in expand-file-name)"); + build_defer_string ("(in expand-file-name)"); staticpro (&QSin_expand_file_name); DEFVAR_LISP ("auto-save-file-format", &Vauto_save_file_format /* @@ -4563,7 +4563,7 @@ Emacs's pid and the system name will be appended to this prefix to create a unique file name. */ ); - Vauto_save_list_file_prefix = build_string ("~/.saves-"); + Vauto_save_list_file_prefix = build_ascstring ("~/.saves-"); DEFVAR_BOOL ("inhibit-auto-save-session", &inhibit_auto_save_session /* When non-nil, inhibit auto save list file creation.
--- a/src/filelock.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/filelock.c Mon Feb 01 14:11:36 2010 -0600 @@ -358,7 +358,7 @@ attack = call2_in_buffer (BUFFERP (subject_buf) ? XBUFFER (subject_buf) : current_buffer, Qask_user_about_lock , fn, - build_intstring (locker)); + build_istring (locker)); if (!NILP (attack) && current_buffer == XBUFFER (old_current_buffer)) /* User says take the lock */ { @@ -474,7 +474,7 @@ else if (owner == 2) ret = Qt; else - ret = build_intstring (locker.user); + ret = build_istring (locker.user); if (owner > 0) FREE_LOCK_INFO (locker);
--- a/src/floatfns.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/floatfns.c Mon Feb 01 14:11:36 2010 -0600 @@ -2454,7 +2454,7 @@ /* if (!strcmp (x->name, "pow")) x->name = "expt"; */ - args = Fcons (build_string (x->name), + args = Fcons (build_extstring (x->name, Qerror_message_encoding), Fcons (make_float (x->arg1), ((in_float == 2) ? Fcons (make_float (x->arg2), Qnil)
--- a/src/fns.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/fns.c Mon Feb 01 14:11:36 2010 -0600 @@ -81,17 +81,17 @@ if (INTP (Vprint_length)) last = min (len, XINT (Vprint_length)); - write_c_string (printcharfun, "#*"); + write_ascstring (printcharfun, "#*"); for (i = 0; i < last; i++) { if (bit_vector_bit (v, i)) - write_c_string (printcharfun, "1"); + write_ascstring (printcharfun, "1"); else - write_c_string (printcharfun, "0"); + write_ascstring (printcharfun, "0"); } if (last != len) - write_c_string (printcharfun, "..."); + write_ascstring (printcharfun, "..."); } static int @@ -3357,7 +3357,7 @@ EMACS_INT i; EMACS_INT nargs = len + len - 1; - if (len == 0) return build_string (""); + if (len == 0) return build_ascstring (""); args = alloca_array (Lisp_Object, nargs); @@ -3468,14 +3468,14 @@ add_suffix_to_symbol (Lisp_Object symbol, const Ascbyte *ascii_string) { return Fintern (concat2 (Fsymbol_name (symbol), - build_string (ascii_string)), + build_ascstring (ascii_string)), Qnil); } Lisp_Object add_prefix_to_symbol (const Ascbyte *ascii_string, Lisp_Object symbol) { - return Fintern (concat2 (build_string (ascii_string), + return Fintern (concat2 (build_ascstring (ascii_string), Fsymbol_name (symbol)), Qnil); }
--- a/src/font-mgr.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/font-mgr.c Mon Feb 01 14:11:36 2010 -0600 @@ -162,7 +162,7 @@ (NEW_LISP_STRING_TO_EXTERNAL ((str), Qfc_font_name_encoding)) #define build_fcapi_string(str) \ - (build_ext_string ((Extbyte *) (str), Qfc_font_name_encoding)) + (build_extstring ((Extbyte *) (str), Qfc_font_name_encoding)) /* #### This homebrew lashup should be replaced with FcConstants. @@ -180,7 +180,7 @@ ourselves; hash.c hashtables do not interpret the value pointers. This array should be FcChar8**, but GCC 4.x bitches about signedness. */ -static Extbyte *fc_standard_properties[] = { +static const Extbyte *fc_standard_properties[] = { /* treated specially, ordered first */ "family", "size", /* remaining are alphabetized by group */ @@ -838,7 +838,7 @@ FC_CONFIG_DIR environment variable. */ (name)) { - char *fcname = ""; + const Ascbyte *fcname = ""; if (!NILP (name)) { @@ -1217,7 +1217,7 @@ unsigned i; Lisp_Object reg = Qnil; const Extbyte *re[] = /* #### This could just be catenated by - cpp and passed to build_ext_string. */ + cpp and passed to build_extstring. */ { /* Regular expression matching XLFDs as defined by XLFD v. 1.5. Matches must be case-insensitive. @@ -1264,7 +1264,7 @@ for (i = 0; i < sizeof(re)/sizeof(Extbyte *); i++) { /* #### Currently this is Host Portable Coding, not ISO 8859-1. */ - reg = concat2(reg, build_ext_string (re[i], Qx_font_name_encoding)); + reg = concat2(reg, build_extstring (re[i], Qx_font_name_encoding)); } RETURN_UNGCPRO (reg);
--- a/src/frame-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/frame-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -1159,12 +1159,12 @@ */ (frame)) { - char str[255]; + Ascbyte str[255]; struct frame *f = decode_gtk_frame (frame); /* Arrrrggghhh... this defeats the whole purpose of using Gdk... do we really need this? */ sprintf (str, "%lu", GDK_WINDOW_XWINDOW( GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)))); - return build_string (str); + return build_ascstring (str); } #endif
--- a/src/frame-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/frame-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -608,7 +608,7 @@ struct frame *f = decode_mswindows_frame (frame); qxesprintf (str, "%lu", (unsigned long) FRAME_MSWINDOWS_HANDLE (f)); - return build_intstring (str); + return build_istring (str); } static Lisp_Object
--- a/src/frame-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/frame-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -466,7 +466,7 @@ init_x_prop_symbols (void) { #define def(sym, rsrc) \ - Fput (sym, Qx_resource_name, build_string (rsrc)) + Fput (sym, Qx_resource_name, build_ascstring (rsrc)) #define defi(sym,rsrc) \ def (sym, rsrc); Fput (sym, Qintegerp, Qt) @@ -515,7 +515,7 @@ color.pixel = pixel; XQueryColor (XtDisplay (w), w->core.colormap, &color); qxesprintf (buf, "#%04x%04x%04x", color.red, color.green, color.blue); - return build_intstring (buf); + return build_istring (buf); } static void @@ -990,9 +990,9 @@ shell->core.widget_class->core_class.class_name, resources, XtNumber (resources), 0, 0); if (results[0]) - Vframe_title_format = build_ext_string (results[0], Qctext); + Vframe_title_format = build_extstring (results[0], Qctext); if (results[1]) - Vframe_icon_title_format = build_ext_string (results[1], Qctext); + Vframe_icon_title_format = build_extstring (results[1], Qctext); } frame_title_format_already_set = 1; @@ -1274,7 +1274,7 @@ fileint, Qfile_name); hurl = dnd_url_hexify_string (fileint, "file:"); - l_data = Fcons (build_intstring (hurl), l_data); + l_data = Fcons (build_istring (hurl), l_data); xfree (hurl, Ibyte *); } } @@ -1297,12 +1297,12 @@ /* let us forget this name thing for now... */ /* filePath = transferInfo->dropData->data.buffers[ii].name; path = (filePath == NULL) ? Qnil - : build_ext_string (filePath, Q???); */ + : build_extstring (filePath, Q???); */ /* what, if the data is no text, and how can I tell it? */ l_data = - Fcons (list3 (list1 (build_string ("text/plain")), - build_string ("8bit"), - make_ext_string + Fcons (list3 (list1 (build_ascstring ("text/plain")), + build_ascstring ("8bit"), + make_extstring (transferInfo->dropData->data.buffers[ii].bp, transferInfo->dropData->data.buffers[ii].size, /* !!#### what goes here? */ @@ -2208,7 +2208,7 @@ struct frame *f = decode_x_frame (frame); qxesprintf (str, "%lu", XtWindow (FRAME_X_TEXT_WIDGET (f))); - return build_intstring (str); + return build_istring (str); }
--- a/src/frame.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/frame.c Mon Feb 01 14:11:36 2010 -0600 @@ -529,17 +529,17 @@ { /* We leave Vdefault_frame_name alone here so that it'll remain Qnil in the dumped executable, and we can choose it at runtime. */ - name = build_string("XEmacs"); + name = build_ascstring ("XEmacs"); } else if (NILP (Vdefault_frame_name)) { if (egetenv ("USE_EMACS_AS_DEFAULT_APPLICATION_CLASS")) { - Vdefault_frame_name = build_string ("emacs"); + Vdefault_frame_name = build_ascstring ("emacs"); } else { - Vdefault_frame_name = build_string ("XEmacs"); + Vdefault_frame_name = build_ascstring ("XEmacs"); } } @@ -3862,16 +3862,16 @@ /* #### I would change this unilaterally but for the wrath of the Kyles of the world. */ #ifdef WIN32_NATIVE - Vframe_title_format = build_string ("%b - XEmacs"); + Vframe_title_format = build_ascstring ("%b - XEmacs"); #else - Vframe_title_format = build_string ("%S: %b"); + Vframe_title_format = build_ascstring ("%S: %b"); #endif DEFVAR_LISP ("frame-icon-title-format", &Vframe_icon_title_format /* Controls the title of the icon corresponding to the selected frame. See also the variable `frame-title-format'. */ ); - Vframe_icon_title_format = build_string ("%b"); + Vframe_icon_title_format = build_ascstring ("%b"); DEFVAR_LISP ("default-frame-name", &Vdefault_frame_name /* The default name to assign to newly-created frames.
--- a/src/gc.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/gc.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,5 +1,6 @@ /* New incremental garbage collector for XEmacs. Copyright (C) 2005 Marcus Crestani. + Copyright (C) 2010 Ben Wing. This file is part of XEmacs. @@ -1496,7 +1497,7 @@ Lisp_Object args[2], whole_msg; args[0] = (STRINGP (Vgc_message) ? Vgc_message : build_msg_string (gc_default_message)); - args[1] = build_string ("..."); + args[1] = build_ascstring ("..."); whole_msg = Fconcat (2, args); echo_area_message (f, (Ibyte *) 0, whole_msg, 0, -1, Qgarbage_collecting); @@ -1624,8 +1625,9 @@ { /* staticpro() */ Lisp_Object **p = Dynarr_begin (staticpros); + Elemcount len = Dynarr_length (staticpros); Elemcount count; - for (count = Dynarr_length (staticpros); count; count--, p++) + for (count = 0; count < len; count++, p++) /* Need to check if the pointer in the staticpro array is not NULL. A gc can occur after variable is added to the staticpro array and _before_ it is correctly initialized. In this case @@ -1636,8 +1638,9 @@ { /* staticpro_nodump() */ Lisp_Object **p = Dynarr_begin (staticpros_nodump); + Elemcount len = Dynarr_length (staticpros_nodump); Elemcount count; - for (count = Dynarr_length (staticpros_nodump); count; count--, p++) + for (count = 0; count < len; count++, p++) /* Need to check if the pointer in the staticpro array is not NULL. A gc can occur after variable is added to the staticpro array and _before_ it is correctly initialized. In this case @@ -1649,9 +1652,10 @@ #ifdef NEW_GC { /* mcpro () */ Lisp_Object *p = Dynarr_begin (mcpros); + Elemcount len = Dynarr_length (mcpros); Elemcount count; - for (count = Dynarr_length (mcpros); count; count--) - mark_object (*p++); + for (count = 0; count < len; count++, p++) + mark_object (*p); } #endif /* NEW_GC */ @@ -2098,7 +2102,7 @@ { staticpro_nodump (&pre_gc_cursor); - QSin_garbage_collection = build_msg_string ("(in garbage collection)"); + QSin_garbage_collection = build_defer_string ("(in garbage collection)"); staticpro (&QSin_garbage_collection); DEFVAR_INT ("gc-cons-threshold", &gc_cons_threshold /* @@ -2193,7 +2197,7 @@ image instance) in the domain of the selected frame, the mouse pointer will change instead of this message being printed. */ ); - Vgc_message = build_string (gc_default_message); + Vgc_message = build_defer_string (gc_default_message); DEFVAR_LISP ("gc-pointer-glyph", &Vgc_pointer_glyph /* Pointer glyph used to indicate that a garbage collection is in progress.
--- a/src/glade.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glade.c Mon Feb 01 14:11:36 2010 -0600 @@ -59,7 +59,7 @@ if (signal_data && signal_data[0]) { lisp_data - = IGNORE_MULTIPLE_VALUES (Feval (Fread (build_string (signal_data)))); + = IGNORE_MULTIPLE_VALUES (Feval (Fread (build_cistring (signal_data)))); } /* obj, name, func, cb_data, object_signal, after_p */ @@ -132,7 +132,7 @@ #else the_domain = GLADE_XML (XGTK_OBJECT (xml)->object)->textdomain; #endif - return (build_string (the_domain)); + return (build_cistring (the_domain)); } void syms_of_glade (void)
--- a/src/glyphs-eimage.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs-eimage.c Mon Feb 01 14:11:36 2010 -0600 @@ -375,7 +375,7 @@ /* Create the message */ (*cinfo.err->format_message) ((j_common_ptr) &cinfo, buffer); - errstring = build_ext_string (buffer, Qjpeg_error_message_encoding); + errstring = build_extstring (buffer, Qjpeg_error_message_encoding); signal_image_error_2 ("JPEG decoding error", errstring, instantiator); @@ -902,7 +902,8 @@ /* Something blew up: just display the error (cleanup happens in the unwind) */ signal_image_error_2 ("Error decoding PNG", - build_string(png_err_stct.err_str), + build_extstring (png_err_stct.err_str, + Qerror_message_encoding), instantiator); } @@ -1300,7 +1301,8 @@ /* An error was signaled. No clean up is needed, as unwind handles that for us. Just pass the error along. */ signal_image_error_2 ("TIFF decoding error", - build_string(tiff_err_data.err_str), + build_extstring (tiff_err_data.err_str, + Qerror_message_encoding), instantiator); } TIFFSetErrorHandler ((TIFFErrorHandler)tiff_error_func);
--- a/src/glyphs-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -362,7 +362,7 @@ if (IMAGE_INSTANCE_GTK_MASK (p)) write_fmt_string (printcharfun, "/0x%lx", (unsigned long) IMAGE_INSTANCE_GTK_MASK (p)); - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); break; #ifdef HAVE_SUBWINDOWS case IMAGE_SUBWINDOW: @@ -1775,7 +1775,7 @@ source = gdk_font_load (source_name); if (! source) gui_error_2 ("couldn't load font", - build_string (source_name), + build_cistring (source_name), data); if (count == 2) mask = 0; @@ -1787,7 +1787,7 @@ if (!mask) /* continuable */ Fsignal (Qgui_error, list3 (build_msg_string ("couldn't load font"), - build_string (mask_name), data)); + build_cistring (mask_name), data)); } if (!mask) mask_char = 0; @@ -2941,7 +2941,7 @@ vector3 (Qxbm, Q_data, \ list3 (make_int (name##_width), \ make_int (name##_height), \ - make_ext_string ((Extbyte*) name##_bits, \ + make_extstring ((Extbyte*) name##_bits, \ sizeof (name##_bits), \ Qbinary))), \ Qglobal, Qgtk, Qnil)
--- a/src/glyphs-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -1101,7 +1101,7 @@ typedef struct { - CIbyte *name; + const Ascbyte *name; int resource_id; } resource_t; @@ -1724,7 +1724,7 @@ write_fmt_string (printcharfun, "/0x%lx", (unsigned long) IMAGE_INSTANCE_MSWINDOWS_MASK (p)); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); break; default:
--- a/src/glyphs-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -370,7 +370,7 @@ write_fmt_string (printcharfun, "/0x%lx", (unsigned long) IMAGE_INSTANCE_X_MASK (p)); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); break; default: break; @@ -602,7 +602,7 @@ (pathext = XtResolvePathname (display, "bitmaps", 0, 0, pathext, subs, XtNumber (subs), 0))) { - name = build_ext_string (pathext, Qfile_name); + name = build_extstring (pathext, Qfile_name); XtFree (pathext); return (name); } @@ -1923,7 +1923,7 @@ source = safe_XLoadFont (dpy, source_name); if (! source) signal_error_2 (Qgui_error, - "couldn't load font", build_intstring (source_name), data); + "couldn't load font", build_istring (source_name), data); if (count == 2) mask = 0; else if (!mask_name[0]) @@ -1934,7 +1934,7 @@ if (!mask) signal_continuable_error_2 (Qgui_error, "couldn't load font", - build_intstring (mask_name), data); + build_istring (mask_name), data); } if (!mask) mask_char = 0; @@ -2382,7 +2382,7 @@ if (rf) { /* #### What to do about Motif? */ - lw_add_widget_value_arg (wv, XtNxftFont, (XtArgVal) rf); + lw_add_widget_value_arg (wv, (String) XtNxftFont, (XtArgVal) rf); } #endif @@ -2400,7 +2400,7 @@ if (!rf && !fs) warn_when_safe_lispobj (intern ("xft"), Qdebug, - Fcons (build_string ("missing font in update_widget_face"), + Fcons (build_msg_string ("missing font in update_widget_face"), Fface_name (face))); #endif } @@ -2561,7 +2561,7 @@ if (EQ (prop, Q_text)) { widget_value* wv = lw_get_all_values (IMAGE_INSTANCE_X_WIDGET_LWID (ii)); - return build_ext_string (wv->value, Qlwlib_encoding); + return build_extstring (wv->value, Qlwlib_encoding); } return Qunbound; } @@ -3013,7 +3013,7 @@ vector3 (Qxbm, Q_data, \ list3 (make_int (name##_width), \ make_int (name##_height), \ - make_ext_string ((Extbyte *) name##_bits, \ + make_extstring ((Extbyte *) name##_bits, \ sizeof (name##_bits), \ Qbinary))), \ Qglobal, Qx, Qnil)
--- a/src/glyphs.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs.c Mon Feb 01 14:11:36 2010 -0600 @@ -592,7 +592,7 @@ specbind (Qinhibit_quit, Qt); record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); - temp_buffer = Fget_buffer_create (build_string (" *pixmap conversion*")); + temp_buffer = Fget_buffer_create (build_ascstring (" *pixmap conversion*")); GCPRO1 (temp_buffer); set_buffer_internal (XBUFFER (temp_buffer)); Ferase_buffer (Qnil); @@ -1016,7 +1016,7 @@ Lisp_Object filename = IMAGE_INSTANCE_PIXMAP_FILENAME (ii); s = qxestrrchr (XSTRING_DATA (filename), '/'); if (s) - print_internal (build_intstring (s + 1), printcharfun, 1); + print_internal (build_istring (s + 1), printcharfun, 1); else print_internal (filename, printcharfun, 1); } @@ -1032,37 +1032,37 @@ if (!NILP (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii)) || !NILP (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii))) { - write_c_string (printcharfun, " @"); + write_ascstring (printcharfun, " @"); if (!NILP (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii))) write_fmt_string (printcharfun, "%ld", XINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii))); else - write_c_string (printcharfun, "??"); - write_c_string (printcharfun, ","); + write_ascstring (printcharfun, "??"); + write_ascstring (printcharfun, ","); if (!NILP (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii))) write_fmt_string (printcharfun, "%ld", XINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii))); else - write_c_string (printcharfun, "??"); + write_ascstring (printcharfun, "??"); } if (!NILP (IMAGE_INSTANCE_PIXMAP_FG (ii)) || !NILP (IMAGE_INSTANCE_PIXMAP_BG (ii))) { - write_c_string (printcharfun, " ("); + write_ascstring (printcharfun, " ("); if (!NILP (IMAGE_INSTANCE_PIXMAP_FG (ii))) { print_internal (XCOLOR_INSTANCE (IMAGE_INSTANCE_PIXMAP_FG (ii))->name, printcharfun, 0); } - write_c_string (printcharfun, "/"); + write_ascstring (printcharfun, "/"); if (!NILP (IMAGE_INSTANCE_PIXMAP_BG (ii))) { print_internal (XCOLOR_INSTANCE (IMAGE_INSTANCE_PIXMAP_BG (ii))->name, printcharfun, 0); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } break; @@ -1086,17 +1086,17 @@ are specific to a particular frame so we want to print in their description what that frame is. */ - write_c_string (printcharfun, " on #<"); + write_ascstring (printcharfun, " on #<"); { struct frame* f = XFRAME (IMAGE_INSTANCE_FRAME (ii)); if (!FRAME_LIVE_P (f)) - write_c_string (printcharfun, "dead"); + write_ascstring (printcharfun, "dead"); else - write_c_string (printcharfun, + write_ascstring (printcharfun, DEVICE_TYPE_NAME (XDEVICE (FRAME_DEVICE (f)))); } - write_c_string (printcharfun, "-frame>"); + write_ascstring (printcharfun, "-frame>"); write_fmt_string (printcharfun, " 0x%p", IMAGE_INSTANCE_SUBWINDOW_ID (ii)); @@ -2220,34 +2220,35 @@ /* error helpers */ /************************************************************************/ DOESNT_RETURN -signal_image_error (const CIbyte *reason, Lisp_Object frob) +signal_image_error (const Ascbyte *reason, Lisp_Object frob) { signal_error (Qimage_conversion_error, reason, frob); } DOESNT_RETURN -signal_image_error_2 (const CIbyte *reason, Lisp_Object frob0, Lisp_Object frob1) +signal_image_error_2 (const Ascbyte *reason, Lisp_Object frob0, + Lisp_Object frob1) { signal_error_2 (Qimage_conversion_error, reason, frob0, frob1); } DOESNT_RETURN -signal_double_image_error (const CIbyte *string1, const CIbyte *string2, +signal_double_image_error (const Ascbyte *reason1, const Ascbyte *reason2, Lisp_Object data) { signal_error_1 (Qimage_conversion_error, - list3 (build_msg_string (string1), - build_msg_string (string2), + list3 (build_msg_string (reason1), + build_msg_string (reason2), data)); } DOESNT_RETURN -signal_double_image_error_2 (const CIbyte *string1, const CIbyte *string2, +signal_double_image_error_2 (const Ascbyte *reason1, const Ascbyte *reason2, Lisp_Object data1, Lisp_Object data2) { signal_error_1 (Qimage_conversion_error, - list4 (build_msg_string (string1), - build_msg_string (string2), + list4 (build_msg_string (reason1), + build_msg_string (reason2), data1, data2)); } @@ -2696,7 +2697,7 @@ int len = (w + 7) / 8 * h; retval = list3 (make_int (w), make_int (h), - make_ext_string ((Extbyte *) data, len, Qbinary)); + make_extstring ((Extbyte *) data, len, Qbinary)); XFree (data); return retval; } @@ -2749,11 +2750,11 @@ { mask_file = MAYBE_LISP_CONTYPE_METH (decode_console_type(console_type, ERROR_ME), - locate_pixmap_file, (concat2 (file, build_string ("Mask")))); + locate_pixmap_file, (concat2 (file, build_ascstring ("Mask")))); if (NILP (mask_file)) mask_file = MAYBE_LISP_CONTYPE_METH (decode_console_type(console_type, ERROR_ME), - locate_pixmap_file, (concat2 (file, build_string ("msk")))); + locate_pixmap_file, (concat2 (file, build_ascstring ("msk")))); } if (!NILP (mask_file)) @@ -2958,7 +2959,7 @@ Lisp_Object retval = Qnil; struct buffer *old_buffer = current_buffer; Lisp_Object temp_buffer = - Fget_buffer_create (build_string (" *pixmap conversion*")); + Fget_buffer_create (build_ascstring (" *pixmap conversion*")); int elt; int height, width, ncolors; struct gcpro gcpro1, gcpro2, gcpro3; @@ -2970,19 +2971,19 @@ set_buffer_internal (XBUFFER (temp_buffer)); Ferase_buffer (Qnil); - buffer_insert_c_string (current_buffer, "/* XPM */\r"); - buffer_insert_c_string (current_buffer, "static char *pixmap[] = {\r"); + buffer_insert_ascstring (current_buffer, "/* XPM */\r"); + buffer_insert_ascstring (current_buffer, "static char *pixmap[] = {\r"); sscanf (data[0], "%d %d %d", &height, &width, &ncolors); for (elt = 0; elt <= width + ncolors; elt++) { - buffer_insert_c_string (current_buffer, "\""); - buffer_insert_c_string (current_buffer, data[elt]); + buffer_insert_ascstring (current_buffer, "\""); + buffer_insert_ascstring (current_buffer, data[elt]); if (elt < width + ncolors) - buffer_insert_c_string (current_buffer, "\",\r"); + buffer_insert_ascstring (current_buffer, "\",\r"); else - buffer_insert_c_string (current_buffer, "\"};\r"); + buffer_insert_ascstring (current_buffer, "\"};\r"); } retval = Fbuffer_substring (Qnil, Qnil, Qnil);
--- a/src/glyphs.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/glyphs.h Mon Feb 01 14:11:36 2010 -0600 @@ -386,14 +386,16 @@ DECLARE_DOESNT_RETURN (incompatible_image_types (Lisp_Object instantiator, int given_dest_mask, int desired_dest_mask)); -DECLARE_DOESNT_RETURN (signal_image_error (const char *, Lisp_Object)); -DECLARE_DOESNT_RETURN (signal_image_error_2 (const char *, Lisp_Object, - Lisp_Object)); -DECLARE_DOESNT_RETURN (signal_double_image_error (const char *string1, - const char *string2, +DECLARE_DOESNT_RETURN (signal_image_error (const Ascbyte *reason, + Lisp_Object frob)); +DECLARE_DOESNT_RETURN (signal_image_error_2 (const Ascbyte *reason, + Lisp_Object frob0, + Lisp_Object frob1)); +DECLARE_DOESNT_RETURN (signal_double_image_error (const Ascbyte *reason1, + const Ascbyte *reason2, Lisp_Object data)); -DECLARE_DOESNT_RETURN (signal_double_image_error_2 (const char *string1, - const char *string2, +DECLARE_DOESNT_RETURN (signal_double_image_error_2 (const Ascbyte *reason1, + const Ascbyte *reason2, Lisp_Object data1, Lisp_Object data2));
--- a/src/gpmevent.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/gpmevent.c Mon Feb 01 14:11:36 2010 -0600 @@ -186,7 +186,7 @@ static void turn_off_gpm (char *process_name) { - Lisp_Object process = Fget_process (build_string (process_name)); + Lisp_Object process = Fget_process (build_cistring (process_name)); int fd = -1; if (NILP (process)) @@ -201,7 +201,7 @@ clear_gpm_state (fd); - Fdelete_process (build_string (process_name)); + Fdelete_process (build_cistring (process_name)); } #ifdef TIOCLINUX @@ -493,7 +493,7 @@ snprintf (process_name, sizeof(process_name) - 1, "gpm for %s", console_name); - proc = Fget_process (build_string (process_name)); + proc = Fget_process (build_cistring (process_name)); if (NILP (proc)) return (Qnil); @@ -585,7 +585,7 @@ set_descriptor_non_blocking (gpm_fd); store_gpm_state (gpm_fd); gpm_process = - connect_to_file_descriptor (build_string (process_name), Qnil, + connect_to_file_descriptor (build_cistring (process_name), Qnil, make_int (gpm_fd), make_int (gpm_fd));
--- a/src/gtk-glue.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/gtk-glue.c Mon Feb 01 14:11:36 2010 -0600 @@ -129,7 +129,7 @@ { Lisp_Object *rv = (Lisp_Object *) user_data; - *rv = Fcons (build_string ((char *)data), *rv); + *rv = Fcons (build_cistring ((char *)data), *rv); } static Lisp_Object
--- a/src/gtk-xemacs.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/gtk-xemacs.c Mon Feb 01 14:11:36 2010 -0600 @@ -178,7 +178,7 @@ if (style->rc_style && style->rc_style->bg_pixmap_name[GTK_STATE_NORMAL]) \ { \ FROB (Vdefault_face, Qbackground_pixmap, \ - Fmake_image_instance (build_string (style->rc_style->bg_pixmap_name[GTK_STATE_NORMAL]), \ + Fmake_image_instance (build_cistring (style->rc_style->bg_pixmap_name[GTK_STATE_NORMAL]), \ f->device, Qnil, make_int (5))); \ } \ else \ @@ -436,5 +436,5 @@ sprintf (color_buf, "#%04x%04x%04x", c->red, c->green, c->blue); - return (build_string (color_buf)); + return (build_cistring (color_buf)); }
--- a/src/gui.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/gui.c Mon Feb 01 14:11:36 2010 -0600 @@ -516,7 +516,7 @@ CHECK_STRING (suffix); } - retval = concat3 (pgui_item->name, build_string (" "), suffix); + retval = concat3 (pgui_item->name, build_ascstring (" "), suffix); } return retval;
--- a/src/hpplay.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/hpplay.c Mon Feb 01 14:11:36 2010 -0600 @@ -75,7 +75,7 @@ AGetErrorText (audio, errorCode, errorbuff, 131); EXTERNAL_TO_C_STRING (errorbuf, interr, Qerror_message_encoding); - signal_error (Qsound_error, text, build_string (interr)); + signal_error (Qsound_error, text, build_istring (interr)); } long
--- a/src/insdel.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/insdel.c Mon Feb 01 14:11:36 2010 -0600 @@ -1305,11 +1305,12 @@ /* Insert the null-terminated string S (in external format). */ Charcount -buffer_insert_c_string_1 (struct buffer *buf, Charbpos pos, const char *s, +buffer_insert_ascstring_1 (struct buffer *buf, Charbpos pos, const Ascbyte *s, int flags) { /* This function can GC */ - const char *translated = GETTEXT (s); + const CIbyte *translated = GETTEXT (s); + ASSERT_ASCTEXT_ASCII (s); return buffer_insert_string_1 (buf, pos, (const Ibyte *) translated, Qnil, 0, strlen (translated), flags); }
--- a/src/insdel.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/insdel.h Mon Feb 01 14:11:36 2010 -0600 @@ -46,8 +46,8 @@ Bytecount length, int flags); Charcount buffer_insert_lisp_string_1 (struct buffer *buf, Charbpos pos, Lisp_Object str, int flags); -Charcount buffer_insert_c_string_1 (struct buffer *buf, Charbpos pos, - const char *s, int flags); +Charcount buffer_insert_ascstring_1 (struct buffer *buf, Charbpos pos, + const Ascbyte *s, int flags); Charcount buffer_insert_emacs_char_1 (struct buffer *buf, Charbpos pos, Ichar ch, int flags); Charcount buffer_insert_c_char_1 (struct buffer *buf, Charbpos pos, char c, @@ -63,8 +63,8 @@ buffer_insert_string_1 (buf, -1, nonreloc, reloc, offset, length, 0) #define buffer_insert_raw_string(buf, string, length) \ buffer_insert_raw_string_1 (buf, -1, string, length, 0) -#define buffer_insert_c_string(buf, s) \ - buffer_insert_c_string_1 (buf, -1, s, 0) +#define buffer_insert_ascstring(buf, s) \ + buffer_insert_ascstring_1 (buf, -1, s, 0) #define buffer_insert_lisp_string(buf, str) \ buffer_insert_lisp_string_1 (buf, -1, str, 0) #define buffer_insert_c_char(buf, c) \
--- a/src/intl-win32.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/intl-win32.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,5 +1,5 @@ /* Win32 internationalization functions. - Copyright (C) 2000, 2001, 2002, 2004 Ben Wing. + Copyright (C) 2000, 2001, 2002, 2004, 2010 Ben Wing. Copyright (C) 2000 IKEYAMA Tomonori. This file is part of XEmacs. @@ -85,7 +85,7 @@ struct lang_to_string { int code; - char *string; + const Ascbyte *string; }; struct lang_to_string lang_to_string_table[] = @@ -650,7 +650,7 @@ for (i = 0; i < table_size; i++) if (code == table[i].code) - return build_string (table[i].string); + return build_ascstring (table[i].string); return Qnil; } @@ -668,7 +668,7 @@ if (!table[i].string) break; if (sublang == table[i].code) - return build_string (table[i].string); + return build_ascstring (table[i].string); } else if (!table[i].string && lang == table[i].code) found_lang = 1; @@ -677,11 +677,11 @@ switch (sublang) { case SUBLANG_NEUTRAL: - return build_string ("NEUTRAL"); + return build_ascstring ("NEUTRAL"); case SUBLANG_DEFAULT: - return build_string ("DEFAULT"); + return build_ascstring ("DEFAULT"); case SUBLANG_SYS_DEFAULT: - return build_string ("SYS_DEFAULT"); + return build_ascstring ("SYS_DEFAULT"); } return Qnil; @@ -1288,8 +1288,8 @@ { int got_abbrev; int got_full; - char abbrev_name[32] = { 0 }; - char full_name[256] = { 0 }; + Extbyte abbrev_name[32] = { 0 }; + Extbyte full_name[256] = { 0 }; CHECK_INT (lcid); @@ -1298,27 +1298,28 @@ if (NILP (longform)) { - got_abbrev = GetLocaleInfo (XINT (lcid), - LOCALE_SABBREVLANGNAME | LOCALE_USE_CP_ACP, - abbrev_name, sizeof (abbrev_name)); + got_abbrev = qxeGetLocaleInfo (XINT (lcid), + LOCALE_SABBREVLANGNAME | + LOCALE_USE_CP_ACP, + abbrev_name, sizeof (abbrev_name)); if (got_abbrev) - return build_string (abbrev_name); + return build_tstr_string (abbrev_name); } else if (EQ (longform, Qt)) { - got_full = GetLocaleInfo (XINT (lcid), - LOCALE_SLANGUAGE | LOCALE_USE_CP_ACP, - full_name, sizeof (full_name)); + got_full = qxeGetLocaleInfo (XINT (lcid), + LOCALE_SLANGUAGE | LOCALE_USE_CP_ACP, + full_name, sizeof (full_name)); if (got_full) - return build_string (full_name); + return build_tstr_string (full_name); } else if (NUMBERP (longform)) { - got_full = GetLocaleInfo (XINT (lcid), - XINT (longform), - full_name, sizeof (full_name)); + got_full = qxeGetLocaleInfo (XINT (lcid), + XINT (longform), + full_name, sizeof (full_name)); if (got_full) - return make_unibyte_string (full_name, got_full); + return build_tstr_string (full_name); } return Qnil; @@ -1703,7 +1704,7 @@ #ifdef MULE return lcid_to_locale (lcid); #else - return Fcons (build_string ("NEUTRAL"), build_string ("DEFAULT")); + return Fcons (build_ascstring ("NEUTRAL"), build_ascstring ("DEFAULT")); #endif } @@ -1866,7 +1867,7 @@ struct mswindows_multibyte_to_unicode_coding_system *data = XCODING_SYSTEM_TYPE_DATA (cs, mswindows_multibyte_to_unicode); - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); if (data->locale_type == MULTIBYTE_SPECIFIED_CODE_PAGE) print_internal (make_int (data->cp), printcharfun, 1); else @@ -1874,7 +1875,7 @@ write_fmt_string_lisp (printcharfun, "%s, ", 1, mswindows_multibyte_to_unicode_getprop (cs, Qlocale)); print_internal (mswindows_multibyte_to_unicode_getprop (cs, Qcode_page), printcharfun, 0); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } /* ----------------------------------------------------------------------- */ @@ -2351,13 +2352,13 @@ { Fmake_coding_system_internal (Qmswindows_unicode, Qunicode, - build_msg_string ("MS Windows Unicode"), + build_defer_string ("MS Windows Unicode"), nconc2 (list4 (Qdocumentation, - build_msg_string ( + build_defer_string ( "Converts to the Unicode encoding for Windows API calls.\n" "This encoding is equivalent to standard UTF16, little-endian." ), - Qmnemonic, build_string ("MSW-U")), + Qmnemonic, build_ascstring ("MSW-U")), list4 (Qunicode_type, Qutf_16, Qlittle_endian, Qt)));
--- a/src/intl.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/intl.c Mon Feb 01 14:11:36 2010 -0600 @@ -49,7 +49,7 @@ loc = setlocale (LC_CTYPE, NULL); if (!loc) return Qnil; - return build_ext_string (loc, Qctext); + return build_extstring (loc, Qctext); } DEFUN ("set-current-locale", Fset_current_locale, 1, 1, 0, /* @@ -92,7 +92,7 @@ } #endif - str = build_ext_string (loc, Qctext); + str = build_extstring (loc, Qctext); xfree (loc, Extbyte *); return str; }
--- a/src/keymap.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/keymap.c Mon Feb 01 14:11:36 2010 -0600 @@ -285,7 +285,7 @@ Lisp_Keymap *keymap = XKEYMAP (obj); if (print_readably) printing_unreadable_lcrecord (obj, 0); - write_c_string (printcharfun, "#<keymap "); + write_ascstring (printcharfun, "#<keymap "); if (!NILP (keymap->name)) { write_fmt_string_lisp (printcharfun, "%S ", 1, keymap->name); @@ -464,7 +464,7 @@ Ibyte str [1 + MAX_ICHAR_LEN]; Bytecount count = set_itext_ichar (str, XCHAR (keysym)); str[count] = 0; - keysym = intern_int (str); + keysym = intern_istring (str); } return control_meta_superify (keysym, modifiers); } @@ -1748,17 +1748,17 @@ if (EQ (keys, new_keys)) signal_ferror_with_frob (Qinvalid_operation, mpc_binding, "can't bind %s: %s has a non-keymap binding", - (char *) XSTRING_DATA (Fkey_description (keys)), - (char *) XSTRING_DATA (Fsingle_key_description - (Vmeta_prefix_char))); + (CIbyte *) XSTRING_DATA (Fkey_description (keys)), + (CIbyte *) XSTRING_DATA (Fsingle_key_description + (Vmeta_prefix_char))); else signal_ferror_with_frob (Qinvalid_operation, mpc_binding, "can't bind %s: %s %s has a non-keymap binding", - (char *) XSTRING_DATA (Fkey_description (keys)), - (char *) XSTRING_DATA (Fkey_description - (new_keys)), - (char *) XSTRING_DATA (Fsingle_key_description - (Vmeta_prefix_char))); + (CIbyte *) XSTRING_DATA (Fkey_description (keys)), + (CIbyte *) XSTRING_DATA (Fkey_description + (new_keys)), + (CIbyte *) XSTRING_DATA (Fsingle_key_description + (Vmeta_prefix_char))); } DEFUN ("define-key", Fdefine_key, 3, 3, 0, /* @@ -3285,7 +3285,7 @@ string = s2; else { - /* if (NILP (sep)) Lisp_Object sep = build_string (" ") */; + /* if (NILP (sep)) Lisp_Object sep = build_ascstring (" ") */; string = concat2 (string, concat2 (Vsingle_space_string, s2)); } } @@ -3443,7 +3443,7 @@ } *p = 0; - return build_string ((char *) buf); + return build_istring (buf); } @@ -3938,7 +3938,7 @@ Findent_to (make_int (16), make_int (3), buffer); if (keymapp) - buffer_insert_c_string (XBUFFER (buffer), "<< "); + buffer_insert_ascstring (XBUFFER (buffer), "<< "); if (SYMBOLP (definition)) { @@ -3946,19 +3946,19 @@ } else if (STRINGP (definition) || VECTORP (definition)) { - buffer_insert_c_string (XBUFFER (buffer), "Kbd Macro: "); + buffer_insert_ascstring (XBUFFER (buffer), "Kbd Macro: "); buffer_insert1 (XBUFFER (buffer), Fkey_description (definition)); } else if (COMPILED_FUNCTIONP (definition)) - buffer_insert_c_string (XBUFFER (buffer), "Anonymous Compiled Function"); + buffer_insert_ascstring (XBUFFER (buffer), "Anonymous Compiled Function"); else if (CONSP (definition) && EQ (XCAR (definition), Qlambda)) - buffer_insert_c_string (XBUFFER (buffer), "Anonymous Lambda"); + buffer_insert_ascstring (XBUFFER (buffer), "Anonymous Lambda"); else if (KEYMAPP (definition)) { Lisp_Object name = XKEYMAP (definition)->name; if (STRINGP (name) || (SYMBOLP (name) && !NILP (name))) { - buffer_insert_c_string (XBUFFER (buffer), "Prefix command "); + buffer_insert_ascstring (XBUFFER (buffer), "Prefix command "); if (SYMBOLP (name) && EQ (find_symbol_value (name), definition)) buffer_insert1 (XBUFFER (buffer), Fsymbol_name (name)); @@ -3968,14 +3968,14 @@ } } else - buffer_insert_c_string (XBUFFER (buffer), "Prefix Command"); + buffer_insert_ascstring (XBUFFER (buffer), "Prefix Command"); } else - buffer_insert_c_string (XBUFFER (buffer), "??"); + buffer_insert_ascstring (XBUFFER (buffer), "??"); if (keymapp) - buffer_insert_c_string (XBUFFER (buffer), " >>"); - buffer_insert_c_string (XBUFFER (buffer), "\n"); + buffer_insert_ascstring (XBUFFER (buffer), " >>"); + buffer_insert_ascstring (XBUFFER (buffer), "\n"); UNGCPRO; } @@ -4210,7 +4210,7 @@ if (!NILP (list)) { list = list_sort (list, Qnil, describe_map_sort_predicate); - buffer_insert_c_string (buf, "\n"); + buffer_insert_ascstring (buf, "\n"); while (!NILP (list)) { Lisp_Object elt = XCAR (XCAR (list)); @@ -4221,17 +4221,17 @@ buffer_insert_lisp_string (buf, elt_prefix); if (modifiers & XEMACS_MOD_META) - buffer_insert_c_string (buf, "M-"); + buffer_insert_ascstring (buf, "M-"); if (modifiers & XEMACS_MOD_CONTROL) - buffer_insert_c_string (buf, "C-"); + buffer_insert_ascstring (buf, "C-"); if (modifiers & XEMACS_MOD_SUPER) - buffer_insert_c_string (buf, "S-"); + buffer_insert_ascstring (buf, "S-"); if (modifiers & XEMACS_MOD_HYPER) - buffer_insert_c_string (buf, "H-"); + buffer_insert_ascstring (buf, "H-"); if (modifiers & XEMACS_MOD_ALT) - buffer_insert_c_string (buf, "Alt-"); + buffer_insert_ascstring (buf, "Alt-"); if (modifiers & XEMACS_MOD_SHIFT) - buffer_insert_c_string (buf, "Sh-"); + buffer_insert_ascstring (buf, "Sh-"); if (SYMBOLP (keysym)) { Lisp_Object code = Fget (keysym, Qcharacter_of_keysym, Qnil); @@ -4240,19 +4240,19 @@ /* Calling Fsingle_key_description() would cons more */ #if 0 /* This is bogus */ if (EQ (keysym, QKlinefeed)) - buffer_insert_c_string (buf, "LFD"); + buffer_insert_ascstring (buf, "LFD"); else if (EQ (keysym, QKtab)) - buffer_insert_c_string (buf, "TAB"); + buffer_insert_ascstring (buf, "TAB"); else if (EQ (keysym, QKreturn)) - buffer_insert_c_string (buf, "RET"); + buffer_insert_ascstring (buf, "RET"); else if (EQ (keysym, QKescape)) - buffer_insert_c_string (buf, "ESC"); + buffer_insert_ascstring (buf, "ESC"); else if (EQ (keysym, QKdelete)) - buffer_insert_c_string (buf, "DEL"); + buffer_insert_ascstring (buf, "DEL"); else if (EQ (keysym, QKspace)) - buffer_insert_c_string (buf, "SPC"); + buffer_insert_ascstring (buf, "SPC"); else if (EQ (keysym, QKbackspace)) - buffer_insert_c_string (buf, "BS"); + buffer_insert_ascstring (buf, "BS"); else #endif if (c >= printable_min) @@ -4262,7 +4262,7 @@ else if (CHARP (keysym)) buffer_insert_emacs_char (buf, XCHAR (keysym)); else - buffer_insert_c_string (buf, "---bad keysym---"); + buffer_insert_ascstring (buf, "---bad keysym---"); if (elided) elided = 0; @@ -4278,9 +4278,9 @@ if (k != 0) { if (k == 1) - buffer_insert_c_string (buf, ", "); + buffer_insert_ascstring (buf, ", "); else - buffer_insert_c_string (buf, " .. "); + buffer_insert_ascstring (buf, " .. "); elided = 1; continue; }
--- a/src/lisp.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/lisp.h Mon Feb 01 14:11:36 2010 -0600 @@ -106,6 +106,10 @@ #include <stddef.h> /* offsetof */ #include <sys/types.h> #include <limits.h> +#ifdef __cplusplus +#include <limits> /* necessary for max()/min() under G++ 4 */ +#endif + /* -------------------------- error-checking ------------------------ */ @@ -517,7 +521,8 @@ c) [Ascbyte] pure ASCII text d) [Binbyte] binary data that is not meant to be interpreted as text e) [Rawbyte] general data in memory, where we don't care about whether - it's text or binary + it's text or binary; often used when computing memory- + based/byte-based offsets of pointers f) [Boolbyte] a zero or a one g) [Bitbyte] a byte used for bit fields h) [Chbyte] null-semantics `char *'; used when casting an argument to @@ -1261,8 +1266,9 @@ no effects. We keep this abstracted out like this in case we want to change it in the future. */ #define disabled_assert(x) ((void) (x)) -#define disabled_assert_with_message(x, msg) disabled_assert (x) -#define disabled_assert_at_line(x, file, line) disabled_assert (x) +#define disabled_assert_with_message(x, msg) ((void) msg, disabled_assert (x)) +#define disabled_assert_at_line(x, file, line) \ + ((void) file, (void) line, disabled_assert (x)) #ifdef USE_ASSERTIONS # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) @@ -1270,18 +1276,14 @@ ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, msg)) # define assert_at_line(x, file, line) \ ((x) ? (void) 0 : assert_failed (file, line, #x)) -#elif defined (DEBUG_XEMACS) -# define assert(x) ((x) ? (void) 0 : (void) ABORT ()) -# define assert_with_message(x, msg) assert (x) -# define assert_at_line(x, file, line) assert (x) #else /* This used to be ((void) (0)) but that triggers lots of unused variable warnings. It's pointless to force all that code to be rewritten, with added ifdefs. Any reasonable compiler will eliminate an expression with no effects. */ -# define assert(x) ((void) (x)) -# define assert_with_message(x, msg) assert (x) -# define assert_at_line(x, file, line) assert (x) +# define assert(x) disabled_assert (x) +# define assert_with_message(x, msg) disabled_assert_with_message (x, msg) +# define assert_at_line(x, file, line) disabled_assert_at_line (x, file, line) #endif /************************************************************************/ @@ -1771,11 +1773,7 @@ assert_at_line (pos >= 0 && pos < dy->largest, file, line); return pos; } -#else -#define Dynarr_verify_pos(d, pos, file, line) (pos) -#endif /* ERROR_CHECK_TYPES */ - -#ifdef ERROR_CHECK_TYPES + DECLARE_INLINE_HEADER ( int Dynarr_verify_pos_atp (void *d, int pos, const Ascbyte *file, int line) @@ -1848,12 +1846,19 @@ #define Dynarr_new2(dynarr_type, type) \ ((dynarr_type *) Dynarr_newf (sizeof (type))) +#ifdef ERROR_CHECK_TYPES_GCC_NOT_BROKEN +/* Enabling this leads to crashes in Cygwin 1.7, gcc 3.4.4 */ #define Dynarr_at(d, pos) \ ((d)->base[Dynarr_verify_pos_at (d, pos, __FILE__, __LINE__)]) #define Dynarr_atp_allow_end(d, pos) \ (&((d)->base[Dynarr_verify_pos_atp_allow_end (d, pos, __FILE__, __LINE__)])) #define Dynarr_atp(d, pos) \ (&((d)->base[Dynarr_verify_pos_atp (d, pos, __FILE__, __LINE__)])) +#else +#define Dynarr_at(d, pos) ((d)->base[pos]) +#define Dynarr_atp(d, pos) (&Dynarr_at (d, pos)) +#define Dynarr_atp_allow_end(d, pos) Dynarr_atp (d, pos) +#endif /* Old #define Dynarr_atp(d, pos) (&Dynarr_at (d, pos)) */ #define Dynarr_begin(d) Dynarr_atp (d, 0) @@ -2041,6 +2046,15 @@ Dynarr_declare (unsigned long); } unsigned_long_dynarr; +typedef const Ascbyte *const_Ascbyte_ptr; +typedef struct +{ + Dynarr_declare (const Ascbyte *); +} const_Ascbyte_ptr_dynarr; + +extern const struct sized_memory_description const_Ascbyte_ptr_description; +extern const struct sized_memory_description const_Ascbyte_ptr_dynarr_description; + typedef struct { Dynarr_declare (int); @@ -3831,22 +3845,100 @@ format it and store it in the `string-translatable' property of the returned string. See Fgettext(). - CGETTEXT() is the same as GETTEXT() but works with char * strings - instead of Ibyte * strings. - - build_msg_string() is a shorthand for build_string (GETTEXT (x)). - build_msg_intstring() is a shorthand for build_intstring (GETTEXT (x)). + The variations IGETTEXT, CIGETTEXT and ASCGETTEXT operate on + Ibyte *, CIbyte *, and Ascbyte * strings, respectively. The + ASCGETTEXT version has an assert check to verify that its string + really is pure-ASCII. Plain GETTEXT is defined as ASCGETTEXT, and + so works the same way. (There are no versions that work for Extbyte *. + Translate to internal format before working on it.) + + There are similar functions for building a Lisp string from a C + string and translating in the process. They again come in three + variants: build_msg_istring(), build_msg_cistring(), and + build_msg_ascstring(). Again, build_msg_ascstring() asserts that + its text is pure-ASCII, and build_msg_string() is the same as + build_msg_ascstring(). */ -#define GETTEXT(x) (x) -#define CGETTEXT(x) (x) -#define LISP_GETTEXT(x) (x) - -/* DEFER_GETTEXT is used to identify strings which are translated when - they are referenced instead of when they are defined. - These include Qerror_messages and initialized arrays of strings. +/* Return value NOT Ascbyte, because the result in general will have been + translated into a foreign language. */ +DECLARE_INLINE_HEADER (const CIbyte *ASCGETTEXT (const Ascbyte *s)) +{ + ASSERT_ASCTEXT_ASCII (s); + return s; +} + +DECLARE_INLINE_HEADER (const Ibyte *IGETTEXT (const Ibyte *s)) +{ + return s; +} + +DECLARE_INLINE_HEADER (const CIbyte *CIGETTEXT (const CIbyte *s)) +{ + return s; +} + +DECLARE_INLINE_HEADER (Lisp_Object LISP_GETTEXT (Lisp_Object s)) +{ + return s; +} + +#define GETTEXT ASCGETTEXT + +MODULE_API Lisp_Object build_msg_istring (const Ibyte *); +MODULE_API Lisp_Object build_msg_cistring (const CIbyte *); +MODULE_API Lisp_Object build_msg_ascstring (const Ascbyte *); +#define build_msg_string build_msg_ascstring + + +/* DEFER_GETTEXT() and variants are used to identify strings which are not + meant to be translated immediately, but instead at some later time. + This is used in strings that are stored somewhere at dump or + initialization time, at a time when the current language environment is + not set. It is the duty of the user of the string to call GETTEXT or + some variant at the appropriate time. DEFER_GETTTEXT() serves only as a + marker that the string is translatable, and will as a result be snarfed + during message snarfing (see above). + + build_defer_string() and variants are the deferred equivalents of + build_msg_string() and variants. Similarly to DEFER_GETTEXT(), they + don't actually do any translation, but serve as place markers for + message snarfing. However, they may do something more than just build + a Lisp string -- in particular, they may store a string property + indicating that the string is translatable (see discussion above about + this property). */ -#define DEFER_GETTEXT(x) (x) + +DECLARE_INLINE_HEADER (const Ascbyte *DEFER_ASCGETTEXT (const Ascbyte *s)) +{ + ASSERT_ASCTEXT_ASCII (s); + return s; +} + +DECLARE_INLINE_HEADER (const Ibyte *DEFER_IGETTEXT (const Ibyte *s)) +{ + return s; +} + +DECLARE_INLINE_HEADER (const CIbyte *DEFER_CIGETTEXT (const CIbyte *s)) +{ + return s; +} + +#define DEFER_GETTEXT DEFER_ASCGETTEXT + +MODULE_API Lisp_Object build_defer_istring (const Ibyte *); +MODULE_API Lisp_Object build_defer_cistring (const CIbyte *); +MODULE_API Lisp_Object build_defer_ascstring (const Ascbyte *); + +#define build_defer_string build_defer_ascstring + + +void write_msg_istring (Lisp_Object stream, const Ibyte *str); +void write_msg_cistring (Lisp_Object stream, const CIbyte *str); +void write_msg_ascstring (Lisp_Object stream, const Ascbyte *str); + +#define write_msg_string write_msg_ascstring /************************************************************************/ @@ -4138,18 +4230,14 @@ /* Help debug crashes gc-marking a staticpro'ed object. */ -MODULE_API void staticpro_1 (Lisp_Object *, Ascbyte *); -MODULE_API void staticpro_nodump_1 (Lisp_Object *, Ascbyte *); -/* g++ 4.3 complains about the conversion of const char to char. - These end up in a dynarray, so we would need to define a whole new class - of dynarray just to handle the const char stuff. - ####Check to see how hard this might be. */ -#define staticpro(ptr) staticpro_1 (ptr, (Ascbyte *) #ptr) -#define staticpro_nodump(ptr) staticpro_nodump_1 (ptr, (Ascbyte *) #ptr) +MODULE_API void staticpro_1 (Lisp_Object *, const Ascbyte *); +MODULE_API void staticpro_nodump_1 (Lisp_Object *, const Ascbyte *); +#define staticpro(ptr) staticpro_1 (ptr, #ptr) +#define staticpro_nodump(ptr) staticpro_nodump_1 (ptr, #ptr) #ifdef HAVE_SHLIB -MODULE_API void unstaticpro_nodump_1 (Lisp_Object *, Ascbyte *); -#define unstaticpro_nodump(ptr) unstaticpro_nodump_1 (ptr, (Ascbyte *) #ptr) +MODULE_API void unstaticpro_nodump_1 (Lisp_Object *, const Ascbyte *); +#define unstaticpro_nodump(ptr) unstaticpro_nodump_1 (ptr, #ptr) #endif #else @@ -4172,7 +4260,7 @@ extern Lisp_Object_dynarr *mcpros; #ifdef DEBUG_XEMACS /* Help debug crashes gc-marking a mcpro'ed object. */ -MODULE_API void mcpro_1 (Lisp_Object, char *); +MODULE_API void mcpro_1 (Lisp_Object, const Ascbyte *); #define mcpro(ptr) mcpro_1 (ptr, #ptr) #else /* not DEBUG_XEMACS */ /* Call mcpro (&var) to protect mc variable `var'. */ @@ -4266,13 +4354,12 @@ int c_readonly (Lisp_Object); int lisp_readonly (Lisp_Object); MODULE_API void copy_lisp_object (Lisp_Object dst, Lisp_Object src); -MODULE_API Lisp_Object build_intstring (const Ibyte *); -MODULE_API Lisp_Object build_string (const CIbyte *); -MODULE_API Lisp_Object build_ext_string (const Extbyte *, Lisp_Object); -MODULE_API Lisp_Object build_msg_intstring (const Ibyte *); -MODULE_API Lisp_Object build_msg_string (const CIbyte *); +MODULE_API Lisp_Object build_istring (const Ibyte *); +MODULE_API Lisp_Object build_cistring (const CIbyte *); +MODULE_API Lisp_Object build_ascstring (const Ascbyte *); +MODULE_API Lisp_Object build_extstring (const Extbyte *, Lisp_Object); MODULE_API Lisp_Object make_string (const Ibyte *, Bytecount); -MODULE_API Lisp_Object make_ext_string (const Extbyte *, EMACS_INT, Lisp_Object); +MODULE_API Lisp_Object make_extstring (const Extbyte *, EMACS_INT, Lisp_Object); void init_string_ascii_begin (Lisp_Object string); Lisp_Object make_uninit_string (Bytecount); MODULE_API Lisp_Object make_float (double); @@ -4380,7 +4467,9 @@ EXFUN (Fbyte_code, 3); DECLARE_DOESNT_RETURN (invalid_byte_code - (const CIbyte *reason, Lisp_Object frob)); + (const Ascbyte *reason, Lisp_Object frob)); + +extern Lisp_Object Qbyte_code, Qinvalid_byte_code; /* Defined in callint.c */ EXFUN (Fcall_interactively, 3); @@ -4462,6 +4551,26 @@ Lisp_Object word_to_lisp (unsigned int); unsigned int lisp_to_word (Lisp_Object); +extern Lisp_Object Qarrayp, Qbitp, Qchar_or_string_p, Qcharacterp, + Qerror_conditions, Qerror_message, Qinteger_char_or_marker_p, + Qinteger_or_char_p, Qinteger_or_marker_p, Qlambda, Qlistp, Qnatnump, + Qnonnegativep, Qnumber_char_or_marker_p, Qnumberp, Qquote, Qtrue_list_p; +extern MODULE_API Lisp_Object Qintegerp; + +extern Lisp_Object Qarith_error, Qbeginning_of_buffer, Qbuffer_read_only, + Qcircular_list, Qcircular_property_list, Qconversion_error, + Qcyclic_variable_indirection, Qdomain_error, Qediting_error, + Qend_of_buffer, Qend_of_file, Qerror, Qfile_error, Qinternal_error, + Qinvalid_change, Qinvalid_constant, Qinvalid_function, Qinvalid_operation, + Qinvalid_read_syntax, Qinvalid_state, Qio_error, Qlist_formation_error, + Qmalformed_list, Qmalformed_property_list, Qno_catch, Qout_of_memory, + Qoverflow_error, Qprinting_unreadable_object, Qquit, Qrange_error, + Qsetting_constant, Qsingularity_error, Qstack_overflow, + Qstructure_formation_error, Qtext_conversion_error, Qunderflow_error, + Qvoid_function, Qvoid_variable, Qwrong_number_of_arguments, + Qwrong_type_argument; +extern MODULE_API Lisp_Object Qinvalid_argument, Qsyntax_error; + /* Defined in dired.c */ Lisp_Object make_directory_hash_table (const Ibyte *); Lisp_Object wasteful_word_to_lisp (unsigned int); @@ -4617,38 +4726,38 @@ const CIbyte *, ...) PRINTF_ARGS (4, 5); -Lisp_Object build_error_data (const CIbyte *reason, Lisp_Object frob); -DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, const CIbyte *, +Lisp_Object build_error_data (const Ascbyte *reason, Lisp_Object frob); +DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, const Ascbyte *, Lisp_Object)); -void maybe_signal_error (Lisp_Object, const CIbyte *, Lisp_Object, +void maybe_signal_error (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -Lisp_Object signal_continuable_error (Lisp_Object, const CIbyte *, +Lisp_Object signal_continuable_error (Lisp_Object, const Ascbyte *, Lisp_Object); -Lisp_Object maybe_signal_continuable_error (Lisp_Object, const CIbyte *, +Lisp_Object maybe_signal_continuable_error (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); DECLARE_DOESNT_RETURN (signal_ferror_with_frob (Lisp_Object, Lisp_Object, - const CIbyte *, ...)) + const Ascbyte *, ...)) PRINTF_ARGS(3, 4); void maybe_signal_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior, - const CIbyte *, ...) PRINTF_ARGS (5, 6); + const Ascbyte *, ...) PRINTF_ARGS (5, 6); Lisp_Object signal_continuable_ferror_with_frob (Lisp_Object, Lisp_Object, - const CIbyte *, + const Ascbyte *, ...) PRINTF_ARGS (3, 4); Lisp_Object maybe_signal_continuable_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior, - const CIbyte *, ...) + const Ascbyte *, ...) PRINTF_ARGS (5, 6); -DECLARE_DOESNT_RETURN (signal_error_2 (Lisp_Object, const CIbyte *, +DECLARE_DOESNT_RETURN (signal_error_2 (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object)); -void maybe_signal_error_2 (Lisp_Object, const CIbyte *, Lisp_Object, +void maybe_signal_error_2 (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior); -Lisp_Object signal_continuable_error_2 (Lisp_Object, const CIbyte *, +Lisp_Object signal_continuable_error_2 (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object); -Lisp_Object maybe_signal_continuable_error_2 (Lisp_Object, const CIbyte *, +Lisp_Object maybe_signal_continuable_error_2 (Lisp_Object, const Ascbyte *, Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior); @@ -4661,57 +4770,57 @@ MODULE_API DECLARE_DOESNT_RETURN (signal_circular_property_list_error (Lisp_Object)); -DECLARE_DOESNT_RETURN (syntax_error (const CIbyte *reason, +DECLARE_DOESNT_RETURN (syntax_error (const Ascbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (syntax_error_2 (const CIbyte *reason, +DECLARE_DOESNT_RETURN (syntax_error_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_syntax_error (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_syntax_error (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -DECLARE_DOESNT_RETURN (sferror (const CIbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (sferror_2 (const CIbyte *reason, Lisp_Object frob1, +DECLARE_DOESNT_RETURN (sferror (const Ascbyte *reason, Lisp_Object frob)); +DECLARE_DOESNT_RETURN (sferror_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_sferror (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_sferror (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -MODULE_API DECLARE_DOESNT_RETURN (invalid_argument (const CIbyte *reason, +MODULE_API DECLARE_DOESNT_RETURN (invalid_argument (const Ascbyte *reason, Lisp_Object frob)); -MODULE_API DECLARE_DOESNT_RETURN (invalid_argument_2 (const CIbyte *reason, +MODULE_API DECLARE_DOESNT_RETURN (invalid_argument_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_invalid_argument (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_invalid_argument (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -MODULE_API DECLARE_DOESNT_RETURN (invalid_operation (const CIbyte *reason, +MODULE_API DECLARE_DOESNT_RETURN (invalid_operation (const Ascbyte *reason, Lisp_Object frob)); -MODULE_API DECLARE_DOESNT_RETURN (invalid_operation_2 (const CIbyte *reason, +MODULE_API DECLARE_DOESNT_RETURN (invalid_operation_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -MODULE_API void maybe_invalid_operation (const CIbyte *, Lisp_Object, +MODULE_API void maybe_invalid_operation (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -DECLARE_DOESNT_RETURN (invalid_state (const CIbyte *reason, +DECLARE_DOESNT_RETURN (invalid_state (const Ascbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (invalid_state_2 (const CIbyte *reason, +DECLARE_DOESNT_RETURN (invalid_state_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_invalid_state (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_invalid_state (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -DECLARE_DOESNT_RETURN (invalid_change (const CIbyte *reason, +DECLARE_DOESNT_RETURN (invalid_change (const Ascbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (invalid_change_2 (const CIbyte *reason, +DECLARE_DOESNT_RETURN (invalid_change_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_invalid_change (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_invalid_change (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -MODULE_API DECLARE_DOESNT_RETURN (invalid_constant (const CIbyte *reason, +MODULE_API DECLARE_DOESNT_RETURN (invalid_constant (const Ascbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (invalid_constant_2 (const CIbyte *reason, +DECLARE_DOESNT_RETURN (invalid_constant_2 (const Ascbyte *reason, Lisp_Object frob1, Lisp_Object frob2)); -void maybe_invalid_constant (const CIbyte *, Lisp_Object, Lisp_Object, +void maybe_invalid_constant (const Ascbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -DECLARE_DOESNT_RETURN (wtaerror (const CIbyte *reason, Lisp_Object frob)); -MODULE_API DECLARE_DOESNT_RETURN (out_of_memory (const CIbyte *reason, +DECLARE_DOESNT_RETURN (wtaerror (const Ascbyte *reason, Lisp_Object frob)); +MODULE_API DECLARE_DOESNT_RETURN (out_of_memory (const Ascbyte *reason, Lisp_Object frob)); -DECLARE_DOESNT_RETURN (stack_overflow (const CIbyte *reason, +DECLARE_DOESNT_RETURN (stack_overflow (const Ascbyte *reason, Lisp_Object frob)); Lisp_Object signal_void_function_error (Lisp_Object); @@ -4885,7 +4994,7 @@ void do_autoload (Lisp_Object, Lisp_Object); /* GCPROs both arguments */ Lisp_Object un_autoload (Lisp_Object); void warn_when_safe_lispobj (Lisp_Object, Lisp_Object, Lisp_Object); -MODULE_API void warn_when_safe (Lisp_Object, Lisp_Object, const CIbyte *, +MODULE_API void warn_when_safe (Lisp_Object, Lisp_Object, const Ascbyte *, ...) PRINTF_ARGS (3, 4); extern int backtrace_with_internal_sections; @@ -5004,13 +5113,13 @@ void record_auto_save (void); void force_auto_save_soon (void); DECLARE_DOESNT_RETURN (report_error_with_errno (Lisp_Object errtype, - const CIbyte *string, + const Ascbyte *reason, Lisp_Object data)); DECLARE_DOESNT_RETURN (report_file_type_error (Lisp_Object errtype, Lisp_Object oserrmess, - const CIbyte *string, + const Ascbyte *reason, Lisp_Object data)); -DECLARE_DOESNT_RETURN (report_file_error (const CIbyte *, Lisp_Object)); +DECLARE_DOESNT_RETURN (report_file_error (const Ascbyte *, Lisp_Object)); Lisp_Object lisp_strerror (int); Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); int internal_delete_file (Lisp_Object); @@ -5113,12 +5222,12 @@ int depth); int internal_equal (Lisp_Object, Lisp_Object, int); int internal_equalp (Lisp_Object obj1, Lisp_Object obj2, int depth); +Lisp_Object MODULE_API concat2 (Lisp_Object, Lisp_Object); +Lisp_Object MODULE_API concat3 (Lisp_Object, Lisp_Object, Lisp_Object); +Lisp_Object MODULE_API vconcat2 (Lisp_Object, Lisp_Object); +Lisp_Object MODULE_API vconcat3 (Lisp_Object, Lisp_Object, Lisp_Object); +Lisp_Object MODULE_API nconc2 (Lisp_Object, Lisp_Object); int internal_equal_0 (Lisp_Object, Lisp_Object, int, int); -Lisp_Object concat2 (Lisp_Object, Lisp_Object); -Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object); -Lisp_Object vconcat2 (Lisp_Object, Lisp_Object); -Lisp_Object vconcat3 (Lisp_Object, Lisp_Object, Lisp_Object); -Lisp_Object nconc2 (Lisp_Object, Lisp_Object); Lisp_Object bytecode_nconc2 (Lisp_Object *); int bytecode_arithcompare (Lisp_Object obj1, Lisp_Object obj2); void check_losing_bytecode (const char *, Lisp_Object); @@ -5278,9 +5387,11 @@ /* NOTE: Do not call this with the data of a Lisp_String. Use princ. * Note: stream should be defaulted before calling * (eg Qnil means stdout, not Vstandard_output, etc) */ -MODULE_API void write_c_string (Lisp_Object stream, const CIbyte *str); +MODULE_API void write_istring (Lisp_Object stream, const Ibyte *str); /* Same goes for this function. */ -MODULE_API void write_string (Lisp_Object stream, const Ibyte *str); +MODULE_API void write_cistring (Lisp_Object stream, const CIbyte *str); +/* Same goes for this function. */ +MODULE_API void write_ascstring (Lisp_Object stream, const Ascbyte *str); /* Same goes for this function. */ void write_string_1 (Lisp_Object stream, const Ibyte *str, Bytecount size); void write_eistring (Lisp_Object stream, const Eistring *ei); @@ -5358,6 +5469,7 @@ EXFUN (Fskip_chars_backward, 3); EXFUN (Fskip_chars_forward, 3); EXFUN (Fstring_match, 4); +EXFUN (Fregexp_quote, 1); struct re_pattern_buffer; struct re_registers; @@ -5418,7 +5530,7 @@ EXFUN (Fsymbol_value, 1); unsigned int hash_string (const Ibyte *, Bytecount); -Lisp_Object intern_int (const Ibyte *str); +Lisp_Object intern_istring (const Ibyte *str); MODULE_API Lisp_Object intern (const CIbyte *str); Lisp_Object intern_converting_underscores_to_dashes (const CIbyte *str); Lisp_Object oblookup (Lisp_Object, const Ibyte *, Bytecount); @@ -5927,62 +6039,31 @@ */ -extern Lisp_Object Qactivate_menubar_hook, Qand_optional, Qand_rest; -extern Lisp_Object Qarith_error, Qarrayp, Qautoload, Qbackground; -extern Lisp_Object Qbackground_pixmap, Qbeginning_of_buffer, Qbitp, Qblinking; -extern Lisp_Object Qbuffer_glyph_p, Qbuffer_live_p, Qbuffer_read_only; -extern Lisp_Object Qbyte_code, Qcall_interactively, Qcategory_designator_p; -extern Lisp_Object Qcategory_table_value_p, Qcdr, Qchar_or_string_p; -extern Lisp_Object Qcharacterp, Qcircular_list, Qcircular_property_list; -extern Lisp_Object Qcolor_pixmap_image_instance_p, Qcommandp; -extern Lisp_Object Qcompletion_ignore_case, Qconsole_live_p, Qconst_specifier; -extern Lisp_Object Qconversion_error, Qcurrent_menubar; -extern Lisp_Object Qcyclic_variable_indirection, Qdefun, Qdevice_live_p, Qdim; -extern Lisp_Object Qdirection, Qdisabled, Qdisabled_command_hook; -extern Lisp_Object Qdisplay_table, Qdll_error, Qdomain_error, Qediting_error; -extern Lisp_Object Qend_of_buffer, Qend_of_file, Qend_open, Qerror; -extern Lisp_Object Qerror_conditions, Qerror_lacks_explanatory_string; -extern Lisp_Object Qerror_message, Qevent_live_p, Qexit, Qextent_live_p; -extern Lisp_Object Qexternal_debugging_output, Qfeaturep, Qfile_error; -extern Lisp_Object Qfile_name_sans_extension, Qfinal; -extern Lisp_Object Qforeground, Qformat, Qframe_live_p, Qgraphic; -extern Lisp_Object Qgui_error, Qicon_glyph_p, Qidentity, Qinhibit_quit; -extern Lisp_Object Qinhibit_read_only, Qinteger_char_or_marker_p; -extern Lisp_Object Qinteger_or_char_p, Qinteger_or_marker_p; -extern Lisp_Object Qinteractive, Qinternal_error; -extern Lisp_Object Qinvalid_byte_code, Qinvalid_change, Qinvalid_constant; -extern Lisp_Object Qinvalid_function, Qinvalid_operation; -extern Lisp_Object Qinvalid_read_syntax, Qinvalid_state, Qio_error, Qlambda; -extern Lisp_Object Qlayout, Qlist_formation_error, Qlistp, Qload; -extern Lisp_Object Qlong_name, Qmacro, Qmakunbound, Qmalformed_list; -extern Lisp_Object Qmalformed_property_list, Qmark, Qmodule; -extern Lisp_Object Qmono_pixmap_image_instance_p, Qmouse_leave_buffer_hook; -extern Lisp_Object Qnative_layout, Qnatnump, Qnetwork_error, Qno_catch; -extern Lisp_Object Qnonnegativep, Qnothing_image_instance_p; -extern Lisp_Object Qnumber_char_or_marker_p, Qnumberp, Qout_of_memory; -extern Lisp_Object Qoverflow_error, Qpoint, Qpointer_glyph_p; -extern Lisp_Object Qpointer_image_instance_p, Qprint_length; -extern Lisp_Object Qprint_string_length, Qprinting_unreadable_object; -extern Lisp_Object Qprogn, Qquit, Qquote, Qrange_error; -extern Lisp_Object Qread_char, Qread_from_minibuffer; -extern Lisp_Object Qreally_early_error_handler, Qregion_beginning; -extern Lisp_Object Qregion_end, Qregistries, Qreverse_direction_charset; -extern Lisp_Object Qrun_hooks, Qsans_modifiers, Qsave_buffers_kill_emacs; -extern Lisp_Object Qself_insert_command, Qself_insert_defer_undo, Qsequencep; -extern Lisp_Object Qset, Qsetting_constant, Qshort_name, Qsingularity_error; -extern Lisp_Object Qsound_error, Qstack_overflow, Qstandard_input; -extern Lisp_Object Qstandard_output, Qstart_open, Qstring_lessp; -extern Lisp_Object Qstructure_formation_error, Qsubwindow; -extern Lisp_Object Qsubwindow_image_instance_p; -extern Lisp_Object Qtext_conversion_error, Qtext_image_instance_p, Qtop_level; -extern Lisp_Object Qtrue_list_p, Qunderflow_error, Qunderline; -extern Lisp_Object Quser_files_and_directories, Qvalues; -extern Lisp_Object Qvariable_documentation, Qvariable_domain, Qvoid_function; -extern Lisp_Object Qvoid_variable, Qwindow_live_p, Qwrong_number_of_arguments; -extern Lisp_Object Qwrong_type_argument, Qyes_or_no_p; - -extern MODULE_API Lisp_Object Qintegerp, Qinvalid_argument, Qprocess_error; -extern MODULE_API Lisp_Object Qsyntax_error, Qt, Qunbound; +extern Lisp_Object Qactivate_menubar_hook, Qand_optional, Qand_rest, Qautoload, + Qbackground, Qbackground_pixmap, Qblinking, Qbuffer_glyph_p, Qbuffer_live_p, + Qcall_interactively, Qcategory_designator_p, + Qcategory_table_value_p, Qcdr, Qcolor_pixmap_image_instance_p, Qcommandp, + Qcompletion_ignore_case, Qconsole_live_p, Qconst_specifier, Qcurrent_menubar, + Qdefun, Qdevice_live_p, Qdim, Qdirection, Qdisabled, Qdisabled_command_hook, + Qdisplay_table, Qdll_error, Qend_open, Qerror_lacks_explanatory_string, + Qevent_live_p, Qexit, Qextent_live_p, Qexternal_debugging_output, Qfeaturep, + Qfile_error, Qfile_name_sans_extension, Qfinal, Qforeground, Qformat, + Qframe_live_p, Qgraphic, Qgui_error, Qicon_glyph_p, Qidentity, Qinhibit_quit, + Qinhibit_read_only, Qinteractive, Qlayout, Qload, Qlong_name, Qmacro, + Qmakunbound, Qmark, Qmodule, Qmono_pixmap_image_instance_p, + Qmouse_leave_buffer_hook, Qnative_layout, Qnetwork_error, + Qnothing_image_instance_p, Qpoint, Qpointer_glyph_p, + Qpointer_image_instance_p, Qprint_length, Qprint_string_length, Qprogn, + Qread_char, Qread_from_minibuffer, Qreally_early_error_handler, + Qregion_beginning, Qregion_end, Qregistries, Qreverse_direction_charset, + Qrun_hooks, Qsans_modifiers, Qsave_buffers_kill_emacs, Qself_insert_command, + Qself_insert_defer_undo, Qsequencep, Qset, Qshort_name, Qsound_error, + Qstandard_input, Qstandard_output, Qstart_open, Qstring_lessp, Qsubwindow, + Qsubwindow_image_instance_p, Qtext_image_instance_p, Qtop_level, Qunderline, + Quser_files_and_directories, Qvalues, Qvariable_documentation, + Qvariable_domain, Qwindow_live_p, Qyes_or_no_p; + +extern MODULE_API Lisp_Object Qprocess_error, Qt, Qunbound; #define SYMBOL(fou) extern Lisp_Object fou #define SYMBOL_MODULE_API(fou) extern MODULE_API Lisp_Object fou
--- a/src/lread.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/lread.c Mon Feb 01 14:11:36 2010 -0600 @@ -593,7 +593,7 @@ fd = locate_file (Vload_path, file, ((!NILP (nosuffix)) ? Qnil : - build_string (load_ignore_elc_files ? ".el:" : + build_ascstring (load_ignore_elc_files ? ".el:" : ".elc:.el:")), &found, -1); @@ -1097,7 +1097,7 @@ { /* We succeeded; return this descriptor and filename. */ if (closure->storeptr) - *closure->storeptr = build_intstring (fn); + *closure->storeptr = build_istring (fn); return 1; } @@ -1181,7 +1181,7 @@ locate_file_construct_suffixed_files_mapper (Ibyte *fn, void *arg) { Lisp_Object *tail = (Lisp_Object *) arg; - *tail = Fcons (build_intstring (fn), *tail); + *tail = Fcons (build_istring (fn), *tail); return 0; } @@ -1271,7 +1271,7 @@ /* Is it really necessary to gcpro path and str? It shouldn't be unless some caller has fucked up. There are known instances that - call us with build_string("foo:bar") as SUFFIXES, though. */ + call us with build_ascstring("foo:bar") as SUFFIXES, though. */ GCPRO4 (path, str, suffixes, suffixtab); /* if this filename has directory components, it's too complicated @@ -1872,7 +1872,7 @@ else if (c >= 'a' && c <= 'f') i = (i << 4) + (c - 'a') + 10; else if (c >= 'A' && c <= 'F') i = (i << 4) + (c - 'A') + 10; - args[0] = build_string ("?\\x%x"); + args[0] = build_ascstring ("?\\x%x"); args[1] = make_int (i); syntax_error ("Overlong hex character escape", Fformat (2, args)); @@ -2394,34 +2394,36 @@ Ichar c; Ichar permit_unicode = 0; - do { - c = reader_nextchar(readcharfun); - switch (c) { - /* #r:engine"my sexy raw string" -- raw string w/ flags*/ - /* case ':': */ - /* #ru"Hi there\u20AC \U000020AC" -- raw string, honouring Unicode. */ - case 'u': - case 'U': - permit_unicode = c; - continue; - - /* #r"my raw string" -- raw string */ - case '\"': - return read_string(readcharfun, '\"', 1, permit_unicode); - /* invalid syntax */ - default: - { - if (permit_unicode) + do + { + c = reader_nextchar (readcharfun); + switch (c) + { + /* #r:engine"my sexy raw string" -- raw string w/ flags*/ + /* case ':': */ + /* #ru"Hi there\u20AC \U000020AC" -- raw string, honouring Unicode. */ + case 'u': + case 'U': + permit_unicode = c; + continue; + + /* #r"my raw string" -- raw string */ + case '\"': + return read_string (readcharfun, '\"', 1, permit_unicode); + /* invalid syntax */ + default: { - unreadchar(readcharfun, permit_unicode); + if (permit_unicode) + { + unreadchar (readcharfun, permit_unicode); + } + unreadchar (readcharfun, c); + return Fsignal (Qinvalid_read_syntax, + list1 (build_msg_string + ("unrecognized raw string syntax"))); } - unreadchar(readcharfun, c); - return Fsignal(Qinvalid_read_syntax, - list1(build_string - ("unrecognized raw string syntax"))); - } - } - } while (1); + } + } while (1); } /* Read the next Lisp object from the stream READCHARFUN and return it. @@ -2580,7 +2582,7 @@ if (CONSP (tmp) && UNBOUNDP (XCAR (tmp))) free_cons (tmp); return Fsignal (Qinvalid_read_syntax, - list1 (build_string ("#"))); + list1 (build_ascstring ("#"))); } GCPRO1 (tmp); /* Read the intervals and their properties. */ @@ -2738,13 +2740,13 @@ make_int (n))); } return Fsignal (Qinvalid_read_syntax, - list1 (build_string ("#"))); + list1 (build_ascstring ("#"))); } default: { unreadchar (readcharfun, c); return Fsignal (Qinvalid_read_syntax, - list1 (build_string ("#"))); + list1 (build_ascstring ("#"))); } } } @@ -3120,7 +3122,7 @@ because that would make the directory absolute now. */ XCAR (XCAR (holding_cons)) = - concat2 (build_string ("../lisp/"), + concat2 (build_ascstring ("../lisp/"), Ffile_name_nondirectory (Vload_file_name_internal)); } @@ -3214,7 +3216,7 @@ make_byte_code_args[iii] = Qzero; else XCAR (make_byte_code_args[iii]) = - concat2 (build_string ("../lisp/"), + concat2 (build_ascstring ("../lisp/"), Ffile_name_nondirectory (Vload_file_name_internal)); } @@ -3255,7 +3257,7 @@ /* kludge: locate-file does not work for a null load-path, even if the file name is absolute. */ - Vload_path = Fcons (build_string (""), Qnil); + Vload_path = Fcons (build_ascstring (""), Qnil); /* This used to get initialized in init_lread because all streams got closed when dumping occurs. This is no longer true -- @@ -3405,7 +3407,7 @@ complex dependencies. Ignoring all elc files with `load-ignore-elc-files' would also be safe, but much slower. */ ); - load_ignore_out_of_date_elc_files = 0; + load_ignore_out_of_date_elc_files = 1; DEFVAR_BOOL ("load-always-display-messages", &load_always_display_messages /*
--- a/src/lrecord.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/lrecord.h Mon Feb 01 14:11:36 2010 -0600 @@ -1,6 +1,6 @@ /* The "lrecord" structure (header of a compound lisp object). Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. - Copyright (C) 1996, 2001, 2002, 2004, 2005 Ben Wing. + Copyright (C) 1996, 2001, 2002, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -26,36 +26,16 @@ #ifndef INCLUDED_lrecord_h_ #define INCLUDED_lrecord_h_ -#ifdef NEW_GC -/* The "lrecord" type of Lisp object is used for all object types - other than a few simple ones (like char and int). This allows many - types to be implemented but only a few bits required in a Lisp - object for type information. (The tradeoff is that each object has - its type marked in it, thereby increasing its size.) All lrecords - begin with a `struct lrecord_header', which identifies the lisp - object type, by providing an index into a table of `struct - lrecord_implementation', which describes the behavior of the lisp - object. It also contains some other data bits. +/* The "lrecord" type of Lisp object is used for all object types other + than a few simple ones (like char and int). This allows many types to be + implemented but only a few bits required in a Lisp object for type + information. (The tradeoff is that each object has its type marked in + it, thereby increasing its size.) All lrecords begin with a `struct + lrecord_header', which identifies the lisp object type, by providing an + index into a table of `struct lrecord_implementation', which describes + the behavior of the lisp object. It also contains some other data bits. - Creating a new lrecord type is fairly easy; just follow the - lead of some existing type (e.g. hash tables). Note that you - do not need to supply all the methods (see below); reasonable - defaults are provided for many of them. Alternatively, if you're - just looking for a way of encapsulating data (which possibly - could contain Lisp_Objects in it), you may well be able to use - the opaque type. -*/ -#else /* not NEW_GC */ -/* The "lrecord" type of Lisp object is used for all object types - other than a few simple ones. This allows many types to be - implemented but only a few bits required in a Lisp object for type - information. (The tradeoff is that each object has its type marked - in it, thereby increasing its size.) All lrecords begin with a - `struct lrecord_header', which identifies the lisp object type, by - providing an index into a table of `struct lrecord_implementation', - which describes the behavior of the lisp object. It also contains - some other data bits. - +#ifndef NEW_GC Lrecords are of two types: straight lrecords, and lcrecords. Straight lrecords are used for those types of objects that have their own allocation routines (typically allocated out of 2K chunks @@ -70,16 +50,46 @@ Lcrecords have a `struct old_lcrecord_header' at the top, which contains a `struct lrecord_header' and a `next' pointer, and are allocated using old_alloc_lcrecord_type() or its variants. +#endif - Creating a new lcrecord type is fairly easy; just follow the + Creating a new Lisp object type is fairly easy; just follow the lead of some existing type (e.g. hash tables). Note that you do not need to supply all the methods (see below); reasonable defaults are provided for many of them. Alternatively, if you're just looking for a way of encapsulating data (which possibly could contain Lisp_Objects in it), you may well be able to use - the opaque type. --ben + the opaque type. */ -#endif /* not NEW_GC */ + +#ifdef NEW_GC +/* + There are some limitations under New-GC that lead to the creation of a + large number of new internal object types. I'm not completely sure what + all of them are, but they are at least partially related to limitations + on finalizers. Something else must be going on as well, because + non-dumpable, non-finalizable objects like devices and frames also have + their window-system-specific substructures converted into Lisp objects. + It must have something to do with the fact that these substructures + contain pointers to Lisp objects, but it's not completely clear why -- + object descriptions exist to indicate the size of these structures and + the Lisp object pointers within them. + + At least one definite issue is that under New-GC dumpable objects cannot + contain any finalizers (see pdump_register_object()). This means that any + substructures in dumpable objects that are allocated separately and + normally freed in a finalizer need instead to be made into actual Lisp + objects. If those structures are Dynarrs, they need to be made into + Dynarr Lisp objects (e.g. face-cachel-dynarr or glyph-cachel-dynarr), + which are created using Dynarr_lisp_new() or Dynarr_new_new2(). + Furthermore, the objects contained in the Dynarr also need to be Lisp + objects (e.g. face-cachel or glyph-cachel). + + --ben + */ + +#endif + + #ifdef NEW_GC #define ALLOC_LCRECORD_TYPE alloc_lrecord_type @@ -305,6 +315,7 @@ lrecord_type_undefined, /* only used for debugging */ #endif /* not NEW_GC */ #ifdef NEW_GC + /* See comment up top explaining why these extra object types must exist. */ lrecord_type_string_indirect_data, lrecord_type_string_direct_data, lrecord_type_hash_table_entry, @@ -370,14 +381,15 @@ used instead. */ void (*printer) (Lisp_Object, Lisp_Object printcharfun, int escapeflag); - /* `finalizer' is called at GC time when the object is about to - be freed, and at dump time (FOR_DISKSAVE will be non-zero in this - case). It should perform any necessary cleanup (e.g. freeing - malloc()ed memory). This can be NULL, meaning no special - finalization is necessary. + /* `finalizer' is called at GC time when the object is about to be freed, + and at dump time (FOR_DISKSAVE will be non-zero in this case). It + should perform any necessary cleanup (e.g. freeing malloc()ed memory + or releasing objects created in external libraries, such as + window-system windows or file handles). This can be NULL, meaning no + special finalization is necessary. - WARNING: remember that `finalizer' is called at dump time even - though the object is not being freed. */ + WARNING: remember that `finalizer' is called at dump time even though + the object is not being freed -- check the FOR_DISKSAVE argument. */ void (*finalizer) (void *header, int for_disksave); /* This can be NULL, meaning compare objects with EQ(). */ @@ -710,7 +722,7 @@ ... }; - lisp_object_description is declared in alloc.c, like this: + lisp_object_description is declared in gc.c, like this: static const struct memory_description lisp_object_description_1[] = { { XD_LISP_OBJECT, 0 }, @@ -1131,18 +1143,21 @@ #define XD_INDIRECT_VAL(code) ((-1 - (code)) & 255) #define XD_INDIRECT_DELTA(code) ((-1 - (code)) >> 8) -#define XD_DYNARR_DESC(base_type, sub_desc) \ - { XD_BLOCK_PTR, offsetof (base_type, base), XD_INDIRECT(1, 0), {sub_desc} },\ - { XD_INT, offsetof (base_type, len) }, \ - { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) } \ +#define XD_DYNARR_DESC(base_type, sub_desc) \ + { XD_BLOCK_PTR, offsetof (base_type, base), \ + XD_INDIRECT(1, 0), {sub_desc} }, \ + { XD_INT, offsetof (base_type, len) }, \ + { XD_INT_RESET, offsetof (base_type, largest), XD_INDIRECT(1, 0) }, \ + { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) } #ifdef NEW_GC #define XD_LISP_DYNARR_DESC(base_type, sub_desc) \ { XD_LISP_OBJECT_BLOCK_PTR, offsetof (base_type, base), \ XD_INDIRECT(1, 0), {sub_desc} }, \ { XD_INT, offsetof (base_type, len) }, \ + { XD_INT_RESET, offsetof (base_type, largest), XD_INDIRECT(1, 0) }, \ { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) } -#endif /* not NEW_GC */ +#endif /* NEW_GC */ /* DEFINE_LRECORD_IMPLEMENTATION is for objects with constant size. DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION is for objects whose size varies.
--- a/src/marker.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/marker.c Mon Feb 01 14:11:36 2010 -0600 @@ -62,9 +62,9 @@ if (print_readably) printing_unreadable_object ("#<marker 0x%lx>", (long) marker); - write_c_string (printcharfun, GETTEXT ("#<marker ")); + write_ascstring (printcharfun, GETTEXT ("#<marker ")); if (!marker->buffer) - write_c_string (printcharfun, GETTEXT ("in no buffer")); + write_ascstring (printcharfun, GETTEXT ("in no buffer")); else { write_fmt_string (printcharfun, "at %ld in ", @@ -72,7 +72,7 @@ print_internal (marker->buffer->name, printcharfun, 0); } if (marker->insertion_type) - write_c_string (printcharfun, " insertion-type=t"); + write_ascstring (printcharfun, " insertion-type=t"); write_fmt_string (printcharfun, " 0x%lx>", (long) marker); }
--- a/src/menubar-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/menubar-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -138,7 +138,7 @@ right = gui_item_display_flush_right (gui_item); if (!NILP (right)) - return concat3 (left, build_string ("\t"), right); + return concat3 (left, build_ascstring ("\t"), right); else return left; }
--- a/src/menubar-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/menubar-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -999,7 +999,7 @@ i++; write_fmt_string (Qexternal_debugging_output, "OPERATE (%d): ",i); print_internal (t, Qexternal_debugging_output, 1); - write_c_string (Qexternal_debugging_output, "\n"); + write_ascstring (Qexternal_debugging_output, "\n"); t = XEVENT_NEXT (t); } }
--- a/src/menubar.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/menubar.c Mon Feb 01 14:11:36 2010 -0600 @@ -456,8 +456,8 @@ * and this works fine. */ - Vblank_menubar = list1 (list2 (build_msg_string ("No active menubar"), - vector3 (build_string (""), Qnil, Qnil))); + Vblank_menubar = list1 (list2 (build_defer_string ("No active menubar"), + vector3 (build_ascstring (""), Qnil, Qnil))); staticpro (&Vblank_menubar); DEFVAR_BOOL ("popup-menu-titles", &popup_menu_titles /*
--- a/src/minibuf.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/minibuf.c Mon Feb 01 14:11:36 2010 -0600 @@ -990,11 +990,9 @@ at runtime instead of at load time. */ #endif Vminibuffer_zero - = Fget_buffer_create - (build_string (DEFER_GETTEXT (" *Minibuf-0*"))); + = Fget_buffer_create (build_ascstring (" *Minibuf-0*")); Vecho_area_buffer - = Fget_buffer_create - (build_string (DEFER_GETTEXT (" *Echo Area*"))); + = Fget_buffer_create (build_ascstring (" *Echo Area*")); } void
--- a/src/mule-charset.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/mule-charset.c Mon Feb 01 14:11:36 2010 -0600 @@ -625,10 +625,10 @@ Ibyte tempname[80]; qxesprintf (tempname, "___temporary___%d__", id); - name = Fmake_symbol (build_intstring (tempname)); /* Uninterned. */ + name = Fmake_symbol (build_istring (tempname)); /* Uninterned. */ } if (NILP (doc_string)) - doc_string = build_string (""); + doc_string = build_ascstring (""); if (NILP (registries)) registries = make_vector(0, Qnil); if (NILP (short_name)) @@ -1160,185 +1160,185 @@ make_charset (LEADING_BYTE_ASCII, Qascii, 1, CHARSET_TYPE_94, 1, 0, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("ASCII"), - build_msg_string ("ASCII"), - build_msg_string ("ASCII (ISO646 IRV)"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("ASCII"), + build_defer_string ("ASCII"), + build_defer_string ("ASCII (ISO646 IRV)"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_control_1); Vcharset_control_1 = make_charset (LEADING_BYTE_CONTROL_1, Qcontrol_1, 2, CHARSET_TYPE_94, 1, 1, 0, CHARSET_LEFT_TO_RIGHT, - build_string ("C1"), - build_msg_string ("Control characters"), - build_msg_string ("Control characters 128-191"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("C1"), + build_defer_string ("Control characters"), + build_defer_string ("Control characters 128-191"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_latin_iso8859_1); Vcharset_latin_iso8859_1 = make_charset (LEADING_BYTE_LATIN_ISO8859_1, Qlatin_iso8859_1, 2, CHARSET_TYPE_96, 1, 1, 'A', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-1"), - build_msg_string ("ISO8859-1 (Latin-1)"), - build_msg_string ("ISO8859-1 (Latin-1)"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("Latin-1"), + build_defer_string ("ISO8859-1 (Latin-1)"), + build_defer_string ("ISO8859-1 (Latin-1)"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_latin_iso8859_2); Vcharset_latin_iso8859_2 = make_charset (LEADING_BYTE_LATIN_ISO8859_2, Qlatin_iso8859_2, 2, CHARSET_TYPE_96, 1, 1, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-2"), - build_msg_string ("ISO8859-2 (Latin-2)"), - build_msg_string ("ISO8859-2 (Latin-2)"), - vector1(build_string("iso8859-2")), 0, 0); + build_ascstring ("Latin-2"), + build_defer_string ("ISO8859-2 (Latin-2)"), + build_defer_string ("ISO8859-2 (Latin-2)"), + vector1(build_ascstring("iso8859-2")), 0, 0); staticpro (&Vcharset_latin_iso8859_3); Vcharset_latin_iso8859_3 = make_charset (LEADING_BYTE_LATIN_ISO8859_3, Qlatin_iso8859_3, 2, CHARSET_TYPE_96, 1, 1, 'C', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-3"), - build_msg_string ("ISO8859-3 (Latin-3)"), - build_msg_string ("ISO8859-3 (Latin-3)"), - vector1(build_string("iso8859-3")), 0, 0); + build_ascstring ("Latin-3"), + build_defer_string ("ISO8859-3 (Latin-3)"), + build_defer_string ("ISO8859-3 (Latin-3)"), + vector1(build_ascstring("iso8859-3")), 0, 0); staticpro (&Vcharset_latin_iso8859_4); Vcharset_latin_iso8859_4 = make_charset (LEADING_BYTE_LATIN_ISO8859_4, Qlatin_iso8859_4, 2, CHARSET_TYPE_96, 1, 1, 'D', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-4"), - build_msg_string ("ISO8859-4 (Latin-4)"), - build_msg_string ("ISO8859-4 (Latin-4)"), - vector1(build_string("iso8859-4")), 0, 0); + build_ascstring ("Latin-4"), + build_defer_string ("ISO8859-4 (Latin-4)"), + build_defer_string ("ISO8859-4 (Latin-4)"), + vector1(build_ascstring("iso8859-4")), 0, 0); staticpro (&Vcharset_thai_tis620); Vcharset_thai_tis620 = make_charset (LEADING_BYTE_THAI_TIS620, Qthai_tis620, 2, CHARSET_TYPE_96, 1, 1, 'T', CHARSET_LEFT_TO_RIGHT, - build_string ("TIS620"), - build_msg_string ("TIS620 (Thai)"), - build_msg_string ("TIS620.2529 (Thai)"), - vector1(build_string("tis620.2529-1")), 0, 0); + build_ascstring ("TIS620"), + build_defer_string ("TIS620 (Thai)"), + build_defer_string ("TIS620.2529 (Thai)"), + vector1(build_ascstring("tis620.2529-1")), 0, 0); staticpro (&Vcharset_greek_iso8859_7); Vcharset_greek_iso8859_7 = make_charset (LEADING_BYTE_GREEK_ISO8859_7, Qgreek_iso8859_7, 2, CHARSET_TYPE_96, 1, 1, 'F', CHARSET_LEFT_TO_RIGHT, - build_string ("ISO8859-7"), - build_msg_string ("ISO8859-7 (Greek)"), - build_msg_string ("ISO8859-7 (Greek)"), - vector1(build_string("iso8859-7")), 0, 0); + build_ascstring ("ISO8859-7"), + build_defer_string ("ISO8859-7 (Greek)"), + build_defer_string ("ISO8859-7 (Greek)"), + vector1(build_ascstring("iso8859-7")), 0, 0); staticpro (&Vcharset_arabic_iso8859_6); Vcharset_arabic_iso8859_6 = make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2, CHARSET_TYPE_96, 1, 1, 'G', CHARSET_RIGHT_TO_LEFT, - build_string ("ISO8859-6"), - build_msg_string ("ISO8859-6 (Arabic)"), - build_msg_string ("ISO8859-6 (Arabic)"), - vector1(build_string ("iso8859-6")), 0, 0); + build_ascstring ("ISO8859-6"), + build_defer_string ("ISO8859-6 (Arabic)"), + build_defer_string ("ISO8859-6 (Arabic)"), + vector1(build_ascstring ("iso8859-6")), 0, 0); staticpro (&Vcharset_hebrew_iso8859_8); Vcharset_hebrew_iso8859_8 = make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2, CHARSET_TYPE_96, 1, 1, 'H', CHARSET_RIGHT_TO_LEFT, - build_string ("ISO8859-8"), - build_msg_string ("ISO8859-8 (Hebrew)"), - build_msg_string ("ISO8859-8 (Hebrew)"), - vector1(build_string ("iso8859-8")), 0, 0); + build_ascstring ("ISO8859-8"), + build_defer_string ("ISO8859-8 (Hebrew)"), + build_defer_string ("ISO8859-8 (Hebrew)"), + vector1(build_ascstring ("iso8859-8")), 0, 0); staticpro (&Vcharset_katakana_jisx0201); Vcharset_katakana_jisx0201 = make_charset (LEADING_BYTE_KATAKANA_JISX0201, Qkatakana_jisx0201, 2, CHARSET_TYPE_94, 1, 1, 'I', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0201 Kana"), - build_msg_string ("JISX0201.1976 (Japanese Kana)"), - build_msg_string ("JISX0201.1976 Japanese Kana"), - vector1(build_string ("jisx0201.1976-0")), 0, 0); + build_ascstring ("JISX0201 Kana"), + build_defer_string ("JISX0201.1976 (Japanese Kana)"), + build_defer_string ("JISX0201.1976 Japanese Kana"), + vector1(build_ascstring ("jisx0201.1976-0")), 0, 0); staticpro (&Vcharset_latin_jisx0201); Vcharset_latin_jisx0201 = make_charset (LEADING_BYTE_LATIN_JISX0201, Qlatin_jisx0201, 2, CHARSET_TYPE_94, 1, 0, 'J', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0201 Roman"), - build_msg_string ("JISX0201.1976 (Japanese Roman)"), - build_msg_string ("JISX0201.1976 Japanese Roman"), - vector1(build_string ("jisx0201.1976-0")), 0, 0); + build_ascstring ("JISX0201 Roman"), + build_defer_string ("JISX0201.1976 (Japanese Roman)"), + build_defer_string ("JISX0201.1976 Japanese Roman"), + vector1(build_ascstring ("jisx0201.1976-0")), 0, 0); staticpro (&Vcharset_cyrillic_iso8859_5); Vcharset_cyrillic_iso8859_5 = make_charset (LEADING_BYTE_CYRILLIC_ISO8859_5, Qcyrillic_iso8859_5, 2, CHARSET_TYPE_96, 1, 1, 'L', CHARSET_LEFT_TO_RIGHT, - build_string ("ISO8859-5"), - build_msg_string ("ISO8859-5 (Cyrillic)"), - build_msg_string ("ISO8859-5 (Cyrillic)"), - vector1(build_string ("iso8859-5")), 0, 0); + build_ascstring ("ISO8859-5"), + build_defer_string ("ISO8859-5 (Cyrillic)"), + build_defer_string ("ISO8859-5 (Cyrillic)"), + vector1(build_ascstring ("iso8859-5")), 0, 0); staticpro (&Vcharset_latin_iso8859_9); Vcharset_latin_iso8859_9 = make_charset (LEADING_BYTE_LATIN_ISO8859_9, Qlatin_iso8859_9, 2, CHARSET_TYPE_96, 1, 1, 'M', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-5"), - build_msg_string ("ISO8859-9 (Latin-5)"), - build_msg_string ("ISO8859-9 (Latin-5)"), - vector1(build_string ("iso8859-9")), 0, 0); + build_ascstring ("Latin-5"), + build_defer_string ("ISO8859-9 (Latin-5)"), + build_defer_string ("ISO8859-9 (Latin-5)"), + vector1(build_ascstring ("iso8859-9")), 0, 0); staticpro (&Vcharset_latin_iso8859_15); Vcharset_latin_iso8859_15 = make_charset (LEADING_BYTE_LATIN_ISO8859_15, Qlatin_iso8859_15, 2, CHARSET_TYPE_96, 1, 1, 'b', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-9"), - build_msg_string ("ISO8859-15 (Latin-9)"), - build_msg_string ("ISO8859-15 (Latin-9)"), - vector1(build_string ("iso8859-15")), 0, 0); + build_ascstring ("Latin-9"), + build_defer_string ("ISO8859-15 (Latin-9)"), + build_defer_string ("ISO8859-15 (Latin-9)"), + vector1(build_ascstring ("iso8859-15")), 0, 0); staticpro (&Vcharset_japanese_jisx0208_1978); Vcharset_japanese_jisx0208_1978 = make_charset (LEADING_BYTE_JAPANESE_JISX0208_1978, Qjapanese_jisx0208_1978, 3, CHARSET_TYPE_94X94, 2, 0, '@', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0208.1978"), - build_msg_string ("JISX0208.1978 (Japanese)"), - build_msg_string + build_ascstring ("JISX0208.1978"), + build_defer_string ("JISX0208.1978 (Japanese)"), + build_defer_string ("JISX0208.1978 Japanese Kanji (so called \"old JIS\")"), - vector2(build_string("jisx0208.1978-0"), - build_string("jisc6226.1978-0")), 0, 0); + vector2(build_ascstring("jisx0208.1978-0"), + build_ascstring("jisc6226.1978-0")), 0, 0); staticpro (&Vcharset_chinese_gb2312); Vcharset_chinese_gb2312 = make_charset (LEADING_BYTE_CHINESE_GB2312, Qchinese_gb2312, 3, CHARSET_TYPE_94X94, 2, 0, 'A', CHARSET_LEFT_TO_RIGHT, - build_string ("GB2312"), - build_msg_string ("GB2312)"), - build_msg_string ("GB2312 Chinese simplified"), - vector2(build_string("gb2312.1980-0"), - build_string("gb2312.80&gb8565.88-0")), 0, 0); + build_ascstring ("GB2312"), + build_defer_string ("GB2312)"), + build_defer_string ("GB2312 Chinese simplified"), + vector2(build_ascstring("gb2312.1980-0"), + build_ascstring("gb2312.80&gb8565.88-0")), 0, 0); staticpro (&Vcharset_japanese_jisx0208); Vcharset_japanese_jisx0208 = make_charset (LEADING_BYTE_JAPANESE_JISX0208, Qjapanese_jisx0208, 3, CHARSET_TYPE_94X94, 2, 0, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0208"), - build_msg_string ("JISX0208.1983/1990 (Japanese)"), - build_msg_string ("JISX0208.1983/1990 Japanese Kanji"), - vector2(build_string("jisx0208.1983-0"), - build_string("jisx0208.1990-0")), 0, 0); + build_ascstring ("JISX0208"), + build_defer_string ("JISX0208.1983/1990 (Japanese)"), + build_defer_string ("JISX0208.1983/1990 Japanese Kanji"), + vector2(build_ascstring("jisx0208.1983-0"), + build_ascstring("jisx0208.1990-0")), 0, 0); staticpro (&Vcharset_korean_ksc5601); Vcharset_korean_ksc5601 = make_charset (LEADING_BYTE_KOREAN_KSC5601, Qkorean_ksc5601, 3, CHARSET_TYPE_94X94, 2, 0, 'C', CHARSET_LEFT_TO_RIGHT, - build_string ("KSC5601"), - build_msg_string ("KSC5601 (Korean"), - build_msg_string ("KSC5601 Korean Hangul and Hanja"), - vector1(build_string("ksc5601.1987-0")), 0, 0); + build_ascstring ("KSC5601"), + build_defer_string ("KSC5601 (Korean"), + build_defer_string ("KSC5601 Korean Hangul and Hanja"), + vector1(build_ascstring("ksc5601.1987-0")), 0, 0); staticpro (&Vcharset_japanese_jisx0212); Vcharset_japanese_jisx0212 = make_charset (LEADING_BYTE_JAPANESE_JISX0212, Qjapanese_jisx0212, 3, CHARSET_TYPE_94X94, 2, 0, 'D', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0212"), - build_msg_string ("JISX0212 (Japanese)"), - build_msg_string ("JISX0212 Japanese Supplement"), - vector1(build_string("jisx0212.1990-0")), 0, 0); + build_ascstring ("JISX0212"), + build_defer_string ("JISX0212 (Japanese)"), + build_defer_string ("JISX0212 Japanese Supplement"), + vector1(build_ascstring("jisx0212.1990-0")), 0, 0); #define CHINESE_CNS_PLANE(n) "cns11643.1992-" n staticpro (&Vcharset_chinese_cns11643_1); @@ -1346,41 +1346,41 @@ make_charset (LEADING_BYTE_CHINESE_CNS11643_1, Qchinese_cns11643_1, 3, CHARSET_TYPE_94X94, 2, 0, 'G', CHARSET_LEFT_TO_RIGHT, - build_string ("CNS11643-1"), - build_msg_string ("CNS11643-1 (Chinese traditional)"), - build_msg_string + build_ascstring ("CNS11643-1"), + build_defer_string ("CNS11643-1 (Chinese traditional)"), + build_defer_string ("CNS 11643 Plane 1 Chinese traditional"), - vector1(build_string (CHINESE_CNS_PLANE("1"))), 0, 0); + vector1(build_ascstring (CHINESE_CNS_PLANE("1"))), 0, 0); staticpro (&Vcharset_chinese_cns11643_2); Vcharset_chinese_cns11643_2 = make_charset (LEADING_BYTE_CHINESE_CNS11643_2, Qchinese_cns11643_2, 3, CHARSET_TYPE_94X94, 2, 0, 'H', CHARSET_LEFT_TO_RIGHT, - build_string ("CNS11643-2"), - build_msg_string ("CNS11643-2 (Chinese traditional)"), - build_msg_string + build_ascstring ("CNS11643-2"), + build_defer_string ("CNS11643-2 (Chinese traditional)"), + build_defer_string ("CNS 11643 Plane 2 Chinese traditional"), - vector1(build_string (CHINESE_CNS_PLANE("2"))), 0, 0); + vector1(build_ascstring (CHINESE_CNS_PLANE("2"))), 0, 0); staticpro (&Vcharset_chinese_big5_1); Vcharset_chinese_big5_1 = make_charset (LEADING_BYTE_CHINESE_BIG5_1, Qchinese_big5_1, 3, CHARSET_TYPE_94X94, 2, 0, '0', CHARSET_LEFT_TO_RIGHT, - build_string ("Big5"), - build_msg_string ("Big5 (Level-1)"), - build_msg_string + build_ascstring ("Big5"), + build_defer_string ("Big5 (Level-1)"), + build_defer_string ("Big5 Level-1 Chinese traditional"), - vector1(build_string ("big5.eten-0")), 0, 0); + vector1(build_ascstring ("big5.eten-0")), 0, 0); staticpro (&Vcharset_chinese_big5_2); Vcharset_chinese_big5_2 = make_charset (LEADING_BYTE_CHINESE_BIG5_2, Qchinese_big5_2, 3, CHARSET_TYPE_94X94, 2, 0, '1', CHARSET_LEFT_TO_RIGHT, - build_string ("Big5"), - build_msg_string ("Big5 (Level-2)"), - build_msg_string + build_ascstring ("Big5"), + build_defer_string ("Big5 (Level-2)"), + build_defer_string ("Big5 Level-2 Chinese traditional"), - vector1(build_string ("big5.eten-0")), 0, 0); + vector1(build_ascstring ("big5.eten-0")), 0, 0); #ifdef ENABLE_COMPOSITE_CHARS @@ -1392,10 +1392,10 @@ make_charset (LEADING_BYTE_COMPOSITE, Qcomposite, 3, CHARSET_TYPE_96X96, 2, 0, 0, CHARSET_LEFT_TO_RIGHT, - build_string ("Composite"), - build_msg_string ("Composite characters"), - build_msg_string ("Composite characters"), - vector1(build_string ("")), 0, 0); + build_ascstring ("Composite"), + build_defer_string ("Composite characters"), + build_defer_string ("Composite characters"), + vector1(build_ascstring ("")), 0, 0); #else /* We create a hack so that we have a way of storing ESC 0 and ESC 1 sequences as "characters", so that they will be output correctly. */ @@ -1404,9 +1404,9 @@ make_charset (LEADING_BYTE_COMPOSITE_REPLACEMENT, Qcomposite, 2, CHARSET_TYPE_96, 1, 1, '|', CHARSET_LEFT_TO_RIGHT, - build_string ("Composite hack"), - build_msg_string ("Composite characters hack"), - build_msg_string ("Composite characters hack"), - vector1(build_string ("")), 0, 0); + build_ascstring ("Composite hack"), + build_defer_string ("Composite characters hack"), + build_defer_string ("Composite characters hack"), + vector1(build_ascstring ("")), 0, 0); #endif /* ENABLE_COMPOSITE_CHARS */ }
--- a/src/mule-coding.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/mule-coding.c Mon Feb 01 14:11:36 2010 -0600 @@ -2928,16 +2928,16 @@ { int i; - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); for (i = 0; i < 4; i++) { Lisp_Object charset = coding_system_charset (cs, i); if (i > 0) - write_c_string (printcharfun, ", "); + write_ascstring (printcharfun, ", "); write_fmt_string (printcharfun, "g%d=", i); print_internal (CHARSETP (charset) ? XCHARSET_NAME (charset) : charset, printcharfun, 0); if (XCODING_SYSTEM_ISO2022_FORCE_CHARSET_ON_OUTPUT (cs, i)) - write_c_string (printcharfun, "(force)"); + write_ascstring (printcharfun, "(force)"); } #define FROB(prop) \ @@ -2969,7 +2969,7 @@ { write_fmt_string_lisp (printcharfun, ", output-charset-conversion=%s", 1, val); } - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); } } @@ -3740,7 +3740,7 @@ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys)), XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys), (flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES ? - build_string("") : + build_ascstring("") : XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS (codesys)), fastmap, (int)(sizeof (fastmap))); @@ -3801,17 +3801,12 @@ if (flags & QUERY_METHOD_ERRORP) { - DECLARE_EISTRING (error_details); - - eicpy_ascii (error_details, "Cannot encode "); - eicat_lstr (error_details, - make_string_from_buffer (buf, fail_range_start, - pos - fail_range_start)); - eicat_ascii (error_details, " using coding system"); - - signal_error (Qtext_conversion_error, - (const CIbyte *)(eidata (error_details)), - XCODING_SYSTEM_NAME (codesys)); + signal_error_2 + (Qtext_conversion_error, + "Cannot encode using coding system", + make_string_from_buffer (buf, fail_range_start, + pos - fail_range_start), + XCODING_SYSTEM_NAME (codesys)); } if (NILP (result))
--- a/src/nas.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/nas.c Mon Feb 01 14:11:36 2010 -0600 @@ -187,7 +187,7 @@ { EMACS_SIGNAL (SIGPIPE, old_sigpipe); start_interrupts (); - return "error in NAS"; + return (Extbyte *) "error in NAS"; } #endif @@ -205,7 +205,7 @@ EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif if (err_message == NULL) - return "Can't connect to audio server"; + return (Extbyte *) "Can't connect to audio server"; else return err_message; }
--- a/src/nt.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/nt.c Mon Feb 01 14:11:36 2010 -0600 @@ -2109,7 +2109,7 @@ TSTR_TO_C_STRING (shortname, shortint); MSWINDOWS_NORMALIZE_FILENAME (shortint); - return build_intstring (shortint); + return build_istring (shortint); } @@ -2132,7 +2132,7 @@ return Qnil; canon = mswindows_canonicalize_filename (longname); - ret = build_intstring (canon); + ret = build_istring (canon); xfree (canon, Ibyte *); xfree (longname, Ibyte *); return ret;
--- a/src/number.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/number.c Mon Feb 01 14:11:36 2010 -0600 @@ -53,9 +53,9 @@ bignum_print (Lisp_Object obj, Lisp_Object printcharfun, int UNUSED (escapeflag)) { - CIbyte *bstr = bignum_to_string (XBIGNUM_DATA (obj), 10); - write_c_string (printcharfun, bstr); - xfree (bstr, CIbyte *); + Ascbyte *bstr = bignum_to_string (XBIGNUM_DATA (obj), 10); + write_ascstring (printcharfun, bstr); + xfree (bstr, Ascbyte *); } #ifdef NEW_GC @@ -147,7 +147,7 @@ int UNUSED (escapeflag)) { CIbyte *rstr = ratio_to_string (XRATIO_DATA (obj), 10); - write_c_string (printcharfun, rstr); + write_ascstring (printcharfun, rstr); xfree (rstr, CIbyte *); } @@ -251,8 +251,8 @@ bigfloat_print (Lisp_Object obj, Lisp_Object printcharfun, int UNUSED (escapeflag)) { - CIbyte *fstr = bigfloat_to_string (XBIGFLOAT_DATA (obj), 10); - write_c_string (printcharfun, fstr); + Ascbyte *fstr = bigfloat_to_string (XBIGFLOAT_DATA (obj), 10); + write_ascstring (printcharfun, fstr); xfree (fstr, CIbyte *); }
--- a/src/number.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/number.h Mon Feb 01 14:11:36 2010 -0600 @@ -130,8 +130,7 @@ /********************************* Integers *********************************/ -extern Lisp_Object Qintegerp; - +/* Qintegerp in lisp.h */ #define INTEGERP(x) (INTP(x) || BIGNUMP(x)) #define CHECK_INTEGER(x) do { \ if (!INTEGERP (x)) \ @@ -285,7 +284,7 @@ EXFUN (Fbigfloatp, 1); /********************************* Floating *********************************/ -extern Lisp_Object Qfloatingp, Qbigfloat; +extern Lisp_Object Qfloatingp; extern Lisp_Object Qread_default_float_format, Vread_default_float_format; #define FLOATINGP(x) (FLOATP (x) || BIGFLOATP (x)) @@ -319,8 +318,7 @@ /********************************* Numbers **********************************/ -extern Lisp_Object Qnumberp; - +/* Qnumberp in lisp.h */ #define NUMBERP(x) REALP (x) #define CHECK_NUMBER(x) do { \ if (!NUMBERP (x)) \
--- a/src/objects-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -472,7 +472,7 @@ if (!expandp) { /* They want the wildcarded version */ - font_name = build_string ((char*) names->data); + font_name = build_cistring ((char*) names->data); } else { @@ -483,7 +483,7 @@ x_font_names = XListFonts (dpy, (char*) names->data, 1, &nnames); if (x_font_names) { - font_name = build_string (x_font_names[0]); + font_name = build_cistring (x_font_names[0]); XFreeFontNames (x_font_names); } } @@ -503,7 +503,7 @@ names = XListFonts (GDK_DISPLAY (), pattern, MAX_FONT_COUNT, &count); while (count--) - result = Fcons (build_ext_string (names [count], Qbinary), result); + result = Fcons (build_extstring (names [count], Qbinary), result); if (names) XFreeFontNames (names);
--- a/src/objects-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -1016,11 +1016,11 @@ for (i = 0; i < countof (mswindows_X_color_map); i++) if (pcolor == (mswindows_X_color_map[i].colorref)) - return build_string (mswindows_X_color_map[i].name); + return build_ascstring (mswindows_X_color_map[i].name); sprintf (buf, "#%02X%02X%02X", GetRValue (color), GetGValue (color), GetBValue (color)); - return build_string (buf); + return build_ascstring (buf); } /* @@ -1141,7 +1141,7 @@ return 1; /* Add the font name to the list if not already there */ - fontname_lispstr = build_intstring (fontname); + fontname_lispstr = build_istring (fontname); if (NILP (Fassoc (fontname_lispstr, font_enum->list))) font_enum->list = Fcons (Fcons (fontname_lispstr, @@ -1797,7 +1797,7 @@ ERROR_ME_DEBUG_WARN, &logfont, fontname, weight, points, effects, charset)) signal_error (Qinternal_error, "Bad value in device font list?", - build_intstring (truername)); + build_istring (truername)); } else if (!parse_font_spec (namestr, hdc, name_for_errors, errb, &logfont, fontname, weight, points, @@ -1817,7 +1817,7 @@ qxesprintf (truename, "%s:%s:%s:%s:%s", fontname, weight, points, effects, charset); - *truename_ret = build_intstring (truename); + *truename_ret = build_istring (truename); return hfont; } @@ -1837,6 +1837,8 @@ hfont = create_hfont_from_font_spec (namestr, hdc, name, device_font_list, errb, &truename); + if (!hfont) + return 0; f->truename = truename; f->data = xnew_and_zero (struct mswindows_font_instance_data); FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, 0, 0) = hfont; @@ -1946,7 +1948,7 @@ if (match_font (XSTRING_DATA (XCAR (XCAR (fonttail))), XSTRING_DATA (pattern), fontname)) - result = Fcons (build_intstring (fontname), result); + result = Fcons (build_istring (fontname), result); } return Fnreverse (result); @@ -2052,7 +2054,7 @@ spec. See if the FONTSIGNATURE data is already cached. If not, get it and cache it. */ if (!STRINGP (reloc) || the_nonreloc != XSTRING_DATA (reloc)) - reloc = build_intstring (the_nonreloc); + reloc = build_istring (the_nonreloc); GCPRO1 (reloc); fontsig = Fgethash (reloc, Vfont_signature_data, Qunbound); @@ -2240,7 +2242,7 @@ int i; for (i = 0; i < countof (mswindows_X_color_map); i++) - result = Fcons (build_string (mswindows_X_color_map[i].name), result); + result = Fcons (build_ascstring (mswindows_X_color_map[i].name), result); return Fnreverse (result); }
--- a/src/objects-tty.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects-tty.c Mon Feb 01 14:11:36 2010 -0600 @@ -276,7 +276,7 @@ if (*str != '/') return 0; str++; - charset = Ffind_charset (intern_int (str)); + charset = Ffind_charset (intern_istring (str)); if (NILP (charset)) return 0; #else @@ -332,7 +332,7 @@ tty_font_list (Lisp_Object UNUSED (pattern), Lisp_Object UNUSED (device), Lisp_Object UNUSED (maxnumber)) { - return list1 (build_string ("normal")); + return list1 (build_ascstring ("normal")); } #ifdef MULE @@ -388,7 +388,7 @@ if (NILP (charset)) return font; - return concat3 (font, build_string ("/"), + return concat3 (font, build_ascstring ("/"), Fsymbol_name (XCHARSET_NAME (charset))); }
--- a/src/objects-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -733,7 +733,7 @@ if (truename) { - Lisp_Object result = build_ext_string (truename, Qx_font_name_encoding); + Lisp_Object result = build_extstring (truename, Qx_font_name_encoding); XFree (truename); return result; } @@ -767,7 +767,7 @@ if (res) { FONT_INSTANCE_TRUENAME (f) = - build_ext_string ((Extbyte *) res, Qfc_font_name_encoding); + build_extstring ((Extbyte *) res, Qfc_font_name_encoding); free (res); return FONT_INSTANCE_TRUENAME (f); } @@ -834,7 +834,7 @@ ALLOCA, (name_str, name_len), Qx_atom_name_encoding); - name = (name_str ? intern_int (name_str) : Qnil); + name = (name_str ? intern_istring (name_str) : Qnil); if (name_str && (atom == XA_FONT || atom == DEVICE_XATOM_FOUNDRY (d) || @@ -860,7 +860,7 @@ { Extbyte *val_str = XGetAtomName (dpy, props [i].card32); - value = (val_str ? build_ext_string (val_str, Qx_atom_name_encoding) + value = (val_str ? build_extstring (val_str, Qx_atom_name_encoding) : Qnil); } else @@ -890,7 +890,7 @@ names = XListFonts (DEVICE_X_DISPLAY (XDEVICE (device)), patternext, max_number, &count); while (count--) - result = Fcons (build_ext_string (names[count], Qx_font_name_encoding), + result = Fcons (build_extstring (names[count], Qx_font_name_encoding), result); if (names) XFreeFontNames (names);
--- a/src/objects-xlike-inc.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects-xlike-inc.c Mon Feb 01 14:11:36 2010 -0600 @@ -322,10 +322,10 @@ struct charset_reporter { Lisp_Object *charset; /* This is a debug facility, require ASCII. */ - Extbyte *language; /* ASCII, please */ + const Ascbyte *language; /* ASCII, please */ /* Technically this is FcChar8, but fsckin' GCC 4 bitches. RFC 3066 is a combination of ISO 639 and ISO 3166. */ - Extbyte *rfc3066; /* ASCII, please */ + const Ascbyte *rfc3066; /* ASCII, please */ }; static struct charset_reporter charset_table[] = @@ -419,7 +419,7 @@ FcPattern *fontxft; /* long-lived, freed at end of this block */ FcResult fcresult; FcConfig *fcc; - FcChar8 *lang = (FcChar8 *) "en"; /* #### fix this bogus hack! */ + const Ascbyte *lang = "en"; FcCharSet *fccs = NULL; DECLARE_EISTRING (eistr_shortname); /* user-friendly nickname */ DECLARE_EISTRING (eistr_longname); /* omit FC_LANG and FC_CHARSET */ @@ -536,28 +536,29 @@ { DECLARE_DEBUG_FONTNAME (name); CHECKING_LANG (0, eidata(name), cr->language); - lang = (FcChar8 *) cr->rfc3066; + lang = cr->rfc3066; } else if (cr->charset) { /* what the hey, build 'em on the fly */ /* #### in the case of error this could return NULL! */ fccs = mule_to_fc_charset (charset); - lang = (FcChar8 *) XSTRING_DATA (XSYMBOL - (XCHARSET_NAME (charset))-> name); + /* #### Bad idea here */ + lang = (const Ascbyte *) XSTRING_DATA (XSYMBOL (XCHARSET_NAME + (charset))->name); } else { /* OK, we fell off the end of the table */ warn_when_safe_lispobj (intern ("xft"), intern ("alert"), - list2 (build_string ("unchecked charset"), + list2 (build_ascstring ("unchecked charset"), charset)); /* default to "en" #### THIS IS WRONG, WRONG, WRONG!! It is why we never fall through to XLFD-checking. */ } - ASSERT_ASCTEXT_ASCII((Extbyte *) lang); + ASSERT_ASCTEXT_ASCII (lang); if (fccs) { @@ -616,7 +617,8 @@ FcTypeOfValueToString (v)); result = Qnil; } - else if (FcLangSetHasLang (v.u.l, lang) != FcLangDifferentLang) + else if (FcLangSetHasLang (v.u.l, (FcChar8 *) lang) + != FcLangDifferentLang) { DECLARE_DEBUG_FONTNAME (name); DEBUG_XFT2 (0, "Xft font %s supports %s\n", @@ -810,7 +812,7 @@ Lisp_Object new_registries = make_vector(registries_len + 1, Qnil); XVECTOR_DATA(new_registries)[0] - = build_string(FALLBACK_ASCII_REGISTRY); + = build_ascstring(FALLBACK_ASCII_REGISTRY); memcpy(XVECTOR_DATA(new_registries) + 1, XVECTOR_DATA(registries),
--- a/src/objects.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/objects.h Mon Feb 01 14:11:36 2010 -0600 @@ -76,8 +76,4 @@ void set_face_boolean_attached_to (Lisp_Object obj, Lisp_Object face, Lisp_Object property); -/* Defined in search.c, used in mule-charset.c; slightly ugly to declare it - here, but oh well. */ -EXFUN (Fregexp_quote, 1); - #endif /* INCLUDED_objects_h_ */
--- a/src/print.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/print.c Mon Feb 01 14:11:36 2010 -0600 @@ -655,17 +655,47 @@ } void -write_string (Lisp_Object stream, const Ibyte *str) +write_istring (Lisp_Object stream, const Ibyte *str) { /* This function can GC */ write_string_1 (stream, str, qxestrlen (str)); } void -write_c_string (Lisp_Object stream, const CIbyte *str) +write_cistring (Lisp_Object stream, const CIbyte *str) +{ + /* This function can GC */ + write_istring (stream, (const Ibyte *) str); +} + +void +write_ascstring (Lisp_Object stream, const Ascbyte *str) { /* This function can GC */ - write_string_1 (stream, (const Ibyte *) str, strlen (str)); + ASSERT_ASCTEXT_ASCII (str); + write_istring (stream, (const Ibyte *) str); +} + +void +write_msg_istring (Lisp_Object stream, const Ibyte *str) +{ + /* This function can GC */ + return write_istring (stream, IGETTEXT (str)); +} + +void +write_msg_cistring (Lisp_Object stream, const CIbyte *str) +{ + /* This function can GC */ + return write_msg_istring (stream, (const Ibyte *) str); +} + +void +write_msg_ascstring (Lisp_Object stream, const Ascbyte *str) +{ + /* This function can GC */ + ASSERT_ASCTEXT_ASCII (str); + return write_msg_istring (stream, (const Ibyte *) str); } void @@ -848,7 +878,7 @@ (stream)) { /* This function can GC */ - write_c_string (canonicalize_printcharfun (stream), "\n"); + write_ascstring (canonicalize_printcharfun (stream), "\n"); return Qt; } @@ -945,9 +975,9 @@ GCPRO2 (object, stream); stream = print_prepare (stream, &frame); - write_c_string (stream, "\n"); + write_ascstring (stream, "\n"); print_internal (object, stream, 1); - write_c_string (stream, "\n"); + write_ascstring (stream, "\n"); print_finish (stream, frame); UNGCPRO; return object; @@ -1023,7 +1053,7 @@ } while (!NILP (tail)) { - write_c_string (stream, first ? ": " : ", "); + write_ascstring (stream, first ? ": " : ", "); /* Most errors have an explanatory string as their first argument, and it looks better not to put the quotes around it. */ print_internal (Fcar (tail), stream, @@ -1043,7 +1073,7 @@ error_throw: if (NILP (method)) { - write_c_string (stream, GETTEXT ("Peculiar error ")); + write_ascstring (stream, GETTEXT ("Peculiar error ")); print_internal (error_object, stream, 1); return; } @@ -1327,17 +1357,17 @@ if (max < len) last = max; } - write_c_string (printcharfun, start); + write_cistring (printcharfun, start); for (i = 0; i < last; i++) { Lisp_Object elt = XVECTOR_DATA (obj)[i]; - if (i != 0) write_c_string (printcharfun, " "); + if (i != 0) write_ascstring (printcharfun, " "); print_internal (elt, printcharfun, escapeflag); } UNGCPRO; if (last != len) - write_c_string (printcharfun, " ..."); - write_c_string (printcharfun, end); + write_ascstring (printcharfun, " ..."); + write_cistring (printcharfun, end); } void @@ -1358,14 +1388,14 @@ { obj = XCAR (XCDR (obj)); GCPRO2 (obj, printcharfun); - write_c_string (printcharfun, "\'"); + write_ascstring (printcharfun, "\'"); UNGCPRO; print_internal (obj, printcharfun, escapeflag); return; } GCPRO2 (obj, printcharfun); - write_c_string (printcharfun, "("); + write_ascstring (printcharfun, "("); { int len; @@ -1378,20 +1408,20 @@ obj = XCDR (obj), len++) { if (len > 0) - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); if (EQ (obj, tortoise) && len > 0) { if (print_readably) printing_unreadable_object ("circular list"); else - write_c_string (printcharfun, "... <circular list>"); + write_ascstring (printcharfun, "... <circular list>"); break; } if (len & 1) tortoise = XCDR (tortoise); if (len > max) { - write_c_string (printcharfun, "..."); + write_ascstring (printcharfun, "..."); break; } print_internal (XCAR (obj), printcharfun, escapeflag); @@ -1399,12 +1429,12 @@ } if (!LISTP (obj)) { - write_c_string (printcharfun, " . "); + write_ascstring (printcharfun, " . "); print_internal (obj, printcharfun, escapeflag); } UNGCPRO; - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ")"); return; } @@ -1442,13 +1472,13 @@ /* This deals with GC-relocation and Mule. */ output_string (printcharfun, 0, obj, 0, bcmax); if (max < size) - write_c_string (printcharfun, " ..."); + write_ascstring (printcharfun, " ..."); } else { Bytecount i, last = 0; - write_c_string (printcharfun, "\""); + write_ascstring (printcharfun, "\""); for (i = 0; i < bcmax; i++) { Ibyte ch = string_byte (obj, i); @@ -1462,17 +1492,17 @@ } if (ch == '\n') { - write_c_string (printcharfun, "\\n"); + write_ascstring (printcharfun, "\\n"); } else { Ibyte temp[2]; - write_c_string (printcharfun, "\\"); + write_ascstring (printcharfun, "\\"); /* This is correct for Mule because the character is either \ or " */ temp[0] = string_byte (obj, i); temp[1] = '\0'; - write_string (printcharfun, temp); + write_istring (printcharfun, temp); } last = i + 1; } @@ -1483,20 +1513,20 @@ bcmax - last); } if (max < size) - write_c_string (printcharfun, " ..."); - write_c_string (printcharfun, "\""); + write_ascstring (printcharfun, " ..."); + write_ascstring (printcharfun, "\""); } UNGCPRO; } DOESNT_RETURN -printing_unreadable_object (const CIbyte *fmt, ...) +printing_unreadable_object (const Ascbyte *fmt, ...) { Lisp_Object obj; va_list args; va_start (args, fmt); - obj = emacs_vsprintf_string (CGETTEXT (fmt), args); + obj = emacs_vsprintf_string (GETTEXT (fmt), args); va_end (args); /* Fsignal GC-protects its args */ @@ -1678,9 +1708,9 @@ case Lisp_Type_Int_Even: case Lisp_Type_Int_Odd: { - char buf[DECIMAL_PRINT_SIZE (EMACS_INT)]; + Ascbyte buf[DECIMAL_PRINT_SIZE (EMACS_INT)]; long_to_string (buf, XINT (obj)); - write_c_string (printcharfun, buf); + write_ascstring (printcharfun, buf); break; } @@ -1884,7 +1914,7 @@ Ascbyte buf[DECIMAL_PRINT_SIZE (long) + 1]; *buf = '#'; long_to_string (buf + 1, i); - write_c_string (printcharfun, buf); + write_ascstring (printcharfun, buf); break; } if (i < print_depth - 1) /* Did we print something? */ @@ -1897,7 +1927,7 @@ if (INTP (Vprint_level) && print_depth > XINT (Vprint_level)) { - write_c_string (printcharfun, "..."); + write_ascstring (printcharfun, "..."); break; } } @@ -1929,10 +1959,10 @@ print_float (Lisp_Object obj, Lisp_Object printcharfun, int UNUSED (escapeflag)) { - char pigbuf[350]; /* see comments in float_to_string */ + Ascbyte pigbuf[350]; /* see comments in float_to_string */ float_to_string (pigbuf, XFLOAT_DATA (obj)); - write_c_string (printcharfun, pigbuf); + write_ascstring (printcharfun, pigbuf); } void @@ -1968,9 +1998,9 @@ Lisp_Object tem = Fassq (obj, Vprint_gensym_alist); if (CONSP (tem)) { - write_c_string (printcharfun, "#"); + write_ascstring (printcharfun, "#"); print_internal (XCDR (tem), printcharfun, escapeflag); - write_c_string (printcharfun, "#"); + write_ascstring (printcharfun, "#"); UNGCPRO; return; } @@ -1988,12 +2018,12 @@ tem = make_int (1); Vprint_gensym_alist = Fcons (Fcons (obj, tem), Vprint_gensym_alist); - write_c_string (printcharfun, "#"); + write_ascstring (printcharfun, "#"); print_internal (tem, printcharfun, escapeflag); - write_c_string (printcharfun, "="); + write_ascstring (printcharfun, "="); } } - write_c_string (printcharfun, "#:"); + write_ascstring (printcharfun, "#:"); } /* Does it look like an integer or a float? */ @@ -2028,7 +2058,7 @@ from FSF. --hniksic */ confusing = isfloat_string ((char *) data); if (confusing) - write_c_string (printcharfun, "\\"); + write_ascstring (printcharfun, "\\"); } { @@ -2053,7 +2083,7 @@ case '[': case ']' : case '?' : if (i > last) output_string (printcharfun, 0, name, last, i - last); - write_c_string (printcharfun, "\\"); + write_ascstring (printcharfun, "\\"); last = i; } }
--- a/src/process-nt.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/process-nt.c Mon Feb 01 14:11:36 2010 -0600 @@ -693,11 +693,11 @@ */ static DOESNT_RETURN -mswindows_report_winsock_error (const char *string, Lisp_Object data, +mswindows_report_winsock_error (const Ascbyte *reason, Lisp_Object data, int errnum) { report_file_type_error (Qnetwork_error, mswindows_lisp_error (errnum), - string, data); + reason, data); } static void @@ -1313,7 +1313,8 @@ return host; if (address.sin_family == AF_INET) - return build_string (inet_ntoa (address.sin_addr)); + return build_extstring (inet_ntoa (address.sin_addr), + Qunix_host_name_encoding); else return host; }
--- a/src/process-unix.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/process-unix.c Mon Feb 01 14:11:36 2010 -0600 @@ -1300,7 +1300,7 @@ if (separate_err) retry_close (forkerr); - p->tty_name = pty_flag ? build_intstring (pty_name) : Qnil; + p->tty_name = pty_flag ? build_istring (pty_name) : Qnil; /* Notice that SIGCHLD was not blocked. (This is not possible on some systems.) No biggie if SIGCHLD occurs right around the @@ -1833,7 +1833,7 @@ int gni = getnameinfo (res->ai_addr, res->ai_addrlen, addrbuf, sizeof(addrbuf), NULL, 0, NI_NUMERICHOST); - canonname = gni ? host : build_ext_string (addrbuf, + canonname = gni ? host : build_extstring (addrbuf, Qunix_host_name_encoding); freeaddrinfo (res); @@ -1847,7 +1847,8 @@ return host; if (address.sin_family == AF_INET) - return build_string (inet_ntoa (address.sin_addr)); + return build_extstring (inet_ntoa (address.sin_addr), + Qunix_host_name_encoding); else /* #### any clue what to do here? */ return host;
--- a/src/process.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/process.c Mon Feb 01 14:11:36 2010 -0600 @@ -159,15 +159,15 @@ else { int netp = network_connection_p (obj); - write_c_string (printcharfun, + write_ascstring (printcharfun, netp ? GETTEXT ("#<network connection ") : GETTEXT ("#<process ")); print_internal (process->name, printcharfun, 1); - write_c_string (printcharfun, (netp ? " " : " pid ")); + write_ascstring (printcharfun, (netp ? " " : " pid ")); print_internal (process->pid, printcharfun, 1); write_fmt_string_lisp (printcharfun, " state:%S", 1, process->status_symbol); MAYBE_PROCMETH (print_process_data, (process, printcharfun)); - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, ">"); } } @@ -454,15 +454,15 @@ /************************************************************************/ DOESNT_RETURN -report_process_error (const char *string, Lisp_Object data) +report_process_error (const Ascbyte *reason, Lisp_Object data) { - report_error_with_errno (Qprocess_error, string, data); + report_error_with_errno (Qprocess_error, reason, data); } DOESNT_RETURN -report_network_error (const char *string, Lisp_Object data) +report_network_error (const Ascbyte *reason, Lisp_Object data) { - report_error_with_errno (Qnetwork_error, string, data); + report_error_with_errno (Qnetwork_error, reason, data); } Lisp_Object @@ -479,12 +479,12 @@ name1 = name; for (i = 1; ; i++) { - char suffix[10]; + Ascbyte suffix[10]; Lisp_Object tem = Fget_process (name1); if (NILP (tem)) break; sprintf (suffix, "<%d>", i); - name1 = concat2 (name, build_string (suffix)); + name1 = concat2 (name, build_ascstring (suffix)); } name = name1; p->name = name; @@ -746,7 +746,7 @@ tem = Qnil; NGCPRO1 (tem); - locate_file (list1 (build_string ("")), program, Vlisp_EXEC_SUFFIXES, + locate_file (list1 (build_ascstring ("")), program, Vlisp_EXEC_SUFFIXES, &tem, X_OK); if (NILP (tem)) signal_error (Qprocess_error, "Searching for program", program); @@ -1570,11 +1570,11 @@ if (EQ (symbol, Qsignal) || EQ (symbol, Qstop)) { - string = build_string (signal_name (code)); + string = build_cistring (signal_name (code)); if (coredump) string2 = build_msg_string (" (core dumped)\n"); else - string2 = build_string ("\n"); + string2 = build_ascstring ("\n"); set_string_char (string, 0, DOWNCASE (0, string_ichar (string, 0))); return concat2 (string, string2); @@ -1587,7 +1587,7 @@ if (coredump) string2 = build_msg_string (" (core dumped)\n"); else - string2 = build_string ("\n"); + string2 = build_ascstring ("\n"); return concat2 (build_msg_string ("exited abnormally with code "), concat2 (string, string2)); } @@ -1696,9 +1696,9 @@ int spec = process_setup_for_insertion (process, 0); NGCPRO1 (process); - buffer_insert_c_string (current_buffer, "\nProcess "); + buffer_insert_ascstring (current_buffer, "\nProcess "); Finsert (1, &p->name); - buffer_insert_c_string (current_buffer, " "); + buffer_insert_ascstring (current_buffer, " "); Finsert (1, &msg); Fset_marker (p->mark, make_int (BUF_PT (current_buffer)), p->buffer); @@ -2308,14 +2308,14 @@ ) { XCAR (scan) = concat3 (make_string (var, varlen), - build_string ("="), + build_ascstring ("="), make_string (value, valuelen)); return; } } Vprocess_environment = Fcons (concat3 (make_string (var, varlen), - build_string ("="), + build_ascstring ("="), make_string (value, valuelen)), Vprocess_environment); } @@ -2348,7 +2348,7 @@ */ (var, interactivep)) { - Ibyte *value; + Ibyte *value = NULL; Bytecount valuelen; Lisp_Object v = Qnil; struct gcpro gcpro1; @@ -2434,12 +2434,12 @@ _wgetenv (L""); /* force initialization of _wenviron */ for (envp = (Extbyte **) _wenviron; envp && *envp; envp++) Vprocess_environment = - Fcons (build_ext_string (*envp, Qmswindows_unicode), + Fcons (build_extstring (*envp, Qmswindows_unicode), Vprocess_environment); #else for (envp = environ; envp && *envp; envp++) Vprocess_environment = - Fcons (build_ext_string (*envp, Qenvironment_variable_encoding), + Fcons (build_extstring (*envp, Qenvironment_variable_encoding), Vprocess_environment); #endif /* This gets set back to 0 in disksave_object_finalization() */ @@ -2479,12 +2479,12 @@ { Ibyte *faux_var = alloca_ibytes (7 + qxestrlen (shell)); qxesprintf (faux_var, "SHELL=%s", shell); - Vprocess_environment = Fcons (build_intstring (faux_var), + Vprocess_environment = Fcons (build_istring (faux_var), Vprocess_environment); } #endif /* 0 */ - Vshell_file_name = build_intstring (shell); + Vshell_file_name = build_istring (shell); } } @@ -2605,7 +2605,7 @@ the operations needing this are lower level than what ELisp programs typically do, and in any case no equivalent exists under native MS Windows. */ ); - Vnull_device = build_string (NULL_DEVICE); + Vnull_device = build_ascstring (NULL_DEVICE); DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type /* Control type of device used to communicate with subprocesses. @@ -2685,6 +2685,6 @@ when Emacs starts. */ ); - Vlisp_EXEC_SUFFIXES = build_string (EXEC_SUFFIXES); + Vlisp_EXEC_SUFFIXES = build_ascstring (EXEC_SUFFIXES); staticpro (&Vlisp_EXEC_SUFFIXES); }
--- a/src/process.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/process.h Mon Feb 01 14:11:36 2010 -0600 @@ -55,8 +55,8 @@ EXFUN (Fprocess_id, 1); MODULE_API -DECLARE_DOESNT_RETURN (report_process_error (const char *, Lisp_Object)); -DECLARE_DOESNT_RETURN (report_network_error (const char *, Lisp_Object)); +DECLARE_DOESNT_RETURN (report_process_error (const Ascbyte *, Lisp_Object)); +DECLARE_DOESNT_RETURN (report_network_error (const Ascbyte *, Lisp_Object)); extern Lisp_Object Vlisp_EXEC_SUFFIXES; MODULE_API Ibyte *egetenv (const CIbyte *var);
--- a/src/profile.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/profile.c Mon Feb 01 14:11:36 2010 -0600 @@ -683,28 +683,28 @@ profiling_lock = 0; #ifdef DEBUG_XEMACS - QSin_temp_spot_1 = build_msg_string ("(in temp spot 1)"); + QSin_temp_spot_1 = build_defer_string ("(in temp spot 1)"); staticpro (&QSin_temp_spot_1); - QSin_temp_spot_2 = build_msg_string ("(in temp spot 2)"); + QSin_temp_spot_2 = build_defer_string ("(in temp spot 2)"); staticpro (&QSin_temp_spot_2); - QSin_temp_spot_3 = build_msg_string ("(in temp spot 3)"); + QSin_temp_spot_3 = build_defer_string ("(in temp spot 3)"); staticpro (&QSin_temp_spot_3); - QSin_temp_spot_4 = build_msg_string ("(in temp spot 4)"); + QSin_temp_spot_4 = build_defer_string ("(in temp spot 4)"); staticpro (&QSin_temp_spot_4); - QSin_temp_spot_5 = build_msg_string ("(in temp spot 5)"); + QSin_temp_spot_5 = build_defer_string ("(in temp spot 5)"); staticpro (&QSin_temp_spot_5); #endif /* DEBUG_XEMACS */ - QSunknown = build_msg_string ("(unknown)"); + QSunknown = build_defer_string ("(unknown)"); staticpro (&QSunknown); QSprocessing_events_at_top_level = - build_msg_string ("(processing events at top level)"); + build_defer_string ("(processing events at top level)"); staticpro (&QSprocessing_events_at_top_level); - QSprofile_overhead = build_msg_string ("(profile overhead)"); + QSprofile_overhead = build_defer_string ("(profile overhead)"); staticpro (&QSprofile_overhead); DEFSYMBOL (Qtiming);
--- a/src/rangetab.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/rangetab.c Mon Feb 01 14:11:36 2010 -0600 @@ -107,13 +107,13 @@ write_fmt_string_lisp (printcharfun, "#s(range-table type %s data (", 1, range_table_type_to_symbol (rt->type)); else - write_c_string (printcharfun, "#<range-table "); + write_ascstring (printcharfun, "#<range-table "); for (i = 0; i < Dynarr_length (rt->entries); i++) { struct range_table_entry *rte = Dynarr_atp (rt->entries, i); int so, ec; if (i > 0) - write_c_string (printcharfun, " "); + write_ascstring (printcharfun, " "); switch (rt->type) { case RANGE_START_CLOSED_END_OPEN: so = 0, ec = 0; break; @@ -131,7 +131,7 @@ print_internal (rte->val, printcharfun, 1); } if (print_readably) - write_c_string (printcharfun, "))"); + write_ascstring (printcharfun, "))"); else write_fmt_string (printcharfun, " 0x%x>", rt->header.uid); }
--- a/src/realpath.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/realpath.c Mon Feb 01 14:11:36 2010 -0600 @@ -464,6 +464,6 @@ vars_of_realpath (void) { QSin_qxe_realpath = - build_msg_string ("(in qxe_realpath)"); + build_defer_string ("(in qxe_realpath)"); staticpro (&QSin_qxe_realpath); }
--- a/src/redisplay-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/redisplay-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -469,9 +469,10 @@ #if 0 /* #### FIXME? */ /* We can't work out the width before we've set the font in the DC */ if (width < 0) - width = mswindows_text_width (cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); + width = mswindows_text_width (w, cachel, Dynarr_atp (buf, 0), + Dynarr_length (buf)); #else - assert(width>=0); + assert (width >= 0); #endif /* Regularize the variables passed in. */ @@ -1181,9 +1182,10 @@ displayed in the font associated with the face. ****************************************************************************/ static int -mswindows_text_width (struct frame *f, struct face_cachel *cachel, +mswindows_text_width (struct window *w, struct face_cachel *cachel, const Ichar *str, Charcount len) { + struct frame *f = WINDOW_XFRAME (w); HDC hdc = get_frame_dc (f, 0); int width_so_far = 0; textual_run *runs;
--- a/src/redisplay-output.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/redisplay-output.c Mon Feb 01 14:11:36 2010 -0600 @@ -422,7 +422,10 @@ else if (start_pos <= bounds.right_out) *next_start = bounds.right_out; else - ABORT (); + { + ABORT (); + *next_start = 0; + } } for (block = 0; block < Dynarr_length (dba); block++)
--- a/src/redisplay-tty.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/redisplay-tty.c Mon Feb 01 14:11:36 2010 -0600 @@ -106,10 +106,10 @@ column, so we use ichar_string_displayed_columns(). ****************************************************************************/ static int -tty_text_width (struct frame *f, struct face_cachel *UNUSED (cachel), +tty_text_width (struct window *w, struct face_cachel *UNUSED (cachel), const Ichar *str, Charcount len) { - struct console *c = XCONSOLE(FRAME_CONSOLE (f)); + struct console *c = WINDOW_XCONSOLE (w); if (CONSOLE_TTY_MULTIPLE_WIDTH (c)) { @@ -1412,7 +1412,7 @@ char *sequence = tgetstr (keys[i].cap, address); if (sequence) Fdefine_key (function_key_map, - build_ext_string (sequence, Qbinary), + build_extstring (sequence, Qbinary), vector1 (intern (keys[i].name))); } @@ -1426,11 +1426,11 @@ const char *k0 = tgetstr ("k0", address); if (k_semi) - Fdefine_key (function_key_map, build_ext_string (k_semi, Qbinary), + Fdefine_key (function_key_map, build_extstring (k_semi, Qbinary), vector1 (intern ("f10"))); if (k0) - Fdefine_key (function_key_map, build_ext_string (k0, Qbinary), + Fdefine_key (function_key_map, build_extstring (k0, Qbinary), vector1 (intern (k_semi ? "f0" : "f10"))); } @@ -1454,7 +1454,7 @@ { sprintf (fkey, "f%d", i); Fdefine_key (function_key_map, - build_ext_string (sequence, Qbinary), + build_extstring (sequence, Qbinary), vector1 (intern (fkey))); } } @@ -1470,7 +1470,7 @@ char *sequence = tgetstr (cap2, address); \ if (sequence) \ Fdefine_key (function_key_map, \ - build_ext_string (sequence, Qbinary), \ + build_extstring (sequence, Qbinary), \ vector1 (intern (keyname))); \ } \ } while (0)
--- a/src/redisplay-xlike-inc.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/redisplay-xlike-inc.c Mon Feb 01 14:11:36 2010 -0600 @@ -519,17 +519,15 @@ when displayed in the fonts associated with the face. */ -/* #### Break me out into a separate header */ -int XLIKE_text_width (struct frame *f, struct face_cachel *cachel, - const Ichar *str, Charcount len); -int -XLIKE_text_width (struct frame *f, struct face_cachel *cachel, +static int +XLIKE_text_width (struct window *w, struct face_cachel *cachel, const Ichar *str, Charcount len) { /* !!#### Needs review */ int width_so_far = 0; unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); struct textual_run *runs = alloca_array (struct textual_run, len); + struct frame *f = WINDOW_XFRAME (w); int nruns; int i; @@ -1024,7 +1022,7 @@ #endif /* USE_XFT */ if (width < 0) - width = XLIKE_text_width (f, cachel, Dynarr_atp (buf, 0), + width = XLIKE_text_width (w, cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); /* Regularize the variables passed in. */
--- a/src/redisplay.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/redisplay.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,7 +1,7 @@ /* Display generation from window structure and buffer text. Copyright (C) 1994, 1995, 1996 Board of Trustees, University of Illinois. Copyright (C) 1995 Free Software Foundation, Inc. - Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2005 Ben Wing. + Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2010 Ben Wing. Copyright (C) 1995 Sun Microsystems, Inc. Copyright (C) 1996 Chuck Thompson. @@ -640,9 +640,9 @@ window = wrap_window (w); ensure_face_cachel_complete (WINDOW_FACE_CACHEL (w, findex), window, charsets); - return DEVMETH (XDEVICE (FRAME_DEVICE (XFRAME (WINDOW_FRAME (w)))), - text_width, (XFRAME (WINDOW_FRAME (w)), - WINDOW_FACE_CACHEL (w, findex), str, len)); + return DEVMETH (WINDOW_XDEVICE (w), + text_width, (w, WINDOW_FACE_CACHEL (w, findex), str, + len)); } static Ichar_dynarr *rtw_ichar_dynarr; @@ -690,7 +690,12 @@ NILP (window) ? frame : window, charsets); return DEVMETH (XDEVICE (FRAME_DEVICE (XFRAME (frame))), - text_width, (XFRAME (frame), + /* #### Not clear if we're always passed a window, but + I think so. If not, we will get an abort here, + and then we need to either fix the callers to pass in + a window, or change *text_width() to take a domain + argument. */ + text_width, (XWINDOW (window), &cachel, Dynarr_atp (rtw_ichar_dynarr, 0), Dynarr_length (rtw_ichar_dynarr))); @@ -9838,7 +9843,7 @@ void vars_of_redisplay (void) { - QSin_redisplay = build_msg_string ("(in redisplay)"); + QSin_redisplay = build_defer_string ("(in redisplay)"); staticpro (&QSin_redisplay); Vpost_redisplay_actions = Qnil;
--- a/src/search.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/search.c Mon Feb 01 14:11:36 2010 -0600 @@ -184,7 +184,7 @@ re_set_syntax (old); if (val) { - maybe_signal_error (Qinvalid_regexp, 0, build_string (val), + maybe_signal_error (Qinvalid_regexp, 0, build_cistring (val), Qsearch, errb); return 0; } @@ -2247,7 +2247,7 @@ } if (WORD_SYNTAX_P (syntax_table, string_ichar (string, len - 1))) word_count++; - if (!word_count) return build_string (""); + if (!word_count) return build_ascstring (""); { /* The following value is an upper bound on the amount of storage we @@ -2905,7 +2905,7 @@ /* replacement can be nil. */ if (NILP (replacement)) - replacement = build_string (""); + replacement = build_ascstring (""); if (case_action == all_caps) replacement = Fupcase (replacement, buffer);
--- a/src/select-common.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/select-common.h Mon Feb 01 14:11:36 2010 -0600 @@ -82,7 +82,7 @@ /* Convert any 8-bit data to a string, for compactness. */ else if (format == 8) - return make_ext_string ((Extbyte *) data, size, + return make_extstring ((Extbyte *) data, size, type == DEVICE_XATOM_TEXT (d) || type == DEVICE_XATOM_COMPOUND_TEXT (d) ? Qctext : Qbinary); @@ -96,7 +96,7 @@ /* Convert any 8-bit data to a string, for compactness. */ else if (format == 8) - return make_ext_string ((Extbyte *) data, size, + return make_extstring ((Extbyte *) data, size, ((type == gdk_atom_intern ("TEXT", FALSE)) || (type == gdk_atom_intern ("COMPOUND_TEXT", FALSE))) ? Qctext : Qbinary);
--- a/src/select-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/select-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -78,7 +78,7 @@ EXTERNAL_TO_C_STRING (str, intstr, Qctext); g_free (str); - return intern_int (intstr); + return intern_istring (intstr); } }
--- a/src/select-msw.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/select-msw.c Mon Feb 01 14:11:36 2010 -0600 @@ -561,7 +561,7 @@ } /* Place it in a Lisp string */ - ret = make_ext_string ((Extbyte *) data, size, Qbinary); + ret = make_extstring ((Extbyte *) data, size, Qbinary); GlobalUnlock (data); CloseClipboard ();
--- a/src/select-x.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/select-x.c Mon Feb 01 14:11:36 2010 -0600 @@ -192,7 +192,7 @@ C_STRING_ALLOCA, intstr, Qctext); XFree (str); - return intern_int (intstr); + return intern_istring (intstr); } } @@ -1377,7 +1377,7 @@ COMPOUND_TEXT that we stored there ourselves earlier, in x-store-cutbuffer-internal */ ret = (bytes ? - make_ext_string ((Extbyte *) data, bytes, + make_extstring ((Extbyte *) data, bytes, memchr (data, 0x1b, bytes) ? Qctext : Qbinary) : Qnil);
--- a/src/sheap.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sheap.c Mon Feb 01 14:11:36 2010 -0600 @@ -111,7 +111,7 @@ if (stream == NULL) report_file_error ("Opening sheap adjustment file", - build_string ("sheap-adjust.h")); + build_ascstring ("sheap-adjust.h")); fprintf (stream, "/*\tDo not edit this file!\n"
--- a/src/sound.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sound.c Mon Feb 01 14:11:36 2010 -0600 @@ -98,9 +98,9 @@ Lisp_Object Qsound_error; DOESNT_RETURN -report_sound_error (const Ascbyte *string, Lisp_Object data) +report_sound_error (const Ascbyte *reason, Lisp_Object data) { - report_error_with_errno (Qsound_error, string, data); + report_error_with_errno (Qsound_error, reason, data); } DEFUN ("play-sound-file", Fplay_sound_file, 1, 3, "fSound file name: ", /*
--- a/src/specifier.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/specifier.c Mon Feb 01 14:11:36 2010 -0600 @@ -285,7 +285,7 @@ the_specs = Fspecifier_specs (obj, Qglobal, Qnil, Qnil); if (NILP (the_specs)) /* there are no global specs */ - write_c_string (printcharfun, "<unspecified>"); + write_ascstring (printcharfun, "<unspecified>"); else print_internal (the_specs, printcharfun, 1); if (!NILP (sp->fallback))
--- a/src/symbols.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/symbols.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,6 +1,6 @@ /* "intern" and friends -- moved here from lread.c and data.c Copyright (C) 1985-1989, 1992-1994 Free Software Foundation, Inc. - Copyright (C) 1995, 2000, 2001, 2002 Ben Wing. + Copyright (C) 1995, 2000, 2001, 2002, 2010 Ben Wing. This file is part of XEmacs. @@ -177,7 +177,7 @@ } Lisp_Object -intern_int (const Ibyte *str) +intern_istring (const Ibyte *str) { Bytecount len = qxestrlen (str); Lisp_Object obarray = Vobarray; @@ -197,7 +197,7 @@ Lisp_Object intern (const CIbyte *str) { - return intern_int ((Ibyte *) str); + return intern_istring ((Ibyte *) str); } Lisp_Object @@ -210,7 +210,7 @@ for (i = 0; i < len; i++) if (tmp[i] == '_') tmp[i] = '-'; - return intern_int ((Ibyte *) tmp); + return intern_istring ((Ibyte *) tmp); } DEFUN ("intern", Fintern, 1, 2, 0, /* @@ -731,7 +731,7 @@ */ (subr)) { - const char *name; + const Ascbyte *name; CHECK_SUBR (subr); name = XSUBR (subr)->name; @@ -774,6 +774,65 @@ /* symbol-value */ /**********************************************************************/ +/* + NOTE NOTE NOTE: + --------------- + + There are various different uses of "magic" with regard to symbols, + and they need to be distinguished: + + 1. `symbol-value-magic' class of objects (struct symbol_value_magic): + A set of Lisp object types used as the value of a variable with any + behavior other than just a plain repository of a value. This + includes buffer-local variables, console-local variables, read-only + variables, variable aliases, variables that are linked to a C + variable, etc. The more specific types are: + + -- `symbol-value-forward': Variables that forward to a C variable. + NOTE:This includes built-in buffer-local and console-local + variables, since they forward to an element in a buffer or + console structure. + + -- `symbol-value-buffer-local': Variables on which + `make-local-variable' or `make-variable-buffer-local' have + been called. + + -- `symbol-value-lisp-magic': See below. + + -- `symbol-value-varalias': Variable aliases. + + 2. `symbol-value-lisp-magic': Variables on which + `dontusethis-set-symbol-value-handler' have been called. These + variables are extra-magic in that operations that would normally + change their value instead get forwarded out to Lisp handlers, + which can do anything they want. (NOTE: Handlers for getting a + variable's value aren't implemented yet.) + + 3. "magicfun" handlers on C-forwarding variables, declared with any + of the following: + + -- DEFVAR_LISP_MAGIC + -- DEFVAR_INT_MAGIC + -- DEFVAR_BOOL_MAGIC, + -- DEFVAR_BUFFER_LOCAL_MAGIC + -- DEFVAR_BUFFER_DEFAULTS_MAGIC + -- DEFVAR_CONSOLE_LOCAL_MAGIC + -- DEFVAR_CONSOLE_DEFAULTS_MAGIC + + Here, the "magic function" is a handler that is notified whenever the + value of a variable is changed, so that some other updating can take + place (e.g. setting redisplay-related dirty bits, updating a cache, + etc.). + + Note that DEFVAR_LISP_MAGIC does *NOT* have anything to do with + `symbol-value-lisp-magic'. The former refers to variables that can + hold an arbitrary Lisp object and forward to a C variable declared + `Lisp_Object foo', and have a "magicfun" as just described; the + latter are variables that have Lisp-level handlers that function + in *PLACE* of normal variable-setting mechanisms, and are established + with `dontusethis-set-symbol-value-handler', as described above. +*/ + /* If the contents of the value cell of a symbol is one of the following three types of objects, then the symbol is "magic" in that setting and retrieving its value doesn't just set or retrieve the raw @@ -1123,29 +1182,29 @@ return *((Lisp_Object *)symbol_value_forward_forward (fwd)); case SYMVAL_DEFAULT_BUFFER_FORWARD: - return (*((Lisp_Object *)((char *) XBUFFER (Vbuffer_defaults) - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&buffer_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *) XBUFFER (Vbuffer_defaults) + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&buffer_local_flags)))); case SYMVAL_CURRENT_BUFFER_FORWARD: case SYMVAL_CONST_CURRENT_BUFFER_FORWARD: assert (buffer); - return (*((Lisp_Object *)((char *)buffer - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&buffer_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *)buffer + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&buffer_local_flags)))); case SYMVAL_DEFAULT_CONSOLE_FORWARD: - return (*((Lisp_Object *)((char *) XCONSOLE (Vconsole_defaults) - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&console_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *) XCONSOLE (Vconsole_defaults) + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&console_local_flags)))); case SYMVAL_SELECTED_CONSOLE_FORWARD: case SYMVAL_CONST_SELECTED_CONSOLE_FORWARD: assert (console); - return (*((Lisp_Object *)((char *)console - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&console_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *)console + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&console_local_flags)))); case SYMVAL_UNBOUND_MARKER: return valcontents; @@ -1171,13 +1230,13 @@ Lisp_Object valcontents = fetch_value_maybe_past_magic (sym, Qt); const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - int offset = ((char *) symbol_value_forward_forward (fwd) - - (char *) &buffer_local_flags); + int offset = ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &buffer_local_flags); int mask = XINT (*((Lisp_Object *) symbol_value_forward_forward (fwd))); int (*magicfun) (Lisp_Object simm, Lisp_Object *val, Lisp_Object in_object, int flags) = symbol_value_forward_magicfun (fwd); - *((Lisp_Object *) (offset + (char *) XBUFFER (Vbuffer_defaults))) + *((Lisp_Object *) (offset + (Rawbyte *) XBUFFER (Vbuffer_defaults))) = value; if (mask > 0) /* Not always per-buffer */ @@ -1190,7 +1249,7 @@ { if (magicfun) magicfun (sym, &value, wrap_buffer (b), 0); - *((Lisp_Object *) (offset + (char *) b)) = value; + *((Lisp_Object *) (offset + (Rawbyte *) b)) = value; } } } @@ -1211,13 +1270,13 @@ Lisp_Object valcontents = fetch_value_maybe_past_magic (sym, Qt); const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - int offset = ((char *) symbol_value_forward_forward (fwd) - - (char *) &console_local_flags); + int offset = ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &console_local_flags); int mask = XINT (*((Lisp_Object *) symbol_value_forward_forward (fwd))); int (*magicfun) (Lisp_Object simm, Lisp_Object *val, Lisp_Object in_object, int flags) = symbol_value_forward_magicfun (fwd); - *((Lisp_Object *) (offset + (char *) XCONSOLE (Vconsole_defaults))) + *((Lisp_Object *) (offset + (Rawbyte *) XCONSOLE (Vconsole_defaults))) = value; if (mask > 0) /* Not always per-console */ @@ -1230,7 +1289,7 @@ { if (magicfun) magicfun (sym, &value, console, 0); - *((Lisp_Object *) (offset + (char *) d)) = value; + *((Lisp_Object *) (offset + (Rawbyte *) d)) = value; } } } @@ -1307,9 +1366,9 @@ case SYMVAL_CURRENT_BUFFER_FORWARD: if (magicfun) magicfun (sym, &newval, wrap_buffer (current_buffer), 0); - *((Lisp_Object *) ((char *) current_buffer - + ((char *) symbol_value_forward_forward (fwd) - - (char *) &buffer_local_flags))) + *((Lisp_Object *) ((Rawbyte *) current_buffer + + ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &buffer_local_flags))) = newval; return; @@ -1320,9 +1379,9 @@ case SYMVAL_SELECTED_CONSOLE_FORWARD: if (magicfun) magicfun (sym, &newval, Vselected_console, 0); - *((Lisp_Object *) ((char *) XCONSOLE (Vselected_console) - + ((char *) symbol_value_forward_forward (fwd) - - (char *) &console_local_flags))) + *((Lisp_Object *) ((Rawbyte *) XCONSOLE (Vselected_console) + + ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &console_local_flags))) = newval; return; @@ -1999,18 +2058,18 @@ { const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - return (*((Lisp_Object *)((char *) XBUFFER (Vbuffer_defaults) - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&buffer_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *) XBUFFER (Vbuffer_defaults) + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&buffer_local_flags)))); } case SYMVAL_SELECTED_CONSOLE_FORWARD: { const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - return (*((Lisp_Object *)((char *) XCONSOLE (Vconsole_defaults) - + ((char *)symbol_value_forward_forward (fwd) - - (char *)&console_local_flags)))); + return (*((Lisp_Object *)((Rawbyte *) XCONSOLE (Vconsole_defaults) + + ((Rawbyte *)symbol_value_forward_forward (fwd) + - (Rawbyte *)&console_local_flags)))); } case SYMVAL_BUFFER_LOCAL: @@ -2446,8 +2505,8 @@ { const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - int offset = ((char *) symbol_value_forward_forward (fwd) - - (char *) &buffer_local_flags); + int offset = ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &buffer_local_flags); int mask = XINT (*((Lisp_Object *) symbol_value_forward_forward (fwd))); @@ -2457,10 +2516,10 @@ Lisp_Object in_object, int flags) = symbol_value_forward_magicfun (fwd); Lisp_Object oldval = * (Lisp_Object *) - (offset + (char *) XBUFFER (Vbuffer_defaults)); + (offset + (Rawbyte *) XBUFFER (Vbuffer_defaults)); if (magicfun) (magicfun) (variable, &oldval, wrap_buffer (current_buffer), 0); - *(Lisp_Object *) (offset + (char *) current_buffer) + *(Lisp_Object *) (offset + (Rawbyte *) current_buffer) = oldval; current_buffer->local_var_flags &= ~mask; } @@ -2540,8 +2599,8 @@ { const struct symbol_value_forward *fwd = XSYMBOL_VALUE_FORWARD (valcontents); - int offset = ((char *) symbol_value_forward_forward (fwd) - - (char *) &console_local_flags); + int offset = ((Rawbyte *) symbol_value_forward_forward (fwd) + - (Rawbyte *) &console_local_flags); int mask = XINT (*((Lisp_Object *) symbol_value_forward_forward (fwd))); @@ -2551,10 +2610,10 @@ Lisp_Object in_object, int flags) = symbol_value_forward_magicfun (fwd); Lisp_Object oldval = * (Lisp_Object *) - (offset + (char *) XCONSOLE (Vconsole_defaults)); + (offset + (Rawbyte *) XCONSOLE (Vconsole_defaults)); if (magicfun) magicfun (variable, &oldval, Vselected_console, 0); - *(Lisp_Object *) (offset + (char *) XCONSOLE (Vselected_console)) + *(Lisp_Object *) (offset + (Rawbyte *) XCONSOLE (Vselected_console)) = oldval; XCONSOLE (Vselected_console)->local_var_flags &= ~mask; } @@ -3531,7 +3590,7 @@ } static void -defsymbol_massage_name_1 (Lisp_Object *location, const char *name, int dump_p, +defsymbol_massage_name_1 (Lisp_Object *location, const Ascbyte *name, int dump_p, int multiword_predicate_p) { char temp[500]; @@ -3559,32 +3618,32 @@ } void -defsymbol_massage_name_nodump (Lisp_Object *location, const char *name) +defsymbol_massage_name_nodump (Lisp_Object *location, const Ascbyte *name) { defsymbol_massage_name_1 (location, name, 0, 0); } void -defsymbol_massage_name (Lisp_Object *location, const char *name) +defsymbol_massage_name (Lisp_Object *location, const Ascbyte *name) { defsymbol_massage_name_1 (location, name, 1, 0); } void defsymbol_massage_multiword_predicate_nodump (Lisp_Object *location, - const char *name) + const Ascbyte *name) { defsymbol_massage_name_1 (location, name, 0, 1); } void -defsymbol_massage_multiword_predicate (Lisp_Object *location, const char *name) +defsymbol_massage_multiword_predicate (Lisp_Object *location, const Ascbyte *name) { defsymbol_massage_name_1 (location, name, 1, 1); } void -defsymbol_nodump (Lisp_Object *location, const char *name) +defsymbol_nodump (Lisp_Object *location, const Ascbyte *name) { *location = Fintern (make_string_nocopy ((const Ibyte *) name, strlen (name)), @@ -3593,7 +3652,7 @@ } void -defsymbol (Lisp_Object *location, const char *name) +defsymbol (Lisp_Object *location, const Ascbyte *name) { *location = Fintern (make_string_nocopy ((const Ibyte *) name, strlen (name)), @@ -3602,14 +3661,14 @@ } void -defkeyword (Lisp_Object *location, const char *name) +defkeyword (Lisp_Object *location, const Ascbyte *name) { defsymbol (location, name); Fset (*location, *location); } void -defkeyword_massage_name (Lisp_Object *location, const char *name) +defkeyword_massage_name (Lisp_Object *location, const Ascbyte *name) { char temp[500]; int len = strlen (name); @@ -3702,7 +3761,7 @@ \ newsubr = xnew (Lisp_Subr); \ memcpy (newsubr, subr, sizeof (Lisp_Subr)); \ - subr->doc = (const char *)newsubr; \ + subr->doc = (const CIbyte *)newsubr; \ subr = newsubr; \ } \ } while (0) @@ -3789,7 +3848,7 @@ } static void -deferror_1 (Lisp_Object *symbol, const char *name, const char *messuhhj, +deferror_1 (Lisp_Object *symbol, const Ascbyte *name, const Ascbyte *messuhhj, Lisp_Object inherits_from, int massage_p) { Lisp_Object conds; @@ -3804,25 +3863,25 @@ /* NOT build_msg_string (). This function is called at load time and the string needs to get translated at run time. (This happens in the function (display-error) in cmdloop.el.) */ - Fput (*symbol, Qerror_message, build_msg_string (messuhhj)); + Fput (*symbol, Qerror_message, build_defer_string (messuhhj)); } void -deferror (Lisp_Object *symbol, const char *name, const char *messuhhj, +deferror (Lisp_Object *symbol, const Ascbyte *name, const Ascbyte *messuhhj, Lisp_Object inherits_from) { deferror_1 (symbol, name, messuhhj, inherits_from, 0); } void -deferror_massage_name (Lisp_Object *symbol, const char *name, - const char *messuhhj, Lisp_Object inherits_from) +deferror_massage_name (Lisp_Object *symbol, const Ascbyte *name, + const Ascbyte *messuhhj, Lisp_Object inherits_from) { deferror_1 (symbol, name, messuhhj, inherits_from, 1); } void -deferror_massage_name_and_message (Lisp_Object *symbol, const char *name, +deferror_massage_name_and_message (Lisp_Object *symbol, const Ascbyte *name, Lisp_Object inherits_from) { char temp[500]; @@ -3926,7 +3985,8 @@ /* Create and initialize a Lisp variable whose value is forwarded to C data */ void -defvar_magic (const char *symbol_name, const struct symbol_value_forward *magic) +defvar_magic (const Ascbyte *symbol_name, + const struct symbol_value_forward *magic) { Lisp_Object sym; @@ -3938,7 +3998,7 @@ */ if (initialized) { - sym = Fintern (build_string (symbol_name), Qnil); + sym = Fintern (build_ascstring (symbol_name), Qnil); LOADHIST_ATTACH (sym); } else
--- a/src/symeval.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/symeval.h Mon Feb 01 14:11:36 2010 -0600 @@ -326,16 +326,16 @@ #endif /* not NEW_GC */ MODULE_API void defsymbol_massage_name (Lisp_Object *location, - const char *name); + const Ascbyte *name); MODULE_API void defsymbol_massage_name_nodump (Lisp_Object *location, - const char *name); + const Ascbyte *name); MODULE_API void defsymbol_massage_multiword_predicate (Lisp_Object *location, - const char *name); + const Ascbyte *name); MODULE_API void defsymbol_massage_multiword_predicate_nodump (Lisp_Object *location, - const char *name); -MODULE_API void defsymbol (Lisp_Object *location, const char *name); -MODULE_API void defsymbol_nodump (Lisp_Object *location, const char *name); + const Ascbyte *name); +MODULE_API void defsymbol (Lisp_Object *location, const Ascbyte *name); +MODULE_API void defsymbol_nodump (Lisp_Object *location, const Ascbyte *name); /* Defining symbols: @@ -370,18 +370,18 @@ #define DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP(name) \ defsymbol_massage_multiword_predicate_nodump (&name, #name) -MODULE_API void defkeyword (Lisp_Object *location, const char *name); +MODULE_API void defkeyword (Lisp_Object *location, const Ascbyte *name); MODULE_API void defkeyword_massage_name (Lisp_Object *location, - const char *name); + const Ascbyte *name); #define DEFKEYWORD(name) defkeyword_massage_name (&name, #name) -MODULE_API void deferror (Lisp_Object *symbol, const char *name, - const char *message, Lisp_Object inherits_from); -MODULE_API void deferror_massage_name (Lisp_Object *symbol, const char *name, - const char *message, +MODULE_API void deferror (Lisp_Object *symbol, const Ascbyte *name, + const Ascbyte *message, Lisp_Object inherits_from); +MODULE_API void deferror_massage_name (Lisp_Object *symbol, const Ascbyte *name, + const Ascbyte *message, Lisp_Object inherits_from); MODULE_API void deferror_massage_name_and_message (Lisp_Object *symbol, - const char *name, + const Ascbyte *name, Lisp_Object inherits_from); #define DEFERROR(name, message, inherits_from) \ deferror_massage_name (&name, #name, message, inherits_from) @@ -393,7 +393,7 @@ /* Macros we use to define forwarded Lisp variables. These are used in the syms_of_FILENAME functions. */ -MODULE_API void defvar_magic (const char *symbol_name, +MODULE_API void defvar_magic (const Ascbyte *symbol_name, const struct symbol_value_forward *magic); #ifdef NEW_GC
--- a/src/sysdep.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sysdep.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,7 +1,7 @@ /* Interfaces to system-dependent kernel and library entries. Copyright (C) 1985-1988, 1992-1995 Free Software Foundation, Inc. Copyright (C) 1995 Tinker Systems. - Copyright (C) 2000, 2001, 2002, 2003, 2004 Ben Wing. + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2010 Ben Wing. This file is part of XEmacs. @@ -2037,11 +2037,10 @@ #elif !defined (HAVE_GETHOSTNAME) struct utsname uts; uname (&uts); - Vsystem_name = build_string (uts.nodename); + Vsystem_name = build_extstring (uts.nodename, Qunix_host_name_encoding); #else /* HAVE_GETHOSTNAME */ int hostname_size = 256; - /* !!#### Needs review */ - char *hostname = (char *) ALLOCA (hostname_size); + Extbyte *hostname = alloca_extbytes (hostname_size); /* Try to get the host name; if the buffer is too short, try again. Apparently, the only indication gethostname gives of @@ -2057,17 +2056,17 @@ break; hostname_size <<= 1; - /* !!#### Needs review */ - hostname = (char *) ALLOCA (hostname_size); + hostname = alloca_extbytes (hostname_size); } -# if defined( HAVE_SOCKETS) +# if defined (HAVE_SOCKETS) /* Turn the hostname into the official, fully-qualified hostname. Don't do this if we're going to dump; this can confuse system libraries on some machines and make the dumped emacs core dump. */ if (initialized) + /* !!#### Could fail if we have a 7-bit external encoding */ if (!strchr (hostname, '.')) { -# if !(defined(HAVE_GETADDRINFO) && defined(HAVE_GETNAMEINFO)) +# if !(defined (HAVE_GETADDRINFO) && defined (HAVE_GETNAMEINFO)) struct hostent *hp = NULL; int count; # ifdef TRY_AGAIN @@ -2087,20 +2086,20 @@ # endif if (hp) { - const char *fqdn = (const char *) hp->h_name; - + const Extbyte *fqdn = (const Extbyte *) hp->h_name; + + /* !!#### Could fail if we have a 7-bit external encoding */ if (!strchr (fqdn, '.')) { /* We still don't have a fully qualified domain name. Try to find one in the list of alternate names */ - char **alias = hp->h_aliases; + Extbyte **alias = hp->h_aliases; while (*alias && !strchr (*alias, '.')) alias++; if (*alias) fqdn = *alias; } - /* !!#### Needs review */ - hostname = (char *) ALLOCA (strlen (fqdn) + 1); + hostname = alloca_extbytes (strlen (fqdn) + 1); strcpy (hostname, fqdn); } # else /* !(HAVE_GETADDRINFO && HAVE_GETNAMEINFO) */ @@ -2117,8 +2116,7 @@ hints.ai_protocol = 0; if (!getaddrinfo (hostname, NULL, &hints, &res)) { - /* !!#### Needs review */ - hostname = (char *) ALLOCA (strlen (res->ai_canonname) + 1); + hostname = alloca_extbytes (strlen (res->ai_canonname) + 1); strcpy (hostname, res->ai_canonname); freeaddrinfo (res); @@ -2126,7 +2124,7 @@ # endif /* !(HAVE_GETADDRINFO && HAVE_GETNAMEINFO) */ } # endif /* HAVE_SOCKETS */ - Vsystem_name = build_string (hostname); + Vsystem_name = build_extstring (hostname, Qunix_host_name_encoding); #endif /* HAVE_GETHOSTNAME */ { Ibyte *p; @@ -3572,7 +3570,7 @@ #if defined(WIN32_NATIVE) || defined(CYGWIN) const char *sys_siglist[] = { - /* $$####begin-snarf */ + /* @@@begin-snarf@@@ */ "bum signal!!", "hangup", "interrupt", @@ -3598,8 +3596,8 @@ "background write attempted from control tty", "input record available at control tty", "exceeded CPU time limit", - "exceeded file size limit" - /* $$####end-snarf */ + "exceeded file size limit", + /* @@@end-snarf@@@ */ }; #endif @@ -3608,83 +3606,85 @@ const char *sys_siglist[NSIG + 1] = { /* AIX has changed the signals a bit */ - DEFER_GETTEXT ("bogus signal"), /* 0 */ - DEFER_GETTEXT ("hangup"), /* 1 SIGHUP */ - DEFER_GETTEXT ("interrupt"), /* 2 SIGINT */ - DEFER_GETTEXT ("quit"), /* 3 SIGQUIT */ - DEFER_GETTEXT ("illegal instruction"), /* 4 SIGILL */ - DEFER_GETTEXT ("trace trap"), /* 5 SIGTRAP */ - DEFER_GETTEXT ("IOT instruction"), /* 6 SIGIOT */ - DEFER_GETTEXT ("crash likely"), /* 7 SIGDANGER */ - DEFER_GETTEXT ("floating point exception"), /* 8 SIGFPE */ - DEFER_GETTEXT ("kill"), /* 9 SIGKILL */ - DEFER_GETTEXT ("bus error"), /* 10 SIGBUS */ - DEFER_GETTEXT ("segmentation violation"), /* 11 SIGSEGV */ - DEFER_GETTEXT ("bad argument to system call"), /* 12 SIGSYS */ - DEFER_GETTEXT ("write on a pipe with no one to read it"), /* 13 SIGPIPE */ - DEFER_GETTEXT ("alarm clock"), /* 14 SIGALRM */ - DEFER_GETTEXT ("software termination signal"), /* 15 SIGTERM */ - DEFER_GETTEXT ("user defined signal 1"), /* 16 SIGUSR1 */ - DEFER_GETTEXT ("user defined signal 2"), /* 17 SIGUSR2 */ - DEFER_GETTEXT ("death of a child"), /* 18 SIGCLD */ - DEFER_GETTEXT ("power-fail restart"), /* 19 SIGPWR */ - DEFER_GETTEXT ("bogus signal"), /* 20 */ - DEFER_GETTEXT ("bogus signal"), /* 21 */ - DEFER_GETTEXT ("bogus signal"), /* 22 */ - DEFER_GETTEXT ("bogus signal"), /* 23 */ - DEFER_GETTEXT ("bogus signal"), /* 24 */ - DEFER_GETTEXT ("LAN I/O interrupt"), /* 25 SIGAIO */ - DEFER_GETTEXT ("PTY I/O interrupt"), /* 26 SIGPTY */ - DEFER_GETTEXT ("I/O intervention required"), /* 27 SIGIOINT */ - /* $$####end-snarf */ + /* @@@begin-snarf@@@ */ + "bogus signal", /* 0 */ + "hangup", /* 1 SIGHUP */ + "interrupt", /* 2 SIGINT */ + "quit", /* 3 SIGQUIT */ + "illegal instruction", /* 4 SIGILL */ + "trace trap", /* 5 SIGTRAP */ + "IOT instruction", /* 6 SIGIOT */ + "crash likely", /* 7 SIGDANGER */ + "floating point exception", /* 8 SIGFPE */ + "kill", /* 9 SIGKILL */ + "bus error", /* 10 SIGBUS */ + "segmentation violation", /* 11 SIGSEGV */ + "bad argument to system call", /* 12 SIGSYS */ + "write on a pipe with no one to read it", /* 13 SIGPIPE */ + "alarm clock", /* 14 SIGALRM */ + "software termination signal", /* 15 SIGTERM */ + "user defined signal 1", /* 16 SIGUSR1 */ + "user defined signal 2", /* 17 SIGUSR2 */ + "death of a child", /* 18 SIGCLD */ + "power-fail restart", /* 19 SIGPWR */ + "bogus signal", /* 20 */ + "bogus signal", /* 21 */ + "bogus signal", /* 22 */ + "bogus signal", /* 23 */ + "bogus signal", /* 24 */ + "LAN I/O interrupt", /* 25 SIGAIO */ + "PTY I/O interrupt", /* 26 SIGPTY */ + "I/O intervention required", /* 27 SIGIOINT */ + /* @@@end-snarf@@@ */ 0 }; #else /* USG, not AIX */ const char *sys_siglist[NSIG + 1] = { - DEFER_GETTEXT ("bogus signal"), /* 0 */ - DEFER_GETTEXT ("hangup"), /* 1 SIGHUP */ - DEFER_GETTEXT ("interrupt"), /* 2 SIGINT */ - DEFER_GETTEXT ("quit"), /* 3 SIGQUIT */ - DEFER_GETTEXT ("illegal instruction"), /* 4 SIGILL */ - DEFER_GETTEXT ("trace trap"), /* 5 SIGTRAP */ - DEFER_GETTEXT ("IOT instruction"), /* 6 SIGIOT */ - DEFER_GETTEXT ("EMT instruction"), /* 7 SIGEMT */ - DEFER_GETTEXT ("floating point exception"), /* 8 SIGFPE */ - DEFER_GETTEXT ("kill"), /* 9 SIGKILL */ - DEFER_GETTEXT ("bus error"), /* 10 SIGBUS */ - DEFER_GETTEXT ("segmentation violation"), /* 11 SIGSEGV */ - DEFER_GETTEXT ("bad argument to system call"), /* 12 SIGSYS */ - DEFER_GETTEXT ("write on a pipe with no one to read it"), /* 13 SIGPIPE */ - DEFER_GETTEXT ("alarm clock"), /* 14 SIGALRM */ - DEFER_GETTEXT ("software termination signal"), /* 15 SIGTERM */ - DEFER_GETTEXT ("user defined signal 1"), /* 16 SIGUSR1 */ - DEFER_GETTEXT ("user defined signal 2"), /* 17 SIGUSR2 */ - DEFER_GETTEXT ("death of a child"), /* 18 SIGCLD */ - DEFER_GETTEXT ("power-fail restart"), /* 19 SIGPWR */ -#ifdef sun - "window size changed", /* 20 SIGWINCH */ - "urgent socket condition", /* 21 SIGURG */ - "pollable event occurred", /* 22 SIGPOLL */ - "stop (cannot be caught or ignored)", /* 23 SIGSTOP */ - "user stop requested from tty", /* 24 SIGTSTP */ - "stopped process has been continued", /* 25 SIGCONT */ - "background tty read attempted", /* 26 SIGTTIN */ - "background tty write attempted", /* 27 SIGTTOU */ - "virtual timer expired", /* 28 SIGVTALRM */ - "profiling timer expired", /* 29 SIGPROF */ - "exceeded cpu limit", /* 30 SIGXCPU */ - "exceeded file size limit", /* 31 SIGXFSZ */ - "process's lwps are blocked", /* 32 SIGWAITING */ - "special signal used by thread library", /* 33 SIGLWP */ + /* @@@begin-snarf@@@ */ + "bogus signal", /* 0 */ + "hangup", /* 1 SIGHUP */ + "interrupt", /* 2 SIGINT */ + "quit", /* 3 SIGQUIT */ + "illegal instruction", /* 4 SIGILL */ + "trace trap", /* 5 SIGTRAP */ + "IOT instruction", /* 6 SIGIOT */ + "EMT instruction", /* 7 SIGEMT */ + "floating point exception", /* 8 SIGFPE */ + "kill", /* 9 SIGKILL */ + "bus error", /* 10 SIGBUS */ + "segmentation violation", /* 11 SIGSEGV */ + "bad argument to system call", /* 12 SIGSYS */ + "write on a pipe with no one to read it", /* 13 SIGPIPE */ + "alarm clock", /* 14 SIGALRM */ + "software termination signal", /* 15 SIGTERM */ + "user defined signal 1", /* 16 SIGUSR1 */ + "user defined signal 2", /* 17 SIGUSR2 */ + "death of a child", /* 18 SIGCLD */ + "power-fail restart", /* 19 SIGPWR */ +#ifdef sun + "window size changed", /* 20 SIGWINCH */ + "urgent socket condition", /* 21 SIGURG */ + "pollable event occurred", /* 22 SIGPOLL */ + "stop (cannot be caught or ignored)", /* 23 SIGSTOP */ + "user stop requested from tty", /* 24 SIGTSTP */ + "stopped process has been continued", /* 25 SIGCONT */ + "background tty read attempted", /* 26 SIGTTIN */ + "background tty write attempted", /* 27 SIGTTOU */ + "virtual timer expired", /* 28 SIGVTALRM */ + "profiling timer expired", /* 29 SIGPROF */ + "exceeded cpu limit", /* 30 SIGXCPU */ + "exceeded file size limit", /* 31 SIGXFSZ */ + "process's lwps are blocked", /* 32 SIGWAITING */ + "special signal used by thread library", /* 33 SIGLWP */ #ifdef SIGFREEZE - "special signal used by CPR", /* 34 SIGFREEZE */ + "special signal used by CPR", /* 34 SIGFREEZE */ #endif #ifdef SIGTHAW - "special signal used by CPR", /* 35 SIGTHAW */ + "special signal used by CPR", /* 35 SIGTHAW */ #endif #endif /* sun */ - /* $$####end-snarf */ + /* @@@end-snarf@@@ */ 0 }; #endif /* not AIX */
--- a/src/sysdll.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sysdll.c Mon Feb 01 14:11:36 2010 -0600 @@ -1,5 +1,7 @@ /* sysdll.c --- system dependent support for dynamic linked libraries Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 2010 Ben Wing. + Author: William Perry <wmperry@aventail.com> This file is part of XEmacs. @@ -19,6 +21,8 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* This file has been Mule-ized, Ben Wing, 1-26-10. */ + #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -29,9 +33,9 @@ #ifdef DLSYM_NEEDS_UNDERSCORE #define MAYBE_PREPEND_UNDERSCORE(n) do { \ - CIbyte *buf = alloca_array (CIbyte, strlen (n) + 2); \ + Ibyte *buf = alloca_array (Ibyte, qxestrlen (n) + 2); \ *buf = '_'; \ - strcpy (buf + 1, n); \ + qxestrcpy (buf + 1, n); \ n = buf; \ } while (0) #else @@ -85,17 +89,21 @@ } dll_func -dll_function (dll_handle h, const CIbyte *n) +dll_function (dll_handle h, const Ibyte *n) { + Extbyte *next; MAYBE_PREPEND_UNDERSCORE (n); - return (dll_func) dlsym ((void *) h, n); + C_STRING_TO_EXTERNAL (n, next, Qdll_function_name_encoding); + return (dll_func) dlsym ((void *) h, next); } dll_var -dll_variable (dll_handle h, const CIbyte *n) +dll_variable (dll_handle h, const Ibyte *n) { + Extbyte *next; MAYBE_PREPEND_UNDERSCORE (n); - return (dll_var)dlsym ((void *)h, n); + C_STRING_TO_EXTERNAL (n, next, Qdll_variable_name_encoding); + return (dll_var)dlsym ((void *)h, next); } Lisp_Object @@ -109,7 +117,7 @@ #else msg = (const Extbyte *) "Shared library error"; #endif - return build_ext_string (msg, Qerror_message_encoding); + return build_extstring (msg, Qerror_message_encoding); } #elif defined(HAVE_SHL_LOAD) @@ -164,8 +172,7 @@ { /* #### WTF?! Shouldn't this at least attempt to get strerror or something? --hniksic */ - return build_string ("Generic shared library error", - Qerror_message_encoding); + return build_ascstring ("Generic shared library error"); } #elif defined (WIN32_NATIVE) || defined (CYGWIN) @@ -196,25 +203,27 @@ } dll_func -dll_function (dll_handle h, const CIbyte *n) +dll_function (dll_handle h, const Ibyte *n) { - return (dll_func) GetProcAddress ((HINSTANCE) h, n); + Extbyte *next = NEW_C_STRING_TO_EXTERNAL (n, Qmswindows_multibyte); + return (dll_func) GetProcAddress ((HINSTANCE) h, next); } dll_func -dll_variable (dll_handle h, const CIbyte *n) +dll_variable (dll_handle h, const Ibyte *n) { - return (dll_func) GetProcAddress ((HINSTANCE) h, n); + Extbyte *next = NEW_C_STRING_TO_EXTERNAL (n, Qmswindows_multibyte); + return (dll_func) GetProcAddress ((HINSTANCE) h, next); } Lisp_Object dll_error () { - CIbyte err[32]; + Ascbyte err[32]; snprintf (err, 32, "Windows DLL Error %lu", GetLastError ()); - return build_string (err); + return build_ascstring (err); } -#elif defined(HAVE_DYLD) +#elif defined (HAVE_DYLD) /* This section supports MacOSX dynamic libraries. Dynamically loadable libraries must be compiled as bundles, not dynamiclibs. */ @@ -243,21 +252,20 @@ { LISP_STRING_TO_EXTERNAL (fname, soname, Qdll_filename_encoding); } - ret = NSCreateObjectFileImageFromFile(soname, &file); - if (ret != NSObjectFileImageSuccess) { + ret = NSCreateObjectFileImageFromFile (soname, &file); + if (ret != NSObjectFileImageSuccess) return NULL; - } - out = NSLinkModule(file, soname, - NSLINKMODULE_OPTION_BINDNOW | - NSLINKMODULE_OPTION_PRIVATE | - NSLINKMODULE_OPTION_RETURN_ON_ERROR); - return (dll_handle)out; + out = NSLinkModule (file, soname, + NSLINKMODULE_OPTION_BINDNOW | + NSLINKMODULE_OPTION_PRIVATE | + NSLINKMODULE_OPTION_RETURN_ON_ERROR); + return (dll_handle) out; } int dll_close (dll_handle h) { - return NSUnLinkModule((NSModule)h, NSUNLINKMODULE_OPTION_NONE); + return NSUnLinkModule ((NSModule) h, NSUNLINKMODULE_OPTION_NONE); } /* Given an address, return the mach_header for the image containing it @@ -268,27 +276,28 @@ * (http://www.opendarwin.org/projects/dlcompat). */ -static const struct mach_header* -image_for_address(void *address) +static const struct mach_header * +image_for_address (void *address) { unsigned long i; - unsigned long count = _dyld_image_count(); + unsigned long count = _dyld_image_count (); const struct mach_header *mh = 0; for (i = 0; i < count; i++) { - unsigned long addr = (unsigned long)address - - _dyld_get_image_vmaddr_slide(i); - mh = _dyld_get_image_header(i); + unsigned long addr = (unsigned long) address - + _dyld_get_image_vmaddr_slide (i); + mh = _dyld_get_image_header (i); if (mh) { struct load_command *lc = - (struct load_command *)((char *)mh + sizeof(struct mach_header)); + (struct load_command *) ((Rawbyte *) mh + + sizeof(struct mach_header)); unsigned long j; for (j = 0; j < mh->ncmds; - j++, lc = (struct load_command *)((char *)lc + lc->cmdsize)) + j++, lc = (struct load_command *) ((Rawbyte *)lc + lc->cmdsize)) { if (LC_SEGMENT == lc->cmd && addr >= ((struct segment_command *)lc)->vmaddr && @@ -308,25 +317,25 @@ return mh; } -static const struct mach_header* -my_find_image(const char *name) +static const struct mach_header * +my_find_image (const char *name) { const struct mach_header *mh = (struct mach_header *) - NSAddImage(name, NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED | - NSADDIMAGE_OPTION_RETURN_ON_ERROR); + NSAddImage (name, NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED | + NSADDIMAGE_OPTION_RETURN_ON_ERROR); if (!mh) { - int count = _dyld_image_count(); + int count = _dyld_image_count (); int j; for (j = 0; j < count; j++) { - const char *id = _dyld_get_image_name(j); + const char *id = _dyld_get_image_name (j); - if (!strcmp(id, name)) + if (!strcmp (id, name)) { - mh = _dyld_get_image_header(j); + mh = _dyld_get_image_header (j); break; } } @@ -343,32 +352,36 @@ * dependencies, then it probably isn't there. */ static NSSymbol -search_linked_libs(const struct mach_header * mh, const char *symbol) +search_linked_libs (const struct mach_header * mh, const Ibyte *symbol) { unsigned long n; NSSymbol nssym = 0; struct load_command *lc = - (struct load_command *)((char *)mh + sizeof(struct mach_header)); + (struct load_command *) ((Rawbyte *) mh + sizeof (struct mach_header)); for (n = 0; n < mh->ncmds; - n++, lc = (struct load_command *)((char *)lc + lc->cmdsize)) + n++, lc = (struct load_command *) ((Rawbyte *) lc + lc->cmdsize)) { if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd)) { struct mach_header *wh; if ((wh = (struct mach_header *) - my_find_image((char *)(((struct dylib_command *)lc)->dylib.name.offset + - (char *)lc)))) + my_find_image((Rawbyte *) + (((struct dylib_command *) lc)-> + dylib.name.offset + (Rawbyte *) lc)))) { - if (NSIsSymbolNameDefinedInImage(wh, symbol)) + Extbyte *symext = + NEW_C_STRING_TO_EXTERNAL (symbol, Qdll_symbol_encoding); + if (NSIsSymbolNameDefinedInImage (wh, symext)) { nssym = - NSLookupSymbolInImage(wh, - symbol, - NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | - NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR); + NSLookupSymbolInImage + (wh, + symext, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | + NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR); break; } } @@ -379,10 +392,13 @@ } dll_func -dll_function (dll_handle h, const CIbyte *n) +dll_function (dll_handle h, const Ibyte *n) { NSSymbol sym = 0; + Extbyte *next; + MAYBE_PREPEND_UNDERSCORE (n); + C_STRING_TO_EXTERNAL (n, next, Qdll_function_name_encoding); /* NULL means the program image and shared libraries, not bundles. */ @@ -390,49 +406,55 @@ { /* NOTE: This assumes that this function is included in the main program and not in a shared library. */ - const struct mach_header* my_mh = image_for_address((void*) &dll_function); + const struct mach_header* my_mh = + image_for_address ((void*) &dll_function); - if (NSIsSymbolNameDefinedInImage(my_mh, n)) + if (NSIsSymbolNameDefinedInImage (my_mh, next)) { sym = - NSLookupSymbolInImage(my_mh, - n, - NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | - NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR); + NSLookupSymbolInImage + (my_mh, + next, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | + NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR); } if (!sym) { - sym = search_linked_libs(my_mh, n); + sym = search_linked_libs (my_mh, n); } } else { - sym = NSLookupSymbolInModule((NSModule)h, n); + sym = NSLookupSymbolInModule ((NSModule)h, next); } if (sym == 0) return 0; - return (dll_func)NSAddressOfSymbol(sym); + return (dll_func) NSAddressOfSymbol (sym); } dll_var -dll_variable (dll_handle h, const CIbyte *n) +dll_variable (dll_handle h, const Ibyte *n) { NSSymbol sym; + Extbyte *next; + MAYBE_PREPEND_UNDERSCORE (n); - sym = NSLookupSymbolInModule((NSModule)h, n); + C_STRING_TO_EXTERNAL (n, next, Qdll_variable_name_encoding); + + sym = NSLookupSymbolInModule ((NSModule) h, n); if (sym == 0) return 0; - return (dll_var)NSAddressOfSymbol(sym); + return (dll_var) NSAddressOfSymbol (sym); } Lisp_Object -dll_error () +dll_error (void) { NSLinkEditErrors c; int errorNumber; - const CIbyte *fileNameWithError, *errorString; - NSLinkEditError(&c, &errorNumber, &fileNameWithError, &errorString); - return build_ext_string (errorString, Qerror_message_encoding); + const Extbyte *fileNameWithError, *errorString; + NSLinkEditError (&c, &errorNumber, &fileNameWithError, &errorString); + return build_extstring (errorString, Qerror_message_encoding); } #elif HAVE_LTDL /* Libtool's libltdl */ @@ -461,23 +483,27 @@ } dll_func -dll_function (dll_handle h, const CIbyte *n) +dll_function (dll_handle h, const Ibyte *n) { + Extbyte *next; MAYBE_PREPEND_UNDERSCORE (n); - return (dll_func) lt_dlsym ((lt_dlhandle) h, n); + C_STRING_TO_EXTERNAL (n, next, Qdll_function_name_encoding); + return (dll_func) lt_dlsym ((lt_dlhandle) h, next); } dll_var -dll_variable (dll_handle h, const CIbyte *n) +dll_variable (dll_handle h, const Ibyte *n) { + Extbyte *next; MAYBE_PREPEND_UNDERSCORE (n); - return (dll_var) lt_dlsym ((lt_dlhandle) h, n); + C_STRING_TO_EXTERNAL (n, next, Qdll_variable_name_encoding); + return (dll_var) lt_dlsym ((lt_dlhandle) h, next); } Lisp_Object -dll_error () +dll_error (void) { - return build_ext_string (lt_dlerror (), Qerror_message_encoding); + return build_extstring (lt_dlerror (), Qerror_message_encoding); } #else /* Catchall if we don't know about this system's method of dynamic loading */ @@ -494,21 +520,21 @@ } dll_func -dll_function (dll_handle h, const CIbyte *n) +dll_function (dll_handle h, const Ibyte *n) { return NULL; } dll_func -dll_variable (dll_handle h, const CIbyte *n) +dll_variable (dll_handle h, const Ibyte *n) { return NULL; } Lisp_Object -dll_error () +dll_error (void) { - return build_string ("Shared libraries not implemented on this system"); + return build_ascstring ("Shared libraries not implemented on this system"); } #endif /* System conditionals */
--- a/src/sysdll.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sysdll.h Mon Feb 01 14:11:36 2010 -0600 @@ -19,6 +19,8 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* This file has been Mule-ized, Ben Wing, 1-26-10. */ + #ifndef INCLUDED_sysdll_h_ #define INCLUDED_sysdll_h_ @@ -30,15 +32,10 @@ extern dll_handle dll_open (Lisp_Object); extern int dll_close (dll_handle); -extern dll_func dll_function (dll_handle, const CIbyte *); -extern dll_var dll_variable (dll_handle, const CIbyte *); +extern dll_func dll_function (dll_handle, const Ibyte *); +extern dll_var dll_variable (dll_handle, const Ibyte *); extern Lisp_Object dll_error (void); -/* More stand-ins ... */ - -#define Qdll_filename_encoding Qfile_name -#define Qdll_function_name_encoding Qnative - END_C_DECLS #endif /* INCLUDED_sysdll_h_ */
--- a/src/sysfile.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/sysfile.h Mon Feb 01 14:11:36 2010 -0600 @@ -497,7 +497,7 @@ } #define DIRECTORY_SEP sysfile_get_directory_sep() -#define DEFAULT_DIRECTORY_FALLBACK ((const CIbyte *)"C:\\") +#define DEFAULT_DIRECTORY_FALLBACK "C:\\" #else /* not emacs */ @@ -511,7 +511,7 @@ #define SEPCHAR ':' #define DEFAULT_DIRECTORY_SEP '/' #define DIRECTORY_SEP '/' -#define DEFAULT_DIRECTORY_FALLBACK ((const CIbyte *)"/") +#define DEFAULT_DIRECTORY_FALLBACK "/" #endif /* WIN32_NATIVE */
--- a/src/syswindows.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/syswindows.h Mon Feb 01 14:11:36 2010 -0600 @@ -854,7 +854,7 @@ EXTERNAL_TO_C_STRING_MALLOC (in, out, Qmswindows_tstr) #define build_tstr_string(in) \ - make_ext_string (in, qxetcsbytelen ((Extbyte *) in), Qmswindows_tstr) + make_extstring (in, qxetcsbytelen ((Extbyte *) in), Qmswindows_tstr) #define MAX_ANSI_CHAR_LEN 1 #define MAX_UNICODE_CHAR_LEN 2 @@ -1246,8 +1246,8 @@ /* in win32.c */ Extbyte *mswindows_get_module_file_name (void); -void mswindows_output_last_error (char *frob); -DECLARE_DOESNT_RETURN (mswindows_report_process_error (const char *string, +void mswindows_output_last_error (const Ascbyte *frob); +DECLARE_DOESNT_RETURN (mswindows_report_process_error (const Ascbyte *reason, Lisp_Object data, int errnum)); Lisp_Object mswindows_lisp_error (int errnum);
--- a/src/tests.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/tests.c Mon Feb 01 14:11:36 2010 -0600 @@ -148,20 +148,20 @@ #define DFC_CHECK_LENGTH(len1,len2,str1) \ else if ((len1) != (len2)) \ conversion_result = \ - Fcons (list3 (build_string(str1), Qnil, build_string("wrong length")), \ + Fcons (list3 (build_cistring(str1), Qnil, build_ascstring("wrong length")), \ conversion_result) #define DFC_CHECK_CONTENT(str1,str2,len1,str3) \ else if (memcmp (str1, str2, len1)) \ conversion_result = \ - Fcons (list3 (build_string(str3), Qnil, \ - build_string("octet comparison failed")), \ + Fcons (list3 (build_cistring(str3), Qnil, \ + build_ascstring("octet comparison failed")), \ conversion_result) #define DFC_RESULT_PASS(str1) \ else \ conversion_result = \ - Fcons (list3 (build_string(str1), Qt, Qnil), \ + Fcons (list3 (build_cistring(str1), Qt, Qnil), \ conversion_result) #ifdef MULE @@ -607,17 +607,17 @@ data.sum = 0; elisp_maphash_unsafe (test_hash_tables_mapper, data.hash_table, (void *) &data); - hash_result = Fcons (list3 (build_string ("simple mapper"), + hash_result = Fcons (list3 (build_ascstring ("simple mapper"), (data.sum == 2 + 4) ? Qt : Qnil, - build_string ("sum != 2 + 4")), + build_ascstring ("sum != 2 + 4")), hash_result); data.sum = 0; elisp_maphash (test_hash_tables_modifying_mapper, data.hash_table, (void *) &data); - hash_result = Fcons (list3 (build_string ("modifying mapper"), + hash_result = Fcons (list3 (build_ascstring ("modifying mapper"), (data.sum == 2 + 4) ? Qt : Qnil, - build_string ("sum != 2 + 4")), + build_ascstring ("sum != 2 + 4")), hash_result); /* hash table now contains: (1, 2) (3, 4) (-1, 2*2) (-3, 2*4) */ @@ -625,9 +625,9 @@ data.sum = 0; elisp_maphash_unsafe (test_hash_tables_mapper, data.hash_table, (void *) &data); - hash_result = Fcons (list3 (build_string ("simple mapper"), + hash_result = Fcons (list3 (build_ascstring ("simple mapper"), (data.sum == 3 * (2 + 4)) ? Qt : Qnil, - build_string ("sum != 3 * (2 + 4)")), + build_ascstring ("sum != 3 * (2 + 4)")), hash_result); /* Remove entries with negative keys, added by modifying mapper */ @@ -637,9 +637,9 @@ data.sum = 0; elisp_maphash_unsafe (test_hash_tables_mapper, data.hash_table, (void *) &data); - hash_result = Fcons (list3 (build_string ("remove negatives mapper"), + hash_result = Fcons (list3 (build_ascstring ("remove negatives mapper"), (data.sum == 2 + 4) ? Qt : Qnil, - build_string ("sum != 2 + 4")), + build_ascstring ("sum != 2 + 4")), hash_result); return hash_result;
--- a/src/text.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/text.c Mon Feb 01 14:11:36 2010 -0600 @@ -4532,8 +4532,8 @@ /* We handle here the cases where SRC is a Lisp_Object, internal data (sized or unsized), or external data (sized or unsized), and return type is unsized alloca() or malloc() data. If the return type is a - Lisp_Object, use build_ext_string() for unsized external data, - make_ext_string() for sized external data. If the return type needs to + Lisp_Object, use build_extstring() for unsized external data, + make_extstring() for sized external data. If the return type needs to be sized data, use the *_TO_SIZED_*() macros, and for other more complicated cases, use the original TO_*_FORMAT() macros. */ @@ -5158,10 +5158,10 @@ void vars_of_text (void) { - QSin_char_byte_conversion = build_msg_string ("(in char-byte conversion)"); + QSin_char_byte_conversion = build_defer_string ("(in char-byte conversion)"); staticpro (&QSin_char_byte_conversion); QSin_internal_external_conversion = - build_msg_string ("(in internal-external conversion)"); + build_defer_string ("(in internal-external conversion)"); staticpro (&QSin_internal_external_conversion); #ifdef ENABLE_COMPOSITE_CHARS
--- a/src/text.h Mon Feb 01 17:57:04 2010 +0000 +++ b/src/text.h Mon Feb 01 14:11:36 2010 -0600 @@ -1,7 +1,7 @@ /* Header file for text manipulation primitives and macros. Copyright (C) 1985-1995 Free Software Foundation, Inc. Copyright (C) 1995 Sun Microsystems, Inc. - Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Ben Wing. + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -538,6 +538,17 @@ #endif /* MULE */ +/* ASSERT_ASCTEXT_ASCII(ptr): Check that an Ascbyte * pointer points to + purely ASCII text. Useful for checking that putatively ASCII strings + (i.e. declared as Ascbyte * or const Ascbyte *) are actually ASCII. + This is important because otherwise we need to worry about what + encoding they are in -- internal or some external encoding. + + ASSERT_ASCTEXT_ASCII_LEN(ptr, len): Same as ASSERT_ASCTEXT_ASCII() + but where the length has been explicitly given. Useful if the string + may contain embedded zeroes. +*/ + #ifdef ERROR_CHECK_TEXT #define ASSERT_ASCTEXT_ASCII_LEN(ptr, len) \ do { \ @@ -2420,7 +2431,7 @@ of conversions involving raw data and/or Lisp strings, especially when the output is an alloca()ed string. (When the destination is a Lisp_String, there are other functions that should be used instead -- - build_ext_string() and make_ext_string(), for example.) The convenience + build_extstring() and make_extstring(), for example.) The convenience macros are of two types -- the older kind that store the result into a specified variable, and the newer kind that return the result. The newer kind of macros don't exist when the output is sized data, because that @@ -2843,8 +2854,8 @@ #define LISP_STRING_TO_SIZED_EXTERNAL(in, out, outlen, codesys) \ TO_EXTERNAL_FORMAT (LISP_STRING, in, ALLOCA, (out, outlen), codesys) -/* In place of EXTERNAL_TO_LISP_STRING(), use build_ext_string() and/or - make_ext_string(). */ +/* In place of EXTERNAL_TO_LISP_STRING(), use build_extstring() and/or + make_extstring(). */ #ifdef TEST_NEW_DFC #define C_STRING_TO_EXTERNAL_MALLOC(in, out, codesys) \ @@ -2957,26 +2968,6 @@ (Extbyte *) new_dfc_convert_malloc (LISP_TO_VOID (src), -1, \ DFC_LISP_STRING, codesys) -/* Standins for various encodings. */ -#ifdef WEXTTEXT_IS_WIDE -#define Qcommand_argument_encoding Qmswindows_unicode -#define Qenvironment_variable_encoding Qmswindows_unicode -#else -#define Qcommand_argument_encoding Qnative -#define Qenvironment_variable_encoding Qnative -#endif -#define Qunix_host_name_encoding Qnative -#define Qunix_service_name_encoding Qnative -#define Qtime_function_encoding Qnative -#define Qtime_zone_encoding Qtime_function_encoding -#define Qmswindows_host_name_encoding Qmswindows_multibyte -#define Qmswindows_service_name_encoding Qmswindows_multibyte -#define Quser_name_encoding Qnative -#define Qerror_message_encoding Qnative -#define Qjpeg_error_message_encoding Qerror_message_encoding -#define Qtooltalk_encoding Qnative -#define Qgtk_encoding Qnative - /* Wexttext functions. The type of Wexttext is selected at compile time and will sometimes be wchar_t, sometimes char. */ @@ -3001,7 +2992,7 @@ #define wext_atol(str) wcstol (str, 0, 10) #define wext_sprintf wsprintfW /* Huh? both wsprintfA and wsprintfW? */ #define wext_getenv _wgetenv -#define build_wext_string(str, cs) build_ext_string ((Extbyte *) str, cs) +#define build_wext_string(str, cs) build_extstring ((Extbyte *) str, cs) #define WEXTTEXT_TO_8_BIT(arg) WEXTTEXT_TO_MULTIBYTE(arg) #ifdef WIN32_NATIVE int XCDECL wext_retry_open (const Wexttext *path, int oflag, ...); @@ -3026,14 +3017,14 @@ #define wext_atol(str) atol (str) #define wext_sprintf sprintf #define wext_getenv getenv -#define build_wext_string build_ext_string +#define build_wext_string build_extstring #define wext_retry_open retry_open #define wext_access access #define wext_stat stat #define WEXTTEXT_TO_8_BIT(arg) ((Extbyte *) arg) #endif -/* Standins for various X encodings. +/* Standins for various encodings. About encodings in X: @@ -3089,6 +3080,31 @@ COMPOUND_TEXT otherwise. */ +#ifdef WEXTTEXT_IS_WIDE +#define Qcommand_argument_encoding Qmswindows_unicode +#define Qenvironment_variable_encoding Qmswindows_unicode +#else +#define Qcommand_argument_encoding Qnative +#define Qenvironment_variable_encoding Qnative +#endif +#define Qunix_host_name_encoding Qnative +#define Qunix_service_name_encoding Qnative +#define Qtime_function_encoding Qnative +#define Qtime_zone_encoding Qtime_function_encoding +#define Qmswindows_host_name_encoding Qmswindows_multibyte +#define Qmswindows_service_name_encoding Qmswindows_multibyte +#define Quser_name_encoding Qnative +#define Qerror_message_encoding Qnative +#define Qjpeg_error_message_encoding Qerror_message_encoding +#define Qtooltalk_encoding Qnative +#define Qgtk_encoding Qnative + +#define Qdll_symbol_encoding Qnative +#define Qdll_function_name_encoding Qdll_symbol_encoding +#define Qdll_variable_name_encoding Qdll_symbol_encoding +#define Qdll_filename_encoding Qfile_name +#define Qemodule_string_encoding Qnative + /* !!#### Need to verify the encoding used in lwlib -- Qnative or Qctext? Almost certainly the former. Use a standin for now. */ #define Qlwlib_encoding Qnative
--- a/src/tooltalk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/tooltalk.c Mon Feb 01 14:11:36 2010 -0600 @@ -514,27 +514,27 @@ static Lisp_Object tt_build_c_string (char *s) { - return build_string (s ? s : ""); + return build_cistring (s ? s : ""); } static Lisp_Object tt_opnum_string (int n) { - char buf[32]; + Ascbyte buf[32]; sprintf (buf, "%u", n); - return build_string (buf); + return build_ascstring (buf); } static Lisp_Object tt_message_arg_ival_string (Tt_message m, int n) { - char buf[DECIMAL_PRINT_SIZE (long)]; + Ascbyte buf[DECIMAL_PRINT_SIZE (long)]; int value; check_status (tt_message_arg_ival (m, n, &value)); long_to_string (buf, value); - return build_string (buf); + return build_ascstring (buf); } static Lisp_Object @@ -1215,8 +1215,8 @@ */ ()) { - char *procid = tt_default_procid (); - return procid ? build_string (procid) : Qnil; + Extbyte *procid = tt_default_procid (); + return procid ? build_extstring (procid, Qtooltalk_encoding) : Qnil; } DEFUN ("tooltalk-default-session", Ftooltalk_default_session, 0, 0, 0, /* @@ -1224,8 +1224,8 @@ */ ()) { - char *session = tt_default_session (); - return session ? build_string (session) : Qnil; + Extbyte *session = tt_default_session (); + return session ? build_extstring (session, Qtooltalk_encoding) : Qnil; } static void @@ -1265,7 +1265,7 @@ tt_session_join (tt_default_session ()); - lp = connect_to_file_descriptor (build_string ("tooltalk"), Qnil, + lp = connect_to_file_descriptor (build_ascstring ("tooltalk"), Qnil, Vtooltalk_fd, Vtooltalk_fd); if (!NILP (lp)) { @@ -1421,8 +1421,8 @@ */ ); Vtooltalk_unprocessed_message_hook = Qnil; - Tooltalk_Message_plist_str = build_msg_string ("Tooltalk Message plist"); - Tooltalk_Pattern_plist_str = build_msg_string ("Tooltalk Pattern plist"); + Tooltalk_Message_plist_str = build_defer_string ("Tooltalk Message plist"); + Tooltalk_Pattern_plist_str = build_defer_string ("Tooltalk Pattern plist"); staticpro(&Tooltalk_Message_plist_str); staticpro(&Tooltalk_Pattern_plist_str);
--- a/src/ui-byhand.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/ui-byhand.c Mon Feb 01 14:11:36 2010 -0600 @@ -187,7 +187,7 @@ if (text) { - rval = build_string (text); + rval = build_cistring (text); /* NOTE: This is NOT a memory leak. GtkCList returns a pointer to internally used memory, not a copy of it. g_free (text); @@ -274,7 +274,7 @@ return (list3 (pixmap ? build_gtk_boxed (pixmap, GTK_TYPE_GDK_WINDOW) : Qnil, mask ? build_gtk_boxed (mask, GTK_TYPE_GDK_WINDOW) : Qnil, - (text && text[0]) ? build_string (text) : Qnil)); + (text && text[0]) ? build_cistring (text) : Qnil)); } /* void gtk_color_selection_get_color(GtkColorSelection *colorsel, gdouble *color); */ @@ -425,7 +425,7 @@ gtk_label_get (GTK_LABEL (XGTK_OBJECT (label)->object), &string); - return (build_string (string)); + return (build_cistring (string)); } DEFUN ("gtk-notebook-query-tab-label-packing", Fgtk_notebook_query_tab_label_packing, 2, 2, 0, /*
--- a/src/ui-gtk.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/ui-gtk.c Mon Feb 01 14:11:36 2010 -0600 @@ -93,7 +93,7 @@ /* If the dll name has a directory component in it, then we should expand it. */ - if (!NILP (Fstring_match (build_string ("/"), dll, Qnil, Qnil))) + if (!NILP (Fstring_match (build_ascstring ("/"), dll, Qnil, Qnil))) dll = Fexpand_file_name (dll, Qnil); /* Check if we have already opened it first */ @@ -462,43 +462,43 @@ switch (GTK_FUNDAMENTAL_TYPE (t)) { case GTK_TYPE_NONE: - return (build_string ("NONE")); + return (build_ascstring ("NONE")); /* flag types */ case GTK_TYPE_CHAR: case GTK_TYPE_UCHAR: - return (build_string ("CHAR")); + return (build_ascstring ("CHAR")); case GTK_TYPE_BOOL: - return (build_string ("BOOL")); + return (build_ascstring ("BOOL")); case GTK_TYPE_ENUM: case GTK_TYPE_FLAGS: case GTK_TYPE_INT: case GTK_TYPE_UINT: - return (build_string ("INT")); + return (build_ascstring ("INT")); case GTK_TYPE_LONG: case GTK_TYPE_ULONG: - return (build_string ("LONG")); + return (build_ascstring ("LONG")); case GTK_TYPE_FLOAT: case GTK_TYPE_DOUBLE: - return (build_string ("FLOAT")); + return (build_ascstring ("FLOAT")); case GTK_TYPE_STRING: - return (build_string ("STRING")); + return (build_ascstring ("STRING")); case GTK_TYPE_BOXED: case GTK_TYPE_POINTER: - return (build_string ("POINTER")); + return (build_ascstring ("POINTER")); case GTK_TYPE_OBJECT: - return (build_string ("OBJECT")); + return (build_ascstring ("OBJECT")); case GTK_TYPE_CALLBACK: - return (build_string ("CALLBACK")); + return (build_ascstring ("CALLBACK")); default: /* I can't put this in the main switch statement because it is a new fundamental type that is not fixed at compile time. *sigh* */ if (IS_XEMACS_GTK_FUNDAMENTAL_TYPE(t, GTK_TYPE_ARRAY)) - return (build_string ("ARRAY")); + return (build_ascstring ("ARRAY")); if (IS_XEMACS_GTK_FUNDAMENTAL_TYPE(t, GTK_TYPE_LISTOF)) - return (build_string ("LIST")); + return (build_ascstring ("LIST")); return (Qnil); } } @@ -642,13 +642,13 @@ { invalid_argument ("Do not know how to marshal", type); } - marshaller = concat3 (marshaller, build_string ("_"), marshaller_type); + marshaller = concat3 (marshaller, build_ascstring ("_"), marshaller_type); n_args++; } } else { - marshaller = concat3 (marshaller, build_string ("_"), type_to_marshaller_type (GTK_TYPE_NONE)); + marshaller = concat3 (marshaller, build_ascstring ("_"), type_to_marshaller_type (GTK_TYPE_NONE)); } rettype = Fsymbol_name (rettype); @@ -661,8 +661,8 @@ import_gtk_type (data->return_type); - marshaller = concat3 (type_to_marshaller_type (data->return_type), build_string ("_"), marshaller); - marshaller = concat2 (build_string ("emacs_gtk_marshal_"), marshaller); + marshaller = concat3 (type_to_marshaller_type (data->return_type), build_ascstring ("_"), marshaller); + marshaller = concat2 (build_ascstring ("emacs_gtk_marshal_"), marshaller); marshaller_func = (ffi_marshalling_function) find_marshaller ((char *) XSTRING_DATA (marshaller)); @@ -797,11 +797,11 @@ if (print_readably) printing_unreadable_lcrecord (obj, 0); - write_c_string (printcharfun, "#<GtkObject ("); + write_ascstring (printcharfun, "#<GtkObject ("); if (XGTK_OBJECT (obj)->alive_p) - write_c_string (printcharfun, gtk_type_name (GTK_OBJECT_TYPE (XGTK_OBJECT (obj)->object))); + write_cistring (printcharfun, gtk_type_name (GTK_OBJECT_TYPE (XGTK_OBJECT (obj)->object))); else - write_c_string (printcharfun, "dead"); + write_ascstring (printcharfun, "dead"); write_fmt_string (printcharfun, ") %p>", (void *) XGTK_OBJECT (obj)->object); } @@ -1116,8 +1116,8 @@ if (print_readably) printing_unreadable_lcrecord (obj, 0); - write_c_string (printcharfun, "#<GtkBoxed ("); - write_c_string (printcharfun, gtk_type_name (XGTK_BOXED (obj)->object_type)); + write_ascstring (printcharfun, "#<GtkBoxed ("); + write_cistring (printcharfun, gtk_type_name (XGTK_BOXED (obj)->object_type)); write_fmt_string (printcharfun, ") %p>", (void *) XGTK_BOXED (obj)->object); } @@ -1496,7 +1496,7 @@ case GTK_TYPE_DOUBLE: return (make_float (GTK_VALUE_DOUBLE (*arg))); case GTK_TYPE_STRING: - return (build_string (GTK_VALUE_STRING (*arg))); + return (build_cistring (GTK_VALUE_STRING (*arg))); case GTK_TYPE_FLAGS: return (flags_to_list (GTK_VALUE_FLAGS (*arg), arg->type)); case GTK_TYPE_ENUM: @@ -2136,7 +2136,7 @@ if (NILP (alist)) { - invalid_argument ("Unknown enumeration", build_string (gtk_type_name (t))); + invalid_argument ("Unknown enumeration", build_cistring (gtk_type_name (t))); } value = Fassq (obj, alist); @@ -2205,7 +2205,7 @@ if (NILP (alist)) { - invalid_argument ("Unknown enumeration", build_string (gtk_type_name (t))); + invalid_argument ("Unknown enumeration", build_cistring (gtk_type_name (t))); } cell = Frassq (make_int (value), alist);
--- a/src/unexaix.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/unexaix.c Mon Feb 01 14:11:36 2010 -0600 @@ -122,7 +122,7 @@ if (fd) close (fd); report_error_with_errno (Qio_error, "Cannot unexec", - build_string (file)); + build_cistring (file)); } #endif /* emacs */
--- a/src/unexec.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/unexec.c Mon Feb 01 14:11:36 2010 -0600 @@ -298,7 +298,7 @@ if (fd) close (fd); report_error_with_errno (Qio_error, "Cannot unexec", - build_ext_string (file, Qfile_name)); + build_extstring (file, Qfile_name)); } #endif /* emacs */
--- a/src/unicode.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/unicode.c Mon Feb 01 14:11:36 2010 -0600 @@ -1155,7 +1155,7 @@ qxesprintf(setname, "jit-ucs-charset-%d", number_of_jit_charsets); Vcurrent_jit_charset = Fmake_charset - (intern((const CIbyte *)setname), Vcharset_descr, + (intern_istring (setname), Vcharset_descr, /* Set encode-as-utf-8 to t, to have this character set written using UTF-8 escapes in escape-quoted and ctext. This sidesteps the fact that our internal character -> Unicode @@ -2826,10 +2826,10 @@ write_fmt_string_lisp (printcharfun, "(%s", 1, unicode_getprop (cs, Qunicode_type)); if (XCODING_SYSTEM_UNICODE_LITTLE_ENDIAN (cs)) - write_c_string (printcharfun, ", little-endian"); + write_ascstring (printcharfun, ", little-endian"); if (XCODING_SYSTEM_UNICODE_NEED_BOM (cs)) - write_c_string (printcharfun, ", need-bom"); - write_c_string (printcharfun, ")"); + write_ascstring (printcharfun, ", need-bom"); + write_ascstring (printcharfun, ")"); } #ifdef MULE @@ -3048,18 +3048,12 @@ if (flags & QUERY_METHOD_ERRORP) { - DECLARE_EISTRING (error_details); - - eicpy_ascii (error_details, "Cannot encode "); - eicat_lstr (error_details, - make_string_from_buffer (buf, fail_range_start, - pos - - fail_range_start)); - eicat_ascii (error_details, " using coding system"); - - signal_error (Qtext_conversion_error, - (const CIbyte *)(eidata (error_details)), - XCODING_SYSTEM_NAME (codesys)); + signal_error_2 + (Qtext_conversion_error, + "Cannot encode using coding system", + make_string_from_buffer (buf, fail_range_start, + pos - fail_range_start), + XCODING_SYSTEM_NAME (codesys)); } if (NILP (result)) @@ -3219,7 +3213,7 @@ Vlast_jit_charset_final = make_char (0x30); staticpro (&Vcharset_descr); Vcharset_descr - = build_string ("Mule charset for otherwise unknown Unicode code points."); + = build_defer_string ("Mule charset for otherwise unknown Unicode code points."); staticpro (&Vlanguage_unicode_precedence_list); Vlanguage_unicode_precedence_list = Qnil; @@ -3268,7 +3262,7 @@ found (that is, they're probably Mule-specific charsets like Ethiopic or IPA.) */ ); - Qunicode_registries = vector1(build_string("iso10646-1")); + Qunicode_registries = vector1(build_ascstring("iso10646-1")); /* Initialised in lisp/mule/general-late.el, by a call to #'set-unicode-query-skip-chars-args. Or at least they would be, but we @@ -3298,9 +3292,9 @@ Cygwin 1.7 -- used in LOCAL_FILE_FORMAT_TO_TSTR() et al. */ Fmake_coding_system_internal (Qutf_8, Qunicode, - build_msg_string ("UTF-8"), + build_defer_string ("UTF-8"), nconc2 (list4 (Qdocumentation, - build_msg_string ( + build_defer_string ( "UTF-8 Unicode encoding -- ASCII-compatible 8-bit variable-width encoding\n" "sharing the following principles with the Mule-internal encoding:\n" "\n" @@ -3322,6 +3316,6 @@ " -- Given only the leading byte, you know how many following bytes\n" " are present.\n" ), - Qmnemonic, build_string ("UTF8")), + Qmnemonic, build_ascstring ("UTF8")), list2 (Qunicode_type, Qutf_8))); }
--- a/src/win32.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/win32.c Mon Feb 01 14:11:36 2010 -0600 @@ -95,7 +95,7 @@ TSTR_TO_C_STRING (path, ttlff); INTERNAL_MSWIN_TO_LOCAL_FILE_FORMAT (ttlff, ttlff); - return build_intstring (ttlff); + return build_istring (ttlff); } /* Normalize filename by converting all path separators to the specified @@ -289,7 +289,7 @@ } void -mswindows_output_last_error (char *frob) +mswindows_output_last_error (const Ascbyte *frob) { int errval = GetLastError (); Lisp_Object errmess = mswindows_lisp_error (errval); @@ -299,11 +299,11 @@ } DOESNT_RETURN -mswindows_report_process_error (const char *string, Lisp_Object data, +mswindows_report_process_error (const Ascbyte *reason, Lisp_Object data, int errnum) { report_file_type_error (Qprocess_error, mswindows_lisp_error (errnum), - string, data); + reason, data); } DEFUN ("mswindows-shell-execute", Fmswindows_shell_execute, 2, 4, 0, /* @@ -405,7 +405,7 @@ /* Use mule and cygwin-safe APIs top get at file data. */ LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN (p, p); - return build_intstring (p); + return build_istring (p); } #endif
--- a/src/window.c Mon Feb 01 17:57:04 2010 +0000 +++ b/src/window.c Mon Feb 01 14:11:36 2010 -0600 @@ -318,10 +318,10 @@ if (print_readably) printing_unreadable_lcrecord (obj, 0); - write_c_string (printcharfun, "#<window"); + write_ascstring (printcharfun, "#<window"); buf = XWINDOW_BUFFER (obj); if (EQ (buf, Qt)) - write_c_string (printcharfun, " during creation"); + write_ascstring (printcharfun, " during creation"); else if (!NILP (buf)) { @@ -1048,7 +1048,7 @@ } int -window_scrollbar_width (struct window *w) +window_scrollbar_width (struct window * USED_IF_SCROLLBARS (w)) { #ifdef HAVE_SCROLLBARS if (!WINDOW_WIN_P (w) @@ -1067,7 +1067,7 @@ /* Horizontal scrollbars are only active on windows with truncation turned on. */ int -window_scrollbar_height (struct window *w) +window_scrollbar_height (struct window * USED_IF_SCROLLBARS (w)) { #ifdef HAVE_SCROLLBARS if (!WINDOW_WIN_P (w) @@ -1274,7 +1274,8 @@ } static int -window_left_window_gutter_width (struct window *w, int modeline) +window_left_window_gutter_width (struct window *w, + int USED_IF_SCROLLBARS (modeline)) { if (!NILP (w->hchild) || !NILP (w->vchild)) return 0; @@ -1294,7 +1295,8 @@ } static int -window_right_window_gutter_width (struct window *w, int modeline) +window_right_window_gutter_width (struct window *w, + int USED_IF_SCROLLBARS (modeline)) { int gutter = 0;
--- a/src/xemacs.def.in.in Mon Feb 01 17:57:04 2010 +0000 +++ b/src/xemacs.def.in.in Mon Feb 01 14:11:36 2010 -0600 @@ -1,5 +1,6 @@ /* The module API: core symbols that are visible to modules. Copyright (C) 2008 Jerry James + Copyright (C) 2010 Ben Wing. This file is part of XEmacs. @@ -22,8 +23,14 @@ meant to be used directly, but a macro or inline function in the API expands to a form containing the symbol, then the macro or inline function is named in a comment to the right. */ + #define NOT_C_CODE #include <config.h> + +#if defined (ERROR_CHECK_TYPES) && defined (XEMACS_DEFS_NEEDS_INLINE_DECLS) +#define XEMACS_DEFS_NEEDS_ERROR_CHECK_TYPES_DECLS +#endif + NAME xemacs.exe EXPORTS /* Exported functions */ @@ -43,11 +50,13 @@ #ifdef USE_ASSERTIONS assert_failed /* abort(), assert(), etc. */ #endif -build_ext_string -build_intstring -build_msg_intstring -build_msg_string -build_string +build_extstring +build_istring +build_cistring +build_ascstring +build_msg_istring +build_msg_cistring +build_msg_ascstring #ifdef MULE bytecount_to_charcount_fun /* bytecount_to_charcount */ #endif @@ -65,6 +74,8 @@ #endif check_quit /* QUITP */ check_what_happened /* QUIT */ +concat2 +concat3 cons3 copy_lisp_object dead_wrong_type_argument /* CHECK_xxx */ @@ -102,7 +113,7 @@ #ifdef DEBUG_XEMACS eq_with_ebola_notice /* EQ_WITH_EBOLA_NOTICE */ #endif -#ifdef NEED_ERROR_CHECK_TYPES_INLINES +#ifdef XEMACS_DEFS_NEEDS_ERROR_CHECK_TYPES_DECLS error_check_cons #ifdef HAVE_LDAP error_check_ldap @@ -117,7 +128,7 @@ error_check_string_direct_data error_check_string_indirect_data #endif -#endif /* NEED_ERROR_CHECK_TYPES_INLINES */ +#endif /* XEMACS_DEFS_NEEDS_ERROR_CHECK_TYPES_DECLS */ free_opaque_ptr get_coding_system_for_text_file intern @@ -132,13 +143,14 @@ list4 list5 list6 -make_ext_string +make_extstring make_float make_opaque_ptr make_string make_vector maybe_invalid_operation message +nconc2 new_dfc_convert_copy_data /* C_STRING_TO_EXTERNAL, ... */ new_dfc_convert_malloc /* C_STRING_TO_EXTERNAL_MALLOC, ... */ new_dfc_convert_size /* C_STRING_TO_EXTERNAL, ... */ @@ -150,6 +162,38 @@ #endif out_of_memory /* The postgresql module uses this */ printing_unreadable_object +#ifdef XEMACS_DEFS_NEEDS_INLINE_DECLS +qxestrdup +qxestrlen +qxestrcharlen +qxestrcmp +qxestrcmp_ascii +qxestrncmp +qxestrncmp_ascii +qxestrcpy +qxestrcpy_ascii +qxestrncpy +qxestrncpy_ascii +qxestrcat +qxestrcat_ascii +qxestrncat +qxestrncat_ascii +qxestrchr +qxestrrchr +qxestrstr +qxestrcspn +qxestrspn +qxestrpbrk +qxestrtok +qxestrtod +qxestrtol +qxestrtoul +qxeatoi +qxestrupr +qxestrlwr +qxesprintf +qxesscanf_ascii_1 +#endif /* XEMACS_DEFS_NEEDS_INLINE_DECLS */ record_unwind_protect record_unwind_protect_freeing report_process_error @@ -175,17 +219,20 @@ #else unstaticpro_nodump_1 #endif +vconcat2 +vconcat3 vector1 vector2 vector3 warn_when_safe -#ifdef NEED_ERROR_CHECK_TYPES_INLINES +#ifdef XEMACS_DEFS_NEEDS_ERROR_CHECK_TYPES_DECLS wrap_record_1 #endif -write_c_string +write_cistring write_fmt_string write_fmt_string_lisp -write_string +write_istring +write_ascstring wrong_type_argument /* CONCHECK_xxx */ xemacs_c_alloca /* ALLOCA */ xfree_1 /* xfree */ @@ -225,7 +272,7 @@ Fsignal Fthrow Fvector -#ifdef NEED_ERROR_CHECK_TYPES_INLINES +#ifdef XEMACS_DEFS_NEEDS_ERROR_CHECK_TYPES_DECLS XINT_1 #endif
--- a/tests/ChangeLog Mon Feb 01 17:57:04 2010 +0000 +++ b/tests/ChangeLog Mon Feb 01 14:11:36 2010 -0600 @@ -1,3 +1,27 @@ +2010-01-25 Ben Wing <ben@xemacs.org> + + * automated/file-tests.el: + New file. + + * automated/mule-tests.el (featurep): + + * automated/test-harness.el (test-harness-from-buffer): + * automated/test-harness.el (batch-test-emacs): + +2010-01-25 Ben Wing <ben@xemacs.org> + + * automated/file-tests.el: + * automated/mule-tests.el (featurep): + Clean up charsets-in-HELLO test and fix the list of expected + charsets. + + * automated/test-harness.el (test-harness-from-buffer): + Reverse order of "got" and "expected" values so it matches + order of call to comparison. + + * automated/test-harness.el (batch-test-emacs): + Update doc to indicate that a directory is allowed. + 2010-02-01 Ben Wing <ben@xemacs.org> * automated/case-tests.el:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/automated/file-tests.el Mon Feb 01 14:11:36 2010 -0600 @@ -0,0 +1,45 @@ +;;; file-tests.el --- test support for filesystem primitives + +;; Copyright (C) 2010 Ben Wing. + +;; Author: Ben Wing <ben@xemacs.org> +;; Maintainer: Ben Wing <ben@xemacs.org> +;; Created: 2010 January 25 +;; Keywords: files, filenames, file names + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not in FSF. + +;;; Commentary: + +;; Test file-system support. Opening files, file names, etc. +;; See test-harness.el for instructions on how to run these tests. + +;; Test that `file-truename' is idempotent (same value when called multiple +;; times). Under Cygwin 1.7 as of 1-24-10, not true! +(loop for file in (list (temp-directory) + (file-name-as-directory (temp-directory)) + "/" + (file-name-as-directory "/") + (make-temp-name "foo") + ) + do + (Assert-equal (file-truename (file-truename file)) (file-truename file))) + +
--- a/tests/automated/test-harness.el Mon Feb 01 17:57:04 2010 +0000 +++ b/tests/automated/test-harness.el Mon Feb 01 14:11:36 2010 -0600 @@ -642,7 +642,10 @@ Use this from the command line, with `-batch'; it won't work in an interactive Emacs. Each file is processed even if an error occurred previously. -For example, invoke \"xemacs -batch -f batch-test-emacs tests/*.el\"" +A directory can be given as well, and all files will be processed -- +however, the file test-harness.el, which implements the test harness, +will be skipped. +For example, invoke \"xemacs -batch -f batch-test-emacs tests\"" ;; command-line-args-left is what is left of the command line (from ;; startup.el) (defvar command-line-args-left) ;Avoid 'free variable' warning