Mercurial > hg > xemacs-beta
changeset 284:558f606b08ae r21-0b40
Import from CVS: tag r21-0b40
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 10:33:19 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:34:13 2007 +0200 @@ -1,4 +1,44 @@ -*- indented-text -*- +to 21.0 beta40 "Saanen" +-- Vertical divider hacking from Didier Verna and Kirill Katsnelson +-- Bind cut'n'paste keys to generic functions from Jonathan Harris +-- MS Windows toolbar size fix from Andy Piper +-- Icons from MS Windows resources from Andy Piper +-- New function `windows-text-lines-pixel-height' from Greg Klanderman +-- Window beats buffer in specifiers from Kirill Katsnelson +-- Dialog box as a dialog box from Kirill Katsnelson +-- More DnD fixes from Oliver Graf +-- NEWS updates from Hrvoje Niksic +-- More device metrics from Kirill Katsnelson +-- Miscellaneous patches from Hrvoje Niksic +-- Documentation updates from Christian Nybø +-- More vertical divider fixes from Kirill Katsnelson +-- New function zap-up-to-char, behaves like zap-to-char in Emacs 18 +-- Toolbar fixes from Andy Piper +-- Miscellaneous MS Windows fixes from Kirill Katsnelson +-- vertical divider shadow thickness specifier from Didier Verna +-- More device metrics from Kirill Katsnelson +-- Minibuffer synch with FSF Emacs from Michael Sperber +-- DnD fixes from Oliver Graf +-- decode-path cleanup from Hrvoje Niksic +-- Miscellaneous patches from Hrvoje Niksic +-- clear region bg pixmap fixes from Andy Piper +-- Various cleanup patches from Martin Buchholz +-- miscellaneous code cleanup +-- with-display-help-buffer fixes from Hrvoje Niksic +-- Draggable vertical dividers from Kirill Katsnelson +-- More MS Windows DnD support from Jonathan Harris +-- Reversion to old key descriptions from Hrvoje Niksic +-- DnD updates from Oliver Graf +-- Fix mouse(-pixel)?-position from Kirill Katsnelson +-- More device metrics fixes from Kirill Katsnelson +-- background pixmaps for MS Windows from Andy Piper +-- various build fixes from SAKIYAMA Nobuo and Kirill Katsnelson +-- Fix for non-interruptible re_search from Hrvoje Niksic +-- miscellaneous fixes from Hrvoje Niksic +-- focus frame fixes from Hrvoje Niksic +-- Really apply Kyle Jones' realpath fixes (sorry). + to 21.0 beta39 "Russian White" -- DnD fixes from Oliver Graf and Jonathan Harris -- scrollbar visibility and placement specifiers from of Kirill Katsnelson
--- a/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,3 +1,58 @@ +1998-05-15 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-beta40 is released. + +1998-05-13 SL Baur <steve@altair.xemacs.org> + + * configure.in (ZSH_VERSION): zsh-3.1.2 (and zsh-3.0.4) drops core + on the `unset CDPATH' if running as sh. + +1998-05-12 Oliver Graf <ograf@fga.de> + + * tests/Dnd/droptest.el: some CDE adaptions (untested) + +1998-05-11 Martin Buchholz <martin@xemacs.org> + + * configure.in: + Add some more comments. + If using bash, use Posix mode and unset CDPATH. + Be more careful checking feature dependencies. + Introduce XE_CHECK_FEATURE_DEPENDENCY. + Undo the gross hack of multiple `echo >> $tempcname' + by using here documents instead. (Might break mswindows, tho...) + Be more careful autodetecting tooltalk. + + * PROBLEMS: + Document problems with Solaris 2.6 + XSUNTRANSPORT + + * Makefile.in: + * lwlib/Makefile.in.in: + * modules/Makefile.in: + - Adjust for luser's CDPATH being set to something weird. + - Take into account bash 2.02's tendency to print the cwd when + using CDPATH. Always use `cd ./foo' instead of `cd foo'. + - fix the run-temacs target to use $(DUMPENV) + - fix the run-puremacs target to use $(DUMPENV) + - fix the `depend' target to properly $(RM) the right files + - Generate a better TAGS file for XEmacs' lisp code using + hand-crafted regexps. + - Use standard coding conventions for modules/Makefile.in + +1998-05-12 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * configure.in: some people claimed that they can't stop + linking wnn6 library if they set --with-wnn6=no. + +1998-05-11 Oliver Graf <ograf@fga.de> + + * tests/Dnd/droptest.el: adapted to new calling conventions + also showing the new possibilities + * tests/Dnd/README: changed to new protocol + +1998-05-11 SAKIYAMA Nobuo <nobuo@db3.so-net.or.jp> + + * Fix for HAVE_MULTICAST check. + 1998-05-09 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-beta39 is released.
--- a/Makefile.in Mon Aug 13 10:33:19 2007 +0200 +++ b/Makefile.in Mon Aug 13 10:34:13 2007 +0200 @@ -256,7 +256,7 @@ ## Sub-target for all-elc. dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs - cd src && $(RECURSIVE_MAKE) dump-elcs + cd ./src && $(RECURSIVE_MAKE) dump-elcs autoloads: src MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' sh ${srcdir}/lib-src/update-autoloads.sh @@ -266,7 +266,7 @@ finder: src @echo "Building finder database ..." - @(cd lisp; \ + @(cd ./lisp; \ ${blddir}/src/${PROGNAME} -batch -vanilla \ -eval '(setq finder-compile-keywords-quiet t)' \ -l finder -f finder-compile-keywords ) @@ -274,7 +274,7 @@ lisp/finder-inf.el: @echo "Building finder database ..." - @(cd lisp; \ + @(cd ./lisp; \ ${blddir}/src/${PROGNAME} -batch -vanilla \ -eval '(setq finder-compile-keywords-quiet t)' \ -l finder -f finder-compile-keywords ) @@ -313,7 +313,7 @@ FRC.lisp.finder-inf.el: ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC - cd $@ && $(RECURSIVE_MAKE) all + cd ./$@ && $(RECURSIVE_MAKE) all Makefile: ${srcdir}/Makefile.in config.status ./config.status @@ -374,10 +374,11 @@ install-arch-dep: mkdir for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \ - ( cd $${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \ + (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \ exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ - archlibdir=${archlibdir} ) ; done - if test `(cd ${archlibdir} && $(pwd))` != `(cd lib-src && $(pwd))`; then \ + archlibdir=${archlibdir}) ; done + if test "`(cd ${archlibdir} && $(pwd))`" != \ + "`(cd ./lib-src && $(pwd))`"; then \ if test -f ../Installation; then \ ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \ fi; \ @@ -404,7 +405,8 @@ install-arch-indep: mkdir info -@set ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ - if [ `(cd $$1 && $(pwd))` != `(cd $${dir} && $(pwd))` ] ; then \ + if test "`(cd $$1 && $(pwd))`" != \ + "`(cd $${dir} && $(pwd))`"; then \ : do nothing - echo "rm -rf $$1" ; \ fi ; \ shift ; \ @@ -416,7 +418,8 @@ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ test -d $${dir} \ - -a `(cd $${dir} && $(pwd))` != `(cd $${dest} && $(pwd))` \ + -a "`(cd $${dir} && $(pwd))`" != \ + "`(cd $${dest} && $(pwd))`" \ && (echo "Copying $${dir}..." ; \ (cd $${dir} && tar -cf - . ) | \ (cd $${dest} && umask 022 && tar -xf - );\ @@ -425,7 +428,8 @@ (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \ done) ; \ done - if test `(cd ${srcdir}/info && $(pwd))` != `(cd ${infodir} && $(pwd))` && cd ${srcdir}/info; then \ + if test "`(cd ${srcdir}/info && $(pwd))`" != \ + "`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \ if test ! -f ${infodir}/dir -a -f dir ; then \ ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \ fi ; \ @@ -468,7 +472,7 @@ #### This target has not been updated in sometime and until it is it #### would be extremely dangerous for anyone to use it. #uninstall: -# (cd lib-src; \ +# (cd ./lib-src; \ # $(RECURSIVE_MAKE) uninstall \ # prefix=${prefix} exec_prefix=${exec_prefix} \ # bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) @@ -503,7 +507,7 @@ ## target for GCC does not delete `libgcc.a', because recompiling it ## is rarely necessary and takes a lot of time. mostlyclean: FRC.mostlyclean - for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done ## `clean' ## Delete all files from the current directory that are normally @@ -514,7 +518,7 @@ ## Delete `.dvi' files here if they are not part of the distribution. clean: FRC.clean - for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done $(RM) core ## `distclean' @@ -533,7 +537,7 @@ $(RM) packages mule-packages site-lisp distclean: FRC.distclean - for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done -${top_distclean} ## `realclean' @@ -548,7 +552,7 @@ ## anything that needs to exist in order to run `configure' and then ## begin to build the program. realclean: FRC.realclean - for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done -${top_distclean} $(RM) TAGS @@ -557,7 +561,7 @@ ## the coding standards seem to come from. It's like distclean, but ## it deletes backup and autosave files too. extraclean: - for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done $(RM) *~ \#* -${top_distclean} @@ -578,30 +582,31 @@ unlock: chmod u+w $(SOURCES) cpp/* - -cd elisp && chmod u+w Makefile README *.texi - for d in src etc lib-src lisp; do (cd $$d && $(RECURSIVE_MAKE) $@); done - cd lisp/term && chmod u+w README *.el - cd man && chmod u+w *texi* ChangeLog split-man - cd lwlib && chmod u+w *.[ch] Makefile.in.in + -cd ./elisp && chmod u+w Makefile README *.texi + for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + cd ./lisp/term && chmod u+w README *.el + cd ./man && chmod u+w *texi* ChangeLog split-man + cd ./lwlib && chmod u+w *.[ch] Makefile.in.in relock: chmod u-w $(SOURCES) cpp/* - -cd elisp && chmod u-w Makefile README *.texi - for d in src etc lib-src lisp; do (cd $$d && $(RECURSIVE_MAKE) $@); done - cd lisp/term && chmod u+w README *.el - cd man && chmod u+w *texi* ChangeLog split-man - cd lwlib && chmod u+w *.[ch] Makefile.in.in + -cd ./elisp && chmod u-w Makefile README *.texi + for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + cd ./lisp/term && chmod u+w README *.el + cd ./man && chmod u+w *texi* ChangeLog split-man + cd ./lwlib && chmod u+w *.[ch] Makefile.in.in +PRUNE_VC = -name SCCS -prune -o -name RCS -prune -o -name CVS -prune -o TAGS tags: FRC.tags @echo "If you don't have a copy of etags around, then do 'make lib-src' first." + $(RM) ${srcdir}/TAGS @PATH=`$(pwd)`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \ echo "Using etags from `which etags`." PATH=`$(pwd)`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \ - etags --regex='/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' src/*.[ch] ; \ - for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do \ - (cd $$d && if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; \ - done ; \ - etags -a lwlib/*.[ch] + find src lwlib lib-src ${PRUNE_VC} -name '*.[ch]' -print | \ + xargs etags -a -r '/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/'; \ + find lisp ${PRUNE_VC} -name '*.el' -print | \ + xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\)[ ]+'?\\([^ ]+\\)/\\2/" ## We have automated tests! testdir = ${srcdir}/tests
--- a/PROBLEMS Mon Aug 13 10:33:19 2007 +0200 +++ b/PROBLEMS Mon Aug 13 10:34:13 2007 +0200 @@ -446,6 +446,15 @@ * Problems with running XEmacs ============================== +** On Solaris 2.6, XEmacs dumps core when exiting. + +This happens if you're XEmacs is running on the same machine as the X +server, and the optimized memory transport has been turned on by +setting the environment variable XSUNTRANSPORT. The crash occurs +during the call to XCloseDisplay. + +If this describes your situation, you need to undefine the +XSUNTRANSPORT environment variable. ** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
--- a/configure Mon Aug 13 10:33:19 2007 +0200 +++ b/configure Mon Aug 13 10:34:13 2007 +0200 @@ -44,6 +44,21 @@ ac_help="$ac_help --with-x use the X Window System" + + +if test -n "$ZSH_VERSION"; then + setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO + setopt GLOB_SUBST NO_HUP INTERACTIVE_COMMENTS KSH_ARRAYS NO_MULTIOS NO_NOMATCH + setopt RM_STAR_SILENT POSIX_BUILTINS SH_FILE_EXPANSION SH_GLOB SH_OPTION_LETTERS + setopt SH_WORD_SPLIT BSD_ECHO IGNORE_BRACES + if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi +elif test -n "$BASH_VERSION"; then + set -o posix + unset CDPATH +else + if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi +fi + exec_prefix=NONE host=NONE no_create= @@ -60,14 +75,6 @@ verbose= x_includes=NONE x_libraries=NONE -CDPATH=.; export CDPATH - -if test -n "$ZSH_VERSION"; then - setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO - setopt GLOB_SUBST NO_HUP INTERACTIVE_COMMENTS KSH_ARRAYS NO_MULTIOS NO_NOMATCH - setopt RM_STAR_SILENT POSIX_BUILTINS SH_FILE_EXPANSION SH_GLOB SH_OPTION_LETTERS - setopt SH_WORD_SPLIT BSD_ECHO IGNORE_BRACES -fi bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' @@ -692,11 +699,22 @@ if test "$use_minimal_tagbits" = "no"; then test "$with_dlmalloc" = "yes" && \ (echo "$progname: Usage error:" -echo " " --with-dlmalloc=yes requires --use-minimal-tagbits=yes +echo " " "--with-dlmalloc requires --use-minimal-tagbits" echo " Use \`$progname --help' to show usage.") >&2 && exit 1 with_dlmalloc=no fi + + +if test "$with_cde $with_tooltalk" = "yes no"; then + (echo "$progname: Usage error:" +echo " " "--with-cde requires --with-tooltalk" +echo " Use \`$progname --help' to show usage.") >&2 && exit 1 +elif test "$with_tooltalk" = "no" ; then with_cde=no +elif test "$with_cde" = "yes"; then with_tooltalk=yes +fi + + if test "$run_in_place" = "yes"; then echo "configure: warning: "The --run-in-place option is ignored because it is unnecessary."" 1>&2 fi @@ -737,7 +755,7 @@ if test -z "$configuration"; then echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:741: checking "host system type"" >&5 +echo "configure:759: checking "host system type"" >&5 if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \ sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` ; then echo "$ac_t""$configuration" 1>&6 @@ -751,7 +769,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:755: checking whether ln -s works" >&5 +echo "configure:773: checking whether ln -s works" >&5 rm -f conftestdata if ln -s X conftestdata 2>/dev/null @@ -967,7 +985,7 @@ echo "checking "the configuration name"" 1>&6 -echo "configure:971: checking "the configuration name"" >&5 +echo "configure:989: checking "the configuration name"" >&5 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'` if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else exit $? @@ -1387,6 +1405,14 @@ test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias +if test "$with_workshop $with_tooltalk" = "yes no"; then + (echo "$progname: Usage error:" +echo " " "--with-workshop requires --with-tooltalk" +echo " Use \`$progname --help' to show usage.") >&2 && exit 1 +elif test "$with_tooltalk" = "no" ; then with_workshop=no +elif test "$with_workshop" = "yes"; then with_tooltalk=yes +fi + if test "$with_workshop" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining SUNPRO @@ -1399,7 +1425,6 @@ extra_objs="$extra_objs sunpro.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"sunpro.o\"" fi - with_tooltalk=yes fi if test "$with_clash_detection" = "yes"; then @@ -1431,7 +1456,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1435: checking for $ac_word" >&5 +echo "configure:1460: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1457,7 +1482,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1461: checking for $ac_word" >&5 +echo "configure:1486: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1502,7 +1527,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1506: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1531: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' @@ -1514,11 +1539,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1518 "configure" +#line 1543 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1538,19 +1563,19 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1542: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1567: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1547: checking whether we are using GNU C" >&5 +echo "configure:1572: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1564,7 +1589,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1568: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1593: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1593,7 +1618,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1597: checking for $ac_word" >&5 +echo "configure:1622: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1619,7 +1644,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1623: checking for $ac_word" >&5 +echo "configure:1648: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1664,7 +1689,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1668: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1693: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' @@ -1676,11 +1701,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1680 "configure" +#line 1705 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1700,19 +1725,19 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1704: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1729: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1709: checking whether we are using GNU C" >&5 +echo "configure:1734: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1726,7 +1751,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1730: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1755: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1755,7 +1780,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1759: checking for $ac_word" >&5 +echo "configure:1784: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1781,7 +1806,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1785: checking for $ac_word" >&5 +echo "configure:1810: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1826,7 +1851,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1830: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1855: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' @@ -1838,11 +1863,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1842 "configure" +#line 1867 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1862,19 +1887,19 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1866: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1891: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1871: checking whether we are using GNU C" >&5 +echo "configure:1896: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1903: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1888,7 +1913,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1892: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1917: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1921,7 +1946,7 @@ test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1925: checking how to run the C preprocessor" >&5 +echo "configure:1950: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1934,13 +1959,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1938 "configure" +#line 1963 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1944: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1951,13 +1976,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1955 "configure" +#line 1980 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1980,9 +2005,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1984: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 1986 "configure" +echo "configure:2009: checking for AIX" >&5 +cat > conftest.$ac_ext <<EOF +#line 2011 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -2009,9 +2034,9 @@ echo $ac_n "checking for GNU libc""... $ac_c" 1>&6 -echo "configure:2013: checking for GNU libc" >&5 -cat > conftest.$ac_ext <<EOF -#line 2015 "configure" +echo "configure:2038: checking for GNU libc" >&5 +cat > conftest.$ac_ext <<EOF +#line 2040 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -2023,7 +2048,7 @@ ; return 0; } EOF -if { (eval echo configure:2027: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -2044,9 +2069,9 @@ echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6 -echo "configure:2048: checking whether we are using SunPro C" >&5 -cat > conftest.$ac_ext <<EOF -#line 2050 "configure" +echo "configure:2073: checking whether we are using SunPro C" >&5 +cat > conftest.$ac_ext <<EOF +#line 2075 "configure" #include "confdefs.h" int main() { @@ -2057,7 +2082,7 @@ ; return 0; } EOF -if { (eval echo configure:2061: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* __sunpro_c=yes else @@ -2077,21 +2102,16 @@ - - - -echo > $tempcname - -echo ' +cat > $tempcname <<EOF #define NOT_C_CODE #define C_SWITCH_SITE #define C_SWITCH_X_SITE #define LD_SWITCH_SITE #define LD_SWITCH_X_SITE #define LD_SWITCH_X_SITE_AUX -#define OS_RELEASE '$os_release' -#include "'$srcdir'/src/'$opsysfile'" -#include "'$srcdir'/src/'$machfile'" +#define OS_RELEASE $os_release +#include "$srcdir/src/$opsysfile" +#include "$srcdir/src/$machfile" #ifndef LIBS_MACHINE #define LIBS_MACHINE @@ -2114,9 +2134,6 @@ configure___ libs_standard=LIB_STANDARD -' >> $tempcname -echo ' - #ifndef OBJECTS_MACHINE #define OBJECTS_MACHINE #endif @@ -2162,14 +2179,11 @@ configure___ ld_switch_shared=LD_SWITCH_SHARED -' >> $tempcname -echo ' - #ifdef ORDINARY_LINK -#define LD "$(CC) $(CFLAGS)" +#define LD "\$(CC) \$(CFLAGS)" #else /* no ORDINARY LINK */ #ifdef COFF_ENCAPSULATE -#define LD "$(CC) -nostdlib" +#define LD "\$(CC) -nostdlib" #else /* not COFF_ENCAPSULATE */ #ifdef LINKER #define LD LINKER @@ -2191,9 +2205,6 @@ configure___ ld_text_start_addr=LD_TEXT_START_ADDR -' >> $tempcname -echo ' - #if ! defined (ORDINARY_LINK) && !defined (START_FILES) #ifdef NO_REMAP #ifdef COFF_ENCAPSULATE @@ -2240,8 +2251,8 @@ configure___ mail_use_lockf=no #endif - -' >> $tempcname +EOF + CPP=`eval "echo $CPP"` eval `$CPP -Isrc $tempcname \ | sed -n -e "s/[ ]*=[ \"]*/='/" -e "s/[ \"]*\$/'/" -e "s/^configure___//p"` @@ -2331,7 +2342,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2335: checking for dynodump" >&5 +echo "configure:2346: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2431,7 +2442,7 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2435: checking "for runtime libraries flag"" >&5 +echo "configure:2446: checking "for runtime libraries flag"" >&5 dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do xe_check_libs="${try_dash_r}/no/such/file-or-directory" @@ -2449,14 +2460,14 @@ done fi cat > conftest.$ac_ext <<EOF -#line 2453 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 2464 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2556,10 +2567,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2560: checking for malloc_get_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2563 "configure" +echo "configure:2571: checking for malloc_get_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2574 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_get_state(); below. */ @@ -2582,7 +2593,7 @@ ; return 0; } EOF -if { (eval echo configure:2586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_malloc_get_state=yes" else @@ -2602,10 +2613,10 @@ fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2606: checking for malloc_set_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2609 "configure" +echo "configure:2617: checking for malloc_set_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2620 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_set_state(); below. */ @@ -2628,7 +2639,7 @@ ; return 0; } EOF -if { (eval echo configure:2632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_malloc_set_state=yes" else @@ -2648,16 +2659,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2652: checking whether __after_morecore_hook exists" >&5 -cat > conftest.$ac_ext <<EOF -#line 2654 "configure" +echo "configure:2663: checking whether __after_morecore_hook exists" >&5 +cat > conftest.$ac_ext <<EOF +#line 2665 "configure" #include "confdefs.h" extern void (* __after_morecore_hook)(); int main() { __after_morecore_hook = 0 ; return 0; } EOF -if { (eval echo configure:2661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2716,7 +2727,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2720: checking for $ac_word" >&5 +echo "configure:2731: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -2769,7 +2780,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2773: checking for a BSD compatible install" >&5 +echo "configure:2784: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" @@ -2820,7 +2831,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2824: checking for $ac_word" >&5 +echo "configure:2835: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -2851,15 +2862,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2855: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2858 "configure" +echo "configure:2866: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2869 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2863: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2892,15 +2903,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2896: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2899 "configure" +echo "configure:2907: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2910 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2904: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2933,15 +2944,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2937: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2940 "configure" +echo "configure:2948: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2951 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2971,10 +2982,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2975: checking for sys/wait.h that is POSIX.1 compatible" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2978 "configure" +echo "configure:2986: checking for sys/wait.h that is POSIX.1 compatible" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2989 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -2990,7 +3001,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3014,10 +3025,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3018: checking for ANSI C header files" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3021 "configure" +echo "configure:3029: checking for ANSI C header files" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3032 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -3025,7 +3036,7 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3042,7 +3053,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 3046 "configure" +#line 3057 "configure" #include "confdefs.h" #include <string.h> EOF @@ -3060,7 +3071,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 3064 "configure" +#line 3075 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -3078,7 +3089,7 @@ if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.$ac_ext <<EOF -#line 3082 "configure" +#line 3093 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3089,7 +3100,7 @@ exit (0); } EOF -if { (eval echo configure:3093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else @@ -3114,10 +3125,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3118: checking whether time.h and sys/time.h may both be included" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3121 "configure" +echo "configure:3129: checking whether time.h and sys/time.h may both be included" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3132 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -3126,7 +3137,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3130: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3150,10 +3161,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3154: checking for sys_siglist declaration in signal.h or unistd.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3157 "configure" +echo "configure:3165: checking for sys_siglist declaration in signal.h or unistd.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3168 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3165,7 +3176,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3190,9 +3201,9 @@ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3194: checking for struct utimbuf" >&5 -cat > conftest.$ac_ext <<EOF -#line 3196 "configure" +echo "configure:3205: checking for struct utimbuf" >&5 +cat > conftest.$ac_ext <<EOF +#line 3207 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3211,7 +3222,7 @@ static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -3231,10 +3242,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3235: checking return type of signal handlers" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3238 "configure" +echo "configure:3246: checking return type of signal handlers" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3249 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3251,7 +3262,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3273,10 +3284,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3277: checking for size_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3280 "configure" +echo "configure:3288: checking for size_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3291 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3307,10 +3318,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3311: checking for pid_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3314 "configure" +echo "configure:3322: checking for pid_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3325 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3341,10 +3352,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3345: checking for uid_t in sys/types.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3348 "configure" +echo "configure:3356: checking for uid_t in sys/types.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3359 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3380,10 +3391,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3384: checking for mode_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3387 "configure" +echo "configure:3395: checking for mode_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3398 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3414,10 +3425,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3418: checking for off_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3421 "configure" +echo "configure:3429: checking for off_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3432 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3449,9 +3460,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3453: checking for struct timeval" >&5 -cat > conftest.$ac_ext <<EOF -#line 3455 "configure" +echo "configure:3464: checking for struct timeval" >&5 +cat > conftest.$ac_ext <<EOF +#line 3466 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3467,7 +3478,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3482: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3489,10 +3500,10 @@ rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:3493: checking whether struct tm is in sys/time.h or time.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3496 "configure" +echo "configure:3504: checking whether struct tm is in sys/time.h or time.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3507 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -3500,7 +3511,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3524,10 +3535,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3528: checking for tm_zone in struct tm" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3531 "configure" +echo "configure:3539: checking for tm_zone in struct tm" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3542 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_cv_struct_tm> @@ -3535,7 +3546,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3539: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3558,10 +3569,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3562: checking for tzname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3565 "configure" +echo "configure:3573: checking for tzname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3576 "configure" #include "confdefs.h" #include <time.h> #ifndef tzname /* For SGI. */ @@ -3571,7 +3582,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3597,10 +3608,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3601: checking for working const" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3604 "configure" +echo "configure:3612: checking for working const" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3615 "configure" #include "confdefs.h" int main() { @@ -3649,7 +3660,7 @@ ; return 0; } EOF -if { (eval echo configure:3653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3674,7 +3685,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3678: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:3689: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -3699,12 +3710,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3703: checking whether byte ordering is bigendian" >&5 +echo "configure:3714: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext <<EOF -#line 3708 "configure" +#line 3719 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3715,11 +3726,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3719: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3730: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext <<EOF -#line 3723 "configure" +#line 3734 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3730,7 +3741,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3747,7 +3758,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <<EOF -#line 3751 "configure" +#line 3762 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -3760,7 +3771,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:3764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_bigendian=no else @@ -3786,10 +3797,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:3790: checking size of short" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3793 "configure" +echo "configure:3801: checking size of short" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3804 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3800,7 +3811,7 @@ exit(0); } EOF -if { (eval echo configure:3804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -3827,10 +3838,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3831: checking size of int" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3834 "configure" +echo "configure:3842: checking size of int" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3845 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3841,7 +3852,7 @@ exit(0); } EOF -if { (eval echo configure:3845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -3862,10 +3873,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3866: checking size of long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3869 "configure" +echo "configure:3877: checking size of long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3880 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3876,7 +3887,7 @@ exit(0); } EOF -if { (eval echo configure:3880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -3897,10 +3908,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:3901: checking size of long long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3904 "configure" +echo "configure:3912: checking size of long long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3915 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3911,7 +3922,7 @@ exit(0); } EOF -if { (eval echo configure:3915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_long_long=`cat conftestval` else @@ -3932,10 +3943,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:3936: checking size of void *" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3939 "configure" +echo "configure:3947: checking size of void *" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3950 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3946,7 +3957,7 @@ exit(0); } EOF -if { (eval echo configure:3950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_void_p=`cat conftestval` else @@ -3968,7 +3979,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:3972: checking for long file names" >&5 +echo "configure:3983: checking for long file names" >&5 ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: @@ -4015,12 +4026,12 @@ echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4019: checking for sin in -lm" >&5 +echo "configure:4030: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <<EOF -#line 4024 "configure" +#line 4035 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4031,7 +4042,7 @@ sin() ; return 0; } EOF -if { (eval echo configure:4035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4073,14 +4084,14 @@ cat > conftest.$ac_ext <<EOF -#line 4077 "configure" +#line 4088 "configure" #include "confdefs.h" #include <math.h> int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_INVERSE_HYPERBOLIC @@ -4097,7 +4108,7 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4101: checking type of mail spool file locking" >&5 +echo "configure:4112: checking type of mail spool file locking" >&5 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf if test "$mail_locking" = "lockf"; then { test "$extra_verbose" = "yes" && cat << \EOF @@ -4121,12 +4132,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:4125: checking for kstat_open in -lkstat" >&5 +echo "configure:4136: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <<EOF -#line 4130 "configure" +#line 4141 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4137,7 +4148,7 @@ kstat_open() ; return 0; } EOF -if { (eval echo configure:4141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4171,12 +4182,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:4175: checking for kvm_read in -lkvm" >&5 +echo "configure:4186: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <<EOF -#line 4180 "configure" +#line 4191 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4187,7 +4198,7 @@ kvm_read() ; return 0; } EOF -if { (eval echo configure:4191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4222,12 +4233,12 @@ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4226: checking for cma_open in -lpthreads" >&5 +echo "configure:4237: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <<EOF -#line 4231 "configure" +#line 4242 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4238,7 +4249,7 @@ cma_open() ; return 0; } EOF -if { (eval echo configure:4242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4274,7 +4285,7 @@ esac echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4278: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4289: checking whether the -xildoff compiler flag is required" >&5 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then echo "$ac_t""no" 1>&6; @@ -4285,7 +4296,7 @@ if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:4289: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4300: checking for \"-z ignore\" linker flag" >&5 case "`ld -h 2>&1`" in *-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6 ld_switch_site="-z ignore $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z ignore\" to \$ld_switch_site"; fi ;; @@ -4295,7 +4306,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:4299: checking "for specified window system"" >&5 +echo "configure:4310: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4328,7 +4339,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:4332: checking for X" >&5 +echo "configure:4343: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4388,12 +4399,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 4392 "configure" +#line 4403 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4408: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4462,14 +4473,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 4466 "configure" +#line 4477 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:4473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -4578,17 +4589,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:4582: checking whether -R must be followed by a space" >&5 +echo "configure:4593: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 4585 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4596 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4604,14 +4615,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 4608 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4619 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4647,12 +4658,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4651: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4662: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <<EOF -#line 4656 "configure" +#line 4667 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4663,7 +4674,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4687,12 +4698,12 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:4691: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4702: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <<EOF -#line 4696 "configure" +#line 4707 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4703,7 +4714,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4732,10 +4743,10 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:4736: checking for gethostbyname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4739 "configure" +echo "configure:4747: checking for gethostbyname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4750 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -4758,7 +4769,7 @@ ; return 0; } EOF -if { (eval echo configure:4762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4779,12 +4790,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4783: checking for gethostbyname in -lnsl" >&5 +echo "configure:4794: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <<EOF -#line 4788 "configure" +#line 4799 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4795,7 +4806,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:4799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4825,10 +4836,10 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:4829: checking for connect" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4832 "configure" +echo "configure:4840: checking for connect" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4843 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -4851,7 +4862,7 @@ ; return 0; } EOF -if { (eval echo configure:4855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4874,12 +4885,12 @@ xe_msg_checking="for connect in -lsocket" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:4878: checking "$xe_msg_checking"" >&5 +echo "configure:4889: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <<EOF -#line 4883 "configure" +#line 4894 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4890,7 +4901,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:4894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4914,10 +4925,10 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:4918: checking for remove" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4921 "configure" +echo "configure:4929: checking for remove" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4932 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -4940,7 +4951,7 @@ ; return 0; } EOF -if { (eval echo configure:4944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4961,12 +4972,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4965: checking for remove in -lposix" >&5 +echo "configure:4976: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <<EOF -#line 4970 "configure" +#line 4981 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4977,7 +4988,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:4981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5001,10 +5012,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:5005: checking for shmat" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5008 "configure" +echo "configure:5016: checking for shmat" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5019 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -5027,7 +5038,7 @@ ; return 0; } EOF -if { (eval echo configure:5031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -5048,12 +5059,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:5052: checking for shmat in -lipc" >&5 +echo "configure:5063: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <<EOF -#line 5057 "configure" +#line 5068 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5064,7 +5075,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:5068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5098,12 +5109,12 @@ # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:5102: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:5113: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` xe_check_libs=" -lICE " cat > conftest.$ac_ext <<EOF -#line 5107 "configure" +#line 5118 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5114,7 +5125,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:5118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5281,7 +5292,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5285: checking for X defines extracted by xmkmf" >&5 +echo "configure:5296: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5313,15 +5324,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5317: checking for X11/Intrinsic.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5320 "configure" +echo "configure:5328: checking for X11/Intrinsic.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5331 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5325: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5345,12 +5356,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5349: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5360: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 5354 "configure" +#line 5365 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5361,7 +5372,7 @@ XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5386,12 +5397,12 @@ xe_msg_checking="for XGetFontProperty in -lX11" test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:5390: checking "$xe_msg_checking"" >&5 +echo "configure:5401: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <<EOF -#line 5395 "configure" +#line 5406 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5402,7 +5413,7 @@ XGetFontProperty() ; return 0; } EOF -if { (eval echo configure:5406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5429,12 +5440,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5433: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5444: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <<EOF -#line 5438 "configure" +#line 5449 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5445,7 +5456,7 @@ XShapeSelectInput() ; return 0; } EOF -if { (eval echo configure:5449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5468,12 +5479,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5472: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5483: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <<EOF -#line 5477 "configure" +#line 5488 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5484,7 +5495,7 @@ XtOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5507,14 +5518,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5511: checking the version of X11 being used" >&5 +echo "configure:5522: checking the version of X11 being used" >&5 cat > conftest.$ac_ext <<EOF -#line 5513 "configure" +#line 5524 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5538,15 +5549,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5542: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5545 "configure" +echo "configure:5553: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5556 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5561: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5577,7 +5588,7 @@ echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5581: checking for XFree86" >&5 +echo "configure:5592: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5597,12 +5608,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5601: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5612: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <<EOF -#line 5606 "configure" +#line 5617 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5613,7 +5624,7 @@ XmuReadBitmapDataFromFile() ; return 0; } EOF -if { (eval echo configure:5617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5652,19 +5663,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5656: checking for main in -lXbsd" >&5 +echo "configure:5667: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <<EOF -#line 5661 "configure" +#line 5672 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5701,22 +5712,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5705: checking for MS-Windows" >&5 +echo "configure:5716: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5708: checking for main in -lgdi32" >&5 +echo "configure:5719: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <<EOF -#line 5713 "configure" +#line 5724 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5774,12 +5785,12 @@ fi fi cat > conftest.$ac_ext <<EOF -#line 5778 "configure" +#line 5789 "configure" #include "confdefs.h" #include <fcntl.h> int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:5783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MSG_SELECT @@ -5857,7 +5868,7 @@ esac echo "checking for session-management option" 1>&6 -echo "configure:5861: checking for session-management option" >&5; +echo "configure:5872: checking for session-management option" >&5; if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SESSION @@ -5872,15 +5883,15 @@ test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6 -echo "configure:5876: checking for X11/Xauth.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5879 "configure" +echo "configure:5887: checking for X11/Xauth.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5890 "configure" #include "confdefs.h" #include <X11/Xauth.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5884: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5903,12 +5914,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:5907: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:5918: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <<EOF -#line 5912 "configure" +#line 5923 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5919,7 +5930,7 @@ XauGetAuthByAddr() ; return 0; } EOF -if { (eval echo configure:5923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5983,20 +5994,19 @@ -test "$with_cde" = "yes" && with_tooltalk=yes # CDE requires tooltalk if test "$with_tooltalk" != "no" ; then for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:5992: checking for ${dir}tt_c.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5995 "configure" +echo "configure:6002: checking for ${dir}tt_c.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6005 "configure" #include "confdefs.h" #include <${dir}tt_c.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6011,13 +6021,20 @@ rm -f conftest* if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 - tt_c_h_path="${dir}tt_c.h" && break + tt_c_h_path="${dir}tt_c.h"; break else echo "$ac_t""no" 1>&6 fi done - test -z "$tt_c_h_path" && with_tooltalk=no + if test -z "$tt_c_h_path"; then + if test "$with_tooltalk" = "yes"; then + (echo "$progname: Usage error:" +echo " " "Unable to find required tooltalk header files." +echo " Use \`$progname --help' to show usage.") >&2 && exit 1 + fi + with_tooltalk=no + fi fi if test "$with_tooltalk" != "no" ; then for extra_libs in "" "-lI18N -lce" "-lcxx"; do @@ -6025,12 +6042,12 @@ xe_msg_checking="for tt_message_create in -ltt" test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6029: checking "$xe_msg_checking"" >&5 +echo "configure:6046: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <<EOF -#line 6034 "configure" +#line 6051 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6041,7 +6058,7 @@ tt_message_create() ; return 0; } EOF -if { (eval echo configure:6045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6055,7 +6072,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_tooltalk=yes tt_libs="-ltt $extra_libs"; break + tt_libs="-ltt $extra_libs"; break else echo "$ac_t""no" 1>&6 : @@ -6063,8 +6080,16 @@ done -fi -test -z "$with_tooltalk" && with_tooltalk=no + if test -z "$tt_libs"; then + if test "$with_tooltalk" = "yes"; then + (echo "$progname: Usage error:" +echo " " "Unable to find required tooltalk libraries." +echo " Use \`$progname --help' to show usage.") >&2 && exit 1 + fi + with_tooltalk=no + fi +fi +test -z "$with_tooltalk" && with_tooltalk=yes if test "$with_tooltalk" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining TOOLTALK @@ -6090,15 +6115,15 @@ test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6 -echo "configure:6094: checking for Dt/Dt.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6097 "configure" +echo "configure:6119: checking for Dt/Dt.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6122 "configure" #include "confdefs.h" #include <Dt/Dt.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6121,12 +6146,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:6125: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:6150: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <<EOF -#line 6130 "configure" +#line 6155 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6137,7 +6162,7 @@ DtDndDragStart() ; return 0; } EOF -if { (eval echo configure:6141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6179,7 +6204,7 @@ fi echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:6183: checking if drag and drop API is needed" >&5 +echo "configure:6208: checking if drag and drop API is needed" >&5 if test "$with_dragndrop" != "no" ; then if test -n "$dragndrop_proto" ; then with_dragndrop=yes @@ -6200,18 +6225,18 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:6204: checking for LDAP" >&5 +echo "configure:6229: checking for LDAP" >&5 test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ldap.h""... $ac_c" 1>&6 -echo "configure:6207: checking for ldap.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6210 "configure" +echo "configure:6232: checking for ldap.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6235 "configure" #include "confdefs.h" #include <ldap.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6234,15 +6259,15 @@ } test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for lber.h""... $ac_c" 1>&6 -echo "configure:6238: checking for lber.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6241 "configure" +echo "configure:6263: checking for lber.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6266 "configure" #include "confdefs.h" #include <lber.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6268,12 +6293,12 @@ xe_msg_checking="for ldap_open in -lldap" test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6272: checking "$xe_msg_checking"" >&5 +echo "configure:6297: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <<EOF -#line 6277 "configure" +#line 6302 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6284,7 +6309,7 @@ ldap_open() ; return 0; } EOF -if { (eval echo configure:6288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6307,12 +6332,12 @@ } test "$with_umich_ldap" = "no" && { echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6311: checking for ldap_set_option in -lldap10" >&5 +echo "configure:6336: checking for ldap_set_option in -lldap10" >&5 ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap10 " cat > conftest.$ac_ext <<EOF -#line 6316 "configure" +#line 6341 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6323,7 +6348,7 @@ ldap_set_option() ; return 0; } EOF -if { (eval echo configure:6327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6387,14 +6412,14 @@ if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:6391: checking for graphics libraries" >&5 +echo "configure:6416: checking for graphics libraries" >&5 if test -z "$with_xpm"; then echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:6395: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6420: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6398 "configure" +#line 6423 "configure" #include "confdefs.h" #include <X11/xpm.h> int main(int c, char **v) { @@ -6402,7 +6427,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:6406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:6431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$?" = "0"; then @@ -6443,17 +6468,17 @@ libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:6447: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:6472: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6450 "configure" +#line 6475 "configure" #include "confdefs.h" int main() { XpmCreatePixmapFromData() ; return 0; } EOF -if { (eval echo configure:6457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* xpm_for_msw=no else @@ -6480,12 +6505,12 @@ if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6484: checking for inflate in -lc" >&5 +echo "configure:6509: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 6489 "configure" +#line 6514 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6496,7 +6521,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6515,12 +6540,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6519: checking for inflate in -lz" >&5 +echo "configure:6544: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <<EOF -#line 6524 "configure" +#line 6549 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6531,7 +6556,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6550,12 +6575,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6554: checking for inflate in -lgz" >&5 +echo "configure:6579: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <<EOF -#line 6559 "configure" +#line 6584 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6566,7 +6591,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6595,18 +6620,18 @@ fi echo $ac_n "checking for giflib - no older than 3.1""... $ac_c" 1>&6 -echo "configure:6599: checking for giflib - no older than 3.1" >&5 +echo "configure:6624: checking for giflib - no older than 3.1" >&5 test -z "$with_gif" && { ac_safe=`echo "gif_lib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gif_lib.h""... $ac_c" 1>&6 -echo "configure:6602: checking for gif_lib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6605 "configure" +echo "configure:6627: checking for gif_lib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6630 "configure" #include "confdefs.h" #include <gif_lib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6635: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6629,12 +6654,12 @@ } test -z "$with_gif" && { echo $ac_n "checking for GetGifError in -lgif""... $ac_c" 1>&6 -echo "configure:6633: checking for GetGifError in -lgif" >&5 +echo "configure:6658: checking for GetGifError in -lgif" >&5 ac_lib_var=`echo gif'_'GetGifError | sed 'y%./+-%__p_%'` xe_check_libs=" -lgif " cat > conftest.$ac_ext <<EOF -#line 6638 "configure" +#line 6663 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6645,7 +6670,7 @@ GetGifError() ; return 0; } EOF -if { (eval echo configure:6649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6681,15 +6706,15 @@ test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6 -echo "configure:6685: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6688 "configure" +echo "configure:6710: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6713 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6712,12 +6737,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6716: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6741: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <<EOF -#line 6721 "configure" +#line 6746 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6728,7 +6753,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6764,9 +6789,9 @@ if test -z "$with_png"; then echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6 -echo "configure:6768: checking for png.h - no older than 0.96" >&5 +echo "configure:6793: checking for png.h - no older than 0.96" >&5 cat > conftest.$ac_ext <<EOF -#line 6770 "configure" +#line 6795 "configure" #include "confdefs.h" #include <png.h> #if PNG_LIBPNG_VER >= 96 @@ -6786,10 +6811,10 @@ fi test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6790: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6793 "configure" +echo "configure:6815: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6818 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6812,7 +6837,7 @@ ; return 0; } EOF -if { (eval echo configure:6816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -6833,12 +6858,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:6837: checking for png_read_image in -lpng" >&5 +echo "configure:6862: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <<EOF -#line 6842 "configure" +#line 6867 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6849,7 +6874,7 @@ png_read_image() ; return 0; } EOF -if { (eval echo configure:6853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6885,15 +6910,15 @@ test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:6889: checking for tiffio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6892 "configure" +echo "configure:6914: checking for tiffio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6917 "configure" #include "confdefs.h" #include <tiffio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6922: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6916,12 +6941,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFReadScanline in -ltiff""... $ac_c" 1>&6 -echo "configure:6920: checking for TIFFReadScanline in -ltiff" >&5 +echo "configure:6945: checking for TIFFReadScanline in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFReadScanline | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <<EOF -#line 6925 "configure" +#line 6950 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6932,7 +6957,7 @@ TIFFReadScanline() ; return 0; } EOF -if { (eval echo configure:6936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6971,19 +6996,19 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:6975: checking for X11 graphics libraries" >&5 +echo "configure:7000: checking for X11 graphics libraries" >&5 test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:6979: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6982 "configure" +echo "configure:7004: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7007 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7006,12 +7031,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:7010: checking for UnGenFace in -lcompface" >&5 +echo "configure:7035: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <<EOF -#line 7015 "configure" +#line 7040 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7022,7 +7047,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:7026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7058,12 +7083,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:7062: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:7087: checking for XawScrollbarSetThumb in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <<EOF -#line 7067 "configure" +#line 7092 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7074,7 +7099,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:7078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7098,15 +7123,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:7102: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7105 "configure" +echo "configure:7127: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7130 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7123,12 +7148,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:7127: checking for XmStringFree in -lXm" >&5 +echo "configure:7152: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7132 "configure" +#line 7157 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7139,7 +7164,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:7143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7168,9 +7193,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:7172: checking for Lesstif" >&5 +echo "configure:7197: checking for Lesstif" >&5 cat > conftest.$ac_ext <<EOF -#line 7174 "configure" +#line 7199 "configure" #include "confdefs.h" #include <Xm/Xm.h> #ifdef LESSTIF_VERSION @@ -7454,7 +7479,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7458: checking for Mule-related features" >&5 +echo "configure:7483: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7479,15 +7504,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7483: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7486 "configure" +echo "configure:7508: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7511 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7491: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7518,12 +7543,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7522: checking for strerror in -lintl" >&5 +echo "configure:7547: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <<EOF -#line 7527 "configure" +#line 7552 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7534,7 +7559,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7567,19 +7592,19 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7571: checking for Mule input methods" >&5 +echo "configure:7596: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7574: checking for XIM" >&5 +echo "configure:7599: checking for XIM" >&5 if test "$have_lesstif" = "yes"; then with_xim=xlib else echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7578: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7603: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7583 "configure" +#line 7608 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7590,7 +7615,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7656,15 +7681,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7660: checking for XFontSet" >&5 +echo "configure:7685: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7663: checking for XmbDrawString in -lX11" >&5 +echo "configure:7688: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 7668 "configure" +#line 7693 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7675,7 +7700,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7715,15 +7740,15 @@ test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6 -echo "configure:7719: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7722 "configure" +echo "configure:7744: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7747 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7748,10 +7773,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7752: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7755 "configure" +echo "configure:7777: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7780 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7774,7 +7799,7 @@ ; return 0; } EOF -if { (eval echo configure:7778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7803,12 +7828,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7807: checking for crypt in -lcrypt" >&5 +echo "configure:7832: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <<EOF -#line 7812 "configure" +#line 7837 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7819,7 +7844,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7853,12 +7878,12 @@ fi test -z "$with_wnn" && { echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7857: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:7882: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7862 "configure" +#line 7887 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7869,7 +7894,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7904,14 +7929,15 @@ extra_objs="$extra_objs mule-wnnfns.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"mule-wnnfns.o\"" fi - + if test "$with_wnn6" != "no"; then + echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6 -echo "configure:7910: checking for jl_fi_dic_list in -lwnn" >&5 +echo "configure:7936: checking for jl_fi_dic_list in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7915 "configure" +#line 7941 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7922,7 +7948,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:7926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7942,7 +7968,7 @@ fi - test "$with_wnn6" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF + test "$with_wnn6" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF Defining WNN6 EOF cat >> confdefs.h <<\EOF @@ -7950,21 +7976,22 @@ EOF } + fi fi canna_includes_found=no if test "$with_canna" != "no"; then ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:7960: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7963 "configure" +echo "configure:7987: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7990 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7991,15 +8018,15 @@ c_switch_site="$c_switch_site -I/usr/local/canna/include" ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:7995: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7998 "configure" +echo "configure:8022: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8025 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8027,15 +8054,15 @@ test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:8031: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8034 "configure" +echo "configure:8058: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8061 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8058,12 +8085,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:8062: checking for RkBgnBun in -lRKC" >&5 +echo "configure:8089: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <<EOF -#line 8067 "configure" +#line 8094 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8074,7 +8101,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:8078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8097,12 +8124,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:8101: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:8128: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <<EOF -#line 8106 "configure" +#line 8133 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8113,7 +8140,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:8117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8162,12 +8189,12 @@ libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6 -echo "configure:8166: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8193: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <<EOF -#line 8171 "configure" +#line 8198 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8178,7 +8205,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:8182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8264,10 +8291,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8268: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8271 "configure" +echo "configure:8295: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8298 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8290,7 +8317,7 @@ ; return 0; } EOF -if { (eval echo configure:8294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8327,10 +8354,10 @@ for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8331: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8334 "configure" +echo "configure:8358: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8361 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8353,7 +8380,7 @@ ; return 0; } EOF -if { (eval echo configure:8357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8386,16 +8413,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:8390: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 8392 "configure" +echo "configure:8417: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 8419 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:8399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -8415,16 +8442,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:8419: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 8421 "configure" +echo "configure:8446: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 8448 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:8428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -8444,11 +8471,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:8448: checking whether localtime caches TZ" >&5 +echo "configure:8475: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 8452 "configure" +#line 8479 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -8483,7 +8510,7 @@ exit (0); } EOF -if { (eval echo configure:8487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then emacs_cv_localtime_cache=no else @@ -8512,9 +8539,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:8516: checking whether gettimeofday accepts one or two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 8518 "configure" +echo "configure:8543: checking whether gettimeofday accepts one or two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8545 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -8536,7 +8563,7 @@ ; return 0; } EOF -if { (eval echo configure:8540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -8558,19 +8585,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8562: checking for inline" >&5 +echo "configure:8589: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8567 "configure" +#line 8594 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8620,17 +8647,17 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:8624: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8627 "configure" +echo "configure:8651: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8654 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -8654,10 +8681,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8658: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8661 "configure" +echo "configure:8685: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8688 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -8680,7 +8707,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -8719,10 +8746,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8723: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8726 "configure" +echo "configure:8750: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8753 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8746,10 +8773,10 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8750: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8753 "configure" +echo "configure:8777: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8780 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8772,7 +8799,7 @@ ; return 0; } EOF -if { (eval echo configure:8776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8802,10 +8829,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:8806: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8809 "configure" +echo "configure:8833: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8836 "configure" #include "confdefs.h" find_stack_direction () { @@ -8824,7 +8851,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:8828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_stack_direction=1 else @@ -8852,15 +8879,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8856: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8859 "configure" +echo "configure:8883: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8886 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8864: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8888,10 +8915,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:8892: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8895 "configure" +echo "configure:8919: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8922 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -8986,7 +9013,7 @@ } } EOF -if { (eval echo configure:8990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_vfork_works=yes else @@ -9011,10 +9038,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:9015: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9018 "configure" +echo "configure:9042: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9045 "configure" #include "confdefs.h" #include <string.h> main () @@ -9024,7 +9051,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:9028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -9051,10 +9078,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9055: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9058 "configure" +echo "configure:9082: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9085 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9077,7 +9104,7 @@ ; return 0; } EOF -if { (eval echo configure:9081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9105,10 +9132,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:9109: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9112 "configure" +echo "configure:9136: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9139 "configure" #include "confdefs.h" /* @@ -9163,7 +9190,7 @@ } EOF -if { (eval echo configure:9167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -9189,10 +9216,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9193: checking for working mmap" >&5 +echo "configure:9220: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 9196 "configure" +#line 9223 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -9225,7 +9252,7 @@ return 1; } EOF -if { (eval echo configure:9229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then have_mmap=yes else @@ -9259,15 +9286,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:9263: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9266 "configure" +echo "configure:9290: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9293 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9310,15 +9337,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termio.h""... $ac_c" 1>&6 -echo "configure:9314: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9317 "configure" +echo "configure:9341: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9344 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9322: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9350,10 +9377,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:9354: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9357 "configure" +echo "configure:9381: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9384 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -9376,7 +9403,7 @@ ; return 0; } EOF -if { (eval echo configure:9380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -9391,15 +9418,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6 -echo "configure:9395: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9398 "configure" +echo "configure:9422: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9425 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9416,15 +9443,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6 -echo "configure:9420: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9423 "configure" +echo "configure:9447: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9450 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9449,9 +9476,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:9453: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:9480: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 9455 "configure" +#line 9482 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9462,7 +9489,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:9466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -9480,18 +9507,19 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:9484: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:9511: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 9486 "configure" -#include "confdefs.h" - +#line 9513 "configure" +#include "confdefs.h" + +#include <sys/types.h> #include <netinet/in.h> int main() { static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:9495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -9522,10 +9550,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:9526: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9529 "configure" +echo "configure:9554: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9557 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -9548,7 +9576,7 @@ ; return 0; } EOF -if { (eval echo configure:9552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -9563,15 +9591,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:9567: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9570 "configure" +echo "configure:9595: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9598 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9575: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9588,15 +9616,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6 -echo "configure:9592: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9595 "configure" +echo "configure:9620: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9623 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9634,15 +9662,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:9638: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9641 "configure" +echo "configure:9666: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9669 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9669,15 +9697,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6 -echo "configure:9673: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9676 "configure" +echo "configure:9701: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9704 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9681: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9710,15 +9738,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:9714: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9717 "configure" +echo "configure:9742: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9745 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9748,7 +9776,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:9752: checking "for sound support"" >&5 +echo "configure:9780: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -9759,15 +9787,15 @@ if test -n "$native_sound_lib"; then ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6 -echo "configure:9763: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9766 "configure" +echo "configure:9791: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9794 "configure" #include "confdefs.h" #include <multimedia/audio_device.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9771: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9815,12 +9843,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:9819: checking for ALopenport in -laudio" >&5 +echo "configure:9847: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <<EOF -#line 9824 "configure" +#line 9852 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9831,7 +9859,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:9835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9862,12 +9890,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:9866: checking for AOpenAudio in -lAlib" >&5 +echo "configure:9894: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <<EOF -#line 9871 "configure" +#line 9899 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9878,7 +9906,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:9882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9916,15 +9944,15 @@ for dir in "machine" "sys" "linux"; do ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6 -echo "configure:9920: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9923 "configure" +echo "configure:9948: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9951 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9994,7 +10022,7 @@ fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext <<EOF -#line 9998 "configure" +#line 10026 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -10021,7 +10049,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:10025: checking for TTY-related features" >&5 +echo "configure:10053: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -10037,12 +10065,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:10041: checking for tgetent in -lncurses" >&5 +echo "configure:10069: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <<EOF -#line 10046 "configure" +#line 10074 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10053,7 +10081,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10086,15 +10114,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10090: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10093 "configure" +echo "configure:10118: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10121 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10116,15 +10144,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:10120: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10123 "configure" +echo "configure:10148: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10151 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10128: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10156: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10154,15 +10182,15 @@ c_switch_site="$c_switch_site -I/usr/include/ncurses" ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10158: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10161 "configure" +echo "configure:10186: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10189 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10197,12 +10225,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:10201: checking for tgetent in -l$lib" >&5 +echo "configure:10229: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <<EOF -#line 10206 "configure" +#line 10234 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10213,7 +10241,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10244,12 +10272,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:10248: checking for tgetent in -lcurses" >&5 +echo "configure:10276: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <<EOF -#line 10253 "configure" +#line 10281 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10260,7 +10288,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10278,12 +10306,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:10282: checking for tgetent in -ltermcap" >&5 +echo "configure:10310: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <<EOF -#line 10287 "configure" +#line 10315 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10294,7 +10322,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10342,15 +10370,15 @@ test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gpm.h""... $ac_c" 1>&6 -echo "configure:10346: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10349 "configure" +echo "configure:10374: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10377 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10373,12 +10401,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:10377: checking for Gpm_Open in -lgpm" >&5 +echo "configure:10405: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <<EOF -#line 10382 "configure" +#line 10410 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10389,7 +10417,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:10393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10438,22 +10466,22 @@ echo "checking for database support" 1>&6 -echo "configure:10442: checking for database support" >&5 +echo "configure:10470: checking for database support" >&5 if test "$with_database_gnudbm" != "no"; then for ac_hdr in ndbm.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10449: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10452 "configure" +echo "configure:10477: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10480 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10457: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10485: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10485,12 +10513,12 @@ if test "$have_ndbm_h" = "yes"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:10489: checking for dbm_open in -lgdbm" >&5 +echo "configure:10517: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <<EOF -#line 10494 "configure" +#line 10522 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10501,7 +10529,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10524,10 +10552,10 @@ fi if test "$with_database_gnudbm" != "yes"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10528: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10531 "configure" +echo "configure:10556: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10559 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10550,7 +10578,7 @@ ; return 0; } EOF -if { (eval echo configure:10554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10586,10 +10614,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10590: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10593 "configure" +echo "configure:10618: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10621 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10612,7 +10640,7 @@ ; return 0; } EOF -if { (eval echo configure:10616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10633,12 +10661,12 @@ if test "$need_libdbm" != "no"; then echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:10637: checking for dbm_open in -ldbm" >&5 +echo "configure:10665: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <<EOF -#line 10642 "configure" +#line 10670 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10649,7 +10677,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10686,10 +10714,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for dbopen""... $ac_c" 1>&6 -echo "configure:10690: checking for dbopen" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10693 "configure" +echo "configure:10718: checking for dbopen" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10721 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbopen(); below. */ @@ -10712,7 +10740,7 @@ ; return 0; } EOF -if { (eval echo configure:10716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbopen=yes" else @@ -10733,12 +10761,12 @@ if test "$need_libdb" != "no"; then echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6 -echo "configure:10737: checking for dbopen in -ldb" >&5 +echo "configure:10765: checking for dbopen in -ldb" >&5 ac_lib_var=`echo db'_'dbopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <<EOF -#line 10742 "configure" +#line 10770 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10749,7 +10777,7 @@ dbopen() ; return 0; } EOF -if { (eval echo configure:10753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10773,7 +10801,7 @@ if test "$with_database_berkdb" = "yes"; then for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 10777 "configure" +#line 10805 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -10791,7 +10819,7 @@ ; return 0; } EOF -if { (eval echo configure:10795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -10842,12 +10870,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:10846: checking for SOCKSinit in -lsocks" >&5 +echo "configure:10874: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <<EOF -#line 10851 "configure" +#line 10879 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10858,7 +10886,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:10862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10915,15 +10943,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10919: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10922 "configure" +echo "configure:10947: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10950 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10955: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10954,12 +10982,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:10958: checking for dlopen in -ldl" >&5 +echo "configure:10986: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldl " cat > conftest.$ac_ext <<EOF -#line 10963 "configure" +#line 10991 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10970,7 +10998,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:10974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10999,12 +11027,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11003: checking for _dlopen in -lc" >&5 +echo "configure:11031: checking for _dlopen in -lc" >&5 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11008 "configure" +#line 11036 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11015,7 +11043,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:11019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11044,12 +11072,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11048: checking for dlopen in -lc" >&5 +echo "configure:11076: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11053 "configure" +#line 11081 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11060,7 +11088,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11089,12 +11117,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:11093: checking for shl_load in -ldld" >&5 +echo "configure:11121: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11098 "configure" +#line 11126 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11105,7 +11133,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:11109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11134,12 +11162,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:11138: checking for dld_init in -ldld" >&5 +echo "configure:11166: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11143 "configure" +#line 11171 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11150,7 +11178,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:11154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11200,7 +11228,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:11204: checking how to build a shared library" >&5 +echo "configure:11232: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -11291,10 +11319,10 @@ for ac_func in dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11295: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11298 "configure" +echo "configure:11323: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11326 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11317,7 +11345,7 @@ ; return 0; } EOF -if { (eval echo configure:11321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11353,11 +11381,11 @@ fi cat > conftest.$ac_ext <<EOF -#line 11357 "configure" +#line 11385 "configure" #include "confdefs.h" int main(int c,char *v[]){return 0;} EOF -if { (eval echo configure:11361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:11389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else
--- a/configure.in Mon Aug 13 10:33:19 2007 +0200 +++ b/configure.in Mon Aug 13 10:34:13 2007 +0200 @@ -90,7 +90,7 @@ $3 ])dnl fi -rm -fr conftest*]) +rm -fr conftest*])dnl AC_TRY_RUN_NATIVE dnl Avoid spurious cross-compiling warnings from AC_TRY_RUN @@ -108,7 +108,7 @@ [#define] $1 ifelse($#, 2, [$2], 1) EOF } -]) +])dnl AC_DEFINE define([AC_DEFINE_UNQUOTED], [{ test "$extra_verbose" = "yes" && cat << EOF @@ -118,8 +118,7 @@ [#define] $1 ifelse($#, 2, [$2], 1) EOF } -]) - +])dnl AC_DEFINE_UNQUOTED dnl redefine AC_CHECK_LIB in accordance with our own value of ac_link dnl Add in extra kludgy check to support with_dnet=no @@ -138,7 +137,7 @@ AC_CHECK_LIB_ORIG_HACKED([$1],[$2],[$3],[$4],[$5], [$6]) [ifelse([$1],dnet,[fi ])]dnl -) +)dnl AC_CHECK_LIB define([AC_CHECK_LIB_ORIG_HACKED], [ifelse([$5],,AC_MSG_CHECKING([for $2 in -l$1]), @@ -183,7 +182,7 @@ ifelse([$4], , , [$4 ])dnl fi -]) +])dnl AC_CHECK_LIB_ORIG_HACKED dnl AC_LANG_C() @@ -201,7 +200,7 @@ ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&AC_FD_CC' ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC' cross_compiling=no -]) +]) dnl AC_LANG_C dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n dnl So we use the following instead. @@ -210,14 +209,14 @@ T="" for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done $1="$T" -])dnl +])dnl XE_SPACE dnl XE_ADD_OBJS(foo.o ...) define([XE_ADD_OBJS], [extra_objs="$extra_objs [$1]" && dnl if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"[$1]\"" - fi]) + fi])dnl XE_ADD_OBJS dnl XE_APPEND(value, varname) define([XE_APPEND], @@ -235,6 +234,27 @@ dnl dashes changed to underlines. define([AC_INIT_PARSE_ARGS],[ + +dnl Get sane consistent behavior from various shells +dnl Avoid losing with weird user CDPATHs + +if test -n "$ZSH_VERSION"; then + dnl zsh's Bourne shell emulation options + setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO + setopt GLOB_SUBST NO_HUP INTERACTIVE_COMMENTS KSH_ARRAYS NO_MULTIOS NO_NOMATCH + setopt RM_STAR_SILENT POSIX_BUILTINS SH_FILE_EXPANSION SH_GLOB SH_OPTION_LETTERS + setopt SH_WORD_SPLIT BSD_ECHO IGNORE_BRACES + dnl zsh-3.1-beta drops core on the following + dnl unset CDPATH + if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi +elif test -n "$BASH_VERSION"; then + dnl Use Posix mode with bash + set -o posix + unset CDPATH +else + if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi +fi + dnl Initialize some variables set by options. dnl The variables have the same names as the options, with dnl dashes changed to underlines. @@ -254,15 +274,6 @@ verbose= x_includes=NONE x_libraries=NONE -CDPATH=.; export CDPATH - -dnl Allow this script to work with zsh, by setting sh emulation options -if test -n "$ZSH_VERSION"; then - setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO - setopt GLOB_SUBST NO_HUP INTERACTIVE_COMMENTS KSH_ARRAYS NO_MULTIOS NO_NOMATCH - setopt RM_STAR_SILENT POSIX_BUILTINS SH_FILE_EXPANSION SH_GLOB SH_OPTION_LETTERS - setopt SH_WORD_SPLIT BSD_ECHO IGNORE_BRACES -fi dnl Installation directory options. dnl These are left unexpanded so users can "make install exec_prefix=/foo" @@ -289,7 +300,8 @@ MFLAGS= MAKEFLAGS= dnl Maximum number of lines to put in a shell here document. ac_max_here_lines=12 -])dnl +])dnl AC_INIT_PARSE_ARGS + AC_INIT(src/lisp.h)dnl AC_CONFIG_HEADER(src/config.h lwlib/config.h) dnl Remove any more than one leading "." element from the path name. @@ -787,11 +799,23 @@ fi if test "$use_minimal_tagbits" = "no"; then test "$with_dlmalloc" = "yes" && \ - USAGE_ERROR(--with-dlmalloc=yes requires --use-minimal-tagbits=yes) + USAGE_ERROR("--with-dlmalloc requires --use-minimal-tagbits") with_dlmalloc=no fi -dnl# Ignore useless run-in-place flag +dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2) +define([XE_CHECK_FEATURE_DEPENDENCY], +[if test "$with_$1 $with_$2" = "yes no"; then + USAGE_ERROR("--with-$1 requires --with-$2") +elif test "$with_$2" = "no" ; then with_$1=no +elif test "$with_$1" = "yes"; then with_$2=yes +fi +]) + +dnl CDE requires tooltalk +XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk) + +dnl Ignore useless run-in-place flag if test "$run_in_place" = "yes"; then AC_MSG_WARN("The --run-in-place option is ignored because it is unnecessary.") fi @@ -1489,10 +1513,10 @@ dnl Sun Development environment support test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias +XE_CHECK_FEATURE_DEPENDENCY(workshop, tooltalk) if test "$with_workshop" = "yes"; then AC_DEFINE(SUNPRO) XE_ADD_OBJS(sunpro.o) - with_tooltalk=yes fi if test "$with_clash_detection" = "yes"; then @@ -1585,7 +1609,7 @@ [#]define [$1]ifelse([$3],,, [ "$3"]) [#]endif configure___ [$2]=[$1] -]) +])dnl CPP_to_sh dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR) define([CPP_boolean_to_sh], @@ -1594,30 +1618,24 @@ [#]else configure___ [$2]=no [#]endif -]) - - -echo > $tempcname - -echo ' +])dnl CPP_boolean_to_sh + +cat > $tempcname <<EOF #define NOT_C_CODE #define C_SWITCH_SITE #define C_SWITCH_X_SITE #define LD_SWITCH_SITE #define LD_SWITCH_X_SITE #define LD_SWITCH_X_SITE_AUX -#define OS_RELEASE '$os_release' -#include "'$srcdir'/src/'$opsysfile'" -#include "'$srcdir'/src/'$machfile'" +#define OS_RELEASE $os_release +#include "$srcdir/src/$opsysfile" +#include "$srcdir/src/$machfile" CPP_to_sh(LIBS_MACHINE, libs_machine) CPP_to_sh(LIBS_SYSTEM, libs_system) CPP_to_sh(LIBS_TERMCAP, libs_termcap) CPP_to_sh(LIB_STANDARD, libs_standard) -' >> $tempcname -echo ' - CPP_to_sh(OBJECTS_MACHINE, objects_machine) CPP_to_sh(OBJECTS_SYSTEM, objects_system) @@ -1631,14 +1649,11 @@ CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c) -' >> $tempcname -echo ' - #ifdef ORDINARY_LINK -#define LD "$(CC) $(CFLAGS)" +#define LD "\$(CC) \$(CFLAGS)" #else /* no ORDINARY LINK */ #ifdef COFF_ENCAPSULATE -#define LD "$(CC) -nostdlib" +#define LD "\$(CC) -nostdlib" #else /* not COFF_ENCAPSULATE */ #ifdef LINKER #define LD LINKER @@ -1652,9 +1667,6 @@ CPP_to_sh(LIB_GCC, lib_gcc) CPP_to_sh(LD_TEXT_START_ADDR, ld_text_start_addr) -' >> $tempcname -echo ' - #if ! defined (ORDINARY_LINK) && !defined (START_FILES) #ifdef NO_REMAP #ifdef COFF_ENCAPSULATE @@ -1676,8 +1688,8 @@ CPP_boolean_to_sh(TERMINFO, have_terminfo) CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock) CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf) - -' >> $tempcname +EOF + dnl The value of CPP is a quoted variable reference, so we need to do this dnl to get its actual value... CPP=`eval "echo $CPP"` @@ -2517,22 +2529,32 @@ AC_SUBST(dnd_objs) dnl Autodetect tooltalk -test "$with_cde" = "yes" && with_tooltalk=yes # CDE requires tooltalk if test "$with_tooltalk" != "no" ; then dnl autodetect the location of tt_c.h dnl tt_c.h might be in Tt or desktop include directories for dir in "" "Tt/" "desktop/" ; do - AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h" && break) + AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break) done - test -z "$tt_c_h_path" && with_tooltalk=no + if test -z "$tt_c_h_path"; then + if test "$with_tooltalk" = "yes"; then + USAGE_ERROR("Unable to find required tooltalk header files.") + fi + with_tooltalk=no + fi fi if test "$with_tooltalk" != "no" ; then for extra_libs in "" "-lI18N -lce" "-lcxx"; do AC_CHECK_LIB(tt, tt_message_create, - with_tooltalk=yes tt_libs="-ltt $extra_libs"; break, [:],$extra_libs) + tt_libs="-ltt $extra_libs"; break, [:],$extra_libs) done + if test -z "$tt_libs"; then + if test "$with_tooltalk" = "yes"; then + USAGE_ERROR("Unable to find required tooltalk libraries.") + fi + with_tooltalk=no + fi fi -test -z "$with_tooltalk" && with_tooltalk=no +test -z "$with_tooltalk" && with_tooltalk=yes if test "$with_tooltalk" = "yes"; then AC_DEFINE(TOOLTALK) AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path") @@ -2914,8 +2936,10 @@ AC_DEFINE(HAVE_WNN) XE_PREPEND(-lwnn, libs_x) XE_ADD_OBJS(mule-wnnfns.o) - AC_CHECK_LIB(wnn, jl_fi_dic_list, with_wnn6=yes) - test "$with_wnn6" = "yes" && AC_DEFINE(WNN6) + if test "$with_wnn6" != "no"; then + AC_CHECK_LIB(wnn, jl_fi_dic_list, with_wnn6=yes) + test "$with_wnn6" = "yes" && AC_DEFINE(WNN6) + fi fi dnl Autodetect canna @@ -3163,6 +3187,7 @@ [AC_MSG_RESULT(no)]) AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h") AC_TRY_LINK([ +#include <sys/types.h> #include <netinet/in.h> ], [static struct ip_mreq x;],
--- a/etc/NEWS Mon Aug 13 10:33:19 2007 +0200 +++ b/etc/NEWS Mon Aug 13 10:34:13 2007 +0200 @@ -43,7 +43,10 @@ ** Using the new `-private' option, you can make XEmacs use a private colormap. -** The `imenu' package has been ported to XEmacs. +** The `imenu' package has been ported to XEmacs and is available as a +package. + +** Horizontally split windows are now draggable. ** `echo-keystrokes' can now be a floating-point number, so that you can set it to intervals shorter than one second. @@ -53,7 +56,7 @@ ** The new command `center-to-window-line' works like `recenter' (bound to `C-l'), only it does not redisplay the whole display area. -** The `M-.' command will now first search through exact tags matches, +** The M-. command will now first search through exact tags matches, and then through inexact matches, as one would expect. ** The new variable `user-full-name' can be used to customize one's @@ -87,9 +90,26 @@ ChangeLogs instead, customize the value of `add-log-time-format' variable. +** The new command `zap-up-to-char' is now available. It is similar +to `zap-to-char', except that it does not delete the searched-for +character. It is not bound to a key by default. + +** You can now store a number into a register with `C-u NUMBER C-x r n' +REG, increment it by INC with `C-u INC C-x r + REG' (to increment by +one, omit C-u INC), and insert it in the buffer with `C-x r g REG'. +This is useful for writing keyboard macros. + +** The M-: command, when given a prefix argument, will now insert its +result to the current buffer. + +** The `C-h c' command, when given a prefix argument, will now insert +the message into the current buffer. + ** XEmacs/Mule (internationalization) changes. -*** Mule support now works on TTY's. #### What, where, how? +*** Mule support now works on TTY's. Use `set-terminal-coding-system' +and `set-keyboard-coding-system' to specify the coding system of your +display and keyboard. *** Egg/SJ3 input method is now officially supported. Quail and Egg/Skk have been available through the generalized Leim since 20.3. @@ -99,6 +119,14 @@ or the native C libraries support Japanese localization. This has been available since 20.3, only it hasn't been announced before. +** Jamie Zawinski's `gdb-highlight' program is now distributed with +the `debug' package. gdb-highlight makes most objects printed in a +gdb buffer be mouse-sensitive: as text shows up in the buffer, it is +parsed, and objects which are recognized have context-sensitive +commands attached to them. To use it, add the following to `.emacs': + + (add-hook 'gdb-mode-hook '(lambda () (require 'gdb-highlight))) + ** C mode changes *** Multiline macros are now handled, both as they affect indentation, @@ -166,15 +194,32 @@ ** It is now possible to build XEmacs with support for 31-bit Lisp integers (normally, Lisp integers are only 28 bits wide on 32-bit machines.) Configure with --use-minimal-tagbits to test. With this -change, the maximum buffer size on 32-bit machines is bumped from 128M -to 1G. This setting will be the default in a future XEmacs version. - -** When the variable focus-follows-mouse is non-nil, `select-frame' no -longer permanently selects a different frame. The frame selection is -temporary and is reverted when the current command terminates, much -like the buffer selected by `set-buffer'. The `other-frame' command -(`C-x 5 o') is unaffected by `focus-follows-mouse', and its behaviour -is unchanged. +change, the maximum buffer size on 32-bit machines is increased from +128M to 1G. This setting will be made default in a future XEmacs +version. + +** Frame focus management changes. + +*** When the variable focus-follows-mouse is non-nil, `select-frame' +no longer permanently selects a different frame. The frame selection +is temporary and is reverted when the current command terminates, much +like the buffer selected by `set-buffer'. This is the same as in FSF +Emacs. + +*** The new function `focus-frame' sets the window system focus to +FRAME (and selects it), regardless of the value of +`focus-follows-mouse'. Doing this is not well behaved, so be +absolutely sure that you want this. + +The code that uses `select-frame' only to get the window manager focus +should be changed to use `set-frame-focus' instead, so that they keep +working when `focus-follows-mouse' is non-nil. + +*** The special forms `save-selected-frame' and `with-selected-frame' +can now be used to temporarily change selected frame. + +*** The behavior of `other-frame' command (`C-x 5 o') is unaffected by +these changes. ** It is now possible to build XEmacs with LDAP support You need to install a LDAP library first. The following have been @@ -184,8 +229,8 @@ - LDAP SDK 1.0 from Netscape Corp. (http://developer.netscape.com) -** The arithmetic comparison functions <, >, =, /= now accept 1 or -more arguments. +** The arithmetic comparison functions <, >, =, /= now accept a +variable number of arguments. This means that if you want to test whether A < B < C, you can write it as (< A B C) instead of (and (< A B) (< B C)). Likewise, @@ -207,19 +252,39 @@ #<hashtable size 2/13 data (key1 value1 key2 value2) 0x874d> +** The new specifiers `vertical-scrollbar-visible-p' and +`horizontal-scrollbar-visible-p' may be used to control scrollbar +visibility. Previously, the only way to toggle scrollbar visibility +was to set a scrollbar's size to 0. This method is still supported +for backward compatibility. + +** The new specifiers `scrollbar-on-left-p' and `scrollbar-on-top-p' +may be used to control the position of the vertical and horizontal +toolbar. Previously, their position could be changed only through the +use of X resources. + ** When profiling is in effect, a call-count of all recorded functions is now calculated. This information is stored in `call-count-profile-table', and is utilized by `profile-results' as well as the new function `profile-call-count-results'. +** It is now an error to change the value of a symbol whose name +starts with a colon, if it is interned in the standard obarray. + +However, setting such a symbol to its proper value, which is that +symbol itself, is not an error. This is for the sake of programs that +support pre-19.12 XEmacs and pre-20 GNU Emacs by explicitly setting +these variables to themselves. + +** The `concat' function no longer accepts integer arguments. + ** The new function `string' concatenates all its argument characters and returns the resulting string. This is consistent with other functions, like `list', `vector', etc. -** The `load-average' function now accepts a USE-FLOATS argument -which, when non-nil, means to use floats instead of integers -multiplied by 100. At a future date, `load-average' will use floats -by default. +** The function load-average now accepts an optional argument +USE-FLOATS. If it is non-nil, the load average values are returned as +floating point numbers, rather than as integers to be divided by 100. ** The `make-event' function now supports the TYPE and PLIST arguments, which can be used to create various events from Lisp. See @@ -239,6 +304,12 @@ ** The new `lwarn' function, analogous to `lmessage', allows printing a formatted warning, with a non-default CLASS or LABEL. +** The new function `split-path' can now be used to explode the +components of a colon-separated search path into a list. + + (split-path "foo:bar") + => ("foo" "bar") + ** Specifiers and symbols whose value is a specifier are now allowed as modeline specifications.
--- a/lib-src/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,3 +1,16 @@ +1998-05-11 Martin Buchholz <martin@xemacs.org> + + * Makefile.in.in: + - Adjust for luser's CDPATH being set to something weird. + - Take into account bash 2.02's tendency to print the cwd when + using CDPATH. Always use `cd ./foo' instead of `cd foo'. + - fix the run-temacs target to use $(DUMPENV) + - fix the run-puremacs target to use $(DUMPENV) + - fix the `depend' target to properly $(RM) the right files + - Generate a better TAGS file for XEmacs' lisp code using + hand-crafted regexps. + - Use standard coding conventions for modules/Makefile.in + 1998-05-07 Andy Piper <andyp@parallax.co.uk> * update-elc.sh: test x && y loses in the presence of set -e, use
--- a/lib-src/Makefile.in.in Mon Aug 13 10:33:19 2007 +0200 +++ b/lib-src/Makefile.in.in Mon Aug 13 10:34:13 2007 +0200 @@ -188,13 +188,13 @@ ${archlibdir}: all @echo; echo "Installing utilities run internally by XEmacs." ./make-path ${archlibdir} - if test `(cd ${archlibdir} && $(pwd))` != `$(pwd)`; then \ + if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \ for f in ${UTILITIES}; do \ (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \ done ; \ fi - if test `(cd ${archlibdir} && $(pwd))` \ - != `(cd ${srcdir} && $(pwd))`; then \ + if test "`(cd ${archlibdir} && $(pwd))`" \ + != "`(cd ${srcdir} && $(pwd))`"; then \ for f in ${SCRIPTS}; do \ (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \ done ; \
--- a/lib-src/add-little-package.sh Mon Aug 13 10:33:19 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#! /bin/sh -# add-little-package.sh --- Add single file package to Package Lisp Hierarchy -# Copyright (C) 1997 Free Software Foundation, Inc. - -# Author: SL Baur <steve@altair.xemacs.org> -# Maintainer: SL Baur <steve@altair.xemacs.org> -# Keywords: packages 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 file copies a single lisp file into an XEmacs package hierarchy and -## performs the necessary magic so that it will be autoloaded at the next -## dump. - -## Parameters: -## $1 -- Full path to an XEmacsen later than 20.3 -## $2 -- Full path to a lisp file to install -## $3 -- Full path to a lisp directory in an XEmacs package hierarchy -## This directory will be created if it does not exist. -## NOTE: the directory name should *not* end in a trailing slash - - -### Code: - -XEMACS="$1" -LISP_FILE="$2" -DEST_DIR="$3" - -# Test for valid XEmacs executable and valid input file -if [ ! -f "${LISP_FILE}" -o ! -x "${XEMACS}" ]; then - exit 1 -fi - -# Test for destination directory, creating if necessary -test -d "${DEST_DIR}" || mkdir "${DEST_DIR}" -test -d "${DEST_DIR}" || exit 1; - -cp -p "${LISP_FILE}" "${DEST_DIR}" || exit 1; -"${XEMACS}" -batch -no-site-file -f batch-byte-compile \ - "${DEST_DIR}/"`basename ${LISP_FILE}` - -# recompute autoloads ... -"${XEMACS}" -batch -no-site-file -l autoload \ - -f batch-update-directory "${DEST_DIR}" -# and bytecompile if one was created -if [ -f "${DEST_DIR}/auto-autoloads.el" ]; then - "${XEMACS}" -batch -no-site-file -f batch-byte-compile \ - "${DEST_DIR}"/auto-autoloads.el -fi - -# recompute custom-loads -"${XEMACS}" -batch -no-site-file -l cus-dep \ - -f Custom-make-dependencies "${DEST_DIR}" -# and bytecompile if one was created -if [ -f "${DEST_DIR}/custom-load.el" ]; then - "${XEMACS}" -batch -no-site-file -f batch-byte-compile \ - "${DEST_DIR}"/custom-load.el -fi - -exit 0 - -### add-little-package.sh ends here
--- a/lisp/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,3 +1,306 @@ +1998-05-16 Hrvoje Niksic <hniksic@srce.hr> + + * loadup.el (really-early-error-handler): Ditto. + + * update-elc.el: Ditto. + + * setup-paths.el (paths-construct-exec-path): Ditto. + + * make-docfile.el: Ditto. + + * find-paths.el (paths-decode-directory-path): Use split-path + instead of decode-path. + + * files.el (parse-colon-path): Update docstring reference. + +1998-05-15 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * msw-init.el: + * x-init.el: + Bind cut'n'paste keys to non window-system specific functions. + + * msw-select.el: New function mswindows-clear-clipboard. + mswindows-cut-copy-clipboard extended to handle clearing of the + selection and renamed to mswindows-cut-copy-clear-clipboard. + + * select.el: on mswindows devices delete-primary-selection + calls mswindows-clear-clipboard. + +1998-05-15 Hrvoje Niksic <hniksic@srce.hr> + + * simple.el (quoted-insert): Inhibit quit when using read-char. + + * cmdloop.el (read-char): Don't inhibit quit. + (read-char-exclusive): Ditto. + (read-char): Signal quit if quit-char was pressed. + (read-char-exclusive): Ditto. + (read-quoted-char): Return a character, not integer. + + * menubar-items.el (default-popup-menu): Use Andy's generic + selection code. + (default-popup-menu): Fix code. + +1998-05-14 Oliver Graf <ograf@fga.de> + + * dragdrop.el (dragdrop-function-widget): this time it's done + +1998-05-13 Oliver Graf <ograf@fga.de> + + * dumped-lisp.el: dragdrop.el now based on dragdrop-api feature + +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> + + * device.el (device-pixel-width): + (device-pixel-height): + (device-mm-width): + (device-mm-height): + (device-bitplanes): + (device-color-cells): Swapped parameters to device-system-metric + according to the interface change. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * mouse.el (default-mouse-motion-handler): Use new name of the + function event-over-vertical-divider-p. + Do not set E-W arrow cursor over the divider if + vertical-divider-draggable-p is nil in the window. + ([top-level]): Use new name for the variable + vertical-divider-map. + (drag-window-divider): Respect vertical-divider-draggable-p. + Variable name typo fixes. + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> + + * keymap.el (kbd): Define here; handle string constants and + others... + +1998-05-15 Christian Nybø <chr@mediascience.no> + + * simple.el (zap-up-to-char): New function. Behaves like `zap-to-char' + in Emacs 18. + +1998-05-13 Didier Verna <verna@inf.enst.fr> + + * mouse.el (drag-window-divider): give the vertical divider a + pressed look when dragging it. + +1998-05-13 Andy Piper <andyp@parallax.co.uk> + + * faces.el: predicate some more face operations on x or mswindows + not just x. + + * modeline.el: enable modeline coloring for mswindows. + +1998-05-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * minibuf.el (minibuffer-default): Added variable; compatible with + FSF Emacs. + (next-history-element): Used `minibuffer-default'. + +1998-05-12 Oliver Graf <ograf@fga.de> + + * dragdrop.el (dragdrop-function-widget): button and mods ok + arguments still look a bit strange + (dragdrop-compare-mods) created + (dragdrop-drop-do-functions) correctly checks for buttons and + modifiers + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> + + * setup-paths.el (paths-default-info-directories): Replace + path-separator with directory-sep-char. + + * files.el (path-separator): Don't define it here. + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> + + * update-elc.el: Ditto. + + * setup-paths.el (paths-construct-exec-path): Ditto. + + * make-docfile.el: Ditto. + + * loadup.el (really-early-error-handler): Ditto. + + * find-paths.el (paths-decode-directory-path): Use decode-path + instead of decode-path-internal. + + * files.el (parse-colon-path): Update docstring. + +1998-05-13 Hrvoje Niksic <hniksic@srce.hr> + + * subr.el (get-buffer-window-list): Make BUFFER optional. + + * window-xemacs.el (windows-of-buffer): Defalias to + get-buffer-window-list. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * disass.el: Fix maintainer keyword. + + * bytecomp.el (byte-compile-and-load-file): Autoload. + (byte-compile-buffer): Ditto. + + * lisp-mode.el (eval-last-sexp): Skip ` in `variable' so that the + value is returned, not the name. + (lisp-imenu-generic-expression): Enable it. + (lisp-mode-variables): Ditto. + (lisp-indent-offset): Change defconst to defvar. + (lisp-indent-function): Ditto. + (lisp-body-indent): Ditto. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * modeline.el: Use zap-last-kbd-macro-event. + + * lisp-mode.el (eval-interactive): If eval-interactive-verbose is + nil, don't attempt to do anything with messages. + (eval-last-sexp): Use `letf' for clarity. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * startup.el: It's still `.emacs', not yet `.xemacs/init.el'. + +1998-05-11 Martin Buchholz <martin@xemacs.org> + + * buff-menu.el: + * lisp-mode.el: + * obsolete.el: + Change empty docstrings into no doc strings at all. + Fix bogus FSF-format docstrings. + * etags.el: Fix docstring. + +1998-05-11 Jan Vroonhof <vroonhof@math.ethz.ch> + + * package-get.el (package-get): Use internal md5 + +1998-05-13 SL Baur <steve@altair.xemacs.org> + + * about.el (about-xemacs): Correct abuse of concat. + +1998-05-11 SL Baur <steve@altair.xemacs.org> + + * info.el (Info-mode): Use easymenu. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * apropos.el (apropos): Don't use concat with integers. + + * cmdloop.el (describe-last-error): Handle the case when no error + was seen gracefully. + + * apropos.el (apropos-print): Use with-displaying-help-buffer as + defun. + (apropos-describe-plist): Ditto. + + * help.el (with-displaying-help-buffer): Revert to a defun. + (describe-key): Use it as defun. + (describe-mode): Ditto. + (describe-bindings): Ditto. + (describe-prefix-bindings): Ditto. + (describe-installation): Ditto. + (view-lossage): Ditto. + (describe-function): Ditto. + (describe-variable): Ditto. + (describe-syntax): Ditto. + +1998-05-11 Oliver Graf <ograf@fga.de> + + * dragdrop.el: changed order of require/provide + (dragdrop-drop-mime-default) changed to new calling conventions + (dragdrop-drop-do-functions) changed to new calling conventions + (dragdrop-function-widget) this one needs more work... + +1998-05-10 Oliver Graf <ograf@fga.de> + + * about.el: another small change in my entry + * dragdrop.el (dragdrop-drop-log-function): logging added + plus customizations + changed interface to handler functions. now called with event + and object + +1998-05-12 Kirill M. Katsnelson <kkm@kis.ru> + + * glyphs.el (divider-pointer-glyph): Declared new glyph, + E-W arrow pointer displayed over draggable dividers. + + * mouse.el (default-mouse-motion-handler): Show it when + appropriate. + (drag-window-divider): Added. + ([top-level]): Initialized window-divider-map with a keymap + binding the above function to left button down event. + + * x-mouse.el (x-init-pointer-shape): Initialize + divider-pointer-glyph from Cursor.dividerPointer, or use default + E-W double arrow. + +1998-04-30 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> + + * toolbar-items.el (toolbar-compile): respect should-use-dialog-box-p + +1998-05-11 Hrvoje Niksic <hniksic@srce.hr> + + * simple.el (count-words-buffer): Don't query for buffer. + (count-lines-buffer): Ditto. + +1998-05-11 Jan Vroonhof <vroonhof@math.ethz.ch> + + * help.el (where-is): add optional insert argument. + +1998-05-11 Hrvoje Niksic <hniksic@srce.hr> + + * help.el (describe-key-briefly): New argument INSERT. + + * simple.el (eval-expression): New optional argument; synch with + FSF 20.3. + + * keydefs.el (global-map): Add new register bindings. + + * register.el: Synched with FSF 20.3. + +1998-05-11 Jan Vroonhof <vroonhof@math.ethz.ch> + + * window-xemacs.el (recenter): all arguments are optional. + +1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> + + * device.el: (device-pixel-width): Reflected name/parameters + change to device-system-metric. + (device-pixel-height): Ditto. + (device-mm-width): Ditto. + (device-mm-height): Ditto. + (device-bitplanes): Ditto. + (device-color-cells): Ditto. + +1998-05-10 Hrvoje Niksic <hniksic@srce.hr> + + * cl-extra.el (cl-float-limits): Removed; move code to top-level. + + * cl.el (most-positive-fixnum): Document. + (most-negative-fixnum): Ditto. + + * cus-dep.el: Updated comment. + + * cus-load.el: Use most-positive-fixnum as the gc-inhibiting + constant. + + * cus-load.el (custom-put): Removed. + + * files.el (after-find-file): Just resignal quit instead of + signaling "canceled". + +1998-05-10 Hrvoje Niksic <hniksic@srce.hr> + + * frame.el (other-frame): Use `focus-frame' instead of + select-frame kludges. + + * lisp-mode.el: Update lisp-indent-function for + save-selected-frame and with-selected-frame. + + * frame.el (save-selected-frame): New macro. + (with-selected-frame): Ditto. + (other-frame): Use `set-frame-focus'. + 1998-05-06 Oliver Graf <ograf@fga.de> * dragdrop.el (dragdrop-drop-dispatch): changed to new list concept
--- a/lisp/about.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/about.el Mon Aug 13 10:34:13 2007 +0200 @@ -205,8 +205,9 @@ :format "%t" :tag-glyph xemacs-logo) (widget-insert "\n") - (let* ((emacs-short-version (concat emacs-major-version - "." emacs-minor-version)) + (let* ((emacs-short-version (format "%d.%d" + emacs-major-version + emacs-minor-version)) (emacs-about-version (format "version %s; Apr 1998" emacs-short-version))) (widget-insert (about-center emacs-about-version)) @@ -1186,8 +1187,7 @@ Linux user and proud of it. XEmacs hacker light. Maintainer of the RPM package.\n") (about-show-linked-info 'ograf "\ -Is currently working on the integration of OffiX and CDE drag-and-drop -into the event system of XEmacs.\n") +Author of the XEmacs Drag'n'Drop API.\n") (about-show-linked-info 'juhp "\ Author of \"find-func.el\".\n") (about-show-linked-info 'jason "\
--- a/lisp/apropos.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/apropos.el Mon Aug 13 10:34:13 2007 +0200 @@ -241,7 +241,7 @@ (if (setq doc (symbol-plist symbol)) (if (eq (/ (length doc) 2) 1) (format "1 property (%s)" (car doc)) - (concat (/ (length doc) 2) " properties"))) + (format "%d properties" (/ (length doc) 2)))) (if (get symbol 'widget-type) (if (setq doc (documentation-property symbol 'widget-documentation t)) @@ -501,96 +501,98 @@ (setq apropos-label-face `(face ,apropos-label-face mouse-face highlight))) (let ((help-buffer-prefix-string "Apropos")) - (with-displaying-help-buffer apropos-regexp - (with-current-buffer standard-output - (run-hooks 'apropos-mode-hook) - (let ((p apropos-accumulator) - (old-buffer (current-buffer)) - symbol item point1 point2) - ;; XEmacs change from (if window-system - (if (device-on-window-system-p) - (progn - (princ "If you move the mouse over text that changes color,\n") - (princ (substitute-command-keys - "you can click \\[apropos-mouse-follow] to get more information.\n")))) - (princ (substitute-command-keys - "Type \\[apropos-follow] in this buffer to get full documentation.\n\n")) - (while (consp p) - (or (not spacing) (bobp) (terpri)) - (setq apropos-item (car p) - symbol (car apropos-item) - p (cdr p) - point1 (point)) - (princ symbol) ; print symbol name - (setq point2 (point)) - ;; Calculate key-bindings if we want them. - (and do-keys - (commandp symbol) - (indent-to 30 1) - (if (let ((keys - (save-excursion - (set-buffer old-buffer) - (where-is-internal symbol))) - filtered) - ;; Copy over the list of key sequences, - ;; omitting any that contain a buffer or a frame. - (while keys - (let ((key (car keys)) - (i 0) - loser) - (while (< i (length key)) - (if (or (framep (aref key i)) - (bufferp (aref key i))) - (setq loser t)) - (setq i (1+ i))) - (or loser - (setq filtered (cons key filtered)))) - (setq keys (cdr keys))) - (setq item filtered)) - ;; Convert the remaining keys to a string and insert. - (princ - (mapconcat - (lambda (key) - (setq key (key-description key)) - (if apropos-keybinding-face - (put-text-property 0 (length key) - 'face apropos-keybinding-face - key)) - key) - item ", ")) - (princ "Type ") - (princ "M-x") - (put-text-property (- (point) 3) (point) - 'face apropos-keybinding-face) - (princ (format " %s " (symbol-name symbol))) - (princ "RET") - (put-text-property (- (point) 3) (point) - 'face apropos-keybinding-face))) - (terpri) - ;; only now so we don't propagate text attributes all over - (put-text-property point1 point2 'item - (if (eval `(or ,@(cdr apropos-item))) - (car apropos-item) - apropos-item)) - (if apropos-symbol-face - (put-text-property point1 point2 'face apropos-symbol-face)) - (apropos-print-doc 'describe-function 1 - (if (commandp symbol) - "Command" - (if (apropos-macrop symbol) - "Macro" - "Function")) - do-keys) - (if (get symbol 'custom-type) - (apropos-print-doc 'customize-variable-other-window 2 - "User Option" do-keys) - (apropos-print-doc 'describe-variable 2 - "Variable" do-keys)) - (apropos-print-doc 'customize-other-window 6 "Group" do-keys) - (apropos-print-doc 'customize-face-other-window 5 "Face" do-keys) - (apropos-print-doc 'widget-browse-other-window 4 "Widget" do-keys) - (apropos-print-doc 'apropos-describe-plist 3 - "Plist" nil)))))) + (with-displaying-help-buffer + (lambda () + (with-current-buffer standard-output + (run-hooks 'apropos-mode-hook) + (let ((p apropos-accumulator) + (old-buffer (current-buffer)) + symbol item point1 point2) + ;; XEmacs change from (if window-system + (if (device-on-window-system-p) + (progn + (princ "If you move the mouse over text that changes color,\n") + (princ (substitute-command-keys + "you can click \\[apropos-mouse-follow] to get more information.\n")))) + (princ (substitute-command-keys + "Type \\[apropos-follow] in this buffer to get full documentation.\n\n")) + (while (consp p) + (or (not spacing) (bobp) (terpri)) + (setq apropos-item (car p) + symbol (car apropos-item) + p (cdr p) + point1 (point)) + (princ symbol) ; print symbol name + (setq point2 (point)) + ;; Calculate key-bindings if we want them. + (and do-keys + (commandp symbol) + (indent-to 30 1) + (if (let ((keys + (save-excursion + (set-buffer old-buffer) + (where-is-internal symbol))) + filtered) + ;; Copy over the list of key sequences, + ;; omitting any that contain a buffer or a frame. + (while keys + (let ((key (car keys)) + (i 0) + loser) + (while (< i (length key)) + (if (or (framep (aref key i)) + (bufferp (aref key i))) + (setq loser t)) + (setq i (1+ i))) + (or loser + (setq filtered (cons key filtered)))) + (setq keys (cdr keys))) + (setq item filtered)) + ;; Convert the remaining keys to a string and insert. + (princ + (mapconcat + (lambda (key) + (setq key (key-description key)) + (if apropos-keybinding-face + (put-text-property 0 (length key) + 'face apropos-keybinding-face + key)) + key) + item ", ")) + (princ "Type ") + (princ "M-x") + (put-text-property (- (point) 3) (point) + 'face apropos-keybinding-face) + (princ (format " %s " (symbol-name symbol))) + (princ "RET") + (put-text-property (- (point) 3) (point) + 'face apropos-keybinding-face))) + (terpri) + ;; only now so we don't propagate text attributes all over + (put-text-property point1 point2 'item + (if (eval `(or ,@(cdr apropos-item))) + (car apropos-item) + apropos-item)) + (if apropos-symbol-face + (put-text-property point1 point2 'face apropos-symbol-face)) + (apropos-print-doc 'describe-function 1 + (if (commandp symbol) + "Command" + (if (apropos-macrop symbol) + "Macro" + "Function")) + do-keys) + (if (get symbol 'custom-type) + (apropos-print-doc 'customize-variable-other-window 2 + "User Option" do-keys) + (apropos-print-doc 'describe-variable 2 + "Variable" do-keys)) + (apropos-print-doc 'customize-other-window 6 "Group" do-keys) + (apropos-print-doc 'customize-face-other-window 5 "Face" do-keys) + (apropos-print-doc 'widget-browse-other-window 4 "Widget" do-keys) + (apropos-print-doc 'apropos-describe-plist 3 + "Plist" nil))))) + apropos-regexp)) (prog1 apropos-accumulator (setq apropos-accumulator ())))) ; permit gc @@ -668,18 +670,20 @@ (defun apropos-describe-plist (symbol) "Display a pretty listing of SYMBOL's plist." (let ((help-buffer-prefix-string "Apropos-plist")) - (with-displaying-help-buffer (symbol-name symbol) - (run-hooks 'apropos-mode-hook) - (princ "Symbol ") - (prin1 symbol) - (princ "'s plist is\n (") - (with-current-buffer standard-output - (if apropos-symbol-face - (put-text-property 8 (- (point) 14) 'face apropos-symbol-face))) - (princ (apropos-format-plist symbol "\n ")) - (princ ")") - (terpri) - (print-help-return-message)))) + (with-displaying-help-buffer + (lambda () + (run-hooks 'apropos-mode-hook) + (princ "Symbol ") + (prin1 symbol) + (princ "'s plist is\n (") + (with-current-buffer standard-output + (if apropos-symbol-face + (put-text-property 8 (- (point) 14) 'face apropos-symbol-face))) + (princ (apropos-format-plist symbol "\n ")) + (princ ")") + (terpri) + (print-help-return-message)) + (symbol-name symbol)))) (provide 'apropos) ; XEmacs
--- a/lisp/buff-menu.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/buff-menu.el Mon Aug 13 10:34:13 2007 +0200 @@ -66,7 +66,7 @@ (defvar Buffer-menu-buffer-column 4) -(defvar Buffer-menu-mode-map nil "") +(defvar Buffer-menu-mode-map nil) (if Buffer-menu-mode-map ()
--- a/lisp/bytecomp.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/bytecomp.el Mon Aug 13 10:34:13 2007 +0200 @@ -32,9 +32,10 @@ ;;; Commentary: -;; The Emacs Lisp byte compiler. This crunches lisp source into a sort -;; of p-code which takes up less space and can be interpreted faster. -;; The user entry points are byte-compile-file and byte-recompile-directory. +;; The Emacs Lisp byte compiler. This crunches lisp source into a +;; sort of p-code which takes up less space and can be interpreted +;; faster. The user entry points are byte-compile-file, +;; byte-recompile-directory and byte-compile-buffer. ;;; Code: @@ -1566,6 +1567,8 @@ t))) ;; RMS comments the next two out. + +;;;###autoload (defun byte-compile-and-load-file (&optional filename) "Compile a file of Lisp code named FILENAME into a file of byte code, and then load it. The output file's name is made by appending \"c\" to @@ -1576,16 +1579,17 @@ (let ((current-prefix-arg '(4))) (call-interactively 'byte-compile-file)))) +;;;###autoload (defun byte-compile-buffer (&optional buffer) "Byte-compile and evaluate contents of BUFFER (default: the current buffer)." (interactive "bByte compile buffer: ") (setq buffer (if buffer (get-buffer buffer) (current-buffer))) - (message "Compiling %s..." (buffer-name buffer)) + (message "Compiling %s..." buffer) (let* ((filename (or (buffer-file-name buffer) - (concat "#<buffer " (buffer-name buffer) ">"))) - (byte-compile-current-file buffer)) + (prin1-to-string buffer))) + (byte-compile-current-file buffer)) (byte-compile-from-buffer buffer filename t)) - (message "Compiling %s...done" (buffer-name buffer)) + (message "Compiling %s...done" buffer) t) ;;; compiling a single function
--- a/lisp/cl-extra.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/cl-extra.el Mon Aug 13 10:34:13 2007 +0200 @@ -516,40 +516,45 @@ (defvar float-epsilon) (defvar float-negative-epsilon) +;;(defun cl-float-limits () +(or most-positive-float + (not (featurep 'lisp-float-type)) + (let ((x '2e0) y z) + ;; Find maximum exponent (first two loops are optimizations) + (while (cl-finite-do '* x x) (setq x (* x x))) + (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2)))) + (while (cl-finite-do '+ x x) (setq x (+ x x))) + (setq z x y (/ x 2)) + ;; Now fill in 1's in the mantissa. + (while (and (cl-finite-do '+ x y) (/= (+ x y) x)) + (setq x (+ x y) y (/ y 2))) + (setq most-positive-float x + most-negative-float (- x)) + ;; Divide down until mantissa starts rounding. + (setq x (/ x z) y (/ 16 z) x (* x y)) + (while (condition-case err (and (= x (* (/ x 2) 2)) (> (/ y 2) 0)) + (arith-error nil)) + (setq x (/ x 2) y (/ y 2))) + (setq least-positive-normalized-float y + least-negative-normalized-float (- y)) + ;; Divide down until value underflows to zero. + (setq x (/ 1 z) y x) + (while (condition-case err (> (/ x 2) 0) (arith-error nil)) + (setq x (/ x 2))) + (setq least-positive-float x + least-negative-float (- x)) + (setq x '1e0) + (while (/= (+ '1e0 x) '1e0) (setq x (/ x 2))) + (setq float-epsilon (* x 2)) + (setq x '1e0) + (while (/= (- '1e0 x) '1e0) (setq x (/ x 2))) + (setq float-negative-epsilon (* x 2)))) +;;) + (defun cl-float-limits () - (or most-positive-float (not (numberp '2e1)) - (let ((x '2e0) y z) - ;; Find maximum exponent (first two loops are optimizations) - (while (cl-finite-do '* x x) (setq x (* x x))) - (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2)))) - (while (cl-finite-do '+ x x) (setq x (+ x x))) - (setq z x y (/ x 2)) - ;; Now fill in 1's in the mantissa. - (while (and (cl-finite-do '+ x y) (/= (+ x y) x)) - (setq x (+ x y) y (/ y 2))) - (setq most-positive-float x - most-negative-float (- x)) - ;; Divide down until mantissa starts rounding. - (setq x (/ x z) y (/ 16 z) x (* x y)) - (while (condition-case err (and (= x (* (/ x 2) 2)) (> (/ y 2) 0)) - (arith-error nil)) - (setq x (/ x 2) y (/ y 2))) - (setq least-positive-normalized-float y - least-negative-normalized-float (- y)) - ;; Divide down until value underflows to zero. - (setq x (/ 1 z) y x) - (while (condition-case err (> (/ x 2) 0) (arith-error nil)) - (setq x (/ x 2))) - (setq least-positive-float x - least-negative-float (- x)) - (setq x '1e0) - (while (/= (+ '1e0 x) '1e0) (setq x (/ x 2))) - (setq float-epsilon (* x 2)) - (setq x '1e0) - (while (/= (- '1e0 x) '1e0) (setq x (/ x 2))) - (setq float-negative-epsilon (* x 2)))) - nil) - + ;; No-op, defined for old code that calls this to setup the + ;; constants. + ) ;;; Sequence functions.
--- a/lisp/cl.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/cl.el Mon Aug 13 10:34:13 2007 +0200 @@ -364,14 +364,20 @@ (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) ;;; We use `eval' in case VALBITS differs from compile-time to load-time. -(defconst most-positive-fixnum (eval '(lsh -1 -1))) -(defconst most-negative-fixnum (eval '(- -1 (lsh -1 -1)))) +(defconst most-positive-fixnum (eval '(lsh -1 -1)) + "The integer closest in value to positive infinity.") +(defconst most-negative-fixnum (eval '(- -1 (lsh -1 -1))) + "The integer closest in value to negative infinity.") -;;; The following are actually set by cl-float-limits. -(defconst most-positive-float nil) -(defconst most-negative-float nil) -(defconst least-positive-float nil) -(defconst least-negative-float nil) +;;; The following are set by code in cl-extra.el +(defconst most-positive-float nil + "The float closest in value to positive infinity.") +(defconst most-negative-float nil + "The float closest in value to negative infinity.") +(defconst least-positive-float nil + "The positive float closest in value to 0.") +(defconst least-negative-float nil + "The negative float closest in value to 0.") (defconst least-positive-normalized-float nil) (defconst least-negative-normalized-float nil) (defconst float-epsilon nil)
--- a/lisp/cmdloop.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/cmdloop.el Mon Aug 13 10:34:13 2007 +0200 @@ -106,9 +106,12 @@ ((string-match "^ \\*" (buffer-name (current-buffer))) (bury-buffer)))) -;;#### This should really be a ring of last errors. +;; Someone wrote: "This should really be a ring of last errors." +;; +;; But why bother? This stuff is not all that necessary now that we +;; have message log, anyway. (defvar last-error nil - "#### Document me.") + "Object describing the last signaled error.") (defcustom errors-deactivate-region nil "*Non-nil means that errors will cause the region to be deactivated." @@ -154,10 +157,12 @@ (defun describe-last-error () "Redisplay the last error-message. See the variable `last-error'." (interactive) - (with-displaying-help-buffer - (lambda () - (princ "Last error was:\n" standard-output) - (display-error last-error standard-output)))) + (if last-error + (with-displaying-help-buffer + (lambda () + (princ "Last error was:\n" standard-output) + (display-error last-error standard-output))) + (message "No error yet"))) ;;#### Must be done later in the loadup sequence @@ -439,8 +444,10 @@ is most likely the wrong thing for you to be using: consider using the `next-command-event' function instead." (save-excursion - (let* ((inhibit-quit t) - (event (next-command-event))) + (let ((event (next-command-event))) + (or inhibit-quit + (and (event-matches-key-specifier-p event (quit-char)) + (signal 'quit nil))) (prog1 (or (event-to-character event) ;; Kludge. If the event we read was a mouse-release, ;; discard it and read the next one. @@ -456,10 +463,12 @@ The character typed is returned as an ASCII value. This is most likely the wrong thing for you to be using: consider using the `next-command-event' function instead." - (let ((inhibit-quit t) - event ch) + (let (event ch) (while (progn (setq event (next-command-event)) + (or inhibit-quit + (and (event-matches-key-specifier-p event (quit-char)) + (signal 'quit nil))) (setq ch (event-to-character event)) (deallocate-event event) (null ch))) @@ -470,37 +479,39 @@ digit, we read up to two more octal digits and return the character represented by the octal number consisting of those digits. Optional argument PROMPT specifies a string to use to prompt the user." - (save-excursion - (let ((count 0) (code 0) - (prompt (and prompt (gettext prompt))) - char event) - (while (< count 3) - (let ((inhibit-quit (zerop count)) + (let ((count 0) (code 0) done + (prompt (and prompt (gettext prompt))) + char event) + (while (and (not done) (< count 3)) + (let ((inhibit-quit (zerop count)) ;; Don't let C-h get the help message--only help function keys. (help-char nil) (help-form "Type the special character you want to use, or three octal digits representing its character code.")) - (and prompt (display-message 'prompt (format "%s-" prompt))) - (setq event (next-command-event) - char (or (event-to-character event nil nil t) - (error "key read cannot be inserted in a buffer: %S" - event))) - (if inhibit-quit (setq quit-flag nil))) - (cond ((null char)) - ((and (<= ?0 char) (<= char ?7)) - (setq code (+ (* code 8) (- char ?0)) - count (1+ count)) - (and prompt (display-message - 'prompt - (setq prompt (format "%s %c" prompt char))))) - ((> count 0) - (setq unread-command-event event - count 259)) - (t (setq code char count 259)))) + (and prompt (display-message 'prompt (format "%s-" prompt))) + (setq event (next-command-event) + char (or (event-to-character event nil nil t) + (signal 'error + (list "key read cannot be inserted in a buffer" + event)))) + (if inhibit-quit (setq quit-flag nil))) + (cond ((<= ?0 char ?7) + (setq code (+ (* code 8) (- char ?0)) + count (1+ count)) + (when prompt + (display-message 'prompt + (setq prompt (format "%s %c" prompt char))))) + ((> count 0) + (setq unread-command-event event + done t)) + (t (setq code (char-int char) + done t)))) + (int-char code) ;; Turn a meta-character into a character with the 0200 bit set. - (logior (if (/= (logand code ?\M-\^@) 0) 128 0) - (logand 255 code))))) +; (logior (if (/= (logand code ?\M-\^@) 0) 128 0) +; (logand 255 code)))) + )) (defun momentary-string-display (string pos &optional exit-char message) "Momentarily display STRING in the buffer at POS.
--- a/lisp/cus-dep.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/cus-dep.el Mon Aug 13 10:34:13 2007 +0200 @@ -55,28 +55,26 @@ ;; will not be generated. This means that the directories where ;; nothing has changed will be skipped. -;; The `custom-put' function, used by files generated by -;; `Custom-make-dependencies', is a specialized function that updates -;; a property (which must be a list of strings) with a new list of -;; strings, eliminating the duplicates. As it also adds an -;; appropriate entry to a custom hash-table, *do not* use it outside -;; of custom. Its inner workings can change anytime, without prior -;; notice. `custom-put' is defined in `cus-load.el'. +;; The `custom-add-loads' function, used by files generated by +;; `Custom-make-dependencies', updates the symbol's `custom-loads' +;; property (a list of strings) with a new list of strings, +;; eliminating the duplicates. Additionally, it adds the symbol to +;; `custom-group-hash-table'. It is defined in `cus-load.el'. ;; Example: -;; (custom-put 'foo 'custom-loads '("bar" "baz")) +;; (custom-add-loads 'foo 'custom-loads '("bar" "baz")) ;; (get 'foo 'custom-loads) ;; => ("bar" "baz") ;; -;; (custom-put 'foo 'custom-loads '("hmph" "baz" "quz")) +;; (custom-add-loads 'foo 'custom-loads '("hmph" "baz" "quz")) ;; (get 'foo 'custom-loads) ;; => ("bar" "baz" "hmph" "qux") ;; Obviously, this allows correct incremental loading of custom-load -;; files. This is not necessary under FSF (they use a simple `put'), -;; since they have only *one* file. With the advent of packages, we -;; cannot afford the same luxury. +;; files. This is not necessary under FSF (they simply use `put'), +;; since they have only one file with custom dependencies. With the +;; advent of packages, we cannot afford the same luxury. ;;; Code:
--- a/lisp/cus-load.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/cus-load.el Mon Aug 13 10:34:13 2007 +0200 @@ -35,7 +35,6 @@ (require 'custom) - (defun custom-add-loads (symbol list) "Update the custom-loads list of a symbol. This works by adding the elements from LIST to the SYMBOL's @@ -48,19 +47,11 @@ (put symbol 'custom-loads loads) (puthash symbol t custom-group-hash-table))) -;; custom-add-loads was named custom-put (and accepted different -;; arguments) during the 20.3 beta cycle. Support it for -;; compatibility. -(defun custom-put (symbol ignored list) - (custom-add-loads symbol list)) -(make-obsolete 'custom-put 'custom-add-loads) - - (message "Loading customization dependencies...") ;; Garbage-collection seems to be very intensive here, and it slows ;; things down. Nuke it. -(let ((gc-cons-threshold 10000000)) +(let ((gc-cons-threshold most-positive-fixnum)) (mapc (lambda (dir) (load (expand-file-name "custom-load" dir) t t)) load-path))
--- a/lisp/device.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/device.el Mon Aug 13 10:34:13 2007 +0200 @@ -65,31 +65,31 @@ (defun device-pixel-width (&optional device) "Return the width in pixels of DEVICE, or nil if unknown." - (let ((ds (device-system-metrics device 'size-device))) + (let ((ds (device-system-metric device 'size-device))) (and ds (car ds)))) (defun device-pixel-height (&optional device) "Return the height in pixels of DEVICE, or nil if unknown." - (let ((ds (device-system-metrics device 'size-device))) + (let ((ds (device-system-metric device 'size-device))) (and ds (cdr ds)))) (defun device-mm-width (&optional device) "Return the width in millimeters of DEVICE, or nil if unknown." - (let ((ds (device-system-metrics device 'size-device-mm))) + (let ((ds (device-system-metric device 'size-device-mm))) (and ds (car ds)))) (defun device-mm-height (&optional device) "Return the height in millimeters of DEVICE, or nil if unknown." - (let ((ds (device-system-metrics device 'size-device-mm))) + (let ((ds (device-system-metric device 'size-device-mm))) (and ds (cdr ds)))) (defun device-bitplanes (&optional device) "Return the number of bitplanes of DEVICE, or nil if unknown." - (device-system-metrics device 'num-bit-planes)) + (device-system-metric device 'num-bit-planes)) (defun device-color-cells (&optional device) "Return the number of color cells of DEVICE, or nil if unknown." - (device-system-metrics device 'num-color-cells)) + (device-system-metric device 'num-color-cells)) (defun make-x-device (&optional display) "Create a new device connected to DISPLAY."
--- a/lisp/dragdrop.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/dragdrop.el Mon Aug 13 10:34:13 2007 +0200 @@ -26,17 +26,18 @@ ;;; Commentary: -;; This file is dumped with XEmacs (when window system support is compiled in). +;; This file is dumped with XEmacs (when drag'n'drop support is compiled in). ;;; Code: -(provide 'dragdrop) - ;; we need mouse-set-point (require 'mouse) +(provide 'dragdrop) ;; I think this is a better name for the custom group ;; looks better in the menu and the group display as dragdrop +;; Anyway: is dragdrop- a good prefix for all this? +;; What if someone type drop<TAB> into the minibuffer? (defgroup drag-n-drop nil "Window system-independent drag'n'drop support." :group 'editing) @@ -54,27 +55,89 @@ :type 'boolean :group 'drag-n-drop) -(defcustom dragdrop-drop-functions '(dragdrop-drop-url-default - dragdrop-drop-mime-default) +;; the widget for editing the drop-functions +(define-widget 'dragdrop-function-widget 'list + "Widget for editing drop dispatch functions." + :args `((choice :tag "Function" + (function-item dragdrop-drop-url-default) + (function-item dragdrop-drop-mime-default) + (function-item dragdrop-drop-log-function) + (function :tag "Other" nil)) + (choice :tag "Button" :value t + (choice-item :tag "Ignore" t) + (choice-item 0) (choice-item 1) (choice-item 2) + (choice-item 3) (choice-item 4) (choice-item 5) + (choice-item 6) (choice-item 7)) + (radio-button-choice :tag "Modifiers" + (const :tag "Ignore Modifier Keys" t) + (checklist :greedy t + :format "Modifier Keys:\n%v" + :extra-offset 6 + (const shift) + (const control) + (const meta) + (const alt) + (const hyper) + (const super))) + (repeat :inline t :value nil :tag "Extra Function Arguments" + (sexp :tag "Arg" :value nil))) + :value '(nil t t)) + +;; button and widget selectors are still "shaky": +;; button may be a number or t (or nil?), t means "Ignore" +;; mods may be t or nil or a list of mod-syms, t means "Ignore" +;; but this seems to be a porblem for the widget, well perhaps I find +;; a solution... +(defcustom dragdrop-drop-functions '((dragdrop-drop-url-default t t) + (dragdrop-drop-mime-default t t)) "This is the standart drop function search list. -Each variable in this list is called with the drop data until -one of the functions return t, or the end of the list is reached." +Each element is a list of a function, a button selector, a modifier +selector and optional argumets to the function call. +The function must accept at least two arguments: first is the event +of the drop, second the object data, followed by any of the optional +arguments provided in this list. +The functions are called in order, until one returns t." :group 'drag-n-drop - :type '(repeat (choice (function-item dragdrop-drop-url-default) - (function-item dragdrop-drop-mime-default) - (function :tag "other")))) + :type '(repeat dragdrop-function-widget)) + +(defgroup dnd-debug nil + "Drag'n'Drop debugging options." + :group 'drag-n-drop) + +(defcustom dragdrop-drop-log nil + "If non-nil, every drop is logged. +The name of the buffer is set in the custom 'dragdrop-drop-log-name" + :group 'dnd-debug + :type 'boolean) + +(defcustom dragdrop-drop-log-name "*drop log buffer*" + "The name of the buffer used to log drops. +Set dragdrop-drop-log to non-nil to enable this feature." + :group 'dnd-debug + :type 'string) + +(defvar dragdrop-drop-log-buffer nil + "Buffer to log drops in debug mode.") (defun dragdrop-drop-dispatch (object) "This function identifies DROP type misc-user-events. -It tries to find out how to handle the dropped data by looking -for dragdrop-drop-functions in extents and variables." +It calls functions which will handle the drag." + (let ((event current-mouse-event)) + (and dragdrop-drop-log + (dragdrop-drop-log-function event object)) + (dragdrop-drop-find-functions event object))) + +(defun dragdrop-drop-find-functions (event object) + "Finds valid drop-handle functions and executes them to dispose the drop. +It does this by looking for extent-properties called 'dragdrop-drop-functions +and for variables named like this." (catch 'dragdrop-drop-is-done - (and (event-over-text-area-p current-mouse-event) + (and (event-over-text-area-p event) ;; let's search the extents (catch 'dragdrop-extents-done - (let ((window (event-window current-mouse-event)) - (pos (event-point current-mouse-event)) - (cpos (event-closest-point current-mouse-event)) + (let ((window (event-window event)) + (pos (event-point event)) + (cpos (event-closest-point event)) (buffer nil)) (or window (throw 'dragdrop-extents-done nil)) (or pos (setq pos cpos)) @@ -84,26 +147,90 @@ (while (not (eq ext nil)) (dragdrop-drop-do-functions (extent-property ext 'dragdrop-drop-functions) + event object) (setq ext (extent-at pos buffer 'dragdrop-drop-functions ext))))))) ;; now look into the variable dragdrop-drop-functions - (dragdrop-drop-do-functions dragdrop-drop-functions object))) + (dragdrop-drop-do-functions dragdrop-drop-functions event object))) -(defun dragdrop-drop-do-functions (drop-funs object) +(defun dragdrop-compare-mods (first-mods second-mods) + "Returns t if both first-mods and second-mods contain the same elements. +Order is not important." + (let ((moda (copy-sequence first-mods)) + (modb (copy-sequence second-mods))) + (while (and (not (eq moda ())) + (not (eq modb ()))) + (setq modb (delete (car moda) modb)) + (setq moda (delete (car moda) moda))) + (and (eq moda ()) + (eq modb ())))) + +(defun dragdrop-drop-do-functions (drop-funs event object) "Calls all functions in drop-funs with object until one returns t. Returns t if one of drop-funs returns t. Otherwise returns nil." - (while (not (eq drop-funs ())) - (and (funcall (car drop-funs) object) - (throw 'dragdrop-drop-is-done t)) - (setq drop-funs (cdr drop-funs))) + (let ((flist nil) + (button (event-button event)) + (mods (event-modifiers event))) + (while (not (eq drop-funs ())) + (setq flist (car drop-funs)) + (and (or (eq (cadr flist) t) + (= (cadr flist) button)) + (or (eq (caddr flist) t) + (dragdrop-compare-mods (caddr flist) modifiers)) + (apply (car flist) `(,event ,object ,@(cdddr flist))) + ;; (funcall (car flist) event object) + (throw 'dragdrop-drop-is-done t)) + (setq drop-funs (cdr drop-funs)))) nil) -(defun dragdrop-drop-url-default (object) +(defun dragdrop-drop-log-function (event object &optional message buffer) + "Logs any drops into a buffer. +If buffer is nil, it inserts the data into a buffer called after +dragdrop-drop-log-name. +If dragdrop-drop-log is non-nil, this is done automatically for each drop. +The function always returns nil." + (save-excursion + (cond ((buffer-live-p buffer) + (set-buffer buffer)) + ((stringp buffer) + (set-buffer (get-buffer-create buffer))) + ((buffer-live-p dragdrop-drop-log-buffer) + (set-buffer dragdrop-drop-log-buffer)) + (t + (setq dragdrop-drop-log-buffer (get-buffer-create dragdrop-drop-log-name)) + (set-buffer dragdrop-drop-log-buffer))) + (insert (format "* %s: %s\n" + (current-time-string) + (if message message "received a drop"))) + (insert (format " at %d,%d (%d,%d) with button %d and mods %s\n" + (event-x event) + (event-y event) + (event-x-pixel event) + (event-y-pixel event) + (event-button event) + (event-modifiers event))) + (insert (format " data is of type %s (%d %s)\n" + (cond ((eq (car object) 'dragdrop-URL) "URL") + ((eq (car object) 'dragdrop-MIME) "MIME") + (t "UNKNOWN")) + (length (cdr object)) + (if (= (length (cdr object)) 1) "element" "elements"))) + (let ((i 1) + (data (cdr object))) + (while (not (eq data ())) + (insert (format " Element %d: %S\n" + i (car data))) + (setq i (1+ i)) + (setq data (cdr data)))) + (insert "----------\n")) + nil) + +(defun dragdrop-drop-url-default (event object) "Default handler for dropped URL data. Finds files and URLs. Returns nil if object does not contain URL data." (cond ((eq (car object) 'dragdrop-URL) (let ((data (cdr object)) - (frame (event-channel current-mouse-event)) + (frame (event-channel event)) (x pop-up-windows)) (setq pop-up-windows nil) (while (not (eq data ())) @@ -126,13 +253,13 @@ t)) (t nil))) -(defun dragdrop-drop-mime-default (object) +(defun dragdrop-drop-mime-default (event object) "Default handler for dropped MIME data. Inserts text into buffer, creates MIME buffers for other types. Returns nil if object does not contain MIME data." (cond ((eq (car object) 'dragdrop-MIME) (let ((ldata (cdr object)) - (frame (event-channel current-mouse-event)) + (frame (event-channel event)) (x pop-up-windows) (data nil)) ;; how should this be handled??? @@ -150,13 +277,15 @@ (setq data (car ldata)) (if (and (listp data) (= (length data) 3) - (string= (car data) "text/plain") - (event-over-text-area-p current-mouse-event)) - (let ((window (event-window current-mouse-event))) + (listp (car data)) + (stringp (caar data)) + (string= (caar data) "text/plain") + (event-over-text-area-p event)) + (let ((window (event-window event))) (and window (select-window window)) (and (not dragdrop-drop-at-point) - (mouse-set-point current-mouse-event)) + (mouse-set-point event)) (insert (caddr data))) (let ((buf (get-buffer-create "*MIME-Drop data*"))) (set-buffer buf) @@ -187,7 +316,7 @@ (and (featurep 'tm-view) ;; this list of (car data) should be done before ;; enqueing the event - (mime/viewer-mode buf (list (car data)) (cadr data)))) + (mime/viewer-mode buf (car data) (cadr data)))) (t (display-message 'error "Wrong drop data"))))) (undo-boundary)
--- a/lisp/dumped-lisp.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/dumped-lisp.el Mon Aug 13 10:34:13 2007 +0200 @@ -159,8 +159,8 @@ #+window-system "gui" #+window-system "mode-motion" #+window-system "mouse" - #+window-system "dragdrop" #+window-system "select" + #+dragdrop-api "dragdrop" ;; preload the X code, for faster startup. #+(and (not infodock) (or x mswindows) menubar) "menubar-items" #+(and infodock (or x mswindows) menubar) "id-menus"
--- a/lisp/etags.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/etags.el Mon Aug 13 10:34:13 2007 +0200 @@ -554,9 +554,9 @@ arguments.") (defvar find-tag-hook nil - "Function to call after a hook is found. + "Function to call after a tag is found. Make it buffer-local in a mode hook. The function is called with no - argsuments.") + arguments.") ;; Return a default tag to search for, based on the text at point. (defun find-tag-default ()
--- a/lisp/faces.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/faces.el Mon Aug 13 10:34:13 2007 +0200 @@ -751,7 +751,7 @@ (error "Invalid specifier domain")) (let ((device (dfw-device domain)) (common-props '(foreground background font display-table underline)) - (x-props '(background-pixmap strikethru)) + (win-props '(background-pixmap strikethru)) (tty-props '(highlight dim blinking reverse))) ;; First check the properties which are used in common between the @@ -760,8 +760,9 @@ (and (face-equal-loop common-props face1 face2 domain) (cond ((eq 'tty (device-type device)) (face-equal-loop tty-props face1 face2 domain)) - ((eq 'x (device-type device)) - (face-equal-loop x-props face1 face2 domain)) + ((or (eq 'x (device-type device)) + (eq 'mswindows (device-type device))) + (face-equal-loop win-props face1 face2 domain)) (t t))))) (defun face-differs-from-default-p (face &optional domain)
--- a/lisp/files.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/files.el Mon Aug 13 10:34:13 2007 +0200 @@ -390,13 +390,12 @@ (defvar cdpath-previous nil "Prior value of the CDPATH environment variable.") -(defvar path-separator ":" - "Character used to separate concatenated paths.") +(defun parse-colon-path (cd-path) + "Explode a colon-separated search path into a list of directory names. -(defun parse-colon-path (cd-path) - "Explode a colon-separated list of paths into a string list. -This will be moved into \"C\" when decode_path is no longer called so -early in XEmacs initialization." +If you think you want to use this, you probably don't. This function +is provided for backward compatibility. A more robust implementation +of the same functionality is available as `split-path', which see." (and cd-path (let (cd-list (cd-start 0) cd-colon) (setq cd-path (concat cd-path path-separator)) @@ -1097,7 +1096,7 @@ t)) (quit (kill-buffer (current-buffer)) - (error "Canceled")))) + (signal 'quit nil)))) nil)))) (if msg (progn @@ -2077,7 +2076,7 @@ (car (cdr (file-attributes filename)))) (defun file-relative-name (filename &optional directory) - "Convert FILENAME to be relative to DIRECTORY (default: default-directory).1 + "Convert FILENAME to be relative to DIRECTORY (default: default-directory). This function returns a relative file name which is equivalent to FILENAME when used with that default directory as the default. If this is impossible (which can happen on MSDOS and Windows @@ -2096,7 +2095,8 @@ filename (let ((ancestor ".") (fname-dir (file-name-as-directory fname))) - (while (and (not (string-match (concat "^" (regexp-quote directory)) fname-dir)) + (while (and (not (string-match (concat "^" (regexp-quote directory)) + fname-dir)) (not (string-match (concat "^" (regexp-quote directory)) fname))) (setq directory (file-name-directory (substring directory 0 -1)) ancestor (if (equal ancestor ".")
--- a/lisp/find-paths.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/find-paths.el Mon Aug 13 10:34:13 2007 +0200 @@ -250,7 +250,7 @@ Non-\"\" comonents are converted into directory form. If DROP-EMPTIES is non-NIL, \"\" components are dropped from the output. Otherwise, they are left alone." - (let* ((components (decode-path-internal string)) + (let* ((components (split-path string)) (directories (mapcar #'(lambda (component) (if (string-equal "" component)
--- a/lisp/frame.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/frame.el Mon Aug 13 10:34:13 2007 +0200 @@ -519,13 +519,10 @@ This command selects the frame ARG steps away in that order. A negative ARG moves in the opposite order. -This command ignores the value of `focus-follows-mouse'." +This sets the window system focus, regardless of the value +of `focus-follows-mouse'." (interactive "p") - (let ((frame (selected-frame)) - (old-focus-follows-mouse focus-follows-mouse) - ;; Allow selecting another frame even when - ;; focus-follows-mouse is true. - (focus-follows-mouse nil)) + (let ((frame (selected-frame))) (while (> arg 0) (setq frame (next-frame frame 'visible-nomini)) (setq arg (1- arg))) @@ -533,11 +530,7 @@ (setq frame (previous-frame frame 'visible-nomini)) (setq arg (1+ arg))) (raise-frame frame) - (select-frame frame) - ;; Allow the focus change to be processed while - ;; focus-follows-mouse is nil. - (and old-focus-follows-mouse - (sit-for 0)) + (focus-frame frame) ;this is a bad idea; you should in general never warp the ;pointer unless the user asks for this. Furthermore, ;our version of `set-mouse-position' takes a window, @@ -547,8 +540,24 @@ ;(if (fboundp 'unfocus-frame) ; (unfocus-frame)))) )) + +;; XEmacs-added utility functions -;; XEmacs-added utility functions +(defmacro save-selected-frame (&rest body) + "Execute forms in BODY, then restore the selected frame. +The value returned is the value of the last form in BODY." + (let ((old-frame (gensym "ssf"))) + `(let ((,old-frame (selected-frame))) + (unwind-protect + (progn ,@body) + (select-frame ,old-frame))))) + +(defmacro with-selected-frame (frame &rest body) + "Execute forms in BODY with FRAME as the selected frame. +The value returned is the value of the last form in BODY." + `(save-selected-frame + (select-frame ,frame) + ,@body)) ; this is in C in FSFmacs (defun frame-list ()
--- a/lisp/glyphs.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/glyphs.el Mon Aug 13 10:34:13 2007 +0200 @@ -511,6 +511,12 @@ If unspecified in a particular domain, `nontext-pointer-glyph' is used.") (set-glyph-face toolbar-pointer-glyph 'pointer) +(defvar divider-pointer-glyph (make-pointer-glyph) + "*The shape of the mouse-pointer when over a window divider. +This is a glyph; use `set-glyph-image' to change it. +If unspecified in a particular domain, `nontext-pointer-glyph' is used.") +(set-glyph-face divider-pointer-glyph 'pointer) + ;; The following three are in C. (if (featurep 'menubar) (set-glyph-face menubar-pointer-glyph 'pointer)) @@ -546,6 +552,7 @@ (define-constant-glyph 'selection-pointer-glyph) (define-constant-glyph 'busy-pointer-glyph) (define-constant-glyph 'gc-pointer-glyph) +(define-constant-glyph 'divider-pointer-glyph) (define-constant-glyph 'toolbar-pointer-glyph) (define-constant-glyph 'menubar-pointer-glyph) (define-constant-glyph 'scrollbar-pointer-glyph)
--- a/lisp/help.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/help.el Mon Aug 13 10:34:13 2007 +0200 @@ -350,13 +350,15 @@ defn) )) -(defun describe-key-briefly (key) - "Print the name of the function KEY invokes. KEY is a string." - (interactive "kDescribe key briefly: ") - (let (defn menup) +(defun describe-key-briefly (key &optional insert) + "Print the name of the function KEY invokes. KEY is a string. +If INSERT (the prefix arg) is non-nil, insert the message in the buffer." + (interactive "kDescribe key briefly: \nP") + (let ((standard-output (if insert (current-buffer) t)) + defn menup) (setq defn (key-or-menu-binding key 'menup)) (if (or (null defn) (integerp defn)) - (message "%s is undefined" (key-description key)) + (princ (format "%s is undefined" (key-description key))) ;; If it's a keyboard macro which trivially invokes another command, ;; document that instead. (if (or (stringp defn) (vectorp defn)) @@ -364,15 +366,20 @@ defn))) (let ((last-event (and (vectorp key) (aref key (1- (length key)))))) - (message (if (or (button-press-event-p last-event) - (button-release-event-p last-event)) - (gettext "%s at that spot runs the command %s") - (gettext "%s runs the command %s")) - ;; This used to say 'This menu item' but it could also - ;; be a scrollbar event. We can't distinguish at the - ;; moment. - (if menup "This item" (key-description key)) - (format (if (symbolp defn) "`%s'" "%s") defn)))))) + (princ (format (cond (insert + "%s (%s)") + ((or (button-press-event-p last-event) + (button-release-event-p last-event)) + (gettext "%s at that spot runs the command %s")) + (t + (gettext "%s runs the command %s"))) + ;; This used to say 'This menu item' but it + ;; could also be a scrollbar event. We can't + ;; distinguish at the moment. + (if menup + (if insert "item" "This item") + (key-description key)) + (if (symbolp defn) defn (prin1-to-string defn)))))))) ;; #### this is a horrible piece of shit function that should ;; not exist. In FSF 19.30 this function has gotten three times @@ -462,44 +469,51 @@ ;; a help message and then prompting for input in the minibuffer -- ;; this macro usually selects the help buffer, which is not what you ;; want in those situations. -(defmacro with-displaying-help-buffer (name &rest body) + +;; #### Should really be a macro to eliminate the requirement of +;; caller to code a lambda form in THUNK -- mrb + +;; #### BEFORE you rush to make this a macro, think about backward +;; compatibility. The right way would be to create a macro with +;; another name (which is a shame, because w-d-h-b is a perfect name +;; for a macro) that uses with-displaying-help-buffer internally. + +(defun with-displaying-help-buffer (thunk &optional name) "Form which makes a help buffer with given NAME and evaluates BODY there. The actual name of the buffer is generated by the function `help-buffer-name'." - `(let* ((winconfig (current-window-configuration)) - (was-one-window (one-window-p)) - (buffer-name (help-buffer-name ,name)) - (help-not-visible - (not (and (windows-of-buffer buffer-name) ;shortcut - (member (selected-frame) - (mapcar 'window-frame - (windows-of-buffer buffer-name))))))) - (help-register-and-maybe-prune-excess buffer-name) - (prog1 (with-output-to-temp-buffer buffer-name - (prog1 ,@body - (save-excursion - (set-buffer standard-output) - (help-mode)))) - (let ((helpwin (get-buffer-window buffer-name))) - (when helpwin - (with-current-buffer (window-buffer helpwin) - ;; If the *Help* buffer is already displayed on this - ;; frame, don't override the previous configuration - (when help-not-visible - (set-frame-property (selected-frame) - 'help-window-config winconfig))) - (when help-selects-help-window - (select-window helpwin)) - (cond ((eq helpwin (selected-window)) - (display-message 'command - (substitute-command-keys "Type \\[help-mode-quit] to remove help window, \\[scroll-up] to scroll the help."))) - (was-one-window - (display-message 'command - (substitute-command-keys "Type \\[delete-other-windows] to remove help window, \\[scroll-other-window] to scroll the help."))) - (t - (display-message 'command - (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))))))) -(put 'with-displaying-help-buffer 'lisp-indent-function 1) -(put 'with-displaying-help-buffer 'edebug-form-spec '(form body)) + (let* ((winconfig (current-window-configuration)) + (was-one-window (one-window-p)) + (buffer-name (help-buffer-name name)) + (help-not-visible + (not (and (windows-of-buffer buffer-name) ;shortcut + (memq (selected-frame) + (mapcar 'window-frame + (windows-of-buffer buffer-name))))))) + (help-register-and-maybe-prune-excess buffer-name) + (prog1 (with-output-to-temp-buffer buffer-name + (prog1 (funcall thunk) + (save-excursion + (set-buffer standard-output) + (help-mode)))) + (let ((helpwin (get-buffer-window buffer-name))) + (when helpwin + (with-current-buffer (window-buffer helpwin) + ;; If the *Help* buffer is already displayed on this + ;; frame, don't override the previous configuration + (when help-not-visible + (set-frame-property (selected-frame) + 'help-window-config winconfig))) + (when help-selects-help-window + (select-window helpwin)) + (cond ((eq helpwin (selected-window)) + (display-message 'command + (substitute-command-keys "Type \\[help-mode-quit] to remove help window, \\[scroll-up] to scroll the help."))) + (was-one-window + (display-message 'command + (substitute-command-keys "Type \\[delete-other-windows] to remove help window, \\[scroll-other-window] to scroll the help."))) + (t + (display-message 'command + (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))))))) (defun describe-key (key) "Display documentation of the function invoked by KEY. @@ -510,31 +524,33 @@ (key-string (key-description key))) (if (or (null defn) (integerp defn)) (message "%s is undefined" key-string) - (with-displaying-help-buffer (format "key `%s'" key-string) - (princ key-string) - (princ " runs ") - (if (symbolp defn) - (princ (format "`%s'" defn)) - (princ defn)) - (princ "\n\n") - (cond ((or (stringp defn) (vectorp defn)) - (let ((cmd (key-binding defn))) - (if (not cmd) - (princ "a keyboard macro") - (progn - (princ "a keyboard macro which runs the command ") - (princ cmd) - (princ ":\n\n") - (if (documentation cmd) (princ (documentation cmd))))))) - ((and (consp defn) (not (eq 'lambda (car-safe defn)))) - (let ((describe-function-show-arglist nil)) - (describe-function-1 (car defn)))) - ((symbolp defn) - (describe-function-1 defn)) - ((documentation defn) - (princ (documentation defn))) - (t - (princ "not documented"))))))) + (with-displaying-help-buffer + (lambda () + (princ key-string) + (princ " runs ") + (if (symbolp defn) + (princ (format "`%s'" defn)) + (princ defn)) + (princ "\n\n") + (cond ((or (stringp defn) (vectorp defn)) + (let ((cmd (key-binding defn))) + (if (not cmd) + (princ "a keyboard macro") + (progn + (princ "a keyboard macro which runs the command ") + (princ cmd) + (princ ":\n\n") + (if (documentation cmd) (princ (documentation cmd))))))) + ((and (consp defn) (not (eq 'lambda (car-safe defn)))) + (let ((describe-function-show-arglist nil)) + (describe-function-1 (car defn)))) + ((symbolp defn) + (describe-function-1 defn)) + ((documentation defn) + (princ (documentation defn))) + (t + (princ "not documented")))) + (format "key `%s'" key-string))))) (defun describe-mode () "Display documentation of current major mode and minor modes. @@ -542,38 +558,40 @@ \(listed in `minor-mode-alist') must also be a function whose documentation describes the minor mode." (interactive) - (with-displaying-help-buffer (format "%s mode" mode-name) - ;; XEmacs change: print the major-mode documentation before - ;; the minor modes. - (princ mode-name) - (princ " mode:\n") - (princ (documentation major-mode)) - (princ "\n\n----\n\n") - (let ((minor-modes minor-mode-alist)) - (while minor-modes - (let* ((minor-mode (car (car minor-modes))) - (indicator (car (cdr (car minor-modes))))) - ;; Document a minor mode if it is listed in minor-mode-alist, - ;; bound locally in this buffer, non-nil, and has a function - ;; definition. - (if (and (boundp minor-mode) - (symbol-value minor-mode) - (fboundp minor-mode)) - (let ((pretty-minor-mode minor-mode)) - (if (string-match "-mode\\'" (symbol-name minor-mode)) - (setq pretty-minor-mode - (capitalize - (substring (symbol-name minor-mode) - 0 (match-beginning 0))))) - (while (and (consp indicator) (extentp (car indicator))) - (setq indicator (cdr indicator))) - (while (and indicator (symbolp indicator)) - (setq indicator (symbol-value indicator))) - (princ (format "%s minor mode (indicator%s):\n" - pretty-minor-mode indicator)) - (princ (documentation minor-mode)) - (princ "\n\n----\n\n")))) - (setq minor-modes (cdr minor-modes)))))) + (with-displaying-help-buffer + (lambda () + ;; XEmacs change: print the major-mode documentation before + ;; the minor modes. + (princ mode-name) + (princ " mode:\n") + (princ (documentation major-mode)) + (princ "\n\n----\n\n") + (let ((minor-modes minor-mode-alist)) + (while minor-modes + (let* ((minor-mode (car (car minor-modes))) + (indicator (car (cdr (car minor-modes))))) + ;; Document a minor mode if it is listed in minor-mode-alist, + ;; bound locally in this buffer, non-nil, and has a function + ;; definition. + (if (and (boundp minor-mode) + (symbol-value minor-mode) + (fboundp minor-mode)) + (let ((pretty-minor-mode minor-mode)) + (if (string-match "-mode\\'" (symbol-name minor-mode)) + (setq pretty-minor-mode + (capitalize + (substring (symbol-name minor-mode) + 0 (match-beginning 0))))) + (while (and (consp indicator) (extentp (car indicator))) + (setq indicator (cdr indicator))) + (while (and indicator (symbolp indicator)) + (setq indicator (symbol-value indicator))) + (princ (format "%s minor mode (indicator%s):\n" + pretty-minor-mode indicator)) + (princ (documentation minor-mode)) + (princ "\n\n----\n\n")))) + (setq minor-modes (cdr minor-modes))))) + (format "%s mode" mode-name))) ;; So keyboard macro definitions are documented correctly (fset 'defining-kbd-macro (symbol-function 'start-kbd-macro)) @@ -626,10 +644,10 @@ If the second argument (prefix arg, interactively) is non-null then only the mouse bindings are displayed." (interactive (list nil current-prefix-arg)) - (let (buf) - (with-displaying-help-buffer (format "bindings for %s" major-mode) - (setq buf (describe-bindings-1 prefix mouse-only-p))) - buf)) + (with-displaying-help-buffer + (lambda () + (describe-bindings-1 prefix mouse-only-p)) + (format "bindings for %s" major-mode))) (defun describe-bindings-1 (&optional prefix mouse-only-p) (let ((heading (if mouse-only-p @@ -680,11 +698,13 @@ (while (< i (length prefix)) (aset prefix i (aref key i)) (setq i (1+ i))) - (with-displaying-help-buffer (format "%s prefix" (key-description prefix)) - (princ "Key bindings starting with ") - (princ (key-description prefix)) - (princ ":\n\n") - (describe-bindings-1 prefix nil)))) + (with-displaying-help-buffer + (lambda () + (princ "Key bindings starting with ") + (princ (key-description prefix)) + (princ ":\n\n") + (describe-bindings-1 prefix nil)) + (format "%s prefix" (key-description prefix))))) ;; Make C-h after a prefix, when not specifically bound, ;; run describe-prefix-bindings. @@ -695,8 +715,10 @@ (interactive) (if (and (boundp 'Installation-string) (stringp Installation-string)) - (with-displaying-help-buffer "Installation" - (princ Installation-string)) + (with-displaying-help-buffer + (lambda () + (princ Installation-string)) + "Installation") (error "No Installation information available."))) (defun view-emacs-news () @@ -745,37 +767,39 @@ The number of keys shown is controlled by `view-lossage-key-count'. The number of messages shown is controlled by `view-lossage-message-count'." (interactive) - (with-displaying-help-buffer "lossage" - (princ (key-description (recent-keys view-lossage-key-count))) - (save-excursion - (set-buffer standard-output) - (goto-char (point-min)) - (insert "Recent keystrokes:\n\n") - (while (progn (move-to-column 50) (not (eobp))) - (search-forward " " nil t) - (insert "\n"))) - ;; XEmacs addition: copy the messages from " *Message-Log*", - ;; reversing their order and handling multiline messages - ;; correctly. - (princ "\n\n\nRecent minibuffer messages (most recent first):\n\n") - (save-excursion - (let ((buffer (get-buffer-create " *Message-Log*")) - (count 0) - oldpoint extent) - (goto-char (point-max buffer) buffer) - (set-buffer standard-output) - (while (and (not (bobp buffer)) - (< count view-lossage-message-count)) - (setq oldpoint (point buffer)) - (setq extent (extent-at oldpoint buffer - 'message-multiline nil 'before)) - ;; If the message was multiline, move all the way to the - ;; beginning. - (if extent - (goto-char (extent-start-position extent) buffer) - (forward-line -1 buffer)) - (insert-buffer-substring buffer (point buffer) oldpoint) - (incf count)))))) + (with-displaying-help-buffer + (lambda () + (princ (key-description (recent-keys view-lossage-key-count))) + (save-excursion + (set-buffer standard-output) + (goto-char (point-min)) + (insert "Recent keystrokes:\n\n") + (while (progn (move-to-column 50) (not (eobp))) + (search-forward " " nil t) + (insert "\n"))) + ;; XEmacs addition: copy the messages from " *Message-Log*", + ;; reversing their order and handling multiline messages + ;; correctly. + (princ "\n\n\nRecent minibuffer messages (most recent first):\n\n") + (save-excursion + (let ((buffer (get-buffer-create " *Message-Log*")) + (count 0) + oldpoint extent) + (goto-char (point-max buffer) buffer) + (set-buffer standard-output) + (while (and (not (bobp buffer)) + (< count view-lossage-message-count)) + (setq oldpoint (point buffer)) + (setq extent (extent-at oldpoint buffer + 'message-multiline nil 'before)) + ;; If the message was multiline, move all the way to the + ;; beginning. + (if extent + (goto-char (extent-start-position extent) buffer) + (forward-line -1 buffer)) + (insert-buffer-substring buffer (point buffer) oldpoint) + (incf count))))) + "lossage")) (define-function 'help 'help-for-help) @@ -914,8 +938,12 @@ (gettext "Describe function: ")) obarray 'fboundp t nil 'function-history)))) (list (if (equal val "") fn (intern val))))) - (with-displaying-help-buffer (format "function `%s'" function) - (describe-function-1 function))) + (with-displaying-help-buffer + (lambda () + (describe-function-1 function) + ;; Return the text we displayed. + (buffer-string nil nil standard-output)) + (format "function `%s'" function))) (defun function-obsolete-p (function) "Return non-nil if FUNCTION is obsolete." @@ -1199,77 +1227,79 @@ (gettext "Describe variable: ")) obarray 'boundp t nil 'variable-history)))) (list (if (equal val "") v (intern val))))) - (with-displaying-help-buffer (format "variable `%s'" variable) - (let ((origvar variable) - aliases) - (let ((print-escape-newlines t)) - (princ (format "`%s' is " (symbol-name variable))) - (while (variable-alias variable) - (let ((newvar (variable-alias variable))) - (if aliases - ;; I18N3 Need gettext due to concat - (setq aliases - (concat aliases - (format "\n which is an alias for `%s'," - (symbol-name newvar)))) - (setq aliases - (format "an alias for `%s'," - (symbol-name newvar)))) - (setq variable newvar))) - (if aliases - (princ (format "%s" aliases))) - (princ (built-in-variable-doc variable)) - (princ ".\n") - (let ((file-name (describe-symbol-find-file variable))) - (if file-name - (princ (format " -- loaded from \"%s\"\n" file-name)))) - (princ "\nValue: ") - (if (not (boundp variable)) - (princ "void\n") - (prin1 (symbol-value variable)) - (terpri)) - (terpri) - (cond ((local-variable-p variable (current-buffer)) - (let* ((void (cons nil nil)) - (def (condition-case nil - (default-value variable) - (error void)))) - (princ "This value is specific to the current buffer.\n") - (if (local-variable-p variable nil) - (princ "(Its value is local to each buffer.)\n")) - (terpri) - (if (if (eq def void) - (boundp variable) - (not (eq (symbol-value variable) def))) - ;; #### I18N3 doesn't localize properly! - (progn (princ "Default-value: ") - (if (eq def void) - (princ "void\n") - (prin1 def) - (terpri)) - (terpri))))) - ((local-variable-p variable (current-buffer) t) - (princ "Setting it would make its value buffer-local.\n\n")))) - (princ "Documentation:") - (terpri) - (let ((doc (documentation-property variable 'variable-documentation)) - (obsolete (variable-obsoleteness-doc origvar)) - (compatible (variable-compatibility-doc origvar))) - (when obsolete - (princ obsolete) - (terpri) - (terpri)) - (when compatible - (princ compatible) - (terpri) - (terpri)) - ;; don't bother to print anything if variable is obsolete and aliased. - (when (or (not obsolete) (not aliases)) - (if doc - ;; note: documentation-property calls substitute-command-keys. - (princ doc) - (princ "not documented as a variable.")))) - (terpri)))) + (with-displaying-help-buffer + (lambda () + (let ((origvar variable) + aliases) + (let ((print-escape-newlines t)) + (princ (format "`%s' is " (symbol-name variable))) + (while (variable-alias variable) + (let ((newvar (variable-alias variable))) + (if aliases + ;; I18N3 Need gettext due to concat + (setq aliases + (concat aliases + (format "\n which is an alias for `%s'," + (symbol-name newvar)))) + (setq aliases + (format "an alias for `%s'," + (symbol-name newvar)))) + (setq variable newvar))) + (if aliases + (princ (format "%s" aliases))) + (princ (built-in-variable-doc variable)) + (princ ".\n") + (let ((file-name (describe-symbol-find-file variable))) + (if file-name + (princ (format " -- loaded from \"%s\"\n" file-name)))) + (princ "\nValue: ") + (if (not (boundp variable)) + (princ "void\n") + (prin1 (symbol-value variable)) + (terpri)) + (terpri) + (cond ((local-variable-p variable (current-buffer)) + (let* ((void (cons nil nil)) + (def (condition-case nil + (default-value variable) + (error void)))) + (princ "This value is specific to the current buffer.\n") + (if (local-variable-p variable nil) + (princ "(Its value is local to each buffer.)\n")) + (terpri) + (if (if (eq def void) + (boundp variable) + (not (eq (symbol-value variable) def))) + ;; #### I18N3 doesn't localize properly! + (progn (princ "Default-value: ") + (if (eq def void) + (princ "void\n") + (prin1 def) + (terpri)) + (terpri))))) + ((local-variable-p variable (current-buffer) t) + (princ "Setting it would make its value buffer-local.\n\n")))) + (princ "Documentation:") + (terpri) + (let ((doc (documentation-property variable 'variable-documentation)) + (obsolete (variable-obsoleteness-doc origvar)) + (compatible (variable-compatibility-doc origvar))) + (when obsolete + (princ obsolete) + (terpri) + (terpri)) + (when compatible + (princ compatible) + (terpri) + (terpri)) + ;; don't bother to print anything if variable is obsolete and aliased. + (when (or (not obsolete) (not aliases)) + (if doc + ;; note: documentation-property calls substitute-command-keys. + (princ doc) + (princ "not documented as a variable.")))) + (terpri))) + (format "variable `%s'" variable))) (defun sorted-key-descriptions (keys &optional separator) "Sort and separate the key descriptions for KEYS. @@ -1280,11 +1310,12 @@ (< (length x) (length y)))) (or separator ", "))) -(defun where-is (definition) +(defun where-is (definition &optional insert) "Print message listing key sequences that invoke specified command. Argument is a command definition, usually a symbol with a function definition. When run interactively, it defaults to any function found by -`function-at-point'." +`function-at-point'. +If INSERT (the prefix arg) is non-nil, insert the message in the buffer." (interactive (let ((fn (function-at-point)) (enable-recursive-minibuffers t) @@ -1293,11 +1324,18 @@ (if fn (format "Where is command (default %s): " fn) "Where is command: "))) (list (if (equal (symbol-name val) "") - fn val)))) + fn val) + current-prefix-arg))) (let ((keys (where-is-internal definition))) (if keys - (message "%s is on %s" definition (sorted-key-descriptions keys)) - (message "%s is not on any keys" definition))) + (if insert + (princ (format "%s (%s)" (sorted-key-descriptions keys) + definition) (current-buffer)) + (message "%s is on %s" definition (sorted-key-descriptions keys))) + (if insert + (princ (format (if (commandp definition) "M-x %s RET" + "M-: (%s ...)") definition) (current-buffer)) + (message "%s is not on any keys" definition)))) nil) ;; `locate-library' moved to "packages.el" @@ -1309,9 +1347,11 @@ "Describe the syntax specifications in the syntax table. The descriptions are inserted in a buffer, which is then displayed." (interactive) - (with-displaying-help-buffer (format "syntax-table for %s" major-mode) - ;; defined in syntax.el - (describe-syntax-table (syntax-table) standard-output))) + (with-displaying-help-buffer + (lambda () + ;; defined in syntax.el + (describe-syntax-table (syntax-table) standard-output)) + (format "syntax-table for %s" major-mode))) (defun list-processes () "Display a list of all processes.
--- a/lisp/info.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/info.el Mon Aug 13 10:34:13 2007 +0200 @@ -2764,9 +2764,7 @@ (progn ;; make a local copy of the menubar, so our modes don't ;; change the global menubar - (set-buffer-menubar current-menubar) - (add-submenu nil '("Info" - :filter Info-menu-filter)))) + (easy-menu-add '("Info" :filter Info-menu-filter)))) (run-hooks 'Info-mode-hook) (Info-set-mode-line))
--- a/lisp/keydefs.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/keydefs.el Mon Aug 13 10:34:13 2007 +0200 @@ -328,6 +328,8 @@ (define-key global-map "\C-xri" 'insert-register) (define-key global-map "\C-xrg" 'insert-register) (define-key global-map "\C-xrr" 'copy-rectangle-to-register) +(define-key global-map "\C-xrn" 'number-to-register) +(define-key global-map "\C-xr+" 'increment-register) (define-key global-map "\C-xrc" 'clear-rectangle) (define-key global-map "\C-xrk" 'kill-rectangle) (define-key global-map "\C-xry" 'yank-rectangle)
--- a/lisp/keymap.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/keymap.el Mon Aug 13 10:34:13 2007 +0200 @@ -43,6 +43,15 @@ (interactive) (ding)) +(defmacro kbd (keys) + "Convert KEYS to the internal Emacs key representation. +KEYS should be a string in the format used for saving keyboard macros +\(see `insert-kbd-macro')." + (if (or (stringp keys) + (vectorp keys)) + (read-kbd-macro keys) + `(read-kbd-macro ,keys))) + (defun suppress-keymap (map &optional nodigits) "Make MAP override all normally self-inserting keys to be undefined. Normally, as an exception, digits and minus-sign are set to make prefix args, @@ -271,7 +280,7 @@ ;;; This is used both by call-interactively (for the command history) ;;; and by macros.el (for saving keyboard macros to a file). -;; ### why does (events-to-keys [backspace]) return "\C-h"? +;; #### why does (events-to-keys [backspace]) return "\C-h"? ;; BTW, this function is a mess, and macros.el does *not* use it, in ;; spite of the above comment. `format-kbd-macro' is used to save ;; keyboard macros to a file.
--- a/lisp/lisp-mode.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/lisp-mode.el Mon Aug 13 10:34:13 2007 +0200 @@ -41,9 +41,9 @@ :group 'languages :group 'development) -(defvar lisp-mode-syntax-table nil "") -(defvar emacs-lisp-mode-syntax-table nil "") -(defvar lisp-mode-abbrev-table nil "") +(defvar lisp-mode-syntax-table nil) +(defvar emacs-lisp-mode-syntax-table nil) +(defvar lisp-mode-abbrev-table nil) ;; XEmacs change (defvar lisp-interaction-mode-popup-menu nil) @@ -116,12 +116,10 @@ (setq i (1+ i))) (modify-syntax-entry ? " " emacs-lisp-mode-syntax-table) (modify-syntax-entry ?\t " " emacs-lisp-mode-syntax-table) + (modify-syntax-entry ?\f " " emacs-lisp-mode-syntax-table) (modify-syntax-entry ?\n "> " emacs-lisp-mode-syntax-table) ;; Give CR the same syntax as newline, for selective-display. (modify-syntax-entry ?\^m "> " emacs-lisp-mode-syntax-table) - ;; XEmacs change - ;; Treat ^L as whitespace. - (modify-syntax-entry ?\f " " emacs-lisp-mode-syntax-table) (modify-syntax-entry ?\; "< " emacs-lisp-mode-syntax-table) (modify-syntax-entry ?` "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry ?' "' " emacs-lisp-mode-syntax-table) @@ -155,17 +153,17 @@ (define-abbrev-table 'lisp-mode-abbrev-table ()) -;(defvar lisp-imenu-generic-expression -; '( -; (nil -; "^\\s-*(def\\(un\\|subst\\|macro\\|advice\\)\\s-+\\([-A-Za-z0-9+]+\\)" 2) -; ("Variables" -; "^\\s-*(def\\(var\\|const\\)\\s-+\\([-A-Za-z0-9+]+\\)" 2) -; ("Types" -; "^\\s-*(def\\(type\\|struct\\|class\\|ine-condition\\)\\s-+\\([-A-Za-z0-9+]+\\)" -; 2)) -; -; "Imenu generic expression for Lisp mode. See `imenu-generic-expression'.") +(defvar lisp-imenu-generic-expression + '( + (nil + "^\\s-*(def\\(un\\|subst\\|macro\\|advice\\)\\s-+\\([-A-Za-z0-9+*|:]+\\)" 2) + ("Variables" + "^\\s-*(def\\(var\\|const\\|custom\\)\\s-+\\([-A-Za-z0-9+*|:]+\\)" 2) + ("Types" + "^\\s-*(def\\(group\\|type\\|struct\\|class\\|ine-condition\\)\\s-+\\([-A-Za-z0-9+*|:]+\\)" + 2)) + + "Imenu generic expression for Lisp mode. See `imenu-generic-expression'.") (defun lisp-mode-variables (lisp-syntax) (cond (lisp-syntax @@ -204,13 +202,11 @@ (setq comment-column 40) (make-local-variable 'comment-indent-function) (setq comment-indent-function 'lisp-comment-indent) - ;; XEmacs changes -; (make-local-variable 'imenu-generic-expression) -; (setq imenu-generic-expression lisp-imenu-generic-expression) + ;; XEmacs change (set (make-local-variable 'dabbrev-case-fold-search) nil) (set (make-local-variable 'dabbrev-case-replace) nil) - ) - + (make-local-variable 'imenu-generic-expression) + (setq imenu-generic-expression lisp-imenu-generic-expression)) (defvar shared-lisp-mode-map () "Keymap for commands shared by all sorts of Lisp modes.") @@ -404,27 +400,26 @@ (defun eval-interactive (expr) "Like `eval' except that it transforms defvars to defconsts. The evaluation of defcustom forms is forced." - (cond ((and (consp expr) - (eq (car expr) 'defvar) + (cond ((and (eq (car-safe expr) 'defvar) (> (length expr) 2)) (eval (cons 'defconst (cdr expr))) - (and eval-interactive-verbose - (message "defvar treated as defconst")) - (sit-for 1) - (message "") + (when eval-interactive-verbose + (message "defvar treated as defconst") + (sit-for 1) + (message "")) (nth 1 expr)) - ((and (consp expr) - (eq (car expr) 'defcustom) + ((and (eq (car-safe expr) 'defcustom) (> (length expr) 2) (default-boundp (nth 1 expr))) ;; Force variable to be bound + ;; #### defcustom might specify a different :set method. (set-default (nth 1 expr) (eval (nth 2 expr))) ;; And evaluate the defcustom (eval expr) - (and eval-interactive-verbose - (message "defcustom evaluation forced")) - (sit-for 1) - (message "") + (when eval-interactive-verbose + (message "defcustom evaluation forced") + (sit-for 1) + (message "")) (nth 1 expr)) (t (eval expr)))) @@ -435,25 +430,33 @@ With argument, print output into current buffer." (interactive "P") (let ((standard-output (if eval-last-sexp-arg-internal (current-buffer) t)) - (opoint (point))) - (prin1 (let ((stab (syntax-table)) - expr) - (eval-interactive - (unwind-protect - (save-excursion - (set-syntax-table emacs-lisp-mode-syntax-table) - (forward-sexp -1) - (save-restriction - (narrow-to-region (point-min) opoint) - (setq expr (read (current-buffer))) - (if (and (consp expr) - (eq (car expr) 'interactive)) - (list 'quote - (call-interactively - (eval (` (lambda (&rest args) - (, expr) args))))) - expr))) - (set-syntax-table stab))))))) + (opoint (point)) + ignore-quotes) + (prin1 (eval-interactive + (letf (((syntax-table) emacs-lisp-mode-syntax-table)) + (save-excursion + ;; If this sexp appears to be enclosed in `...' then + ;; ignore the surrounding quotes. + (setq ignore-quotes (or (eq (char-after) ?\') + (eq (char-before) ?\'))) + (forward-sexp -1) + ;; vladimir@cs.ualberta.ca 30-Jul-1997: skip ` in + ;; `variable' so that the value is returned, not the + ;; name. + (if (and ignore-quotes + (eq (char-after) ?\`)) + (forward-char)) + (save-restriction + (narrow-to-region (point-min) opoint) + (let ((expr (read (current-buffer)))) + (if (eq (car-safe expr) 'interactive) + ;; If it's an (interactive ...) form, it's + ;; more useful to show how an interactive call + ;; would use it. + `(call-interactively + (lambda (&rest args) + ,expr args)) + expr))))))))) (defun eval-defun (eval-defun-arg-internal) "Evaluate defun that point is in or before. @@ -471,6 +474,8 @@ (if (looking-at "\\s<\\s<\\s<") (current-column) (if (looking-at "\\s<\\s<") + ;; #### FSF has: + ;; (let ((tem (or (calculate-lisp-indent) (current-column)))) ... (let ((tem (calculate-lisp-indent))) (if (listp tem) (car tem) tem)) (skip-chars-backward " \t") @@ -491,8 +496,8 @@ (insert block-comment-start)) (indent-for-comment)) -(defconst lisp-indent-offset nil "") -(defconst lisp-indent-function 'lisp-indent-function "") +(defvar lisp-indent-offset nil) +(defvar lisp-indent-function 'lisp-indent-function) (defun lisp-indent-line (&optional whole-exp) "Indent current line as Lisp code. @@ -677,7 +682,7 @@ (method (funcall method state indent-point))))))) -(defconst lisp-body-indent 2 +(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) @@ -746,6 +751,8 @@ (put 'save-excursion 'lisp-indent-function 0) (put 'save-window-excursion 'lisp-indent-function 0) (put 'save-selected-window 'lisp-indent-function 0) +(put 'save-selected-frame 'lisp-indent-function 0) +(put 'with-selected-frame 'lisp-indent-function 1) (put 'save-restriction 'lisp-indent-function 0) (put 'save-match-data 'lisp-indent-function 0) (put 'let 'lisp-indent-function 1) @@ -762,6 +769,7 @@ (put 'with-temp-buffer 'lisp-indent-function 0) (put 'with-output-to-string 'lisp-indent-function 0) (put 'with-output-to-temp-buffer 'lisp-indent-function 1) +(put 'eval-after-load 'lisp-indent-function 1) (put 'display-message 'lisp-indent-function 1) (put 'display-warning 'lisp-indent-function 1) (put 'lmessage 'lisp-indent-function 2) @@ -774,7 +782,7 @@ ENDPOS is encountered." (interactive) (let ((indent-stack (list nil)) - (next-depth 0) + (next-depth 0) ;; If ENDPOS is non-nil, use nil as STARTING-POINT ;; so that calculate-lisp-indent will find the beginning of ;; the defun we are in.
--- a/lisp/loadup.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/loadup.el Mon Aug 13 10:34:13 2007 +0200 @@ -47,7 +47,7 @@ (call-with-condition-handler 'really-early-error-handler #'(lambda () ;; message not defined yet ... - (setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) + (setq load-path (split-path (getenv "EMACSBOOTSTRAPLOADPATH"))) (external-debugging-output (format "\nUsing load-path %s" load-path))
--- a/lisp/make-docfile.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/make-docfile.el Mon Aug 13 10:34:13 2007 +0200 @@ -77,7 +77,7 @@ ;; Then process the list of Lisp files. (define-function 'defalias 'define-function) -(setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) +(setq load-path (split-path (getenv "EMACSBOOTSTRAPLOADPATH"))) ;; Then process the autoloads (setq autoload-file-name "auto-autoloads.elc") @@ -90,7 +90,7 @@ (setq load-path - (nconc load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH")))) + (nconc load-path (split-path (getenv "EMACSBOOTSTRAPLOADPATH")))) (let (preloaded-file-list) (load (concat default-directory "../lisp/dumped-lisp.el"))
--- a/lisp/menubar-items.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/menubar-items.el Mon Aug 13 10:34:13 2007 +0200 @@ -719,14 +719,14 @@ (if mouse-avoidance-mode nil 'banish)) :style toggle :selected (and (boundp 'mouse-avoidance-mode) mouse-avoidance-mode) - :active (and (boundp 'mouse-avoidance-mode) - window-system (eq (device-type) 'x))] + :active (and (boundp 'mouse-avoidance-mode) + (device-on-window-system-p))] ["strokes-mode" (customize-set-variable 'strokes-mode (not strokes-mode)) :style toggle :selected (and (boundp 'strokes-mode) strokes-mode) :active (and (boundp 'strokes-mode) - window-system (eq (device-type) 'x))] + (device-on-window-system-p))] ) ("Open URLs With" ["Emacs-W3" @@ -1328,21 +1328,17 @@ :suffix (if (or (eq last-command 'undo) (eq last-command 'advertised-undo)) "More" "")] - ["Cut" x-kill-primary-selection - :active (and (eq 'x (device-type (selected-device))) - (x-selection-owner-p))] - ["Copy" x-copy-primary-selection - :active (and (eq 'x (device-type (selected-device))) - (x-selection-owner-p))] - ["Paste" x-yank-clipboard-selection - :active (and (eq 'x (device-type (selected-device))) - (x-selection-exists-p 'CLIPBOARD))] - ["Clear" x-delete-primary-selection - :active (and (eq 'x (device-type (selected-device))) - (x-selection-owner-p))] + ["Cut" kill-primary-selection + :active (selection-owner-p)] + ["Copy" copy-primary-selection + :active (selection-owner-p)] + ["Paste" yank-clipboard-selection + :active (selection-exists-p 'CLIPBOARD)] + ["Clear" delete-primary-selection + :active (selection-owner-p)] "-----" ["Select Block" mark-paragraph] - ["Split Window" (split-window)] + ["Split Window" split-window-vertically] ["Unsplit Window" delete-other-windows] )) @@ -1375,19 +1371,22 @@ (run-hooks 'activate-popup-menu-hook) (popup-menu (cond ((and global-popup-menu mode-popup-menu) + ;; Merge global-popup-menu and mode-popup-menu (check-menu-syntax mode-popup-menu) (let* ((title (car mode-popup-menu)) (items (cdr mode-popup-menu)) - filters) + mode-filters) ;; Strip keywords from local menu for attaching them at the top (while (and items - (symbolp (car items))) - (setq items (append filters (list (car items)))) - (setq items (cdr items))) - ;; If filters contains a keyword already present in - ;; `global-popup-menu' you will probably lose. + (keywordp (car items))) + ;; Push both keyword and its argument. + (push (pop items) mode-filters) + (push (pop items) mode-filters)) + (setq mode-filters (nreverse mode-filters)) + ;; If mode-filters contains a keyword already present in + ;; `global-popup-menu', you will probably lose. (append (list (car global-popup-menu)) - filters + mode-filters (cdr global-popup-menu) '("---" "---") (if popup-menu-titles (list title)) @@ -1396,7 +1395,7 @@ (t (or mode-popup-menu global-popup-menu - (error "No menu here.")))))) + (error "No menu defined in this buffer")))))) (defun popup-buffer-menu (event) "Pop up a copy of the Buffers menu (from the menubar) where the mouse is clicked."
--- a/lisp/minibuf.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/minibuf.el Mon Aug 13 10:34:13 2007 +0200 @@ -115,6 +115,9 @@ (defvar minibuffer-help-form nil "Value that `help-form' takes on inside the minibuffer.") +(defvar minibuffer-default nil + "Default value for minibuffer input.") + (defvar minibuffer-local-map (let ((map (make-sparse-keymap 'minibuffer-local-map))) map) @@ -1290,8 +1293,9 @@ initial-minibuffer-history-position) (setq current-minibuffer-contents (buffer-string) current-minibuffer-point (point))) - (let ((narg (- minibuffer-history-position n))) - (cond ((< narg 0) + (let ((narg (- minibuffer-history-position n)) + (minimum (if minibuffer-default -1 0))) + (cond ((< narg minimum) (error "No following item in %s" minibuffer-history-variable)) ((> narg (length (symbol-value minibuffer-history-variable))) (error "No preceding item in %s" minibuffer-history-variable))) @@ -1301,8 +1305,10 @@ (progn (insert current-minibuffer-contents) (goto-char current-minibuffer-point)) - (let ((elt (nth (1- minibuffer-history-position) - (symbol-value minibuffer-history-variable)))) + (let ((elt (if (>= narg 0) + (nth (1- minibuffer-history-position) + (symbol-value minibuffer-history-variable)) + minibuffer-default))) (insert (if (not (stringp elt)) (let ((print-level nil))
--- a/lisp/modeline.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/modeline.el Mon Aug 13 10:34:13 2007 +0200 @@ -257,9 +257,12 @@ (make-face 'modeline-mousable "Face for mousable portions of the modeline.") (set-face-parent 'modeline-mousable 'modeline nil '(default)) +(when (featurep 'window-system) + (set-face-foreground 'modeline-mousable + '(((default color x) . "firebrick") + ((default color mswindows) . "firebrick")) + 'global)) (when (featurep 'x) - (set-face-foreground 'modeline-mousable "firebrick" 'global - '(default color x)) (set-face-font 'modeline-mousable [bold] nil '(default mono x)) (set-face-font 'modeline-mousable [bold] nil '(default grayscale x))) @@ -294,10 +297,13 @@ "Face for mousable minor-mode strings in the modeline.") (set-face-parent 'modeline-mousable-minor-mode 'modeline-mousable nil '(default)) -(when (featurep 'x) +(when (featurep 'window-system) (set-face-foreground 'modeline-mousable-minor-mode '(((default color x) . "green4") - ((default color x) . "forestgreen")) 'global)) + ((default color x) . "forestgreen") + ((default color mswindows) . "green4") + ((default color mswindows) . "forestgreen")) + 'global)) (defvar modeline-mousable-minor-mode-extent (make-extent nil nil) ;; alliteration at its finest. @@ -402,12 +408,14 @@ (lambda () (interactive) (if defining-kbd-macro - ;; #### 1 means to disregard the last event. - ;; This is needed because the last recorded - ;; event is usually the mouse event that invoked - ;; the menu item (and this function), and having - ;; it in the macro causes problems. - (end-kbd-macro nil 1) + (progn + ;; #### This means to disregard the last event. + ;; It is needed because the last recorded + ;; event is usually the mouse event that + ;; invoked the menu item (and this function), + ;; and having it in the macro causes problems. + (zap-last-kbd-macro-event) + (end-kbd-macro nil)) (start-kbd-macro nil)))) (defun modeline-minor-mode-menu (event) @@ -492,8 +500,11 @@ (make-face 'modeline-buffer-id "Face for the buffer ID string in the modeline.") (set-face-parent 'modeline-buffer-id 'modeline nil '(default)) -(when (featurep 'x) - (set-face-foreground 'modeline-buffer-id "blue4" 'global '(default color x))) +(when (featurep 'window-system) + (set-face-foreground 'modeline-buffer-id + '(((default color x) . "blue4") + ((default color mswindows) . "blue4")) + 'global)) (when (featurep 'x) (set-face-font 'modeline-buffer-id [bold-italic] nil '(default mono x)) (set-face-font 'modeline-buffer-id [bold-italic] nil '(default grayscale x)))
--- a/lisp/mouse.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/mouse.el Mon Aug 13 10:34:13 2007 +0200 @@ -1337,6 +1337,11 @@ ((event-over-modeline-p event) '(modeline-pointer-glyph nontext-pointer-glyph text-pointer-glyph)) + ((and (event-over-vertical-divider-p event) + (specifier-instance vertical-divider-draggable-p + (event-window event))) + '(divider-pointer-glyph nontext-pointer-glyph + text-pointer-glyph)) (point '(text-pointer-glyph)) (buffer '(nontext-pointer-glyph text-pointer-glyph)) (t '(nontext-pointer-glyph text-pointer-glyph)))) @@ -1399,5 +1404,104 @@ nil) (setq mouse-motion-handler 'default-mouse-motion-handler) + +;; +;; Vertical divider dragging +;; +(defun drag-window-divider (event) + "Handle resizing windows by dragging window dividers. +This is an intenal function, normally bound to button1 event in +window-divider-map. You would not call it, but you may bind it to +other mouse buttons." + (interactive "e") + (if (not (specifier-instance vertical-divider-draggable-p + (event-window event))) + (error "Not over a window!")) + (letf* ((window (event-window event)) + (frame (event-channel event)) + (last-timestamp (event-timestamp event)) + (doit t) + ((specifier-instance vertical-divider-shadow-thickness window) + (- (specifier-instance vertical-divider-shadow-thickness window)))) + (while doit + (let ((old-right (caddr (window-pixel-edges window))) + (old-left (car (window-pixel-edges window))) + (backup-conf (current-window-configuration frame)) + (old-edges-all-windows (mapcar 'window-pixel-edges (window-list)))) + + ;; This is borrowed from modeline.el: + ;; requeue event and quit if this is a misc-user, eval or + ;; keypress event. + ;; quit if this is a button press or release event, or if the event + ;; occurred in some other frame. + ;; drag if this is a mouse motion event and the time + ;; between this event and the last event is greater than + ;; drag-modeline-event-lag. + ;; do nothing if this is any other kind of event. + (setq event (next-event event)) + (cond ((or (misc-user-event-p event) + (key-press-event-p event)) + (setq unread-command-events (nconc unread-command-events + (list event)) + doit nil)) + ((button-release-event-p event) + (setq doit nil)) + ((button-event-p event) + (setq doit nil)) + ((not (motion-event-p event)) + (dispatch-event event)) + ((not (eq frame (event-frame event))) + (setq doit nil)) + ((< (abs (- (event-timestamp event) last-timestamp)) + drag-modeline-event-lag)) + (t + (setq last-timestamp (event-timestamp event)) + ;; Enlarge the window, calculating change in characters + ;; of default font. Do not let the window to become + ;; less than alolwed minimum (not because that's critical + ;; for the code performance, just the visual effect is + ;; better: when cursor goes to the left of the next left + ;; divider, the vindow being resized shrinks to minimal + ;; size. + (enlarge-window (max (- window-min-width (window-width window)) + (/ (- (event-x-pixel event) old-right) + (face-width 'default window))) + t window) + ;; Backout the change if some windows got deleted, or + ;; if the change caused more than two windows to resize + ;; (shifting the whole stack right is ugly), or if the + ;; left window side has slipped (right side cannot be + ;; moved any funrther to the right, so enlarge-window + ;; plays bad games with the left edge. + (if (or (/= (count-windows) (length old-edges-all-windows)) + (/= old-left (car (window-pixel-edges window))) + ;; This check is very hairy. We allow any number + ;; of left edges to change, but only to the same + ;; new value. Similar procedure is for the right edges. + (let ((all-that-bad nil) + (new-left-ok nil) + (new-right-ok nil)) + (mapcar* (lambda (window old-edges) + (let ((new (car (window-pixel-edges window)))) + (if (/= new (car old-edges)) + (if (and new-left-ok + (/= new-left-ok new)) + (setq all-that-bad t) + (setq new-left-ok new))))) + (window-list) old-edges-all-windows) + (mapcar* (lambda (window old-edges) + (let ((new (caddr (window-pixel-edges window)))) + (if (/= new (caddr old-edges)) + (if (and new-right-ok + (/= new-right-ok new)) + (setq all-that-bad t) + (setq new-right-ok new))))) + (window-list) old-edges-all-windows) + all-that-bad)) + (set-window-configuration backup-conf)))) + )))) + +(setq vertical-divider-map (make-keymap)) +(define-key vertical-divider-map 'button1 'drag-window-divider) ;;; mouse.el ends here
--- a/lisp/msw-init.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/msw-init.el Mon Aug 13 10:34:13 2007 +0200 @@ -62,9 +62,10 @@ (activate-region-as-selection)))) ;; Old-style mswindows bindings. The new-style mswindows bindings ;; (namely Ctrl-X, Ctrl-C and Ctrl-V) are already spoken for by XEmacs. - (define-key global-map '(control insert) 'mswindows-copy-clipboard) - (define-key global-map '(shift insert) 'mswindows-paste-clipboard) - (define-key global-map '(shift delete) 'mswindows-cut-clipboard) + (define-key global-map '(shift delete) 'kill-primary-selection) + (define-key global-map '(control delete) 'delete-primary-selection) + (define-key global-map '(shift insert) 'yank-clipboard-selection) + (define-key global-map '(control insert) 'copy-primary-selection) ;; Random stuff (define-key global-map 'menu 'popup-mode-menu)
--- a/lisp/msw-select.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/msw-select.el Mon Aug 13 10:34:13 2007 +0200 @@ -49,21 +49,27 @@ (insert-rectangle clip) (insert clip)))) +(defun mswindows-clear-clipboard () + "Delete the selection without copying it to the clipboard or the kill ring." + (interactive "*") + (mswindows-cut-copy-clear-clipboard 'clear)) + (defun mswindows-copy-clipboard () "Copy the selection to the mswindows clipboard and to the kill ring." (interactive) - (mswindows-cut-copy-clipboard 'copy)) + (mswindows-cut-copy-clear-clipboard 'copy)) (defun mswindows-cut-clipboard () "Copy the selection to the mswindows clipboard and to the kill ring, then delete it." (interactive "*") - (mswindows-cut-copy-clipboard 'cut)) + (mswindows-cut-copy-clear-clipboard 'cut)) -(defun mswindows-cut-copy-clipboard (mode) +(defun mswindows-cut-copy-clear-clipboard (mode) "Don't use this function. -Use mswindows-cut-clipboard or mswindows-copy-clipboard instead." - (or (memq mode '(cut copy)) (error "unkown mode %S" mode)) +Use mswindows-cut-clipboard, mswindows-copy-clipboard or +mswindows-clear-clipboard instead." + (or (memq mode '(cut copy clear)) (error "unkown mode %S" mode)) (setq last-command nil) (let ((s (mark-marker)) (e (point-marker))) (if s @@ -73,8 +79,9 @@ (setq killed-rectangle (extract-rectangle s e)) (kill-new (mapconcat 'identity killed-rectangle "\n"))) (copy-region-as-kill s e)) - (mswindows-set-clipboard (car kill-ring)) - (if (eq mode 'cut) + (if (memq mode '(cut copy)) + (mswindows-set-clipboard (car kill-ring))) + (if (memq mode '(cut clear)) (if mouse-track-rectangle-p (delete-rectangle s e) (delete-region s e))
--- a/lisp/obsolete.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/obsolete.el Mon Aug 13 10:34:13 2007 +0200 @@ -93,11 +93,10 @@ (define-function 'x-grayscale-display-p 'x-display-grayscale-p) (make-compatible 'x-display-grayscale-p 'device-class) -(define-compatible-function-alias 'x-display-pixel-width 'device-pixel-width) -(define-compatible-function-alias 'x-display-pixel-height - 'device-pixel-height) -(define-compatible-function-alias 'x-display-planes 'device-bitplanes) -(define-compatible-function-alias 'x-display-color-cells 'device-color-cells) +(define-compatible-function-alias 'x-display-pixel-width 'device-pixel-width) +(define-compatible-function-alias 'x-display-pixel-height 'device-pixel-height) +(define-compatible-function-alias 'x-display-planes 'device-bitplanes) +(define-compatible-function-alias 'x-display-color-cells 'device-color-cells) (define-obsolete-function-alias 'baud-rate 'device-baud-rate) @@ -122,7 +121,7 @@ (define-obsolete-function-alias 'extent-buffer 'extent-object) (defun set-extent-attribute (extent attr &optional clearp) - "" ;; obsoleteness info will be displayed, so no need for anything more. + ;; obsoleteness info will be displayed, so no need for docstring. (cond ((eq attr 'write-protected) (set-extent-property extent 'read-only t)) ((eq attr 'unhighlight) @@ -136,20 +135,20 @@ (make-obsolete 'set-extent-attribute 'set-extent-property) (defun extent-glyph (extent) - "" ;; obsoleteness info will be displayed, so no need for anything more. + ;; obsoleteness info will be displayed, so no need for docstring. (or (extent-begin-glyph extent) (extent-end-glyph extent))) (make-obsolete 'extent-glyph "use `extent-begin-glyph' or `extent-end-glyph' instead.") (defun extent-layout (extent) - "" ;; obsoleteness info will be displayed, so no need for anything more. + ;; obsoleteness info will be displayed, so no need for docstring. (extent-begin-glyph-layout extent)) (make-obsolete 'extent-layout "use `extent-begin-glyph-layout' or `extent-end-glyph-layout' instead.") (defun set-extent-layout (extent layout) - "" ;; obsoleteness info will be displayed, so no need for anything more. + ;; obsoleteness info will be displayed, so no need for docstring. (set-extent-begin-glyph-layout extent layout)) (make-obsolete 'set-extent-layout "use `set-extent-begin-glyph-layout' or `set-extent-end-glyph-layout' instead.") @@ -245,7 +244,7 @@ (define-obsolete-variable-alias 'x-screen-defaults 'default-x-frame-alist) (defun x-create-screen (parms window-id) - "" + ;; obsoleteness info will be displayed, so no need for docstring. (if (not (eq 'x (device-type (selected-device)))) (error "Cannot create X frames on non-X device")) (make-frame (append parms (list (list 'window-id window-id)))
--- a/lisp/package-get-base.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/package-get-base.el Mon Aug 13 10:34:13 2007 +0200 @@ -191,19 +191,19 @@ )) (tm (standards-version 1.0 - version "1.06" - author-version "21.0b38" - date "1998-04-23" - build-date "1998-05-01" + version "1.07" + author-version "21.0b40" + date "1998-05-10" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "comm" dump nil description "Emacs MIME support." - filename "tm-1.06-pkg.tar.gz" - md5sum "3f40b731e676c866c5a6133c0bff031b" - size 252232 + filename "tm-1.07-pkg.tar.gz" + md5sum "53fc3cb133f27663c7ad0897507c32a5" + size 252320 provides (tm tm-edit tm-view mime-setup) requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base) type regular @@ -438,19 +438,19 @@ )) (mail-lib (standards-version 1.0 - version "1.13" - author-version "21.0b39" - date "1998-05-09" - build-date "1998-05-09" + version "1.14" + author-version "21.0b40" + date "1998-05-10" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "libs" dump nil description "Fundamental lisp files for providing email support." - filename "mail-lib-1.13-pkg.tar.gz" - md5sum "39c95ef0dfc8d2bee106768c14821d98" - size 120019 + filename "mail-lib-1.14-pkg.tar.gz" + md5sum "929ca9e3b14577139704a67bb019c996" + size 120134 provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail) requires (xemacs-base) type regular @@ -476,19 +476,19 @@ )) (xemacs-base (standards-version 1.0 - version "1.19" - author-version "21.0b38" - date "1998-04-29" - build-date "1998-05-01" + version "1.20" + author-version "21.0b40" + date "1998-05-15" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "libs" dump nil description "Fundamental XEmacs support, you almost certainly need this." - filename "xemacs-base-1.19-pkg.tar.gz" - md5sum "3cd0aa1366931e36651f7aee46931e22" - size 453658 + filename "xemacs-base-1.20-pkg.tar.gz" + md5sum "4329fd1b5649e5b6b184377985444cae" + size 454236 provides (add-log advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button) requires () type regular @@ -590,19 +590,19 @@ )) (mule-base (standards-version 1.0 - version "1.16" - author-version "21.0b39" - date "1998-05-09" - build-date "1998-05-09" + version "1.17" + author-version "21.0b40" + date "1998-05-10" + build-date "1998-05-15" maintainer "SL Baur <steve@altair.xemacs.org>" distribution mule priority high category "mule" dump t description "Basic Mule support, required for building with Mule." - filename "mule-base-1.16-pkg.tar.gz" - md5sum "5acc72aebf3a3f6505ddc947bd111cb1" - size 508454 + filename "mule-base-1.17-pkg.tar.gz" + md5sum "bce5a73395ef4167ed5c3bf94e2f70de" + size 489829 provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) requires (fsf-compat xemacs-base) type regular @@ -666,19 +666,19 @@ )) (edit-utils (standards-version 1.0 - version "1.21" - author-version "21.0b38" - date "1998-03-15" - build-date "1998-05-02" + version "1.22" + author-version "21.0b40" + date "1998-05-12" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high category "oa" dump nil description "Miscellaneous editor extensions, you probably need this." - filename "edit-utils-1.21-pkg.tar.gz" - md5sum "5483cfb7d0ed4588332c2185e77d31eb" - size 570895 + filename "edit-utils-1.22-pkg.tar.gz" + md5sum "2b3de19afb781c06a69cfe340bda8c70" + size 572566 provides (abbrevlist atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon man mic-paren paren popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db) requires (xemacs-base) type single @@ -1084,19 +1084,19 @@ )) (ediff (standards-version 1.0 - version "1.07" + version "1.08" author-version "2.70.1" date "1998-04-27" - build-date "1998-04-27" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "prog" dump nil description "Interface over GNU patch." - filename "ediff-1.07-pkg.tar.gz" - md5sum "78e0193180343fba87ae08a67036b3b4" - size 244462 + filename "ediff-1.08-pkg.tar.gz" + md5sum "d73e47087119a6cb7d5b4f71fdba8b72" + size 243042 provides (ediff) requires (pcl-cvs dired xemacs-base) type regular @@ -1141,19 +1141,19 @@ )) (pcl-cvs (standards-version 1.0 - version "1.08" - author-version "21.0b39" - date "1998-05-07" - build-date "1998-05-09" + version "1.09" + author-version "21.0b40" + date "1998-05-15" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "prog" dump nil description "CVS frontend." - filename "pcl-cvs-1.08-pkg.tar.gz" - md5sum "c1cf0841a3df11130736a82e20b1ccf4" - size 172294 + filename "pcl-cvs-1.09-pkg.tar.gz" + md5sum "b1722c8b42e14b17111cba9163e7e9bb" + size 172405 provides (pcl-cvs dll elib-node generic-sc) requires (xemacs-base) type regular @@ -1198,19 +1198,19 @@ )) (sh-script (standards-version 1.0 - version "1.04" + version "1.05" author-version "2.0e" - date "1998-01-24" - build-date "1998-04-04" + date "1998-05-12" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "prog" dump nil description "Support for editing shell scripts." - filename "sh-script-1.04-pkg.tar.gz" - md5sum "7e14483d0732a83b1f5e32f059f76b04" - size 33630 + filename "sh-script-1.05-pkg.tar.gz" + md5sum "8462bd33b9edc71da72ebd134b8a77c6" + size 33785 provides (sh-script executable) requires (xemacs-base) type regular @@ -1236,19 +1236,19 @@ )) (vc (standards-version 1.0 - version "1.07" - author-version "21.0b38" - date "1998-04-27" - build-date "1998-04-27" + version "1.08" + author-version "21.0b40" + date "1998-05-14" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "prog" dump t description "Version Control for Free systems." - filename "vc-1.07-pkg.tar.gz" - md5sum "04b5fb71ac7975479824c0a636b4b510" - size 74573 + filename "vc-1.08-pkg.tar.gz" + md5sum "10b3a769fce6d64e7662b3d4629bff30" + size 83873 provides (vc) requires (dired xemacs-base) type regular @@ -1407,19 +1407,19 @@ )) (viper (standards-version 1.0 - version "1.06" + version "1.07" author-version "3.02" date "1998-02-25" - build-date "1998-04-04" + build-date "1998-05-15" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "wp" dump nil description "VI emulation support." - filename "viper-1.06-pkg.tar.gz" - md5sum "23528829ed5464cafb97fd3f278b41aa" - size 261321 + filename "viper-1.07-pkg.tar.gz" + md5sum "7f8fc245699c2036b62789d455196654" + size 260876 provides (viper) requires (xemacs-base) type regular
--- a/lisp/package-get.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/package-get.el Mon Aug 13 10:34:13 2007 +0200 @@ -256,16 +256,15 @@ )) (if (not (file-exists-p (package-get-staging-dir filename))) (error "Unable to find file %s" filename)) - ;; ;; Validate the md5 checksum - ;; Unfortunately we cannot do this in XEmacs due to Mule lossage. - ;; + ;; Doing it with XEmacs removes the need for an external md5 program (with-temp-buffer - (call-process "md5sum" (package-get-staging-dir filename) t) - (goto-char (point-min)) - (looking-at "[a-z0-9]+") - (if (not (string= (buffer-substring (match-beginning 0) (match-end 0)) - (package-get-info-prop this-package 'md5sum))) + ; What ever happened to i-f-c-literally + (let (file-name-handler-alist) + (insert-file-contents-internal (package-get-staging-dir filename))) + (if (not (string= (md5 (current-buffer)) + (package-get-info-prop this-package + 'md5sum))) (error "Package %s does not match md5 checksum" filename))) (message "Retrieved package %s" filename) (sit-for 0) (let ((status
--- a/lisp/register.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/register.el Mon Aug 13 10:34:13 2007 +0200 @@ -22,7 +22,7 @@ ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ;; 02111-1307, USA. -;;; Synched up with: FSF 20.1 +;;; Synched up with: FSF 20.3 ;;; Commentary: @@ -37,19 +37,22 @@ (defvar register-alist nil "Alist of elements (NAME . CONTENTS), one for each Emacs register. -NAME is a character (a number). CONTENTS is a string, number, -frame configuration, mark or list. +NAME is a character (a number). CONTENTS is a string, number, marker or list. A list of strings represents a rectangle. A list of the form (file . NAME) represents the file named NAME. A list of the form (file-query NAME POSITION) represents position POSITION - in the file named NAME, but query before visiting it.") + in the file named NAME, but query before visiting it. +A list of the form (WINDOW-CONFIGURATION POSITION) + represents a saved window configuration plus a saved value of point. +A list of the form (FRAME-CONFIGURATION POSITION) + represents a saved frame configuration plus a saved value of point.") (defun get-register (reg) "Return contents of Emacs register named REG, or nil if none." (cdr (assq reg register-alist))) (defun set-register (register value) - "Set contents of Emacs register named REGISTER to VALUE. Return VALUE. + "Set contents of Emacs register named REGISTER to VALUE. Returns VALUE. See the documentation of the variable `register-alist' for possible VALUE." (let ((aelt (assq register register-alist))) (if aelt @@ -65,21 +68,26 @@ Argument is a character, naming the register." (interactive "cPoint to register: \nP") (set-register register - (if arg (current-frame-configuration) (point-marker)))) + (if arg (list (current-frame-configuration) (point-marker)) + (point-marker)))) (defun window-configuration-to-register (register &optional arg) "Store the window configuration of the selected frame in register REGISTER. Use \\[jump-to-register] to restore the configuration. Argument is a character, naming the register." (interactive "cWindow configuration to register: \nP") - (set-register register (current-window-configuration))) + ;; current-window-configuration does not include the value + ;; of point in the current buffer, so record that separately. + (set-register register (list (current-window-configuration) (point-marker)))) (defun frame-configuration-to-register (register &optional arg) "Store the window configuration of all frames in register REGISTER. Use \\[jump-to-register] to restore the configuration. Argument is a character, naming the register." (interactive "cFrame configuration to register: \nP") - (set-register register (current-frame-configuration))) + ;; current-frame-configuration does not include the value + ;; of point in the current buffer, so record that separately. + (set-register register (list (current-frame-configuration) (point-marker)))) (defalias 'register-to-point 'jump-to-register) (defun jump-to-register (register &optional delete) @@ -95,11 +103,12 @@ (interactive "cJump to register: \nP") (let ((val (get-register register))) (cond - ((and (fboundp 'frame-configuration-p) - (frame-configuration-p val)) - (set-frame-configuration val (not delete))) - ((window-configuration-p val) - (set-window-configuration val)) + ((and (consp val) (frame-configuration-p (car val))) + (set-frame-configuration (car val) (not delete)) + (goto-char (cadr val))) + ((and (consp val) (window-configuration-p (car val))) + (set-window-configuration (car val)) + (goto-char (cadr val))) ((markerp val) (or (marker-buffer val) (error "That register's buffer no longer exists")) @@ -131,33 +140,29 @@ (add-hook 'kill-buffer-hook 'register-swap-out) -;(defun number-to-register (arg char) -; "Store a number in a register. -;Two args, NUMBER and REGISTER (a character, naming the register). -;If NUMBER is nil, digits in the buffer following point are read -;to get the number to store. -;Interactively, NUMBER is the prefix arg (none means nil)." -; (interactive "P\ncNumber to register: ") -; (set-register char -; (if arg -; (prefix-numeric-value arg) -; (if (looking-at "[0-9][0-9]*") -; (save-excursion -; (save-restriction -; (narrow-to-region (point) -; (progn (skip-chars-forward "0-9") -; (point))) -; (goto-char (point-min)) -; (read (current-buffer)))) -; 0)))) +(defun number-to-register (number register) + "Store a number in a register. +Two args, NUMBER and REGISTER (a character, naming the register). +If NUMBER is nil, a decimal number is read from the buffer starting +at point, and point moves to the end of that number. +Interactively, NUMBER is the prefix arg (none means nil)." + (interactive "P\ncNumber to register: ") + (set-register register + (if number + (prefix-numeric-value number) + (if (looking-at "\\s-*-?[0-9]+") + (progn + (goto-char (match-end 0)) + (string-to-int (match-string 0))) + 0)))) -;(defun increment-register (arg char) -; "Add NUMBER to the contents of register REGISTER. -;Interactively, NUMBER is the prefix arg (none means nil)." -; (interactive "p\ncNumber to register: ") -; (or (integerp (get-register char)) -; (error "Register does not contain a number")) -; (set-register char (+ arg (get-register char)))) +(defun increment-register (number register) + "Add NUMBER to the contents of register REGISTER. +Interactively, NUMBER is the prefix arg." + (interactive "p\ncIncrement register: ") + (or (numberp (get-register register)) + (error "Register does not contain a number")) + (set-register register (+ number (get-register register)))) (defun view-register (register) "Display what is contained in register named REGISTER. @@ -171,7 +176,7 @@ (princ (single-key-description register)) (princ " contains ") (cond - ((integerp val) + ((numberp val) (princ val)) ((markerp val) @@ -183,10 +188,10 @@ (princ ", position ") (princ (marker-position val))))) - ((window-configuration-p val) + ((and (consp val) (window-configuration-p (car val))) (princ "a window configuration.")) - ((frame-configuration-p val) + ((and (consp val) (frame-configuration-p (car val))) (princ "a frame configuration.")) ((and (consp val) (eq (car val) 'file)) @@ -225,11 +230,11 @@ (push-mark) (let ((val (get-register register))) (cond - ((and (consp val) (fboundp 'insert-rectangle)) + ((consp val) (insert-rectangle val)) ((stringp val) (insert val)) - ((integerp val) + ((numberp val) (princ val (current-buffer))) ((and (markerp val) (marker-position val)) (princ (marker-position val) (current-buffer))) @@ -275,8 +280,6 @@ Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. START and END are buffer positions giving two corners of rectangle." (interactive "cCopy rectangle to register: \nr\nP") - (unless (fboundp 'extract-rectangle) - (error "Rectangles are not available in this XEmacs")) (set-register register (if delete-flag (delete-extract-rectangle start end)
--- a/lisp/select.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/select.el Mon Aug 13 10:34:13 2007 +0200 @@ -53,6 +53,7 @@ (interactive "*") (case (device-type (selected-device)) (x (x-delete-primary-selection)) + (mswindows (mswindows-clear-clipboard)) (otherwise nil))) (defun yank-clipboard-selection ()
--- a/lisp/setup-paths.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/setup-paths.el Mon Aug 13 10:34:13 2007 +0200 @@ -42,8 +42,10 @@ "Depth of load-path searches in core Lisp paths.") (defvar paths-default-info-directories - (list (paths-construct-path '("usr" "local" "info") path-separator) - (paths-construct-path '("usr" "info") path-separator)) + (list (paths-construct-path '("usr" "local" "info") + (char-to-string directory-sep-char)) + (paths-construct-path '("usr" "info") + (char-to-string directory-sep-char))) "Directories appended to the end of the info path by default.") (defun paths-find-site-lisp-directory (roots) @@ -138,7 +140,7 @@ (packages-find-package-exec-path last-packages) (let ((emacspath-envval (getenv "EMACSPATH"))) (and emacspath-envval - (decode-path-internal emacspath-envval))) + (split-path emacspath-envval))) (and exec-directory (list exec-directory))))
--- a/lisp/simple.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/simple.el Mon Aug 13 10:34:13 2007 +0200 @@ -219,7 +219,11 @@ (let ((char (if (or (not overwrite-mode) (eq overwrite-mode 'overwrite-mode-binary)) (read-quoted-char) - (read-char)))) + ;; read-char obeys C-g, so we should protect. FSF + ;; doesn't have the protection here, but it's a bug in + ;; FSF. + (let ((inhibit-quit t)) + (read-char))))) (if (> arg 0) (if (eq overwrite-mode 'overwrite-mode-binary) (delete-char arg))) @@ -457,6 +461,15 @@ ; (goto-char (if (> arg 0) (1- (point)) (1+ (point)))) (point)))) +(defun zap-up-to-char (arg char) + "Kill up to ARG'th occurrence of CHAR. +Goes backward if ARG is negative; error if CHAR not found." + (interactive "*p\ncZap up to char: ") + (kill-region (point) (progn + (search-forward (char-to-string char) nil nil arg) + (goto-char (if (> arg 0) (1- (point)) (1+ (point)))) + (point)))) + (defun beginning-of-buffer (&optional arg) "Move point to the beginning of the buffer; leave mark at previous position. With arg N, put point N/10 of the way from the beginning. @@ -565,11 +578,11 @@ (eval-buffer (current-buffer) printflag)) ;; XEmacs -(defun count-words-buffer (buffer) +(defun count-words-buffer (&optional buffer) "Print the number of words in BUFFER. If called noninteractively, the value is returned rather than printed. BUFFER defaults to the current buffer." - (interactive "_bBuffer: ") + (interactive) (let ((words (count-words-region (point-min) (point-max) buffer))) (when (interactive-p) (message "Buffer has %d words" words)) @@ -600,11 +613,10 @@ (count-lines start end) (- end start))) ;; XEmacs -(defun count-lines-buffer (buffer) +(defun count-lines-buffer (&optional buffer) "Print number of lines and characters in BUFFER." - (interactive "_bBuffer: ") - (save-excursion - (set-buffer (or buffer (current-buffer))) + (interactive) + (with-current-buffer (or buffer (current-buffer)) (let ((cnt (count-lines (point-min) (point-max)))) (message "Buffer has %d lines, %d characters" cnt (- (point-max) (point-min))) @@ -737,16 +749,19 @@ ;; We define this, rather than making `eval' interactive, ;; for the sake of completion of names like eval-region, eval-current-buffer. -(defun eval-expression (expression) +(defun eval-expression (expression &optional eval-expression-insert-value) "Evaluate EXPRESSION and print value in minibuffer. -Value is also consed on to front of the variable `values'." +Value is also consed on to front of the variable `values'. +With prefix argument, insert the result to the current buffer." ;(interactive "xEval: ") (interactive (list (read-from-minibuffer "Eval: " nil read-expression-map t - 'read-expression-history))) + 'read-expression-history) + current-prefix-arg)) (setq values (cons (eval expression) values)) - (prin1 (car values) t)) + (prin1 (car values) + (if eval-expression-insert-value (current-buffer) t))) ;; XEmacs -- extra parameter (variant, but equivalent logic) (defun edit-and-eval-command (prompt command &optional history)
--- a/lisp/startup.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/startup.el Mon Aug 13 10:34:13 2007 +0200 @@ -76,7 +76,7 @@ XEmacs loads the user's initialization file.") (defvar after-init-hook nil - "*Functions to call after loading the init file (`~/.xemacs/init.el'). + "*Functions to call after loading the init file (`.emacs'). The call is not protected by a condition-case, so you can set `debug-on-error' in `init.el', and put all the actual code on `after-init-hook'.") @@ -104,7 +104,7 @@ "List of plausible roots of the XEmacs hierarchy.") (defvar init-file-user nil - "Identity of user whose `~/.xemacs/init.el' file is or was read. + "Identity of user whose `.emacs' file is or was read. The value is nil if no init file is being used; otherwise, it may be either the null string, meaning that the init file was taken from the user that originally logged in, or it may be a string containing a user's name. @@ -120,13 +120,13 @@ (defvar site-start-file (purecopy "site-start") "File containing site-wide run-time initializations. -This file is loaded at run-time before `~/.xemacs/init.el'. It +This file is loaded at run-time before `.emacs'. It contains inits that need to be in place for the entire site, but which, due to their higher incidence of change, don't make sense to load into XEmacs' dumped image. Thus, the run-time load order is: 1. file described in this variable, if non-nil; - 2. `~/.xemacs/init.el'; + 2. `.emacs'; 3. `/path/to/xemacs/lisp/default.el'. Don't use the `site-start.el' file for things some users may not like. @@ -149,7 +149,7 @@ This is initialized based on `mail-host-address', after your init file is read, in case it sets `mail-host-address'.") -(defvar auto-save-list-file-prefix "~/.xemacs/.saves-" +(defvar auto-save-list-file-prefix "~/.saves-" "Prefix for generating auto-save-list-file-name. Emacs's pid and the system name will be appended to this prefix to create a unique file name.")
--- a/lisp/subr.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/subr.el Mon Aug 13 10:34:13 2007 +0200 @@ -305,6 +305,19 @@ start (match-end 0))) (nreverse (cons (substring string start) parts)))) +;; #### #### #### AAaargh! Must be in C, because it is used insanely +;; early in the bootstrap process. +;(defun split-path (path) +; "Explode a search path into a list of strings. +;The path components are separated with the characters specified +;with `path-separator'." +; (while (or (not stringp path-separator) +; (/= (length path-separator) 1)) +; (setq path-separator (signal 'error (list "\ +;`path-separator' should be set to a single-character string" +; path-separator)))) +; (split-string-by-char path (aref separator 0))) + (defmacro with-output-to-string (&rest forms) "Collect output to `standard-output' while evaluating FORMS and return it as a string." @@ -533,14 +546,18 @@ (set-text-properties 0 (length string) nil string) string)) -;; This should probably be written in C (i.e., without using `walk-windows'). -(defun get-buffer-window-list (buffer &optional minibuf frame) +(defun get-buffer-window-list (&optional buffer minibuf frame) "Return windows currently displaying BUFFER, or nil if none. +BUFFER defaults to the current buffer. See `walk-windows' for the meaning of MINIBUF and FRAME." - (let ((buffer (if (bufferp buffer) buffer (get-buffer buffer))) windows) - (walk-windows (function (lambda (window) - (if (eq (window-buffer window) buffer) - (setq windows (cons window windows))))) + (cond ((null buffer) + (setq buffer (current-buffer))) + ((not (bufferp buffer)) + (setq buffer (get-buffer buffer)))) + (let (windows) + (walk-windows (lambda (window) + (if (eq (window-buffer window) buffer) + (push window windows))) minibuf frame) windows))
--- a/lisp/toolbar-items.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/toolbar-items.el Mon Aug 13 10:34:13 2007 +0200 @@ -299,12 +299,14 @@ (if toolbar-compile-already-run (compile compile-command) (setq toolbar-compile-already-run t) - (popup-dialog-box - `(,(concat "Compile:\n " compile-command) - ["Compile" (compile compile-command) t] - ["Edit command" compile t] - nil - ["Cancel" (message "Quit") t])))) + (if (should-use-dialog-box-p) + (popup-dialog-box + `(,(concat "Compile:\n " compile-command) + ["Compile" (compile compile-command) t] + ["Edit command" compile t] + nil + ["Cancel" (message "Quit") t])) + (compile compile-command)))) ;; ;; toolbar news variables and defuns
--- a/lisp/update-elc.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/update-elc.el Mon Aug 13 10:34:13 2007 +0200 @@ -64,7 +64,7 @@ (define-function 'defalias 'define-function) -(setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) +(setq load-path (split-path (getenv "EMACSBOOTSTRAPLOADPATH"))) (load "find-paths.el") (load "packages.el")
--- a/lisp/window-xemacs.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/window-xemacs.el Mon Aug 13 10:34:13 2007 +0200 @@ -39,7 +39,7 @@ "Windows within a frame." :group 'environment) -(defun recenter (n &optional window) +(defun recenter (&optional n window) "Center point in WINDOW and redisplay frame. With N, put point on line N. The desired position of point is always relative to the window. Just C-u as prefix means put point in the center of the window. @@ -57,24 +57,7 @@ (interactive "p") (other-window (- arg) all-frames device)) -(defun windows-of-buffer (&optional buffer) - "Return a list of windows that have BUFFER in them. -If BUFFER is not specified, the current buffer will be used." - (or (bufferp buffer) - (if (stringp buffer) - (setq buffer (or (get-buffer buffer) - (get-file-buffer buffer))) - (setq buffer (current-buffer)))) - (let* ((firstwin (next-window nil nil t)) - (wind firstwin) - (done nil) - window-list) - (while (not done) - (if (eq (window-buffer wind) buffer) - (setq window-list (append window-list (list wind)))) - (setq wind (next-window wind nil t)) - (setq done (eq wind firstwin))) - window-list)) +(defalias 'windows-of-buffer 'get-buffer-window-list) (defun buffer-in-multiple-windows-p (&optional buffer) "Return t if BUFFER is in multiple windows.
--- a/lisp/x-init.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/x-init.el Mon Aug 13 10:34:13 2007 +0200 @@ -325,14 +325,14 @@ (x-activate-region-as-selection)))) ;; Motif-ish bindings ;; The following two were generally unliked. - ;;(define-key global-map '(shift delete) 'x-kill-primary-selection) - ;;(define-key global-map '(control delete) 'x-delete-primary-selection) - (define-key global-map '(shift insert) 'x-yank-clipboard-selection) - (define-key global-map '(control insert) 'x-copy-primary-selection) + ;;(define-key global-map '(shift delete) 'kill-primary-selection) + ;;(define-key global-map '(control delete) 'delete-primary-selection) + (define-key global-map '(shift insert) 'yank-clipboard-selection) + (define-key global-map '(control insert) 'copy-primary-selection) ;; These are Sun-isms. - (define-key global-map 'copy 'x-copy-primary-selection) - (define-key global-map 'paste 'x-yank-clipboard-selection) - (define-key global-map 'cut 'x-kill-primary-selection) + (define-key global-map 'copy 'copy-primary-selection) + (define-key global-map 'paste 'yank-clipboard-selection) + (define-key global-map 'cut 'kill-primary-selection) (define-key global-map 'menu 'popup-mode-menu) ;;(define-key global-map '(shift menu) 'x-goto-menubar) ;NYI
--- a/lisp/x-mouse.el Mon Aug 13 10:33:19 2007 +0200 +++ b/lisp/x-mouse.el Mon Aug 13 10:34:13 2007 +0200 @@ -165,6 +165,9 @@ (set-glyph-image toolbar-pointer-glyph (or (x-get-resource "toolBarPointer" "Cursor" 'string device) "left_ptr")) + (set-glyph-image divider-pointer-glyph + (or (x-get-resource "dividerPointer" "Cursor" 'string device) + "sb_h_double_arrow")) (let ((fg (x-get-resource "pointerColor" "Foreground" 'string device))) (and fg
--- a/man/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/man/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,3 +1,15 @@ +1998-05-15 Christian Nybø <chr@mediascience.no> + + * xemacs/killing.texi: Properly document `zap-to-char'. + +1998-05-10 Oliver Graf <ograf@fga.de> + + * lispref/dragndrop.texi: new section for the DnD API + * lispref/lispref.texi: added Drag'n'Drop between scrollbars and + modes + * lispref/modes.texi: changed back-ref to Drag'n'Drop + * lispref/scrollbars.texi: changed next-ref to Drag'n'Drop + 1998-05-05 Oliver Graf <ograf@fga.de> * commands.texi: exchange of dnd-drop with misc-user
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/lispref/dragndrop.texi Mon Aug 13 10:34:13 2007 +0200 @@ -0,0 +1,71 @@ +@c -*-texinfo-*- +@c This is part of the XEmacs Lisp Reference Manual. +@c Copyright (C) 1998 Oliver Graf <ograf@fga.de> +@c Original reference is (c) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +@c See the file lispref.texi for copying conditions. +@setfilename ../../info/dragndrop.texi +@node Drag'n'Drop, Modes, Scrollbars, Top +@chapter Drag'n'Drop +@cindex drag'n'drop + + Drag'n'drop is a way to transfer information between multiple applications. +To do this serveral GUIs define their own protocols. Examples are OffiX, CDE, +Motif, KDE, MSWindows, GNOME, and many more. To catch all these protocols, +XEmacs provides a generic API. + +@menu +* Supported Protocols:: Which low-level protocols are supported. +* Drop Interface:: How XEmacs handles a drop from another application. +* Drag Interface:: Calls to initiate a drag from XEmacs. +@end menu + +@node Supported Protocols +@section Supported Protocols + +The current release of XEmacs only support a small set of Drag'n'drop +protocols. Some of these only support limited options avaiable in the API. + +@menu +* OffiX DND:: A generic X based protocol. +* CDE dt:: Common Desktop Environment used on suns. +* MSWindows OLE:: Mr. Gates way of live. +@end menu + +@node OffiX DND +@subsection OffiX DND +@cindex OffiX DND + +The OffiX Drag'n'Drop protocol is part of a X API/Widget library created by +Cesar Crusius. It is based on X-Atoms and ClientMessage events, and works with +any X platform supporting them. + +OffiX is supported if 'offix is member of the variable dragdrop-protocols, or +the feature 'offix is defined. + +XEmacs supports both MIME and URL drags and drops using this API. No application +interaction is possible while dragging is in progress. + +For infomation about the OffiX project have a look at http://leb.net/~offix/ + +@node CDE dt +@subsection CDE dt +@cindex CDE dt + +to be written + +@node MSWindows OLE +@subsection MSWindows OLE +@cindex MSWindows OLE + +to be written + +@node Drop Interface +@section Drop Interface +@cindex drop + +This describes the drop API (under construction) + +@node Drag Interface +@section Drag Interface + +This describes the drag API (not implemented yet).
--- a/man/lispref/lispref.texi Mon Aug 13 10:33:19 2007 +0200 +++ b/man/lispref/lispref.texi Mon Aug 13 10:34:13 2007 +0200 @@ -154,6 +154,8 @@ * Dialog Boxes:: Creating dialog boxes. * Toolbar:: Controlling the toolbar. * Scrollbars:: Controlling the scrollbars. +* Drag'n'Drop:: Generic API to inter-application communication + via specific protocols. * Modes:: Defining major and minor modes. * Documentation:: Writing and using documentation strings. @@ -1135,6 +1137,7 @@ @include dialog.texi @include toolbar.texi @include scrollbars.texi +@include dragndrop.texi @include modes.texi @include help.texi
--- a/man/lispref/modes.texi Mon Aug 13 10:33:19 2007 +0200 +++ b/man/lispref/modes.texi Mon Aug 13 10:34:13 2007 +0200 @@ -3,7 +3,7 @@ @c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. @c See the file lispref.texi for copying conditions. @setfilename ../../info/modes.info -@node Modes, Documentation, Scrollbars, Top +@node Modes, Documentation, Drag'n'Drop, Top @chapter Major and Minor Modes @cindex mode
--- a/man/lispref/scrollbars.texi Mon Aug 13 10:33:19 2007 +0200 +++ b/man/lispref/scrollbars.texi Mon Aug 13 10:34:13 2007 +0200 @@ -3,7 +3,7 @@ @c Copyright (C) 1995 Ben Wing. @c See the file lispref.texi for copying conditions. @setfilename ../../info/glyphs.info -@node Scrollbars, Modes, Toolbar, top +@node Scrollbars, Drag'n'Drop, Toolbar, top @chapter scrollbars @cindex scrollbars
--- a/man/lispref/strings.texi Mon Aug 13 10:33:19 2007 +0200 +++ b/man/lispref/strings.texi Mon Aug 13 10:34:13 2007 +0200 @@ -127,7 +127,7 @@ putting strings together, or by taking them apart. @defun string &rest characters - This function returns of string made up of @var{characters}. + This function returns a new string made up of @var{characters}. @example (string ?X ?E ?m ?a ?c ?s)
--- a/modules/Makefile.in Mon Aug 13 10:33:19 2007 +0200 +++ b/modules/Makefile.in Mon Aug 13 10:34:13 2007 +0200 @@ -1,16 +1,19 @@ -subdirs=ldap base64 zlib example -RM=@RM@ +@SET_MAKE@ +SUBDIR=ldap base64 zlib example +RECURSIVE_MAKE=@RECURSIVE_MAKE@ +SHELL = /bin/sh +RM = rm -f all: - for x in $(subdirs); do ( cd $$x && make $@ ); done + -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done install clean mostlyclean: - for x in $(subdirs); do ( cd $$x && make $@ ); done + -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done distclean: $(RM) Makefile config.* - for x in $(subdirs); do ( cd $$x && make $@ ); done + -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done realclean extraclean: $(RM) *~ \#* - for x in $(subdirs); do ( cd $$x && make $@ ); done + -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
--- a/nt/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,3 +1,16 @@ +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Comment out dialog.{c,obj} from build. + +1998-05-11 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * nt/config.h: + Unconditionally define new HAVE_DRAGNDROP. + +1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Added dragdrop.{c,obj} + 1998-05-08 Kirill M. Katsnelson <kkm@kis.ru> * config.h (enum_field): Redefine to be unsigned int.
--- a/nt/config.h Mon Aug 13 10:33:19 2007 +0200 +++ b/nt/config.h Mon Aug 13 10:34:13 2007 +0200 @@ -383,6 +383,9 @@ /* Compile in support for OffiX Drag and Drop? */ #undef HAVE_OFFIX_DND +/* Compile in generic Drag'n'Drop API */ +#define HAVE_DRAGNDROP + /* Compile in support for proper session-management. */ #undef HAVE_SESSION
--- a/nt/xemacs.mak Mon Aug 13 10:33:19 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 10:34:13 2007 +0200 @@ -354,10 +354,11 @@ $(XEMACS)\src\data.c \ $(XEMACS)\src\device.c DOC_SRC2=\ - $(XEMACS)\src\dialog.c \ +# $(XEMACS)\src\dialog.c \ $(XEMACS)\src\dired.c \ $(XEMACS)\src\doc.c \ $(XEMACS)\src\doprnt.c \ + $(XEMACS)\src\dragdrop.c \ $(XEMACS)\src\dynarr.c \ $(XEMACS)\src\editfns.c \ $(XEMACS)\src\elhash.c \ @@ -615,10 +616,11 @@ $(OUTDIR)\console.obj \ $(OUTDIR)\data.obj \ $(OUTDIR)\device.obj \ - $(OUTDIR)\dialog.obj \ +# $(OUTDIR)\dialog.obj \ $(OUTDIR)\dired.obj \ $(OUTDIR)\doc.obj \ $(OUTDIR)\doprnt.obj \ + $(OUTDIR)\dragdrop.obj \ $(OUTDIR)\dynarr.obj \ $(OUTDIR)\editfns.obj \ $(OUTDIR)\elhash.obj \
--- a/src/ChangeLog Mon Aug 13 10:33:19 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:34:13 2007 +0200 @@ -1,8315 +1,529 @@ -1998-05-06 Oliver Graf <ograf@fga.de> +1998-05-15 SL Baur <steve@altair.xemacs.org> + + * window.c (have_undivided_common_edge): Guard scrollbar specific + stuff. + (window_needs_vertical_divider_1): Ditto. + +1998-05-16 Hrvoje Niksic <hniksic@srce.hr> + + * emacs.c (decode_path): Eliminate compiler warning. + (Fdecode_path): Renamed to Fsplit_path. + (Fsplit_string_by_char): New function. + +1998-05-14 Damon Lipparelli <lipp@primus.com> + + * winslots.h: close comment + +1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> + + * callproc.c: Removed declared and unused variable Qbuffer_file_type. + + * bufslots.h: Removed buffer_file_type slot. + + * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from + buffer local flags. + (complex_vars_of_buffer): Removed buffer-file-type variable and + its default reference. + +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> - * Makefile.in.in: removed dragdrop.o from objs - * config.h.in: HAVE_DRAGNDROP added - * emacs.c: do syms_of_dragdrop only if HAVE_DRAGNDROP is defined - * event-Xt.c: dragdrop.h include now depends on HAVE_DRAGNDROP - changed calls to dnd_url_hexify_string - MIME data is now a list of MIME strings or lists - this was required by CDE, and a good idea in any case - * dragdrop.c (dnd_url_hexify_string): method prefix code added - * dragdrop.h: dnd_url_hexify_string prototype changed - * frame-x.c (x_cde_transfer_callback): CDE adapted the new API + * faces.c (complex_vars_of_faces): Defined + Vvertical_divider_face. + (vars_of_faces): Staticpro it. + + * faces.h: Externed Vvertical_divider_face. + + * redisplay-x.c (x_output_vertical_divider): Use + Vvertical_divider_face to draw the divider instead of modeline + face. + + * redisplay-msw.c (mswindows_output_vertical_divider): Draw + divider face using Vvertical_divider_face background. + Fix drawing spacing gaps around the divider. + +1998-05-14 Didier Verna <verna@inf.enst.fr> + + * redisplay-x.c (x_output_vertical_divider): removed hard-wired + values for the vertical divider line width and spacing. Use the + cached values from the window structure instead. + (x_divider_width): ditto. + + * window.c (specifier_vars_of_window): new specifiers: + vertical-divier -line-width and -spacing. + (vertical_divider_global_width_changed): formerly known as + vertical_divider_shadow_thickness_changed. + + * winslots.h: new slots: vertical_specifier _line_width and + _spacing. Plus corrected a comment typo. + +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> + + * window.h: Declared window_divider_width(). -1998-05-05 Jonathan Harris <jhar@tardis.ed.ac.uk> + * console-stream.c (stream_divider_width): Removed method. + (console_type_create_stream): And declaration for it. + + * redisplay.c (pixel_to_glyph_translation): Use + window_divider_width() instead of divider_width redisplay method. + (pixel_to_glyph_translation): Fix top divider edge calculation + when scrollbar is on top. - * event-msw.c: now creates misc-user-events on dnd drops + * window.c (window_divider_width): New function, an outphaser for + divider_width redisplay method. + (window_right_gutter_width): Use it. + (specifier_vars_of_window): For vertical-divider-{spacing,line-width} + specifiers, set fallback values differently on TTYs, and document + the behavior of these on TTYs in the docstrings. + + * scrollbar.c (update_scrollbar_instance): Use + window_divider_width() instead of divider_width redisplay method. -1998-05-05 Oliver Graf <ograf@fga.de> + * console.h (struct console_methods): Removed divider_width_method. + + * redisplay-tty.c (tty_divider_width): Removed device method. + (console_type_create_redisplay_tty): Removed definition for it. + (tty_output_vertical_divider): Respect the value returned by + window_divider_width thus divider line width specification. + + * redisplay-msw.c (mswindows_divider_width): Removed device method. + (console_type_create_redisplay_mswindows): Removed definition for it. + (mswinodws_output_vertical_divider): Respect the value returned by + window_divider_width thus divider line width specification. - * events.h: changed comment for misc_user_events - * events.c (make-event): removed dnd_data defs - * frame.c: removed everything referring to drag_and_drop_functions - * frame-x.c (x_cde_transfer_callback): disabled (needs to be changed) - * lisp.h: removed Qdnd_data - * general.c: removed Qdnd_data - * symsinit.h: added syms_of_dragdrop - * frame.el: deleted default-drag-and-drop-functions +1998-05-15 Andy Piper <andyp@parallax.co.uk> + + * toolbar-msw.c: guess toolbar frame size a bit more accurately. + +1998-05-15 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c: resource loading implementation. + (cursor_normalize): new function. + (cursor_validate): ditto. + (cursor_instantiate): ditto. + (cursor_name_to_resource): ditto. + (cursor_possible_dest_types): ditto. + (check_valid_symbol): ditto. + (check_valid_string_or_int): ditto. + +1998-05-14 Martin Buchholz <martin@xemacs.org> + + * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like + VINTR and VQUIT. + + * process-unix.c (process_signal_char): Use VSUSP instead of + non-standard VSWTCH. Always prefer VSUSP to VSWTCH. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * specifier.c (specifier_instance): Change locale precedence of + instantiation so window locale has higher priority than buffer + locale. + (Fspecifier_instance): Reflect this in docstring. + (Fadd_spec_list_to_specifier): Ditto. + (Fadd_spec_to_specifier): Ditto. + (Fremove_specifier): Ditto. -1998-05-04 Oliver Graf <ograf@fga.de> +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> + + ** Dialog separation into a device method from Andy Piper + + * emacs.c (main_1): Call console_type_create_dialog_x(). + + * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted + into this device method. + (console_type_create_dialog_x): New function. + + * dialog.c (Fpopup_dialog_box): New function. + (syms_of_dialog): Defsubr it. + + * console.h (struct console_methods): Declared + popup_dialog_box_method(). + + * symsinit.h: Defined console_type_create_dialog_{x,mswindows} + +1998-05-14 Oliver Graf <ograf@fga.de> + + * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created + * frame-x.c (x_cde_transfer_callback): checked for merge errors + +1998-05-13 Oliver Graf <ograf@fga.de> + + * dragdrop.c (vars_of_dragdrop): provide dragdrop-api + +1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> - * events.c: removed all dnd_drop stuff - * events.h: extended misc_user_data by button info - removed dnd_drop event - * emacs.c: added call to syms_of_dragdrop - * dragdrop.c: created - * dragdrop.h: created - * event-stream.c (enqueue_misc_user_event): initialization of the - new fields of misc_user_data - dnd_drop stuff removed - * keymap.c: drop symbols removed - * Makefile.in.in: added dragdrop.o to objs + * console.h (device_metrics): Removed dbcs, input-method-editor + and right-to-left metrics. + + * device.c (Fdevice_system_metric): Ditto. + (Fdevice_system_metrics): Ditto. + (syms_of_device): Ditto. + (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back + again. + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> + + * line-number.h (mark_line_number_cache): Remove unused + declaration. + + * line-number.c (LINE_NUMBER_FAR): Increase to 32768. + (get_nearest_line_number): Simplify. + (add_position_to_cache): Make the old marker point nowhere. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + ** Renamed window-divider-map => vertical-divider-map + and event-over-divider-p => event-over-vertical-divider-p, + in the following files/functions: + * events.h: + * events.c (Fevent_over_divider_p): + * keymap.c (get_relevant_keymaps): + (vars_of_keymap): + + * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER. + + * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER. -1998-05-09 SL Baur <steve@altair.xemacs.org> +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * window.c (vertical_divider_changed_in_window): Renamed so. + (specifier_vars_of_window): Defined Vvertical_divider_draggable_p. + (window_needs_vertical_divider_1): Decide whether we need it based + on the value of the above specifier. If separators are unwanted, + put them only if there's no scrollbar between this window and its + right neighbor. + (have_undivided_common_edge): New function, helper for the above. + (window_needs_vertical_divider): Return either a cached value, + or clauclate and cache one. + (invalidate_vertical_divider_cache_in_window): Implemented. + (map_windows): Changed return type to int, return the value from + MAPFUN. - * EmacsFrame.c (EmacsFrameSetValues): Fix typo. - Suggested by: Kirill M. Katsnelson <kkm@kis.ru> + * window.h: Prototype invalidate_vertical_divider_cache_in_window. + (struct window): Added need_vertical_divider_p and + need_vertical_divider_valid_p. + + * winslots.h: Added vertical_divider_draggable_p slot. -1998-05-09 Kirill M. Katsnelson <kkm@kis.ru> + * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented. + (specifier_vars_of_scrollbar): Used it in all vertical specifiers. + + * frame.c (invalidate_vertical_divider_cache_in_frame): New function. + + * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call + invalidate_vertical_divider_cache_in_frame(). + Prototype it. + +1998-05-14 Andy Piper <andyp@parallax.co.uk> - * This change adds four scrollbar specifiers: - {horizontal,vertical}-scrollbar-visible-p and - scrollbar-on-{top,left}-p. - Spare parts supplied by Didier Verna <verna@inf.enst.fr> + * toolbar-msw.c: provide correct parameters to TB_SETROWS. + + * glyphs-msw.c (mswindows_initialize_image_instance_mask): size + masks correctly and don't select 0. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * winslots.h: New file, declaration of some struct window and + struct saved_window members. + + * window.h (struct window): Include it, with required preprocessor + magic. - * frameslots.h: Added slots for the four specifier caching. + * window.c (mark_window): Ditto. + (allocate_window): Ditto. + (struct saved_window): Ditto. + (mark_window_config): Ditto. + (saved_window_equal): Ditto. + (Fset_window_configuration): Ditto. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix. + +1998-05-12 Didier Verna <verna@inf.enst.fr> + + * redisplay-x.c (x_output_vertical_divider): draw shadows around + the divider line. The shadow thickness is currently + hard-wired. This will probably be turned into a specifier soon. + +1998-05-12 Didier Verna <verna@inf.enst.fr> - * frame.h: FRAME_SCROLLBAR_{WIDTH,HEIGHT} count for scrollbar - visible specifiers. - Removed old resource-only controlled scrollbar_on_* ints. + * console.h (struct console_methods): the divider_width console + method now requires a struct window * argument. + + * redisplay-x.c (x_divider_width): ditto. Plus remove + X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS. + (x_output_vertical_divider): give a depressed look when the shadow + thickness is negative. + + * console-stream.c (stream_divider_width): pass a struct window * + argument. + + * redisplay-tty.c (tty_divider_width): ditto. + + * window.c (window_right_gutter_width): totdi. + + * redisplay.c (generate_modeline): ittod. + + * scrollbar.c (update_scrollbar_instance): ttido. + + * redisplay-msw.c (mswindows_divider_width): ottid. + WARNING: this enables to compile, but the feature is not functional. + + * window.h (struct window): new field + vertical_divider_shadow_thickness. - * frame-x.c (x_layout_widgets): Removed (to x-scrollbar.el) - initialization of old style scrollbar placement from resources. + * window.c (specifier_vars_of_window): new specifier + vertical-divider-shadow-thickness. + (vertical_divider_shadow_thickness_changed): new function to + inform redisplay that the window has changed. + (mark_window): handle new field vertical_divider_shadow_thickness + from struct window. + (allocate_window): ditto. + (saved_window_equal): toddi. + (Fset_window_configuration): totid. + (save_window_save): ttdio. + (struct saved_window): new field vertical_divider_shadow_thickness. + +1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> + + * device-msw.c (mswindows_device_system_metrics): Support a deluge + of metrics. - * frame-tty.c (tty_init_frame_1): Removed initialization of old - style scrollbar placement. +1998-05-12 Oliver Graf <ograf@fga.de> + + * frame-x.c (x_cde_transfer_callback): fixed for the new protocol + * event-Xt.c (x_event_to_emacs_event): C++ compability + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> - * frame-msw.c (mswindows_init_frame_1): Removed random - initialization of scrollbar sizes to 15 pixel. + * emacs.c (Fdecode_path): Default SEPCHAR to value of + path-separator. + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> + + * emacs.c (vars_of_emacs): Do it here; change the meaning of + Vpath_separator. + + * fileio.c (vars_of_fileio): Don't define Vpath_separator here. + +1998-05-14 Hrvoje Niksic <hniksic@srce.hr> - * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Use - scrollbar placement specifiers cached values from window, instead - of the old per-frame values. - (mswindows_output_vertical_divider): Ditto. + * emacs.c (decode_path_1): New function. + (decode_path): Use it. + (Fdecode_path): Renamed from Fdecode_path_internal; use + decode_path_1. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * macros.c (Fzap_last_kbd_macro_event): New function. + (Fend_kbd_macro): Remove REMOVE_LAST kludge. + +1998-05-10 Andy Piper <andyp@parallax.co.uk> - * redisplay-x.c (x_output_vertical_divider): Ditto. + * redisplay-msw.c (mswindows_output_dibitmap_region): make sure + multiple bitmaps are output vertically as well as horizontally. + * (mswindows_output_dibitmap): don't cope with bitmap boundaries + crossing lines this is handled by + mswindows_output_dibitmap_region. + +1998-05-12 Martin Buchholz <martin@xemacs.org> + + * inline.c: Include eldap.h + + * menubar-x.c (x_update_frame_menubar_internal): + Remove: unused variable `container' + +1998-05-11 Martin Buchholz <martin@xemacs.org> + + * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly. + Unfortunately, the resulting temacs still cannot dump. - * redisplay-output.c (redisplay_clear_bottom_of_window): Ditto. + * symbols.c (symbol_is_constant): + (verify_ok_for_buffer_local): + -Wswitch Warning suppression - add default case to switches. + + * redisplay.c (decode_mode_spec): Remove unused variables, + Replace Fcoding_system_property (codesys, Qmnemonic) with + XCODING_SYSTEM_MNEMONIC (codesys); + Fcoding_system_property is for users. + + * buffer.c: + * fileio.c: + * lread.c: + * xselect.c: + Change empty docstrings into no doc strings at all. + Fix bogus FSF-format docstrings. - * scrollbar.c (update_scrollbar_instance): Ditto. - (specifier_vars_of_scrollbar): Declared the four specifiers. + * extents.c: + Standardize docstrings. + + * floatfns.c: + Explain problems with matherr. + + * glyphs.c: make DEFUNs etags-readable, i.e. single-line - * window.h (struct window): Defined slots for caching the new - specifiers. + * syssignal.h: + if BROKEN_SIGIO, then SIGIO wants to be undefined. + if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\ + Fix the weird resultant interaction (causes windows problems) + + * gdbinit: + * dbxrc: + Take new EMACSBOOTSTRAPLOADPATH into account. + Update documentation strings - * window.c (mark_window): Mark them. - (allocate_window): Initialize them. - (struct saved_window): Store them in a cool place. - (saved_window_equal): Compare them. - (save_window_save): Save them. - (Fset_window_configuration): Fetch them back. - (window_needs_vertical_divider): Check for scrollbar placement - using window cached specs. - (window_top_gutter_height): Ditto. - (window_bottom_gutter_height): Ditto. - (window_left_gutter_width): Ditto. - (window_right_gutter_width): Ditto. - (window_scrollbar_width): Account for scrollbar visibility - specification in window. - (window_scrollbar_height): Ditto. + * Makefile.in.in: + - Adjust for luser's CDPATH being set to something weird. + - Take into account bash 2.02's tendency to print the cwd when + using CDPATH. Always use `cd ./foo' instead of `cd foo'. + - fix the run-temacs target to use $(DUMPENV) + - fix the run-puremacs target to use $(DUMPENV) + - fix the `depend' target to properly $(RM) the right files + - Generate a better TAGS file for XEmacs' lisp code using + hand-crafted regexps. + - Use standard coding conventions for modules/Makefile.in + +1998-05-12 Didier Verna <verna@inf.enst.fr> + + * redisplay.c: removed the scrolling modeline code that didn't + make it for 21.0. To be continued ... + +1998-05-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (Fdecode_path_internal): Removed bogus handling of nil + and empty string inputs. + +1998-05-12 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay-x.c (x_output_vertical_divider): Fixed typo. + +1998-05-10 Oliver Graf <ograf@fga.de> + + * event-stream.c (enqueue_misc_user_event_pos): created + * lisp.h (enqueue_misc_user_event_pos): prototype added + * frame-x.c (x_cde_transfer_callback): debug code plus API changes + * emacs.c: call vars_of_dragdrop + * dragdrop.c (vars_of_dragdrop): provide dragdrop + +1998-05-11 Oliver Graf <ograf@fga.de> + + * frame-x.c (x_cde_transfer_callback): return at correct pos + * event-Xt.c (x_event_to_emacs_event): changed format of drop + object for MIME (see comment in dragdrop.c) + * dragdrop.c: API change documented in comment + removed provide of dragdrop [is provided by dragdrop.el] + +1998-05-12 Kirill M. Katsnelson <kkm@kis.ru> + + * window.c (window_needs_vertical_divider): Enable vertical + dividers for every non-rightmost window. + (window_left_gutter_width): Left gutter consists of mythical + toolbar and a virtual scrollbar. + (window_right_gutter_width): The right one may have a divider + also. + + * scrollbar.c (update_scrollbar_instance): Position vertical + scrollbar left to divider if the latter present. + + * redisplay.h: Declared OVER_DIVIER constant. + + * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER + case. + + * redisplay-x.c (x_output_vertical_divider): Output divider along + the right side of the window, down to window bottom. Swapped + foreground and background colors so it is visible by default. -1998-04-18 Kirill M. Katsnelson <kkm@kis.ru> + * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally + stick the divider to the right window side. + + * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed + deadbox painting. + (mswindows_divider_width): Ask system for user preferred value. + (mswindows_output_vertical_divider): Always output the divider on + the right side of a window, down to bottom. + + * keymap.c (get_relevant_keymaps): Route mouse button events which + happened over a window divider through window-divider-map. + (Fkey_binding): Documented that in the docstring. + Defined the variable Vwindow_divider_map. - * device.c (Fdevice_system_metrics): Added function. - Moved (device-pixel-height), (device-pixel-width), - (device-mm-width), (device-mm-height), (device-bitplanes), - (device-color-cells) to device.el, amd make them call - (device-system-metrics). + * events.c (Fevent_over_divider_p): Added this function. + + * events.h: EXFUNed it. + +1998-05-12 Kirill M. Katsnelson <kkm@kis.ru> + + * toolbar.c (update_frame_toolbars): Re-layout frame windows if + toolbar geometry is suspected to change. + +1998-05-11 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * src/device-msw.c + * src/event-msw.c + Condition dnd and dde code on HAVE_DRAGNDROP. + +1998-05-11 Hrvoje Niksic <hniksic@srce.hr> - * console.h (struct console_methods): Replaced methods: - device_pixel_width_method(), device_pixel_height_method(), - device_mm_width_method(), device_mm_height_method(), - device_bitplanes_method(), device_color_cells_method() - with single device_system_metrics_method(). - (device_metrics): Declared enumeration of supported - device system metrics. + * events.c (format_event_object): Print space as SPC etc. + +1998-05-11 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_internal): In the default case, abort() if + ERROR_CHECK_TYPECHECK. + + * fileio.c (Fmake_temp_name): Doc fix. + +1998-05-10 Hrvoje Niksic <hniksic@srce.hr> + + * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS. + + * undo.c (Fprimitive_undo): Fixed typo. - * device-msw.c (mswindows_device_system_metrics): Implement - device_system_metrics_method(), remove six obsolete methods. +1998-05-11 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (concat): Signal error on integer argument. + +1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> + + * console.h (device_metrics): Prefixed each constatnt with DM_ + + * device.c: (Fdevice_system_metric): Renamed so from plural form + (metrics); Changed parameters order and added DEFAULT parameter; + Unabbreviated some metric constants; Fixed and untabified doc string. + (Fdevice_system_metrics): Added. Returns a plist of all provided + metrics. + + * device-msw.c (mswindows_device_system_metrics): Renamed + device_metrics enum constants. + Return Qunbound instead of Qnil. * device-tty.c (tty_device_system_metrics): Ditto. * device-x.c (x_device_system_metrics): Ditto. -1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> - - * EmacsFrame.c (update_various_frame_slots): Do not store internal - border width there. - (EmacsFrameInitialize): Do it rather here. - (EmacsFrameSetValues): If EditRes has changed internal border - width, mark frame size as slipped. - -1998-05-06 Kirill M. Katsnelson <kkm@kis.ru> - - * frame.h (struct frame): Added char_{width,height} member - variables and access macros - Added size_slipped redisplay bit and mark/clear macros. - - * redisplay.c (redisplay_frame): Adjust frame size if size slipped - bit is set. - (redisplay_device): Call redisplay_frame if size slipped bit is set. - - * frame.c (adjust_frame_size): Redisplay beats frame back in shape - with this. Added. - (frame_size_slipped): Added. - (internal_set_frame_size): Clear size slipped bit. - (change_frame_size_1): Store real charsize into frame object. - (vars_of_frame): Declared adjust-frame-function. - - * frame-msw.c (mswindows_update_frame_external_traits): Same - change as for frame-x.c - (mswindows_frame_size_fixed_p): Implemented the method. - - * frame-x.c (x_update_frame_external_traits): Do not call - Fset_frame_size to adjust frame, redisplay will do. - - * faces.c (update_EmacsFrame): Mark frame as slipped when default - font changes. - - * toolbar.c (compute_frame_toolbars_data): Removed obsoleted call - to change_frame_size. Redisplay will fix it later. - Removed toolbar_*_changed_in_frame specifier - change handlers. - (specifier_vars_of_toolbar): Calls to these routed to - frame_size_slipped generic handler. - - * toolbar-x.c: Removed toolbar_*_changed_in_frame device methods. - - * scrollbar-x.c: Removed scrollbar_*_changed_in_frame device - methods. - - * scrollbar.c: Removed scrollbar_*_changed_in_frame specifier - change handlers. - (specifier_vars_of_scrollbar): Calls to the above changed to - frame_size_slipped generic handler. - - * menubar-x.c (x_update_frame_menubar_internal): Do not resize - frame, just mark frame size as slipped. - - * device-x.c: Removed declaration of in_specifier_change_function. - - * EmacsFrame.c (EmacsFrameSetValues): Do not check - in_specifier_change_function. - (EmacsFrameSetValues): Simulate a call to resize callback when no - actual geometry change happened. - - * console.h (struct console_methods): Removed declarations for all - <specifier>_changed_in_frame methods for toolbars and scrollbars. - Added frame_size_fixed_p method. - -1998-05-08 SL Baur <steve@altair.xemacs.org> - - * redisplay.c (decode_mode_spec): Guard against garbage - overwriting the stack. - -1998-05-08 Kirill M. Katsnelson <kkm@kis.ru> - - * dired-msw.c (vars_of_dired_mswindows): Syntax fix for union - lisp object type. - - * menubar-msw.c (populate_menu_add_item): Ditto. - - * ntheap.c (sbrk): Ditto. - - * ntproc.c (create_child): Ditto. - (syms_of_ntproc): Ditto. - -1998-05-07 Andy Piper <andyp@parallax.co.uk> - - * glyphs-msw.c: updates to support total transparency. - (mswindows_initialize_image_instance_icon): don't resize bitmaps - for icons. - (mswindows_initialize_image_instance_mask): new function. - Use these new functions as appropriate. - - * glyphs-msw.h (mswindows_initialize_image_instance_icon): - function renamed. - - * frame-msw.c: use renamed mswindows_initialize_image_instance_icon. - - * redisplay-msw.c: MaskBlt bitmaps if we have a mask, BitBlt - otherwise. - -1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> - - * unexnt.c (read_in_bss): Removed unused variables, replaced exits - with aborts. - (map_in_heap): Ditto. - -1998-05-06 SL Baur <steve@altair.xemacs.org> - - * frame.c (adjust_frame_size): Don't mix integers and Lisp_Objects. - -1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> - - * print.c (write_string_to_stdio_stream): Under MS Windows, flush - stdio and stderr after output. Ouch. - -1998-05-05 Andy Piper <andyp@parallax.co.uk> - - * event-msw.c: comment out broken dnd stuff and don't use msw socket - support if we have cygwin select. - -1998-05-03 Kirill M. Katsnelson <kkm@kis.ru> - - * events.h (STREAM_* defines): Defined constants for the parameter - FLAGS to create_stream_pair_cb(). - - * process.c (Fopen_network_stream_internal): Use flags from events.h - (Fopen_multicast_group_internal): Ditto. - - * process-unix.c (unix_create_process): Ditto. - - * event-unixoid.c (event_stream_unixoid_create_stream_pair): Ditto. - Changed #ifdef process type logic to catch configuretion errors - when no process type is defined. - - * event-msw.c: Implemented winsock_stream - (get_process_input_waitable): Differentiate network connections. - (emacs_mswindows_select_process): Ditto. - (emacs_mswindows_create_stream_pair): Ditto. - (emacs_mswindows_delete_stream_pair): Ditto. - - * process-nt.c: Implemented network connections. - (nt_init_process): Initialize Winsock. - - * sysdep.c (init_system_name): Ask for the right name right from - the system. - - * ntproc.c: Removed select emulation crap and dynamic Windock - loading. - - * nt.c: Removed a lot of terrible wrappers for socket functions. - - * s/windowsnt.h: Removed sys_select encapsulation. - -1998-05-05 Hrvoje Niksic <hniksic@srce.hr> - - * search.c (Fmatch_data): Synch with FSF. - -1998-05-04 Greg Klanderman <greg@alphatech.com> - - * events.h: Add extern declarations for focus_follows_mouse and - investigate_frame_change(). - * cmdloop.c (Fcommand_loop_1): cleanup focus-follows-mouse - handling - move externs to events.h. - -1998-05-05 Andy Piper <andyp@parallax.co.uk> - - * glyphs-msw.c: generate an AND mask when creating an icon and really - make it an icon if that is what is required. - - * glyphs-msw.h (mswindows_create_icon_from_image): new cursor - argument. - - * frame-msw.c (mswindows_set_frame_pointer): set the frame cursor when - asked. - -1998-05-05 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * s/windowsnt.h: - * s/rtu.h: - * s/aix4.h: - * m/wicat.h: - * m/gould.h: - * m/gould-np1.h - * unexhp9k3.c: - * unexconvex.c: - * unexalpha.c: - * unexaix.c: - * regex.c: - * process-unix.c: - * mule-mcpath.c: - * msdos.c: - * lisp.h: - * gmalloc.c: - * getloadavg.c: - * broken-sun.h: - Removed references to ancient bcmp, bzero, and bcopy. - -1998-05-04 Andy Piper <andyp@parallax.co.uk> - - * gui.el: make gui-button-face colors apply in the mswindows - domain as well as for x. - - * objects-msw.c (mswindows_string_to_color): grok - rgb:rrrr/gggg/bbbb color formats used by xpm-button.el. - -1998-05-04 Greg Klanderman <greg@alphatech.com> - - * window.c (Fselect_window): Add optional second argument - `norecord' to avoid recording a buffer change. - * window.h: change the EXFUN for Fselect_window. - * window.c (Fdelete_window): call Fselect_window with 2nd arg Qnil. - (Fother_window): ditto. - (temp_output_buffer_show): ditto. - (Fset_window_configuration): ditto. - (Fset_window_configuration): ditto. - * frame.c (Fselect_frame): ditto. - (Fset_frame_selected_window): ditto. - (delete_frame_internal): ditto. - * device.c (Fselect_device): ditto. - * console.c (Fselect_console): ditto. - * callint.c (Fcall_interactively): ditto. - -1998-05-05 Hrvoje Niksic <hniksic@srce.hr> - - * search.c (Fregexp_quote): Loop by characters, not by bytes. - -1998-05-05 Jan Vroonhof <vroonhof@math.ethz.ch> - - * redisplay.c (window_line_number): Guard against selected_device - = nil. - - * frame-x.c (x_init_frame_2): Revert to updating frame title. - -1998-05-05 SL Baur <steve@altair.xemacs.org> - - * emacs.c (shut_down_emacs): Update crash report information. - -1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> - - * linuxplay.c: Initialize audio_dev to /dev/dsp at - compile time instead of at run-time. Don't initialize - mixer_fd, audio_fd and audio_vol to -1; none of them need - it, and XEmacs will crash on some architectures when - these variable are modified after being initialized. - Declare audio_dev, audio_vol, audio_fd, and mixer_fd as - static, since none of them need to be visible outside - linuxplay.c. - -1998-04-27 Hrvoje Niksic <hniksic@srce.hr> - - * eldap.c (make_ldap): New function. - (finalize_ldap): Use it. - (Fldap_open): Ditto. - - * eldap.c (struct Lisp_LDAP): Removed connection status symbol. - - * eldap.h (LDAP_LIVE_P): Removed - (CHECK_LIVE_LDAP): Adapt to changes in struct Lisp_LDAP - -1998-05-03 Hrvoje Niksic <hniksic@srce.hr> - - * lread.c: (read_escape): Restore handling of \M-a; clarify - comment. - -1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> - - * realpath.c: Rename realpath() to xrealpath(). - - * fileio.c: Call xrealpath() instead of realpath(). - - * sysdep.h: Use #define to map xrealpath() calls to - realpath() on systems that have realpath(). - -1998-05-04 Martin Buchholz <martin@xemacs.org> - - * rangetab.c: - * rangetab.h: Move #include's from rangetab.h into rangetab.c for - consistency. - * inline.c: include rangetab.h to get GCC inlines - -1998-05-03 SL Baur <steve@altair.xemacs.org> - - * event-stream.c (event_stream_next_event): Reverse previous patch to - slow down poll for quit. - Suggested by Kyle Jones <kyle_jones@wonderworks.com> - - * lread.c (read_escape): Turn off interpretation of "\M..." - Suggested by Olivier Galibert <galibert@pobox.com> - - * lread.c (read_escape): add explanatory comment about why - FSF_KEYS are being turned off. - -1998-05-02 SL Baur <steve@altair.xemacs.org> - - * lread.c (FSF_KEYS): Remove if built with Mule. - -1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> - - * event-msw.c (ntpipe_shove_flusher): Removed. - (init_shove_stream): Flusher undeclared. - -1998-05-02 SL Baur <steve@altair.xemacs.org> - - * rangetab.c: `default_dumped' removed. - -1998-05-02 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fmake_event): Initialize key data for key-press - events. - -1998-05-02 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (close_stream_unwind): Renamed to delete_stream_unwind. - Delete the stream. - (Finsert_file_contents_internal): Delete STREAM after use. - (Fmake_temp_name): Improve randomness of generated file names. - (Fmake_temp_name): Don't initialize COUNT if in temacs. - -1998-05-02 Olivier Galibert <galibert@pobox.com> - - * buffer.h: Put the range_table lrecrod declaration where it - belongs... - - * rangetab.h: New file - ...which is here. - - * rangetab.c: Move declarations to rangetab.h - -1998-05-01 Hrvoje Niksic <hniksic@srce.hr> - - * data.c (Fneq): Fix docstring. - (arithcompare_many): Slightly simplify. - -1998-04-29 Andy Piper <andyp@parallax.co.uk> - - * s/cygwin32.h: don't define BROKEN_CYGWIN anymore since we normally - link with unixoid event loop now. - -1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> - - * event-stream.c (event_stream_next_event): Disable polling for - quit while XEmacs is blocked waiting for an event. - -1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> - - * specifier.h: Corrected documentation on magic specifiers. - Documented DEPTH parameter to instantiate_method. - Renamed reveal->unlock_ghost_specifiers_protected(). - - * specifier.c: Removed the reveal mechanism and made ghost - specifiers read-only, so they are accessible as fallbacks of magic - specifier, but aren't modifiable unless C code enables so. - (specifier_equal): Compare specifier fallbacks as well. - - * scrollbar.c (init_frame_scrollbars): - (init_device_scrollbars): - (init_global_scrollbars): Renamed - reveal->unlock_ghost_specifiers_protected(). - -1998-05-01 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fcar_less_than_car): Fix Flss caller. - (Fcdr_less_than_cdr): Ditto. - - * lisp.h: Fix declarations. - - * data.c: Enable many arguments versions of <, >, <=, >= and /=. - - * bytecode.c (Fbyte_code): Use arithcompare. - - * data.c (arithcompare): Make non-static. - -1998-04-30 Greg Klanderman <greg@alphatech.com> - - * frame.c (Fselect_frame): update docstring to describe - focus-follows-mouse behavior. - -1998-05-01 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (Fwrite_char): Don't touch Vprint_gensym. - (print_error_message): Don't gcpro TAIL. - (Fdisplay_error): Simplify. - -1998-04-30 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (print_internal): Use long_to_string(). - - * redisplay.c (decode_mode_spec): Remove bogus calculation of the - number of digits. - - * print.c (Fprin1): Removed THE_STREAM. - (Fprinc): Ditto. - (Fprint): Ditto. - (Fdisplay_error): Canonicalize STREAM here. - (print_error_message): Don't canonicalize STREAM. - (print_error_message): Use print_internal() instead of Fprin1 and - Fprinc. - - * print.c: (Fprin1_to_string): Delete internal stream explicitly. - (Ferror_message_string): Ditto. - (Fterpri): Use write_char_internal. - -1998-04-18 Martin Buchholz <martin@xemacs.org> - - * console-x.h: Initialize_Locale should not depend on HAVE_XIM, - esp. in the future. - - * Makefile.in.in: be more careful generating depend. - - * *.c (F*): Unfortunately, etags can only detect per-line - patterns, and so the DEFUN macro must have the lisp name and the C - name on the same line for a complete TAGS file. Make it so. - - * signal.c (init_signals_very_early): - * process.c (Fsignal_process): Order the signals in decreasing - order of standardization. Provide helpful standardization - comments. Add missing signal names. - - * unexhp9k800.c: Remove undefined roundup. - * symsinit.h: Add prototype for init_hpplay(). - -1998-04-30 Hrvoje Niksic <hniksic@srce.hr> - - * window.c (Fcenter_to_window_line): New function. - (Frecenter): Use it. - -1998-04-30 Hrvoje Niksic <hniksic@srce.hr> - - * dired.c (make_directory_hash_table): Constify. - - * scrollbar.c (Fscrollbar_page_up): Use Fcenter_to_window_line - instead of Frecenter. - (Fscrollbar_page_down): Ditto. - (Fscrollbar_to_top): Ditto. - (Fscrollbar_to_bottom): Ditto. - - * window.c (Frecenter): Removed. - -1998-04-29 Andy Piper <andyp@parallax.co.uk> - - * console.h: xpm_normalize is not a console method anymore. - - * event-msw.c: honour toolbar help string length. - - * glyphs-msw.c: make copyright more meaningful. implement color - symbol support for Xpm. (extract_xpm_color_symbols) new function. - - * glyphs.c (pixmap_to_lisp_data) (xpm_normalize): fucntions moved - from glyphs-x.c - - * glyphs.h: declare pixmap_to_lisp_data. - - * toolbar-msw.c: more meaningful copyright. - -1998-04-30 Hrvoje Niksic <hniksic@srce.hr> - - * macros.c (Fend_kbd_macro): New arg REMOVE-LAST. - - * gui-x.c (popup_selection_callback): Treat anonymous interactive - and compiled-function interactive callbacks as commands. - -1998-04-28 Hrvoje Niksic <hniksic@srce.hr> - - * abbrev.c (obarray_has_blank_p): Simplify. - -1998-04-27 Hrvoje Niksic <hniksic@srce.hr> - - * getloadavg.c (getloadavg): Removed some code repetition. - -1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> - - * process-nt.c: Document usage of #pragma warning. - (alloc_process_memory): Spell _ALPHA_ correctly. - -1998-04-29 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Change `progname' to `PROGNAME' for - consistency. - -1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> - - * frame.c (change_frame_size_1): Adjust frame row/columns taking - real toolbar size into account, not the theoretical one. - - * toolbar.c (set_frame_toolbar): Removed unused parameter. - Return void, not unused int. - Logic which checks whether toolbar to be recomputed moved here - from macro COMPUTE_TOOLBAR_DATA (r.i.p) - (compute_frame_toolbars_data): Removed COMPUTE_TOOLBAR_DATA. It - did not work due to a bug, and also did not check whether toolbar - size has changed. - Compute new character sizes passed to change_frame_size, do not - use the old (pre-toolbar-change) ones. - (update_frame_toolbars): Honor frame_changed and clear frame bits. - (recompute_overlaying_specifier): New helper function, called from - default toolbar specifier change handlers. - (default_toolbar_specs_changed): Use it. - (default_toolbar_size_changed_in_frame): Ditto. - (default_toolbar_border_width_changed_in_frame): Ditto. - (default_toolbar_visible_p_changed_in_frame): Ditto. - (toolbar_geometry_changed_in_window): New handler. The old one, - some_windows_value_changed, did not do the trick. - (default_toolbar_size_changed_in_window): New handler for default - toolbar. - (default_toolbar_border_width_changed_in_window): Ditto. - (default_toolbar_visible_p_changed_in_window): Ditto. - (specifier_vars_of_toolbar): Use one of the above four handlers - instead of some_windows_value_changed in toolbar specifiers. - -1998-04-29 Andy Piper <andyp@parallax.co.uk> - - * redisplay-msw.c (mswindows_output_string) - (mswindows_output_string): output the background pixmap if we have - one. - -1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * paths.h.in: Added PATH_PROGNAME and PATH_VERSION. - -1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (complex_vars_of_emacs): Added `emacs-program-name' and - `emacs-program-version'. - -1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> - - * process-nt.c: Signal support for Windows NT. - New code under subheadings "Running remote threads" and "Sending - signals". - (nt_create_process): Create new process suspended, then enable - signals in it, then resume it. - (nt_kill_child_process): Implemented - (nt_kill_process_by_pid): Ditto. - (process_type_create_nt): Registered the two above. - -1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c : slight cleanup and bugfix related to memory - corruption and possible leaks. Also fix a visual problem - with XPM pointers - -1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (x_init_image_instance_from_eimage): Make sure - automatic pointers are null... - -1998-04-27 Greg Klanderman <greg@alphatech.com> - - * cmdloop.c (Fcommand_loop_1): Call investigate_frame_change if - focus_follows_mouse is true. - - * event-stream.c (next_event_internal): Only call - investigate_frame_change if focus_follows_mouse is false. - - * event-stream.c (investigate_frame_change): Fix - focus_follows_mouse handling. It was the case that, with - focus_follows_mouse true, (select-frame (next-frame)) could leave - next-frame with input focus, but not window manager focus. Now - needs to be called from 2 places, conditional on the value of - focus_follows_mouse. - -1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> - - * frame.c (Fmake_frame): GC-protect new frame immediately upon - creation. - -1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> - - * frame.c (delete_frame_internal): Fixed spurious minibuffer - frames when creating minibufferless frames (reverted to 20.3 - source, change not in ChangeLog) - -1998-04-26 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> - - * eldap.h: Added CONCHECK_LDAP macro - - * eldap.c: Moved definition of most Lisp_object keywords to - general.c - (Fldap_close): Modified semantics to match those of - `Fclose_database' - (Fldap_search_internal): Do not consider a - `LDAP_SIZELIMIT_EXCEEDED' a fatal error - - * general.c: Added several keywords needed by eldap.c. Sorted - keywords alphabetically. - -1998-04-24 Hrvoje Niksic <hniksic@srce.hr> - - * eldap.c (finalize_ldap): New function; use it when declaring - LDAP lrecord type. - -1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> - - * fileio.c (Fwrite_file_contents_internal): Prefer stat() over - fstat() back for Windows, where closing a file changes its - modification time. - -1998-04-26 Amir J. Katz <amir@ndsoft.com> - - * sysdep.h: Simplified definition of strerror() - -Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> - - * emacs.c: - * symsinit.h: - * glyphs-eimage.c: rename glyphs_read to glyphs_eimage. - - * glyphs.c: - * console.h: - * glyphs-x.c: - * glyphx-msw.c: make xpm_normalize and xpm_instantiate device - methods and use them appropriately. Remove redundant pixmap file - handling functions. - -Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> - - * glyphs-msw.c: use XINT for lisp ints. - - * console-msw.c: remove redundant functions that break under union - type. - - * frame-msw.c: build lisp ints for functions that expect them. - - * objects-msw.c: don't LISP_HASH COLORREF's. - - * sheap.c: remove dependency on VALMASK. - -1998-04-27 SL Baur <steve@altair.xemacs.org> - - * debug.c (vars_of_debug): Remove `Fprovide("internal-debug")'. - -1998-04-27 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * device-msw.c: Unconditionally use InitCommonControls() instead - of InitcommonControlsEx() - the latter is not defined in all - environments. - -1998-04-26 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Religiously use ${progname}. - - * paths.h.in: Remove reference to user-defined site-lisp location. - * debug.c (vars_of_debug): Rename feature to 'internal-debug. - -1998-04-24 Martin Buchholz <martin@xemacs.org> - - * mule-charset.h: - * mule-charset.c: - Use ints instead of bitfields for Lisp_Charset fields. This - should work around bugs in the latest egcs snapshot, and make - XEmacs faster. Introduce dimension and chars as fields in - Lisp_Charset instead of computing them every time. The extra - space is about 1k, a reasonable price. - -1998-04-25 SL Baur <steve@altair.xemacs.org> - - * glyphs-x.c (xface_normalize): Add console_type parameters to - calls to `potential_pixmap_file_instantiator'. - -Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> - - * event-msw.c: fix and enable signal pipe handling when using msg - select(). - -1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * process-unix.c (allocate_pty): Typo fix. - -1998-04-25 Olivier Galibert <galibert@pobox.com> - - * s/irix5-0.h (PTY_OPEN): Ditto - * s/irix4-0.h (PTY_OPEN): Restore the stb variable. - -1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (complex_vars_of_emacs): Typo fixes. - - * emacs.c: Added configure-exec-prefix-directory. - - * paths.h.in: Added PATH_EXEC_PREFIX. - -1998-04-25 Olivier Galibert <galibert@pobox.com> - - * unexelfsgi.c (unexec): Kludge for Irix 5.3 which clears the - .sbss section no matter what. Defensively remove the alignment fix - if the .sbss section type isn't modified (Irix 6.5SE). Remove some - warnings. - -1998-04-24 Martin Buchholz <martin@xemacs.org> - - * data.c (Fnot): There has traditionally been kludgy startup lisp - code that called `null' even if `not' was more appropriate, - because `not' was defined in lisp. This is one primitive - sufficiently important that it should ALWAYS be defined. - -Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: add glyphs-eimage.o to build. - - * console.h: added console methods init_image_instance_from_eimage - and locate_pixmap_file. - - * emacs.c: add initialisation for glyphs-eimage.c - - * symsinit.h: declare glyphs-eimage functions. - - * glyphs-eimage.c: New file - generalised eimage support for gif, - tiff, png and jpeg, mainly from glyphs-x.c. - - * glyphs-msw.c: added init_image_instance_from_eimage. Tidied up - file location. - - * glyphs-x.c: disable gif, tiff, png and jpeg support in this - file. Added init_image_instance_from_eimage. Tidied up file - location. - - * glyphs.h: - * glyphs.c: abstract image location. - -Fri Apr 24 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> - - * config.h.in: support our special select - - * event-msw.c: - * toolbar-msw.c: - * console-msw.h: toolbar cleanup. - - * device-msw.c: - * emacs.c: - * frame-msw.c: - * glyphs-msw.h: - * ntplay.c: - * process-unix.c: - * select-msw.c: - * sheap.c: - * s/cygwin32.h: warning elimination. - -1998-04-24 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Fload_average): New argument USE_FLOATS. - - * alloc.c (Fstring): New function, synched with FSF 20.3. - -Thu Apr 23 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> - - * unexcw.c: cope with the reversed executable sections written by - binutils-2.9 ld and egcs. - -1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> - - * menubar-msw.c (populate_or_checksum_helper): Fixed to compile - with union type. - -1998-04-23 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Fload_average): Respect errno when reporting getloadavg() - errors. - - * getloadavg.c (getloadavg): Cleaner Solaris implementation, based - on sample code by Casper Dik. - -1998-04-23 SL Baur <steve@altair.xemacs.org> - - * frame-x.c (x_delete_frame): remove dead code. - -1998-04-22 SL Baur <steve@altair.xemacs.org> - - * print.c (Falternate_debugging_output): Unconditionally define. - -1998-04-22 Hrvoje Niksic <hniksic@srce.hr> - - * eval.c: Ditto. - - * alloc.c: Ditto. - - * lread.c: Ditto. - - * print.c: Removed standalone hacks. - -1998-04-23 Kirill M. Katsnelson <kkm@kis.ru> - - * toolbar-msw.c (mswindows_clear_toolbar): Fixed wabbit buttons. - (mswindows_output_toolbar): Gave 3D look to toolbars. Still no - pretty, needs more work. - (mswindows_move_toolbar): Renamed so because it does not deal with - redrawing exposed toolbars. - Properly position toolbars. - (mswindows_redraw_exposed_toolbars): Changed calls to the above. - (mswindows_find_toolbar_pos): Do not assert if toolbar not - found: a command can come from a menu. - (mswindows_handle_toolbar_wm_command): Quickly return nil if - toolbar not found. - -1998-04-22 Kirill M. Katsnelson <kkm@kis.ru> - - * device-msw.c (tagINITCOMMONCONTROLSEX): Uniform declaration - between SDK and cygwin. - (mswindows_init_device): InitCommonControls -> - InitCommonControlsEx typo fix. - -Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> - - * glyphs-msw.c (EImage2DIBitmap): count the number of bytes correctly. - -Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> - - * config.h.in: support for HAVE_MSG_SELECT. - - * console-msw.h: add support for four toolbars. - - * device-msw.c: init common controls. - - * event-msw.c: if HAVE_MSG_SELECT is defined use unixoid event - stream tye callbacks and select() on events rather than MWFMO. - Added event handling for tooltip messages. If you have this - special select then all process support works under cygwin. - - * frame-msw.c: add support for four toolbars. - - * redisplay-msw.c: update toolbars when an area is exposed. - - * signal.c: _WIN32 -> WINDOWSNT. - - * event-stream.c: enable unixoid initialization if we have it. - - * event-unixoid.c: allow us to turn off the signal pipe. - - * toolbar-msw.c: major overhaul. Enable support for all four - toolbars, fix display and sizing problems, enable tooltip support, - be more optimal about deleting toolbars. - - * toolbar.h: reinstate 0 toolbar border width for msw. - - * s/cygwin32.h: minor define updates. - -1998-04-22 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (Falternate_debugging_output): Define only if - DEBUG_XEMACS. - -1998-04-21 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fmake_temp_name): Updated docstring. - -1998-04-21 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (print_prepare): New argument FRAME_KLUDGE. - (print_prepare): If writing to a frame, return a resizing buffer - stream. - (print_finish): Flush the stream. - (Fprin1): Adjust calls to print_prepare() and print_finish(). - (Fprinc): Ditto. - (Fprint): Ditto. - (print_internal): Optimize printing of characters. - - * print.c (RESET_PRINT_GENSYM): New macro. - (print_prepare): Use it. - (print_finish): Ditto. - (Fwrite_char): Ditto. - (Fprin1_to_string): Ditto. - -1998-04-22 SL Baur <steve@altair.xemacs.org> - - * config.h.in: add FOR_MSW variable. - From Itay Ben-Yaacov <pezz@www-mail.huji.ac.il> - -1998-04-20 Kirill M. Katsnelson <kkm@kis.ru> - - * alloc.c (report_pure_usage): Remove ifdef WINDOWSNT around - "Don't panic, I will restart make". - -1998-04-19 Kirill M. Katsnelson <kkm@kis.ru> - - * process.c (vars_of_process): Declared lisp variable - windowed-process-io. - - * procimpl.h: Externally declared it. - - * process-nt.c (nt_create_process): Changed to honor the above - variable, and to utilize SHGetFileInfo to determine file type. - -1998-04-21 Martin Buchholz <martin@xemacs.org> - - * mule-ccl.c: Fix compiler warnings. I hate compiler warnings. - The code is clearer anyways without macros that goto. - -1998-04-22 SL Baur <steve@altair.xemacs.org> - - * glyphs.h: Add prototypes for signal_image_error and - signal_image_error_2. - Suggested by Hrvoje Niksic <hniksic@srce.hr> - -1998-04-18 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * fileio.c: Changed `directory-sep-char' to `path-separator', - following a change in GNU Emacs. - -1998-04-21 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> - - * eldap.c: As suggested by Hrvoje Niksic - (Fldap_search_internal): Loop and GCPRO cleanup - (print_ldap): Removed text translation - -1998-04-19 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> - - * eldap.c: (print_ldap): Ignore escapeflag - (Fldap_search_internal): Added unwind protection to appropriately - free the LDAP temporary structures in case of interruption. Added - a QUIT to the result fetching loop. - -1998-04-19 SL Baur <steve@altair.xemacs.org> - - * emacs.c (TopLevel): New variables: Vinfodock_major_version, - Vinfodock_minor_version, Vinfodock_build_version. - (vars_of_emacs): Initialize them. - - * config.h.in: Add InfoDock version numbers. - - * device-x.c (have_xemacs_resources_in_xrdb): distinguish whether - we're running as InfoDock or XEmacs. - -1998-04-18 SL Baur <steve@altair.xemacs.org> - - * glyphs-x.c: Remove definition of Q_color_symbols. - - * glyphs.h: Declare Q_color_symbols and evaluate_xpm_color_symbols. - -1998-04-17 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * console-msw.h: - Added "commctrl.h" and "X11/xpm.h" includes to support toolbars - and XPM. - - * glyphs-msw.c: - Removed (!NILP (Vmswindows_bitmap_file_path)) check in - locate_pixmap_file() so that lookups of absolute paths don't fail - if this is unset. - Added new mswindows_xpm_normalize(); - - * glyphs.h: - * glyphs.c: - * glyphs-x.c: - Moved generic XPM support out of glyphs-x.c into glyphs.c. - Functions moved: - signal_image_error, signal_image_error_2, - check_valid_xpm_color_symbols, evaluate_xpm_color_symbols, - xpm_possible_dest_types. - xpm_normalize and xpm_instantiate in glyphs.c just call the - appropriate x_ or mswindows_ funtion in glyphs-x.c or - glyphs-msw.c. - - * toolbar-msw.c: - Don't assert on empty toolbar. - - * toolbar.c: - * toolbar.h: - Adjusted mswindows default toolbar height/widths so redisplay is - correct. - -1998-04-18 Hrvoje Niksic <hniksic@srce.hr> - - * tooltalk.c (tt_message_arg_ival_string): Ditto. - - * redisplay.c (window_line_number): Ditto. - (decode_mode_spec): Ditto. - - * glyphs.c (print_image_instance): Ditto. - - * doprnt.c (emacs_doprnt_1): Ditto. - - * data.c (Fnumber_to_string): Use long_to_string(). - - * lisp.h: Declare long_to_string(). - - * print.c (Fprin1_to_string): Do the Vprint_gensym_alist stunt. - - * emacs.c (main_1): Don't create print stream. - - * print.c: Removed print_stream implementation. - (print_prepare): Don't create a print_stream. - (long_to_string): New function, from GNU Wget. - (print_internal): Use it. - (output_string): alloca() copies only for strings smaller than - 65536 bytes; else, inhibit gc. - -1998-04-18 Hrvoje Niksic <hniksic@srce.hr> - - * config.h.in: Check for DLERROR. - - * sysdll.c: Cosmetic changes. - -1998-04-18 Hrvoje Niksic <hniksic@srce.hr> - - * sysdll.c (dll_error): It's `dlerror', not `dl_error'. - -1998-04-17 Kirill M. Katsnelson <kkm@kis.ru> - - * specifier.c (prune_specifiers): Fix for Vall_specifiers - corruption. - - * specifier.h: Fixed GC_* macros to utilize GC_EQ, as suggested by - Steve. - -1998-04-17 Hrvoje Niksic <hniksic@srce.hr> - - * dll.c (Fdll_open): Simplify interface. - - * sysdll.c: Allocate BUF dynamically. - - * cmds.c (internal_self_insert): Removed `no-self-insert' hack. - -Fri Apr 17 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> - - * event-msw.c: don't use LocalAlloc()/LocalFree(). With unix - processes use a filestream for output. This makes subprocess - support work under cygwin. - -1998-04-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * fileio.c (vars_of_fileio): Resurreced directory-sep-char to be - DIRECTORY_SEP instead of hardwired "/". - -1998-04-16 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * fileio.c (file_name_as_directory): Now returns "./" (or NT - equivalent) for "". - -1998-04-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> - - * eldap.c: Fully rewritten introducing a new opaque LDAP Lisp - data type. - - * eldap.h: Ditto - -1998-04-17 Olivier Galibert <galibert@pobox.com> - - * fileio.c (vars_of_fileio): Finish directory_sep_char removal. - -1998-04-14 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (main_1): Added option --debug-paths and analogous - variable. - -1998-04-15 Hrvoje Niksic <hniksic@srce.hr> - - * frame-msw.c (Vmswindows_frame_being_created): Don't staticpro. - - * console-msw.h, event-msw.c, frame-msw.c: Renamed - mswindows_frame_being_created to Vmswindows_frame_being_created. - -1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> - - * event-msw.c (emacs_mswindows_quit_p): Do not check for quit - character in modal loop. - - * fileio.c: Removed Vdirectory_sep_char variable. - - * lisp.h: Removed extern decl for the above. - -1998-04-16 SL Baur <steve@altair.xemacs.org> - - * indent.c (vertical_motion_1): set_marker_restricted takes - Lisp_Objects. - -1998-04-17 Hrvoje Niksic <hniksic@srce.hr> - - * md5.c (Fmd5): Correctly rename argument. - - * print.c (Fprin1_to_string): Remove useless variable. - -1998-04-13 Greg Klanderman <greg@alphatech.com> - - * indent.c (vertical_motion_1): new helper function to share - common code between Fvertical_motion and Fvertical_motion_pixels. - Properly handle the WINDOW argument as the doc string indicates it - should. Update docstrings to be more clear and concise. - (Fvertical_motion): use vertical_motion_1. - (Fvertical_motion_pixels): use vertical_motion_1. - -1998-04-15 Kirill M. Katsnelson <kkm@kis.ru> - - * specifier.h: Introduced magic specifiers. Please read comments - in specifier.h. - - * specifier.c: Reworked many functions to support magic - specifiers. - - * scrollbar.c (specifier_vars_of_scrollbar): Made magic specifiers - Vscrollbar_width and Vscrollbar_height. - (init_frame_scrollbars): Enabled critical lisp code operate on - ghost specifiers. - (init_device_scrollbars): Ditto. - (init_global_scrollbars): Ditto. - - * scrollbar-msw.c (Fmswindows_init_scrollbar_metrics): Scrollbar - init function, called from init-scrollbars-from-resuorce in - lisp/scrollbar.c - (syms_of_scrollbar_mswindows): DEFSUBR it. - - * emacs.c (main_1): Called syms_of_scrollbar_mswindows() - - * symsinit.h: Declared syms_of_scrollbar_mswindows() - -Thu Apr 16 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> - - * frame-msw.c: - * console-msw.h: add toolbars to frame parameters. - - * emacs.c: call console_type_create_mswindows_toolbar - - * event-msw.c: call toolbar handling code in main event loop. - - * glyphs-msw.c (mswindows_create_icon_from_image) - (mswindows_resize_dibitmap_instance): new functions. Remove mask - stuff from various others. - - * redisplay-msw.c: - * menubar-msw.c: warning elimination. - - * toolbar-msw.c: new file. Reasonable implementation of toolbars - for mswindows. Some features are not complete. - - * toolbar.c: enable toolbar parameters for mswindows. - - * toolbar.h: choose slightly different toolbar defaults for - mswindows. - -1998-04-16 Hrvoje Niksic <hniksic@srce.hr> - - * lisp.h (CHECK_IMPURE): Use it. - - * data.c (pure_write_error): Accept an argument. - - * emacs.c (vars_of_emacs): New variable `internal-error-checking'; - initialize it. - -1998-04-16 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fmake_temp_name): Avoid random(); simplify. - -1998-04-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (complex_vars_of_emacs): Changed configure-exec-path to - configure-exec-directory. - (decode_path): Doesn't call file-name-as-directory no more as - empty components would lead to evil behavior. - -1998-04-16 Hrvoje Niksic <hniksic@srce.hr> - - * extents.c (decode_extent): Unify the error message. - -1998-04-17 Hrvoje Niksic <hniksic@srce.hr> - - * md5.c (Fmd5): Simplify; use only input and encoding streams. - (Fmd5): Separate coding guesswork into md5_coding_system(). - (Fmd5): Don't close the stream; deleting it is enough. - -1998-04-16 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Prefer fstat() over - stat. - -1998-04-15 Martin Buchholz <martin@xemacs.org> - - * fns.c (Fsubseq): Make (subseq nil 0 0) return nil, not #*. - -1998-04-16 SL Baur <steve@altair.xemacs.org> - - * device-x.c (get_device_from_display): Use "infodock" as the - fallback name when running as InfoDock. - -1998-04-14 Greg Klanderman <greg@alphatech.com> - - * device-x.c (compute_x_app_name): New function needed to compute - application name to use now that XtOpenDisplay is decomposed into - XOpenDisplay and XtDisplayInitialize. - (x_init_device): use it. - -1998-04-06 Greg Klanderman <greg@alphatech.com> - - * device-x.c (have_xemacs_resources_in_xrdb): adhere to coding - standards and avoid opening display twice by breaking - XtOpenDisplay into XOpenDisplay and XtDisplayInitialize. - (x_init_device): Ditto. - -1998-04-15 Olivier Galibert <galibert@pobox.com> - - * s/aix3-2-5.h: Ditto. - - * s/aix4-1.h: Ditto. - - * s/aix4-2.h: Ditto. - - * s/bsd386.h: Ditto. - - * s/bsdos2-1.h: Ditto. - - * s/dgux.h: Ditto. - - * s/esix.h: Ditto. - - * s/esix5r4.h: Ditto. - - * s/hpux8.h: Ditto. - - * s/hpux9-shr.h: Ditto. - - * s/hpux9-x11r4.h: Ditto. - - * s/hpux9.h: Ditto. - - * s/hpux9shxr4.h: Ditto. - - * s/isc3-0.h: Ditto. - - * s/isc4-0.h: Ditto. - - * s/ptx.h: Ditto. - - * s/sco4.h: Ditto. - - * s/sco5.h: Ditto. - - * s/usg5-3.h: Ditto. - - * s/usg5-4-2.h: Ditto. - - * s/usg5-4.h: Kill a bunch of now autodetected defines. - -1998-04-05 Greg Klanderman <greg@alphatech.com> - - * window.c (Fwindow_displayed_pixel_height): rename more - appropriately as window-text-pixel-height. - (syms_of_window): Update the DEFSUBR. - (Fwindow_text_pixel_width): New function for completeness. - (Fwindow_text_pixel_edges): New function. - (syms_of_window): DEFSUBR 2 new functions. - -1998-04-13 Greg Klanderman <greg@alphatech.com> - - * redisplay.c (redisplay_window): When echo area is active, and we - swap in the echo area buffer, restore the minibuffer's pointm and - startp when we restore the minibuffer to the window. This avoids - having the minibuffer point randomly change when it is active but - not selected and a message is shown. - -1998-04-16 Hrvoje Niksic <hniksic@srce.hr> - - * md5.c: replaced RSA reference code with GNU textutils implementation. - -1998-04-14 Martin Buchholz <martin@xemacs.org> - - * signal.c (init_signals_very_early): Make `nohup xemacs &' work. - Wrap #ifdefs around uses of SIGQUIT and SIGILL. - -1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> - - * objects-msw.c (mswindows_initialize_font_instance): Fixed assert - abuse; proper cleanup on GDI error. - -1998-04-14 Kirill M. Katsnelson <kkm@kis.ru> - - * console-msw.h: Declared get_nt_process_handle() and - mswindows_bump_queue(). - Removed declarations for mswindows_enqueue_dispatch_event() and - mswindows_enqueue_magic_event(). - - * event-msw.c (emacs_mswindows_create_stream_pair): Casts on - handle types and get_osfhandle() return type. From Andy Piper. - (emacs_mswindows_select_process): Get Win32 process handle - directly from process lrecord. - (get_process_handle): Removed function. - (emacs_mswindows_handle_magic_event): Removed handling of - XM_BUMPQUEUE magic event. - (mswindows_wnd_proc): Removed handling of WM_EXITMENULOOP message, - which called a do-nothing handler in menubar-msw.c - (mswindows_wnd_proc, WM_EXITSIZEMOVE): Queue an empty event - instead of magic event, via mswindows_bump_queue(). - (mswindows_wnd_proc, WM_CLOSE): Ditto. - (mswindows_need_event): Call mswindows_bump_queue() upon process - termination, in case process pipe does not get closed along. - Do not close process handle. - (mswindows_bump_queue): Added function. - (mswindows_enqueue_dispatch_event): Made static. - (ntpipe_slurp_*): Revamped the slurp thread implementation so the - stream does not expect the thread to terminate when stream is closed. - (ntpipe_slurp_reader): Fixed an attempt to read zero bytes from - the pipe. - - * event-stream.c (event_stream_deal_with_async_timeout): - Conditionalized timer-based polling for finished processes on - HAVE_UNIX_PROCESSES. - - * menubar-msw.c (mswindows_handle_wm_command): Queued proper bump - queue event. - (mswindows_handle_wm_exitmenuloop): Removed function. - - * menubar-msw.h: Removed unused function prototype. - - * process-nt.c (get_nt_process_handle): Added function. - - * signal.c (init_poll_for_sigchld): Conditionalized on - HAVE_UNIX_PROCESSES. - -1998-04-13 Kirill M. Katsnelson <kkm@kis.ru> - - * frame-msw.c: Implemented the following methods: - mswindows_get_mouse_position() - mswindows_set_mouse_position() - mswindows_frame_totally_visible_p() - -1998-04-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c: Renamed inhibit-package-init to inhibit-early-packages - to better reflect its semantics. - Renamed inhibit-update-autoloads to inhibit-package-autoloads. - (complex_vars_of_emacs): Added site-directory and lisp-directory. - -no-packages -> no-early-packages. - - * Makefile.in.in: Reflected reinstatement of paths.h.in. - - * paths.h.in: Reinstated. - - * paths.h.in.in: Removed. - - * config.h.in: Moved configure path and directory options from - paths.h.in.in. - -1998-04-11 Kirill M. Katsnelson <kkm@kis.ru> - - * event-msw.c (emacs_mswindows_quit_p): don't recurse. - -1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> - - * callproc.c (init_callproc): Correctly initialize - `shell-file-name' for WINDOWSNT - - * emacs.c (main_1): Properly called new functions (see symsinit.h - entry for which). - - * event-msw.c (struct ntpipe_slurp_stream): - (slurp_thread): - (make_ntpipe_input_stream): - (get_ntpipe_input_stream_waitable): - (get_ntpipe_input_stream_param): - (ntpipe_slurp_reader): - (ntpipe_slurp_closer): - (init_slurp_stream): Win32 pipe input stream implementation. - (struct ntpipe_shove_stream): - (shove_thread): - (make_ntpipe_output_stream): - (get_ntpipe_output_stream_param): - (ntpipe_shove_writer): - (ntpipe_shove_was_blocked_p): - (ntpipe_shove_flusher): - (ntpipe_shove_closer): - (init_shove_stream): Win32 pipe output stream implementation. - (mswindows_enqueue_process_event): Dispatch helper. - (find_waitable_handle): - (add_waitable_handle): - (remove_waitable_handle): New three, waitable handles handling. - (mswindows_need_event_in_modal_loop): Simplified. - (mswindows_need_event): Simplified. - (mswindows_need_event): Generate process events on process output; - kick status_notify when a process ends. - (mswindows_find_console): Simplified. - (emacs_mswindows_event_pending_p): Adjusted parameters to - mswindows_need_event(). - (emacs_mswindows_next_event): Ditto. - (get_process_input_waitable): - (get_process_handle): Process select/unselect helpers. - (emacs_mswindows_select_process): Implemented. - (emacs_mswindows_unselect_process): Implemented. - (emacs_mswindows_quit_p): Call mswindows_drain_windows_queue() - directly so do not even try do dequeue process events. Saved a - byte and a tick. - (emacs_mswindows_create_stream_pair): Implemented. - (emacs_mswindows_delete_stream_pair): Implemented. - (vars_of_event_mswindows): Registered the above two. - (lstream_type_create_mswindows_selectable): Function called from - emacs.c to create two pipe lstream types. - - * ntproc.c (sys_select): Disgustful brain fart this file is. - - * process-nt.c: New file: Asynchronous subprocess implemenation - for Win32. - - * process.h: Declare Fprocess_id(). - - * signal.c (init_signals_very_early): Conditionalize possibly - nonexistent signals. - - * symsinit.h: Declared: - lstream_type_create_mswindows_selectable () - process_type_create_nt () - vars_of_process_nt () - - * s/windowsnt.h: Defined HAVE_WIN32_PROCESSES. - Removed fake SIGTRAP, SIGPIPE and SIGCHLD. - -1998-04-10 Martin Buchholz <martin@xemacs.org> - - * fns.c (Fnthcdr): - Most times through the loop will get a cons, so optimize for that. - - * bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround. - Add NATNUMP check for Bnth bytecode. - Bnth: Optimize case of n > length (list). - QUITs not necessary since even if list is circular, n will count - down to 0. - Bnthcdr: inline the code for nthcdr (we have a bytecode for it, - after all) - Bcdr, Bcar: Use tail recursion. - -1998-04-10 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (redisplay_window): Don't lose with negative - scroll_step. - -1998-04-09 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fmake_temp_name): Don't use `+' in generated file - names. - (Fmake_temp_name): Randomize the initial values of counters. - -1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * Makefile.in.in: paths.h.in is now generated from paths.h.in.in. - - * emacs.c (decode_path): Removed parsing of "::" into nil component. - -1998-04-09 Martin Buchholz <martin@xemacs.org> - - * lstream.c (make_filedesc_stream_1): Fix another Martin blooper. - -1998-04-07 SL Baur <steve@altair.xemacs.org> - - * emacs.c (Fdump_emacs): Delete superfluous open comment. - -1998-04-06 SL Baur <steve@altair.xemacs.org> - - * emacs.c (Fdump_emacs): Move call to disable_free_hook back to - Fdump_emacs where it belongs. - -1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> - - * nt.c (sys_mkdir): Added the second unused parameter, after UNIX - version. Suggested by Martin. - -1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> - - * event-msw.c (mswindows_wnd_proc): Fix member access macro names. - - * frame-msw.c (mswindows_frame_property): - (mswindows_internal_frame_property_p): - (mswindows_frame_properties): Implemented for the 'left and 'top - properties. - (console_type_create_frame_mswindows): Regsitered the above. - (mswindows_set_title_from_bufbyte): Update title only if it has - really changed. This avoids a bit of flashing. - - * console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title - smoother. - (MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek! - -1998-04-06 Kazuyuki IENAGA <ienaga@jsys.co.jp> - - * unexfreebsd.c: introduce FreeBSD port's patch to avoid - FreeBSD-current warns "Absurd new brk addr". - -1998-04-06 Colin Rafferty <colin@xemacs.org> - - * glyphs-x.c (struct gif_error_struct): Made the err_str point to - a CONST char* instead of non-const. - (tiff_memory_write): Add fake return statement to shut up warnings. - -1998-04-06 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Correctly handle - special files larger than 32K. - -1998-04-06 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fmake_temp_name): Don't call mktemp(). - -1998-04-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * unexelf.c: include <config.h> first. - -1998-04-04 Martin Buchholz <martin@xemacs.org> - - * sysdep.c: Add #include <sys/termio.h> for AIXHFT as suggested - on c.e.x. - - * nt.c: - * ntproc.c: - Change "config.h" to <config.h>. Add dire warnings to code since - config.h is not included first. - - * powerpc.h: Avoid redefinition warning on START_FILES. - - * window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window. - * hpplay.c: Rename play_gain to hp_play_gain in accordance with - coding standards. - - * frame-x.c (x_lower_frame): - (x_raise_frame_1): Clarify code. Save a nanosecond if frame not - visible. - - * fileio.c (Fmake_temp_name): Use static CONST suffix; save a - nanosecond. - -1998-04-05 Amir J. Katz <amir@ndsoft.com> - - * sysproc.h: Added #include <sys/types.h> before <sys/socket.h> - otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1 - - * sysdep.h: strerror() does not return CONST in gcc 2.8.1 - -1998-04-05 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (generate_fstring_runes): Grok specifiers and - symbols indirecting to specifiers. - -1998-04-06 Olivier Galibert <galibert@pobox.com> - - * events.c (print_event): XINT() may return a long. - - * insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int. - (buffer_insert_string_1): ditto. - - * regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor - ptrdiff_t are portably printable as an int. - - * redisplay.c (window_line_number): Don't assume that an EMACS_INT - in an int. - - * alloc.c (report_pure_usage): Don't assume that a size_t is - displayable as an int. - -1998-04-06 SL Baur <steve@altair.xemacs.org> - - * process-unix.c: Fix typo in #ifdef. - From Hrvoje Niksic <hniksic@srce.hr> - -1998-04-06 Olivier Galibert <galibert@pobox.com> - - * unexelfsgi.c (unexec): Don't treat the sbss section as bss if it - isn't one. Needed for irix 6.5. - -1998-04-05 Martin Buchholz <martin@xemacs.org> - - * sysdep.h: Two prototypes that weren't properly size_t'ed - -1998-04-04 Martin Buchholz <martin@xemacs.org> - - * ralloc.c: mallopt <==> malloc.h. - -1998-04-04 Martin Buchholz <martin@xemacs.org> - - * emacs.c: #include <paths.h>, not "paths.h" - This is a standard bug. It manifests if you configure in the - source tree, then configure elsewhere with --srcdir. - Remove misleading PATH_EXEC comment; PATH_PACKAGEPATH is also used. - -1998-04-04 Olivier Galibert <galibert@pobox.com> - - * s/386bsd.h: Removed obsolete define. - -1998-04-04 Olivier Galibert <galibert@pobox.com> - - * s/386-ix.h: Removed useless define. - - * sysdep.c (insque): Removed. Not used anywhere in the code. - -1998-04-04 Olivier Galibert <galibert@pobox.com> - - * process-unix.c (unix_kill_child_process): Use TIOCSIGSEND or - TIOCSIGNAL as needed. - - * s/usg5-4.h: Remove kludgy TIOCSIGSEND #define which breaks on - irix 6.5. - -1998-03-28 Hrvoje Niksic <hniksic@srce.hr> - - * insdel.c (emchar_string_displayed_columns): Simplify for - non-Mule case. - - * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Issue nicer output. - -1998-04-01 Martin Buchholz <martin@xemacs.org> - - * sysdir.h (sys_mkdir): - * sysfile.h (sys_read): - (sys_write): - (sys_chmod): - (sys_creat): - - * sysdep.c (sys_read_1): - (sys_read): - (sys_write_1): - (sys_write): - (sys_mkdir): - (sys_readlink): - (sys_chmod): - (sys_creat): - - * nt.c (sys_read): - (sys_chmod): - (sys_creat): - (sys_write): Change types of sys_* in accordance with published - standards. Use size_t and mode_t instead of unsigned int and int. - -1998-04-03 Martin Buchholz <martin@xemacs.org> - - * config.h.in (enum_field): - * lisp-union.h: - * extents.h: - * redisplay.c (add_margin_runes): - Prefer enums for use as bitfields in preference to unsigned int, - but allow the possibility to suppress it if a compiler disallows - it or emits annoying warnings. Currently only __SUNPRO_C cc -Xc - used unsigned ints. - - * event-stream.c: Fixup DEFVAR for - Vcomposed_character_default_binding; Real bug! - * event-msw.c: Rename mswindows_button2* to mswindows_mouse_button* - * emacs.c: Rename suppress_early_backtrace to - suppress_early_error_handler_backtrace - * objects-x.c: Rename handle_nonfull_spec_fonts to - x_handle_non_fully_specified_fonts - * lread.c: Rename puke_on_fsf_keys to - fail-on-bucky-bit-character-escapes - * lread.c: - * doc.c: Rename Vdoc_file_name to Vinternal_doc_file_name - * fileio.c: - * bufslots.h: - * buffer.c: Rename save_length to saved_size - * alloc.c: Rename pureptr to pure_bytes_used - * abbrev.c: Rename last_abbrev_point to last_abbrev_location - * lisp.h: - DEFVAR_* are supposed to be named following a standard convention. - -1998-04-03 Martin Buchholz <martin@xemacs.org> - - * callint.c: - * ralloc.c: - * data.c: - * eldap.c: - * extents.c: - * frame-msw.c: - * frame-x.c: - * general.c: - * process.c: - * xselect.c: - Rationalize defsymbol handling. - defsymbols are supposed to have equivalent C and Lisp names, for - consistency. At least one real bug (end-glyph-layout) fixed. - Move multiply defsymbol'ed stuff into general.c. - -1998-04-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * m/ibmrs6000.inp: Removed; obsoleted by configure.in changes. - -1998-04-03 Martin Buchholz <martin@xemacs.org> - - * console-tty.c (Fset_console_tty_input_coding_system): - (Fset_console_tty_output_coding_system): - Input/Output and encoding/decoding were reversed. - -1998-04-02 SL Baur <steve@altair.xemacs.org> - - * m/powerpc.h: Remove LD_SWITCH_MACHINE for Linux. - -1998-04-02 Greg Klanderman <greg@alphatech.com> - - * window.c (set_window_pixsize): Move up call to - check_min_window_sizes. - - * indent.c (vmotion_1): renamed from vmotion() and added - additional argument to optionally return the pixel motion. - (vpix_motion): Helper for vmotion_1. - (vmotion): Wrapper - just call vmotion_1() with the right args. - (Fvertical_motion_pixels): New function. - (syms_of_indent): DEFSUBR it. - -1998-04-02 Martin Buchholz <martin@xemacs.org> - - * xselect.c: - * event-Xt.c: - * emacs.c: - Remove last vestiges of #ifdef EPOCH code. It had no chance of - working anyways. In honour of seeing Marc Andreesen in person for - the first time today. - -1998-04-01 Martin Buchholz <martin@xemacs.org> - - * extents.h: - * lisp-union.h: - Don't use enums as bitfields - only unsigned ints. - Fixes: warning: nonportable bit-field type - - * eval.c (call_with_suspended_errors): More volatilizing to - appease Sunpro cc. - - * mem-limits.h: - * ralloc.c: Remove #undef NULL; they're not even used! - - * process-unix.c (unix_send_process): send_process is a method, so - we can't include volatile in the prototype. We make the argument - non-volatile, make a volatile copy, and then use that instead. - - * frame-x.c (x_delete_frame): The `frame' variable is initialized - but not actually used. - - * Makefile.in.in (xselect.o): The last line of b34-pre2's - src/Makefile.in.in contains a dependency that should have been - patched away. - (mostlyclean): Remove the removal of depend.* - no such files - exist anymore - - * make-src-depend: include a dependency on only one of - lisp-union.h or lisp-disunion.h. - -1998-04-01 Martin Buchholz <martin@xemacs.org> - - * specifier.c (specifier_instance_from_inst_list): A nanosecond - saved is a nanosecond earned. - -1998-03-31 Greg Klanderman <greg@alphatech.com> - - * redisplay.c (update_line_start_cache): Fix bug involving - invisible text in which the line_start_cache gets hosed. - -Sun Mar 29 1998 Andy Piper <andyp@parallax.co.uk> - - * console-msw.h: define FRAME_MSWINDOWS_CDC. - - * frame-msw.c: (mswindows_set_frame_icon) new function. Works but - no masks as yet. - - * glyphs-msw.c: GNUize the code. Fix 24bpp display and make the - default. Add managment of icons. - - * glyphs-msw.h: add icon attributes. - - * redisplay-msw.c: (mswindows_output_pixmap) remove unused cursor - code. - - * objects-msw.c: eliminate char subscript warning. - -1998-04-01 SL Baur <steve@altair.xemacs.org> - - * sysdll.c (dll_close): fix typo. - Suggested by Marcus Thiessel <marcus_thiessel@hp.com> - - -1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> - - * device.c (Fset_device_class): Recompute cached - specifiers everywhere if device class is changed. - Set various redisplay flags so that the device's - various frames are redisplayed. - -1998-03-31 SL Baur <steve@altair.xemacs.org> - - * lrecord.h (DECLARE_NONRECORD): Remove redundant paren. - Suggested by Martin Buchholz <martin@xemacs.org> - -1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> - - * gui.c (gui_item_display_flush_left): Fix suffix length. - -1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> - - * s/windowsnt.h: Defined SIZEOF_LONG_LONG and SIZEOF_VOID_P - - * dired-msw.c: Included <limits.h> - - * config.h.in (VOID_P_BITS): Fixed so that uses SIZEOF_VOID_P - -1998-03-31 SL Baur <steve@altair.xemacs.org> - - * glyphs.c (image_instantiate_cache_result): Correct order of - parameters to Fputhash. - Suggested by Kirill M. Katsnelson <kkm@kis.ru> - -1998-03-30 Martin Buchholz <martin@xemacs.org> - - * redisplay.c (create_right_glyph_block): glyph_type should really - be glyph_layout. - -1998-03-29 Martin Buchholz <martin@xemacs.org> - - * sysfile.h: Move all encapsulations from lisp.h/emacsfns.h into - sysfile.h. Users of the functionality herein will have to - #include sysfile.h. - Check all .o files for missing #includes. - * config.h.in: - Discovered that config.h.in was missing ENCAPSULATE_CLOSEDIR, as a - result of fixing the above. - - * gui.c (gui_item_add_keyval_pair): We should not use the idiom - error ("%S", lisp_object) in C code. - I converted the code to use signal_simple_error_2 instead. - (signal_too_long_error): Ditto. - - * glyphs.c (image_instantiate_cache_result): Use XC[AD]R instead - of Fc[ad]r. This is always called with valid conses, and in fact, - already assumed it. - - * font-lock.c (find_context): Use context_none with context - instead of ccontext_none. - - * fns.c (Flength): The CONSP and NILP code can be combined. - Change the name of the arg to SEQUENCE from OBJ. - (Fnthcdr): CHECK_NATNUM instead of CHECK_INT. Optimize out Fcdr calls. - (Felt): Change argument from seq to sequence to match docstring. - -1998-03-28 Martin Buchholz <martin@xemacs.org> - - * fns.c (string_putprop): - (string_getprop): Make method functions static. - - * window.c (find_window_by_pixel_pos): Warning suppression. - - * imgproc.c (splitbox): Warning suppression. - - * redisplay-x.c (x_output_eol_cursor): Remove redundant XSETWINDOW. - - * glyphs-x.c (signal_image_error): - (signal_image_error_2): - (convert_EImage_to_XImage): Make functions static. - - * editfns.c (Fbuffer_size): Rename the `F' function to - Fbuffer_size in accordance with coding standards. - - * dll.c (Fdll_open): Fix up data conversion. - Provide auxiliary function maybe_call_library_function(). - - * device-x.c (get_x_display): make function static. - - * data.c (Fcar): Should generate listp, not consp error. - (Fcdr): Should generate listp, not consp error. - -1998-03-27 Martin Buchholz <martin@xemacs.org> - - * console-tty.c (free_tty_console_struct): - Replace con->console_data with CONSOLE_type_DATA (con) - - * *.[ch]: C++ compilability of xemacs, on Linux and Solaris. - - * casetab.c (Fcase_table_p): Optimize. - - * eval.c: - * bytecode.c: - Rename Fcondition_case_3 to condition_case_3 - it's not a DEFUN. - - * buffer.h: - Remove all *BUFFER_OR_STRING* macros - unused. - (memind_to_bytind): Merge two versions of function by moving - #ifdef ERROR_CHECK_BUFPOS into the function body. - (*_DATA_ALLOCA*): get types correct. rewrite for clarity. - - * balloon_help.c (balloon_help_destroy): rearrange order of - functions, and remove prototype from header file. - - * alloc.c (deadbeef_memory): Rewrite. Use size_t for clarity. - Don't bother with the left-over bytes, since in practice we will - always get called with a size multiple of 4. - (Fmake_list): CHECK_NATNUM instead of CHECK_INT - (vector[4567]): Currently unused; ifdef out. - (make_pure_float): make function static. - (garbage_collect_1): Optimize. - -1998-03-23 Martin Buchholz <martin@xemacs.org> - - * marker.c (print_marker): Fix compiler warning, real bug! - - * device.h (MARK_DEVICE_FRAMES_FACES_CHANGED): - * frame.h (MARK_FRAME_FACES_CHANGED): - (MARK_FRAME_TOOLBARS_CHANGED): - (MARK_FRAME_SIZE_CHANGED): - (MARK_FRAME_CHANGED): - (MARK_FRAME_WINDOWS_CHANGED): - (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): - Fix multiple evaluation of macro arguments. - Macros are a fact of life. Callers have to use temp variables to - avoid multiple evaluation of arguments. - - * data.c (Ftrue_list_p): New function, with obvious meaning. - This is terminology from Cltl2. - Also define a corresponding macro TRUE_LIST_P. - - * device-x.c (validify_resource_component): Optimize. Rename. - Use the standard technique of using a precomputed table of valid chars. - - (x_get_resource_prefix): - (Fx_get_resource): - (Fx_get_resource_prefix): - Avoid fixed buffer sizes. Use a char_dynarr. - Run validify_resource_component on all computed components. - - * lisp.h: Define a char_dynarr type. - -1998-03-22 Martin Buchholz <martin@xemacs.org> - - * fns.c (Fcopy_alist): Optimize. - - * alloc.c (acons): New function. Now used in the C code. - Definition in cl.el is commented out. Add docstring. - Use acons in functions which create alists. - * lisp/cl.el (acons): Add docstring. Really otta be a macro, tho. - - * buffer.c (Fbuffer_memory_usage): - * window.c (Fwindow_memory_usage): - Clean up horrible consing code using new acons function. - Fix incorrect value reported for gap-overhead. - - * fns.c (Fmember): - (Fold_member): - (Fmemq): - (Fold_memq): - (memq_no_quit): - (Fassoc): - (Fold_assoc): - (Fassq): - (Fold_assq): - (assq_no_quit): - (Frassoc): - (Fold_rassoc): - (Frassq): - (Fold_rassq): - (rassq_no_quit): - (Fdelete): - (Fold_delete): - (Fdelq): - (Fold_delq): - (delq_no_quit): - (delq_no_quit_and_free_cons): - (Fremassoc): - (Fremassq): - (remassq_no_quit): - (Fremrassoc): - (Fremrassq): - (remrassq_no_quit): - (Fnreverse): - (Freverse): - (Fnthcdr): - Optimize. - Replace calls to Fcar, Fcdr, Fsetcar with XCAR and XCDR. - Simplify logic. - Many of these functions wouldn't QUIT if called on cyclic lists. - e.g. try (progn (setq x '(nil)) (setcdr x x) (reverse x)) - One benchmark of delq showed it to be 3 times faster. - - * emacs.c: - * database.c: - Cleanup of database functions. - Make the get_subtype and get_type methods return Lisp_Objects, - instead of C strings. No more need for both dbm_type and dbm_lisp_type. - Rewrite the doc strings to be consistent with XEmacs tradition. - Replace old `dbm' names with `database'. - Rename struct database to struct Lisp_Database. - Rename DEFUN arguments to `database', when applicable. - - * buffer.c: - * chartab.c: - * console.c: - * data.c: - * database.c: - * device.c: - * elhash.c: - * eval.c: - * event-stream.c: - * extents.c: - * faces.c: - * frame.c: - * glyphs.c: - * keymap.c: - * lstream.c: - * mule-charset.c: - * mule-coding.c: - * objects.c: - * opaque.c: - * process.c: - * rangetab.c: - * specifier.c: - * symbols.c: - * tooltalk.c: - * window.c: - Place DEFINE_LRECORD_* after definition of static object methods, to - avoid redundant declarations. - - * console.c: - * console.h: - * device.c: - * device.h: - * extents.c: - * extents.h: - * frame.c: - * frame.h: - * glyphs.c: - * glyphs.h: - * lisp.h: - * lstream.c: - * lstream.h: - * signal.c: - * specifier.c: - * specifier.h: - Eliminate MAC_* macros. - The MAC_ macros use non-standard comiler extenstions which cause - gcc to generate bad code on Sparc/Solaris. Attractive though the - idea of using those compiler extensions is, they are just not - robust enough to use in the real world. So we eliminate them. - We put up with some sub-optimalities, like macros with multiple - evaluation. Such is life with C. The MAC_ macros were pretty - darn ugly anyways. We CAN use inline functions, since the advent - of C++ means that compilers must support those anyways. - -1998-03-21 Martin Buchholz <martin@xemacs.org> +1998-05-10 Andy Piper <andyp@parallax.co.uk> - * alloc.c (list*): Optimize recursion levels. - - * alloc.c: Add debugger support via enum dbg_constants. - * gdbinit: Complete rewrite. - * gdbinit.union: Remove - * gdbinit.pre-4.14: Remove - * dbxrc: Complete rewrite. - * man/xemacs-faq.texi: - Proper robust debugger support for gdb and Sun's dbx. - Support all combinations of Kylish DEFINEs. - Work out of the box with no user customizations. - See the updated faq for details. - - * emacsfns.h: Remove. Move declarations to lisp.h - * dynarr.h: Remove. Move declarations to lisp.h - * lisp.h. - Optimize header file handling to improve compile time over a network. - Introduce EXFUN macro for external declaration to correspond to DEFUN. - Include header files only when necessary, i.e. not from lisp.h: - - unistd.h, limits.h, fnctl.h, blocktype.h, dynarr.h, emacsfns.h - - - * lisp.h: - * lisp-union.h: - * lisp-disunion.h: - Rewrite low level object frobbing. - Make it safe to use XSETOBJ on uninitialized Lisp_Objects. - (markbit might have been set otherwise) - Move XPRNTRVAL->XPNTR computation out of lisp-*union.h, since it - is union-type-independent. - - * EmacsFrame.c: - * alloc.c: - * chartab.c: - * console.c: - * dialog-x.c: - * doc.c: - * elhash.c: - * eval.c: - * event-Xt.c: - * event-stream.c: - * event-unixoid.c: - * extents.c: - * faces.c: - * file-coding.c: - * frame.c: - * glyphs.c: - * insdel.c: - * keymap.c: - * lstream.c: - * marker.c: - * menubar-x.c: - * mule-coding.c: - * opaque.c: - * ralloc.c: - * rangetab.c: - * redisplay-msw.c: - * redisplay-output.c: - * redisplay-tty.c: - * redisplay-x.c: - * redisplay.c: - * scrollbar-x.c: - * scrollbar.c: - * specifier.c: - * symbols.c: - * toolbar-x.c: - * toolbar.c: - * window.c: - As a result of the above lisp*.h changes, we can now safely remove - initializations of Lisp_Objects before calling XSETOBJ on them. - This was only being done half the time, anyways. - - * Makefile.in.in (depend): New target. calls make-src-depend. - * depend: New file. Generated by make-src-depend - * make-src-depend: New file. generates up-to-date dependencies. - Makefile dependencies are now automagically maintained, and - CORRECT. lisp.h and friends are now included in the dependencies, - since this complies with the principle of least astonishment. - - * symbols.c (symbol_is_constant): Optimize. - -1998-03-30 SL Baur <steve@altair.xemacs.org> - - * frame.c (vars_of_frame): Default frame name should be InfoDock - for InfoDock. - -1998-03-29 SL Baur <steve@altair.xemacs.org> - - * emacs.c (voodoo_free_hook): ELF libraries built with newer - versions of GCC do horrible things in dumped binaries after exit() - is called. - (Fkill_emacs): Use it. - -1998-03-28 SL Baur <steve@altair.xemacs.org> - - * s/linux.h: For simplicity, do not use standard linking because - it is deadly with new GCC. - -Sat Mar 28 10:16:29 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: fix fastdump target - - * console-msw.h: add memory dc to frame. - - * frame-msw.c: manage memory dc on frame creation/deleteion - - * frame.h: mess with toolbar macros so that xemacs doesn't die - in redisplay with a triple build. - - * g;yphs-msw.c: GNUize the code. Fix 24bpp display and make the - default. - - * glyphs-msw.h: remove memory dc from image attributes. - - * redisplay-msw.c: fix redisplay to use new frame memory dc. - - * sheap.c: bump initial sheap yet again to allow byyte - recompilation. - - * unexcw.c: fix section parsing for multiple idata and rdata - sections. - -1998-03-27 SL Baur <steve@altair.xemacs.org> - - * emacs.c: Enabled free-hook.c code if - LOSING_GCC_DESTRUCTOR_FREE_BUG is defined. - -1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> - - * Fixed display bug where changes to builtin glyphs like - Vcontrol_arrow_glyph would not be propagated - immediately to the display. - - * device.h: Added glyphs_changed field to device - struct. Created MARK_DEVICE_GLYPHS_CHANGED macro. - - * frame.h: Added glyphs_changed field to frame - struct. Created MARK_FRAME_GLYPHS_CHANGED macro. - - * redisplay.h: Declared glyph_changed and - glyph_changed_set variables, mimicking clip_changed - and clip_changed_set. New macro MARK_GLYPHS_CHANGED. - - * redisplay.c: Defined glyph_changed and - glyph_changed_set variables, mimicking - clip_changed and clip_changed_set. - - (redisplay_window): Reset the window's glyph cache is - f->glyphs_changed is non-zero. Call regenerate_window - if f->glyphs_changed is non-zero. - - (redisplay_frame): Clear f->glyphs_changed after - successful redisplay of all windows on frame. - - (redisplay_device): Redisplay frame if f->glyphs_changed - is non-zero. Clear d->glyphs_changed after successful - redisplay of all frames on device - - (redisplay_without_hooks): Redisplay devices if - glyphs_changed is non-zero. Redisplay an individual - device if d->glyphs_changed is non-zero. Clear - glyphs_changed after successful redisplay of all - devices. - - (redisplay_glyphs_changed): Dropped use of - MARK_CLIP_CHANGED. Call MARK_FRAME_GLYPHS_CHANGED for - all affected frames. For locales that are not device - related, mark all frames. - - * redisplay-output.c (compare_display_blocks): - Output the whole display block if f->glyphs_changed is - non-nil. - -1998-03-27 Kyle Jones <kyle_jones@wonderworks.com> - - * callproc.c (Fcall_process_internal): In the case where - fd_error and fd1 are the same don't close that - descriptor twice. - -1998-03-27 SL Baur <steve@altair.xemacs.org> - - * frame-x.c (x_update_frame_external_traits): Need a Lisp_Object - frame as well as a struct frame. - -1998-03-27 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (main_1): Reinstated PATH searching for invocation data. - -1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> - - * menubar.c (Fmenu_find_real_submenu): See the entry for gui.h. - - * menubar-msw.c (populate_menu_add_item): Used GCPRO_GUI_ITEM - macro to aviod warnings, in 2 places. - (populate_or_checksum_helper): Ditto - (populate_or_checksum_helper): Added placeholder for menu right - flash customization. - - * gui.h (GCPRO_GUI_ITEM): Code which warning-free GC protects a - GUI_ITEM structure moved into this macro from menubar.c - - * frame-x.c (x_update_frame_external_traits): Moved part of the - former update_EmacsFrame() here. - (console_type_create_frame_x): Declared the above method. - - * frame-msw.c (mswindows_set_frame_properties): Do not try to - resize the frame if called from Fmake_frame the first time - (potential race condition). - (mswindows_init_frame_1): Fixed support for popup frames. - (mswindows_delete_frame): Fixed memory leak. - (mswindows_get_frame_parent): Implemented. - (mswindows_update_frame_external_traits): Moved part of the former - update_EmacsFrame() here. - (console_type_create_frame_mswindows): Declare get_frame_parent - and update_frame_external_traits methods. - - * faces.c (update_EmacsFrame): Converted into a device method - `update_frame_external_traits'. - - * event-msw.c (mswindows_wnd_proc, WM_SIZE): Rewrote to avoid - relying on an assumption on when Windows calls this handler. - (mswindows_find_frame): Return the frame being created if the - windows does not yet have associated frame object - (mswindows_find_frame): Casted long to Lisp_Object properly. - - * device.c (window_system_pixelated_geometry): Changed to call the - device_implementation_flags device method. - - * device-msw.c (mswindows_device_implementation_flags): - Implemented. - (console_type_create_device_mswindows): Declared the above. - - * console.h (struct console_methods): Added - device_implementation_flags_method and - update_frame_external_traits_method. - Defined flags retuned by device_implementation_flags_method. - - * console-msw.h (struct mswindows_frame): Added charheight and - charwidth fields. - Added macros for referring to these two, Rvalue. - Moved Windows-specific macros from frame.h here. - (typedef struct XEMACS_RECT_WH): Added. - Declared global variables. - -1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> - - * console-msw.h: Added prototypes for - mswindows_protect_modal_loop() and - mswindows_unmodalize_signal_maybe(). - - * scrollbar-msw.c (mswindows_update_scrollbar_instance_status): - Removed redundant call to set_frame_size method. - - * frame.c (Fframe_property): For a window system with pixel-based - geometry, convert passed char-based metrics to pixels. - (Fframe_properties): Ditto. - (Fset_frame_height): Ditto. - (Fset_frame_width): Ditto. - (Fset_frame_size): Ditto. - (frame_conversion_internal): Added a parameter, controlling - whether the function uses real char metrics or 1 when geometry is - pixel-based. - Allow NULL for output int* params. - (pixel_to_char_size): frame_conversion_internal() is called with - indication to fake font size to 1. - (char_to_pixel_size): Ditto. - (round_size_to_char): Ditto. - (pixel_to_real_char_size): - (char_to_real_pixel_size): - (round_size_to_real_char): New three counterparts of the above - metioned functions, which always use real character metrics. - (change_frame_size_1): Use real character metrics when computing - minibuffer height. - - * frame.h: Prototypes for pixel_to_real_char_size(), - char_to_real_pixel_size(), round_size_to_real_char(). - - * frame-msw.c (mswindows_init_frame_1): Rewritten to support - system-default new window width and height. - (mswindows_init_frame_2): Commented out, unused. - (mswindows_after_init_frame): Added frame method. - (mswindows_set_frame_size): Reworked to support pixel base - geometry. - (mswindows_set_frame_position): Cahnged to use SetWindowPos. - (mswindows_lower_frame): Ditto. - (mswindows_set_frame_properties): Fixed to perform correct - calculation, and to support pixel geometry. - (console_type_create_frame_mswindows): init_frame_2 removed, - after_init_frame added. - - * faces.c (default_face_height_and_width_1): Added. - (update_EmacsFrame): Changed method of notifying mswindwows frame, - so modeline border gets redrawn. - - * faces.h: Prototype for default_face_height_and_width_1(). - - * event-msw.c (mswindows_wnd_proc, WM_SIZE): Redisplay after - maximize/restore window. - (mswindows_wnd_proc, WM_WINDOWPOSCHANGING): Do not round size to - char if window is maximized. - Use real char metrics for rounding. - Call DefWindowProc to process WM_GETMINMAXINFO - (mswindows_set_chord_timer): Changed chord timeout from 1/2 to 1/3 - system double click time - - * device.c (domain_device_type): New function. - (window_system_pixelated_geometry): New function. - (Fdomain_device_type): New function, lisp interface to - domain_device_type(). - (syms_of_device): DEFSUBRed the above. - - * device.h: Ptorotypes for domain_device_type() and - window_system_pixelated_geometry(). - - * menubar-msw.c (mswindows_update_frame_menubars): Call - update_frame_menubar_maybe always. - -1998-03-27 SL Baur <steve@altair.xemacs.org> - - * s/hpux11.h: - * s/hpux11-shr.h: New files. - From Marcus Thiessel <marcus_thiessel@hp.com> - - * Makefile.in.in: temporarily comment -lmcheck support. - Suggested by Marcus Thiessel <marcus_thiessel@hp.com> - -1998-03-26 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * emacs.c (vars_of_emacs): Fixed bug: Now respects configure - setting of inhibit-site-lisp. - (main_1): inhibit-site-lisp is now exclusively - configure-initialized. - -1998-03-27 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Don't feed - error_with_frob() with LispObjects. - -1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> - - * redisplay-msw.c (mswindows_output_cursor): Added parameters for - character under cursor, and a flag indicating whether the cursir - is over an image. Draw bar cursor always over an image glyph. - Callers are changed accross the file. - Honor the value of window::text_cursor_visible_p. - (mswindows_output_pixmap): Cursor drawing code #if0ed. - (mswindows_output_display_block): Call to output cursor after - drawind an image. - -1998-03-27 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c: - * imgproc.c: - * imgproc.h: - * glyphs-x.h: Added in a colormap variable in the X specific image - struct to handle IMAGE_POINTER images which must be allocated in the - default colormap of the screen. Also reformated the code to follow - coding standards. - - * glyphs.h: - * glyphs.c: - * glyphs-x.c: added image-conversion-error type - - * objects-x.c (allocate_nearest_color): Corrected a minor bug involving - setting the values into XColor. - -1998-03-25 P. E. Jareth Hein <jareth@camelot-soft.com> - - * free-hook.c (check_realloc): Handle the degerate case of realloc with - a NULL value acting the same as malloc. - -1998-03-24 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay-x.c (x_output_eol_cursor): Use x_clear_region - instead of XClearArea to erase the cursor so that background - pixmaps are handled properly. New fourth parameter findex - added so that it can be passed to x_clear_region. - -1998-03-25 Kirill M. Katsnelson <kkm@kis.ru> - - * process.c (Fprocess_send_eof): Close output stream before - deleting stream pair. - (deactivate_process): Ditto, both input and output streams. - - * event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do - not close passed lstreams. - -1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> - - * fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific. - -Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> - - * configure.in: compile in glyphs-msw.o when compiling fopr - mswindows. - -Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> - - * msw-glyphs.el: add support for xpm and bmp. change - eval-and-compile to progn. - -Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: fastdump - new target for dumping bypassing - bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move - imgproc.o to object list. - - * glyphs-msw.h: - * glyphs-msw.c: new files adding support for xpm and bmp and - EImages. - - * redisply-msw.c: add support for outputing color pixmaps. - - * console-msw.h: add bitspixel field to mswindows frame. - - * device-msw.c: initialise bitspixel field in mswindows frame. - - * glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if - the device type is mswindows. - - * emacs.c: call glyphs-msw.c init functions if compiling with - mswindows. - - * symsinit.h: add prototypes for glyphs-msw.c functions. - - * sheap.c: make includes src-dir compliant. - - * events.c: remove cygwin ^H <-> erase hack. - - * s/cygwin32.h: remove NOMULTIPLEJOBS defn. - -1998-03-24 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (my_jpeg_output_message): Added new function to redirect - any error/warning messages from the jpeg library to XEmacs. Also - get rid of an unneeded temp variable in the tiff code. - -1998-03-14 Hrvoje Niksic <hniksic@srce.hr> - - * insdel.c (fixup_internal_substring): Protect asserts with #ifdef - ERROR_CHECK_BUFPOS. - - * minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte. - (Ftry_completion): Fixed typo. - - * dired.c (file_name_completion): Removed `readfunc', a remnant of - dead VMS code. - -1998-03-13 Hrvoje Niksic <hniksic@srce.hr> - - * dired.c (Fdirectory_files): Simplify logic. - - * symbols.c (reject_constant_symbols): Allow setting a keyword's - function slot. - -1998-03-23 Hrvoje Niksic <hniksic@srce.hr> - - * lread.c (readevalloop): Don't specbind Qstandard_input to - READCHARFUN. - -1998-03-09 Hrvoje Niksic <hniksic@srce.hr> - - * lread.c (read_atom): Ditto. - - * symbols.c (reject_constant_symbols): Do the keyword stunts only - if the symbol is in Vobarray. - - * symbols.c (reject_constant_symbols): Signal error when - attempting to assign a value to a keyword, unless the value is the - keyword itself. - - * symbols.c (Fintern): Initialize symbol's ->obarray to t only - when OBARRAY is Vobarray. - -1998-03-21 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fmake_event): Allow creation of misc-user-events. - -1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * config.h.in, emacs.c: Changed allow-site-lisp to - inhibit-site-lisp. Made -no-autoloads set inhibit-site-lisp. - -1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> - - * <Today>: The Big Path Searching Overhaul. - - * symsinit.h: Added declaration for complex_vars_of_emacs in - emacs.c. - - * paths.h.in: Adjusted the comments to reality as dictated by - configure. - - * filelock.c (complex_vars_of_filelock): Added support for lock - directories passed in from configure. - - * emacs.c (complex_vars_of_emacs): Added all relevant installation - paths passed from configure. They all have the prefix "configure-" now. - - * config.h.in: Added HAVE_SITE_LISP configuration option. - - * callproc.c (init_callproc): Ripped out all the bogus path setup. - - * Makefile.in.in: Updated all calls of "temacs -l" with absolute - file names because auf the more minimalistic load-path setup in - lread.c. Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather - than EMACSLOADPATH because EMACSLOADPATH is now more persistent than - before. - - * lread.c (init_lread): Ripped out bogus load-path setup. - -1998-03-21 Kyle Jones <kyle_jones@wonderworks.com> - - * frame.h: Move the check for an initialize_frame_toolbars - method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting - clunked by toolbar-less builds. - -1998-03-20 SL Baur <steve@altair.xemacs.org> - - * m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript. - -1998-03-16 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (window_line_number_buf): Made it larger. - - * opaque.c (print_opaque): Ditto. - - * lstream.c (print_lstream): Avoid `%p'. - - * keymap.c (ensure_meta_prefix_char_keymapp): Use - error_with_frob(). - - * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf - dynamically. - - * event-Xt.c (describe_event_window): Allocate buf dynamically. - - * doc.c (Fsubstitute_command_keys): Warn of sprintf(). - - * device-x.c (x_init_device): Allocate path dynamically. - (x_init_device): Allocate buf1 and buf2 dynamically. - -1998-03-14 Hrvoje Niksic <hniksic@srce.hr> - - * ExternalShell.c (GetGeometry): Use a larger buffer for - sprintf(). - -1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> - - * redisplay.c (point_would_be_visible): Fix - window::line_cache_validation_override reference counter. - (start_with_line_at_pixpos): Ditto. - -1998-03-20 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> - - * insdel.c (bytecount_to_charcount): Use 'L' suffix on long - constants probably too large for an int. - -1998-03-18 Hrvoje Niksic <hniksic@srce.hr> - - * lread.c (read_atom_0): Signal Qend_of_file if readcharfun - returned -1. - (read_escape): Ditto. - (FSF_LOSSAGE): Ditto. - -1998-03-20 SL Baur <steve@altair.xemacs.org> - - * emacs.c: path-separator (and parse-colon-path) moved from Lisp - into C because we need it for early initialization. - - * Makefile.in.in (libmcheck): Add. - - * config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H. - - * hash.c (grow_hashtable): Fix tests to compare against - Qnull_pointer since this function may be called before any symbols - or the Lisp engine is initialized. - - * emacs.c (main_1): Restore usage of free-hook.c. - - * free-hook.c (check_realloc): Change aborts to printfs. - (check_free): Ditto. - -1998-03-18 SL Baur <steve@altair.xemacs.org> - - * emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our - control variable is being modified underneath us. - - Avoid calling delete_console_internal on stream consoles. - - * console-tty.c (free_tty_console_struct): NULL out pointers after - xfree'ing. - - * console-stream.c (allocate_stream_console_struct): Fix memory - leak -- if the stream_console struct is already allocated, don't - reallocate it. - (free_stream_console_struct): Don't leave dangling freed pointer - around. - - * redisplay-output.c (redisplay_redraw_cursor): Fully bracket. - -1998-03-17 SL Baur <steve@altair.xemacs.org> - - * frame.c (delete_frame_internal): Correct check. - - * imgproc.c: Include <config.h>. - -1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c: fix for upside-down TIFFs. - -1998-03-14 Kirill M. Katsnelson <kkm@kis.ru> - - * fileio.c (Finsert_file_contents_internal): Removed all DOS_NT - specific code; rely on FILE_CODING streams instead. - (Fwrite_region_internal): Ditto. - (decide_buffer_type): Function removed. - (buf_decide_buffer_type): Function removed. - (Many places): References to DOS_NT replaced with WINDOWSNT. MSDOS- - specific code removed. - - * lread.c (Fload_internal): Removed ugly DOS style re-opening a - file in text mode. '\r' is perfectly handled in readevallop(). - - * redisplay.c (decode_mode_spec): Made %t decode to "T" unconditionally. - - * s/windowsnt.h (FILE_CODING): Define always. - -1998-03-15 Kirill M. Katsnelson <kkm@kis.ru> - - * s/windowsnt.h: Added prototypes for generally used functions - implemented in nt.c - - * fileio.c (Ffile_readable_p): Conditionalized declared never used - variables. - (Fexpand_file_name): Ditto. - (check_executable): Ditto. - - * lread.c (parse_integer): Eliminated a warning resulted from - applying unary minus to unsigned int. - -1998-03-15 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> - - * eldap.c: (Fldap_search_internal): Print error information from - errno when connection fails - -1998-03-16 Hrvoje Niksic <hniksic@srce.hr> - - * lread.c: New macro, to avoid exposing an lstream to Lisp error - handlers. - (reader_nextchar): Use it. - (read1): Ditto. - -1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> - - * cmds.c (Fforward_char): Dropped support for - signal-error-on-buffer-boundary. Added details to - doc string. - - (Fbackward_char): Dropped support for - signal-error-on-buffer-boundary by way of change to - Fforward_char. Added details to doc string. - - Definition of signal-error-on-buffer-boundary moved to - lisp/simple.el. - - * window.c (Fscroll_up): Dropped support for - signal-error-on-buffer-boundary. Added details to - doc string. - - (Fscroll_down): Dropped support for - signal-error-on-buffer-boundary. Added details to doc - string. - -1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay-tty.c (tty_clear_frame): Record that the - real location of teh cursor has been moved to 0,0. - Failure to do this makes the display code believe the - cursor is in a place where it is not. - -1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> - - * console.h: Added set_final_cursor_coords method to console - struct. - - * console-tty.h: Added final_cursor_x and final_cursor_y - slots to console struct. Added CONSOLE_TTY_FINAL_CURSOR - macros to access them. - - * redisplay.c (create_text_block): No longer - turn off the cursor if computing a block when - cursor_in_echo_area is 0 and the echo area is - inactive. Needed so that the cursor will not be - frozen in the minibuffer when cursor_in_echo_area - is non-zero. - - * redisplay-output.c (redisplay_move_cursor): Don't - bail if we're moving the cursor in a selected - minibuffer window. Needed so that simple cursor - optimization can be done in the minibuffer even when - cursor_in_echo_area is non-zero. - - (redraw_cursor_in_window): Set final cursor coordinates - as a special case for cursor_in_echo_area != 0, since - the buffer switching between minibuffer and echo area - buffer seems to confuse the normal cursor positiong - code otherwise. Set final cursor coordinates in the - general case before calling output_display_line. - - * redisplay-tty.c: New function tty_set_final_cursor_coords. - - (tty_output_end): Set logical cursor position to the final - cursor position as specified in CONSOLE_TTY_CURSOR_{X,Y}, - and then go to it. - - (tty_redisplay_shutdown): Changed code to use - tty_set_final_cursor_coords() to go to the bottom - left of the screen instead of using cmgoto() - - (console_type_create_redisplay_tty): Declare that tty - consoles have the set_final_cursor_coords method. - -1998-03-13 Hrvoje Niksic <hniksic@srce.hr> - - * emacs.c (main_1): Avoid snprintf(); allocate the buffer - dynamically. - -1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (png_instantiate): Added in override support - for png backgrounds. - -1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (png_instantiate): Fixed a bug that was causing - overruns when attempting to display transparent pngs - -1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (png_instantiate): Fix brainfart in error handling code. - -1998-03-13 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main_1): Guard call to snprintf. - - * config.h.in: Add HAVE_SNPRINTF. - -1998-03-13 Kirill M. Katsnelson <kkm@kis.ru> - - * event-stream.c (init_event_stream): Initialize mswindows event - loop in stream mode if no other window systems available. Thanks - to Darryl Okahata. - -1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> - - * alloc.c (garbage_collect_1): Removed #ifndef WINDOWSNT around - mark_profiling_info(). - -1998-03-11 SL Baur <steve@altair.xemacs.org> - - * console-tty.c (Fset_console_tty_coding_system): Guard against - terminal-coding-system being left unitialized by a locale. - From Kazuyuki IENAGA <ienaga@jsys.co.jp> - -1998-03-11 P. E. Jareth Hein <jareth@camelot-soft.com> - - * config.h.in: Added in new feature check HAVE_VSNPRINT to check - for safe ways to deal with vsprintf and friends. - - * glyphs-x.c (gif_instantiate): Changed gif support to call external - library Giflib 3.1. Altered GIF/JPEG/PNG formats to use new EImage - format for dealing with images to better support color handling, and - facilitate the change to a device-neutral implementation. Added TIFF - support. - - * Makefile.in.in: Removed all gif related files - - * emacs.c (main_1): Removed reference to init_gif_err - * symsinit.h: ditto - - * dgif_lib.c: Removed from the source distribution - * gif_err.c: ditto - * gif_lib.h: ditto - * gifalloc.c: ditto - -Mon Mar 09 13:00:55 1998 Andy Piper <andyp@parallax.co.uk> - - * file-coding.c: warning elimination - - * ntplay.c: new file. basic implementation of sound support. - - * redisplay-msw.c (mswindows_update_dc): cachel bug is gone so we - don't need this code under cygwin. - - * sheap.c: need large heap slop for byte compiling with three - display types. - - * sound.c: eliminate warnings. enable sound under mswindows. - - * s/cygwin32.h: miscellaneous updates for sound support. - -1998-03-09 SL Baur <steve@altair.xemacs.org> - - * config.h.in: Add BITMAPDIR. - - * glyphs-x.c (locate_pixmap_file): Assume BITMAPDIR is a - colon-separated path. - - * emacs.c (main_1): Initialize dll support with the path the - binary. - (make_arg_list_1): Ditto. - - * sysdll.h: Add legalese. - * sysdll.c: Ditto. - - * sysdll.c: sysdll.h needs to be included with double quotes not - angle brackets. - Use RTLD_GLOBAL as an open flag if it exists. - -1998-03-09 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> - - * eldap.c (Fldap_search_internal): call garbage_collect_1 instead - of Fgarbage_collect. The two are identical except the latter - generates some `fresh' garbage :) - -1998-03-09 SL Baur <steve@altair.xemacs.org> - - * keymap.c: Add symbols for mouse-4 and mouse-5. - (define_key_check_and_coerce_keysym): Mouse-4, Mouse-5 keysym support. - (syms_of_keymap): Ditto. - -1998-01-26 Hrvoje Niksic <hniksic@srce.hr> - - * marker.c (print_marker): Print marker's lheader.uid. - (Fbuffer_has_markers_at): New function, synched with FSFmacs 20.2. - (Fbuffer_has_markers_at): Disabled by default. - -1998-01-25 Hrvoje Niksic <hniksic@srce.hr> - - * sound.c (Fplay_sound_file): Place the result of continuable - error back to FILE. - -1998-03-09 SL Baur <steve@altair.xemacs.org> - - * emacs.c, config.h.in: New DLL support. - * sysdll.h, sysdll.c: New files. - * dll.c: renamed from dlopen.c, use interface defined in sysdll.c. - From William Perry <wmperry@aventail.com> - - * eldap.h: Fix copyright. - * eldap.c: Ditto. - -1998-03-08 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Add dependencies for process-unix.o. - -1998-03-08 Kyle Jones <kyle_jones@wonderworks.com> - - * glyphs-x.c (write_lisp_string_to_temp_file): - Don't explicitly initialize conversion_out_dynarr, because - doing so may cause it to be put into read-only space - and modifying it later would make XEmacs crash. - -1998-03-07 Kyle Jones <kyle_jones@wonderworks.com> - - * events.h: Add do_backspace_mapping parameter to - function prototype of character_to_event. - - * events.c: Add fifth parameter to character_to_event to - control the backspace mapping. In character_to_event map most - characters that match tty-erase-char to the backspace keysym, - but only if do_backspace_mapping paramter is non-zero. - - (Fcharacter_to_event): Tell character_to_event() to DO - backspace mapping. - - * event-stream.c: - (maybe_read_quit_event): Tell character_to_event() to DO - backspace mapping. - - (maybe_kbd_translate): Tell character_to_event() to DO backspace - mapping. - - (lookup_command_event): Tell character_to_event() to DO backspace - mapping. - - * event-unixoid.c: - (read_event_from_tty_or_stream_desc): Tell character_to_event() - to DO backspace mapping. - - * keymap.c: - (get_keyelt): Tell character_to_event() to NOT DO backspace - mapping. - - (define_key_parser): Tell character_to_event() to NOT DO backspace - mapping. - - (Fsingle_key_description): Tell character_to_event() to DO - backspace mapping. - -1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> - - * alloc.c (Fpurecopy): Do not mark symbols through - Vpure_uninterned_symbol_table twice: hash (OBJ, nil) instead of - (OBJ, OBJ). - -1998-03-07 SL Baur <steve@altair.xemacs.org> - - * emacs.c (shut_down_emacs): Disable forced auto-save in a crash. - It causes more problems than it solves. - -1998-03-02 Greg Klanderman <greg@alphatech.com> - - * window.c (Fwindow_displayed_pixel_height) New function. - (Fenlarge_window_pixels): New function. - (Fshrink_window_pixels): New function. - (window_displayed_pixel_height): New, helper for - Fwindow_displayed_pixel_height. - (change_window_height): Add `inpixels' argument. - (syms_of_window): 3 new DEFSUBR's. - -Thu Mar 05 12:01:35 1998 Andy Piper <andyp@parallax.co.uk> - - * redisplay-msw.c (mswindows_output_cursor): separate getting - cachel index from retrieving cachel to work around apparent bug in - gcc. - -1998-03-06 Kyle Jones <kyle_jones@wonderworks.com> - - * events.c (character_to_event): The tty_erase_char test - doesn't do anything because it's in the wrong place. - Moved it to where it can take effect. - - * dired.c (Fdirectory_files): Initialize GCPRO'ed variable. - - * events.c (character_to_event): Never map '(control - foo) to QKbackspace. Only map ASCII 8 to QKbackspace; - don't map any other key. - -1998-03-05 Kyle Jones <kyle_jones@wonderworks.com> - - * src/redisplay-output.c (redisplay_move_cursor): Bail if - cursor_in_echo_area is non-zero and we're fiddling - with the cursor in a minibuffer window, since that is a - special case that is handled elsewhere and this function - need not handle it. Return 1 so the caller will assume we - succeeded. - -Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> - - * device.c (init_global_resources): compile in based on window - system not just x. - - * console.c (select_console_1): add mswindows console type. - -1998-03-04 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay-output.c (redisplay_redraw_cursor): Redraw - the cursor in the minibuffer window if cursor_in_echo_area - is non-zero. - -Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> - - * emacs.c (main_1): predicate display_use to mswindows only if x - is not already selected. - - * event-msw.c: comment out non-code for HAVE_TOOLBAR case. don't - compile debug_process_finalisation if x is compiled in. - - * event-stream.c (init_event_stream): don't make X and mswindows - mutually exclusive. Select msw event loop if started that way, - X/tty event loop otherwise. - - * frame.h: protect toolbar #defines from assuming ints are in - toolbar_data. This happens if you have two display types compiled - in and one supports toolbars and the other doesn't. - - * s/cygwin32.h: warning elimination. - -1998-03-03 SL Baur <steve@altair.xemacs.org> - - * editfns.c (Ftemp_directory): New function. - From Glynn Clements <glynn@sensei.co.uk> - - * editfns.c (Ftemp_directory): Use build_ext_string. - -1998-03-02 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> - - * symsinit.h: add prototype for syms_of_dlopen - -1998-03-02 Kyle Jones <kyle_jones@wonderworks.com> - - * window.c (save_window_save): save value of - default_toolbar_height slot. - - (Fset_window_configuration): restore value of - default_toolbar_height slot. - -Fri Feb 20 21:22:34 1998 Darryl Okahata <darrylo@sr.hp.com> - - * "Fast" dired-in-C enhancements for Windows 95/NT: - - * ntproc.c: - * device-msw.c: - Moved definition of `Vwin32_downcase_file_names' from ntproc.c - to device-msw.c, and renamed it to - `Vmswindows_downcase_file_names'. It doesn't really belong - here, but I didn't want to create a new file, just for this one - variable. This fixes a bug in `expand-file-name' that caused - all returned filenames to be lowercased (this was supposed to be - conditional upon Vmswindows_downcase_file_names, but wasn't, as - it was never initialized due to obsolescence of ntproc.c). This - variable is also used by the dired-in-C enhancements. - - Also moved and renamed `Vwin32_get_true_file_attributes' to - `Vmswindows_get_true_file_attributes'. This affects stat() in - nt.c, and so it really does need to be initialized. - - However, there's still one more variable in ntproc.c that still - needs to be moved/renamed, `Vwin32_pipe_read_delay', but I - didn't touch this, as this is a subprocess issue. - - * dired-msw.c: New file for dired-in-C enhancements for - Windows 96/NT. - - * emacs.c: Initialization calls for dired-msw.c. - - * nt.c (convert_time): make into public function (dired-in-C - functions use it). - -1998-02-28 Kirill M. Katsnelson <kkm@kis.ru> - - * sysdep.h: Prototypes for the above 2 functions + * redisplay-msw.c: implement background pixmaps (really!). Make + sure bg color is transparent if we have bg pmaps. + * (mswindows_output_string) (mswindows_clear_region): output bg + pmap if required. + * (mswindows_output_dibitmap_region): new function. + * (mswindows_output_dibitmap): output offset pixmaps, blt masks in + the bg color rather than transparently. - * sysdep.c (get_pty_max_bytes): Moved here from process.c - (get_eof_char): Ditto - - * symsinit.h: Prototypes for initialization functions called from - emacs.c: process_type_create_mswindows, process_type_create_unix, - vars_of_process_mswindows, vars_of_process_unix. - - * procimpl.h: New file. Includes prototypes and other stuff shared - by process.c and implementation files (process-unix.c, - process-msw.c in future). - - * process.h (PROCESS_LIVE_P): Changed to test against stream - existence, to avoid dependency on fds. - - * process.c: Only process implementation independent code is now - in this file. Moved the rest into process-unix.c - (Fopen_network_stream_internal): Added 5th parameter, protocol - family. Defaults to 'tcp/ip when unspecified. - - * process-unix.c: New file, implementation of UNIX - processes. UNIX-specific code from the old process.c is here. - - * Lstream.c (Lstream_was_blocked_p): New function. Replaces - filedesc_stream_was_blocked_p. - (filedesc_was_blocked_p): Implementation of the method for - filedesc stream - (filedesc_stream_set_pty_flushing): set pty_flushing flag - (filedesc_stream_fd): New function, returns fd of the stream - - * lstream.h (lstream_implementation): was_blocked_p is a new - optional lstream method. - Added prototypes for functions in lstream.c - - * lisp.h: (USID): Typedef for Unique Stream IDentifier. Reuqired - by the new code in many places. - - * events.h (struct event_stream): Declaration of the two mandatory - event stream methods, required by process support. - - * event-unixoid.c (event_stream_unixoid_create_stream_pair): - Implementation of the method shared by TTY and X - (event_stream_unixoid_delete_stream_pair): Ditto - - * event-tty.c (emacs_tty_next_event): get_process_from_usid() - instead of get_process_from_fd() - (emacs_tty_create_stream_pair): New events tream method - (emacs_tty_delete_stream_pair): New events tream method - - * event-stream.c (event_stream_create_stream_pair): New event - stream method - (event_stream_delete_stream_pair): Ditto - - * event-msw.c (debug_process_finalization): Although if0'ed, - removed obsolete code - - * event-Xt.c (emacs_Xt_create_stream_pair): Implementation if the - new event stream method - (emacs_Xt_delete_stream_pair): Ditto - - * emacs.c (main_1): Added calls to process_type_create*() and - vars_of_process() - - * callproc.c: (many places): removed DOS support - -1998-03-02 SL Baur <steve@altair.xemacs.org> - - * process.c (Fprocess_status): Restore old behavior -- call - Fget_process on a string argument. - -Mon Mar 02 11:37:36 1998 Andy Piper <andyp@parallax.co.uk> - - * file-coding.h: - * file-coding.c: more cleanup by only including iso2022 stuff in a - mule build. (setup_eol_coding_systems) move (T) -> :T etc. - - * event-stream.c: (Fopen_dribble_file) Qescape_quoted only exists in - mule. - - * md5.c: remove warning. - - * unexcw.c: move .idata -> .rdata for cygwin b19. - - * Makefile.in.in: add msw dependencies. - - * sheap.c: up static heap parameters. - - * s/cygwin32.h: add prototypes to eliminate warnings. - -1998-03-02 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in (blddir): Import blddir. - Add blddir to dump-time load-path. - - * nas.c (play_sound_data): Add braces for clarity. - (play_sound_file): Ditto. - -1998-03-01 SL Baur <steve@altair.xemacs.org> - - * alloc.c: Boost static vector size for breathing room. Double - the size if we may be dynamically linking. - - * dlopen.c (Fdl_open): Use RTLD_GLOBAL flag on dlopen if available. - - * device-x.c (x_init_device): Hardcode `Emacs' as the filename - containing localized menubars. - - * config.h.in: Add HAVE_UNIX_PROCESSES for 20.6. - - * alloc.c (init_alloc_once_early): Document movement of mmap - enabling code to emacs.c. - - * Makefile.in.in: Update FILE_CODING dependencies. - -1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> - - * file-coding.c (setup_eol_coding_systems): Don't try - to copy the mnemonic property of the coding system - unless it is a string. - - (allocate_coding_system): Initialize coding system - struct member 'mnemonic' to Qnil. Leaving its value - set to 0 causes a crash. - -1998-03-01 SL Baur <steve@altair.xemacs.org> - - * file-coding.c (DEFINE_SUB_CODESYS): Undo previous patch. - -1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> - - * callint.c: Read coding system names for the 'z' and - 'Z' interactive specs if FILE_CODING or MULE is defined. - Previously, coding system names were read only if MULE was - defined. - - * file-coding.h: Removed charset-based category types - from enumerated coding_category_type if not building - with MULE. - - * file-coding.c (syms_of_mule_coding): Don't define - symbols for charset-based coding systems unless - building with MULE. - -1998-02-28 SL Baur <steve@altair.xemacs.org> - - * alloc.c (garbage_collect_1): Guard call to selected_frame so it - cannot be called during GC. - - Update current count of staticpro'ed objects. - -1998-02-28 Kyle Jones <kyle_jones@wonderworks.com> - - * menubar.c (Fmenu_find_real_submenu): Document the - "use struct as array" hack. Convert struct pointer to - array to avoid compiler warnings. - -1998-02-26 SL Baur <steve@altair.xemacs.org> - - * buffer.c (complex_vars_of_buffer): Fix DOC string for - buffer-file-coding-system. - -1998-02-26 Damon Lipparelli <lipp@primus.com> - - * symsinit.h: syms_of_ldap() is actually syms_of_eldap(). - - * eldap.c: removed duplicates. - -1998-02-26 SL Baur <steve@altair.xemacs.org> - - * file-coding.c (setup_eol_coding_systems): Disable SUB_CODESYS - feature -- it causes stack corruption in Mule. - -1998-02-27 Kirill M. Katsnelson <kkm@kis.ru> - - * events.c (character_to_event): The code which guesses TTY - backspace character is conditionalized on HAVE_TTY - -1998-02-26 SL Baur <steve@altair.xemacs.org> - - * console.c (complex_vars_of_console): Guard tty_erase_char with - HAVE_TTY. - * conslots.h: Ditto. - -1998-02-25 SL Baur <steve@altair.xemacs.org> - - * events.c (character_to_event): Correct operations on tty_erase_char. - From Martin Buchholz <martin@xemacs.org> - - * file-coding.c (setup_eol_coding_systems): Unix/Binary sub - coding-system display should default to the empty string. - - Use '(t)' for Mac/Text mode. - -Tue Feb 17 12:50:37 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: make sure clean removes msw executables. This - prevents the build stalling after puresize has been adjusted. Add - file-coding.o to list of objects. - - * buffer.c: - * buffer.h: - * bufslots.h: - * callproc.c: - * console-tty.c: - * emacs.c: - * event-Xt.c: - * event-stream.c: - * glyphs-x.c: - * lread.c: - * md5.c: - * mule-canna.c: - * mule-ccl.c: - * process.c: - * redisplay-x.c: - * redisplay.c: remove #ifdef MULE's from stuff that relates to - file-coding. include file-coding.h rather than mule-coding.h - where applicable. - - * mule-coding.c: #if 0 out functionality until file-coding is - split up. - - * file-coding.h: - * file-coding.c: new files. copies of mule-coding.h and - mule-coding.c. The mule case is unchanged. The non-mule case - removes coding relating to other charsets - iso2022, big5, sjis, - ccl. (setup_eol_coding_systems) add the eol type to the subsidiary - coding system mnemonics so that it shows on the modeline, - currently (B) for unix style (T) for mac and dos styles. - - * fileio.c: remove #ifdef MULE's from stuff that relates to - file-coding. include file-coding.h rather than mule-coding.h where - applicable. FSFMACS_SPEEDY_INSERT is gone since file coding is - always on. - - * sheap.c: (more_static_core) remove spurious \n's from error - message. - -1998-02-25 Kyle Jones <kyle_jones@wonderworks.com> - - * lisp-disunion.h: Added XUINT macro. - - * lisp-union.h: Added XUINT macro. - - * data.c (Flsh): Used XUINT instead of XINT to - extract the value of the first argument to avoid sign - extension of the result. - -1998-02-25 SL Baur <steve@altair.xemacs.org> - - * s/decosf4-0.h: Add -D_BSD. - From Tore Olsen <toreo@tihlde.hist.no> - -1998-02-21 Greg Klanderman <greg@alphatech.com> - - * device-x.c (x_init_device): allow `x-emacs-application-class' to - be nil prior to connecting to the X server. When this is the - case, the application class is chosen based on whether the user - has any resources with application class `XEmacs' set in the - resource database. - (vars_of_device_x): make x-emacs-application-class nil by default - and document new behavior in its doc string. - -1998-02-23 Aki Vehtari <Aki.Vehtari@hut.fi> - - * menubar.c: Doc fix: suffix can be form. - - * gui.c (gui_parse_item_keywords): Allow button descriptors - at least 2 long. - (gui_item_display_flush_left): Suffix can be form. - - * gui-x.c (button_item_to_widget_value): Allow button descriptors - at least 2 long. - (button_item_to_widget_value): Suffix can be form. - -1998-02-24 SL Baur <steve@altair.xemacs.org> - - * s/sol2.h: define HAVE_GETLOADAVG for late edition Solaris - From Georg Nikodym <georgn@Canada.Sun.COM> - -1998-02-24 Didier Verna <verna@inf.enst.fr> - - * redisplay.c (generate_fstring_runes): fixed the modeline - scrolling lossage (the % constructs appearing in the - modeline). Now that we can have negative positions and boundaries, - max_pos == -1 can't mean 'no limit' anymore. Me, stupido! - (add_string_to_fstring_db_runes): Ditto. - (add_glyph_to_fstring_db_runes): Ditto. - -1998-02-19 Jim Radford <radford@robby.caltech.edu> - - * sysdep.c: Don't clobber SIGIO event flags we don't care about. - * device.h: removed old_sigio_flag, sigio_enabled from device - Secretly (on Solaris) F_SETOWN calls I_SETSIG. We unknowingly - clobbered the changes so restoring the owner would cause - F_SETOWN's I_SETSIG to fail therby causing an annoying syslog - message. Changed FASYNC version to match (untested). - -1998-02-22 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main): Enable mmap for glibc-2.1 and Linux libc5. - Enable mmap only for non-Mule for glibc-2.0. - -1998-02-21 SL Baur <steve@altair.xemacs.org> - - * config.h.in: Define _NO_MALLOC_WARNING_ if using dlmalloc from - Linux libc5. - -1998-02-19 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * emacs.c: declare hooks only if !DOUG_LEA_MALLOC since the - declaration conflicts with glibc's own. - -1998-02-19 SL Baur <steve@altair.xemacs.org> - - * config.h.in: Remove HAVE_TERM, add USE_MINIMAL_TAGBITS and - USE_INDEXED_LRECORD_IMPLEMENTATION. - - * process.c (Fopen_network_stream_internal): Remove TERM support. - - * sysproc.h: Remove TERM support. - -1998-02-20 Kazuyuki IENAGA <ienaga@jsys.co.jp> - - * input-method-xfs.c: add setlocale(LC_CTYPE, "") right after - setlocale(LC_NUMERIC, "C"). Because, without this, the LC_CTYPE - got a side effect of LC_NUMERIC then set to "C". - -1998-02-19 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main): Enable mmap'ing with XEmacs/Mule. - - * redisplay.c (add_string_to_fstring_db_runes): Fix infloop - problem with long modelines and glyphs. - - * unexelf.c: The proper way to check for GNU libc is with __GLIBC__. - Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> - -1998-02-18 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Remove all references to prefix-args. - -1998-02-18 Kirill M. Katsnelson <kkm@kis.ru> - - * sysdep.c (mswindows_set_errno): New function - (mswindows_set_last_errno): Ditto - These convert Win32 error code to ANSI C errno. - - * sysdep.h: Prototypes for the above 2 functions. - - * menubar-msw.c (vars_of_menubar_mswindows): Fprovide - ('mswindows-menubar) removed. See the entry of 1998-01-03 - - * process.c: FSFmacs proc_buffered_char static array - #if0'ed in 2 places. It is never used. - -1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> - - * window.c (save_window_save): Save window-cached - speciifer values. - (saved_window_equal): Added comparisons of window-cached - specifier values. - (Fset-window-configuration): Restore window-cached - specifier values. - -1998-02-18 Didier Verna <verna@inf.enst.fr> - - * modeline.el (mouse-drag-modeline): added the horizontal - scrolling functionality for the modeline. This could still be - improved, for instance when the mouse goes out of the modeline. - -1998-02-18 Didier Verna <verna@inf.enst.fr> - - * redisplay.c: - (generate_formatted_string_db): new flag to distinguish a modeline - string from a title or icon one, plus use a negative first pos to - indicate the modeline hscroll ammount. - (add_string_to_fstring_db_runes): completely rewrote this function - to handle the case of scrolled modelines. - (add_glyph_to_fstring_db_runes): handle the case of scrolled - modelines. - - * window.c: - (Fmodeline_hscroll): new function to return the modeline current - horizontal scroll ammount. - (Fset_modeline_hscroll): new function to scroll the modeline - horizontaly. - Plus some updates related to this new functionality (windows - configuration, notably). - - * window.h (struct window): added the new field modeline_hscroll. - -1998-02-18 SL Baur <steve@altair.xemacs.org> - - * m/alpha.h: - * unexelf.c: Synched with Emacs 20.2. - From Aki Vehtari <Aki.Vehtari@hut.fi> - - * emacs.c (main): Don't call __sbrk(). - * gmalloc.c (__sbrk): Ditto. - Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> - -1998-02-17 SL Baur <steve@altair.xemacs.org> - - * console-tty.c (Fset_console_tty_coding_system): New function. - From Kazuyuki IENAGA <ienaga@jsys.co.jp> - -1998-02-15 SL Baur <steve@altair.xemacs.org> - - * ralloc.c (init_ralloc): DOUG_LEA_MALLOC support. - (r_alloc_reinit): Ditto. - [All non-HAVE_MMAP code]: Synched with Emacs 20.2. - - * emacs.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. - (main): Ditto. - Add LINUX_SBRK_BUG workaround, what is it? - (Fdump_emacs): DOUG_LEA_MALLOC support from Emacs 20.2. - - * alloc.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. - (init_alloc_once_early): Ditto. - - * config.h.in: Add DOUG_LEA_MALLOC symbol. - - * unexfreebsd.c (run_time_remap): Change printf format string to - match parameters given. - -1998-02-14 SL Baur <steve@altair.xemacs.org> - - * s/sco5.h: Define LIB_GCC as -lgcc for gcc 2.8 and egcs. - Suggested by Robert Lipe <robertl@dgii.com> - -1998-02-14 Martin Buchholz <martin@xemacs.org> - - * event-Xt.c (x_reset_key_mapping): - * device-x.c: - (x-keysym-on-keyboard-p): - (x-keysym-on-keyboard-sans-modifiers-p): - Use x-keysym-on-keyboard-sans-modifiers-p instead of - x-keysym-on-keyboard-p to detect backspace. - Use symbols instead of strings (now deprecated) with x-keysym-*-p. - Clean up symbols used with dead keys, checking Linux and solaris - keysyms. - Simplify x-win-*.el using above methods. - Change documentation for x-keysym-*-p functions. - -1998-02-13 SL Baur <steve@altair.xemacs.org> - - * unexelfsgi.c: Various changes. - From Olivier Galibert <galibert@pobox.com> - - * s/freebsd.h: Avoid redefining BSD. - From Kazuyuki IENAGA <ienaga@jsys.co.jp> - - * extents.c (extent_fragment_update): Break up a line to avoid a - Digital UNIX 3.2g C compiler bug. - From Tonny Madsen <tma@nettest.dk> - - * process.c (create_process): Restore save_environ hackery. - -1998-02-10 SL Baur <steve@altair.xemacs.org> - - * emacsfns.h: Remove mocklisp declarations. - - * redisplay-msw.c (mswindows_update_dc): Enable evil kludge for - cygwin. - From Andy Piper <andyp@parallax.co.uk> - -1998-02-09 SL Baur <steve@altair.xemacs.org> - - * menubar-msw.c (vars_of_menubar_mswindows): Fix patch failure. - Suggested by: kny@tekla.fi - - * data.c (Fold_eq): PC-ize. - - * chartab.c: PC-ize. - - * window.c (toplevel): PC-ize. - (syms_of_window): Ditto. - - * search.c (Freplace_match): PC-ize. - - * lread.c: PC-ize. - - * buffer.c (Fbuffer_enable_undo): PC-ize. - (Fbuffer_disable_undo): ditto. - - * eval.c (return_from_signal): PC-ize. - - * casetab.c: PC-ize. - - * callproc.c (Fcall_process_internal): PC-ize. - -1998-02-02 Kirill M. Katsnelson <kkm@kis.ru> - - * gui.h (struct gui_item): Menu item, submenu or GUI button - properties are abstracted into this new structure. - Added prototypes for the following functions - - * gui.c (gui_item_init): New function - (gui_item_add_keyval_pair): Ditto - (gui_parse_item_keywords): Ditto - (gui_item_active_p): Ditto - (gui_item_included_p): Ditto - (gui_item_display_flush_left): Ditto - (gui_item_display_flush_right): Ditto. The above listen new - functions manipulate on properties common to menu items and GUI - buttons. - - * menubar.c (current_frame_menubar): Moved from menubar-msw.c - (menu_parse_submenu_keywords): New function - (Fmenu_find_real_submenu): Ditto, lisp accessible. The last two - functions operate on menu properties stored in struct gui_item, - but are specific to menus only. - - * menubar.h: Prototypes for the above functions. - - * menubar-msw.c: Modified to utilize struct gui_item instead of - plists, to reduce garbage. Suggested by Ben Wing. - Unreachable menus are fixed. - -1998-01-03 Kirill M. Katsnelson <kkm@kis.ru> - - * menubar-msw.c (allocate_menu_item_id): Added third parameter to - hash, suffix. Menus tend to put non-localizable items into suffix - with empty name. - (update_frame_menubar_maybe): top_level_menu is now set here. - (mswindows_popup_menu): Ditto. It was incorrect to set it from - populate. - (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed: - (featurep (and 'mswindows 'menubars)) tests the same. - (mswindows_update_frame_menubars): update_..._maybe () now called - only if frame->menubar_changed is set. Is it right to patch - menubar.c instead? - -1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * objects-msw.c: - Updated color database to X11R6. Also added support for - "#RRRGGGBBB" and "#RRRRGGGGBBBB" in addition to "#RRGGBB". - -1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * console.h: - * console-stream.c: - * redisplay.c: - * redisplay-msw.c: - * redisplay-tty.c: - * redisplay-x.c: - Added the frame as a parameter to the text_width device - method. - - * redisplay-msw.c: - Support for proportional fonts. - -1998-02-07 Hrvoje Niksic <hniksic@srce.hr> - - * window.c (map_windows): Don't return the value of map_windows_1. - (map_windows): If F is NULL, map through all the windows. - (mark_windows_in_use): Use map_windows(); made it static. - (mark_windows_in_use_closure): New function. - -1998-02-01 Hrvoje Niksic <hniksic@srce.hr> - - * alloc.c (Fpurecopy): Check for non-`nil'-ness instead of - checking for Vobarray. - - * dlopen.c (Fdl_open): Indirect FUNCTION explicitly, for clarity. - - * elhash.c: Removed broken hashtable_hash(). - -1998-01-28 Hrvoje Niksic <hniksic@srce.hr> - - * symbols.c (Fintern): Use Qt instead of the actual obarray. - (init_symbols_once_early): Ditto. - -1998-01-27 Hrvoje Niksic <hniksic@srce.hr> - - * lisp.h (DO_REALLOC): Name the variable `do_realloc_newsize' - instead of `newsize', to avoid name collisions. - -1998-01-26 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (print_symbol): Be more wary about the contents of - Vprint_gensym_alist. - -1998-02-06 SL Baur <steve@altair.xemacs.org> - - * emacs.c (Frun_emacs_from_temacs): Disable largely meaning-free - purity/impurity summary. Compile with -DREPORT_PURE_USAGE to get - it back. - - * process.c (create_process): Unused variable elimination. - - * lread.c (Fload_internal): Compiler warning suppression. - - * alloc.c (report_pure_usage): Remove unused variable. - -Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: add support for sheap-adjust.h generation for - static heap. - -Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> - - * Makefile.in.in: add sheap-adjust.h support, basically copied - from puresize-adjust.h. predicate sheap.o on HEAP_IN_DATA. fix - xemacs target slightly to not be a single shell command, this - fixes an obscure bug in cygwin gmake. - - * alloc.c (report_pure_usage): call sheap_adjust_h if HEAP_IN_DATA - is defined. - - * sysfile.h: add abstracted OPEN_BINARY, OPEN_TEXT etc defines. On - Unix these are all 0 and have no effect. On systems defining - O_BINARY these use it. WINDOWSNT is currently unaffected because - there are individual #ifdefs in each source file, but with this - change they could be removed. - - * emacs.c: - * doc.c: - * lread.c: - * process.c: generalize open() calls with OPEN_BINARY. Does - nothing under Unix. - - * emacs.c: predicate inclusion of windows.h on WINDOWSNT not - _WIN32. - - * process.c: - * sysdep.c: - * signal.c: predicate SIGIO stuff also on !BROKEN_SIGIO, this is - required for building on cygwin32 b19 which has SIGIO that only - works on sockets. - - * fileio.c: - * event-stream.c: generalize open() calls with OPEN_BINARY. Does - nothing under Unix. Use open() instead of creat() to make this - possible. use CREAT_MODE from sysfile.h - - * config.h.in: add MULE_CODING, currently not used. add support - for HAVE_A_OUT_H. - - * elhash.c: - * menubar-msw.c: - * mule-ccl.c: - * device-msw.c: warning elimination. - - * event-msw.c: add undeclared Dde calls for cygwin. - - * redisplay-msw.c: warning elimination under mule. - - * gmalloc.c: make initalize() really do that. If HEAP_IN_DATA is - defined catch free() & realloc() calls with addresses in the data - space. __morecore calls more_static_core for temacs, when dumped - switches to sbrk(). - - * console-msw.h: undef CONST after windows.h inclusion since this - defines CONST. #ifdef out shellapi under cygwin. - - * device-msw.c: include sysdep.h - - * objects-msw.c: add dummy mswindows_font_spec_matches_charset and - mswindows_find_charset_font so that we can build with mule. - - * mem-limits: return -1 for get_lim_data() when HEAP_IN_DATA is - defined. - - * sheap.c: new file. defines sheap_adjust_h and more_static_core - so that data space can be used by gmalloc before dumping when - HEAP_IN_DATA is defined. beef up error message about what to do if - sheap space runs out. - - * sysdep.c: make start_of_data reurn something sensible for - HEAP_IN_DATA. - - * systime.h: don't use itimer stuff on cygwin b19. - - * unexcw.c: new file. Full unexec() support for cygwin using the - HEAP_IN_DATA setup provided by sheap.c and friends. No run-time - remapping is performed. This could be generalized to support many - platforms that use COFF. you need a.out.h from my website to build - this. cygwin b19 will have this. - - * s/cygwin32.h: fixed commentary. compile in unexcw.o for dumping - support. removed irrelevent things. define BROKEN_SIGIO. remove - include of windows.h. add correct process support defines, process - support might work when non-blocking io is implemented in cygwin. - -1998-02-02 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs.c: Removed ImageMagick support, re-instituted the previous - support for JPEG, GIF and PNG with the new color system. - -1998-02-05 Olivier Galibert <galibert@pobox.com> - - * unexelf.c: Fix alignment problems on Linux. - -1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay.c (redisplay_window): After outputting - the window, invalidate its the line start cache if the - we're displaying the minibuffer window and the echo - area is active. The cache is only valid for the echo - area buffer, and that buffer isn't associated with the - minibuffer window anymore. - -1998-01-31 SL Baur <steve@altair.xemacs.org> - - * alloc.c (disksave_object_finalization): Additional checking for - sanity when zeroing out unused portions of string_chars_block's. - (Fpurecopy): Spelling fixes in comment. - (PURESIZE_SLOP): Set default slop to 0. - -1998-01-31 Kyle Jones <kyle_jones@wonderworks.com> - - * chartab.c (make_char_table): Initialize mirror - tables with Spunct in all the slots. Syntax table - initialization doesn't touch slots for nonexistent - characters sets. If character sets corresponding to - those slots are created later Qnil values in the slots - will cause crashes. - (copy_char_table_entry): Return copy not original. - -1998-01-28 Jonathon Harris <jhar@tardis.ed.ac.uk> - - * msw-proc.c: - * event-msw.h: - * event-msw.c: - * console-msw.h: - Deleted the first two and merged them into the last two files. - - * device-msw.c: - * event-msw.c: - * frame-msw.c: - Added file-based drag and drop support. The "System/Open" DDE command - is also implemented as if it were a drag and drop operation. - - * emacsfns.h: - * event-stream.c: - * events.c: - * events.h: - * frame.c: - * keymap.c: - Replaced all "#ifdef HAVE_OFFIX_DND" with - "#if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS)" - - * device.h: Added DEVICE_MSWINDOWS_P and related macros. - - * objects-msw.c: - * select-msw.c: - Eliminated warnings. - - * redisplay-msw.c: Changed color of "dead" box between scrollbars - to windows' "button" color for compatibility with other windows apps. - -1998-01-20 Stephen Turnbull <turnbull@sk.tsukuba.ac.jp> - - * Makefile.in.in: move `rm puresize-adjust.h' from distclean - to mostlyclean - -1998-01-29 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in (dlopen.o): Add dependencies. - - * s/sunos4-0.h: Conditionalize use of broken-sun.h for old Gccs. - Suggested by Amir J Katz <amir@ndsoft.com> - -1998-01-28 SL Baur <steve@altair.xemacs.org> - - * faces.c (init_device_faces): This function can call lisp. - -1998-01-28 P. E. Jareth Hein <jareth@camelot-soft.com> - - * mule-coding.h: - * mule-coding.c: (determine_real_coding_system): removed the - static declaration to allow reuse. - - * md5.c (Fmd5): Rewrote to fully support MULE, as well as streamline - the code. - - * mule-ccl.c (ccl_driver): Set initial values of variables to shut up - the compiler and to give better error message if a quit happens before - any ccl_code is generated. - -1998-01-28 SL Baur <steve@altair.xemacs.org> - - * glyphs.c (allocate_glyph): This function can GC. - Wrap GCPRO around unprotected function calls. - (specifier_vars_of_glyphs): Comment change -- Can we GC here? - -1998-01-27 SL Baur <steve@altair.xemacs.org> - - * lread.c (Fload_internal): Add extra GCPRO around call to - Fassoc. - Enable purespace usage counts always. - - * m/powerpc.h: Isolate changes for mklinux from AIX. - -1998-01-27 Hrvoje Niksic <hniksic@srce.hr> - - * symbols.c (init_symbols_once_early): Decreased default size of - Vpure_uninterned_symbol_table to 50. - -1998-01-27 SL Baur <steve@altair.xemacs.org> - - * redisplay-x.c (x_output_string): Correction for handling underlined - fonts when XGetFontProperty fails. - From Chris Felaco <felaco@iatcmail.ed.ray.com> - -1998-01-27 Kyle Jones <kyle_jones@wonderworks.com> - - * alloc.c (Fpurecopy): Store symbols that aren't - interned in Vobarray into Vpure_uninterned_symbol_table. - - * symbols.c (init_symbols_once_early): Initialize - Vpure_uninterned_symbol_table. - - * emacsfns.h: Declare Vpure_uninterned_symbol_table. - -1998-01-26 SL Baur <steve@altair.xemacs.org> - - * alloc.c (report_pure_usage): New macro PURESIZE_SLOP to allow - for extra pure space. - -1998-01-23 SL Baur <steve@altair.xemacs.org> - - * sound.c (Fplay_sound_file): Use NILP for comparison of - Lisp_Object. - -Wed Jan 21 10:49:47 1998 Andy Piper <andyp@parallax.co.uk> - - * unexcw.cc: new file for cygwin32 unexec() requires cygwin32 - b19. Predicated on HAVE_COFF_H. - - * console.c: - * device-msw.c: - * event-msw.c: - * frame-msw.c: - * msw-proc.c: - * objects-msw.c: - Eliminate warnings. - - * redisplay-msw.c (mswindows_update_gc): eliminate warnings and - extend hack for bogus bg values. - - * symsinit.h: add msw headers to eliminate warnings. - - * s/cygwin32.h: various updates for unexec() support. - - * lastfile.c: add my_ebss for cygwin32 unexec() support. - - * gmalloc.c: made __malloc_initialized non-static so that - it goes into the bss where we expect it. - - * emacs.c: put run_time_remap() in a place where initialized is - not always true. - - * Makefile.in.in: add support for compiling .cc files. - - * config.h.in: added HAVE_COFF_H support. - -1998-01-23 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (print_cons): Use XCAR/XCDR. - (print_string): Fix up so it Vprint_string_length works under Mule - correctly. - - * eval.c (Feval): Increase profile call count. - - * keymap.c: Fixed typo. - -1998-01-22 Hrvoje Niksic <hniksic@srce.hr> - - * symbols.c (Funintern): Reset symbol's obarray property. - -1998-01-22 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> - - * alloc.c (size_vector): Declare *p as CONST to eliminate warning. - -1998-01-22 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (print_symbol): Recognize Vprint_gensym being a cons; - use Vprint_gensym_alist. - - * symbols.c (init_symbols_once_early): Ditto. - - * alloc.c (Fmake_symbol): Reset it. - - * symbols.c (Fintern): Set it. - - * lisp.h (struct Lisp_Symbol): New element `obarray'. - - * print.c (print_prepare): Reset Vprint_gensym_alist. - (print_finish): Ditto. - - * lread.c: Recognize #n= and #n#. - (readevalloop): Reset read_objects to nil. - (Fread): Ditto. - -1998-01-23 SL Baur <steve@altair.xemacs.org> - - * toolbar.c (update_toolbar_button): Eliminate redundant NILP - checks. - From Martin Buchholz <martin@xemacs.org> - -1998-01-21 Hrvoje Niksic <hniksic@srce.hr> - - * dlopen.c: New file. - -1998-01-19 Steven L Baur <steve@altair.xemacs.org> - - * eval.c (prog1): Don't GCPRO unitialized variable. - (prog2): Ditto. - From Martin Buchholz <martin@xemacs.org> - -1998-01-19 Hrvoje Niksic <hniksic@srce.hr> - - * sound.c (Fplay_sound_file): Use - signal_simple_continuable_error() instead of error(). - -1998-01-18 Hrvoje Niksic <hniksic@srce.hr> - - * README: Updated. - -1998-01-18 SL Baur <steve@altair.xemacs.org> - - * glyphs-x.c (imagick_instantiate): Dynamically allocate pixar - with alloca. - From Damon Lipparelli <lipp@primus.com> - -1998-01-14 Martin Buchholz <martin@xemacs.org> - - * eval.c (For, Fand, Fif, Fcond, Fprogn, Fprog1, Fprog2): - Modernize and streamline. - Replace Fcdr with XCDR, Fcar with XCAR for efficiency. - Remove REGISTER declarations. - -1998-01-13 Martin Buchholz <martin@xemacs.org> - - * emacsfns.h: - * alloc.c: - Add proper prototypes for print_cons, print_vector, print_string. - - * dired.c (directory-files): - * elhash.c (elisp_maphash): - * elhash.h (elisp_maphash): - * lrecord.h: - * mule-ccl.c (setup_ccl_program): - * mule-coding.c (coding_system_charset): - * offix-cursors.h (cursor_bits): - Warning elimination. - - * redisplay.c (add_blank_rune): - * redisplay.c (add_glyph_rune): - * redisplay.c (add_emchar_rune): - Warning elimination. Avoid useless computation in non-mule case. - - * config.h.in: - Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3. - * src/alloc.c: - * src/events.c: - Rearrange order of declarations and definitions to avoid forward - * src/mem-limits.h: Add motivating comment for future cleanup. - - * s/linux.h: Cleanup. Remove old cruft. - - * config.h.in: - Always define _GNU_SOURCE when using GNU libc. - Support --without-FOO as a synonym for --with-FOO=no. - Always use $srcdir to locate config.guess. - Make it clear that CONFIGURATION is optional. - De-emphasize CONFIGURATION parameter. Random cleanup. - More compatible with standard GNU install instructions. - --with-menubars=athena3d ==> --with-menubars=lucid. - -1998-01-14 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fexpand_file_name): Synched with FSF. - -1998-01-13 Hrvoje Niksic <hniksic@srce.hr> - - * objects-msw.c (mswindows_color_instance_rgb_components): - Multiply components by 257 instead of shifting by 8. - -1998-01-15 Hrvoje Niksic <hniksic@srce.hr> - - * elhash.c (Fhashtable_type): New function. - (Fhashtable_test_function): Ditto. - -1998-01-12 SL Baur <steve@altair.xemacs.org> - - * profile.c (Fclear_profiling_info): Fix typing error. - - * elhash.c (elisp_map_remhash): Fix typing error. - (elisp_maphash): Ditto. - -1998-01-12 Hrvoje Niksic <hniksic@srce.hr> - - * mule-ccl.c (Fccl_execute_on_string): Use Dynar_free to free a - Dynarr. - -1998-01-13 Hrvoje Niksic <hniksic@srce.hr> - - * profile.c (vars_of_profile): New variable - `call-count-profile-table'. - (Fclear_profiling_info): Clear call-count-profile-table. - - * eval.c (funcall_recording_as): Use it. - - * profile.c (profile_increase_call_count): New function. - - * lstream.c (stdio_flusher): Comment addition. - - * objects-msw.c (mswindows_string_to_color): Support #RRRGGGBBB, - as well as #RRGGBB. - (mswindows_X_color_map): Reformatted. - -1998-01-12 Hrvoje Niksic <hniksic@srce.hr> - - * line-number.c (invalidate_line_number_cache): Comment fixup. - - * symbols.c (Fapropos_internal): Docstring fix. - - * fns.c (Fstring_equal): Docstring fix. - -1998-01-12 Hrvoje Niksic <hniksic@srce.hr> - - * profile.c (get_profiling_info_maphash): Return int. - (mark_profiling_info_maphash): Ditto. - - * elhash.c (Finternal_hash_value): New debugging function, - undefined by default. - -1998-01-11 Hrvoje Niksic <hniksic@srce.hr> - - * mule-coding.c (add_coding_system_to_list_mapper): Ditto. - - * mule-charset.c (add_charset_to_list_mapper): Return int. - - * faces.c (add_face_to_list_mapper): Return int. - (mark_face_as_clean_mapper): Ditto. - (update_face_inheritance_mapper): Ditto. + * toolbar-msw.c: use masks if they exist. - * keymap.c (keymap_submaps_mapper_0): Return int. - (keymap_submaps_mapper): Ditto. - (copy_keymap_inverse_mapper): Ditto. - (copy_keymap_mapper): Ditto. - (map_keymap_unsorted_mapper): Ditto. - (map_keymap_sorted_mapper): Ditto. - - * elhash.c (hashtable): Added a hash method. - (hashtable_hash): New function. - -1998-01-09 Hrvoje Niksic <hniksic@srce.hr> - - * elhash.c (lisp_maphash_function): Return 0. - (hashtable_equal_mapper): Bail out when an element is not `equal'. - - * hash.c (maphash): Bail out if map function returns non-zero. - -1998-01-11 SL Baur <steve@altair.xemacs.org> - - * eval.c (Fbacktrace): Treat first parameter to byte-code - specially. - -Sat Jan 10 11:36:11 1998 Andy Piper <andyp@parallax.co.uk> - - * config.h.in: undef HAVE_SYS_UN_H so that it gets defined by - configure for gnuserv with UNIX_DOMAIN_SOCKETS. - -1998-01-09 SL Baur <steve@altair.xemacs.org> - - * buffer.c (reset_buffer_local_variables): Synch case-table - resetting stuffs from Emacs 20.2. - Suggested by Aki Vehtari <Aki.Vehtari@hut.fi> - - * src/symbols.c (Fsetq_default): Fix docstring. - From Didier Verna <verna@inf.enst.fr> - -1998-01-07 Kirill M. Katsnelson <kkm@kis.ru> - - * msw-proc.c (mswindows_wnd_proc): Calls to redisplay() from out - of WM_SIZE handler limited to the case of dragging frame borders. - - * redisplay-msw.c (mswindows_bevel_modeline): Added support for - negative modeline height. - (mswindows_output_cursor): Added bar cursor drawing - (mswindows_flash): Flash frame by inverting client area. - -1998-01-08 Andy Piper <andyp@parallax.co.uk> - - * lread.c: guess load path if its not set just like the dumped - version does. - - * doc.c: guess doc path if its not set just like the dumped - version does - -Thu Jan 08 09:42:36 1998 Andy Piper <andyp@parallax.co.uk> - - * emacs.c: don't load loadup.el when CANNOT_DUMP is set, this - is almost never right on XEmacs. - - * s/cygwin32.h: add comments about how to buid. Move some - variables into configure so that we don't have to set them. - - * config.h.in: define HAVE_WINDOW_SYSTEM if HAVE_MS_WINDOWS is - set. - -1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> - - * lread.c (Fload_internal): On Win32, this reopened the file - without first closing the handle. This caused running out of - handles. - - * nt.c (sys_open): This one made big mess when opening a handle - next after MAXDESC-1. Fixed. - -1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> - - * objects-msw.c (mswindows_string_to_color): Patched not to modify - const char* parameter. - (hexval): Modified to accept uppercase hex digits. - - * ntproc.c (sys_spawnve): char* arguments made CONST, to comply - with standard header declaration. - - * sysdep.c: Fixed ugly prototypes copied from system headers. Who - says the solution is as ugly, is right. - Added a couple of #include directives to avoid undefined functions. - (struct save_signal): Added parameter to function pointer - prototype when compiled under ANSI C. - (save_signal_handlers): Ditto - - * s/windowsnt.h: Added prototypes for functions defined via - sys_<name> which are not found or differ on Win32: pipe, sleep, - spawnve, wait, kill - Macros created from former nt.c functions: random srandom setpgrp - Defined HAVE_STRCASECMP, and strcasecmp defined to _stricmp which - is provided by the compiler. - Removed hack which prevented winsock.h from including. - - * nt.c (random): Removed and made a macro in s/windowsnt.h - (srandom): Ditto - (setpgrp): Ditto - (unrequest_sigio): #if0'ed. It is unreferenced; in XEmacs, calls - to it seem to be controlled by HAVE_SIGIO. - (request_sigio): Ditto - - * nt.h: Removed FD_* macros. Rely on definitions in winsock.h. - Changed EMACSDEBUG references to DEBUG_XEMACS - - * event-msw.c (mswindows_cancel_dispatch_event): Returns Qnil when - event not found in the queue. Used to return undefined value. - -1998-01-07 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main_1): Add `-no-autoloads' to suppress loading - autoloads at startup. - - * Makefile.in.in (xemacs): Fix call to list load-path shadows. - -1998-01-02 Charles G. Waldman <cgw@pgt.com> - - * frame.h: fix erroneous FRAME_RIGHT_BORDER_START macro. - Corrects display glitch when toolbar is on the right. - -1998-01-02 Kirill M. Katsnelson <kkm@kis.ru> - - * emacs.c (make_arg_list_1): On Win32 platforms, GetModuleFileName - is consulted instead of argv[0] to get full path to the xemacs - executable. - -1998-01-01 SL Baur <steve@altair.xemacs.org> - - * m/sparc.h: Cleans up some warnings about unused variables in - getloadavg.c under Sparc/Linux. - From Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> - - * fileio.c (vars_of_fileio): Enable directory-sep-char always for - compatibility. - - * emacs.c (main_1): Inhibit reloading dumped lisp when using - `-batch' or `-vanilla'. - -1997-12-31 SL Baur <steve@altair.xemacs.org> - - * emacs.c: New variables `inhibit-update-dumped-lisp' and - `inhibit-update-autoloads'. - (vars_of_emacs): Initialize them. - -1997-12-29 Kirill M. Katsnelson <kkm@kis.ru> - - * msw-proc.c (mswindows_enqueue_magic_event): Made extern. User by - menubar-msw.c - - * event-msw.h: Prototype for mswindows_enqueue_magic_event - - * event-msw.c (mswindows_wm_timer_callback): Fixed counter of - outstanding timer events (decremented only when KillTimer - succeeds) - (emacs_mswindows_remove_timeout): Ditto - - * console-msw.h: Added frame structure field for menu checksum - - * menubar-msw.c: Miscellaneous patches and bug fixes. - -1997-12-30 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main): Clarify calls to main_1. - - * data.c (Fcompiled_function_annotation): Hide DEFUN from - make-docfile. - - * emacs.c (main_1): The invocation name requires recomputing when - running after dumping. - -1997-12-29 SL Baur <steve@altair.xemacs.org> - - * free-hook.c (check_free): Added explicit braces to avoid - dangling else clause. - * sound.c (Fplay_sound_file): Ditto. - * process.c (set_process_filter): Ditto. - * linuxplay.c (linux_play_data_or_file): Ditto. - * regex.c (regex_compile): Ditto. - -1997-12-28 SL Baur <steve@altair.xemacs.org> - - * emacs.c (main_1): Fix logic to run in place when XEmacs is a - login shell. - (main_1): New parameter restart. - (main): Use it. - - * bytecode.h: Disable COMPILED_FUNCTION_ANNOTATION_HACK. - - * print.c (debug_short_backtrace): Guard call to - Fcompiled_function_annotation. - - * alloc.c (disksave_object_finalization): Don't zero out - load-history if history of pure symbols is desired. - - * lread.c (build_load_history): If LOADHIST_DUMPED is defined, add - pure symbols to load-history. - - * emacsfns.h: New symbols added -- LOADHIST_DUMPED, define to get - a history of dumped lisp. LOADHIST_BUILTIN, define to get a - history of symbols defined in C source. - -1997-12-23 Andy Piper <andyp@parallax.co.uk> - - * Conditionals to enable XEmacs to compile (not run!) under - CygWin32. Files touched: - events.c - getloadavg.c - mem-limits.h - objects-msw.c - select-msw.c - sysdep.c - * s/cygwin.h: New file. - -1997-12-26 Kirill M. Katsnelson <kkm@kis.ru> - - * menubar-msw.c, menubar-msw.h: New files. Menus support. - - * console-msw.h: Added frame menu hashtable variable. - - * gui.c: popup_up_p variable and Fpopup_up_p and - separator_string_p functions are moved from gui-x.c - - * gui.h: New file declaring the above. It is #included into the - following files: - dialog-x.c - gui-x.c - menubar-x.c - - * emacs.c: Added calls to *_of_menubar_mswindows() - - * event-msw.c: Generalization of modal pump interface so it may be - used bu menubars also. Some functions and vars renamed, to - reflect more general approach (event_pump -> modal_loop) - - * frame-msw.c: Initialization and marking of menu hashtable. - - * msw-proc.c: Added handling for menu window messages. - - * opaque.c: opaque objects given hash and equal methods, so they - can be compared with 'equal. Menubar uses opaque pointers as - hash keys in an 'equal style hastable. - - * Most of the above touched files: Eliminated compiler warnings. - -1997-12-18 Hrvoje Niksic <hniksic@srce.hr> - - * elhash.c (print_hashtable): Use `%u' for fullness. - (hashtable_equal): New function. - (hashtable_equal_mapper): Ditto. - - * lread.c (vars_of_lread): Initialize Vread_buffer_stream here - instead of in init_lread. - -1997-12-26 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (imagick_instantiate): Add in error and - warning handling for ImageMagick files - -1997-12-26 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in (distclean): Remove `xemacs.*'. - -1997-12-22 SL Baur <steve@altair.xemacs.org> - - * device.c (vars_of_device): Provide `devices' feature so W3's - devices.el emulation won't bloat XEmacs. - - * lread.c (Fload_internal): Strip path and extension when - considering a file as a candidate for running after-load functions. - -1997-12-20 Kirill M. Katsnelson <kkm@kis.ru> - - * s/windowsnt.h: SIZEOF_SHORT set to 16 bits instead of 32, to get - real. - - * redisplay-msw.c: (many functions): FillRect replaced with - ExtTextOut where possible, which is much faster. - (mswindows_redisplay_deadbox_maybe): New function which fixes - deadbox, a square bounded by scrollbar ends and window corner - (usually the lower right corner). - - * emacs.c (assert_failed): On Win32 platforms, when assertion - fails, debugger break occurs if DEBUG_XEMACS is defined. - - * event-msw.c (mswindows_pump_outstanding_events): Fixed so two - consequtive Fsignals are not lost. - - * scrollbar-msw.c (mswindows_update_scrollbar_instance_values): - Added SBF_DISABLENOSCROLL flag so the bar is greyed out when - all lines are visible. - (mswindows_update_scrollbar_instance_status): Ditto for freshly - assigned scrollbar. - - * scrollbar.c (Fscrollbar_set_hscroll): Fixed fitting scroll - limits into range. - -1997-12-18 Kirill M. Katsnelson <kkm@kis.ru> - - * events-msw.c: Added support for modal event dispatch pump. - This mechanism is for scrollbars and menus. - - * events-msw.h: Public declaration for the pump function. - - * msw-proc.c: Pump scrollbar misc user events through the - brand new pump. Pumps! - - * scrollbar-msw.c: Minor range fixes. Added misc events for - horizontal bar, which did not fix it... - -Thu Dec 18 09:53:12 1997 <jsparkes@internetivity.com (Jeff Sparkes)> - - * objects-msw.c (mswindows_print_color_instance): Scale 8 bit RGB - components up to 16 bit X sizes. - (mswindows_string_to_color): numeric colors are #RRGGBB not #BBGGRR. - - * objects-msw.c (mswindows_color_instance_rgb_components): ditto - - * objects.c (Fcolor_instance_rgb_components): Document range of - components as 0-65535. - -1997-12-18 SL Baur <steve@altair.xemacs.org> - - * doc.c (verify_doc_mapper): Fix return value and argument list - for map_obarray. - - * device-x.c: New variable -- Vx_app_defaults_directory. - (x_init_device): Use locale directory searched from package-path. - -1997-12-18 Kyle Jones <kyle_jones@wonderworks.com> - - * EmacsFrame.c: Added foregroundToolBarColor and - foreground resources to the resources[] definition. - Moved default gray8o color value from the - bcakgroundToolBarCOlor resource to th background - resource since the override order is now reversed in - toolbar-x.c. Don't provide a default value for the - foreground resource that the toolbar code looks at. - - * EmacsFrame.h: Define foregroundToolBarColor string - for use in the resoruces code. - - * EmacsFrameP.h: Added foreground_toolbar_pixel slot - to EmacsFramePart struct. - - * toolbar-x.c: Let the toolbar specific background - resource override the global background resource. Added - support for a toolbar specific foreground resource, - which is not currently used for anything internally. - -1997-12-17 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (decode_mode_spec): Comment fixup. - - * tooltalk.c (Freceive_tooltalk_message): Ditto. - - * search.c (Freplace_match): Ditto. - - * frame-x.c (x_frame_property): Ditto. - - * console.c (Fcurrent_input_mode): Ditto. - - * callint.c (Fcall_interactively): Ditto. - - * abbrev.c (Fexpand_abbrev): Ditto. - - * dired.c (file_name_completion): Use Qzero instead of - make_int(0). - - * fileio.c (Finsert_file_contents_internal): Use - report_file_error() to report reading error. - - * cmds.c (internal_self_insert): Don't self-insert if the expanded - symbol's hook has a non-nil `no-self-insert' property; synch with - FSF 20.2. - - * abbrev.c (Fexpand_abbrev): Return Vlast_abbrev, like in FSF - 20.2. - -1997-12-16 Hrvoje Niksic <hniksic@srce.hr> - - * abbrev.c (abbrev_match): User map_obarray() instead of - crockishly copying it. - (abbrev_match_mapper): New function. - (Fexpand_abbrev): Check whether `pre-abbrev-expand-hook' has - killed the buffer. - - * symbols.c (map_obarray): Accept a void * argument. - (mapatoms_1): Adapt. - (apropos_accum): Use fast_lisp_string_match(). - (Fapropos_internal): Don't cons. - (map_obarray): Stop mapping if FN returns non-zero. - - * marker.c (unchain_marker): Guard assert() with ERROR_CHECK_GC. - (bi_marker_position): Guard assert() with ERROR_CHECK_BUFPOS. - (set_bi_marker_position): Ditto. - -1997-12-15 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Use make_int when - checking for overflow. - (Finsert_file_contents_internal): Use EXTERNAL_LIST_LOOP. - (Ffind_file_name_handler): Ditto. - - * dired.c (file_name_completion): Use noseeum_cons. - (file_name_completion_unwind): Free the cons. - -1997-12-16 <jsparkes@internetivity.com (Jeff Sparkes)> - - * scrollbar.c: Add HAVE_MS_WINDOWS to scrollbar-page functions. - - * msw-proc.c: Handle scrolling events. - - * frame-msw.c: Initialize scrollbar width and height. This should - not be necessary, since the window shouldn't be created until - init_frame_2 - - * emacs.c: Call mswindows scrolbar setup when appropriate. - - * scrollbar-msw.c: Created for mswindows-scrollbar support. - - * scrollbar-msw.h: Ditto. - -1997-12-16 Kirill M. Katsnelson <kkm@kis.ru> - - * msw-proc.c: Minor bug in the middle button emulation code - exterminated. - - * msw-proc.c: Character translation procedure reworked, so C-M-char - keys now work properly. Keyboard layouts that use AltGr for - third register characters are detected and handled. The code - has been tested on French and UK keyboard layouts. - - * msw-proc.c: #if 0'ed remains of threaded code are removed. - - * event-msw.c: Mouse motion was incorrectly counted for a user event. - - * event-msw.c: lisp variables beginnig with w32- are renamed to - begin with mswindows-. - -1997-12-15 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Use it. - (Fcopy_file): Ditto. - - * sysdep.c (interruptible_open): New function. - -1997-12-16 Kyle Jones <kyle_jones@wonderworks.com> - - * frame-x.c (x_init_frame_2): Don't call - update_frame_title. Some modeline specs depend on - f->device->selected_frame being non-nil and that will - not be true during initialization of the first frame on - a device. - -1997-12-16 SL Baur <steve@altair.xemacs.org> - - * fileio.c: clean up paren levels between ifdefs. - From Hrvoje Niksic <hniksic@srce.hr> - -1997-12-15 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (imagick_instantiate): Remove an assumption that - all machines have LSB XImage support. - -1997-12-14 Kyle Jones <kyle_jones@wonderworks.com> - - * Makefile.in.in: Moved $(OFFIX_O) from x_objs to - X11_objs to avoid having its initialized global - variables be dumped read-only. - -1997-12-14 SL Baur <steve@altair.xemacs.org> - - * offix.c (DndSetData): Use standard INT_MAX instead of MAXINT. - Replace <values.h> with <limits.h> - -1997-12-13 Kirill M. Katsnelson <kkm@kis.ru> - - * msw-proc.c: added emulation for middle mouse button by chording - left and right buttons - * event-msw.c: added lisp variables for resize behavior and middle - button emulation thresholds - * msw-proc.c: {un}map-frame-hook now are not called directly from - the window procedure, rather from magic event handler. - * Formulated golden rule for calling lisp from window procedure: - "NOOOOOO!". May be violated under circumstances although. - * frame-msw.c: corrected problem with setting frame width and height - properties, introduced by 95-style look. - -1997-12-12 SL Baur <steve@altair.xemacs.org> - - * input-method-xlib.c (describe_XIC): Add casts, use unsigned long - int. - - * eval.c (funcall_subr): Ifdef out as it is now unused. - - * emacsfns.h: Declare Fdisplay_error. - - * callint.c (Fquote_maybe): Don't use `==' on Lisp_Objects. - -1997-12-12 Michael Sperber <sperber@informatik.uni-tuebingen.de> - - * fileio.c: Removed stillborn set-buffer-modtime. - -1997-12-10 Hrvoje Niksic <hniksic@srce.hr> - - * elhash.c (hashtable_instantiate): If SIZE is nil, set it to - length of DATA. - (print_hashtable): Would bogusly print #(hashtable). - (verify_function): Use XCAR. - -1997-12-12 Hrvoje Niksic <hniksic@srce.hr> - - * elhash.c (print_hashtable_data_mapper): Use a C structure - instead of consing. - -1997-12-12 Hrvoje Niksic <hniksic@srce.hr> - - * callint.c (quotify_arg): Don't quotify vectors, keywords, - bit-vectors and lambdas. - (Fquote_maybe): New subr, from quotify_arg. - (quotify_args): Use it. - (Fcall_interactively): Ditto. - -1997-12-11 Hrvoje Niksic <hniksic@srce.hr> - - * window.c (Fset_window_point): Ditto for Fgoto_char. - (Fset_window_configuration): Ditto. - - * undo.c (Fprimitive_undo): Ditto for Fset_buffer_modified_p, - Fgoto_char and Fdelete_region. - - * print.c (temp_output_buffer_setup): Ditto. - - * glyphs.c (make_string_from_file): Ditto. - - * glyphs-x.c (pixmap_to_lisp_data): Ditto for Ferase_buffer. - (pixmap_to_lisp_data): Ditto for Fbuffer_substring. - - * bytecode.c (Fbyte_code): Use Qnil instead of Fcurrent_buffer() - when calling functions that use decode_buffer() internally -- it - is faster. - - Change done for Fgoto_char, Fchar_after, Ffollowing_char, - Fpreceding_char, Findent_to, Feolp, Feobp, Fbolp, Fbobp, - Fforward_char, Fforward_word, Fskip_chars_forward, - Fskip_chars_backward, Fforward_line, Fbuffer_substring, - Fdelete_region, Fnarrow_to_region, Fwiden, Fend_of_line, Fupcase - and Fdowncase. - -1997-12-11 Jonathan Harris <jhar@tardis.ed.ac.uk>, Kirill M. Katsnelson <kkm@kis.ru> - - * The first collegial patch in the xemacs-nt history. Well... - * device-msw.c, event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: - xemacs is now single-threaded application. Due to this, the - problem with crash during input events in GC got resolved. - * xemacs frames are given "95ish" look with raised border. - * stop character (ctrl+g) now works. SIGINT (ctrl+c or ctrl+break - at the console) is still broken although. - * frame "as lisp object" is now stored in window-associated space - provided by the system. This enables obtaining frame object given - window handle in constant time. - * mswindows_cancel_dispatch_event() now has limited handling - for key_press_event's in addition to timeout_event's. - -1997-12-11 SL Baur <steve@altair.xemacs.org> - - * intl.c (init_intl_very_early): Force LC_NUMERIC to "C". - * input-method-xfs.c (Initialize_Locale): Ditto. - * input-method-motif.c (Initialize_Locale): Ditto. - * input-method-xlib.c (Initialize_Locale): Ditto. - Suggested by Didier Verna <verna@inf.enst.fr> and - Martin Buchholz <martin@xemacs.org> - -1997-12-10 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> - - * config.h.in: #undef MAGICK_HEADERS_ARE_UNDER_X11 - - * glyphs-x.c: #ifdef MAGICK_HEADERS_ARE_UNDER_X11 added. - -1997-12-11 SL Baur <steve@altair.xemacs.org> - - * glyphs-x.c (_XOS_H_): Try to avoid including Xos.h on Solaris. - Suggested by Samuel Tardieu <sam@inf.enst.fr> - -1997-12-11 David Hobley <davidh@wr.com.au> - - * pure.c: Removed WINDOWSNT conditional. - -1997-12-10 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Doc changes, update dependencies. - - * frame-x.c (x_init_frame_1): Remove unused variable. - - * fns.c (internal_equal): Guard label with ifdef. - (internal_old_equal): Ditto. - - * symsinit.h: Declare structure_type_create_hashtable. - - * elhash.c (finish_marking_weak_hashtables): Move unused variable - so gcc doesn't complain about it. - - * elhash.h: Declare new weak hashtables. - - * elhash.c (print_hashtable): Fix format. - -1997-12-10 Hrvoje Niksic <hniksic@srce.hr> - - * frame-tty.c (tty_raise_frame_no_select): Use LIST_LOOP. - (tty_lower_frame): Ditto. - - * faces.c (face_validate): Don't check for doubly defined - keywords; the reader does that. - - * emacs.c (main_1): Call structure_type_create_hashtable(). - - * general.c (syms_of_general): Added Qtest and Qsize. - - * elhash.c (structure_type_create_hashtable): New function. - (hashtable_type_validate): Ditto. - (hashtable_test_validate): Ditto. - (hashtable_size_validate): Ditto. - (hashtable_data_validate): Ditto. - (hashtable_instantiate): Ditto. - - * extents.c (extent_putprop): Made it work. - (extent_remprop): Ditto. - -1997-12-08 Kirill M. Katsnelson <kkm@kis.ru> - - * device.h: device::fdin and device::fdout are now defined for - systems which do not HAVE_UNIXOID_EVENT_LOOP. - * device-tty.c, process.c, signal.c: call to signal_fake_event() - bracketed out by #ifdef HAVE_UNIXOID_EVENT_LOOP / #endif - directives. - * signal.c: For Win32 systems, longjmp in signal handler excluded - * nt.c, syssignal.h, systime.h: emulation for SIGALRM and SIGPROF - and setitimer for Win32 platforms. Profiling now works. - * emacs.c: calls to syms_of_profile and vars_of_profile enabled - on Win32 platforms. - * ntproc.c: handling of SIGCHLD now done by the common signal - faking mechanism. (To no avail - subprocesses still broken) - * s/windowsnt.h: Signal constants added - * redisplay-msw.c: "Sticky" beep which blocked XEmacs until the - sound finishes is now repaired - -1997-12-06 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * frame-msw.c, msw-proc.c - Further changes to resizing code so that changing default - font, either in .emacs or later, works properly. - - * msw-proc.c - Minor optimization: Mouse movement events aren't generated - while the user is resizing the frame. - Function keys are returned lower-case. - -1997-12-09 P. E. Jareth Hein <jareth@camelot-soft.com> - - * glyphs-x.c (imagick_instantiate): fix it so that it works - properly for PseudoClass files. Still needs some thinking for - full color... Also added support for old image instantiators - in various places using the OLDCOMPAT define - -1997-12-08 Kyle Jones <kyle_jones@wonderworks.com> - - * event-stream.c (Faccelerate_menu): Check for the - existence of a menubar associated with the selected frame - before trying to use it. Signal an error if there is - no menubar. - -1997-12-06 P E Jareth Hein <jareth@camelot-soft.com> - - * device-x.c: Change -privcmap to -privatecolormap. - * events.c: corret minor think-o. - -1997-12-04 Jonathon Harris <jhar@tardis.ed.ac.uk> - - * event-msw.c, faces.c, msw-proc.c: - Frame resizing happens in multiples of the default character size. - * frame-msw.c: - mswindows_set_frame_size() and - mswindows_set_frame_properties() now call AdjustWindowRect to - set the correct window size. - -1997-12-04 Jeff Sparkes <jsparkes@internetivity.com> - - * frame-msw.c: added frame functions for move, resize, - iconify, raise, lower, visible_p, iconified_p, focus, - make visible, make invisible, set title. - -1997-12-01 Jonathon Harris <jhar@tardis.ed.ac.uk> - - * event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: - - Implemeted simple emacs_mswindows_event_pending_p(). - - Fixed deleting frames. - - Rewrote timeout code, eliminating "!NILP(rest)" bug. - - Special processing for 'Ctrl-@' keystroke. - - Support for some new keysyms. - -1997-12-03 Hrvoje Niksic <hniksic@srce.hr> - - * lstream.c (make_stdio_stream_1): Set it. - (make_filedesc_stream_1): Ditto. - (finalize_lstream): Use it. - - * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. - -1997-11-29 Jeff Miller <jmiller@smart.net> - - * menubar-x.c: define restore_in_menu_callback() when motif - menubars are used. - - * menubar-x.c: change #ifdef LWLIB_MENUBARS_MOTIF to - #if defined LWLIB_MENUBARS_LUCID || defined LWLIB_MENUBARS_MOTIF - around code for incremental menu build. - - * event-stream.c: Changed HAVE_MENUBARS to HAVE_MENUBARS_LUCID in - the #ifdef wrappers around menubar accelerator stuff. - -1997-12-05 SL Baur <steve@altair.xemacs.org> - - * keymap.h: update describe_map_tree prototype - -1997-12-03 Hrvoje Niksic <hniksic@srce.hr> - - * lstream.c (make_stdio_stream_1): Set it. - (make_filedesc_stream_1): Ditto. - (finalize_lstream): Use it. - - * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. - -1997-12-03 Hrvoje Niksic <hniksic@srce.hr> - - * editfns.c (save_excursion_restore): Fix comment. - - * fns.c (Fmapvector): GCPRO the vector. - -1997-12-01 Hrvoje Niksic <hniksic@srce.hr> - - * cmdloop.c (default_error_handler): Respect - errors-deactivate-region; use display-error. - - * editfns.c (vars_of_editfns): New variable user-full-name. - (init_editfns): Initialize it. - (Fuser_full_name): Use it. - (vars_of_editfns): Docfixes. - - * dired.c (Fdirectory_files): Use FORMAT_FILENAME instead of - FORMAT_BINARY. - (make_directory_hash_table): Ditto. - (file_name_completion): Bind `completion-ignore-case' to t under - MS Windows. - (file_name_completion): Signal an error if a member of - `completion-ignored-extensions' is not a string. - -1997-11-30 Hrvoje Niksic <hniksic@srce.hr> - - * doc.c (Fsubstitute_command_keys): Don't use - Vprin1_to_string_buffer. - - * keymap.c (describe_map_tree): Accept a BUFFER argument. - (describe_map): Ditto. - (describe_command): Ditto. - -1997-11-29 Hrvoje Niksic <hniksic@srce.hr> - - * insdel.c (signal_before_change): Don't treat - Vprin1_to_string_buffer specially. - (signal_after_change): Ditto. - - * buffer.c (Fkill_buffer): Don't treat Vprin1_to_string_buffer - specially. - (complex_vars_of_buffer): Ditto. - - * print.c (Ferror_message_string): Use Vprin1_to_string_stream. - - * events.c (Fmake_event): Changed error message. - - * print.c (Fprin1_to_string): Use a resizing-buffer stream. - -1997-12-03 Hrvoje Niksic <hniksic@srce.hr> - - * buffer.c (Fkill_buffer): Use EXTERNAL_LIST_LOOP. - (Fget_file_buffer): Use LIST_LOOP. - -1997-12-02 Hrvoje Niksic <hniksic@srce.hr> - - * editfns.c (save_excursion_save): Don't save VISIBLE-P. - (save_excursion_restore): Changed accordingly. - (save_excursion_restore): Free the markers and conses even if the - buffer is dead. - (save_restriction_restore): Use XCAR/XCDR. - (Fencode_time): Use XCAR/XCDR, when safe. - - * menubar.c (Fnormalize_menu_item_name): Use INC_CHARPTR; allow - `%%' to mean `%'. - - * minibuf.c (regexp_ignore_completion_p): Use EXTERNAL_LIST_LOOP; - check type of list elements. - - * dired.c (file_name_completion): Set up a proper unwind form. - (file_name_completion_unwind): New function. - (file_name_completion): Allow errors. - - * line-number.c (invalidate_line_number_cache): Would lose in - precence of Finsert_before_markers. - (narrow_line_number_cache): Only mark LINE_NUMBER_BEGV as dirty. - (buffer_line_number): Recalculate LINE_NUMBER_BEGV on demand. - (buffer_line_number): Would ignore LINE_NUMBER_FAR. - -1997-12-01 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Fmapvector): Don't stack-allocate args; allocate the - vector and call mapcar1 with its data. - -1997-12-02 P E Jareth Hein <jareth@camelot-soft.com> - - * objects-x.c: Added colormap/visual support, rewrote - allocate_nearest_color, and changed the x-color-instance to deal - with possibly not freeing a color. - - * objects-x.h: Added dealloc_on_gc flag for x-color-instances. - - * redisplay-x.c: Added colormap/visual support. - - * balloon-x.c: Added colormap/visual support. - - * console-x.h: Added colormap/visual support by adding visual, - depth and colormap slots to a device. - - * device-x.c: Added colormap/visual support with the command line - options "-privcmap" and "-visual" and Xresources - ".privateColormap" and ".EmacsVisual". Also changed the - device-init so that the app-shell is always realized to properly - deal with GCs (previously only realized when OFFIX was - supported), and added the x-display-visual-depth lisp function to - complement x-display-visual-class. - - * event-Xt.c: Added colormap/visual support, and stuck in a - patch/hack to change the way Xt inherits visuals to match the way - it inherits colormaps. - - * frame-x.c: Added colormap/visual support. - - * glyphs-x.c: Added colormap/visual support. Will probably need a - lot more work. - -1997-11-27 Kyle Jones <kyle_jones@wonderworks.com> - - * src/keymap.c (munging_key_map_event_binding): Don't do - the meta char hack when processing key-translation-map. - Return nil if the map to be processed (function-key-map - or key-translation-map) is not a keymap. - -1997-11-27 SL Baur <steve@altair.xemacs.org> - - * device-msw.c: Turn on italic flag if appropriate - * objects-msw.c: Set device-class to color. - From Jeff Sparkes <jsparkes@internetivity.com> - - * glyphs-x.c: Should include <magick/magick.h> since that is what - is autodetected by configure. - -1997-11-26 SL Baur <steve@altair.xemacs.org> - - * events.c (Fmake_event): correct type bug. - From Colin Rafferty <craffert@ml.com> - -1997-11-26 Kyle Jones <kyle_jones@wonderworks.com> - - * lisp-disunion.h (VALMASK): Use 1UL instead of 1L to - shut up Sun's niggling compiler warnings about integer - overflow. - - * print.c (Fprin1_to_string): Don't change and - restore the current buffer; no buffer change is needed - to accomplish the task. - -1997-11-23 Jeff Miller <jmiller@smart.net> - - * Makefile.in.in removed energize support - * buffer.c removed energize support - * config.h.in removed energize support - * console-x.h removed energize support - * doc.c removed energize support - * emacs.c removed energize support - * extents.c removed energize support - * extents.h removed energize support - * frame-x.c removed energize support - * gui-x.c removed energize support - * menubar-x.c removed energize support - * process.c removed energize support - * puresize.h removed energize support - * symsinit.h removed energize support - * sysproc.h removed energize support - * syssignal.h removed energize support - * undo.c removed energize support - * window.c removed energize support - - * energize.c removed - * energize.h removed - -1997-11-23 Kyle Jones <kyle_jones@wonderworks.com> - - * faces.c (face_property_was_changed): Don't call - update_faces_inheritance, it isn't needed. - -1997-11-22 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay-x.c (x_flash): Flash the root window - area instead of the entire frame area. - - * frame.h: Added echo_area_garbaged field to frame - struct. - - * frame.c (change_frame_size_1): Set the - echo_area_garbaged flag in a frame that has been - resized. - - * redisplay.c (redisplay_frame): Clear echo_area_garbaged - flag on frame after displaying the frame. - - (Fredisplay_echo_area): Clear echo_area_garbaged - flag on frame after displaying in echo area. - - * redisplay.c: Added hscroll_glyph_width_adjust field - to position_redisplay_data_type struct. - - (add_hscroll_rune): Compute the difference in width - between the hscroll glyph and a canonical space; store - it in data->hscroll_glyph_width_adjust. - - (create_text_block): In tab field computation, adjust - left margin to account for the difference between the - width of the hscroll glyph and the width of a canonical - space. - -1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> - - * Emacs.ad: Change uses of Gray75 to Gray80. - Don't set modeline colors here. - - * EmacsFrame.c: Fetch "background" resource for use by - the toolbar initialization code; default this fetched - value to -1 if it is unspecified, which is different - from what is found in ef->core.background_pixel in that - case. - - * EmacsFrame.h: Define macros for "Background" and - "background" resource strings. - - * EmacsFrameP.h: Added background_pixel field to - EmascFrmaePart struct. - - * toolbar-x.c (x_initialize_frame_toolbar_gcs): Added - code to use the global background resource as the - toolbar background color if it is sepcified. Otherwise - fall back to the backgroundToolBarColor resource. - -1997-11-17 Marc Paquette <marcpa@cam.org> - - * callproc.c (Fcall_process_internal): Fix for bug in - CRLF -> LF conversion. - -1997-11-19 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * redisplay-msw.c: Calls GdiFlush() in _ouput_end, _clear_frame and - _redraw_exposed_area - - * frame-msw.c: mswindows_init_frame_2 - Sets frame's pixel width and height - -1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> - - * callproc.c (call_process_cleanup): Actaully wait - for the process, rather than not doing it and saying we - did. - -1997-11-20 Hrvoje Niksic <hniksic@srce.hr> - - * callproc.c (Fcall_process_internal): Close fd_error. - -1997-11-19 Didier Verna <verna@inf.enst.fr> - - * emacs.c (main_1): Added the missing argmatch call to check - for the '-h' option. - -1997-11-18 SL Baur <steve@altair.xemacs.org> - - * mule-coding.h: Replace freshly broken ENCODE_SJIS and - DECODE_SJIS macros with working versions from beta4. - -1997-11-17 Kyle Jones <kyle_jones@wonderworks.com> - - * frame-x.c (x_init_frame_1): Set frame visibility - flag to 1 immediately so that echo area message are - displayed in it promptly. - - * redisplay.c (Fredisplay_echo_area): If frame has - changed, clear it to avoid garbled messages. - - * window.c (set_window_pixsize): Restore the bail out - if no size change, but do it after the loop that recomputers - major child corner coordinates. - - * keymap.c (describe_map_mapper): Recognize the - buttonXup keysyms as mouse bindings. - -1997-11-17 Tor Arntsen <tor@spacetec.no> - - * Makefile.in.in (update-elc.stamp): Add temacs to dependency. - -1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> - - * Added suport for toolbar borders. - - * EmacsFrame.c: Added X resources for new toolbar - borders. + * glyphs-msw.c: set up masks correctly. - (EmacsFrameSetValues): Added Fadd_spec_to_specifier - calls to move resourced toolbar border width data - into the speciifers. - - * EmacsFrame.h: Defined X resource strings for - toolbar border width resources. - - * EmacsFrameP.h: Added toolbar border width fields - to the EmacsFramePart struct. - - * console.h: Added toolbar_border_width_changed_in_frame_method - field to struct console. - - * events.c (event_x_y_pixel_internal): Factor the - toolbar border into pixel offset. - - * frame.c: Document new toolbar border width - speciifer as being usable as frame properties. - - (frame_conversion_internal): Factor the toolbar border - widths into the geometry calculations. - - (change_frame_size_1): Ditto. - - * frame.h: Added field to struct frame for toolbar - border widths. Modified geomtry macros and created - others in support of the new toolbar border widths. - - * frameslot.h: Added a default_toolbar_border_width - slot. - - * redisplay-x.c (x_clear_frame): Factor the toolbar - border widths into the geometry calculations. - - * toolbar-x.c (x_draw_blank_toolbar_button): Add - support for drawing a border along with the blank - button. Accept border_width and vertical args. - - (x_output_toolbar_button): Added support for drawing a - border along with the button. - - (X_OUTPUT_BUTTONS_LOOP): Pass border_width and vert - args to x_draw_blank_toolbar_button. Set vertical and - border_width fields in toolbar button. - - (x_output_toolbar): Support toolbar border widths. - - (x_toolbar_size_changed_in_frame_1): Mark all toolbar - buttons in the change toolbar as dirty so that they - are refreshed if had been painted over. - - New function: x_toolbar_border_width_changed_in_frame. - Used it as a console method. - - * toolbar.c: New function: mark_frame_toolbar_buttons_dirty. - - New function: toolbar_border_width_changed_in_frame. - Used it as a specifier frame slot change method. - - (get_toolbar_coords): Factor the toolbar border - widths into the geometry calculations. - - (Fset_default_toolbar_position): Update the fallback - border width specifiers for the affected toolbar - positions. - - (specifier_vars_of_toolbar): Added specifiers for the - toolbar border widths. - - * toolbar.h: Added vertical and border_width field - to the toolbar button struct. - - * window.h: Added default_toolbar_border_width slot - to window struct, along with four slots for the four - window local toolbar border width values. - -1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> - - * frame-x.c: Fixed typo in the documentation of the - top-toolbar-shadow-color frame property. - -1997-11-16 Skip Montanaro <skip@calendar.com> - - * redisplay.c: suppress buffer computation in several places if - MULE is not defined. - -1997-11-16 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (print_event): Use `event-x-pixel' and `event-y-pixel', - to be consistent with `make-event' and `event-properties'. - (Fmake_event): Allow nil dnd-data. - -1997-11-15 Jonathan Harris <jhar@tardis.ed.ac.uk> - - * console.h - mswindows is now a window-system according to - CONSOLE_TYPESYM_WIN_P - - * device.msw.c - Now calls init_baud_rate & init_one_device - - * msw-proc.c - Fixed C-key so key is returned unshifted - - * redisplay-msw.c - Modeline and vertical divider appearance tweaks - - -1997-11-14 SL Baur <steve@altair.xemacs.org> - - * console.c (Fsuspend_emacs): Fix docstring. Evaluating - `suspend-hook' cannot stop suspension. - -1997-11-14 Marc Paquette <marcpa@cam.org> - - * callproc.c (Fcall_process_internal): Do CRLF -> LF - conversion when reading process output. - -1997-11-14 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (init_redisplay): Handle not having DISPLAY and not - having TTY support. - -1997-11-14 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fmake_event): Support DND events. - -1997-11-10 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fmake_event): Reenable the event creation code. - (Fmake_event): Canonicalize the plist. - -1997-11-13 SL Baur <steve@altair.xemacs.org> - - * mule-charset.c (Fcharset_id): Typecast result to Lisp_Object. - - * mule-ccl.c (CCL_WRITE_STRING): Reorder parens to avoid compiler - barf on Lisp_Object. - (Fregister_ccl_program): Remove unused variable idx. - - * mule-canna.c: Fix declaration of mule_strlen(). - - * mule-coding.h (ENCODE_SJIS): Parenthesize first two params to - avoid compilation problems. - -1997-11-13 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> - - * mule-charset.h: Added preliminary support for charset Ids. - - * mule-charset.c: Added preliminary support for charset Ids. - - * redisplay-msw.c (separate_textual_runs): Synched with FSF 20.2 - ccl API. - - * redisplay-x.c (separate_textual_runs): Synched with FSF 20.2 ccl - API. - - * mule-coding.c: Synched with FSF 20.2 ccl API. - - * mule-coding.h: Moved ccl part to mule-ccl.h. - - * mule-ccl.c: Synched with FSF 20.2. - - * mule-ccl.h: New file. - -Thu Nov 13 21:34:13 1997 Marc Paquette <marcpa@cam.org> - - * nt.c (REG_ROOT): Use a registry key different that the one for - NTEmacs. - -1997-11-12 SL Baur <steve@altair.xemacs.org> - - * lrecord.h: Fix typo in set_lheader_implementation. - From: Robert Pluim <Robert_Pluim@BayNetworks.COM> - -1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> - - * configure.in: Remove HAVE_TIMEZONE_DECL test. - -1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> - - * s/freebsd.h: Remove HAVE_TIMEZONE_DECL forced value. - - * config.h.in: Remove HAVE_TIMEZONE_DECL reference. - - * systime.h: Remove timezone conditional declaration. - -1997-11-12 Kyle Jones <kyle_jones@wonderworks.com> - - * console.c: Use symbol_value_forward_lheader_initializer - in various DEFVAR* macros. Forgot this in previous - related patch. - - * lisp-disunion.h: Provide a no-op XUNMARK macro for - the GC error checking code even if GCMARKBITS is not - greater than 0. - - * lisp-union.h: Ditto. - -1997-11-10 Hrvoje Niksic <hniksic@srce.hr> - - * event-stream.c: Make echo_keystrokes a Lisp_Object. - (maybe_echo_keys): Adapt to that. - -1997-11-11 SL Baur <steve@altair.xemacs.org> - - * eval.c (throw_or_bomb_out): Remove abort. - Suggested by: Kyle Jones <kyle_jones@wonderworks.com> - -1997-11-11 Kyle Jones <kyle_jones@wonderworks.com> - - * Added support for referencing lrecord_implementations - via an index in an lrecord_header rather than a raw - pointer. Also added a mark bit and a pure bit. - - * alloc.c: Made lrecord_type_index() and - lrecord_implementations_table[] global, previously they - were static. Used new XRECORD_LHEADER_IMPLEMENTATION - and LHEADER_IMPLEMENTATION macros to access - lrecord_implementations found in Lisp_Objects and - lrecord_headers instead of referencing ->implementation. - - (gc_record_type_p): For USE_INDEXED_LRECORD_IMPLEMENTATION, - there's no need to check for equality to type or type + 1. - lrecords are no longer marked by incrementing the - implementation pointer. - - (init_alloc_once_early): Initialized subr and - symbol_value_forward lrecord indexes early so that the - staticly defined subrs and symbol_value_forward object - indexes match the lrecord_implementations_table. - - * buffer.c: Used symbol_value_forward_lheader_initializer in - various DEFVAR* macros. Used new XRECORD_LHEADER_IMPLEMENTATION - macro. - - * elhash.c: Used new XRECORD_LHEADER_IMPLEMENTATION - macro. - - * fns.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. - - * lisp.h: Defined subr_lheader_initializer macro, used it in - DEFUN macro. - - * lrecord.h: For USE_INDEXED_LRECORD_IMPLEMENTATION, - changed lrecord_header to contain an index into - lrecord_implementations_table[], plus a mark bit and a pure - bit. Added support code for this. Defined new - XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION - macros to be used to find the lrecord_implementation - of a Lisp_Object. - - * print.c: Used new XRECORD_LHEADER_IMPLEMENTATION and - LHEADER_IMPLEMENTATION macros. - - * symbols.c: Used symbol_value_forward_lheader_initializer in - definition of guts_of_unbound_marker. - - * symeval.h: Defined symbol_value_forward_lheader_initializer - macro. Used symbol_value_forward_lheader_initializer in various - macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. - - -1997-11-10 SL Baur <steve@altair.xemacs.org> - - * window.c (set_window_pixsize): Remove unused variable. - - * extents.c (print_extent_1): Fix type check error in sprintf. - - * doc.c (Fsnarf_documentation): Remove unused label weird_function. - - * symsinit.h: Restore declaration of vars_of_dialog_x. - - * database.c (Fopen_database): Fix unused variable message. - - * sysdep.c (sys_subshell): vfork() is a demented, obsolete hack. - - * offix.c (struct): Make ImageData, MaskData be unsigned char *. - - * event-Xt.c (x_event_to_emacs_event): Clean up typecasting. - * frame-x.c (Foffix_start_drag_internal): Ditto. - -1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> - - * extents.c (print_extent_1): Use %lx instead of %p - to get the same output on all compilers. - -1997-11-09 Hrvoje Niksic <hniksic@srce.hr> - - * line-number.c: Use markers. - - * redisplay.c (window_line_number): Restored. - - * line-number.c (allocate_line_number_cache): Account for - narrowing. - (buffer_line_number): New function. - - * line-number.c (get_nearest_line_number): New function. - (window_line_number): Use it. - (narrow_line_number_cache): New function. - (invalidate_line_number_cache): Ditto. - (insert_invalidate_line_number_cache): Ditto. - (delete_invalidate_line_number_cache): Ditto. - (add_line_number): Ditto. - - * editfns.c (widen_buffer): Update line number cache. - (Fnarrow_to_region): Ditto. - (save_restriction_restore): Ditto. - - * insdel.c (buffer_insert_string_1): Invalidate cache for - insertion. - (buffer_delete_range): Invalidate cache for deletion. - - * line-number.c: New file. - (window_line_number): Moved from redisplay.c. - - * print.c (debug_print): Print a carriage return, too. - - * bufslots.h: New slot `line_number_cache'. - -1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> - - * event-stream.c: New Lisp variable: last-command-event-time. - -1997-11-08 SL Baur <steve@altair.xemacs.org> - - * lread.c (init_lread): start from lisp, not lisp/prim. - - * Makefile.in.in: lisp/prim does exist any more. - -1997-11-07 Kyle Jones <kyle_jones@wonderworks.com> - - * abbrev.c (abbrev_lookup): Don't delete dash at the - abbrev start location; abbrev-prefix-mark no longer - inserts one. - -Wed November 05 23:40:00 1997 <jhar@tardis.ed.ac.uk> - - * fileio.c: insert-file-contents-internal - Added a bodge to do CRLF->LF conversion of text files, - conditioned on DOS_NT. This is currently only one-way, so all - text files written by XEmacs will be UNIXified. CRLF conversion - is required to make bytecompile work. - - * Added file headers to: - console-w32.c, console-w32.h, - device-w32.c, event-w32.c, event-w32.h, frame-w32.c, - objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c - -Sun November 01 12:00:00 1997 <jhar@tardis.ed.ac.uk> - - * redisplay-x.c: x_output_vertical_divider: - If HAVE_SCROLLBARS was not defined, coordinate of the right of - the divider was being used unitialised. - - * console.h: Added Qw32 and CONSOLE_W32* macros, conditioned on - HAVE_W32GUI. - - * emacs.c: Added calls to the following, conditioned on HAVE_W32GUI: - syms_of_*_w32, vars_of_*_w32, console_type_create_*w32. - - * event-stream.c: Conditioned on HAVE_W32GUI: - - vars_of_event_stream calls vars_of_event_w32. - - init_event_stream calls init_event_w32_late. - - * events-mod.h: Removed comment about having alternative making - MOD_* constants for different windowing systems. - - * events.c: Conditioned on HAVE_W32GUI: - - event-equal: Added case for w32 magic events. - - event-hash: Added case for w32 magic events. - - * events.h: Conditioned on HAVE_W32GUI: - Added struct underlying_w32_event to magic_data. - - * faces.c: complex_vars_of_faces - Added fallbacks for w32 faces, conditioned on HAVE_W32GUI. - - * frame.c: set-frame-properties - Added reference to default-w32-frame-plist to docstring. - - * general.c: Added new Lisp_Object Qw32 and defsymbol. - - * redisplay-output.c: redisplay_update_line - Conditioned reference to stupid_vertical_scrollbar_drag_hack on - HAVE_X_WINDOWS. This will need a proper fix when w32 gets - scrollbars. - - * redisplay-tty.c: init_tty_for_redisplay - Conditioned blocking and unblocking of SIGTTOU on !WIN32 because - these signals don't exist under win32. - - * redisplay.c: init_redisplay - Initialise window system to w32, conditioned on HAVE_W32GUI. - - * symsinit.h: Added syms_of_*_w32, vars_of_*_w32 and - init_event_w32_late. - - * sysdep.c: Conditioned various things on WIN32 in addition to - MSDOS. - - * New files: - console-w32.c, console-w32.h, - device-w32.c, event-w32.c, event-w32.h, frame-w32.c, - objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c - -1997-11-07 Hrvoje Niksic <hniksic@srce.hr> - - * doc.c (Fdocumentation_property): GCPRO doc. - (Fsubstitute_command_keys): Disallow zero bsize. - -1997-11-06 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fevent_modeline_position): Return nil if event is not - over modeline, as the docstring says. - -1997-11-05 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> - - * s/aix3-1.h: Remove ^L character wich confuses AIX make. - -1997-11-06 Tomasz Cholewo <tjchol01@mecca.spd.louisville.edu> - - * event-stream.c (Fnext_command_event): Document keystroke echoing. - -1997-11-06 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Ffeaturep): Use call1, to prevent stack thrashing with - circular lists. - - Update docstring. - -1997-11-06 Kyle Jones <kyle_jones@wonderworks.com> - - * frame-x.c (x_delete_frame): Removed code that - blocked the deletion of popup frames. No need for it. - -1997-11-05 SL Baur <steve@altair.xemacs.org> - - * balloon_help.h: Replace <X11/Intrinsic.h> with "xintrinsic.h" - * balloon_help.c: Ditto. - * offix.h: Ditto. - - * mule-coding.c (coding_system_charset): Add prototype. - -1997-11-04 Kazuyuki IENAGA <ienaga@jsys.co.jp> - - * s/freebsd.h: Add HAVE_TIMEZONE_DECL. Configure will fail at - checking for the existence of `extern long timezone'. - FreeBSD actualy has the `timezone', but due to its <time.h> and - <sys/time.h>, it cannot be recognized by configure. - -1997-11-03 Hrvoje Niksic <hniksic@srce.hr> - - * data.c (Fsubr_interactive): New function. - -1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> - - * frame.c (change_frame_size_1): Added explanatory - comment. - - * window.c (set_window_pixsize): Don't bail out - before looping over the major children if there is no - size change indicated. The top and left coordinates - may need to be recomputed, e.g. in toolbar visibility - updates. - -1997-11-02 Kyle Jones <kyle_jones@wonderworks.com> - - * fileio.c (Ffile_truename): Make the errno == EACCES case - behave the same as errno == ENOENT. - -1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> - - * frame.c (Fframe_property, Fframe_properties): Check - for minibuffer-onlyness of frame before checking whether - it has a minibuffer. This makes the minibuffer property - value be reported as 'only when that is appropriate. The - check order was reversed which resulted in minibuffer-only - frames having the minibuffer property reported as t. - -1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * m/vax.h: - * s/cxux.h: - * s/xenix.h: - * s/umax.h: - * s/msdos.h: - * s/template.h: - * termcap.c: - * signal.c: - * lread.c: - * callproc.c - * buffer.c: Remove VMS dependent code. - -1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * syspwd.h: - * systty.h: - * systime.h: - * syssignal.h: - * sysproc.h: - * sysfloat.h: - * sysfile.h: - * regex.h: - * process.h: - * ndir.h: - * mule-mcpath.h: - * getpagesize.h: - * sysdep.h: - * fileio.c: - * process.c: Remove old VMS code. - -1997-11-02 SL Baur <steve@altair.xemacs.org> + * event-msw.c: typedef SOCKET if cygwin and not msg select(). - * glyphs-x.c: Use <magick/magick.h> instead of <magick.h> - -1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * sysdep.c: - * getloadavg.c: - * malloc.c: Remove old VMS code. - -1997-11-02 Hrvoje Niksic <hniksic@srce.hr> - - * database.c (print_database): Don't use a static buffer to store - file name. - - * dired.c (make_directory_hash_table): Ditto. - - * fileio.c (Ffile_truename): Use `make_ext_string' instead of - `make_string'. - -1997-11-01 Hrvoje Niksic <hniksic@srce.hr> - - * database.c (CONCHECK_DATABASE): Define. - - * dired.c (Fdirectory_files): Use `make_ext_string' instead of - `make_string', to avoid crashes under Mule. - (file_name_completion): Use `make_ext_string'. - - * database.c (new_database): Renamed to `allocate_database', as - per coding conventions. - -1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * dired.c: Remove VMS dependent code. - -1997-11-01 Kyle Jones <kyle_jones@wonderworks.com> - - * buffer.h: Change XCHAR_OR_CHAR_INT to use XCHAR or - XINT as appropriate instead of using XREALINT. - - * regex.c (re_search_2): cast translate[*d] to - unsigned char when indexing fastmap to avoid sign - change when value has the 0x80 bit set. - -1997-10-31 SL Baur <steve@altair.xemacs.org> - - * linuxplay.c (audio_init): Update for newer Linux kernels. - From Robert Bihlmeyer <robbe@orcus.priv.at> - -1997-11-01 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Fix misleading - comment. - -1997-10-31 Kyle Jones <kyle_jones@wonderworks.com> - - * callproc.c: GC protect current_dir while infile and - error_file are being initialized. - -1997-10-30 SL Baur <steve@altair.xemacs.org> - - * config.h.in: Remove HAVE_GIF, HAVE_JPEG, HAVE_PNG, HAVE_TIFF and - replace with HAVE_IMAGEMAGICK. - -1997-10-30 Kyle Jones <kyle_jones@wonderworks.com> - - * process.c (Fprocess_send_string): Protect against - SIGPIPE when flushing outstream. - -1997-10-30 SL Baur <steve@altair.xemacs.org> - - * input-method-xfs.c: Xlocale.h must be included after config.h. - * input-method-motif.c: ditto. - * input-method-xlib.c: ditto. - -1997-10-28 Kyle Jones <kyle_jones@wonderworks.com> - - * Under LRECORD_VECTOR, moved vectors from being an basic - lrecord tpye to an lcrecord. - Added support for 31 bits Lisp integers. - Added support for maskless pointers to Lisp objects. - - * alloc.c - - (allocate_lisp_storage): Use XSETOBJ instead of - XSETCONS to avoid tripping the ERROR_CHECK_TYPECHECK - code with uninitialized data. XSETCONS used to work - until it became an lrecord type. - - Removed sweep_vectors_1, all_vectors and other vector - specific GC related objects in the LRECORD_VECTOR - case, as they are unneeded now that lrecord-based - vectors are lcrecords. - - Added `equal' methods for lrecord-based conses, vectors - and strings. I was mistaken before; they are needed. - - (pure_cons): moved XSETCONS call to after the - set_lheader_implementation call, to avoid tripping the - type checking code on an uninitialized implementation - pointer. - - (make_pure_vector): moved XSETVECTOR call to after the - set_lheader_implementation call, to avoid tripping the - type checking code on an uninitialized implementation - pointer. - - (Fpurecopy): return if given a null pointer. THis can - happen when initializing Qnil. - - (mark_object): return if passed a null pointer. I - think this can happen when marking through some kind of - objects that contain Lisp_Objects and null pointers. - - (marked_p): Ditto - - * buffer.c - - (mark_buffer): Don't mark conses in the indirect children - list is said list is in fact a null pointer. The - indirect children list gets reset to a null pointer - when a bfufer is killed. - - (complex_vars_of_buffer): initialize indirect_children - slow of Vbuffer_local_symbols and Vbuffer_defaults to - nil. - - * chartab.c - - (Fcheck_category_at): Don't use XREALINT to extract a - char from a Lisp_Object, use XCHAR instead. - - (Fchar_in_category): Ditto. - - * data.c - - (eq_with_ebola_notice): Use XCHAR_OR_INT instead of - XREALINT to extract data from a Lisp_Object that could - contain a charater or an integer. - - (make_int): use XSETINT in the USE_MINIMAL_TAGBITS - case. - - (make_char): use XSETINT in the USE_MINIMAL_TAGBITS - case. - - (Flsh): XUINT is gone; use XINT instead. - - * elhash.c - - (elisp_hvector_malloc): Use Qnull_pointer instead of - Qzero, as Qzero is no longer guaranteed to contain an - all-zero bit pattern. - - (make_lisp_hashtable): Ditto. - - (Fcopy_hashtable): Ditto. - - * emacsfns.h - - Conditionalize the declaration of make_char() on - whether a make_char macro exists or not. - - * fns.c - - (internal_equal): Conditionalize existence of cons, - string and vector comparison code on whether they are - lrecord-based. - - (internal_old_equal): Ditto. - - * lisp-disunion.h - - USE_MINIMAL_TAGBITS support. - - 31 bit Lisp integer support. - - Conditionalized existence of markbit related macros on - the existence of a markbit in a Lisp_Object. There are - no markbits in the USE_MINIMAL_TAGBITS implementation - of a Lisp_Object. - - Replaced XUINT with XPNTRVAL. - - Added declaration for Qnull_pointer. - - * lisp-union.h - - USE_MINIMAL_TAGBITS support. - - 31 bit Lisp integer support. - - Conditionalized existence of markbit related macros on - the existence of a markbit in a Lisp_Object. There are - no markbits in the USE_MINIMAL_TAGBITS implementation - of a Lisp_Object. - - Replaced XUINT with XPNTRVAL. - - Added a make_char macro, similar to the make_int - macro, for use with the GCC-specific XMAKE_LISP hack. - - * lisp.h - - USE_MINIMAL_TAGBITS support. - - 31 bit Lisp integer support. - - Added GCMARKBITS macro to specify how many markbits a - Lisp_Object contains. - - Support for lcrecord-based vectors. - - Added XCHAR_OR_INT for accessing data in an object - that might contain either a character or an integer. - - Made HACKEQ_UNSAFE use XCHAR_OR_INT instead of - XREALINT during its Ebola check. - - * print.c - - Made the printing code undestand the split Lisp integer type. - - * symbols.c - - Added declaration for Qnull_pointer. - -1997-10-27 Martin Buchholz <mrb@eng.sun.com> - - * m/ibmrs6000.h: - * s/aix3-2.h: C_SWITCH_SYSTEM ==> configure.in - * s/aix4-1.h: -li18n ==> configure.in - * s/aix4.h: Always include strings.h - * config.h.in: Add AIXV3 define, suggested by xmkmf. Remove - AIX_SMT_EXP. - * unexaix.c: Fix nested comments compiler warning - -1997-10-27 Kyle Jones <kyle_jones@wonderworks.com> - - * profile.c (sigprof_handler): Don't call XUNMARK on - fun, it isn't needed. - - * faces.c (face_property_matching_instance): Check - for charset == Qunbound, which it can be if the - character set is unspecified. - -1997-10-27 SL Baur <steve@altair.xemacs.org> - - * mule-wnnfns.c (vars_of_mule_wnn): Provide 'wnn feature. - - * mule-canna.c (vars_of_mule_canna): Provide 'CANNA feature. - -1997-10-27 Kazuyuki IENAGA <ienaga@jsys.co.jp> - - * device-x.c (x_init_device): To avoid crazy menubars due to - lack of suitable font loading. Disabled locale based app-defaults - loading when menubars=motif or menubars=lucid + xfs feature is not - used. Currently, the menubar resource has no effect for tty use. - -1997-10-25 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * README: Remove references to VMS. - - * vlimit.h: - * s/vms5-5.h: - * s/vms4-4.h: - * s/vms4-2.h: - * s/vms4-0.h: - * s/vms.h: Remove files since VMS isn't supported any more. - -1997-10-25 Kyle Jones <kyle_jones@wonderworks.com> - - * toolbar.h: Reduce MINIMUM_SHADOW_THICKNESS to 1. - -1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de> - - * database.c: Added support for Berkeley DB 2.x. - -1997-10-23 SL Baur <steve@altair.xemacs.org> - - * alloc.c: Disable purespace statistics unless --debug is in - effect. - - * console-stream.c (init_console_stream): At the price of a tiny - memory leak, reinitialize FILE fields of the console. - From Tonny Madsen <tma@nettest.dk> - - * emacs.c: New variable `inhibit_package_init'. - (vars_of_emacs): Use it. - (main_1): Initialize from command line. - - * Makefile.in.in (xemacs): Specify -vanilla when searching for - shadows. - - * emacs.c: Remove VMS ifdefs. - (standard_args): Added -no-packages, --no-packages. - Added -vanilla, --vanilla. - (Frun_emacs_from_temacs): Guard pure usage report with DEBUG_XEMACS - (Fdump_emacs): Ditto. - -1997-10-22 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Ffeaturep): Use `Fcar' with `or'. - -1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> - - * alloc.c: drop the Lisp_Type_Record case clause - that I added to the switch statement in a previous - patch. The string, vector and cons cases belong in - the `default' clause with the other lrecord types. - -1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> - - * Added support for strings as lrecords. - - * lisp.h: #ifdef'd out Lisp_Type_String enum value - if LRECORD_STRING is defined. - - * alloc.c: Added allocation and garbage collection - code for lrecord-based strings. - - * print.c: move Lisp_String printing code to a - separate function so that it could be used as a - `print' method for lrecord-based strings. - -1997-10-20 Jan Vroonhof <vroonhof@math.ethz.ch> - - * extents.c: Renamed shot property to initial-redisplay-function - (extent_fragment_update): Changed the bookkeeping whether an event - has been spawned. The initial-redisplay-function property is no - longer set to nil. - - * extents.h: ditto - -1997-10-20 Kyle Jones <kyle_jones@wonderworks.com> - - * Added support for conses and vectors to be lrecords. - - * alloc.c: Modified allocation and GC code for - LRECORD_CONS and LRECORD_VECTOR support. Moved some - macros to lrecord.h. - - * bytecode.c: Warning comment about LRECORD_CONS. - - * elhash.c: Let internal_hash handle vector hashing - if LRECORD_VECTOR is defined, just as it does when - LRECORD_VECTOR is not defined. The code could have - been copied into an `hash' method function but I don't - see any point to it. Added lrecord style marking code - to finish_marking_weak_hashtables. Bracketed code - that groks the non-lrecord method of marking vectors - with #ifdefs. - - * fns.c: Let internal_equal and internal_old_equal - handle vector comparisons when LRECORD_VECTOR is - defined, just as it does when LRECORD_VECTOR is not - defined. The code could have been copied into an - `equal' method function but I don't see any point to - it. - - * lisp.h: Added typecheck macros for LRECORD_CONS - support. LRECORD_VECTOR macros were already present. - - * print.c: New functions print_cons and print_vector - for LRECORD_CONS and LRECORD_VECTOR support. - Some GC protection also added. - - * lrecord.h: Received some macros from alloc.c, so - that they could be used in lisp.h. - -1997-10-20 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Ffeaturep): Handle `not' correctly. - - * lread.c (vars_of_lread): Use defsymbol for featurep. - -1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> - - * s/irix5-0.h: Removed -G 0 from LD_SWITCH_SYSTEM. .sbss sections - are supported since unexelfsgi.c upgrade. - -1997-10-16 Kyle Jones <kyle_jones@wonderworks.com> - - * lstream.c (Lstream_close): Don't return early if the - closer method reports failure. Doing so caused GC and - memory corruption crashes. - -1997-10-14 Hrvoje Niksic <hniksic@srce.hr> - - * extents.c (Fset_extent_property): Allow `keymap' property to be - set to nil. - -1997-10-15 SL Baur <steve@altair.xemacs.org> - - * mule-coding.c (acceptable_control_char_p): Add C-_ for info. - (detect_coding_iso2022): Ditto. - From SENDA Shigeya <senda@ic.rdc.ricoh.co.jp> - -1997-10-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * mule-coding.c (make-coding-system, detect-coding-region): Modify - DOC-string because of renaming `automatic-conversion' -> - `undecided' to sync with Emacs 20.2. - - (make-coding-system, coding-system-type, detect-coding-region): - Rename `Qautomatic_conversion' -> `Qundecided'. - - * general.c (syms_of_general): Rename `automatic-conversion' -> - `undecided' to sync with Emacs 20.2. - - * emacsfns.h, event-Xt.c (x_to_emacs_keysym): Rename - `Qautomatic_conversion' -> `Qundecided'. - - * buffer.c (buffer-file-coding-system): Modify DOC-string because - of renaming `automatic-conversion' -> `undecided' to sync with - Emacs 20.2. - -1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> - - * lisp.h (MANY): Bump SUBR_MAX_ARGS to 12 and add corresponding - DEFUN_n macros. - -1997-10-13 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> - - * console-tty.c: Include gpmevent.h - * gpmevent.c (connect_to_gpm): change to void - * gpmevent.h: Ditto. - -1997-10-13 Kyle Jones <kyle_jones@wonderworks.com> - - * lisp-disunion.h (XSETOBJ): cast Lisp type enum to - an EMACS_UINT quantity to avoid a compiler warning about - integer overflow when the most significat bit of the - type tag is shifted into the sign bit position of an - EMACS_INT. - -1997-10-12 SL Baur <steve@altair.xemacs.org> - - * s/freebsd.h: Add X11 guard for building without X11. - From Hrvoje Niksic <hniksic@srce.hr> - -1997-10-12 Kyle Jones <kyle_jones@wonderworks.com> - - * doprnt.c (emacs_doprnt_1): if forwarded field width - is negative, set minus_flag and make the field width - positive. Makes (format "%*s" -10 "abc") work like - (format "%-*s" 10 "abc"). - -1997-10-12 SL Baur <steve@altair.xemacs.org> - - * unexsol2.c (unexec): CONST isn't defined here. - From Adrian Aichner <aichner@ecf.teradyne.com> - -1997-10-11 SL Baur <steve@altair.xemacs.org> - - * realpath.c (realpath): CONST IS LOSING but removing it conflicts - with system headers. - - * callproc.c: New variable infopath-internal. - (complex_vars_of_callproc): Declare and initialized it. - - * paths.h.in: New variable PATH_INFOPATH. - -1997-10-10 Martin Buchholz <mrb@eng.sun.com> - - * systty.h: - - change Xemacs --> XEmacs - - * buffer.c: - * editfns.c: - * msdos.c: - - Remove bogus FSF-origin \n\ sequences. - -1997-10-09 Kyle Jones <kyle_jones@wonderworks.com> - - * doprnt.c (parse_doprnt_spec): parse `*' field width - and precision specs and set up spec forwarding. - - * doprnt.c (emacs_doprnt_1): implement `*' by - forwarding flags, precision and field width data from a - spec to a subsequent spec. - - * editfns.c: document new `*' field width and - precision spec. - -1997-10-09 SL Baur <steve@altair.xemacs.org> - - * database.c (Fclose_database): Rename C function. - (Fdatabase_last_error): Ditto. - (Fopen_database): Ditto. - (Fput_database): Ditto. - (Fremove_database): Ditto. - (Fget_database): Ditto. - (syms_of_dbm): Reflect above changes. - From Martin Buchholz <mrb@Eng.Sun.COM> - -1997-10-08 Hrvoje Niksic <hniksic@srce.hr> - - * events.c (Fmake_event): Allow only frames as channel. - -1997-10-07 Hrvoje Niksic <hniksic@srce.hr> - - * extents.c (print_extent_1): Fixed typo. - -1997-10-07 Kyle Jones <kyle_jones@wonderworks.com> - - * insdel.c (buffer_replace_char): if doing delete/insert - because of characters with deiffering byte lengths,move - point forward with the insertion if it was moved backwrad - to equal the insertion point by the earlier deletion. - -1997-10-06 SL Baur <steve@altair.xemacs.org> - - * window.c (Fset_window_dedicated_p): register -> REGISTER. +1998-05-10 Hrvoje Niksic <hniksic@srce.hr> - * unexalpha.c (update_dynamic_symbols): register-> REGISTER. - - * sysdep.c: Global change: register -> REGISTER. - - * strcat.c (strcat): register -> REGISTER. - - * search.c: Global change: register -> REGISTER. - - * regex.c: Global change: register -> REGISTER. - - Ensure REGISTER is always defined. - - * nt.c: Global change: register -> REGISTER. - - * linuxplay.c: Global change: register -> REGISTER. - - * input-method-xlib.c (best_style): register -> REGISTER. - - * gifalloc.c: Global change: register -> REGISTER. - - Ensure REGISTER is always defined. - - * getloadavg.c (getloadavg): register -> REGISTER. - - * eval.c (unwind_to_catch): [Unused variable] register -> REGISTER. - - * cmds.c (Fpoint_at_bol): register -> REGISTER. - - * chartab.c (check_category_char): register -> REGISTER. - - * buffer.c (assoc_ignore_text_properties): [Unused function] - register -> REGISTER. - - * alloca.c: Global change: register -> REGISTER. - - * xmu.h (XmuCopyISOLatin1Lowered): Global change: const -> CONST. - - * gif_lib.h: Global change: const -> CONST. - - * balloon_help.h (balloon_help_move_to_pointer): const -> CONST. - - * xmu.c: Global change: const -> CONST. - - * unexsol2.c (unexec): const -> CONST. - - * unexhp9k3.c (unexec_error): const -> CONST. - - * unexfreebsd.c (unexec_error): const -> CONST. - - * sunOS-fix.c (mbstowcs): const-> CONST. - (wcstombs): Ditto. - - * strcpy.c (strcpy): const -> CONST. - - * strcmp.c: Global change: const -> CONST. - - * strcat.c (strcat): const -> CONST. - - * realpath.c (realpath): const -> CONST. - - * keymap.c (where_is_recursive_mapper): const -> CONST. - - * extents.c (extent_priority_sort_function): const -> CONST. - - * dgif_lib.c (DGifOpenFileName): const -> CONST. - - * balloon_help.c: Global change: const -> CONST. - -1997-10-03 SL Baur <steve@altair.xemacs.org> - - * lisp.h: Nuke register declarations. - -1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> - - * window.c (Frecenter): Correct variable names in docstring. - -1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> - - * fns.c: Add some cross references between destructive and - non-destructive versions of similar functions. - -Fri Oct 3 12:28:08 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * lisp-disunion.h: Move markbit to be between the - type bits and the value bits. Previously it was always - the sign bit of a EMACS_INT, unless modified by a - #define in a machine dependent .h file. - -1997-10-02 Hrvoje Niksic <hniksic@srce.hr> - - * profile.c (Fclear_profiling_info): Made interactive. - -1997-10-02 SL Baur <steve@altair.xemacs.org> - - * glyphs-x.c (USE_TEMP_FILES_FOR_PNG_IMAGES): Move outside of - HAVE_JPEG ifdef. - -1997-10-01 SL Baur <steve@altair.xemacs.org> - - * lisp.h (min): Fully parenthize. - (max): Ditto. - - * Makefile.in.in (widget.o): Insert dependencies. - - Insert HAVE_OFFIX_DND dependencies. - - * casefiddle.c (casify_object): Back out bogus undocumented patch - from 20.3-beta18. - -1997-09-30 SL Baur <steve@altair.xemacs.org> - - * events.c (Fevent_type): Add OffiX guard. - (command_event_p): Ditto. - (mark_event): Ditto. - (print_event): Ditto. - -1997-09-30 SL Baur <steve@altair.xemacs.org> - - * mule-canna.c (Fcanna_set_bunsetsu): Return a value. - (Fcanna_parse): Remove unused variables `ks' and `ksv'. - (Fcanna_henkan_begin): Remove unused variable `res'. - (Fcanna_henkan_next): Remove unused variable `nbun'. - (count_char): Change return type to void. - - * event-Xt.c (x_event_to_emacs_event): Remove unused variable - `event-size'. - - * menubar.c (Fnormalize_menu_item_name): Remove unused variable - `res'. - - * redisplay-x.c (x_flash): Reorganize test to prefer select over - poll. - - * xselect.c (Fx_store_cutbuffer_internal): Remove unused variable - `encoding'. - -1997-09-30 Hrvoje Niksic <hniksic@srce.hr> - - * frame.c (Fmake_frame): Call `custom-initialize-frame'. - -1997-09-24 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * mule-coding.c: Rename `pathname-coding-system' to - `file-name-coding-system' to sync with Emacs 20.2. - -1997-09-26 Hrvoje Niksic <hniksic@srce.hr> - - * window.c (saved_window_equal): Ditto. - - * process.c (Fget_process): Use internal_equal. - - * lread.c (build_load_history): Use internal_equal. - (build_load_history): Use XCAR/XCDR where safe. - - * events.c (event_equal): Ditto. - - * event-stream.c (Fdispatch_event): Ditto. - - * elhash.c (lisp_object_eql_equal): Ditto. - (lisp_object_equal_equal): Ditto. - - * device.c (find_device_of_type): Ditto. - - * console.c (find_console_of_type): Ditto. - - * console-tty.c (tty_init_console): Ditto. - - * console-stream.c (stream_init_console): Use internal_equal. - (stream_canonicalize_console_connection): Ditto. - - * fns.c (Fmember): Use internal_equal, to avoid a necessary - funcall and NILP check. - (Fold_member): Ditto for internal_old_equal. - (Fassoc): Use XCAR when we know we deal with a cons. Use - internal_equal. Removed tem. - (Fold_assoc): Ditto. - (Fassq): Use XCAR. - (Frassoc): Use internal_equal; remove tem. - (Fold_rassoc): Ditto for internal_old_equal. - (Frassq): Use XCDR with what we know is a cons. - (Fold_rassq): Ditto. - (Fdelete): Use internal_equal. - (Fold_delete): Ditto for internal_old_equal. - (Fremassoc): Use internal_equal; use XCAR/XCDR with what we know - is a cons. - (Fremrassoc): Ditto. - - * dired.c (Fdirectory_files): Nreverse the list only if it will be - sorted. - -Fri Sep 26 13:55:28 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * faces.c (update_face_cachel_data): Don't allow the - background pixmap of the default face to override the - background of a face if that color has been specified. - -1997-09-26 Hrvoje Niksic <hniksic@srce.hr> - - * dired.c (close_directory_fd): New function. - (Fdirectory_files): Use it to set up an unwind-protection to close - the descriptor. - (Fdirectory_files): Allow QUIT in re_search. - (Fdirectory_files): If the file is too big, allocate necessary - data with malloc. - (Fdirectory_files): Use simple Fcons to build the list. - (close_directory_fd): Free the opaque pointer. - -1997-09-25 Hrvoje Niksic <hniksic@srce.hr> - - * extents.c (Fset_extent_properties): New function. - -1997-09-24 SL Baur <steve@altair.xemacs.org> - - * dired.c (Fdirectory_files): Remove broken VMS stuff. - (file_name_completion_stat): Ditto. - (file_name_completion): Ditto. - (Top Level): Ditto. - (syms_of_dired): Ditto. - -1997-09-25 Hrvoje Niksic <hniksic@srce.hr> - - * widget.c (Fwidget_apply): Don't GCPRO result of Fwidget_get. - -1997-09-24 SL Baur <steve@altair.xemacs.org> - - * symsinit.h: Declare syms_of_widget. - - * emacsfns.h: Declare Fchar_syntax. - - * bytecode.c (Fbyte_code): Call Fchar_syntax for the Bchar_syntax - bytecode. - - * syntax.c (Fchar_syntax): convert nil input to \000 for - compatibility. - - * alloc.c (report_pure_usage): Increase slop to 512 bytes in betas - and reduce it to 4 bytes in releases. - -1997-09-23 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in (objs): Add new C file widget.o. - -1997-09-22 SL Baur <steve@altair.xemacs.org> - - * editfns.c (vars_of_editfns): New feature 'ampersand-full-name - declared if AMPERSAND_FULL_NAME configuration option is enabled. - - * callproc.c (vars_of_callproc): Update docstring of `data-directory'. - -Sun Sep 21 14:14:44 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * lisp.h: underspecify lisp_fn_t function prototype - to avoid compiler errors in inline_funcall_subr(). - - * eval.c (Fprogn): Walk forms list with XCDR, access - with XCAR. Check forms list CONSP, so that XCDR and XCAR are - safe. - - * eval.c (Fsetq): replace Flength call with for-loop - to compute list length. Walk arg list with XCDR, - access with XCAR. Check arg list with CONSP, so that - XCDR and XCAR are safe. - - * eval.c: New macro inline_funcall_subr, an inline - version of funcall_subr + primitive_funcall. - - * eval.c (Feval): replace Flength call with for-loop - to compute list length. Use XCAR and XCDR in some - places where it is safe to do so. Use - inline_funcall_subr() in place of funcall_subr(). - - * eval.c (funcall_recording_as): Use XCAR instead of - Fcar where it was safe. - - * eval.c (Fapply): replace Flength call with for-loop - to compute list length. - - * eval.c (apply_lambda):Use XCAR and XCDR in some - places where it is safe to do so. - - * eval.c (funcall_lambda): Walk param list with XCDR, access - with XCAR. Check param list CONSP, so that XCDR and XCAR are - safe. - - * symbols.c (find_symbol_value): return quickly if no - symbol magic is involved, to avoid the expensive call - to find_symbol_value_1. - - * symbols.c (store_symval_forwarding): don't call - reject_constant_symbols unless there is a chance a - constant symbol is involved. This break the - encapsulation of the constants check, but symbol stores - are used heavily and speed is most important than - cleanliness in this case. - -1997-09-21 Joel Peterson <tarzan@aosi.com> - - * menubar.c (normalize-menu-item-name): New function. - -1997-09-21 SL Baur <steve@altair.xemacs.org> - - * keymap.c (get_relevant_extent_keymaps): Previous patch reversed. - -1997-09-20 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in (xemacs): Adoption of shadow.el to print - load-path shadowings after successful dump. - -1997-09-20 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay.c (scroll_conservatively): New variable. - (redisplay_window): Use it. - -1997-09-16 SL Baur <steve@altair.xemacs.org> - - * events.c (Fmake_event): Add default case, remove unused variables. - -1997-08-21 Jan Vroonhof <vroonhof@math.ethz.ch> - - * extents.c (extent_fragment_update): Trigger one_shot_function - - * extents.c (set-extent-one-shot-function): New function - - * extents.h (struct extent_auxiliary): Added one_shot_function - - * extens.c: Added one_shot_function to assesor functions. - -1997-09-14 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Fexpand_file_name): Don't treat "//" and "~/" in the - middle of path specially. - -1997-09-10 Hrvoje Niksic <hniksic@srce.hr> - - * event-stream.c (inhibit_input_event_recording): New boolean - variable. - (Fnext_event): Use it. - -1997-09-13 Hrvoje Niksic <hniksic@srce.hr> - - * fns.c (Fmapc): Renamed from Fmapc_internal. - -1997-09-10 Hrvoje Niksic <hniksic@srce.hr> - - * database.c (Fmake_database): Expand FILE. - - * redisplay.c (window-system): Warn against using it. - -1997-09-08 SL Baur <steve@altair.xemacs.org> - - * emacs.c (PACKAGE_PATH): Reverse PACKAGE_PATH. - Suggested by Colin Rafferty <craffert@ml.com> - -1997-09-03 SL Baur <steve@altair.xemacs.org> - - * print.c (print_internal): Special treatment for C-\. - -1997-08-13 P E Jareth Hein <jareth@camelot-soft.com> - - * insdel.c (buffer_delete_range): Changed the location where point - was actually moved to after all other movement handling. This - prevents a MULE related crash in VALID_BYTIND. - -1997-08-11 SL Baur <steve@altair.xemacs.org> - - * doc.c (Fsnarf_documentation): Semi-clarify types of weird - functions. - -1997-08-05 Jens-Ulrik Holger Petersen <petersen@kurims.kyoto-u.ac.jp> - - * eval.c (vars_of_eval): Updated docstring for `debug_on_error' to - mention `debug-ignored-errors'. - -1997-08-01 SL Baur <steve@altair.xemacs.org> - - * emacsfns.h: Fix declaration. - - * event-stream.c (syms_of_event_stream): HAVE_MENUBARS not - HAVE_MENUBAR. - -1997-07-31 SL Baur <steve@altair.xemacs.org> - - * frame-x.c (x_offix_drop_event_handler): Use stderr_out instead - of fprintf. - - * mule-coding.c (parse_iso2022_esc): Add abort() trap on unhandled - condition. - - * mule-wnnfns.c (Fwnn_dict_search): Remove unused variable. - (Fwnn_hindo_update): Ditto. - (Fwnn_inspect): Ditto. - (Fwnn_bunsetu_henkou): Ditto. - - * eval.c (call_with_suspended_errors): Fix Gcc warning: - argument `retval' might be clobbered by `longjmp' or `vfork' - -1997-07-30 SL Baur <steve@altair.xemacs.org> - - * redisplay.c: `window-system' isn't going away any time soon. - -1997-07-29 SL Baur <steve@altair.xemacs.org> - - * callint.c (Fcall_interactively): Allow floating point numbers - for `n' and `N' interactive specs. - -1997-07-27 SL Baur <steve@altair.xemacs.org> - - * event-stream.c (command_builder_find_leaf): Fix typo in - HAVE_MENUBARS. - - * gui-x.c (popup_selection_callback): Fix typo in HAVE_MENUBARS. - - * event-stream.c (syms_of_event_stream): accelerate_menu needed - guards. - - * emacs.c (vars_of_emacs): Main default package directory is now - ${prefix}/lib/xemacs/packages. - -1997-07-25 David Moore <dmoore@ucsd.edu> - - * alloc.c (Fmake_byte_code): GC protect newly allocated function - when looking up filename. - -1997-07-25 SL Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Added support for linking with dmalloc. - -1997-07-25 P E Jareth Hein <jareth@camelot-soft.com> - - * xselect.c (x_atom_to_symbol): Fixed a memory corruption bug - where a possibly MULEified string was getting freed before use. - -1997-07-21 SL Baur <steve@altair.xemacs.org> - - * callproc.c: New variable Vdata_directory_list. - * emacsfns.h: Declare it. - - * fns.c (Frequire): Undo previous change. - - * print.c (print_internal): Handle circular objects like Emacs - handles them (and as documented in the Lispref). - - * database.c (Fputdatabase): Complain when `val' is not a string. - - * event-stream.c (command_builder_find_leaf): Guard menubar - accelerator stuffs with HAVE_MENUBAR. - * gui-x.c (popup_selection_callback): Ditto. - -1997-07-20 SL Baur <steve@altair.xemacs.org> - - * event-stream.c (menu_move_up): Guard menubar accelerator code - with HAVE_MENUBARS. - - * emacs.c (decode_path): New function, derived from latter portion - of decode_env_path. - (decode_env_path): Break out the naughty bits -- shouldn't do - getenv and separator parsing in one function. - New variable Vpackage_path. - (vars_of_emacs): Use it. - - * editfns.c (Fstring_to_char): Return nil instead of `0' for empty - string. - -1997-07-10 Hrvoje Niksic <hniksic@srce.hr> - - * fileio.c (Finsert_file_contents_internal): Handle non-regular - files. - -1997-07-12 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (LOCK_OBJ): Only include filelock.[co] when - CLASH_DETECTION is defined. - -1997-07-11 Steven L Baur <steve@altair.xemacs.org> - - * emacs.c (main_1): Spelling fix. - -1997-07-10 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (dump-elcs): Shouldn't use SATISFIED hack. - (xemacs-no-site-file): Not supported any more. - (binary): New dependency for dumping XEmacs. - (xemacs): Attempt to be a little smarter about not dumping a new - XEmacs if it is not needed. - (temacs): Remove `xemacs' after success. - -1997-07-09 Hrvoje Niksic <hniksic@srce.hr> - - * extents.c: Allow non-symbol properties of extents. - -1997-07-08 Hrvoje Niksic <hniksic@srce.hr> - - * data.c (Fstring_to_number): Use `check_int_range'. - (Fstring_to_number): Would bug out on wrong type check. - -1997-07-07 Steven L Baur <steve@altair.xemacs.org> - - * data.c (Fcompiled_function_doc_string): Implement correctly. - Was forgotten cut & paste identical clone to - Fcompiled_function_interactive? - - * Makefile.in.in (alloc.o): Remove dependency on puresize_adjust.h - so alloc.c need not be recompiled when puresize changes. - - * alloc.c (PURIFIED): Use get_PURESIZE() instead of constant. - (check_purespace): Ditto. - (alloc_pure_lrecord): Ditto. - (report_pure_usage): Ditto. - (disksave_object_finalization): Ditto. - (report_pure_usage): Modify message reported when Build is - restarted due to change in PURESIZE_ADJUSTMENT. - - * puresize.h: Remove dependency on puresize_adjust.h. - (get_PURESIZE): New function -- declare it. - - * pure.c: Move final PURESIZE computation and include of - puresize_adjust.h into here so alloc.c need not be recompiled each - time the puresize is adjusted. - (get_PURESIZE): New function. - -1997-07-06 Steven L Baur <steve@altair.xemacs.org> - - * data.c (Fstring_to_number): Wrong parameter was being checked. - - * emacs.c (vars_of_emacs): Fprovide the system type as a feature. - -1997-07-03 Steven L Baur <steve@altair.xemacs.org> - - * data.c (Fstring_to_number): Fix typo. base isn't an integer. - -1997-07-01 Steven L Baur <steve@altair.xemacs.org> - - * data.c, emacsfns.h: This is the port of GNU Emacs capability. - I am still not sure what this buys us, but I guess it doesn't hurt - to have it. - From Hrvoje Niksic <hniksic@srce.hr> - - * glyphs.c (make_string_from_file): Use - insert-file-contents-literally instead of - insert-file-contents-internal. - -1997-06-30 Steven L Baur <steve@altair.xemacs.org> - - * fns.c (check_losing_bytecode): Correct reported version. - - * Makefile.in.in (${libsrc}DOC): Break up line length for stupid - make programs. - -1997-06-29 Steven L Baur <steve@altair.xemacs.org> - - * emacsfns.h: Put void in prototype. - Suggested by Ben Wing. - -1997-07-01 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * glyphs.c (make_string_from_file): must protect from - `format-alist'. - -1997-06-28 Steven L Baur <steve@altair.xemacs.org> - - * config.h.in: Back out previous change to LOSING_BYTECODE. It's - just not worth it. - -1997-06-27 Mike Scheidler <c23mts@eng.delcoelect.com> - - * s/sol2.h: Undefined _XOPEN_SOURCE for Solaris 2.4. - -1997-06-28 Hrvoje Niksic <hniksic@srce.hr> - - * abbrev.c (abbrev_match): New function. - (abbrev_oblookup): New function. - (obarray_has_blank_p): New function. - (abbrev_count_case): New function. - (Fexpand_abbrev): Use them. Allow abbreviations to contain - arbitrary characters. - -1997-06-28 Steven L Baur <steve@altair.xemacs.org> - - * config.h.in: LOSING_BYTECODE will not be compiled into XEmacs. - - * doc.c (Fsnarf_documentation): Remove VMS dependent stuff for - cleanliness. - -1997-06-28 Hrvoje Niksic <hniksic@srce.hr> - - * print.c (Ferror_message_string): Simplify. - -1997-06-27 Steven L Baur <steve@altair.xemacs.org> - - * symbols.c (Fdefine_function): Correct docstring. - (Fsetplist): Ditto. - (Ffset): Ditto. - (Fsetq_default): Ditto. - -1997-06-27 Hrvoje Niksic <hniksic@srce.hr> - - * eval.c (skip_debugger): Removed comment and #ifdef-ed code. - (signal_call_debugger): Call skip_debugger after wants_debugger. - (signal_call_debugger): Gcpro cons sent to skip_debugger. - -1997-06-26 Steven L Baur <steve@altair.xemacs.org> - - * process.c (create_process): Default to fork instead of vfork. - - * callproc.c (Fcall_process_internal): Default to fork instead of - vfork. - - * emacsfns.h: Add declarations of Ferror_message_string(), - Frunning_temacs_p(). - - * eval.c: Remove declarations of Ferror_message_string(), - Frunning_temacs_p(). - - * Makefile.in.in (${libsrc}DOC): Correct dependency for the docfile. - (${mo_dir}emacs.po): Remove obsolete references to lisp source. - -1997-06-29 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * mule-charset.c: Modify charset DOC-strings to be more detailed. - -1997-06-25 Steven L Baur <steve@altair.xemacs.org> - - * alloc.c (Flist): Optimize. - From Hrvoje Niksic. - -1997-06-23 Steven L Baur <steve@altair.xemacs.org> - - * lisp.h: Get uintptr_t stuffs because it is needed for including - emacsfns.h. - - * sysdep.h: Removed uintptr_t stuffs. - -1997-06-22 Steven L Baur <steve@altair.xemacs.org> - - * fns.c (concat): Replace Fcar/Fcdr with XCAR/XCDR. - (Fnreverse): Ditto. - (internal_equal): Ditto. - (internal_old_equal): Ditto. - (Fnconc): Ditto. - (Freverse): Saner implementation. - From Hrvoje Niksic <hniksic@srce.hr> - - * s/linux.h: getpgrp with glibc is now properly detected by - configure. - Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> - -1997-06-20 Steven L Baur <steve@altair.xemacs.org> - - * events.c: Remove declaration of Qempty. - -1997-06-20 Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> - - * frame-x.c, EmacsFrame.c, menubar-x.c, redisplay-x.c, scrollbar-x.c: - Make 64 bit clean. - -1997-06-19 Martin Buchholz <mrb@eng.sun.com> - - * config.h.in: - - Autodetect X defines using xmkmf. - - Compute rpath on *bsd* systems as well. - - rewrite PRINT_VAR m4 macro. - - detect sizes of void* and long long for future use by unex*.c - * regex.c: _GNU_SOURCE may be defined by config.h; don't redefine. - -1997-06-18 Martin Buchholz <mrb@eng.sun.com> - - * Makefile.in: - * s/*.h: - * m/*.h: - * config.h.in: - * emacs.c: - * version.sh: - * configure.in: Another rewrite. - - support powerpcle (Solaris on ppc) - - Now just have one s/sol2.h for all Solaris versions - - Specifying colon-separated directories actually works now. - - OS_RELEASE is a new define to avoid proliferation of s&m files. - - extract more stuff from s&m files. - - more debugging info - - More changes to avoid the `echo -e' problem - - Add more tests: fcntl.h AC_TYPE_*, AC_FUNC_GETPGRP - - Back out -lPW test. - - More paranoid xpm test - - Put version information in version.sh instead of version.el - - Make quoted pre-processor string tokens out of all macro values - to be used only by configure. - * xmu.c: DON'T use Xos.h - * sysdep.c (wait_for_termination): - * search.c: - * editfns.c: - * console-*: - -1997-06-18 Steven L Baur <steve@altair.xemacs.org> - - * unexelfsgi.c: Some things that Needed To Be Done(tm) into - unexelfsgi: - - support for .sbss section (no more -G 0 needed, 0.00001% speed - increase) - - support for Elf64 (64bits executables) - From Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> - - * fns.c (Fmapvector): New function converted from Lisp. - From Hrvoje Niksic <hniksic@srce.hr> - -Wed Jun 18 16:42:10 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Convert two missed C style comments. - (LIBES): Remove LIBS_DEBUG which is no longer defined. - (LIBES): lwlibs_libs was misspelled. - -1997-06-17 Hrvoje Niksic <hniksic@srce.hr> - - * eval.c (vars_of_eval): New variable Vdebug_ignored_errors. - (skip_debugger): New function; use Vdebug_ignored_errors. - (signal_call_debugger): Use it. - -1997-06-17 Steven L Baur <steve@altair.xemacs.org> - - * emacs.c (vars_of_emacs): Moved symbols emacs-version, - emacs-major-version, and emacs-minor-version from version.el to - here. - - * general.c (syms_of_general): New symbols and, not, and or. - - * emacsfns.h: New symbols Qand, Qnot, Qor. - - * Makefile.in.in: Call temacs to compute lisp libraries to - include in the DOC file. - -1997-06-15 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Remove explicit mention of auto-autoloads.el. - -Sat Jun 14 21:55:27 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * console.c (Fselect_console): - Check DEVICE_SELECTED_FRAME of console's selected - device for non-nil value before using it as a frame. - -1997-06-13 Steven L Baur <steve@altair.xemacs.org> - - * data.c (eq_with_ebola_notice): Remove horrible hack to avoid - unavoidable Ebola notices in the bytecompiler. - - * emacsfns.h: Fextent_in_region_p: Move. - - * keymap.c Fextent_in_region_p: Move. - -Fri Jun 13 00:38:29 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * console.c (Fsuspend_console): - Disable input on ttys. Hide unhidden frames. - - * console.c (Fresume_console): - Enable input on ttys. Raise the device selected frame. - -Fri Jun 13 00:25:46 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * process.c (status_notify): - Revert back to the code that does not use - save_excursion_restore. Just bounds check opoint - instead. - - * process.c (read_process_output): - Bounds check saved clip region and point values for - validity before using them. Call Fwiden before calling - Fnarrow_to_region to insure values will not be out of - range. - -1997-06-12 Steven L Baur <steve@altair.xemacs.org> - - * alloc.c: Make the GC cursor appear on all frames. - From Hrvoje Niksic <hniksic@srce.hr> - -1997-06-11 Steven L Baur <steve@altair.xemacs.org> - - * data.c (eq_with_ebola_notice): Add byte-optimize-logmumble and - byte-compile-push-constant to list of ignored functions. - -1997-06-11 Hrvoje Niksic <hniksic@srce.hr> - - * bytecode.c (Bsave_current_buffer): Register. - (Fbyte_code): Do action. - - * editfns.c (Fsave_current_buffer): New SUBR. - -1997-06-11 Steven L Baur <steve@altair.xemacs.org> - - * syntax.c (Fchar_syntax): Handle case of being passed nil. - - * data.c (eq_with_ebola_notice): Add more legitimate places in the - bytecompiler that should not get Ebola notices. - -Tue Jun 10 00:34:40 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * process.c (status_notify): - Use record_unwind_protect and save_excursion_restore to - handle the point and buffer restoration. Cleaner. Doesn't - crash the editor if before/after-change-functions change - things behind our back. - -1997-06-10 Steven L Baur <steve@altair.xemacs.org> - - * data.c (vars_of_data): Set Ebola warning backtrace limit to 16. - (eq_with_ebola_notice): Bypass Ebola warnings for special - bytecompiler functions where they are 100% spurioius. - -1997-06-11 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * Makefile.in.in: Use lisp/mule/language/misc-lang.el instead of - lisp/mule/ipa-hooks.el. - -1997-06-10 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * Makefile.in.in: Use lisp/mule/language/thai.elc instead of - lisp/mule/thai-hooks.elc. - -1997-06-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> - - * Makefile.in.in: Use lisp/mule/language/chinese.el, - lisp/mule/language/cyrillic.el, lisp/mule/language/european.el, - lisp/mule/language/greek.el, lisp/mule/language/japanese.el and - lisp/mule/language/korean.el instead of - lisp/mule/chinese-hooks.el, lisp/mule/cyrillic-hooks.el, - lisp/mule/european-hooks.el, lisp/mule/greek-hooks.el, - lisp/mule/japanese-hooks.el and lisp/mule/korean-hooks.el. - -1997-06-09 Steven L Baur <steve@altair.xemacs.org> - - * keymap.c: Declare Fextent_in_region_p. - - * s/linux.h: Can't use ORDINARY_LINK in linux until usage of -lPW - is determined more sensibly. - -1997-06-09 Hrvoje Niksic <hniksic@srce.hr> - - * keydefs.c (get_relevant_extent_keymaps): Choose correct keymap - at extent boundaries. - -Mon Jun 9 19:35:19 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * redisplay.c (pixel_to_glyph_translation): - Fixed off by one error in computation of closest - position when mouse is in the frame's right-side - border area. - -Sat Jun 7 22:07:41 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * frame.c (delete_frame_internal): - Calling Fselect_frame isn't sufficient to set the - frame device's selected frame if the frame we're - selecting is on a different device. Call - set_device_selected_frame apprpriately in that case. - Also don't set the frame device's selected frame to a - frame that's on another device. - -1997-06-09 Steven L Baur <steve@altair.xemacs.org> - - * sysdep.c: MS Windows NT doesn't (yet) do child TTY processes. - From David Hobley <davidh@wr.com.au> - -Sat Jun 7 22:00:54 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * device-x.c (x_delete_device): - Add an EQ check so that we don't set Vdefault_x_device - back to the device we're deleting. - -1997-06-05 Steven L Baur <steve@altair.xemacs.org> - - * frame.c (Fmake_frame): Correct checking of first_frame_on_device. - From Hrvoje Niksic <hniksic@srce.hr> - -1997-06-04 Steven L Baur <steve@altair.xemacs.org> - - * device.c (delete_deviceless_console): New function. - (Fmake_device): Use it. Fix problem of creation of a frame on a - tty where something fails during initialization. - From Kyle Jones <kyle_jones@wonderworks.com> - - * specifier.c (Fboolean_specifier_p): Correct spelling in - Docstring (synch from Infodock 3.5). - - * frame.c: Update docstring. - -1997-06-03 Hrvoje Niksic <hniksic@srce.hr> - - * sysdep.c (tty_init_sys_modes_on_device): Initialize it. - - * console.c (complex_vars_of_console): New variable - `tty-erase-char'. - - * conslots.h (MARKED_SLOT): New slot. - -Mon Jun 2 02:49:44 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * frame.c, frame-tty.c - Treat tty frames like a cross between stacked window - system frames and frames on virtual displays. All - frames but the top frame are visible but hidden by - default. next-frame and previous-frame now skip - invisible tty frames by default. raise-frame and - lower-frame now control whether a frame is hidden - instead of whether it is visible. Frames are no - longer automatically raised when they are selected. - After a raise/lower operation selection of the new - topmost frame is deferred until a selection magic - event is read. - -Sat May 31 19:59:49 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * frame-tty.c (tty_init_frame_3: - Defer selection of the newly created frame until - an event is read. - -1997-06-02 Steven L Baur <steve@altair.xemacs.org> - - * search.c (REGEXP_CACHE_SIZE): Bump to 20. - Suggested by Karl M. Hegbloom <karlheg@inetarena.com> - -1997-05-30 Steven L Baur <steve@altair.xemacs.org> - - * device-tty.c (tty_asynch_device_change): - * gpmevent.c (connect_to_gpm): Makes it so it doesn't **ck up the - mouse stuff on an XTerm, and resets the internal GPM variables for - the width and height of the screen when we get a sigwinch. - From William M. Perry <wmperry@aventail.com> - -1997-05-29 Steven L Baur <steve@altair.xemacs.org> - - * eval.c (Fprogn): Delete mocklisp support. - (Fwhile): Ditto. - (Fcommandp): Ditto. - (Feval): Ditto. - (funcall_recording_as): Ditto. - (funcall_lambda): Ditto. - - * elhash.c (verify_function): Delete mocklisp support. - - * doc.c (Fdocumentation): Delete mocklisp support. - - * data.c (wrong_type_argument): Delete mocklisp support. - - * config.h.in: Delete mocklisp support. - - * callint.c (Fcall_interactively): Delete mocklisp support. - - * emacs.c (main_1): Delete mocklisp initialization. - - * symsinit.h: Delete mocklisp.c decls. - - * Makefile.in.in: Delete mocklisp stuffs. - -Thu May 29 03:00:16 1997 Kyle Jones <kyle@crystal.wonderworks.com> - - * frame.c (change_frame_size_1): - Drop code that returns immediately if the old frame - size is equal to the new. - Leave the minibuffer height the same if the frame has - been initialized, and the minibuffer height is tall - enough to display at least one line of text in the default - font, and the old minibuffer height is a multiple of the - default font height. This should cause the minibuffer - height to be recomputed on font changes but not for - other frame size changes, which seems reasonable. - -1997-05-26 Steven L Baur <steve@altair.xemacs.org> - - * event-stream.c (Frecent_keys): Take optional parameter to - indicate how many keystrokes to return. - (Frecent_keys_ring_size): New function returns the maximum number - of events `recent-keys' can return. - (Fset_recent_keys_ring_size): New function. Modifies the above. - - From Hrvoje Niksic <hniksic@srce.hr> - - * event-stream.c: New variable recent_keys_ring_size replacing a - hard-coded macro. - -1997-05-23 Steven L Baur <steve@altair.xemacs.org> - From Hrvoje Niksic <hniksic@srce.hr> - - * sysdep.c: Correction of subprocess support when compiling - without ttys. - -1997-05-21 Steven L Baur <steve@altair.xemacs.org> - - * editfns.c (format-time-string): Update DOCstring. Make time - parameter optional. - -Wed May 21 11:58:17 1997 Kyle Jones <kyle@crystal.wonderworks.com> - - * insdel.c (signal_first_change): - record the current buffer for the unwind instead of the - buffer that's about to become the current buffer. - -Tue May 20 23:23:39 1997 Steven L Baur <steve@altair.xemacs.org> - - * frame.c: Correct spelling typo in docstring. - -Mon May 19 03:40:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> - - * redisplay.c: (window_line_number) - don't prefer buffer point value over window point - value unless window, frame, device and console are - all selected. - - * redisplay.c: (redisplay_window) - don't prefer buffer point value over window point - value unless window, frame, device and console are - all selected. - - * redisplay.c: (create_text_block) - don't prefer buffer point value over window point - value unless window, frame, device and console are - all selected. - -Sun May 18 13:03:50 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (distclean): remove xemacs-version.h. - -Sun May 11 13:38:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> - - * frame.c (change_frame_size_1): - return without doing anything if the frame has benn - initialized and the new frame size is same as the - current frame size. - -Sat May 17 19:35:48 1997 Steven L Baur <steve@altair.xemacs.org> + * regex.c (re_match_2_internal): Check for quit. - * device-tty.c (tty_asynch_device_change): Make - `no-redraw-on-reenter' work. Patch from Hrvoje Niksic. - -Sat May 17 23:39:03 1997 Hrvoje Niksic <hniksic@srce.hr> - - * frame-tty.c: Support multiple frames. - - * redisplay.c (decode_mode_spec): New coding `%N'. - -Sun May 11 23:36:08 1997 Steven L Baur <steve@altair.xemacs.org> - - * buffer.c: Rename Vdelete_auto_save_files to coding standards. - - * frame.c: Rename Vallow_deletion_of_last_visible_frame to coding - standards. - -Thu May 8 19:10:03 1997 Steven L Baur <steve@altair.xemacs.org> - - * frame.c: Change internal type of - `allow-deletion-of-last-visible-frame' to boolean. - - * buffer.c: Change internal type of `delete-auto-save-files' to - boolean. - -Sat May 3 15:28:56 1997 Steven L Baur <steve@altair.xemacs.org> - - * redisplay.c: `column-number-start-at-one' is a user customizable - variable. - - * event-stream.c (vars_of_event_stream): `focus-follows-mouse' is - a user customizable variable. - - * cmds.c (vars_of_cmds): `signal-error-on-buffer-boundary' is a - user customizable variable. - - * lread.c (parse_integer): Fix incorrect upper bounds on loop. - -Thu May 1 18:59:20 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c (Fmake_subwindow): Update error message. - -Wed Apr 30 18:07:18 1997 Steven L Baur <steve@altair.xemacs.org> - - * lread.c: New variable featurep. - (read1): Add processing for #- and #+. - (read_list_conser): Handle case where a feature test has removed a - portion of the input stream. - (vars_of_lread): New feature `xemacs'. - - * fns.c (Ffeaturep): Remove function when using #-, #+ feature - reader syntax. - - * Makefile.in.in (lisp): Put features.elc in the dump list. - -Thu May 1 05:24:25 1997 Hrvoje Niksic <hniksic@srce.hr> - - * buffer.c (Fmake_indirect_buffer): Don't pretend it's there. - -Fri Apr 25 10:53:07 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c: libpng already includes setjmp.h, so don't attempt - to include it twice. - -Thu Apr 24 09:14:13 1997 Steven L Baur <steve@altair.xemacs.org> - - * balloon-x.c (vars_of_balloon_x): Don't override advertised and - supported balloon-help. - -Tue Apr 22 11:54:02 1997 Steven L Baur <steve@altair.xemacs.org> - - * emacs.c (main_1): Add syms_of_balloon_x and guard with - HAVE_X_WINDOWS. - (main_1): Add vars_of_balloon_x and guard with HAVE_X_WINDOWS. - - * process.c (get_process): This function can be passed a BUFFER as - a parameter. - -Tue Apr 22 01:32:00 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> - - * menubar-x.c (pre_activate_hook): - set in_menu_callback around call to call to - menu_item_descriptor_to_widget_value. - - * event-stream.c (Fnext_event): - signal error if in_menu_callback non-nil to avoid - reentering the menubar code and causing a crash later. - - * cmdloop.c (command_loop_3): - signal error if in_menu_callback non-nil to avoid - inflooping calling Fnext_event, which will signal an - error if the situation is not caught earlier. - -Tue Apr 22 08:22:22 1997 Hrvoje Niksic <hniksic@srce.hr> - - * balloon-x.c, balloon_help.c, balloon_help.h: Modified to conform - to XEmacs coding standards. - -Thu Apr 17 17:16:34 1997 Steven L Baur <steve@altair.xemacs.org> - - * balloon-x.c: New file from Douglas Keller. - - * balloon_help.c: New file from Douglas Keller. - - * balloon_help.h: New file from Douglas Keller. - -Sun Apr 13 09:56:54 1997 Steven L Baur <steve@altair.xemacs.org> - - * emacs.c (shut_down_emacs): Advertise using send-pr as the - mechanism for submitting a bug report. - - * Makefile.in.in: Handle pathological case of mis-autodetected - TOOLTALK. - -Sun Apr 13 11:33:34 1997 David Moore <dmoore@ucsd.edu> - - * regex.c (re_search_2): Prevent incorrect matching and infinite - loop with \\` and MULE. - -Sat Apr 12 05:57:51 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Dump cus-start.elc with XEmacs. - - * event-Xt.c (x_to_emacs_keysym): Allow for dead keys. (Patch - from Joachim Schnitter). - - * Makefile.in.in: Allow native sound for BSD/I. - - * linuxplay.c: Rename global sndbuf to linuxplay_sndbuf. - Make sndbuf, mix_fd, audio_vol, audio_fd, audio_dev non-static to - avoid dump time lossage. - (sndcnv8U_2mono): Rename global sndbuf to linuxplay_sndbuf. - (sndcnv8S_2mono): Ditto. - (sndcnv2monounsigned): Ditto. - (sndcnv2unsigned): Ditto. - (sndcnvULaw_2mono): Ditto. - (sndcnv16_2monoLE): Ditto. - (sndcnv16_2monoBE): Ditto. - (sndcnv2byteLE): Ditto. - (sndcnv2byteBE): Ditto. - (sndcnv2monobyteLE): Ditto. - (sndcnv2monobyteBE): Ditto. - (linux_play_data_or_file): Ditto. - (linux_play_data_or_file): Ditto. - (linux_play_data_or_file): Ditto. - -Sat Apr 12 01:59:14 1997 Kyle Jones <kyle_jones@WonderWorks.COM> - - * glyphs-x.c, glyphs.c, glyphs.h: Added domain parameter to all - image *_instantiate functions so that the domsin is available to - specifier lookups in the various instantiator functions. Passed - domain argument to extract_xpm_color_names for the - Fspecifier_instance call. - -Fri Apr 11 20:02:40 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c (extract_xpm_color_names): Add checking to handle - case for when XEmacs is in initialization. - - * events.c (Fevent_type): Remove handling for dead_event. - (Fevent_properties): Remove handling for dead_event. - -Thu Apr 10 20:41:53 1997 David Moore <dmoore@ucsd.edu> - - * ntproc.c (sys_spawnve): Clean up GC protection. - - * fileio.c (Ffile_executable_p): Clean up GC protection. - -Thu Apr 10 12:48:49 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs.c: Undo duplicate declaration of display_table. - - * glyphs.h: Back out name change of autodetect to - automatic_conversion. - - * glyphs.c: Back out name change of autodetect to - automatic_conversion. - - * glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out - name change of autodetect to automatic_conversion. - - * events.c (Fevent_properties): Do something sensible for - dead_event and empty_event. - - * general.c: Restore autodetect symbol. - - * emacsfns.h: Declare new symbol Qempty. - - * general.c: Add symbol to identify empty events. - - * events.c (Fevent_type): Don't abort() when presented with an - empty_event or a dead_event. - -Mon Apr 7 18:12:26 1997 David Moore <dmoore@ucsd.edu> - - * xmu.c: Renamed local `initialized' variable to `hex_initialized' - and don't assign to static, as some compilers crash. - (initHexTable): Use it. - (XmuReadBitmapData): Use it. - -Sun Apr 6 18:03:47 1997 David Moore <dmoore@ucsd.edu> - - * fileio.c (Fexpand_file_name): Clean up GC protection. - - * dired.c (Fdirectory_files): Clean up GC protection. - - * insdel.c (signal_after_change): Don't run after_change_functions - on special Vprin1_to_string_buffer. - (signal_before_change): Ditto for before_change_functions. - -Fri Apr 4 14:41:17 1997 David Moore <dmoore@ucsd.edu> - - * buffer.c (Fkill_buffer): Don't kill special - Vprin1_to_string_buffer. - -Mon Apr 7 19:13:40 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (xemacs-version.h): Added to rename main_1 to - something reflecting the XEmacs version in use (for lusers - reporting crashes who forget to include the version number). - - * toolbar.c (specifier_vars_of_toolbar): Strip HAVE_NEXTSTEP. - - * sound.c: Strip HAVE_NEXTSTEP. - - * redisplay.c (init_redisplay): Strip HAVE_NEXTSTEP. - - * faces.c: Strip HAVE_NEXTSTEP. - (update_EmacsFrame): Ditto. - - * events.c (event_equal): Strip HAVE_NEXTSTEP. - (event_hash): Ditto. - (format_event_object): Ditto. - - * event-stream.c (init_event_stream): Strip HAVE_NEXTSTEP. - - * emacs.c (main_1): Strip HAVE_NEXTSTEP. - Attempt hack to change name of main_1 to something reflecting the - current version for lusers who don't include version numbers with - stack backtraces. - - * device.c: Strip HAVE_NEXTSTEP. - - * console.c (Fconsole_type): Remove reference to unimplemented ns - windows type. - -Sun Apr 6 08:08:33 1997 Steven L Baur <steve@altair.xemacs.org> - - * frame.h: Strip NeXTStep stuff. - - * device.h: Strip NeXTStep stuff. - - * console.h: More NeXTStep trimming. - - * console-x.h: Strip Epoch stuff. - - * symsinit.h (init_sunpro): Strip vms/Epoch stuff. - - * events.h (union magic_data): Strip NeXTStep stuff. - - * console.h: Strip NeXTStep stuff. - - * config.h.in: Strip unimplemented NeXTStep/Epoch stuff out. - - * Makefile.in.in: Remove unused NeXTStep support. It's all in the - cvs attic if someone wishes to revive it. - (epoch.o): Remove last vestiges of non-existent epoch support. - -Sat Apr 5 17:16:49 1997 Steven L Baur <steve@altair.xemacs.org> - - * fns.c: Correct DOC string to not equate integers and - characters. - -Thu Apr 3 08:01:50 1997 Steve Carney <carney@gvc.dec.com> - - * s/decosf4.0-static.h: New file. - -Tue Apr 1 12:22:32 1997 Steven L Baur <steve@altair.xemacs.org> - - * config.h.in: MAIL_USE_POP, KERBEROS, HESIOD -- new parameters to - deal with upgraded movemail.c. - -Fri Mar 28 19:25:22 1997 Steven L Baur <steve@altair.xemacs.org> - - * inline.c: Restore this blasphemous file. - - * Makefile.in.in (inline.o): Restore the bletcherous - inline.c. - -Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> - - * fileio.c (barf_or_query_if_file_exists): GC fixes. - (Ffile_readable_p): ditto. - (Ffile_writable_p): ditto. - (Ffile_symlink_p): ditto. - (Ffile_accessible_directory_p): ditto. - - * sound.c (Fplay_sound_file): Fix up gc problems with file - handlers. - - * buffer.c (Fkill_buffer): Fix up buffer killing problems with - file handlers. - - * sysdep.c (sys_subshell): Fix up gc problems with file handlers. - - * callproc.c (Fcall_process_internal): Fix up gc problems with - file handlers. -Tue Mar 25 17:16:14 1997 Steven L Baur <steve@altair.xemacs.org> - - * ralloc.c (MHASH): Make 64bit Alpha happier. - -Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> - - * fileio.c (auto_save_expand_name_error): New function. - (auto_save_expand_name): Ditto. - (Fdo_auto_save): Protect against an error in Fexpand_file_name - from kicking us inappropriately out of auto-save. - -Mon Mar 24 21:50:13 1997 Steven L Baur <steve@altair.xemacs.org> - - * s/linux.h (GETPGRP_NEEDS_ARG): Define if compiling with glibc - 2.1 (suggested by Andreas Jaeger). - -Mon Mar 24 12:40:56 1997 David Moore <dmoore@ucsd.edu> - - * profile.c: Fixed some comments about GC status of functions. - - * profile.c (inside_profiling): New variable to lock the - profiling table. - (sigprof_handler): Check it. - (Fget_profiling_info): Set it. - (mark_profiling_info): Set it. - (Fclear_profiling_info): Set it. - - * eval.c (PUSH_BACKTRACE): New macro. - (POP_BACKTRACE): Ditto. - - * eval.c (Fcommand_execute): Use them and fix problem with - backtrace_list build ordering requirements for profiling code. - (Feval): Ditto. - (funcall_recording_as): Ditto. - -Fri Mar 21 20:19:09 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: strip inline.o. - -Fri Mar 21 18:54:04 1997 David Moore <dmoore@ucsd.edu> - - * fileio.c (call2_check_string_or_nil): New function. - (Ffile_name_directory): Use it. - (Fsubstitute_in_file_name): Use it. - - * fileio.c (Fexpand_file_name): GC protect against file handlers. - (Fdelete_file): ditto - (Ffile_writable_p): ditto - (Ffile_directory_p): ditto - (Ffile_regular_p): ditto - (Fset_file_modes): ditto - (Ffile_newer_than_file_p): ditto - (Fset_visited_file_modtime): ditto - - *fileio.c (Ffile_truename): Unneccessary GC protection. - (Fdelete_directory): Fix broken caller-must-GC-protect call. - - * filelock.c (lock_file): New comments warning that this function - may kill the current buffer. - (unlock_file): ditto - (Flock_buffer): ditto - (Funlock_buffer): ditto - (unlock_buffer): ditto - - * filelock.c (unlock_all_files): GC protect against unlock_file - killing random buffers. - - * buffer.c (Fkill_buffer): GC protect against unlock_file killing - the buffer. - - * insdel.c (prepare_to_modify_buffer): GC protect against - lock_file() killing the buffer. - -Fri Mar 21 19:11:15 1997 Steven L Baur <steve@altair.xemacs.org> - - * mule-coding.c (vars_of_mule_coding): Add - enable-multibyte-characters for MULE compatibility. - -Thu Mar 20 13:25:26 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c: Implement a dummy function to insert a fake EOI - marker if called. Based on code from William Perry. - -Wed Mar 19 10:49:05 1997 Steven L Baur <steve@altair.xemacs.org> - - * menubar-x.c (pre_activate_callback): Attempt to avoid recursive - expansion of submenus via :filter expansion. - - * glyphs-x.c (x_print_image_instance): Move define of - HAVE_SUBWINDOWS to glyphs-x.h. - (our_skip_input_data): Implement with some error checking based on - patch by Dominic Froud. - - * glyphs-x.h (HAVE_SUBWINDOWS): Define to keep inline.c from - barfing. - -Tue Mar 18 11:15:23 1997 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c: Strip unimplemented subwindows code. - -Mon Mar 17 15:40:12 1997 David Moore <dmoore@ucsd.edu> - - * glyphs-x.c (our_own_dgif_slurp_from_gif2x11_c): Only get the - first image out of a multi-image or animated gif. - -Mon Mar 17 15:27:26 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (xemacs): Invert sense of test for successful - completion of XEmacs dump. - -Sat Mar 15 14:21:39 1997 David Moore <dmoore@ucsd.edu> - - * fileio.c (Fdo_auto_save): Protect against file handlers which - may kill the buffer being saved or otherwise modify Vbuffer_alist. - -Sat Mar 15 15:32:51 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Add auto-customize.elc. - -Fri Mar 14 19:10:37 1997 David Moore <dmoore@ucsd.edu> - - * extents.c (extent_changed_for_redisplay): New parameter. - (extent_changed_for_redisplay): Notify redisplay if invisible text - has become visible. - (extent_maybe_changed_for_redisplay): New parameter. - (extent_attach): Use it. - (extent_detach): Use it. - (Fset_extent_parent): Use it. - (set_extent_invisible): Use visibility change parameter. - (Fset_extent_face): Ditto. - (Fset_extent_mouse_face): Ditto. - (set_extent_glyph): Ditto. - (do_highlight): Ditto. - -Thu Mar 13 10:40:37 1997 Steven L Baur <steve@altair.xemacs.org> - - * s/sunos4-1-4-shr.h: New file. - - * s/sunos4-1-4.h: New file. - - * s/sunos4-1.h (BROKEN_SIGIO): Define. - -Wed Mar 12 14:29:40 1997 Steven L Baur <steve@altair.xemacs.org> - - * emacs.c (fatal_error_signal): (mostly) useless check on - /usr/proc/bin/pstack removed. - - * s/bsdos3.h: New file for BSDI 3.0. - - * editfns.c (Fchar_equal): Correct DOC string. - (Fchar_Equal): (char=) CL Case sensitve comparison added. - - * data.c (Fcharacterp): Make DOC string less confrontational. - -Mon Mar 10 23:51:04 1997 Martin Buchholz <mrb@eng.sun.com> - - * input-method-motif.c (XIM_init_frame): Fix XIM crash on some - versions of X11R6 XIM. - -Sun Mar 9 21:46:53 1997 Tomasz J. Cholewo <t.cholewo@ieee.org> - - * minibuf.c (regexp_ignore_completion_p): Reverse meaning of - completion-regexp-list. - -Thu Mar 6 19:15:29 1997 Steven L Baur <steve@altair.xemacs.org> - - * data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!! - message. - -Wed Mar 5 16:11:22 1997 Steven L Baur <steve@altair.xemacs.org> - - * process.c (get_internet_address): Put upper bounds on attempting - to get system name (similar to nearly identical processing in - sysdep.c. - -Tue Mar 4 17:30:48 1997 Steven L Baur <steve@altair.xemacs.org> - - * puresize.h (PURESIZE): *Must* use angle brackets for - puresize_adjust.h or build will lose with --srcdir. - - * alloc.c (report_pure_usage): Adjust error message printed when - too low on PURESIZE. - - * Makefile.in.in: Move site-packages. - Add vpath correction for puresize_adjust.h. - -Mon Mar 3 20:37:54 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Remove custom-xmas.elc. - -Sat Mar 1 01:20:39 1997 Steven L Baur <steve@altair.xemacs.org> - - * doc.c (weird_doc): Don't print `duplicate' messages as they are - almost always due to symbols that are both autoloaded and dumped. - - * data.c (syms_of_data): char-int and int-char -> char-to-int and - int-to-char. - -Thu Feb 27 21:48:32 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (xemacs): Loop when dumping until SATISFIED. - - * lstream.c (signal_simple_internal_error): Remove the abort(). +1998-05-10 Hrvoje Niksic <hniksic@srce.hr> - * alloc.c (Fpurecopy): Make it work for byte compiled functions. - (Fgarbage_collect): Disable garbage collection if we're dumping - XEmacs and we've overflowed purespace. - -Thu Feb 27 14:14:53 1997 Darrell Kindred <dkindred@cmu.edu> - - * event-Xt.c (change_frame_visibility): New function. - (handle_map_event): Use it. - (emacs_Xt_handle_magic_event): Correction of handling of - VisibilityNotify. - -Thu Feb 27 14:12:57 1997 Steven L Baur <steve@altair.xemacs.org> - - * frame-x.c (x_frame_visible_p): Reverse previous change. - -Sun Mar 2 14:01:32 1997 David Moore <dmoore@ucsd.edu> - - * regex.c (re_search_2): Properly handle crossing the buffer gap - when doing a backwards search under MULE. - -Wed Feb 26 10:24:40 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: make-docfile takes a "-i" parameter to pass - site-loaded lisp files. - - * alloc.c (report_pure_usage): Adjust restart message. - -Tue Feb 25 10:58:12 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Add PURESIZE.h to special treatment in vpath. - - * alloc.c (PURESIZE_h): New function. - (report_pure_usage): Use it. If PURESIZE is not the right amount, - use the correct value. - - * puresize.h: Use dynamic computation of PURESIZE. - - * PURESIZE.h: New file. - - * fns.c (Frandom): Fix docstring. - -Mon Feb 24 17:35:05 1997 Jonathan Edwards <edwards@intranet.com> - - * process.c (record_exited_processes): Fix obvious typo in - checking for SIGCLD. - -Sun Feb 23 01:45:49 1997 Martin Buchholz <mrb@eng.sun.com> - - * scrollbar.c (update_scrollbar_instance): Fix for - all-hail-xemacs scrollbar drag bug. - - * scrollbar.c (Fscrollbar_to_bottom): Now calls Frecenter(-3) - as end-of-buffer does, instead of hostile Frecenter(0). Makes - C-button-1 on down-arrow friendlier. - -Sun Feb 23 16:56:17 1997 David Hobley <david@spook-le0.cia.com.au> - Initial MS Windows NT support. - * unexnt.c: New file. - - * ntproc.c: New file. - - * ntheap.h: New file. - - * ntheap.c: New file. - - * nt.h: New file. - - * nt.c: New file. - -Sun Feb 23 15:56:58 1997 Steven L Baur <steve@altair.xemacs.org> - - * floatfns.c (_GNU_SOURCE): Define if compiling with glibc 2. - - * gmalloc.c: Guard __getpagesize definition against glibc 2. - -Sat Feb 22 17:12:47 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Snarf docstrings from new file - itimer-autosave.elc. - -Fri Feb 21 18:21:32 1997 Jan Vroonhof <vroonhof@math.ethz.ch> - - * event-Xt.c (emacs_Xt_handle_magic_event): Correction for frame - freezing bug. - -Wed Feb 19 12:54:32 1997 Per Abrahamsen <abraham@dina.kvl.dk> - - * buffer.c (Fbuffer_disable_undo): Default to current buffer. - -Tue Feb 18 12:37:28 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Dump new file custom-xmas.elc. - -Mon Feb 17 11:29:07 1997 Steven L Baur <steve@altair.xemacs.org> - - * print.c (Ferror_message_string): New function, ported from Emacs - 19.34. - (print_error_message): Ditto. - - * extents.c (verify_extent_mapper): Experimental deletion of code - to allow deletion of read-only extents. - - * symbols.c (hash_string): Replace algorithm with one given in - Aho, Sethi & Ullman. - -Sun Feb 16 14:53:58 1997 Steven L Baur <steve@altair.xemacs.org> - - * keymap.c (lookup_keys): Wrong sense in test. - - * Makefile.in.in: Dont dump font.elc. - -Sat Feb 15 02:30:51 1997 Steven L Baur <steve@altair.xemacs.org> - - * cmds.c: Define new symbol signal-error-on-buffer-boundary. - (Fforward_char): Use it. - (Fbackward_char): Use it. - - * window.c (Fscroll_up): Use it. - (Fscroll_down): Use it. - - * keymap.c (syms_of_keymap): define mouse-[123] and - down-mouse-[123] pseudo-keysym aliases for Emacs compatibility. - -Thu Feb 13 21:28:35 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: Don't dump tm with XEmacs under any - circumstances. - - * puresize.h: Remove extra SunPro puresize for MULE+tm. - -Sun Feb 9 04:40:36 1997 Axel Seibert <aseibert@cybernet-ag.net> - - * emacs.c (main_1): Fix NeXT malloc initialization. - -Fri Feb 7 11:36:56 1997 Steven L Baur <steve@altair.xemacs.org> - - * mule-coding.c (Fdecode_coding_region): Make explicit call to - `barf_if_buffer_read_only'. - (Fencode_coding_region): Ditto. - -Thu Feb 6 22:39:39 1997 Steven L Baur <steve@altair.xemacs.org> - - * extents.c (syms_of_extents): Remove references to replicating - extents. - - * extents.h (struct extent): Remove references to replicating - extents. - -Thu Feb 6 01:11:43 1997 Jareth Hein <jhod@po.iijnet.or.jp> - - * mule-coding.c (ENCODE_SJIS): Correct typo. - -Thu Feb 6 01:10:22 1997 Steven L Baur <steve@altair.xemacs.org> - - * frame.c (delete_frame_internal): Protect against deletion of - frames with living popup children. - -Wed Feb 5 17:13:17 1997 David Moore <dmoore@UCSD.EDU> - - * emacs.c (main_1): Try to avoid collisions against potentially - incompatible system mallocs. - -Mon Feb 3 23:04:41 1997 Joel Peterson <tarzan@aosi.com> - - * redisplay.c: Activate face/charset redisplay caching. - -Mon Feb 3 22:01:09 1997 Kyle Jones <kyle_jones@wonderworks.com> - - * eval.c (do_debug_on_exit): Don't restore old value of - debug_on_next_call improperly. - -Fri Jan 31 10:28:47 1997 David Byers <davby@ida.liu.se> - - * frame.c (frame_matches_frametype): Fix next-window when the next - window is on another frame. - -Thu Jan 30 20:25:00 1997 Steven L Baur <steve@altair.xemacs.org> - - * syntax.c (scan_sexps_forward): Change test on targetdepth to - match Emacs 19.34. - -Wed Jan 29 22:11:53 1997 James LewisMoss <dres@scsn.net> - - * gmalloc.c: Corrections for namespace collision with Linux libc - malloc. - -Mon Jan 27 21:46:53 1997 Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu> - - * fileio.c (Fwrite_region_internal): pack lockname to write-region - handler. - -Mon Jan 27 04:50:50 1997 David Moore <dmoore@UCSD.EDU> - - * gmalloc.c (malloc): Guard against incompatible system mallocs - with conflicting symbols. - -Sun Jan 26 12:27:04 1997 Steven L Baur <steve@altair.xemacs.org> - - * redisplay.c (add_emchar_rune): Back out optimization change of - caching last_charset. - -Sun Jan 26 09:10:45 1997 Hrvoje Niksic <hniksic@srce.hr> - - * s/decosf4-0.h: Digital Unix 4.0 has a realpath, but it's buggy. - And I *do* mean buggy. - -Thu Jan 23 10:41:19 1997 Steven L. Baur <steve@altair.xemacs.org> - - * puresize.h: Increase SUNPRO usage to reflect tm & cc-mode. - Decrease BASE_PURESIZE and increase MULE_PURESIZE_EXTRA. - -Wed Jan 22 21:09:52 1997 Steven L Baur <steve@altair.xemacs.org> - * puresize.h (BASE_PURESIZE): Tighten up. - - * scrollbar.c (scrollbar-page-up): Add Athena3d to Lucid/Motif - code. - (scrollbar-page-down): Ditto. - - * scrollbar-x.c (x_create_scrollbar_instance): Add Athena3d to - Lucid/Motif code. - (x_update_vertical_scrollbar_callback): Ditto. - (x_update_horizontal_scrollbar_callback): Add Athena3d to Lucid - special case code. - - * scrollbar-x.h (struct x_scrollbar_data): Add start drag position - for Athena3d. - - * redisplay-output.c (redisplay_update_line): A vain attempt to - get the Athena vertical thumb adjusted after drag. - - * EmacsFrame.c: Default to lower/right with Athena3d libraries. - -Wed Jan 22 18:38:52 1997 Ian Wells <I.Wells@tarragon-et.co.uk> - - * m/aviion.h: Remove definition of m88k. - - * s/dgux5-4r4.h: New file. - -Wed Jan 22 18:32:49 1997 Steven L Baur <steve@altair.xemacs.org> - - * buffer.h: Put proper typecasts on calls to alloca(). - -Tue Jan 21 22:25:23 1997 Steven L. Baur <steve@altair.xemacs.org> - - * config.h.in: Add LWLIB_USES_ATHENA symbol - - * Makefile.in.in (TOOLKIT_LIBS): It is possible to have both - Athena and Motif in the same link. - -Tue Jan 21 20:43:41 1997 Hrvoje Niksic <hniksic@srce.hr> - - * redisplay-tty.c (tty_ring_bell): Don't ring tty bell if the - volume is set to 0. - -Tue Jan 21 20:38:58 1997 Axel Seibert <aseibert@cybernet-ag.net> - - * s/nextstep.h (signal_handler_t): define as int. + * frame.c (Ffocus_frame): New function. -Mon Jan 20 21:12:57 1997 Martin Buchholz <mrb@eng.sun.com> - - * event-Xt.c (emacs_Xt_handle_magic_event): - (frame-totally-visible-p) sometimes incorrectly returned nil. - -Thu Jan 16 17:24:29 1997 Joel Peterson <tarzan@aosi.com> - - * menubar-x.c (pre_activate_callback): Correctly handle buffer - local variables in :included clauses. - (compute_menubar_data): Ditto. - -Wed Jan 15 21:44:53 1997 Joel Peterson <tarzan@aosi.com> - - * redisplay.c (add_emchar_rune): Enable last_charset display - optimization. - -Wed Jan 15 19:06:27 1997 David Moore <dmoore@UCSD.EDU> - - * event-stream.c (Faccept_process_output): Avoid checking an - uninitialized variable. - -Wed Jan 15 14:14:24 1997 Steven L Baur <steve@altair.xemacs.org> - - * regex.c: Modify values of re_max_failures and MAX_FAILURE_ITEMS - to match Emacs 19.34. - -Mon Jan 13 00:36:01 1997 Martin Buchholz <mrb@eng.sun.com> - - * sysdep.c (sys_execvp): Fix when compiled with - --const-is-losing=no. Old code could crash if argv contained - non-ascii characters and the execvp failed and then caller - examined argv (for error message, for example). - -Sun Jan 12 17:22:24 1997 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in: TM .elcs moved to SUNPRO_LISP only. - -Fri Jan 10 20:21:47 1997 Ben Wing <ben@666.com> - - * minibuf.c (Ftry_completion): Don't crash if not given a proper - obarray. - -Fri Jan 10 09:49:44 1997 Ted Phelps <phelps@dstc.edu.au> - - * objects-x.c (x_initialize_font_instance): Hardcode 'n' for - default font width. - -Mon Jan 6 15:16:46 1997 Carsten Leonhardt <leo@arioch.tng.oche.de> - - * Makefile.in.in: Linking with canna requires -lRKC. - -Mon Jan 6 12:22:57 1997 Frederic Poncin <fp@info.ucl.ac.be> - - * gmalloc.c: Don't declare __sbrk on SparcLinux. - -Sun Jan 5 18:04:47 1997 Soren Dayton <csdayton@cs.uchicago.edu> - - * Makefile.in.in: IRIX6 can use sgiplay.c too. - -Sat Jan 4 12:15:16 1997 Steven L Baur <steve@altair.xemacs.org> - - * toolbar.c (specifier_vars_of_toolbar): Clean up fallback - specifiers so XEmacs can be built without tty support. - - * console-stream.c: Moved function bodies of - semi_canonicalize_console_connection, - canonicalize_console_connection, - semi_canonicalize_device_connection, and - canonicalize_device_connection into this file from console-tty.c. - Moved variable Vstdio_str into this file. - - * console-tty.c: See above. - -Fri Jan 3 18:07:11 1997 Axel Seibert <aseibert@cybernet-ag.net> - - * m/next.h: Cleanup accumulated cruft. - - * s/nextstep.h: Remove useless #undef REL_ALLOC/HAVE_MMAP. - - * syssignal.h: Don't typedef SIGTYPE on NeXT. - -Fri Jan 3 12:06:44 1997 Michael Sperber <sperber@informatik.uni-tuebingen.de> - - * m/ibmrs6000.inp: Added various get.* symbols. - -Sun Dec 29 20:16:08 1996 Steven L Baur <steve@altair.xemacs.org> - - * m/next.h: Remove signal_handler_t #define. - - * s/nextstep.h: Remove signal_handler_t #define. - -Fri Dec 27 21:13:33 1996 Martin Buchholz <mrb@Eng.Sun.COM> - - * event-Xt.c (x_to_emacs_keysym): Corrections to SUNOS_GCC_LO_BUG. - -Mon Dec 23 11:37:16 1996 Martin Buchholz <mrb@Eng.Sun.COM> - - * fns.c (Ffillarray): Fix for (fillarray #*10 0) - -Mon Dec 23 10:27:14 1996 Steven L Baur <steve@altair.xemacs.org> - - * bitmaps.h: Change to unsigned char. - - * frame-x.c (x_cde_transfer_callback): Typecast fix. - - * keymap.c (define_key_check_and_coerce_keysym): Typecast fix. - -Fri Dec 20 19:21:56 1996 Steven L Baur <steve@altair.xemacs.org> - - * Makefile.in.in (lisp): Remove cc-mode as a dumped package. - - * keymap.c (define_key_check_and_coerce_keysym): Make obsolete - binding of kp_.* not lose. - - * bitmaps.h: Add left & right arrows to show extended lines. - -Fri Dec 20 15:32:53 1996 David Moore <dmoore@UCSD.EDU> - - * event-stream.c (event_stream_wakeup_pending_p): New function. - (Faccept_process_output): Fix timeout handling race conditions. - (Fsleep_for): Ditto. - (Fsit_for): Ditto. - -Thu Dec 19 22:25:26 1996 Steve Carney <carney@gvc.dec.com> - - * cmds.c (Fbeginning_of_line): Adjust for 64 bit machines. - -Thu Dec 19 00:44:10 1996 Bart Robinson <lomew@cs.utah.edu> - - * syssignal.h: The declaration of SIGTYPE shouldn't be protected - by HAVE_SIGPROCMASK. - -Wed Dec 18 20:40:21 1996 Martin Buchholz <mrb@eng.sun.com> - - * dgif_lib.c: Miscellaneous cleanup, including removing signed - bitfields. - - * mule-charset.h: Change charset names. - - * mule-coding.c (struct iso2022_decoder): Uniform unsigned bitfields. - Change charset names. - - * mule-charset.c: Change charset names. - - * mule-canna.c: Change charset names. - - * EmacsShell-sub.c: Ansify and reformat. - - * console-tty.h (struct tty_console): Uniform unsigned bitfields. - - * glyphs-x.c: Ansify. - - * specifier.c: Use lisp_fn_t. - - * EmacsShell.c: Ansify. - - * vm-limit.c: Ansify. - - * emacsfns.h: Use lisp_fn_t. - - * lstream.c (struct filedesc_stream): Unsigned int bitfields. - - * xselect.c (hack_motif_clipboard_selection): Change charset name. - (Fx_store_cutbuffer_internal): Change charset name. - - * ralloc.c: Ansify and clean up. - - * frame.h (struct frame): Uniform unsigned bit fields. - - * event-Xt.c: Documentation change. - - * lisp.h: Introduce lisp_fn_t. - Remove SunPro C compiler warning message workaround. - - * xmu.c: Ansify. - - * doprnt.c (struct printf_spec): Use unsigned bitfields. - - * fileio.c: various code formatting changes. - - * eval.c: reorganize primitive funcalls. - - * config.h.in (NeedFunctionPrototypes): Force slightly better type - checking in X header files. - - * Makefile.in.in: #undef i386, move mime-setup.elc?. - - * s/sunos4-0-shr.h: Documentation change. - - * s/sol2.h (__EXTENSIONS__): Add. - Include <setjmp.h> under certain conditions. - -Mon Dec 16 19:13:10 1996 Steven L Baur <steve@altair.xemacs.org> - - * lstream.c (Lstream_pseudo_close): Return status on error. - (Lstream_close): Ditto. (Fixes disk full-no error on write bug). - -Sat Dec 14 16:54:52 1996 Steven L Baur <steve@altair.xemacs.org> - - * glyphs-x.c (jpeg_instantiate): Use file I/O for JPEG loading - because the in-core code is broken. - -Fri Dec 13 16:43:45 1996 Steven L Baur <steve@altair.xemacs.org> - - * device-x.c (x_init_device): Don't make nonexistent X server the - default when running on a tty. - - * event-Xt.c (x_to_emacs_keysym): Rename kp_.* keysyms to be kp-\1. - - * redisplay-tty.c (keys): Rename kp_.* keynames to kp-\1. - -Fri Dec 13 14:48:42 1996 Michael Sperber <sperber@informatik.uni-tuebingen.de> - - * lread.c (Fload_internal): Change arity of call to - file-name-handlers. - - * fileio.c (Finsert_file_contents_internal): Ditto. - -Thu Dec 12 16:55:34 1996 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> - - * cmds.c (Fpoint_at_eol, Fpoint_at_bol): New functions. - (Fend_of_line, Fbeginning_of_line): Use them. - -Tue Dec 10 11:17:32 1996 Shane Holder <holder@mordor.rsn.hp.com> - - * s/hpux9shxr4.h: hpux9shr.h -> hpux9-shr.h - - * s/hpux10.h: hpux9shr.h -> hpux9-shr.h - -Sat Dec 7 18:29:34 1996 Steven L Baur <steve@altair.xemacs.org> - - * puresize.h (BASE_PURESIZE): Bumped up PURESIZE by 10k. - -Sat Dec 7 16:26:34 1996 Martin Buchholz <mrb@Eng.Sun.COM> - - * config.h.in: configure for POSIX getcwd if available. - -Sat Dec 7 15:48:39 1996 Steven L Baur <steve@altair.xemacs.org> - - * s/sunos4-1-shr.h: Renamed from sunos4-1shr.h. - - * s/sunos4-1-3-shr.h: Renamed from sunos4-1-3shr.h. - - * s/sunos4-1-2-shr.h: Renamed from sunos4-1-2-shr.h. - - * s/sunos4-0-shr.h: Renamed from sunos4-0shr.h. - - * s/hpux9-shr.h: Renamed from hpux9shr.h. - - * s/hpux8-shr.h: Renamed from hpux8shr.h. - - * s/hpux10-shr.h: Renamed from hpux10shr.h. - -Wed Dec 4 23:38:03 1996 Steven L Baur <steve@altair.xemacs.org> - - * redisplay.c: Allow column numbers in modeline to start from 1. -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ChangeLog.1 Mon Aug 13 10:34:13 2007 +0200 @@ -0,0 +1,8315 @@ +1998-05-06 Oliver Graf <ograf@fga.de> + + * Makefile.in.in: removed dragdrop.o from objs + * config.h.in: HAVE_DRAGNDROP added + * emacs.c: do syms_of_dragdrop only if HAVE_DRAGNDROP is defined + * event-Xt.c: dragdrop.h include now depends on HAVE_DRAGNDROP + changed calls to dnd_url_hexify_string + MIME data is now a list of MIME strings or lists + this was required by CDE, and a good idea in any case + * dragdrop.c (dnd_url_hexify_string): method prefix code added + * dragdrop.h: dnd_url_hexify_string prototype changed + * frame-x.c (x_cde_transfer_callback): CDE adapted the new API + +1998-05-05 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * event-msw.c: now creates misc-user-events on dnd drops + +1998-05-05 Oliver Graf <ograf@fga.de> + + * events.h: changed comment for misc_user_events + * events.c (make-event): removed dnd_data defs + * frame.c: removed everything referring to drag_and_drop_functions + * frame-x.c (x_cde_transfer_callback): disabled (needs to be changed) + * lisp.h: removed Qdnd_data + * general.c: removed Qdnd_data + * symsinit.h: added syms_of_dragdrop + * frame.el: deleted default-drag-and-drop-functions + +1998-05-04 Oliver Graf <ograf@fga.de> + + * events.c: removed all dnd_drop stuff + * events.h: extended misc_user_data by button info + removed dnd_drop event + * emacs.c: added call to syms_of_dragdrop + * dragdrop.c: created + * dragdrop.h: created + * event-stream.c (enqueue_misc_user_event): initialization of the + new fields of misc_user_data + dnd_drop stuff removed + * keymap.c: drop symbols removed + * Makefile.in.in: added dragdrop.o to objs + +1998-05-09 SL Baur <steve@altair.xemacs.org> + + * EmacsFrame.c (EmacsFrameSetValues): Fix typo. + Suggested by: Kirill M. Katsnelson <kkm@kis.ru> + +1998-05-09 Kirill M. Katsnelson <kkm@kis.ru> + + * This change adds four scrollbar specifiers: + {horizontal,vertical}-scrollbar-visible-p and + scrollbar-on-{top,left}-p. + Spare parts supplied by Didier Verna <verna@inf.enst.fr> + + * frameslots.h: Added slots for the four specifier caching. + + * frame.h: FRAME_SCROLLBAR_{WIDTH,HEIGHT} count for scrollbar + visible specifiers. + Removed old resource-only controlled scrollbar_on_* ints. + + * frame-x.c (x_layout_widgets): Removed (to x-scrollbar.el) + initialization of old style scrollbar placement from resources. + + * frame-tty.c (tty_init_frame_1): Removed initialization of old + style scrollbar placement. + + * frame-msw.c (mswindows_init_frame_1): Removed random + initialization of scrollbar sizes to 15 pixel. + + * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Use + scrollbar placement specifiers cached values from window, instead + of the old per-frame values. + (mswindows_output_vertical_divider): Ditto. + + * redisplay-x.c (x_output_vertical_divider): Ditto. + + * redisplay-output.c (redisplay_clear_bottom_of_window): Ditto. + + * scrollbar.c (update_scrollbar_instance): Ditto. + (specifier_vars_of_scrollbar): Declared the four specifiers. + + * window.h (struct window): Defined slots for caching the new + specifiers. + + * window.c (mark_window): Mark them. + (allocate_window): Initialize them. + (struct saved_window): Store them in a cool place. + (saved_window_equal): Compare them. + (save_window_save): Save them. + (Fset_window_configuration): Fetch them back. + (window_needs_vertical_divider): Check for scrollbar placement + using window cached specs. + (window_top_gutter_height): Ditto. + (window_bottom_gutter_height): Ditto. + (window_left_gutter_width): Ditto. + (window_right_gutter_width): Ditto. + (window_scrollbar_width): Account for scrollbar visibility + specification in window. + (window_scrollbar_height): Ditto. + +1998-04-18 Kirill M. Katsnelson <kkm@kis.ru> + + * device.c (Fdevice_system_metrics): Added function. + Moved (device-pixel-height), (device-pixel-width), + (device-mm-width), (device-mm-height), (device-bitplanes), + (device-color-cells) to device.el, amd make them call + (device-system-metrics). + + * console.h (struct console_methods): Replaced methods: + device_pixel_width_method(), device_pixel_height_method(), + device_mm_width_method(), device_mm_height_method(), + device_bitplanes_method(), device_color_cells_method() + with single device_system_metrics_method(). + (device_metrics): Declared enumeration of supported + device system metrics. + + * device-msw.c (mswindows_device_system_metrics): Implement + device_system_metrics_method(), remove six obsolete methods. + + * device-tty.c (tty_device_system_metrics): Ditto. + + * device-x.c (x_device_system_metrics): Ditto. + +1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> + + * EmacsFrame.c (update_various_frame_slots): Do not store internal + border width there. + (EmacsFrameInitialize): Do it rather here. + (EmacsFrameSetValues): If EditRes has changed internal border + width, mark frame size as slipped. + +1998-05-06 Kirill M. Katsnelson <kkm@kis.ru> + + * frame.h (struct frame): Added char_{width,height} member + variables and access macros + Added size_slipped redisplay bit and mark/clear macros. + + * redisplay.c (redisplay_frame): Adjust frame size if size slipped + bit is set. + (redisplay_device): Call redisplay_frame if size slipped bit is set. + + * frame.c (adjust_frame_size): Redisplay beats frame back in shape + with this. Added. + (frame_size_slipped): Added. + (internal_set_frame_size): Clear size slipped bit. + (change_frame_size_1): Store real charsize into frame object. + (vars_of_frame): Declared adjust-frame-function. + + * frame-msw.c (mswindows_update_frame_external_traits): Same + change as for frame-x.c + (mswindows_frame_size_fixed_p): Implemented the method. + + * frame-x.c (x_update_frame_external_traits): Do not call + Fset_frame_size to adjust frame, redisplay will do. + + * faces.c (update_EmacsFrame): Mark frame as slipped when default + font changes. + + * toolbar.c (compute_frame_toolbars_data): Removed obsoleted call + to change_frame_size. Redisplay will fix it later. + Removed toolbar_*_changed_in_frame specifier + change handlers. + (specifier_vars_of_toolbar): Calls to these routed to + frame_size_slipped generic handler. + + * toolbar-x.c: Removed toolbar_*_changed_in_frame device methods. + + * scrollbar-x.c: Removed scrollbar_*_changed_in_frame device + methods. + + * scrollbar.c: Removed scrollbar_*_changed_in_frame specifier + change handlers. + (specifier_vars_of_scrollbar): Calls to the above changed to + frame_size_slipped generic handler. + + * menubar-x.c (x_update_frame_menubar_internal): Do not resize + frame, just mark frame size as slipped. + + * device-x.c: Removed declaration of in_specifier_change_function. + + * EmacsFrame.c (EmacsFrameSetValues): Do not check + in_specifier_change_function. + (EmacsFrameSetValues): Simulate a call to resize callback when no + actual geometry change happened. + + * console.h (struct console_methods): Removed declarations for all + <specifier>_changed_in_frame methods for toolbars and scrollbars. + Added frame_size_fixed_p method. + +1998-05-08 SL Baur <steve@altair.xemacs.org> + + * redisplay.c (decode_mode_spec): Guard against garbage + overwriting the stack. + +1998-05-08 Kirill M. Katsnelson <kkm@kis.ru> + + * dired-msw.c (vars_of_dired_mswindows): Syntax fix for union + lisp object type. + + * menubar-msw.c (populate_menu_add_item): Ditto. + + * ntheap.c (sbrk): Ditto. + + * ntproc.c (create_child): Ditto. + (syms_of_ntproc): Ditto. + +1998-05-07 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c: updates to support total transparency. + (mswindows_initialize_image_instance_icon): don't resize bitmaps + for icons. + (mswindows_initialize_image_instance_mask): new function. + Use these new functions as appropriate. + + * glyphs-msw.h (mswindows_initialize_image_instance_icon): + function renamed. + + * frame-msw.c: use renamed mswindows_initialize_image_instance_icon. + + * redisplay-msw.c: MaskBlt bitmaps if we have a mask, BitBlt + otherwise. + +1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> + + * unexnt.c (read_in_bss): Removed unused variables, replaced exits + with aborts. + (map_in_heap): Ditto. + +1998-05-06 SL Baur <steve@altair.xemacs.org> + + * frame.c (adjust_frame_size): Don't mix integers and Lisp_Objects. + +1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> + + * print.c (write_string_to_stdio_stream): Under MS Windows, flush + stdio and stderr after output. Ouch. + +1998-05-05 Andy Piper <andyp@parallax.co.uk> + + * event-msw.c: comment out broken dnd stuff and don't use msw socket + support if we have cygwin select. + +1998-05-03 Kirill M. Katsnelson <kkm@kis.ru> + + * events.h (STREAM_* defines): Defined constants for the parameter + FLAGS to create_stream_pair_cb(). + + * process.c (Fopen_network_stream_internal): Use flags from events.h + (Fopen_multicast_group_internal): Ditto. + + * process-unix.c (unix_create_process): Ditto. + + * event-unixoid.c (event_stream_unixoid_create_stream_pair): Ditto. + Changed #ifdef process type logic to catch configuretion errors + when no process type is defined. + + * event-msw.c: Implemented winsock_stream + (get_process_input_waitable): Differentiate network connections. + (emacs_mswindows_select_process): Ditto. + (emacs_mswindows_create_stream_pair): Ditto. + (emacs_mswindows_delete_stream_pair): Ditto. + + * process-nt.c: Implemented network connections. + (nt_init_process): Initialize Winsock. + + * sysdep.c (init_system_name): Ask for the right name right from + the system. + + * ntproc.c: Removed select emulation crap and dynamic Windock + loading. + + * nt.c: Removed a lot of terrible wrappers for socket functions. + + * s/windowsnt.h: Removed sys_select encapsulation. + +1998-05-05 Hrvoje Niksic <hniksic@srce.hr> + + * search.c (Fmatch_data): Synch with FSF. + +1998-05-04 Greg Klanderman <greg@alphatech.com> + + * events.h: Add extern declarations for focus_follows_mouse and + investigate_frame_change(). + * cmdloop.c (Fcommand_loop_1): cleanup focus-follows-mouse + handling - move externs to events.h. + +1998-05-05 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c: generate an AND mask when creating an icon and really + make it an icon if that is what is required. + + * glyphs-msw.h (mswindows_create_icon_from_image): new cursor + argument. + + * frame-msw.c (mswindows_set_frame_pointer): set the frame cursor when + asked. + +1998-05-05 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * s/windowsnt.h: + * s/rtu.h: + * s/aix4.h: + * m/wicat.h: + * m/gould.h: + * m/gould-np1.h + * unexhp9k3.c: + * unexconvex.c: + * unexalpha.c: + * unexaix.c: + * regex.c: + * process-unix.c: + * mule-mcpath.c: + * msdos.c: + * lisp.h: + * gmalloc.c: + * getloadavg.c: + * broken-sun.h: + Removed references to ancient bcmp, bzero, and bcopy. + +1998-05-04 Andy Piper <andyp@parallax.co.uk> + + * gui.el: make gui-button-face colors apply in the mswindows + domain as well as for x. + + * objects-msw.c (mswindows_string_to_color): grok + rgb:rrrr/gggg/bbbb color formats used by xpm-button.el. + +1998-05-04 Greg Klanderman <greg@alphatech.com> + + * window.c (Fselect_window): Add optional second argument + `norecord' to avoid recording a buffer change. + * window.h: change the EXFUN for Fselect_window. + * window.c (Fdelete_window): call Fselect_window with 2nd arg Qnil. + (Fother_window): ditto. + (temp_output_buffer_show): ditto. + (Fset_window_configuration): ditto. + (Fset_window_configuration): ditto. + * frame.c (Fselect_frame): ditto. + (Fset_frame_selected_window): ditto. + (delete_frame_internal): ditto. + * device.c (Fselect_device): ditto. + * console.c (Fselect_console): ditto. + * callint.c (Fcall_interactively): ditto. + +1998-05-05 Hrvoje Niksic <hniksic@srce.hr> + + * search.c (Fregexp_quote): Loop by characters, not by bytes. + +1998-05-05 Jan Vroonhof <vroonhof@math.ethz.ch> + + * redisplay.c (window_line_number): Guard against selected_device + = nil. + + * frame-x.c (x_init_frame_2): Revert to updating frame title. + +1998-05-05 SL Baur <steve@altair.xemacs.org> + + * emacs.c (shut_down_emacs): Update crash report information. + +1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> + + * linuxplay.c: Initialize audio_dev to /dev/dsp at + compile time instead of at run-time. Don't initialize + mixer_fd, audio_fd and audio_vol to -1; none of them need + it, and XEmacs will crash on some architectures when + these variable are modified after being initialized. + Declare audio_dev, audio_vol, audio_fd, and mixer_fd as + static, since none of them need to be visible outside + linuxplay.c. + +1998-04-27 Hrvoje Niksic <hniksic@srce.hr> + + * eldap.c (make_ldap): New function. + (finalize_ldap): Use it. + (Fldap_open): Ditto. + + * eldap.c (struct Lisp_LDAP): Removed connection status symbol. + + * eldap.h (LDAP_LIVE_P): Removed + (CHECK_LIVE_LDAP): Adapt to changes in struct Lisp_LDAP + +1998-05-03 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c: (read_escape): Restore handling of \M-a; clarify + comment. + +1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> + + * realpath.c: Rename realpath() to xrealpath(). + + * fileio.c: Call xrealpath() instead of realpath(). + + * sysdep.h: Use #define to map xrealpath() calls to + realpath() on systems that have realpath(). + +1998-05-04 Martin Buchholz <martin@xemacs.org> + + * rangetab.c: + * rangetab.h: Move #include's from rangetab.h into rangetab.c for + consistency. + * inline.c: include rangetab.h to get GCC inlines + +1998-05-03 SL Baur <steve@altair.xemacs.org> + + * event-stream.c (event_stream_next_event): Reverse previous patch to + slow down poll for quit. + Suggested by Kyle Jones <kyle_jones@wonderworks.com> + + * lread.c (read_escape): Turn off interpretation of "\M..." + Suggested by Olivier Galibert <galibert@pobox.com> + + * lread.c (read_escape): add explanatory comment about why + FSF_KEYS are being turned off. + +1998-05-02 SL Baur <steve@altair.xemacs.org> + + * lread.c (FSF_KEYS): Remove if built with Mule. + +1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (ntpipe_shove_flusher): Removed. + (init_shove_stream): Flusher undeclared. + +1998-05-02 SL Baur <steve@altair.xemacs.org> + + * rangetab.c: `default_dumped' removed. + +1998-05-02 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Initialize key data for key-press + events. + +1998-05-02 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (close_stream_unwind): Renamed to delete_stream_unwind. + Delete the stream. + (Finsert_file_contents_internal): Delete STREAM after use. + (Fmake_temp_name): Improve randomness of generated file names. + (Fmake_temp_name): Don't initialize COUNT if in temacs. + +1998-05-02 Olivier Galibert <galibert@pobox.com> + + * buffer.h: Put the range_table lrecrod declaration where it + belongs... + + * rangetab.h: New file - ...which is here. + + * rangetab.c: Move declarations to rangetab.h + +1998-05-01 Hrvoje Niksic <hniksic@srce.hr> + + * data.c (Fneq): Fix docstring. + (arithcompare_many): Slightly simplify. + +1998-04-29 Andy Piper <andyp@parallax.co.uk> + + * s/cygwin32.h: don't define BROKEN_CYGWIN anymore since we normally + link with unixoid event loop now. + +1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> + + * event-stream.c (event_stream_next_event): Disable polling for + quit while XEmacs is blocked waiting for an event. + +1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> + + * specifier.h: Corrected documentation on magic specifiers. + Documented DEPTH parameter to instantiate_method. + Renamed reveal->unlock_ghost_specifiers_protected(). + + * specifier.c: Removed the reveal mechanism and made ghost + specifiers read-only, so they are accessible as fallbacks of magic + specifier, but aren't modifiable unless C code enables so. + (specifier_equal): Compare specifier fallbacks as well. + + * scrollbar.c (init_frame_scrollbars): + (init_device_scrollbars): + (init_global_scrollbars): Renamed + reveal->unlock_ghost_specifiers_protected(). + +1998-05-01 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fcar_less_than_car): Fix Flss caller. + (Fcdr_less_than_cdr): Ditto. + + * lisp.h: Fix declarations. + + * data.c: Enable many arguments versions of <, >, <=, >= and /=. + + * bytecode.c (Fbyte_code): Use arithcompare. + + * data.c (arithcompare): Make non-static. + +1998-04-30 Greg Klanderman <greg@alphatech.com> + + * frame.c (Fselect_frame): update docstring to describe + focus-follows-mouse behavior. + +1998-05-01 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (Fwrite_char): Don't touch Vprint_gensym. + (print_error_message): Don't gcpro TAIL. + (Fdisplay_error): Simplify. + +1998-04-30 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_internal): Use long_to_string(). + + * redisplay.c (decode_mode_spec): Remove bogus calculation of the + number of digits. + + * print.c (Fprin1): Removed THE_STREAM. + (Fprinc): Ditto. + (Fprint): Ditto. + (Fdisplay_error): Canonicalize STREAM here. + (print_error_message): Don't canonicalize STREAM. + (print_error_message): Use print_internal() instead of Fprin1 and + Fprinc. + + * print.c: (Fprin1_to_string): Delete internal stream explicitly. + (Ferror_message_string): Ditto. + (Fterpri): Use write_char_internal. + +1998-04-18 Martin Buchholz <martin@xemacs.org> + + * console-x.h: Initialize_Locale should not depend on HAVE_XIM, + esp. in the future. + + * Makefile.in.in: be more careful generating depend. + + * *.c (F*): Unfortunately, etags can only detect per-line + patterns, and so the DEFUN macro must have the lisp name and the C + name on the same line for a complete TAGS file. Make it so. + + * signal.c (init_signals_very_early): + * process.c (Fsignal_process): Order the signals in decreasing + order of standardization. Provide helpful standardization + comments. Add missing signal names. + + * unexhp9k800.c: Remove undefined roundup. + * symsinit.h: Add prototype for init_hpplay(). + +1998-04-30 Hrvoje Niksic <hniksic@srce.hr> + + * window.c (Fcenter_to_window_line): New function. + (Frecenter): Use it. + +1998-04-30 Hrvoje Niksic <hniksic@srce.hr> + + * dired.c (make_directory_hash_table): Constify. + + * scrollbar.c (Fscrollbar_page_up): Use Fcenter_to_window_line + instead of Frecenter. + (Fscrollbar_page_down): Ditto. + (Fscrollbar_to_top): Ditto. + (Fscrollbar_to_bottom): Ditto. + + * window.c (Frecenter): Removed. + +1998-04-29 Andy Piper <andyp@parallax.co.uk> + + * console.h: xpm_normalize is not a console method anymore. + + * event-msw.c: honour toolbar help string length. + + * glyphs-msw.c: make copyright more meaningful. implement color + symbol support for Xpm. (extract_xpm_color_symbols) new function. + + * glyphs.c (pixmap_to_lisp_data) (xpm_normalize): fucntions moved + from glyphs-x.c + + * glyphs.h: declare pixmap_to_lisp_data. + + * toolbar-msw.c: more meaningful copyright. + +1998-04-30 Hrvoje Niksic <hniksic@srce.hr> + + * macros.c (Fend_kbd_macro): New arg REMOVE-LAST. + + * gui-x.c (popup_selection_callback): Treat anonymous interactive + and compiled-function interactive callbacks as commands. + +1998-04-28 Hrvoje Niksic <hniksic@srce.hr> + + * abbrev.c (obarray_has_blank_p): Simplify. + +1998-04-27 Hrvoje Niksic <hniksic@srce.hr> + + * getloadavg.c (getloadavg): Removed some code repetition. + +1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> + + * process-nt.c: Document usage of #pragma warning. + (alloc_process_memory): Spell _ALPHA_ correctly. + +1998-04-29 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Change `progname' to `PROGNAME' for + consistency. + +1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> + + * frame.c (change_frame_size_1): Adjust frame row/columns taking + real toolbar size into account, not the theoretical one. + + * toolbar.c (set_frame_toolbar): Removed unused parameter. + Return void, not unused int. + Logic which checks whether toolbar to be recomputed moved here + from macro COMPUTE_TOOLBAR_DATA (r.i.p) + (compute_frame_toolbars_data): Removed COMPUTE_TOOLBAR_DATA. It + did not work due to a bug, and also did not check whether toolbar + size has changed. + Compute new character sizes passed to change_frame_size, do not + use the old (pre-toolbar-change) ones. + (update_frame_toolbars): Honor frame_changed and clear frame bits. + (recompute_overlaying_specifier): New helper function, called from + default toolbar specifier change handlers. + (default_toolbar_specs_changed): Use it. + (default_toolbar_size_changed_in_frame): Ditto. + (default_toolbar_border_width_changed_in_frame): Ditto. + (default_toolbar_visible_p_changed_in_frame): Ditto. + (toolbar_geometry_changed_in_window): New handler. The old one, + some_windows_value_changed, did not do the trick. + (default_toolbar_size_changed_in_window): New handler for default + toolbar. + (default_toolbar_border_width_changed_in_window): Ditto. + (default_toolbar_visible_p_changed_in_window): Ditto. + (specifier_vars_of_toolbar): Use one of the above four handlers + instead of some_windows_value_changed in toolbar specifiers. + +1998-04-29 Andy Piper <andyp@parallax.co.uk> + + * redisplay-msw.c (mswindows_output_string) + (mswindows_output_string): output the background pixmap if we have + one. + +1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * paths.h.in: Added PATH_PROGNAME and PATH_VERSION. + +1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (complex_vars_of_emacs): Added `emacs-program-name' and + `emacs-program-version'. + +1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> + + * process-nt.c: Signal support for Windows NT. + New code under subheadings "Running remote threads" and "Sending + signals". + (nt_create_process): Create new process suspended, then enable + signals in it, then resume it. + (nt_kill_child_process): Implemented + (nt_kill_process_by_pid): Ditto. + (process_type_create_nt): Registered the two above. + +1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c : slight cleanup and bugfix related to memory + corruption and possible leaks. Also fix a visual problem + with XPM pointers + +1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (x_init_image_instance_from_eimage): Make sure + automatic pointers are null... + +1998-04-27 Greg Klanderman <greg@alphatech.com> + + * cmdloop.c (Fcommand_loop_1): Call investigate_frame_change if + focus_follows_mouse is true. + + * event-stream.c (next_event_internal): Only call + investigate_frame_change if focus_follows_mouse is false. + + * event-stream.c (investigate_frame_change): Fix + focus_follows_mouse handling. It was the case that, with + focus_follows_mouse true, (select-frame (next-frame)) could leave + next-frame with input focus, but not window manager focus. Now + needs to be called from 2 places, conditional on the value of + focus_follows_mouse. + +1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> + + * frame.c (Fmake_frame): GC-protect new frame immediately upon + creation. + +1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> + + * frame.c (delete_frame_internal): Fixed spurious minibuffer + frames when creating minibufferless frames (reverted to 20.3 + source, change not in ChangeLog) + +1998-04-26 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.h: Added CONCHECK_LDAP macro + + * eldap.c: Moved definition of most Lisp_object keywords to + general.c + (Fldap_close): Modified semantics to match those of + `Fclose_database' + (Fldap_search_internal): Do not consider a + `LDAP_SIZELIMIT_EXCEEDED' a fatal error + + * general.c: Added several keywords needed by eldap.c. Sorted + keywords alphabetically. + +1998-04-24 Hrvoje Niksic <hniksic@srce.hr> + + * eldap.c (finalize_ldap): New function; use it when declaring + LDAP lrecord type. + +1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> + + * fileio.c (Fwrite_file_contents_internal): Prefer stat() over + fstat() back for Windows, where closing a file changes its + modification time. + +1998-04-26 Amir J. Katz <amir@ndsoft.com> + + * sysdep.h: Simplified definition of strerror() + +Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> + + * emacs.c: + * symsinit.h: + * glyphs-eimage.c: rename glyphs_read to glyphs_eimage. + + * glyphs.c: + * console.h: + * glyphs-x.c: + * glyphx-msw.c: make xpm_normalize and xpm_instantiate device + methods and use them appropriately. Remove redundant pixmap file + handling functions. + +Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c: use XINT for lisp ints. + + * console-msw.c: remove redundant functions that break under union + type. + + * frame-msw.c: build lisp ints for functions that expect them. + + * objects-msw.c: don't LISP_HASH COLORREF's. + + * sheap.c: remove dependency on VALMASK. + +1998-04-27 SL Baur <steve@altair.xemacs.org> + + * debug.c (vars_of_debug): Remove `Fprovide("internal-debug")'. + +1998-04-27 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * device-msw.c: Unconditionally use InitCommonControls() instead + of InitcommonControlsEx() - the latter is not defined in all + environments. + +1998-04-26 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Religiously use ${progname}. + + * paths.h.in: Remove reference to user-defined site-lisp location. + * debug.c (vars_of_debug): Rename feature to 'internal-debug. + +1998-04-24 Martin Buchholz <martin@xemacs.org> + + * mule-charset.h: + * mule-charset.c: + Use ints instead of bitfields for Lisp_Charset fields. This + should work around bugs in the latest egcs snapshot, and make + XEmacs faster. Introduce dimension and chars as fields in + Lisp_Charset instead of computing them every time. The extra + space is about 1k, a reasonable price. + +1998-04-25 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c (xface_normalize): Add console_type parameters to + calls to `potential_pixmap_file_instantiator'. + +Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> + + * event-msw.c: fix and enable signal pipe handling when using msg + select(). + +1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * process-unix.c (allocate_pty): Typo fix. + +1998-04-25 Olivier Galibert <galibert@pobox.com> + + * s/irix5-0.h (PTY_OPEN): Ditto + * s/irix4-0.h (PTY_OPEN): Restore the stb variable. + +1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (complex_vars_of_emacs): Typo fixes. + + * emacs.c: Added configure-exec-prefix-directory. + + * paths.h.in: Added PATH_EXEC_PREFIX. + +1998-04-25 Olivier Galibert <galibert@pobox.com> + + * unexelfsgi.c (unexec): Kludge for Irix 5.3 which clears the + .sbss section no matter what. Defensively remove the alignment fix + if the .sbss section type isn't modified (Irix 6.5SE). Remove some + warnings. + +1998-04-24 Martin Buchholz <martin@xemacs.org> + + * data.c (Fnot): There has traditionally been kludgy startup lisp + code that called `null' even if `not' was more appropriate, + because `not' was defined in lisp. This is one primitive + sufficiently important that it should ALWAYS be defined. + +Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: add glyphs-eimage.o to build. + + * console.h: added console methods init_image_instance_from_eimage + and locate_pixmap_file. + + * emacs.c: add initialisation for glyphs-eimage.c + + * symsinit.h: declare glyphs-eimage functions. + + * glyphs-eimage.c: New file - generalised eimage support for gif, + tiff, png and jpeg, mainly from glyphs-x.c. + + * glyphs-msw.c: added init_image_instance_from_eimage. Tidied up + file location. + + * glyphs-x.c: disable gif, tiff, png and jpeg support in this + file. Added init_image_instance_from_eimage. Tidied up file + location. + + * glyphs.h: + * glyphs.c: abstract image location. + +Fri Apr 24 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> + + * config.h.in: support our special select + + * event-msw.c: + * toolbar-msw.c: + * console-msw.h: toolbar cleanup. + + * device-msw.c: + * emacs.c: + * frame-msw.c: + * glyphs-msw.h: + * ntplay.c: + * process-unix.c: + * select-msw.c: + * sheap.c: + * s/cygwin32.h: warning elimination. + +1998-04-24 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Fload_average): New argument USE_FLOATS. + + * alloc.c (Fstring): New function, synched with FSF 20.3. + +Thu Apr 23 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> + + * unexcw.c: cope with the reversed executable sections written by + binutils-2.9 ld and egcs. + +1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> + + * menubar-msw.c (populate_or_checksum_helper): Fixed to compile + with union type. + +1998-04-23 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Fload_average): Respect errno when reporting getloadavg() + errors. + + * getloadavg.c (getloadavg): Cleaner Solaris implementation, based + on sample code by Casper Dik. + +1998-04-23 SL Baur <steve@altair.xemacs.org> + + * frame-x.c (x_delete_frame): remove dead code. + +1998-04-22 SL Baur <steve@altair.xemacs.org> + + * print.c (Falternate_debugging_output): Unconditionally define. + +1998-04-22 Hrvoje Niksic <hniksic@srce.hr> + + * eval.c: Ditto. + + * alloc.c: Ditto. + + * lread.c: Ditto. + + * print.c: Removed standalone hacks. + +1998-04-23 Kirill M. Katsnelson <kkm@kis.ru> + + * toolbar-msw.c (mswindows_clear_toolbar): Fixed wabbit buttons. + (mswindows_output_toolbar): Gave 3D look to toolbars. Still no + pretty, needs more work. + (mswindows_move_toolbar): Renamed so because it does not deal with + redrawing exposed toolbars. + Properly position toolbars. + (mswindows_redraw_exposed_toolbars): Changed calls to the above. + (mswindows_find_toolbar_pos): Do not assert if toolbar not + found: a command can come from a menu. + (mswindows_handle_toolbar_wm_command): Quickly return nil if + toolbar not found. + +1998-04-22 Kirill M. Katsnelson <kkm@kis.ru> + + * device-msw.c (tagINITCOMMONCONTROLSEX): Uniform declaration + between SDK and cygwin. + (mswindows_init_device): InitCommonControls -> + InitCommonControlsEx typo fix. + +Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c (EImage2DIBitmap): count the number of bytes correctly. + +Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> + + * config.h.in: support for HAVE_MSG_SELECT. + + * console-msw.h: add support for four toolbars. + + * device-msw.c: init common controls. + + * event-msw.c: if HAVE_MSG_SELECT is defined use unixoid event + stream tye callbacks and select() on events rather than MWFMO. + Added event handling for tooltip messages. If you have this + special select then all process support works under cygwin. + + * frame-msw.c: add support for four toolbars. + + * redisplay-msw.c: update toolbars when an area is exposed. + + * signal.c: _WIN32 -> WINDOWSNT. + + * event-stream.c: enable unixoid initialization if we have it. + + * event-unixoid.c: allow us to turn off the signal pipe. + + * toolbar-msw.c: major overhaul. Enable support for all four + toolbars, fix display and sizing problems, enable tooltip support, + be more optimal about deleting toolbars. + + * toolbar.h: reinstate 0 toolbar border width for msw. + + * s/cygwin32.h: minor define updates. + +1998-04-22 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (Falternate_debugging_output): Define only if + DEBUG_XEMACS. + +1998-04-21 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Updated docstring. + +1998-04-21 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_prepare): New argument FRAME_KLUDGE. + (print_prepare): If writing to a frame, return a resizing buffer + stream. + (print_finish): Flush the stream. + (Fprin1): Adjust calls to print_prepare() and print_finish(). + (Fprinc): Ditto. + (Fprint): Ditto. + (print_internal): Optimize printing of characters. + + * print.c (RESET_PRINT_GENSYM): New macro. + (print_prepare): Use it. + (print_finish): Ditto. + (Fwrite_char): Ditto. + (Fprin1_to_string): Ditto. + +1998-04-22 SL Baur <steve@altair.xemacs.org> + + * config.h.in: add FOR_MSW variable. + From Itay Ben-Yaacov <pezz@www-mail.huji.ac.il> + +1998-04-20 Kirill M. Katsnelson <kkm@kis.ru> + + * alloc.c (report_pure_usage): Remove ifdef WINDOWSNT around + "Don't panic, I will restart make". + +1998-04-19 Kirill M. Katsnelson <kkm@kis.ru> + + * process.c (vars_of_process): Declared lisp variable + windowed-process-io. + + * procimpl.h: Externally declared it. + + * process-nt.c (nt_create_process): Changed to honor the above + variable, and to utilize SHGetFileInfo to determine file type. + +1998-04-21 Martin Buchholz <martin@xemacs.org> + + * mule-ccl.c: Fix compiler warnings. I hate compiler warnings. + The code is clearer anyways without macros that goto. + +1998-04-22 SL Baur <steve@altair.xemacs.org> + + * glyphs.h: Add prototypes for signal_image_error and + signal_image_error_2. + Suggested by Hrvoje Niksic <hniksic@srce.hr> + +1998-04-18 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * fileio.c: Changed `directory-sep-char' to `path-separator', + following a change in GNU Emacs. + +1998-04-21 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.c: As suggested by Hrvoje Niksic + (Fldap_search_internal): Loop and GCPRO cleanup + (print_ldap): Removed text translation + +1998-04-19 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.c: (print_ldap): Ignore escapeflag + (Fldap_search_internal): Added unwind protection to appropriately + free the LDAP temporary structures in case of interruption. Added + a QUIT to the result fetching loop. + +1998-04-19 SL Baur <steve@altair.xemacs.org> + + * emacs.c (TopLevel): New variables: Vinfodock_major_version, + Vinfodock_minor_version, Vinfodock_build_version. + (vars_of_emacs): Initialize them. + + * config.h.in: Add InfoDock version numbers. + + * device-x.c (have_xemacs_resources_in_xrdb): distinguish whether + we're running as InfoDock or XEmacs. + +1998-04-18 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c: Remove definition of Q_color_symbols. + + * glyphs.h: Declare Q_color_symbols and evaluate_xpm_color_symbols. + +1998-04-17 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * console-msw.h: + Added "commctrl.h" and "X11/xpm.h" includes to support toolbars + and XPM. + + * glyphs-msw.c: + Removed (!NILP (Vmswindows_bitmap_file_path)) check in + locate_pixmap_file() so that lookups of absolute paths don't fail + if this is unset. + Added new mswindows_xpm_normalize(); + + * glyphs.h: + * glyphs.c: + * glyphs-x.c: + Moved generic XPM support out of glyphs-x.c into glyphs.c. + Functions moved: + signal_image_error, signal_image_error_2, + check_valid_xpm_color_symbols, evaluate_xpm_color_symbols, + xpm_possible_dest_types. + xpm_normalize and xpm_instantiate in glyphs.c just call the + appropriate x_ or mswindows_ funtion in glyphs-x.c or + glyphs-msw.c. + + * toolbar-msw.c: + Don't assert on empty toolbar. + + * toolbar.c: + * toolbar.h: + Adjusted mswindows default toolbar height/widths so redisplay is + correct. + +1998-04-18 Hrvoje Niksic <hniksic@srce.hr> + + * tooltalk.c (tt_message_arg_ival_string): Ditto. + + * redisplay.c (window_line_number): Ditto. + (decode_mode_spec): Ditto. + + * glyphs.c (print_image_instance): Ditto. + + * doprnt.c (emacs_doprnt_1): Ditto. + + * data.c (Fnumber_to_string): Use long_to_string(). + + * lisp.h: Declare long_to_string(). + + * print.c (Fprin1_to_string): Do the Vprint_gensym_alist stunt. + + * emacs.c (main_1): Don't create print stream. + + * print.c: Removed print_stream implementation. + (print_prepare): Don't create a print_stream. + (long_to_string): New function, from GNU Wget. + (print_internal): Use it. + (output_string): alloca() copies only for strings smaller than + 65536 bytes; else, inhibit gc. + +1998-04-18 Hrvoje Niksic <hniksic@srce.hr> + + * config.h.in: Check for DLERROR. + + * sysdll.c: Cosmetic changes. + +1998-04-18 Hrvoje Niksic <hniksic@srce.hr> + + * sysdll.c (dll_error): It's `dlerror', not `dl_error'. + +1998-04-17 Kirill M. Katsnelson <kkm@kis.ru> + + * specifier.c (prune_specifiers): Fix for Vall_specifiers + corruption. + + * specifier.h: Fixed GC_* macros to utilize GC_EQ, as suggested by + Steve. + +1998-04-17 Hrvoje Niksic <hniksic@srce.hr> + + * dll.c (Fdll_open): Simplify interface. + + * sysdll.c: Allocate BUF dynamically. + + * cmds.c (internal_self_insert): Removed `no-self-insert' hack. + +Fri Apr 17 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> + + * event-msw.c: don't use LocalAlloc()/LocalFree(). With unix + processes use a filestream for output. This makes subprocess + support work under cygwin. + +1998-04-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * fileio.c (vars_of_fileio): Resurreced directory-sep-char to be + DIRECTORY_SEP instead of hardwired "/". + +1998-04-16 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * fileio.c (file_name_as_directory): Now returns "./" (or NT + equivalent) for "". + +1998-04-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.c: Fully rewritten introducing a new opaque LDAP Lisp + data type. + + * eldap.h: Ditto + +1998-04-17 Olivier Galibert <galibert@pobox.com> + + * fileio.c (vars_of_fileio): Finish directory_sep_char removal. + +1998-04-14 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (main_1): Added option --debug-paths and analogous + variable. + +1998-04-15 Hrvoje Niksic <hniksic@srce.hr> + + * frame-msw.c (Vmswindows_frame_being_created): Don't staticpro. + + * console-msw.h, event-msw.c, frame-msw.c: Renamed + mswindows_frame_being_created to Vmswindows_frame_being_created. + +1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (emacs_mswindows_quit_p): Do not check for quit + character in modal loop. + + * fileio.c: Removed Vdirectory_sep_char variable. + + * lisp.h: Removed extern decl for the above. + +1998-04-16 SL Baur <steve@altair.xemacs.org> + + * indent.c (vertical_motion_1): set_marker_restricted takes + Lisp_Objects. + +1998-04-17 Hrvoje Niksic <hniksic@srce.hr> + + * md5.c (Fmd5): Correctly rename argument. + + * print.c (Fprin1_to_string): Remove useless variable. + +1998-04-13 Greg Klanderman <greg@alphatech.com> + + * indent.c (vertical_motion_1): new helper function to share + common code between Fvertical_motion and Fvertical_motion_pixels. + Properly handle the WINDOW argument as the doc string indicates it + should. Update docstrings to be more clear and concise. + (Fvertical_motion): use vertical_motion_1. + (Fvertical_motion_pixels): use vertical_motion_1. + +1998-04-15 Kirill M. Katsnelson <kkm@kis.ru> + + * specifier.h: Introduced magic specifiers. Please read comments + in specifier.h. + + * specifier.c: Reworked many functions to support magic + specifiers. + + * scrollbar.c (specifier_vars_of_scrollbar): Made magic specifiers + Vscrollbar_width and Vscrollbar_height. + (init_frame_scrollbars): Enabled critical lisp code operate on + ghost specifiers. + (init_device_scrollbars): Ditto. + (init_global_scrollbars): Ditto. + + * scrollbar-msw.c (Fmswindows_init_scrollbar_metrics): Scrollbar + init function, called from init-scrollbars-from-resuorce in + lisp/scrollbar.c + (syms_of_scrollbar_mswindows): DEFSUBR it. + + * emacs.c (main_1): Called syms_of_scrollbar_mswindows() + + * symsinit.h: Declared syms_of_scrollbar_mswindows() + +Thu Apr 16 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> + + * frame-msw.c: + * console-msw.h: add toolbars to frame parameters. + + * emacs.c: call console_type_create_mswindows_toolbar + + * event-msw.c: call toolbar handling code in main event loop. + + * glyphs-msw.c (mswindows_create_icon_from_image) + (mswindows_resize_dibitmap_instance): new functions. Remove mask + stuff from various others. + + * redisplay-msw.c: + * menubar-msw.c: warning elimination. + + * toolbar-msw.c: new file. Reasonable implementation of toolbars + for mswindows. Some features are not complete. + + * toolbar.c: enable toolbar parameters for mswindows. + + * toolbar.h: choose slightly different toolbar defaults for + mswindows. + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * lisp.h (CHECK_IMPURE): Use it. + + * data.c (pure_write_error): Accept an argument. + + * emacs.c (vars_of_emacs): New variable `internal-error-checking'; + initialize it. + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Avoid random(); simplify. + +1998-04-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (complex_vars_of_emacs): Changed configure-exec-path to + configure-exec-directory. + (decode_path): Doesn't call file-name-as-directory no more as + empty components would lead to evil behavior. + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * extents.c (decode_extent): Unify the error message. + +1998-04-17 Hrvoje Niksic <hniksic@srce.hr> + + * md5.c (Fmd5): Simplify; use only input and encoding streams. + (Fmd5): Separate coding guesswork into md5_coding_system(). + (Fmd5): Don't close the stream; deleting it is enough. + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Prefer fstat() over + stat. + +1998-04-15 Martin Buchholz <martin@xemacs.org> + + * fns.c (Fsubseq): Make (subseq nil 0 0) return nil, not #*. + +1998-04-16 SL Baur <steve@altair.xemacs.org> + + * device-x.c (get_device_from_display): Use "infodock" as the + fallback name when running as InfoDock. + +1998-04-14 Greg Klanderman <greg@alphatech.com> + + * device-x.c (compute_x_app_name): New function needed to compute + application name to use now that XtOpenDisplay is decomposed into + XOpenDisplay and XtDisplayInitialize. + (x_init_device): use it. + +1998-04-06 Greg Klanderman <greg@alphatech.com> + + * device-x.c (have_xemacs_resources_in_xrdb): adhere to coding + standards and avoid opening display twice by breaking + XtOpenDisplay into XOpenDisplay and XtDisplayInitialize. + (x_init_device): Ditto. + +1998-04-15 Olivier Galibert <galibert@pobox.com> + + * s/aix3-2-5.h: Ditto. + + * s/aix4-1.h: Ditto. + + * s/aix4-2.h: Ditto. + + * s/bsd386.h: Ditto. + + * s/bsdos2-1.h: Ditto. + + * s/dgux.h: Ditto. + + * s/esix.h: Ditto. + + * s/esix5r4.h: Ditto. + + * s/hpux8.h: Ditto. + + * s/hpux9-shr.h: Ditto. + + * s/hpux9-x11r4.h: Ditto. + + * s/hpux9.h: Ditto. + + * s/hpux9shxr4.h: Ditto. + + * s/isc3-0.h: Ditto. + + * s/isc4-0.h: Ditto. + + * s/ptx.h: Ditto. + + * s/sco4.h: Ditto. + + * s/sco5.h: Ditto. + + * s/usg5-3.h: Ditto. + + * s/usg5-4-2.h: Ditto. + + * s/usg5-4.h: Kill a bunch of now autodetected defines. + +1998-04-05 Greg Klanderman <greg@alphatech.com> + + * window.c (Fwindow_displayed_pixel_height): rename more + appropriately as window-text-pixel-height. + (syms_of_window): Update the DEFSUBR. + (Fwindow_text_pixel_width): New function for completeness. + (Fwindow_text_pixel_edges): New function. + (syms_of_window): DEFSUBR 2 new functions. + +1998-04-13 Greg Klanderman <greg@alphatech.com> + + * redisplay.c (redisplay_window): When echo area is active, and we + swap in the echo area buffer, restore the minibuffer's pointm and + startp when we restore the minibuffer to the window. This avoids + having the minibuffer point randomly change when it is active but + not selected and a message is shown. + +1998-04-16 Hrvoje Niksic <hniksic@srce.hr> + + * md5.c: replaced RSA reference code with GNU textutils implementation. + +1998-04-14 Martin Buchholz <martin@xemacs.org> + + * signal.c (init_signals_very_early): Make `nohup xemacs &' work. + Wrap #ifdefs around uses of SIGQUIT and SIGILL. + +1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> + + * objects-msw.c (mswindows_initialize_font_instance): Fixed assert + abuse; proper cleanup on GDI error. + +1998-04-14 Kirill M. Katsnelson <kkm@kis.ru> + + * console-msw.h: Declared get_nt_process_handle() and + mswindows_bump_queue(). + Removed declarations for mswindows_enqueue_dispatch_event() and + mswindows_enqueue_magic_event(). + + * event-msw.c (emacs_mswindows_create_stream_pair): Casts on + handle types and get_osfhandle() return type. From Andy Piper. + (emacs_mswindows_select_process): Get Win32 process handle + directly from process lrecord. + (get_process_handle): Removed function. + (emacs_mswindows_handle_magic_event): Removed handling of + XM_BUMPQUEUE magic event. + (mswindows_wnd_proc): Removed handling of WM_EXITMENULOOP message, + which called a do-nothing handler in menubar-msw.c + (mswindows_wnd_proc, WM_EXITSIZEMOVE): Queue an empty event + instead of magic event, via mswindows_bump_queue(). + (mswindows_wnd_proc, WM_CLOSE): Ditto. + (mswindows_need_event): Call mswindows_bump_queue() upon process + termination, in case process pipe does not get closed along. + Do not close process handle. + (mswindows_bump_queue): Added function. + (mswindows_enqueue_dispatch_event): Made static. + (ntpipe_slurp_*): Revamped the slurp thread implementation so the + stream does not expect the thread to terminate when stream is closed. + (ntpipe_slurp_reader): Fixed an attempt to read zero bytes from + the pipe. + + * event-stream.c (event_stream_deal_with_async_timeout): + Conditionalized timer-based polling for finished processes on + HAVE_UNIX_PROCESSES. + + * menubar-msw.c (mswindows_handle_wm_command): Queued proper bump + queue event. + (mswindows_handle_wm_exitmenuloop): Removed function. + + * menubar-msw.h: Removed unused function prototype. + + * process-nt.c (get_nt_process_handle): Added function. + + * signal.c (init_poll_for_sigchld): Conditionalized on + HAVE_UNIX_PROCESSES. + +1998-04-13 Kirill M. Katsnelson <kkm@kis.ru> + + * frame-msw.c: Implemented the following methods: + mswindows_get_mouse_position() + mswindows_set_mouse_position() + mswindows_frame_totally_visible_p() + +1998-04-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c: Renamed inhibit-package-init to inhibit-early-packages + to better reflect its semantics. + Renamed inhibit-update-autoloads to inhibit-package-autoloads. + (complex_vars_of_emacs): Added site-directory and lisp-directory. + -no-packages -> no-early-packages. + + * Makefile.in.in: Reflected reinstatement of paths.h.in. + + * paths.h.in: Reinstated. + + * paths.h.in.in: Removed. + + * config.h.in: Moved configure path and directory options from + paths.h.in.in. + +1998-04-11 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (emacs_mswindows_quit_p): don't recurse. + +1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> + + * callproc.c (init_callproc): Correctly initialize + `shell-file-name' for WINDOWSNT + + * emacs.c (main_1): Properly called new functions (see symsinit.h + entry for which). + + * event-msw.c (struct ntpipe_slurp_stream): + (slurp_thread): + (make_ntpipe_input_stream): + (get_ntpipe_input_stream_waitable): + (get_ntpipe_input_stream_param): + (ntpipe_slurp_reader): + (ntpipe_slurp_closer): + (init_slurp_stream): Win32 pipe input stream implementation. + (struct ntpipe_shove_stream): + (shove_thread): + (make_ntpipe_output_stream): + (get_ntpipe_output_stream_param): + (ntpipe_shove_writer): + (ntpipe_shove_was_blocked_p): + (ntpipe_shove_flusher): + (ntpipe_shove_closer): + (init_shove_stream): Win32 pipe output stream implementation. + (mswindows_enqueue_process_event): Dispatch helper. + (find_waitable_handle): + (add_waitable_handle): + (remove_waitable_handle): New three, waitable handles handling. + (mswindows_need_event_in_modal_loop): Simplified. + (mswindows_need_event): Simplified. + (mswindows_need_event): Generate process events on process output; + kick status_notify when a process ends. + (mswindows_find_console): Simplified. + (emacs_mswindows_event_pending_p): Adjusted parameters to + mswindows_need_event(). + (emacs_mswindows_next_event): Ditto. + (get_process_input_waitable): + (get_process_handle): Process select/unselect helpers. + (emacs_mswindows_select_process): Implemented. + (emacs_mswindows_unselect_process): Implemented. + (emacs_mswindows_quit_p): Call mswindows_drain_windows_queue() + directly so do not even try do dequeue process events. Saved a + byte and a tick. + (emacs_mswindows_create_stream_pair): Implemented. + (emacs_mswindows_delete_stream_pair): Implemented. + (vars_of_event_mswindows): Registered the above two. + (lstream_type_create_mswindows_selectable): Function called from + emacs.c to create two pipe lstream types. + + * ntproc.c (sys_select): Disgustful brain fart this file is. + + * process-nt.c: New file: Asynchronous subprocess implemenation + for Win32. + + * process.h: Declare Fprocess_id(). + + * signal.c (init_signals_very_early): Conditionalize possibly + nonexistent signals. + + * symsinit.h: Declared: + lstream_type_create_mswindows_selectable () + process_type_create_nt () + vars_of_process_nt () + + * s/windowsnt.h: Defined HAVE_WIN32_PROCESSES. + Removed fake SIGTRAP, SIGPIPE and SIGCHLD. + +1998-04-10 Martin Buchholz <martin@xemacs.org> + + * fns.c (Fnthcdr): + Most times through the loop will get a cons, so optimize for that. + + * bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround. + Add NATNUMP check for Bnth bytecode. + Bnth: Optimize case of n > length (list). + QUITs not necessary since even if list is circular, n will count + down to 0. + Bnthcdr: inline the code for nthcdr (we have a bytecode for it, + after all) + Bcdr, Bcar: Use tail recursion. + +1998-04-10 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (redisplay_window): Don't lose with negative + scroll_step. + +1998-04-09 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Don't use `+' in generated file + names. + (Fmake_temp_name): Randomize the initial values of counters. + +1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * Makefile.in.in: paths.h.in is now generated from paths.h.in.in. + + * emacs.c (decode_path): Removed parsing of "::" into nil component. + +1998-04-09 Martin Buchholz <martin@xemacs.org> + + * lstream.c (make_filedesc_stream_1): Fix another Martin blooper. + +1998-04-07 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fdump_emacs): Delete superfluous open comment. + +1998-04-06 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fdump_emacs): Move call to disable_free_hook back to + Fdump_emacs where it belongs. + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * nt.c (sys_mkdir): Added the second unused parameter, after UNIX + version. Suggested by Martin. + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (mswindows_wnd_proc): Fix member access macro names. + + * frame-msw.c (mswindows_frame_property): + (mswindows_internal_frame_property_p): + (mswindows_frame_properties): Implemented for the 'left and 'top + properties. + (console_type_create_frame_mswindows): Regsitered the above. + (mswindows_set_title_from_bufbyte): Update title only if it has + really changed. This avoids a bit of flashing. + + * console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title + smoother. + (MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek! + +1998-04-06 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * unexfreebsd.c: introduce FreeBSD port's patch to avoid + FreeBSD-current warns "Absurd new brk addr". + +1998-04-06 Colin Rafferty <colin@xemacs.org> + + * glyphs-x.c (struct gif_error_struct): Made the err_str point to + a CONST char* instead of non-const. + (tiff_memory_write): Add fake return statement to shut up warnings. + +1998-04-06 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Correctly handle + special files larger than 32K. + +1998-04-06 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Don't call mktemp(). + +1998-04-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * unexelf.c: include <config.h> first. + +1998-04-04 Martin Buchholz <martin@xemacs.org> + + * sysdep.c: Add #include <sys/termio.h> for AIXHFT as suggested + on c.e.x. + + * nt.c: + * ntproc.c: + Change "config.h" to <config.h>. Add dire warnings to code since + config.h is not included first. + + * powerpc.h: Avoid redefinition warning on START_FILES. + + * window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window. + * hpplay.c: Rename play_gain to hp_play_gain in accordance with + coding standards. + + * frame-x.c (x_lower_frame): + (x_raise_frame_1): Clarify code. Save a nanosecond if frame not + visible. + + * fileio.c (Fmake_temp_name): Use static CONST suffix; save a + nanosecond. + +1998-04-05 Amir J. Katz <amir@ndsoft.com> + + * sysproc.h: Added #include <sys/types.h> before <sys/socket.h> + otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1 + + * sysdep.h: strerror() does not return CONST in gcc 2.8.1 + +1998-04-05 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (generate_fstring_runes): Grok specifiers and + symbols indirecting to specifiers. + +1998-04-06 Olivier Galibert <galibert@pobox.com> + + * events.c (print_event): XINT() may return a long. + + * insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int. + (buffer_insert_string_1): ditto. + + * regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor + ptrdiff_t are portably printable as an int. + + * redisplay.c (window_line_number): Don't assume that an EMACS_INT + in an int. + + * alloc.c (report_pure_usage): Don't assume that a size_t is + displayable as an int. + +1998-04-06 SL Baur <steve@altair.xemacs.org> + + * process-unix.c: Fix typo in #ifdef. + From Hrvoje Niksic <hniksic@srce.hr> + +1998-04-06 Olivier Galibert <galibert@pobox.com> + + * unexelfsgi.c (unexec): Don't treat the sbss section as bss if it + isn't one. Needed for irix 6.5. + +1998-04-05 Martin Buchholz <martin@xemacs.org> + + * sysdep.h: Two prototypes that weren't properly size_t'ed + +1998-04-04 Martin Buchholz <martin@xemacs.org> + + * ralloc.c: mallopt <==> malloc.h. + +1998-04-04 Martin Buchholz <martin@xemacs.org> + + * emacs.c: #include <paths.h>, not "paths.h" + This is a standard bug. It manifests if you configure in the + source tree, then configure elsewhere with --srcdir. + Remove misleading PATH_EXEC comment; PATH_PACKAGEPATH is also used. + +1998-04-04 Olivier Galibert <galibert@pobox.com> + + * s/386bsd.h: Removed obsolete define. + +1998-04-04 Olivier Galibert <galibert@pobox.com> + + * s/386-ix.h: Removed useless define. + + * sysdep.c (insque): Removed. Not used anywhere in the code. + +1998-04-04 Olivier Galibert <galibert@pobox.com> + + * process-unix.c (unix_kill_child_process): Use TIOCSIGSEND or + TIOCSIGNAL as needed. + + * s/usg5-4.h: Remove kludgy TIOCSIGSEND #define which breaks on + irix 6.5. + +1998-03-28 Hrvoje Niksic <hniksic@srce.hr> + + * insdel.c (emchar_string_displayed_columns): Simplify for + non-Mule case. + + * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Issue nicer output. + +1998-04-01 Martin Buchholz <martin@xemacs.org> + + * sysdir.h (sys_mkdir): + * sysfile.h (sys_read): + (sys_write): + (sys_chmod): + (sys_creat): + + * sysdep.c (sys_read_1): + (sys_read): + (sys_write_1): + (sys_write): + (sys_mkdir): + (sys_readlink): + (sys_chmod): + (sys_creat): + + * nt.c (sys_read): + (sys_chmod): + (sys_creat): + (sys_write): Change types of sys_* in accordance with published + standards. Use size_t and mode_t instead of unsigned int and int. + +1998-04-03 Martin Buchholz <martin@xemacs.org> + + * config.h.in (enum_field): + * lisp-union.h: + * extents.h: + * redisplay.c (add_margin_runes): + Prefer enums for use as bitfields in preference to unsigned int, + but allow the possibility to suppress it if a compiler disallows + it or emits annoying warnings. Currently only __SUNPRO_C cc -Xc + used unsigned ints. + + * event-stream.c: Fixup DEFVAR for + Vcomposed_character_default_binding; Real bug! + * event-msw.c: Rename mswindows_button2* to mswindows_mouse_button* + * emacs.c: Rename suppress_early_backtrace to + suppress_early_error_handler_backtrace + * objects-x.c: Rename handle_nonfull_spec_fonts to + x_handle_non_fully_specified_fonts + * lread.c: Rename puke_on_fsf_keys to + fail-on-bucky-bit-character-escapes + * lread.c: + * doc.c: Rename Vdoc_file_name to Vinternal_doc_file_name + * fileio.c: + * bufslots.h: + * buffer.c: Rename save_length to saved_size + * alloc.c: Rename pureptr to pure_bytes_used + * abbrev.c: Rename last_abbrev_point to last_abbrev_location + * lisp.h: + DEFVAR_* are supposed to be named following a standard convention. + +1998-04-03 Martin Buchholz <martin@xemacs.org> + + * callint.c: + * ralloc.c: + * data.c: + * eldap.c: + * extents.c: + * frame-msw.c: + * frame-x.c: + * general.c: + * process.c: + * xselect.c: + Rationalize defsymbol handling. + defsymbols are supposed to have equivalent C and Lisp names, for + consistency. At least one real bug (end-glyph-layout) fixed. + Move multiply defsymbol'ed stuff into general.c. + +1998-04-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * m/ibmrs6000.inp: Removed; obsoleted by configure.in changes. + +1998-04-03 Martin Buchholz <martin@xemacs.org> + + * console-tty.c (Fset_console_tty_input_coding_system): + (Fset_console_tty_output_coding_system): + Input/Output and encoding/decoding were reversed. + +1998-04-02 SL Baur <steve@altair.xemacs.org> + + * m/powerpc.h: Remove LD_SWITCH_MACHINE for Linux. + +1998-04-02 Greg Klanderman <greg@alphatech.com> + + * window.c (set_window_pixsize): Move up call to + check_min_window_sizes. + + * indent.c (vmotion_1): renamed from vmotion() and added + additional argument to optionally return the pixel motion. + (vpix_motion): Helper for vmotion_1. + (vmotion): Wrapper - just call vmotion_1() with the right args. + (Fvertical_motion_pixels): New function. + (syms_of_indent): DEFSUBR it. + +1998-04-02 Martin Buchholz <martin@xemacs.org> + + * xselect.c: + * event-Xt.c: + * emacs.c: + Remove last vestiges of #ifdef EPOCH code. It had no chance of + working anyways. In honour of seeing Marc Andreesen in person for + the first time today. + +1998-04-01 Martin Buchholz <martin@xemacs.org> + + * extents.h: + * lisp-union.h: + Don't use enums as bitfields - only unsigned ints. + Fixes: warning: nonportable bit-field type + + * eval.c (call_with_suspended_errors): More volatilizing to + appease Sunpro cc. + + * mem-limits.h: + * ralloc.c: Remove #undef NULL; they're not even used! + + * process-unix.c (unix_send_process): send_process is a method, so + we can't include volatile in the prototype. We make the argument + non-volatile, make a volatile copy, and then use that instead. + + * frame-x.c (x_delete_frame): The `frame' variable is initialized + but not actually used. + + * Makefile.in.in (xselect.o): The last line of b34-pre2's + src/Makefile.in.in contains a dependency that should have been + patched away. + (mostlyclean): Remove the removal of depend.* - no such files + exist anymore + + * make-src-depend: include a dependency on only one of + lisp-union.h or lisp-disunion.h. + +1998-04-01 Martin Buchholz <martin@xemacs.org> + + * specifier.c (specifier_instance_from_inst_list): A nanosecond + saved is a nanosecond earned. + +1998-03-31 Greg Klanderman <greg@alphatech.com> + + * redisplay.c (update_line_start_cache): Fix bug involving + invisible text in which the line_start_cache gets hosed. + +Sun Mar 29 1998 Andy Piper <andyp@parallax.co.uk> + + * console-msw.h: define FRAME_MSWINDOWS_CDC. + + * frame-msw.c: (mswindows_set_frame_icon) new function. Works but + no masks as yet. + + * glyphs-msw.c: GNUize the code. Fix 24bpp display and make the + default. Add managment of icons. + + * glyphs-msw.h: add icon attributes. + + * redisplay-msw.c: (mswindows_output_pixmap) remove unused cursor + code. + + * objects-msw.c: eliminate char subscript warning. + +1998-04-01 SL Baur <steve@altair.xemacs.org> + + * sysdll.c (dll_close): fix typo. + Suggested by Marcus Thiessel <marcus_thiessel@hp.com> + + +1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> + + * device.c (Fset_device_class): Recompute cached + specifiers everywhere if device class is changed. + Set various redisplay flags so that the device's + various frames are redisplayed. + +1998-03-31 SL Baur <steve@altair.xemacs.org> + + * lrecord.h (DECLARE_NONRECORD): Remove redundant paren. + Suggested by Martin Buchholz <martin@xemacs.org> + +1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> + + * gui.c (gui_item_display_flush_left): Fix suffix length. + +1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> + + * s/windowsnt.h: Defined SIZEOF_LONG_LONG and SIZEOF_VOID_P + + * dired-msw.c: Included <limits.h> + + * config.h.in (VOID_P_BITS): Fixed so that uses SIZEOF_VOID_P + +1998-03-31 SL Baur <steve@altair.xemacs.org> + + * glyphs.c (image_instantiate_cache_result): Correct order of + parameters to Fputhash. + Suggested by Kirill M. Katsnelson <kkm@kis.ru> + +1998-03-30 Martin Buchholz <martin@xemacs.org> + + * redisplay.c (create_right_glyph_block): glyph_type should really + be glyph_layout. + +1998-03-29 Martin Buchholz <martin@xemacs.org> + + * sysfile.h: Move all encapsulations from lisp.h/emacsfns.h into + sysfile.h. Users of the functionality herein will have to + #include sysfile.h. + Check all .o files for missing #includes. + * config.h.in: + Discovered that config.h.in was missing ENCAPSULATE_CLOSEDIR, as a + result of fixing the above. + + * gui.c (gui_item_add_keyval_pair): We should not use the idiom + error ("%S", lisp_object) in C code. + I converted the code to use signal_simple_error_2 instead. + (signal_too_long_error): Ditto. + + * glyphs.c (image_instantiate_cache_result): Use XC[AD]R instead + of Fc[ad]r. This is always called with valid conses, and in fact, + already assumed it. + + * font-lock.c (find_context): Use context_none with context + instead of ccontext_none. + + * fns.c (Flength): The CONSP and NILP code can be combined. + Change the name of the arg to SEQUENCE from OBJ. + (Fnthcdr): CHECK_NATNUM instead of CHECK_INT. Optimize out Fcdr calls. + (Felt): Change argument from seq to sequence to match docstring. + +1998-03-28 Martin Buchholz <martin@xemacs.org> + + * fns.c (string_putprop): + (string_getprop): Make method functions static. + + * window.c (find_window_by_pixel_pos): Warning suppression. + + * imgproc.c (splitbox): Warning suppression. + + * redisplay-x.c (x_output_eol_cursor): Remove redundant XSETWINDOW. + + * glyphs-x.c (signal_image_error): + (signal_image_error_2): + (convert_EImage_to_XImage): Make functions static. + + * editfns.c (Fbuffer_size): Rename the `F' function to + Fbuffer_size in accordance with coding standards. + + * dll.c (Fdll_open): Fix up data conversion. + Provide auxiliary function maybe_call_library_function(). + + * device-x.c (get_x_display): make function static. + + * data.c (Fcar): Should generate listp, not consp error. + (Fcdr): Should generate listp, not consp error. + +1998-03-27 Martin Buchholz <martin@xemacs.org> + + * console-tty.c (free_tty_console_struct): + Replace con->console_data with CONSOLE_type_DATA (con) + + * *.[ch]: C++ compilability of xemacs, on Linux and Solaris. + + * casetab.c (Fcase_table_p): Optimize. + + * eval.c: + * bytecode.c: + Rename Fcondition_case_3 to condition_case_3 - it's not a DEFUN. + + * buffer.h: + Remove all *BUFFER_OR_STRING* macros - unused. + (memind_to_bytind): Merge two versions of function by moving + #ifdef ERROR_CHECK_BUFPOS into the function body. + (*_DATA_ALLOCA*): get types correct. rewrite for clarity. + + * balloon_help.c (balloon_help_destroy): rearrange order of + functions, and remove prototype from header file. + + * alloc.c (deadbeef_memory): Rewrite. Use size_t for clarity. + Don't bother with the left-over bytes, since in practice we will + always get called with a size multiple of 4. + (Fmake_list): CHECK_NATNUM instead of CHECK_INT + (vector[4567]): Currently unused; ifdef out. + (make_pure_float): make function static. + (garbage_collect_1): Optimize. + +1998-03-23 Martin Buchholz <martin@xemacs.org> + + * marker.c (print_marker): Fix compiler warning, real bug! + + * device.h (MARK_DEVICE_FRAMES_FACES_CHANGED): + * frame.h (MARK_FRAME_FACES_CHANGED): + (MARK_FRAME_TOOLBARS_CHANGED): + (MARK_FRAME_SIZE_CHANGED): + (MARK_FRAME_CHANGED): + (MARK_FRAME_WINDOWS_CHANGED): + (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): + Fix multiple evaluation of macro arguments. + Macros are a fact of life. Callers have to use temp variables to + avoid multiple evaluation of arguments. + + * data.c (Ftrue_list_p): New function, with obvious meaning. + This is terminology from Cltl2. + Also define a corresponding macro TRUE_LIST_P. + + * device-x.c (validify_resource_component): Optimize. Rename. + Use the standard technique of using a precomputed table of valid chars. + + (x_get_resource_prefix): + (Fx_get_resource): + (Fx_get_resource_prefix): + Avoid fixed buffer sizes. Use a char_dynarr. + Run validify_resource_component on all computed components. + + * lisp.h: Define a char_dynarr type. + +1998-03-22 Martin Buchholz <martin@xemacs.org> + + * fns.c (Fcopy_alist): Optimize. + + * alloc.c (acons): New function. Now used in the C code. + Definition in cl.el is commented out. Add docstring. + Use acons in functions which create alists. + * lisp/cl.el (acons): Add docstring. Really otta be a macro, tho. + + * buffer.c (Fbuffer_memory_usage): + * window.c (Fwindow_memory_usage): + Clean up horrible consing code using new acons function. + Fix incorrect value reported for gap-overhead. + + * fns.c (Fmember): + (Fold_member): + (Fmemq): + (Fold_memq): + (memq_no_quit): + (Fassoc): + (Fold_assoc): + (Fassq): + (Fold_assq): + (assq_no_quit): + (Frassoc): + (Fold_rassoc): + (Frassq): + (Fold_rassq): + (rassq_no_quit): + (Fdelete): + (Fold_delete): + (Fdelq): + (Fold_delq): + (delq_no_quit): + (delq_no_quit_and_free_cons): + (Fremassoc): + (Fremassq): + (remassq_no_quit): + (Fremrassoc): + (Fremrassq): + (remrassq_no_quit): + (Fnreverse): + (Freverse): + (Fnthcdr): + Optimize. + Replace calls to Fcar, Fcdr, Fsetcar with XCAR and XCDR. + Simplify logic. + Many of these functions wouldn't QUIT if called on cyclic lists. + e.g. try (progn (setq x '(nil)) (setcdr x x) (reverse x)) + One benchmark of delq showed it to be 3 times faster. + + * emacs.c: + * database.c: + Cleanup of database functions. + Make the get_subtype and get_type methods return Lisp_Objects, + instead of C strings. No more need for both dbm_type and dbm_lisp_type. + Rewrite the doc strings to be consistent with XEmacs tradition. + Replace old `dbm' names with `database'. + Rename struct database to struct Lisp_Database. + Rename DEFUN arguments to `database', when applicable. + + * buffer.c: + * chartab.c: + * console.c: + * data.c: + * database.c: + * device.c: + * elhash.c: + * eval.c: + * event-stream.c: + * extents.c: + * faces.c: + * frame.c: + * glyphs.c: + * keymap.c: + * lstream.c: + * mule-charset.c: + * mule-coding.c: + * objects.c: + * opaque.c: + * process.c: + * rangetab.c: + * specifier.c: + * symbols.c: + * tooltalk.c: + * window.c: + Place DEFINE_LRECORD_* after definition of static object methods, to + avoid redundant declarations. + + * console.c: + * console.h: + * device.c: + * device.h: + * extents.c: + * extents.h: + * frame.c: + * frame.h: + * glyphs.c: + * glyphs.h: + * lisp.h: + * lstream.c: + * lstream.h: + * signal.c: + * specifier.c: + * specifier.h: + Eliminate MAC_* macros. + The MAC_ macros use non-standard comiler extenstions which cause + gcc to generate bad code on Sparc/Solaris. Attractive though the + idea of using those compiler extensions is, they are just not + robust enough to use in the real world. So we eliminate them. + We put up with some sub-optimalities, like macros with multiple + evaluation. Such is life with C. The MAC_ macros were pretty + darn ugly anyways. We CAN use inline functions, since the advent + of C++ means that compilers must support those anyways. + +1998-03-21 Martin Buchholz <martin@xemacs.org> + + * alloc.c (list*): Optimize recursion levels. + + * alloc.c: Add debugger support via enum dbg_constants. + * gdbinit: Complete rewrite. + * gdbinit.union: Remove + * gdbinit.pre-4.14: Remove + * dbxrc: Complete rewrite. + * man/xemacs-faq.texi: + Proper robust debugger support for gdb and Sun's dbx. + Support all combinations of Kylish DEFINEs. + Work out of the box with no user customizations. + See the updated faq for details. + + * emacsfns.h: Remove. Move declarations to lisp.h + * dynarr.h: Remove. Move declarations to lisp.h + * lisp.h. + Optimize header file handling to improve compile time over a network. + Introduce EXFUN macro for external declaration to correspond to DEFUN. + Include header files only when necessary, i.e. not from lisp.h: + - unistd.h, limits.h, fnctl.h, blocktype.h, dynarr.h, emacsfns.h + + + * lisp.h: + * lisp-union.h: + * lisp-disunion.h: + Rewrite low level object frobbing. + Make it safe to use XSETOBJ on uninitialized Lisp_Objects. + (markbit might have been set otherwise) + Move XPRNTRVAL->XPNTR computation out of lisp-*union.h, since it + is union-type-independent. + + * EmacsFrame.c: + * alloc.c: + * chartab.c: + * console.c: + * dialog-x.c: + * doc.c: + * elhash.c: + * eval.c: + * event-Xt.c: + * event-stream.c: + * event-unixoid.c: + * extents.c: + * faces.c: + * file-coding.c: + * frame.c: + * glyphs.c: + * insdel.c: + * keymap.c: + * lstream.c: + * marker.c: + * menubar-x.c: + * mule-coding.c: + * opaque.c: + * ralloc.c: + * rangetab.c: + * redisplay-msw.c: + * redisplay-output.c: + * redisplay-tty.c: + * redisplay-x.c: + * redisplay.c: + * scrollbar-x.c: + * scrollbar.c: + * specifier.c: + * symbols.c: + * toolbar-x.c: + * toolbar.c: + * window.c: + As a result of the above lisp*.h changes, we can now safely remove + initializations of Lisp_Objects before calling XSETOBJ on them. + This was only being done half the time, anyways. + + * Makefile.in.in (depend): New target. calls make-src-depend. + * depend: New file. Generated by make-src-depend + * make-src-depend: New file. generates up-to-date dependencies. + Makefile dependencies are now automagically maintained, and + CORRECT. lisp.h and friends are now included in the dependencies, + since this complies with the principle of least astonishment. + + * symbols.c (symbol_is_constant): Optimize. + +1998-03-30 SL Baur <steve@altair.xemacs.org> + + * frame.c (vars_of_frame): Default frame name should be InfoDock + for InfoDock. + +1998-03-29 SL Baur <steve@altair.xemacs.org> + + * emacs.c (voodoo_free_hook): ELF libraries built with newer + versions of GCC do horrible things in dumped binaries after exit() + is called. + (Fkill_emacs): Use it. + +1998-03-28 SL Baur <steve@altair.xemacs.org> + + * s/linux.h: For simplicity, do not use standard linking because + it is deadly with new GCC. + +Sat Mar 28 10:16:29 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: fix fastdump target + + * console-msw.h: add memory dc to frame. + + * frame-msw.c: manage memory dc on frame creation/deleteion + + * frame.h: mess with toolbar macros so that xemacs doesn't die + in redisplay with a triple build. + + * g;yphs-msw.c: GNUize the code. Fix 24bpp display and make the + default. + + * glyphs-msw.h: remove memory dc from image attributes. + + * redisplay-msw.c: fix redisplay to use new frame memory dc. + + * sheap.c: bump initial sheap yet again to allow byyte + recompilation. + + * unexcw.c: fix section parsing for multiple idata and rdata + sections. + +1998-03-27 SL Baur <steve@altair.xemacs.org> + + * emacs.c: Enabled free-hook.c code if + LOSING_GCC_DESTRUCTOR_FREE_BUG is defined. + +1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> + + * Fixed display bug where changes to builtin glyphs like + Vcontrol_arrow_glyph would not be propagated + immediately to the display. + + * device.h: Added glyphs_changed field to device + struct. Created MARK_DEVICE_GLYPHS_CHANGED macro. + + * frame.h: Added glyphs_changed field to frame + struct. Created MARK_FRAME_GLYPHS_CHANGED macro. + + * redisplay.h: Declared glyph_changed and + glyph_changed_set variables, mimicking clip_changed + and clip_changed_set. New macro MARK_GLYPHS_CHANGED. + + * redisplay.c: Defined glyph_changed and + glyph_changed_set variables, mimicking + clip_changed and clip_changed_set. + + (redisplay_window): Reset the window's glyph cache is + f->glyphs_changed is non-zero. Call regenerate_window + if f->glyphs_changed is non-zero. + + (redisplay_frame): Clear f->glyphs_changed after + successful redisplay of all windows on frame. + + (redisplay_device): Redisplay frame if f->glyphs_changed + is non-zero. Clear d->glyphs_changed after successful + redisplay of all frames on device + + (redisplay_without_hooks): Redisplay devices if + glyphs_changed is non-zero. Redisplay an individual + device if d->glyphs_changed is non-zero. Clear + glyphs_changed after successful redisplay of all + devices. + + (redisplay_glyphs_changed): Dropped use of + MARK_CLIP_CHANGED. Call MARK_FRAME_GLYPHS_CHANGED for + all affected frames. For locales that are not device + related, mark all frames. + + * redisplay-output.c (compare_display_blocks): + Output the whole display block if f->glyphs_changed is + non-nil. + +1998-03-27 Kyle Jones <kyle_jones@wonderworks.com> + + * callproc.c (Fcall_process_internal): In the case where + fd_error and fd1 are the same don't close that + descriptor twice. + +1998-03-27 SL Baur <steve@altair.xemacs.org> + + * frame-x.c (x_update_frame_external_traits): Need a Lisp_Object + frame as well as a struct frame. + +1998-03-27 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (main_1): Reinstated PATH searching for invocation data. + +1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> + + * menubar.c (Fmenu_find_real_submenu): See the entry for gui.h. + + * menubar-msw.c (populate_menu_add_item): Used GCPRO_GUI_ITEM + macro to aviod warnings, in 2 places. + (populate_or_checksum_helper): Ditto + (populate_or_checksum_helper): Added placeholder for menu right + flash customization. + + * gui.h (GCPRO_GUI_ITEM): Code which warning-free GC protects a + GUI_ITEM structure moved into this macro from menubar.c + + * frame-x.c (x_update_frame_external_traits): Moved part of the + former update_EmacsFrame() here. + (console_type_create_frame_x): Declared the above method. + + * frame-msw.c (mswindows_set_frame_properties): Do not try to + resize the frame if called from Fmake_frame the first time + (potential race condition). + (mswindows_init_frame_1): Fixed support for popup frames. + (mswindows_delete_frame): Fixed memory leak. + (mswindows_get_frame_parent): Implemented. + (mswindows_update_frame_external_traits): Moved part of the former + update_EmacsFrame() here. + (console_type_create_frame_mswindows): Declare get_frame_parent + and update_frame_external_traits methods. + + * faces.c (update_EmacsFrame): Converted into a device method + `update_frame_external_traits'. + + * event-msw.c (mswindows_wnd_proc, WM_SIZE): Rewrote to avoid + relying on an assumption on when Windows calls this handler. + (mswindows_find_frame): Return the frame being created if the + windows does not yet have associated frame object + (mswindows_find_frame): Casted long to Lisp_Object properly. + + * device.c (window_system_pixelated_geometry): Changed to call the + device_implementation_flags device method. + + * device-msw.c (mswindows_device_implementation_flags): + Implemented. + (console_type_create_device_mswindows): Declared the above. + + * console.h (struct console_methods): Added + device_implementation_flags_method and + update_frame_external_traits_method. + Defined flags retuned by device_implementation_flags_method. + + * console-msw.h (struct mswindows_frame): Added charheight and + charwidth fields. + Added macros for referring to these two, Rvalue. + Moved Windows-specific macros from frame.h here. + (typedef struct XEMACS_RECT_WH): Added. + Declared global variables. + +1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> + + * console-msw.h: Added prototypes for + mswindows_protect_modal_loop() and + mswindows_unmodalize_signal_maybe(). + + * scrollbar-msw.c (mswindows_update_scrollbar_instance_status): + Removed redundant call to set_frame_size method. + + * frame.c (Fframe_property): For a window system with pixel-based + geometry, convert passed char-based metrics to pixels. + (Fframe_properties): Ditto. + (Fset_frame_height): Ditto. + (Fset_frame_width): Ditto. + (Fset_frame_size): Ditto. + (frame_conversion_internal): Added a parameter, controlling + whether the function uses real char metrics or 1 when geometry is + pixel-based. + Allow NULL for output int* params. + (pixel_to_char_size): frame_conversion_internal() is called with + indication to fake font size to 1. + (char_to_pixel_size): Ditto. + (round_size_to_char): Ditto. + (pixel_to_real_char_size): + (char_to_real_pixel_size): + (round_size_to_real_char): New three counterparts of the above + metioned functions, which always use real character metrics. + (change_frame_size_1): Use real character metrics when computing + minibuffer height. + + * frame.h: Prototypes for pixel_to_real_char_size(), + char_to_real_pixel_size(), round_size_to_real_char(). + + * frame-msw.c (mswindows_init_frame_1): Rewritten to support + system-default new window width and height. + (mswindows_init_frame_2): Commented out, unused. + (mswindows_after_init_frame): Added frame method. + (mswindows_set_frame_size): Reworked to support pixel base + geometry. + (mswindows_set_frame_position): Cahnged to use SetWindowPos. + (mswindows_lower_frame): Ditto. + (mswindows_set_frame_properties): Fixed to perform correct + calculation, and to support pixel geometry. + (console_type_create_frame_mswindows): init_frame_2 removed, + after_init_frame added. + + * faces.c (default_face_height_and_width_1): Added. + (update_EmacsFrame): Changed method of notifying mswindwows frame, + so modeline border gets redrawn. + + * faces.h: Prototype for default_face_height_and_width_1(). + + * event-msw.c (mswindows_wnd_proc, WM_SIZE): Redisplay after + maximize/restore window. + (mswindows_wnd_proc, WM_WINDOWPOSCHANGING): Do not round size to + char if window is maximized. + Use real char metrics for rounding. + Call DefWindowProc to process WM_GETMINMAXINFO + (mswindows_set_chord_timer): Changed chord timeout from 1/2 to 1/3 + system double click time + + * device.c (domain_device_type): New function. + (window_system_pixelated_geometry): New function. + (Fdomain_device_type): New function, lisp interface to + domain_device_type(). + (syms_of_device): DEFSUBRed the above. + + * device.h: Ptorotypes for domain_device_type() and + window_system_pixelated_geometry(). + + * menubar-msw.c (mswindows_update_frame_menubars): Call + update_frame_menubar_maybe always. + +1998-03-27 SL Baur <steve@altair.xemacs.org> + + * s/hpux11.h: + * s/hpux11-shr.h: New files. + From Marcus Thiessel <marcus_thiessel@hp.com> + + * Makefile.in.in: temporarily comment -lmcheck support. + Suggested by Marcus Thiessel <marcus_thiessel@hp.com> + +1998-03-26 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * emacs.c (vars_of_emacs): Fixed bug: Now respects configure + setting of inhibit-site-lisp. + (main_1): inhibit-site-lisp is now exclusively + configure-initialized. + +1998-03-27 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Don't feed + error_with_frob() with LispObjects. + +1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> + + * redisplay-msw.c (mswindows_output_cursor): Added parameters for + character under cursor, and a flag indicating whether the cursir + is over an image. Draw bar cursor always over an image glyph. + Callers are changed accross the file. + Honor the value of window::text_cursor_visible_p. + (mswindows_output_pixmap): Cursor drawing code #if0ed. + (mswindows_output_display_block): Call to output cursor after + drawind an image. + +1998-03-27 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c: + * imgproc.c: + * imgproc.h: + * glyphs-x.h: Added in a colormap variable in the X specific image + struct to handle IMAGE_POINTER images which must be allocated in the + default colormap of the screen. Also reformated the code to follow + coding standards. + + * glyphs.h: + * glyphs.c: + * glyphs-x.c: added image-conversion-error type + + * objects-x.c (allocate_nearest_color): Corrected a minor bug involving + setting the values into XColor. + +1998-03-25 P. E. Jareth Hein <jareth@camelot-soft.com> + + * free-hook.c (check_realloc): Handle the degerate case of realloc with + a NULL value acting the same as malloc. + +1998-03-24 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay-x.c (x_output_eol_cursor): Use x_clear_region + instead of XClearArea to erase the cursor so that background + pixmaps are handled properly. New fourth parameter findex + added so that it can be passed to x_clear_region. + +1998-03-25 Kirill M. Katsnelson <kkm@kis.ru> + + * process.c (Fprocess_send_eof): Close output stream before + deleting stream pair. + (deactivate_process): Ditto, both input and output streams. + + * event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do + not close passed lstreams. + +1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> + + * fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * configure.in: compile in glyphs-msw.o when compiling fopr + mswindows. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * msw-glyphs.el: add support for xpm and bmp. change + eval-and-compile to progn. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: fastdump - new target for dumping bypassing + bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move + imgproc.o to object list. + + * glyphs-msw.h: + * glyphs-msw.c: new files adding support for xpm and bmp and + EImages. + + * redisply-msw.c: add support for outputing color pixmaps. + + * console-msw.h: add bitspixel field to mswindows frame. + + * device-msw.c: initialise bitspixel field in mswindows frame. + + * glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if + the device type is mswindows. + + * emacs.c: call glyphs-msw.c init functions if compiling with + mswindows. + + * symsinit.h: add prototypes for glyphs-msw.c functions. + + * sheap.c: make includes src-dir compliant. + + * events.c: remove cygwin ^H <-> erase hack. + + * s/cygwin32.h: remove NOMULTIPLEJOBS defn. + +1998-03-24 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (my_jpeg_output_message): Added new function to redirect + any error/warning messages from the jpeg library to XEmacs. Also + get rid of an unneeded temp variable in the tiff code. + +1998-03-14 Hrvoje Niksic <hniksic@srce.hr> + + * insdel.c (fixup_internal_substring): Protect asserts with #ifdef + ERROR_CHECK_BUFPOS. + + * minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte. + (Ftry_completion): Fixed typo. + + * dired.c (file_name_completion): Removed `readfunc', a remnant of + dead VMS code. + +1998-03-13 Hrvoje Niksic <hniksic@srce.hr> + + * dired.c (Fdirectory_files): Simplify logic. + + * symbols.c (reject_constant_symbols): Allow setting a keyword's + function slot. + +1998-03-23 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (readevalloop): Don't specbind Qstandard_input to + READCHARFUN. + +1998-03-09 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (read_atom): Ditto. + + * symbols.c (reject_constant_symbols): Do the keyword stunts only + if the symbol is in Vobarray. + + * symbols.c (reject_constant_symbols): Signal error when + attempting to assign a value to a keyword, unless the value is the + keyword itself. + + * symbols.c (Fintern): Initialize symbol's ->obarray to t only + when OBARRAY is Vobarray. + +1998-03-21 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Allow creation of misc-user-events. + +1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * config.h.in, emacs.c: Changed allow-site-lisp to + inhibit-site-lisp. Made -no-autoloads set inhibit-site-lisp. + +1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * <Today>: The Big Path Searching Overhaul. + + * symsinit.h: Added declaration for complex_vars_of_emacs in + emacs.c. + + * paths.h.in: Adjusted the comments to reality as dictated by + configure. + + * filelock.c (complex_vars_of_filelock): Added support for lock + directories passed in from configure. + + * emacs.c (complex_vars_of_emacs): Added all relevant installation + paths passed from configure. They all have the prefix "configure-" now. + + * config.h.in: Added HAVE_SITE_LISP configuration option. + + * callproc.c (init_callproc): Ripped out all the bogus path setup. + + * Makefile.in.in: Updated all calls of "temacs -l" with absolute + file names because auf the more minimalistic load-path setup in + lread.c. Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather + than EMACSLOADPATH because EMACSLOADPATH is now more persistent than + before. + + * lread.c (init_lread): Ripped out bogus load-path setup. + +1998-03-21 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.h: Move the check for an initialize_frame_toolbars + method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting + clunked by toolbar-less builds. + +1998-03-20 SL Baur <steve@altair.xemacs.org> + + * m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript. + +1998-03-16 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (window_line_number_buf): Made it larger. + + * opaque.c (print_opaque): Ditto. + + * lstream.c (print_lstream): Avoid `%p'. + + * keymap.c (ensure_meta_prefix_char_keymapp): Use + error_with_frob(). + + * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf + dynamically. + + * event-Xt.c (describe_event_window): Allocate buf dynamically. + + * doc.c (Fsubstitute_command_keys): Warn of sprintf(). + + * device-x.c (x_init_device): Allocate path dynamically. + (x_init_device): Allocate buf1 and buf2 dynamically. + +1998-03-14 Hrvoje Niksic <hniksic@srce.hr> + + * ExternalShell.c (GetGeometry): Use a larger buffer for + sprintf(). + +1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> + + * redisplay.c (point_would_be_visible): Fix + window::line_cache_validation_override reference counter. + (start_with_line_at_pixpos): Ditto. + +1998-03-20 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> + + * insdel.c (bytecount_to_charcount): Use 'L' suffix on long + constants probably too large for an int. + +1998-03-18 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (read_atom_0): Signal Qend_of_file if readcharfun + returned -1. + (read_escape): Ditto. + (FSF_LOSSAGE): Ditto. + +1998-03-20 SL Baur <steve@altair.xemacs.org> + + * emacs.c: path-separator (and parse-colon-path) moved from Lisp + into C because we need it for early initialization. + + * Makefile.in.in (libmcheck): Add. + + * config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H. + + * hash.c (grow_hashtable): Fix tests to compare against + Qnull_pointer since this function may be called before any symbols + or the Lisp engine is initialized. + + * emacs.c (main_1): Restore usage of free-hook.c. + + * free-hook.c (check_realloc): Change aborts to printfs. + (check_free): Ditto. + +1998-03-18 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our + control variable is being modified underneath us. + - Avoid calling delete_console_internal on stream consoles. + + * console-tty.c (free_tty_console_struct): NULL out pointers after + xfree'ing. + + * console-stream.c (allocate_stream_console_struct): Fix memory + leak -- if the stream_console struct is already allocated, don't + reallocate it. + (free_stream_console_struct): Don't leave dangling freed pointer + around. + + * redisplay-output.c (redisplay_redraw_cursor): Fully bracket. + +1998-03-17 SL Baur <steve@altair.xemacs.org> + + * frame.c (delete_frame_internal): Correct check. + + * imgproc.c: Include <config.h>. + +1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c: fix for upside-down TIFFs. + +1998-03-14 Kirill M. Katsnelson <kkm@kis.ru> + + * fileio.c (Finsert_file_contents_internal): Removed all DOS_NT + specific code; rely on FILE_CODING streams instead. + (Fwrite_region_internal): Ditto. + (decide_buffer_type): Function removed. + (buf_decide_buffer_type): Function removed. + (Many places): References to DOS_NT replaced with WINDOWSNT. MSDOS- + specific code removed. + + * lread.c (Fload_internal): Removed ugly DOS style re-opening a + file in text mode. '\r' is perfectly handled in readevallop(). + + * redisplay.c (decode_mode_spec): Made %t decode to "T" unconditionally. + + * s/windowsnt.h (FILE_CODING): Define always. + +1998-03-15 Kirill M. Katsnelson <kkm@kis.ru> + + * s/windowsnt.h: Added prototypes for generally used functions + implemented in nt.c + + * fileio.c (Ffile_readable_p): Conditionalized declared never used + variables. + (Fexpand_file_name): Ditto. + (check_executable): Ditto. + + * lread.c (parse_integer): Eliminated a warning resulted from + applying unary minus to unsigned int. + +1998-03-15 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.c: (Fldap_search_internal): Print error information from + errno when connection fails + +1998-03-16 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c: New macro, to avoid exposing an lstream to Lisp error + handlers. + (reader_nextchar): Use it. + (read1): Ditto. + +1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> + + * cmds.c (Fforward_char): Dropped support for + signal-error-on-buffer-boundary. Added details to + doc string. + + (Fbackward_char): Dropped support for + signal-error-on-buffer-boundary by way of change to + Fforward_char. Added details to doc string. + + Definition of signal-error-on-buffer-boundary moved to + lisp/simple.el. + + * window.c (Fscroll_up): Dropped support for + signal-error-on-buffer-boundary. Added details to + doc string. + + (Fscroll_down): Dropped support for + signal-error-on-buffer-boundary. Added details to doc + string. + +1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay-tty.c (tty_clear_frame): Record that the + real location of teh cursor has been moved to 0,0. + Failure to do this makes the display code believe the + cursor is in a place where it is not. + +1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> + + * console.h: Added set_final_cursor_coords method to console + struct. + + * console-tty.h: Added final_cursor_x and final_cursor_y + slots to console struct. Added CONSOLE_TTY_FINAL_CURSOR + macros to access them. + + * redisplay.c (create_text_block): No longer + turn off the cursor if computing a block when + cursor_in_echo_area is 0 and the echo area is + inactive. Needed so that the cursor will not be + frozen in the minibuffer when cursor_in_echo_area + is non-zero. + + * redisplay-output.c (redisplay_move_cursor): Don't + bail if we're moving the cursor in a selected + minibuffer window. Needed so that simple cursor + optimization can be done in the minibuffer even when + cursor_in_echo_area is non-zero. + + (redraw_cursor_in_window): Set final cursor coordinates + as a special case for cursor_in_echo_area != 0, since + the buffer switching between minibuffer and echo area + buffer seems to confuse the normal cursor positiong + code otherwise. Set final cursor coordinates in the + general case before calling output_display_line. + + * redisplay-tty.c: New function tty_set_final_cursor_coords. + + (tty_output_end): Set logical cursor position to the final + cursor position as specified in CONSOLE_TTY_CURSOR_{X,Y}, + and then go to it. + + (tty_redisplay_shutdown): Changed code to use + tty_set_final_cursor_coords() to go to the bottom + left of the screen instead of using cmgoto() + + (console_type_create_redisplay_tty): Declare that tty + consoles have the set_final_cursor_coords method. + +1998-03-13 Hrvoje Niksic <hniksic@srce.hr> + + * emacs.c (main_1): Avoid snprintf(); allocate the buffer + dynamically. + +1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (png_instantiate): Added in override support + for png backgrounds. + +1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (png_instantiate): Fixed a bug that was causing + overruns when attempting to display transparent pngs + +1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (png_instantiate): Fix brainfart in error handling code. + +1998-03-13 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main_1): Guard call to snprintf. + + * config.h.in: Add HAVE_SNPRINTF. + +1998-03-13 Kirill M. Katsnelson <kkm@kis.ru> + + * event-stream.c (init_event_stream): Initialize mswindows event + loop in stream mode if no other window systems available. Thanks + to Darryl Okahata. + +1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> + + * alloc.c (garbage_collect_1): Removed #ifndef WINDOWSNT around + mark_profiling_info(). + +1998-03-11 SL Baur <steve@altair.xemacs.org> + + * console-tty.c (Fset_console_tty_coding_system): Guard against + terminal-coding-system being left unitialized by a locale. + From Kazuyuki IENAGA <ienaga@jsys.co.jp> + +1998-03-11 P. E. Jareth Hein <jareth@camelot-soft.com> + + * config.h.in: Added in new feature check HAVE_VSNPRINT to check + for safe ways to deal with vsprintf and friends. + + * glyphs-x.c (gif_instantiate): Changed gif support to call external + library Giflib 3.1. Altered GIF/JPEG/PNG formats to use new EImage + format for dealing with images to better support color handling, and + facilitate the change to a device-neutral implementation. Added TIFF + support. + + * Makefile.in.in: Removed all gif related files + + * emacs.c (main_1): Removed reference to init_gif_err + * symsinit.h: ditto + + * dgif_lib.c: Removed from the source distribution + * gif_err.c: ditto + * gif_lib.h: ditto + * gifalloc.c: ditto + +Mon Mar 09 13:00:55 1998 Andy Piper <andyp@parallax.co.uk> + + * file-coding.c: warning elimination + + * ntplay.c: new file. basic implementation of sound support. + + * redisplay-msw.c (mswindows_update_dc): cachel bug is gone so we + don't need this code under cygwin. + + * sheap.c: need large heap slop for byte compiling with three + display types. + + * sound.c: eliminate warnings. enable sound under mswindows. + + * s/cygwin32.h: miscellaneous updates for sound support. + +1998-03-09 SL Baur <steve@altair.xemacs.org> + + * config.h.in: Add BITMAPDIR. + + * glyphs-x.c (locate_pixmap_file): Assume BITMAPDIR is a + colon-separated path. + + * emacs.c (main_1): Initialize dll support with the path the + binary. + (make_arg_list_1): Ditto. + + * sysdll.h: Add legalese. + * sysdll.c: Ditto. + + * sysdll.c: sysdll.h needs to be included with double quotes not + angle brackets. + Use RTLD_GLOBAL as an open flag if it exists. + +1998-03-09 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> + + * eldap.c (Fldap_search_internal): call garbage_collect_1 instead + of Fgarbage_collect. The two are identical except the latter + generates some `fresh' garbage :) + +1998-03-09 SL Baur <steve@altair.xemacs.org> + + * keymap.c: Add symbols for mouse-4 and mouse-5. + (define_key_check_and_coerce_keysym): Mouse-4, Mouse-5 keysym support. + (syms_of_keymap): Ditto. + +1998-01-26 Hrvoje Niksic <hniksic@srce.hr> + + * marker.c (print_marker): Print marker's lheader.uid. + (Fbuffer_has_markers_at): New function, synched with FSFmacs 20.2. + (Fbuffer_has_markers_at): Disabled by default. + +1998-01-25 Hrvoje Niksic <hniksic@srce.hr> + + * sound.c (Fplay_sound_file): Place the result of continuable + error back to FILE. + +1998-03-09 SL Baur <steve@altair.xemacs.org> + + * emacs.c, config.h.in: New DLL support. + * sysdll.h, sysdll.c: New files. + * dll.c: renamed from dlopen.c, use interface defined in sysdll.c. + From William Perry <wmperry@aventail.com> + + * eldap.h: Fix copyright. + * eldap.c: Ditto. + +1998-03-08 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Add dependencies for process-unix.o. + +1998-03-08 Kyle Jones <kyle_jones@wonderworks.com> + + * glyphs-x.c (write_lisp_string_to_temp_file): + Don't explicitly initialize conversion_out_dynarr, because + doing so may cause it to be put into read-only space + and modifying it later would make XEmacs crash. + +1998-03-07 Kyle Jones <kyle_jones@wonderworks.com> + + * events.h: Add do_backspace_mapping parameter to + function prototype of character_to_event. + + * events.c: Add fifth parameter to character_to_event to + control the backspace mapping. In character_to_event map most + characters that match tty-erase-char to the backspace keysym, + but only if do_backspace_mapping paramter is non-zero. + + (Fcharacter_to_event): Tell character_to_event() to DO + backspace mapping. + + * event-stream.c: + (maybe_read_quit_event): Tell character_to_event() to DO + backspace mapping. + + (maybe_kbd_translate): Tell character_to_event() to DO backspace + mapping. + + (lookup_command_event): Tell character_to_event() to DO backspace + mapping. + + * event-unixoid.c: + (read_event_from_tty_or_stream_desc): Tell character_to_event() + to DO backspace mapping. + + * keymap.c: + (get_keyelt): Tell character_to_event() to NOT DO backspace + mapping. + + (define_key_parser): Tell character_to_event() to NOT DO backspace + mapping. + + (Fsingle_key_description): Tell character_to_event() to DO + backspace mapping. + +1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> + + * alloc.c (Fpurecopy): Do not mark symbols through + Vpure_uninterned_symbol_table twice: hash (OBJ, nil) instead of + (OBJ, OBJ). + +1998-03-07 SL Baur <steve@altair.xemacs.org> + + * emacs.c (shut_down_emacs): Disable forced auto-save in a crash. + It causes more problems than it solves. + +1998-03-02 Greg Klanderman <greg@alphatech.com> + + * window.c (Fwindow_displayed_pixel_height) New function. + (Fenlarge_window_pixels): New function. + (Fshrink_window_pixels): New function. + (window_displayed_pixel_height): New, helper for + Fwindow_displayed_pixel_height. + (change_window_height): Add `inpixels' argument. + (syms_of_window): 3 new DEFSUBR's. + +Thu Mar 05 12:01:35 1998 Andy Piper <andyp@parallax.co.uk> + + * redisplay-msw.c (mswindows_output_cursor): separate getting + cachel index from retrieving cachel to work around apparent bug in + gcc. + +1998-03-06 Kyle Jones <kyle_jones@wonderworks.com> + + * events.c (character_to_event): The tty_erase_char test + doesn't do anything because it's in the wrong place. + Moved it to where it can take effect. + + * dired.c (Fdirectory_files): Initialize GCPRO'ed variable. + + * events.c (character_to_event): Never map '(control + foo) to QKbackspace. Only map ASCII 8 to QKbackspace; + don't map any other key. + +1998-03-05 Kyle Jones <kyle_jones@wonderworks.com> + + * src/redisplay-output.c (redisplay_move_cursor): Bail if + cursor_in_echo_area is non-zero and we're fiddling + with the cursor in a minibuffer window, since that is a + special case that is handled elsewhere and this function + need not handle it. Return 1 so the caller will assume we + succeeded. + +Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> + + * device.c (init_global_resources): compile in based on window + system not just x. + + * console.c (select_console_1): add mswindows console type. + +1998-03-04 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay-output.c (redisplay_redraw_cursor): Redraw + the cursor in the minibuffer window if cursor_in_echo_area + is non-zero. + +Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> + + * emacs.c (main_1): predicate display_use to mswindows only if x + is not already selected. + + * event-msw.c: comment out non-code for HAVE_TOOLBAR case. don't + compile debug_process_finalisation if x is compiled in. + + * event-stream.c (init_event_stream): don't make X and mswindows + mutually exclusive. Select msw event loop if started that way, + X/tty event loop otherwise. + + * frame.h: protect toolbar #defines from assuming ints are in + toolbar_data. This happens if you have two display types compiled + in and one supports toolbars and the other doesn't. + + * s/cygwin32.h: warning elimination. + +1998-03-03 SL Baur <steve@altair.xemacs.org> + + * editfns.c (Ftemp_directory): New function. + From Glynn Clements <glynn@sensei.co.uk> + + * editfns.c (Ftemp_directory): Use build_ext_string. + +1998-03-02 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> + + * symsinit.h: add prototype for syms_of_dlopen + +1998-03-02 Kyle Jones <kyle_jones@wonderworks.com> + + * window.c (save_window_save): save value of + default_toolbar_height slot. + + (Fset_window_configuration): restore value of + default_toolbar_height slot. + +Fri Feb 20 21:22:34 1998 Darryl Okahata <darrylo@sr.hp.com> + + * "Fast" dired-in-C enhancements for Windows 95/NT: + + * ntproc.c: + * device-msw.c: + Moved definition of `Vwin32_downcase_file_names' from ntproc.c + to device-msw.c, and renamed it to + `Vmswindows_downcase_file_names'. It doesn't really belong + here, but I didn't want to create a new file, just for this one + variable. This fixes a bug in `expand-file-name' that caused + all returned filenames to be lowercased (this was supposed to be + conditional upon Vmswindows_downcase_file_names, but wasn't, as + it was never initialized due to obsolescence of ntproc.c). This + variable is also used by the dired-in-C enhancements. + + Also moved and renamed `Vwin32_get_true_file_attributes' to + `Vmswindows_get_true_file_attributes'. This affects stat() in + nt.c, and so it really does need to be initialized. + + However, there's still one more variable in ntproc.c that still + needs to be moved/renamed, `Vwin32_pipe_read_delay', but I + didn't touch this, as this is a subprocess issue. + + * dired-msw.c: New file for dired-in-C enhancements for + Windows 96/NT. + + * emacs.c: Initialization calls for dired-msw.c. + + * nt.c (convert_time): make into public function (dired-in-C + functions use it). + +1998-02-28 Kirill M. Katsnelson <kkm@kis.ru> + + * sysdep.h: Prototypes for the above 2 functions + + * sysdep.c (get_pty_max_bytes): Moved here from process.c + (get_eof_char): Ditto + + * symsinit.h: Prototypes for initialization functions called from + emacs.c: process_type_create_mswindows, process_type_create_unix, + vars_of_process_mswindows, vars_of_process_unix. + + * procimpl.h: New file. Includes prototypes and other stuff shared + by process.c and implementation files (process-unix.c, + process-msw.c in future). + + * process.h (PROCESS_LIVE_P): Changed to test against stream + existence, to avoid dependency on fds. + + * process.c: Only process implementation independent code is now + in this file. Moved the rest into process-unix.c + (Fopen_network_stream_internal): Added 5th parameter, protocol + family. Defaults to 'tcp/ip when unspecified. + + * process-unix.c: New file, implementation of UNIX + processes. UNIX-specific code from the old process.c is here. + + * Lstream.c (Lstream_was_blocked_p): New function. Replaces + filedesc_stream_was_blocked_p. + (filedesc_was_blocked_p): Implementation of the method for + filedesc stream + (filedesc_stream_set_pty_flushing): set pty_flushing flag + (filedesc_stream_fd): New function, returns fd of the stream + + * lstream.h (lstream_implementation): was_blocked_p is a new + optional lstream method. + Added prototypes for functions in lstream.c + + * lisp.h: (USID): Typedef for Unique Stream IDentifier. Reuqired + by the new code in many places. + + * events.h (struct event_stream): Declaration of the two mandatory + event stream methods, required by process support. + + * event-unixoid.c (event_stream_unixoid_create_stream_pair): + Implementation of the method shared by TTY and X + (event_stream_unixoid_delete_stream_pair): Ditto + + * event-tty.c (emacs_tty_next_event): get_process_from_usid() + instead of get_process_from_fd() + (emacs_tty_create_stream_pair): New events tream method + (emacs_tty_delete_stream_pair): New events tream method + + * event-stream.c (event_stream_create_stream_pair): New event + stream method + (event_stream_delete_stream_pair): Ditto + + * event-msw.c (debug_process_finalization): Although if0'ed, + removed obsolete code + + * event-Xt.c (emacs_Xt_create_stream_pair): Implementation if the + new event stream method + (emacs_Xt_delete_stream_pair): Ditto + + * emacs.c (main_1): Added calls to process_type_create*() and + vars_of_process() + + * callproc.c: (many places): removed DOS support + +1998-03-02 SL Baur <steve@altair.xemacs.org> + + * process.c (Fprocess_status): Restore old behavior -- call + Fget_process on a string argument. + +Mon Mar 02 11:37:36 1998 Andy Piper <andyp@parallax.co.uk> + + * file-coding.h: + * file-coding.c: more cleanup by only including iso2022 stuff in a + mule build. (setup_eol_coding_systems) move (T) -> :T etc. + + * event-stream.c: (Fopen_dribble_file) Qescape_quoted only exists in + mule. + + * md5.c: remove warning. + + * unexcw.c: move .idata -> .rdata for cygwin b19. + + * Makefile.in.in: add msw dependencies. + + * sheap.c: up static heap parameters. + + * s/cygwin32.h: add prototypes to eliminate warnings. + +1998-03-02 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in (blddir): Import blddir. + Add blddir to dump-time load-path. + + * nas.c (play_sound_data): Add braces for clarity. + (play_sound_file): Ditto. + +1998-03-01 SL Baur <steve@altair.xemacs.org> + + * alloc.c: Boost static vector size for breathing room. Double + the size if we may be dynamically linking. + + * dlopen.c (Fdl_open): Use RTLD_GLOBAL flag on dlopen if available. + + * device-x.c (x_init_device): Hardcode `Emacs' as the filename + containing localized menubars. + + * config.h.in: Add HAVE_UNIX_PROCESSES for 20.6. + + * alloc.c (init_alloc_once_early): Document movement of mmap + enabling code to emacs.c. + + * Makefile.in.in: Update FILE_CODING dependencies. + +1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> + + * file-coding.c (setup_eol_coding_systems): Don't try + to copy the mnemonic property of the coding system + unless it is a string. + + (allocate_coding_system): Initialize coding system + struct member 'mnemonic' to Qnil. Leaving its value + set to 0 causes a crash. + +1998-03-01 SL Baur <steve@altair.xemacs.org> + + * file-coding.c (DEFINE_SUB_CODESYS): Undo previous patch. + +1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> + + * callint.c: Read coding system names for the 'z' and + 'Z' interactive specs if FILE_CODING or MULE is defined. + Previously, coding system names were read only if MULE was + defined. + + * file-coding.h: Removed charset-based category types + from enumerated coding_category_type if not building + with MULE. + + * file-coding.c (syms_of_mule_coding): Don't define + symbols for charset-based coding systems unless + building with MULE. + +1998-02-28 SL Baur <steve@altair.xemacs.org> + + * alloc.c (garbage_collect_1): Guard call to selected_frame so it + cannot be called during GC. + - Update current count of staticpro'ed objects. + +1998-02-28 Kyle Jones <kyle_jones@wonderworks.com> + + * menubar.c (Fmenu_find_real_submenu): Document the + "use struct as array" hack. Convert struct pointer to + array to avoid compiler warnings. + +1998-02-26 SL Baur <steve@altair.xemacs.org> + + * buffer.c (complex_vars_of_buffer): Fix DOC string for + buffer-file-coding-system. + +1998-02-26 Damon Lipparelli <lipp@primus.com> + + * symsinit.h: syms_of_ldap() is actually syms_of_eldap(). + + * eldap.c: removed duplicates. + +1998-02-26 SL Baur <steve@altair.xemacs.org> + + * file-coding.c (setup_eol_coding_systems): Disable SUB_CODESYS + feature -- it causes stack corruption in Mule. + +1998-02-27 Kirill M. Katsnelson <kkm@kis.ru> + + * events.c (character_to_event): The code which guesses TTY + backspace character is conditionalized on HAVE_TTY + +1998-02-26 SL Baur <steve@altair.xemacs.org> + + * console.c (complex_vars_of_console): Guard tty_erase_char with + HAVE_TTY. + * conslots.h: Ditto. + +1998-02-25 SL Baur <steve@altair.xemacs.org> + + * events.c (character_to_event): Correct operations on tty_erase_char. + From Martin Buchholz <martin@xemacs.org> + + * file-coding.c (setup_eol_coding_systems): Unix/Binary sub + coding-system display should default to the empty string. + - Use '(t)' for Mac/Text mode. + +Tue Feb 17 12:50:37 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: make sure clean removes msw executables. This + prevents the build stalling after puresize has been adjusted. Add + file-coding.o to list of objects. + + * buffer.c: + * buffer.h: + * bufslots.h: + * callproc.c: + * console-tty.c: + * emacs.c: + * event-Xt.c: + * event-stream.c: + * glyphs-x.c: + * lread.c: + * md5.c: + * mule-canna.c: + * mule-ccl.c: + * process.c: + * redisplay-x.c: + * redisplay.c: remove #ifdef MULE's from stuff that relates to + file-coding. include file-coding.h rather than mule-coding.h + where applicable. + + * mule-coding.c: #if 0 out functionality until file-coding is + split up. + + * file-coding.h: + * file-coding.c: new files. copies of mule-coding.h and + mule-coding.c. The mule case is unchanged. The non-mule case + removes coding relating to other charsets - iso2022, big5, sjis, + ccl. (setup_eol_coding_systems) add the eol type to the subsidiary + coding system mnemonics so that it shows on the modeline, + currently (B) for unix style (T) for mac and dos styles. + + * fileio.c: remove #ifdef MULE's from stuff that relates to + file-coding. include file-coding.h rather than mule-coding.h where + applicable. FSFMACS_SPEEDY_INSERT is gone since file coding is + always on. + + * sheap.c: (more_static_core) remove spurious \n's from error + message. + +1998-02-25 Kyle Jones <kyle_jones@wonderworks.com> + + * lisp-disunion.h: Added XUINT macro. + + * lisp-union.h: Added XUINT macro. + + * data.c (Flsh): Used XUINT instead of XINT to + extract the value of the first argument to avoid sign + extension of the result. + +1998-02-25 SL Baur <steve@altair.xemacs.org> + + * s/decosf4-0.h: Add -D_BSD. + From Tore Olsen <toreo@tihlde.hist.no> + +1998-02-21 Greg Klanderman <greg@alphatech.com> + + * device-x.c (x_init_device): allow `x-emacs-application-class' to + be nil prior to connecting to the X server. When this is the + case, the application class is chosen based on whether the user + has any resources with application class `XEmacs' set in the + resource database. + (vars_of_device_x): make x-emacs-application-class nil by default + and document new behavior in its doc string. + +1998-02-23 Aki Vehtari <Aki.Vehtari@hut.fi> + + * menubar.c: Doc fix: suffix can be form. + + * gui.c (gui_parse_item_keywords): Allow button descriptors + at least 2 long. + (gui_item_display_flush_left): Suffix can be form. + + * gui-x.c (button_item_to_widget_value): Allow button descriptors + at least 2 long. + (button_item_to_widget_value): Suffix can be form. + +1998-02-24 SL Baur <steve@altair.xemacs.org> + + * s/sol2.h: define HAVE_GETLOADAVG for late edition Solaris + From Georg Nikodym <georgn@Canada.Sun.COM> + +1998-02-24 Didier Verna <verna@inf.enst.fr> + + * redisplay.c (generate_fstring_runes): fixed the modeline + scrolling lossage (the % constructs appearing in the + modeline). Now that we can have negative positions and boundaries, + max_pos == -1 can't mean 'no limit' anymore. Me, stupido! + (add_string_to_fstring_db_runes): Ditto. + (add_glyph_to_fstring_db_runes): Ditto. + +1998-02-19 Jim Radford <radford@robby.caltech.edu> + + * sysdep.c: Don't clobber SIGIO event flags we don't care about. + * device.h: removed old_sigio_flag, sigio_enabled from device + Secretly (on Solaris) F_SETOWN calls I_SETSIG. We unknowingly + clobbered the changes so restoring the owner would cause + F_SETOWN's I_SETSIG to fail therby causing an annoying syslog + message. Changed FASYNC version to match (untested). + +1998-02-22 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main): Enable mmap for glibc-2.1 and Linux libc5. + Enable mmap only for non-Mule for glibc-2.0. + +1998-02-21 SL Baur <steve@altair.xemacs.org> + + * config.h.in: Define _NO_MALLOC_WARNING_ if using dlmalloc from + Linux libc5. + +1998-02-19 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * emacs.c: declare hooks only if !DOUG_LEA_MALLOC since the + declaration conflicts with glibc's own. + +1998-02-19 SL Baur <steve@altair.xemacs.org> + + * config.h.in: Remove HAVE_TERM, add USE_MINIMAL_TAGBITS and + USE_INDEXED_LRECORD_IMPLEMENTATION. + + * process.c (Fopen_network_stream_internal): Remove TERM support. + + * sysproc.h: Remove TERM support. + +1998-02-20 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * input-method-xfs.c: add setlocale(LC_CTYPE, "") right after + setlocale(LC_NUMERIC, "C"). Because, without this, the LC_CTYPE + got a side effect of LC_NUMERIC then set to "C". + +1998-02-19 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main): Enable mmap'ing with XEmacs/Mule. + + * redisplay.c (add_string_to_fstring_db_runes): Fix infloop + problem with long modelines and glyphs. + + * unexelf.c: The proper way to check for GNU libc is with __GLIBC__. + Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> + +1998-02-18 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Remove all references to prefix-args. + +1998-02-18 Kirill M. Katsnelson <kkm@kis.ru> + + * sysdep.c (mswindows_set_errno): New function + (mswindows_set_last_errno): Ditto + These convert Win32 error code to ANSI C errno. + + * sysdep.h: Prototypes for the above 2 functions. + + * menubar-msw.c (vars_of_menubar_mswindows): Fprovide + ('mswindows-menubar) removed. See the entry of 1998-01-03 + + * process.c: FSFmacs proc_buffered_char static array + #if0'ed in 2 places. It is never used. + +1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> + + * window.c (save_window_save): Save window-cached + speciifer values. + (saved_window_equal): Added comparisons of window-cached + specifier values. + (Fset-window-configuration): Restore window-cached + specifier values. + +1998-02-18 Didier Verna <verna@inf.enst.fr> + + * modeline.el (mouse-drag-modeline): added the horizontal + scrolling functionality for the modeline. This could still be + improved, for instance when the mouse goes out of the modeline. + +1998-02-18 Didier Verna <verna@inf.enst.fr> + + * redisplay.c: + (generate_formatted_string_db): new flag to distinguish a modeline + string from a title or icon one, plus use a negative first pos to + indicate the modeline hscroll ammount. + (add_string_to_fstring_db_runes): completely rewrote this function + to handle the case of scrolled modelines. + (add_glyph_to_fstring_db_runes): handle the case of scrolled + modelines. + + * window.c: + (Fmodeline_hscroll): new function to return the modeline current + horizontal scroll ammount. + (Fset_modeline_hscroll): new function to scroll the modeline + horizontaly. + Plus some updates related to this new functionality (windows + configuration, notably). + + * window.h (struct window): added the new field modeline_hscroll. + +1998-02-18 SL Baur <steve@altair.xemacs.org> + + * m/alpha.h: + * unexelf.c: Synched with Emacs 20.2. + From Aki Vehtari <Aki.Vehtari@hut.fi> + + * emacs.c (main): Don't call __sbrk(). + * gmalloc.c (__sbrk): Ditto. + Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> + +1998-02-17 SL Baur <steve@altair.xemacs.org> + + * console-tty.c (Fset_console_tty_coding_system): New function. + From Kazuyuki IENAGA <ienaga@jsys.co.jp> + +1998-02-15 SL Baur <steve@altair.xemacs.org> + + * ralloc.c (init_ralloc): DOUG_LEA_MALLOC support. + (r_alloc_reinit): Ditto. + [All non-HAVE_MMAP code]: Synched with Emacs 20.2. + + * emacs.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. + (main): Ditto. + Add LINUX_SBRK_BUG workaround, what is it? + (Fdump_emacs): DOUG_LEA_MALLOC support from Emacs 20.2. + + * alloc.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. + (init_alloc_once_early): Ditto. + + * config.h.in: Add DOUG_LEA_MALLOC symbol. + + * unexfreebsd.c (run_time_remap): Change printf format string to + match parameters given. + +1998-02-14 SL Baur <steve@altair.xemacs.org> + + * s/sco5.h: Define LIB_GCC as -lgcc for gcc 2.8 and egcs. + Suggested by Robert Lipe <robertl@dgii.com> + +1998-02-14 Martin Buchholz <martin@xemacs.org> + + * event-Xt.c (x_reset_key_mapping): + * device-x.c: + (x-keysym-on-keyboard-p): + (x-keysym-on-keyboard-sans-modifiers-p): + Use x-keysym-on-keyboard-sans-modifiers-p instead of + x-keysym-on-keyboard-p to detect backspace. + Use symbols instead of strings (now deprecated) with x-keysym-*-p. + Clean up symbols used with dead keys, checking Linux and solaris + keysyms. + Simplify x-win-*.el using above methods. + Change documentation for x-keysym-*-p functions. + +1998-02-13 SL Baur <steve@altair.xemacs.org> + + * unexelfsgi.c: Various changes. + From Olivier Galibert <galibert@pobox.com> + + * s/freebsd.h: Avoid redefining BSD. + From Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * extents.c (extent_fragment_update): Break up a line to avoid a + Digital UNIX 3.2g C compiler bug. + From Tonny Madsen <tma@nettest.dk> + + * process.c (create_process): Restore save_environ hackery. + +1998-02-10 SL Baur <steve@altair.xemacs.org> + + * emacsfns.h: Remove mocklisp declarations. + + * redisplay-msw.c (mswindows_update_dc): Enable evil kludge for + cygwin. + From Andy Piper <andyp@parallax.co.uk> + +1998-02-09 SL Baur <steve@altair.xemacs.org> + + * menubar-msw.c (vars_of_menubar_mswindows): Fix patch failure. + Suggested by: kny@tekla.fi + + * data.c (Fold_eq): PC-ize. + + * chartab.c: PC-ize. + + * window.c (toplevel): PC-ize. + (syms_of_window): Ditto. + + * search.c (Freplace_match): PC-ize. + + * lread.c: PC-ize. + + * buffer.c (Fbuffer_enable_undo): PC-ize. + (Fbuffer_disable_undo): ditto. + + * eval.c (return_from_signal): PC-ize. + + * casetab.c: PC-ize. + + * callproc.c (Fcall_process_internal): PC-ize. + +1998-02-02 Kirill M. Katsnelson <kkm@kis.ru> + + * gui.h (struct gui_item): Menu item, submenu or GUI button + properties are abstracted into this new structure. + Added prototypes for the following functions + + * gui.c (gui_item_init): New function + (gui_item_add_keyval_pair): Ditto + (gui_parse_item_keywords): Ditto + (gui_item_active_p): Ditto + (gui_item_included_p): Ditto + (gui_item_display_flush_left): Ditto + (gui_item_display_flush_right): Ditto. The above listen new + functions manipulate on properties common to menu items and GUI + buttons. + + * menubar.c (current_frame_menubar): Moved from menubar-msw.c + (menu_parse_submenu_keywords): New function + (Fmenu_find_real_submenu): Ditto, lisp accessible. The last two + functions operate on menu properties stored in struct gui_item, + but are specific to menus only. + + * menubar.h: Prototypes for the above functions. + + * menubar-msw.c: Modified to utilize struct gui_item instead of + plists, to reduce garbage. Suggested by Ben Wing. + Unreachable menus are fixed. + +1998-01-03 Kirill M. Katsnelson <kkm@kis.ru> + + * menubar-msw.c (allocate_menu_item_id): Added third parameter to + hash, suffix. Menus tend to put non-localizable items into suffix + with empty name. + (update_frame_menubar_maybe): top_level_menu is now set here. + (mswindows_popup_menu): Ditto. It was incorrect to set it from + populate. + (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed: + (featurep (and 'mswindows 'menubars)) tests the same. + (mswindows_update_frame_menubars): update_..._maybe () now called + only if frame->menubar_changed is set. Is it right to patch + menubar.c instead? + +1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * objects-msw.c: + Updated color database to X11R6. Also added support for + "#RRRGGGBBB" and "#RRRRGGGGBBBB" in addition to "#RRGGBB". + +1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * console.h: + * console-stream.c: + * redisplay.c: + * redisplay-msw.c: + * redisplay-tty.c: + * redisplay-x.c: + Added the frame as a parameter to the text_width device + method. + + * redisplay-msw.c: + Support for proportional fonts. + +1998-02-07 Hrvoje Niksic <hniksic@srce.hr> + + * window.c (map_windows): Don't return the value of map_windows_1. + (map_windows): If F is NULL, map through all the windows. + (mark_windows_in_use): Use map_windows(); made it static. + (mark_windows_in_use_closure): New function. + +1998-02-01 Hrvoje Niksic <hniksic@srce.hr> + + * alloc.c (Fpurecopy): Check for non-`nil'-ness instead of + checking for Vobarray. + + * dlopen.c (Fdl_open): Indirect FUNCTION explicitly, for clarity. + + * elhash.c: Removed broken hashtable_hash(). + +1998-01-28 Hrvoje Niksic <hniksic@srce.hr> + + * symbols.c (Fintern): Use Qt instead of the actual obarray. + (init_symbols_once_early): Ditto. + +1998-01-27 Hrvoje Niksic <hniksic@srce.hr> + + * lisp.h (DO_REALLOC): Name the variable `do_realloc_newsize' + instead of `newsize', to avoid name collisions. + +1998-01-26 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_symbol): Be more wary about the contents of + Vprint_gensym_alist. + +1998-02-06 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Frun_emacs_from_temacs): Disable largely meaning-free + purity/impurity summary. Compile with -DREPORT_PURE_USAGE to get + it back. + + * process.c (create_process): Unused variable elimination. + + * lread.c (Fload_internal): Compiler warning suppression. + + * alloc.c (report_pure_usage): Remove unused variable. + +Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: add support for sheap-adjust.h generation for + static heap. + +Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: add sheap-adjust.h support, basically copied + from puresize-adjust.h. predicate sheap.o on HEAP_IN_DATA. fix + xemacs target slightly to not be a single shell command, this + fixes an obscure bug in cygwin gmake. + + * alloc.c (report_pure_usage): call sheap_adjust_h if HEAP_IN_DATA + is defined. + + * sysfile.h: add abstracted OPEN_BINARY, OPEN_TEXT etc defines. On + Unix these are all 0 and have no effect. On systems defining + O_BINARY these use it. WINDOWSNT is currently unaffected because + there are individual #ifdefs in each source file, but with this + change they could be removed. + + * emacs.c: + * doc.c: + * lread.c: + * process.c: generalize open() calls with OPEN_BINARY. Does + nothing under Unix. + + * emacs.c: predicate inclusion of windows.h on WINDOWSNT not + _WIN32. + + * process.c: + * sysdep.c: + * signal.c: predicate SIGIO stuff also on !BROKEN_SIGIO, this is + required for building on cygwin32 b19 which has SIGIO that only + works on sockets. + + * fileio.c: + * event-stream.c: generalize open() calls with OPEN_BINARY. Does + nothing under Unix. Use open() instead of creat() to make this + possible. use CREAT_MODE from sysfile.h + + * config.h.in: add MULE_CODING, currently not used. add support + for HAVE_A_OUT_H. + + * elhash.c: + * menubar-msw.c: + * mule-ccl.c: + * device-msw.c: warning elimination. + + * event-msw.c: add undeclared Dde calls for cygwin. + + * redisplay-msw.c: warning elimination under mule. + + * gmalloc.c: make initalize() really do that. If HEAP_IN_DATA is + defined catch free() & realloc() calls with addresses in the data + space. __morecore calls more_static_core for temacs, when dumped + switches to sbrk(). + + * console-msw.h: undef CONST after windows.h inclusion since this + defines CONST. #ifdef out shellapi under cygwin. + + * device-msw.c: include sysdep.h + + * objects-msw.c: add dummy mswindows_font_spec_matches_charset and + mswindows_find_charset_font so that we can build with mule. + + * mem-limits: return -1 for get_lim_data() when HEAP_IN_DATA is + defined. + + * sheap.c: new file. defines sheap_adjust_h and more_static_core + so that data space can be used by gmalloc before dumping when + HEAP_IN_DATA is defined. beef up error message about what to do if + sheap space runs out. + + * sysdep.c: make start_of_data reurn something sensible for + HEAP_IN_DATA. + + * systime.h: don't use itimer stuff on cygwin b19. + + * unexcw.c: new file. Full unexec() support for cygwin using the + HEAP_IN_DATA setup provided by sheap.c and friends. No run-time + remapping is performed. This could be generalized to support many + platforms that use COFF. you need a.out.h from my website to build + this. cygwin b19 will have this. + + * s/cygwin32.h: fixed commentary. compile in unexcw.o for dumping + support. removed irrelevent things. define BROKEN_SIGIO. remove + include of windows.h. add correct process support defines, process + support might work when non-blocking io is implemented in cygwin. + +1998-02-02 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs.c: Removed ImageMagick support, re-instituted the previous + support for JPEG, GIF and PNG with the new color system. + +1998-02-05 Olivier Galibert <galibert@pobox.com> + + * unexelf.c: Fix alignment problems on Linux. + +1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay.c (redisplay_window): After outputting + the window, invalidate its the line start cache if the + we're displaying the minibuffer window and the echo + area is active. The cache is only valid for the echo + area buffer, and that buffer isn't associated with the + minibuffer window anymore. + +1998-01-31 SL Baur <steve@altair.xemacs.org> + + * alloc.c (disksave_object_finalization): Additional checking for + sanity when zeroing out unused portions of string_chars_block's. + (Fpurecopy): Spelling fixes in comment. + (PURESIZE_SLOP): Set default slop to 0. + +1998-01-31 Kyle Jones <kyle_jones@wonderworks.com> + + * chartab.c (make_char_table): Initialize mirror + tables with Spunct in all the slots. Syntax table + initialization doesn't touch slots for nonexistent + characters sets. If character sets corresponding to + those slots are created later Qnil values in the slots + will cause crashes. + (copy_char_table_entry): Return copy not original. + +1998-01-28 Jonathon Harris <jhar@tardis.ed.ac.uk> + + * msw-proc.c: + * event-msw.h: + * event-msw.c: + * console-msw.h: + Deleted the first two and merged them into the last two files. + + * device-msw.c: + * event-msw.c: + * frame-msw.c: + Added file-based drag and drop support. The "System/Open" DDE command + is also implemented as if it were a drag and drop operation. + + * emacsfns.h: + * event-stream.c: + * events.c: + * events.h: + * frame.c: + * keymap.c: + Replaced all "#ifdef HAVE_OFFIX_DND" with + "#if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS)" + + * device.h: Added DEVICE_MSWINDOWS_P and related macros. + + * objects-msw.c: + * select-msw.c: + Eliminated warnings. + + * redisplay-msw.c: Changed color of "dead" box between scrollbars + to windows' "button" color for compatibility with other windows apps. + +1998-01-20 Stephen Turnbull <turnbull@sk.tsukuba.ac.jp> + + * Makefile.in.in: move `rm puresize-adjust.h' from distclean + to mostlyclean + +1998-01-29 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in (dlopen.o): Add dependencies. + + * s/sunos4-0.h: Conditionalize use of broken-sun.h for old Gccs. + Suggested by Amir J Katz <amir@ndsoft.com> + +1998-01-28 SL Baur <steve@altair.xemacs.org> + + * faces.c (init_device_faces): This function can call lisp. + +1998-01-28 P. E. Jareth Hein <jareth@camelot-soft.com> + + * mule-coding.h: + * mule-coding.c: (determine_real_coding_system): removed the + static declaration to allow reuse. + + * md5.c (Fmd5): Rewrote to fully support MULE, as well as streamline + the code. + + * mule-ccl.c (ccl_driver): Set initial values of variables to shut up + the compiler and to give better error message if a quit happens before + any ccl_code is generated. + +1998-01-28 SL Baur <steve@altair.xemacs.org> + + * glyphs.c (allocate_glyph): This function can GC. + Wrap GCPRO around unprotected function calls. + (specifier_vars_of_glyphs): Comment change -- Can we GC here? + +1998-01-27 SL Baur <steve@altair.xemacs.org> + + * lread.c (Fload_internal): Add extra GCPRO around call to + Fassoc. + Enable purespace usage counts always. + + * m/powerpc.h: Isolate changes for mklinux from AIX. + +1998-01-27 Hrvoje Niksic <hniksic@srce.hr> + + * symbols.c (init_symbols_once_early): Decreased default size of + Vpure_uninterned_symbol_table to 50. + +1998-01-27 SL Baur <steve@altair.xemacs.org> + + * redisplay-x.c (x_output_string): Correction for handling underlined + fonts when XGetFontProperty fails. + From Chris Felaco <felaco@iatcmail.ed.ray.com> + +1998-01-27 Kyle Jones <kyle_jones@wonderworks.com> + + * alloc.c (Fpurecopy): Store symbols that aren't + interned in Vobarray into Vpure_uninterned_symbol_table. + + * symbols.c (init_symbols_once_early): Initialize + Vpure_uninterned_symbol_table. + + * emacsfns.h: Declare Vpure_uninterned_symbol_table. + +1998-01-26 SL Baur <steve@altair.xemacs.org> + + * alloc.c (report_pure_usage): New macro PURESIZE_SLOP to allow + for extra pure space. + +1998-01-23 SL Baur <steve@altair.xemacs.org> + + * sound.c (Fplay_sound_file): Use NILP for comparison of + Lisp_Object. + +Wed Jan 21 10:49:47 1998 Andy Piper <andyp@parallax.co.uk> + + * unexcw.cc: new file for cygwin32 unexec() requires cygwin32 + b19. Predicated on HAVE_COFF_H. + + * console.c: + * device-msw.c: + * event-msw.c: + * frame-msw.c: + * msw-proc.c: + * objects-msw.c: + Eliminate warnings. + + * redisplay-msw.c (mswindows_update_gc): eliminate warnings and + extend hack for bogus bg values. + + * symsinit.h: add msw headers to eliminate warnings. + + * s/cygwin32.h: various updates for unexec() support. + + * lastfile.c: add my_ebss for cygwin32 unexec() support. + + * gmalloc.c: made __malloc_initialized non-static so that + it goes into the bss where we expect it. + + * emacs.c: put run_time_remap() in a place where initialized is + not always true. + + * Makefile.in.in: add support for compiling .cc files. + + * config.h.in: added HAVE_COFF_H support. + +1998-01-23 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_cons): Use XCAR/XCDR. + (print_string): Fix up so it Vprint_string_length works under Mule + correctly. + + * eval.c (Feval): Increase profile call count. + + * keymap.c: Fixed typo. + +1998-01-22 Hrvoje Niksic <hniksic@srce.hr> + + * symbols.c (Funintern): Reset symbol's obarray property. + +1998-01-22 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> + + * alloc.c (size_vector): Declare *p as CONST to eliminate warning. + +1998-01-22 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (print_symbol): Recognize Vprint_gensym being a cons; + use Vprint_gensym_alist. + + * symbols.c (init_symbols_once_early): Ditto. + + * alloc.c (Fmake_symbol): Reset it. + + * symbols.c (Fintern): Set it. + + * lisp.h (struct Lisp_Symbol): New element `obarray'. + + * print.c (print_prepare): Reset Vprint_gensym_alist. + (print_finish): Ditto. + + * lread.c: Recognize #n= and #n#. + (readevalloop): Reset read_objects to nil. + (Fread): Ditto. + +1998-01-23 SL Baur <steve@altair.xemacs.org> + + * toolbar.c (update_toolbar_button): Eliminate redundant NILP + checks. + From Martin Buchholz <martin@xemacs.org> + +1998-01-21 Hrvoje Niksic <hniksic@srce.hr> + + * dlopen.c: New file. + +1998-01-19 Steven L Baur <steve@altair.xemacs.org> + + * eval.c (prog1): Don't GCPRO unitialized variable. + (prog2): Ditto. + From Martin Buchholz <martin@xemacs.org> + +1998-01-19 Hrvoje Niksic <hniksic@srce.hr> + + * sound.c (Fplay_sound_file): Use + signal_simple_continuable_error() instead of error(). + +1998-01-18 Hrvoje Niksic <hniksic@srce.hr> + + * README: Updated. + +1998-01-18 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c (imagick_instantiate): Dynamically allocate pixar + with alloca. + From Damon Lipparelli <lipp@primus.com> + +1998-01-14 Martin Buchholz <martin@xemacs.org> + + * eval.c (For, Fand, Fif, Fcond, Fprogn, Fprog1, Fprog2): + Modernize and streamline. + Replace Fcdr with XCDR, Fcar with XCAR for efficiency. + Remove REGISTER declarations. + +1998-01-13 Martin Buchholz <martin@xemacs.org> + + * emacsfns.h: + * alloc.c: + Add proper prototypes for print_cons, print_vector, print_string. + + * dired.c (directory-files): + * elhash.c (elisp_maphash): + * elhash.h (elisp_maphash): + * lrecord.h: + * mule-ccl.c (setup_ccl_program): + * mule-coding.c (coding_system_charset): + * offix-cursors.h (cursor_bits): + Warning elimination. + + * redisplay.c (add_blank_rune): + * redisplay.c (add_glyph_rune): + * redisplay.c (add_emchar_rune): + Warning elimination. Avoid useless computation in non-mule case. + + * config.h.in: + Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3. + * src/alloc.c: + * src/events.c: + Rearrange order of declarations and definitions to avoid forward + * src/mem-limits.h: Add motivating comment for future cleanup. + + * s/linux.h: Cleanup. Remove old cruft. + + * config.h.in: + Always define _GNU_SOURCE when using GNU libc. + Support --without-FOO as a synonym for --with-FOO=no. + Always use $srcdir to locate config.guess. + Make it clear that CONFIGURATION is optional. + De-emphasize CONFIGURATION parameter. Random cleanup. + More compatible with standard GNU install instructions. + --with-menubars=athena3d ==> --with-menubars=lucid. + +1998-01-14 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fexpand_file_name): Synched with FSF. + +1998-01-13 Hrvoje Niksic <hniksic@srce.hr> + + * objects-msw.c (mswindows_color_instance_rgb_components): + Multiply components by 257 instead of shifting by 8. + +1998-01-15 Hrvoje Niksic <hniksic@srce.hr> + + * elhash.c (Fhashtable_type): New function. + (Fhashtable_test_function): Ditto. + +1998-01-12 SL Baur <steve@altair.xemacs.org> + + * profile.c (Fclear_profiling_info): Fix typing error. + + * elhash.c (elisp_map_remhash): Fix typing error. + (elisp_maphash): Ditto. + +1998-01-12 Hrvoje Niksic <hniksic@srce.hr> + + * mule-ccl.c (Fccl_execute_on_string): Use Dynar_free to free a + Dynarr. + +1998-01-13 Hrvoje Niksic <hniksic@srce.hr> + + * profile.c (vars_of_profile): New variable + `call-count-profile-table'. + (Fclear_profiling_info): Clear call-count-profile-table. + + * eval.c (funcall_recording_as): Use it. + + * profile.c (profile_increase_call_count): New function. + + * lstream.c (stdio_flusher): Comment addition. + + * objects-msw.c (mswindows_string_to_color): Support #RRRGGGBBB, + as well as #RRGGBB. + (mswindows_X_color_map): Reformatted. + +1998-01-12 Hrvoje Niksic <hniksic@srce.hr> + + * line-number.c (invalidate_line_number_cache): Comment fixup. + + * symbols.c (Fapropos_internal): Docstring fix. + + * fns.c (Fstring_equal): Docstring fix. + +1998-01-12 Hrvoje Niksic <hniksic@srce.hr> + + * profile.c (get_profiling_info_maphash): Return int. + (mark_profiling_info_maphash): Ditto. + + * elhash.c (Finternal_hash_value): New debugging function, + undefined by default. + +1998-01-11 Hrvoje Niksic <hniksic@srce.hr> + + * mule-coding.c (add_coding_system_to_list_mapper): Ditto. + + * mule-charset.c (add_charset_to_list_mapper): Return int. + + * faces.c (add_face_to_list_mapper): Return int. + (mark_face_as_clean_mapper): Ditto. + (update_face_inheritance_mapper): Ditto. + + * keymap.c (keymap_submaps_mapper_0): Return int. + (keymap_submaps_mapper): Ditto. + (copy_keymap_inverse_mapper): Ditto. + (copy_keymap_mapper): Ditto. + (map_keymap_unsorted_mapper): Ditto. + (map_keymap_sorted_mapper): Ditto. + + * elhash.c (hashtable): Added a hash method. + (hashtable_hash): New function. + +1998-01-09 Hrvoje Niksic <hniksic@srce.hr> + + * elhash.c (lisp_maphash_function): Return 0. + (hashtable_equal_mapper): Bail out when an element is not `equal'. + + * hash.c (maphash): Bail out if map function returns non-zero. + +1998-01-11 SL Baur <steve@altair.xemacs.org> + + * eval.c (Fbacktrace): Treat first parameter to byte-code + specially. + +Sat Jan 10 11:36:11 1998 Andy Piper <andyp@parallax.co.uk> + + * config.h.in: undef HAVE_SYS_UN_H so that it gets defined by + configure for gnuserv with UNIX_DOMAIN_SOCKETS. + +1998-01-09 SL Baur <steve@altair.xemacs.org> + + * buffer.c (reset_buffer_local_variables): Synch case-table + resetting stuffs from Emacs 20.2. + Suggested by Aki Vehtari <Aki.Vehtari@hut.fi> + + * src/symbols.c (Fsetq_default): Fix docstring. + From Didier Verna <verna@inf.enst.fr> + +1998-01-07 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-proc.c (mswindows_wnd_proc): Calls to redisplay() from out + of WM_SIZE handler limited to the case of dragging frame borders. + + * redisplay-msw.c (mswindows_bevel_modeline): Added support for + negative modeline height. + (mswindows_output_cursor): Added bar cursor drawing + (mswindows_flash): Flash frame by inverting client area. + +1998-01-08 Andy Piper <andyp@parallax.co.uk> + + * lread.c: guess load path if its not set just like the dumped + version does. + + * doc.c: guess doc path if its not set just like the dumped + version does + +Thu Jan 08 09:42:36 1998 Andy Piper <andyp@parallax.co.uk> + + * emacs.c: don't load loadup.el when CANNOT_DUMP is set, this + is almost never right on XEmacs. + + * s/cygwin32.h: add comments about how to buid. Move some + variables into configure so that we don't have to set them. + + * config.h.in: define HAVE_WINDOW_SYSTEM if HAVE_MS_WINDOWS is + set. + +1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> + + * lread.c (Fload_internal): On Win32, this reopened the file + without first closing the handle. This caused running out of + handles. + + * nt.c (sys_open): This one made big mess when opening a handle + next after MAXDESC-1. Fixed. + +1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> + + * objects-msw.c (mswindows_string_to_color): Patched not to modify + const char* parameter. + (hexval): Modified to accept uppercase hex digits. + + * ntproc.c (sys_spawnve): char* arguments made CONST, to comply + with standard header declaration. + + * sysdep.c: Fixed ugly prototypes copied from system headers. Who + says the solution is as ugly, is right. + Added a couple of #include directives to avoid undefined functions. + (struct save_signal): Added parameter to function pointer + prototype when compiled under ANSI C. + (save_signal_handlers): Ditto + + * s/windowsnt.h: Added prototypes for functions defined via + sys_<name> which are not found or differ on Win32: pipe, sleep, + spawnve, wait, kill + Macros created from former nt.c functions: random srandom setpgrp + Defined HAVE_STRCASECMP, and strcasecmp defined to _stricmp which + is provided by the compiler. + Removed hack which prevented winsock.h from including. + + * nt.c (random): Removed and made a macro in s/windowsnt.h + (srandom): Ditto + (setpgrp): Ditto + (unrequest_sigio): #if0'ed. It is unreferenced; in XEmacs, calls + to it seem to be controlled by HAVE_SIGIO. + (request_sigio): Ditto + + * nt.h: Removed FD_* macros. Rely on definitions in winsock.h. + Changed EMACSDEBUG references to DEBUG_XEMACS + + * event-msw.c (mswindows_cancel_dispatch_event): Returns Qnil when + event not found in the queue. Used to return undefined value. + +1998-01-07 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main_1): Add `-no-autoloads' to suppress loading + autoloads at startup. + + * Makefile.in.in (xemacs): Fix call to list load-path shadows. + +1998-01-02 Charles G. Waldman <cgw@pgt.com> + + * frame.h: fix erroneous FRAME_RIGHT_BORDER_START macro. + Corrects display glitch when toolbar is on the right. + +1998-01-02 Kirill M. Katsnelson <kkm@kis.ru> + + * emacs.c (make_arg_list_1): On Win32 platforms, GetModuleFileName + is consulted instead of argv[0] to get full path to the xemacs + executable. + +1998-01-01 SL Baur <steve@altair.xemacs.org> + + * m/sparc.h: Cleans up some warnings about unused variables in + getloadavg.c under Sparc/Linux. + From Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> + + * fileio.c (vars_of_fileio): Enable directory-sep-char always for + compatibility. + + * emacs.c (main_1): Inhibit reloading dumped lisp when using + `-batch' or `-vanilla'. + +1997-12-31 SL Baur <steve@altair.xemacs.org> + + * emacs.c: New variables `inhibit-update-dumped-lisp' and + `inhibit-update-autoloads'. + (vars_of_emacs): Initialize them. + +1997-12-29 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-proc.c (mswindows_enqueue_magic_event): Made extern. User by + menubar-msw.c + + * event-msw.h: Prototype for mswindows_enqueue_magic_event + + * event-msw.c (mswindows_wm_timer_callback): Fixed counter of + outstanding timer events (decremented only when KillTimer + succeeds) + (emacs_mswindows_remove_timeout): Ditto + + * console-msw.h: Added frame structure field for menu checksum + + * menubar-msw.c: Miscellaneous patches and bug fixes. + +1997-12-30 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main): Clarify calls to main_1. + + * data.c (Fcompiled_function_annotation): Hide DEFUN from + make-docfile. + + * emacs.c (main_1): The invocation name requires recomputing when + running after dumping. + +1997-12-29 SL Baur <steve@altair.xemacs.org> + + * free-hook.c (check_free): Added explicit braces to avoid + dangling else clause. + * sound.c (Fplay_sound_file): Ditto. + * process.c (set_process_filter): Ditto. + * linuxplay.c (linux_play_data_or_file): Ditto. + * regex.c (regex_compile): Ditto. + +1997-12-28 SL Baur <steve@altair.xemacs.org> + + * emacs.c (main_1): Fix logic to run in place when XEmacs is a + login shell. + (main_1): New parameter restart. + (main): Use it. + + * bytecode.h: Disable COMPILED_FUNCTION_ANNOTATION_HACK. + + * print.c (debug_short_backtrace): Guard call to + Fcompiled_function_annotation. + + * alloc.c (disksave_object_finalization): Don't zero out + load-history if history of pure symbols is desired. + + * lread.c (build_load_history): If LOADHIST_DUMPED is defined, add + pure symbols to load-history. + + * emacsfns.h: New symbols added -- LOADHIST_DUMPED, define to get + a history of dumped lisp. LOADHIST_BUILTIN, define to get a + history of symbols defined in C source. + +1997-12-23 Andy Piper <andyp@parallax.co.uk> + + * Conditionals to enable XEmacs to compile (not run!) under + CygWin32. Files touched: + events.c + getloadavg.c + mem-limits.h + objects-msw.c + select-msw.c + sysdep.c + * s/cygwin.h: New file. + +1997-12-26 Kirill M. Katsnelson <kkm@kis.ru> + + * menubar-msw.c, menubar-msw.h: New files. Menus support. + + * console-msw.h: Added frame menu hashtable variable. + + * gui.c: popup_up_p variable and Fpopup_up_p and + separator_string_p functions are moved from gui-x.c + + * gui.h: New file declaring the above. It is #included into the + following files: + dialog-x.c + gui-x.c + menubar-x.c + + * emacs.c: Added calls to *_of_menubar_mswindows() + + * event-msw.c: Generalization of modal pump interface so it may be + used bu menubars also. Some functions and vars renamed, to + reflect more general approach (event_pump -> modal_loop) + + * frame-msw.c: Initialization and marking of menu hashtable. + + * msw-proc.c: Added handling for menu window messages. + + * opaque.c: opaque objects given hash and equal methods, so they + can be compared with 'equal. Menubar uses opaque pointers as + hash keys in an 'equal style hastable. + + * Most of the above touched files: Eliminated compiler warnings. + +1997-12-18 Hrvoje Niksic <hniksic@srce.hr> + + * elhash.c (print_hashtable): Use `%u' for fullness. + (hashtable_equal): New function. + (hashtable_equal_mapper): Ditto. + + * lread.c (vars_of_lread): Initialize Vread_buffer_stream here + instead of in init_lread. + +1997-12-26 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (imagick_instantiate): Add in error and + warning handling for ImageMagick files + +1997-12-26 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in (distclean): Remove `xemacs.*'. + +1997-12-22 SL Baur <steve@altair.xemacs.org> + + * device.c (vars_of_device): Provide `devices' feature so W3's + devices.el emulation won't bloat XEmacs. + + * lread.c (Fload_internal): Strip path and extension when + considering a file as a candidate for running after-load functions. + +1997-12-20 Kirill M. Katsnelson <kkm@kis.ru> + + * s/windowsnt.h: SIZEOF_SHORT set to 16 bits instead of 32, to get + real. + + * redisplay-msw.c: (many functions): FillRect replaced with + ExtTextOut where possible, which is much faster. + (mswindows_redisplay_deadbox_maybe): New function which fixes + deadbox, a square bounded by scrollbar ends and window corner + (usually the lower right corner). + + * emacs.c (assert_failed): On Win32 platforms, when assertion + fails, debugger break occurs if DEBUG_XEMACS is defined. + + * event-msw.c (mswindows_pump_outstanding_events): Fixed so two + consequtive Fsignals are not lost. + + * scrollbar-msw.c (mswindows_update_scrollbar_instance_values): + Added SBF_DISABLENOSCROLL flag so the bar is greyed out when + all lines are visible. + (mswindows_update_scrollbar_instance_status): Ditto for freshly + assigned scrollbar. + + * scrollbar.c (Fscrollbar_set_hscroll): Fixed fitting scroll + limits into range. + +1997-12-18 Kirill M. Katsnelson <kkm@kis.ru> + + * events-msw.c: Added support for modal event dispatch pump. + This mechanism is for scrollbars and menus. + + * events-msw.h: Public declaration for the pump function. + + * msw-proc.c: Pump scrollbar misc user events through the + brand new pump. Pumps! + + * scrollbar-msw.c: Minor range fixes. Added misc events for + horizontal bar, which did not fix it... + +Thu Dec 18 09:53:12 1997 <jsparkes@internetivity.com (Jeff Sparkes)> + + * objects-msw.c (mswindows_print_color_instance): Scale 8 bit RGB + components up to 16 bit X sizes. + (mswindows_string_to_color): numeric colors are #RRGGBB not #BBGGRR. + + * objects-msw.c (mswindows_color_instance_rgb_components): ditto + + * objects.c (Fcolor_instance_rgb_components): Document range of + components as 0-65535. + +1997-12-18 SL Baur <steve@altair.xemacs.org> + + * doc.c (verify_doc_mapper): Fix return value and argument list + for map_obarray. + + * device-x.c: New variable -- Vx_app_defaults_directory. + (x_init_device): Use locale directory searched from package-path. + +1997-12-18 Kyle Jones <kyle_jones@wonderworks.com> + + * EmacsFrame.c: Added foregroundToolBarColor and + foreground resources to the resources[] definition. + Moved default gray8o color value from the + bcakgroundToolBarCOlor resource to th background + resource since the override order is now reversed in + toolbar-x.c. Don't provide a default value for the + foreground resource that the toolbar code looks at. + + * EmacsFrame.h: Define foregroundToolBarColor string + for use in the resoruces code. + + * EmacsFrameP.h: Added foreground_toolbar_pixel slot + to EmacsFramePart struct. + + * toolbar-x.c: Let the toolbar specific background + resource override the global background resource. Added + support for a toolbar specific foreground resource, + which is not currently used for anything internally. + +1997-12-17 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (decode_mode_spec): Comment fixup. + + * tooltalk.c (Freceive_tooltalk_message): Ditto. + + * search.c (Freplace_match): Ditto. + + * frame-x.c (x_frame_property): Ditto. + + * console.c (Fcurrent_input_mode): Ditto. + + * callint.c (Fcall_interactively): Ditto. + + * abbrev.c (Fexpand_abbrev): Ditto. + + * dired.c (file_name_completion): Use Qzero instead of + make_int(0). + + * fileio.c (Finsert_file_contents_internal): Use + report_file_error() to report reading error. + + * cmds.c (internal_self_insert): Don't self-insert if the expanded + symbol's hook has a non-nil `no-self-insert' property; synch with + FSF 20.2. + + * abbrev.c (Fexpand_abbrev): Return Vlast_abbrev, like in FSF + 20.2. + +1997-12-16 Hrvoje Niksic <hniksic@srce.hr> + + * abbrev.c (abbrev_match): User map_obarray() instead of + crockishly copying it. + (abbrev_match_mapper): New function. + (Fexpand_abbrev): Check whether `pre-abbrev-expand-hook' has + killed the buffer. + + * symbols.c (map_obarray): Accept a void * argument. + (mapatoms_1): Adapt. + (apropos_accum): Use fast_lisp_string_match(). + (Fapropos_internal): Don't cons. + (map_obarray): Stop mapping if FN returns non-zero. + + * marker.c (unchain_marker): Guard assert() with ERROR_CHECK_GC. + (bi_marker_position): Guard assert() with ERROR_CHECK_BUFPOS. + (set_bi_marker_position): Ditto. + +1997-12-15 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Use make_int when + checking for overflow. + (Finsert_file_contents_internal): Use EXTERNAL_LIST_LOOP. + (Ffind_file_name_handler): Ditto. + + * dired.c (file_name_completion): Use noseeum_cons. + (file_name_completion_unwind): Free the cons. + +1997-12-16 <jsparkes@internetivity.com (Jeff Sparkes)> + + * scrollbar.c: Add HAVE_MS_WINDOWS to scrollbar-page functions. + + * msw-proc.c: Handle scrolling events. + + * frame-msw.c: Initialize scrollbar width and height. This should + not be necessary, since the window shouldn't be created until + init_frame_2 + + * emacs.c: Call mswindows scrolbar setup when appropriate. + + * scrollbar-msw.c: Created for mswindows-scrollbar support. + + * scrollbar-msw.h: Ditto. + +1997-12-16 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-proc.c: Minor bug in the middle button emulation code + exterminated. + + * msw-proc.c: Character translation procedure reworked, so C-M-char + keys now work properly. Keyboard layouts that use AltGr for + third register characters are detected and handled. The code + has been tested on French and UK keyboard layouts. + + * msw-proc.c: #if 0'ed remains of threaded code are removed. + + * event-msw.c: Mouse motion was incorrectly counted for a user event. + + * event-msw.c: lisp variables beginnig with w32- are renamed to + begin with mswindows-. + +1997-12-15 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Use it. + (Fcopy_file): Ditto. + + * sysdep.c (interruptible_open): New function. + +1997-12-16 Kyle Jones <kyle_jones@wonderworks.com> + + * frame-x.c (x_init_frame_2): Don't call + update_frame_title. Some modeline specs depend on + f->device->selected_frame being non-nil and that will + not be true during initialization of the first frame on + a device. + +1997-12-16 SL Baur <steve@altair.xemacs.org> + + * fileio.c: clean up paren levels between ifdefs. + From Hrvoje Niksic <hniksic@srce.hr> + +1997-12-15 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (imagick_instantiate): Remove an assumption that + all machines have LSB XImage support. + +1997-12-14 Kyle Jones <kyle_jones@wonderworks.com> + + * Makefile.in.in: Moved $(OFFIX_O) from x_objs to + X11_objs to avoid having its initialized global + variables be dumped read-only. + +1997-12-14 SL Baur <steve@altair.xemacs.org> + + * offix.c (DndSetData): Use standard INT_MAX instead of MAXINT. + Replace <values.h> with <limits.h> + +1997-12-13 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-proc.c: added emulation for middle mouse button by chording + left and right buttons + * event-msw.c: added lisp variables for resize behavior and middle + button emulation thresholds + * msw-proc.c: {un}map-frame-hook now are not called directly from + the window procedure, rather from magic event handler. + * Formulated golden rule for calling lisp from window procedure: + "NOOOOOO!". May be violated under circumstances although. + * frame-msw.c: corrected problem with setting frame width and height + properties, introduced by 95-style look. + +1997-12-12 SL Baur <steve@altair.xemacs.org> + + * input-method-xlib.c (describe_XIC): Add casts, use unsigned long + int. + + * eval.c (funcall_subr): Ifdef out as it is now unused. + + * emacsfns.h: Declare Fdisplay_error. + + * callint.c (Fquote_maybe): Don't use `==' on Lisp_Objects. + +1997-12-12 Michael Sperber <sperber@informatik.uni-tuebingen.de> + + * fileio.c: Removed stillborn set-buffer-modtime. + +1997-12-10 Hrvoje Niksic <hniksic@srce.hr> + + * elhash.c (hashtable_instantiate): If SIZE is nil, set it to + length of DATA. + (print_hashtable): Would bogusly print #(hashtable). + (verify_function): Use XCAR. + +1997-12-12 Hrvoje Niksic <hniksic@srce.hr> + + * elhash.c (print_hashtable_data_mapper): Use a C structure + instead of consing. + +1997-12-12 Hrvoje Niksic <hniksic@srce.hr> + + * callint.c (quotify_arg): Don't quotify vectors, keywords, + bit-vectors and lambdas. + (Fquote_maybe): New subr, from quotify_arg. + (quotify_args): Use it. + (Fcall_interactively): Ditto. + +1997-12-11 Hrvoje Niksic <hniksic@srce.hr> + + * window.c (Fset_window_point): Ditto for Fgoto_char. + (Fset_window_configuration): Ditto. + + * undo.c (Fprimitive_undo): Ditto for Fset_buffer_modified_p, + Fgoto_char and Fdelete_region. + + * print.c (temp_output_buffer_setup): Ditto. + + * glyphs.c (make_string_from_file): Ditto. + + * glyphs-x.c (pixmap_to_lisp_data): Ditto for Ferase_buffer. + (pixmap_to_lisp_data): Ditto for Fbuffer_substring. + + * bytecode.c (Fbyte_code): Use Qnil instead of Fcurrent_buffer() + when calling functions that use decode_buffer() internally -- it + is faster. + + Change done for Fgoto_char, Fchar_after, Ffollowing_char, + Fpreceding_char, Findent_to, Feolp, Feobp, Fbolp, Fbobp, + Fforward_char, Fforward_word, Fskip_chars_forward, + Fskip_chars_backward, Fforward_line, Fbuffer_substring, + Fdelete_region, Fnarrow_to_region, Fwiden, Fend_of_line, Fupcase + and Fdowncase. + +1997-12-11 Jonathan Harris <jhar@tardis.ed.ac.uk>, Kirill M. Katsnelson <kkm@kis.ru> + + * The first collegial patch in the xemacs-nt history. Well... + * device-msw.c, event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: + xemacs is now single-threaded application. Due to this, the + problem with crash during input events in GC got resolved. + * xemacs frames are given "95ish" look with raised border. + * stop character (ctrl+g) now works. SIGINT (ctrl+c or ctrl+break + at the console) is still broken although. + * frame "as lisp object" is now stored in window-associated space + provided by the system. This enables obtaining frame object given + window handle in constant time. + * mswindows_cancel_dispatch_event() now has limited handling + for key_press_event's in addition to timeout_event's. + +1997-12-11 SL Baur <steve@altair.xemacs.org> + + * intl.c (init_intl_very_early): Force LC_NUMERIC to "C". + * input-method-xfs.c (Initialize_Locale): Ditto. + * input-method-motif.c (Initialize_Locale): Ditto. + * input-method-xlib.c (Initialize_Locale): Ditto. + Suggested by Didier Verna <verna@inf.enst.fr> and + Martin Buchholz <martin@xemacs.org> + +1997-12-10 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> + + * config.h.in: #undef MAGICK_HEADERS_ARE_UNDER_X11 + + * glyphs-x.c: #ifdef MAGICK_HEADERS_ARE_UNDER_X11 added. + +1997-12-11 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c (_XOS_H_): Try to avoid including Xos.h on Solaris. + Suggested by Samuel Tardieu <sam@inf.enst.fr> + +1997-12-11 David Hobley <davidh@wr.com.au> + + * pure.c: Removed WINDOWSNT conditional. + +1997-12-10 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Doc changes, update dependencies. + + * frame-x.c (x_init_frame_1): Remove unused variable. + + * fns.c (internal_equal): Guard label with ifdef. + (internal_old_equal): Ditto. + + * symsinit.h: Declare structure_type_create_hashtable. + + * elhash.c (finish_marking_weak_hashtables): Move unused variable + so gcc doesn't complain about it. + + * elhash.h: Declare new weak hashtables. + + * elhash.c (print_hashtable): Fix format. + +1997-12-10 Hrvoje Niksic <hniksic@srce.hr> + + * frame-tty.c (tty_raise_frame_no_select): Use LIST_LOOP. + (tty_lower_frame): Ditto. + + * faces.c (face_validate): Don't check for doubly defined + keywords; the reader does that. + + * emacs.c (main_1): Call structure_type_create_hashtable(). + + * general.c (syms_of_general): Added Qtest and Qsize. + + * elhash.c (structure_type_create_hashtable): New function. + (hashtable_type_validate): Ditto. + (hashtable_test_validate): Ditto. + (hashtable_size_validate): Ditto. + (hashtable_data_validate): Ditto. + (hashtable_instantiate): Ditto. + + * extents.c (extent_putprop): Made it work. + (extent_remprop): Ditto. + +1997-12-08 Kirill M. Katsnelson <kkm@kis.ru> + + * device.h: device::fdin and device::fdout are now defined for + systems which do not HAVE_UNIXOID_EVENT_LOOP. + * device-tty.c, process.c, signal.c: call to signal_fake_event() + bracketed out by #ifdef HAVE_UNIXOID_EVENT_LOOP / #endif + directives. + * signal.c: For Win32 systems, longjmp in signal handler excluded + * nt.c, syssignal.h, systime.h: emulation for SIGALRM and SIGPROF + and setitimer for Win32 platforms. Profiling now works. + * emacs.c: calls to syms_of_profile and vars_of_profile enabled + on Win32 platforms. + * ntproc.c: handling of SIGCHLD now done by the common signal + faking mechanism. (To no avail - subprocesses still broken) + * s/windowsnt.h: Signal constants added + * redisplay-msw.c: "Sticky" beep which blocked XEmacs until the + sound finishes is now repaired + +1997-12-06 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * frame-msw.c, msw-proc.c + Further changes to resizing code so that changing default + font, either in .emacs or later, works properly. + + * msw-proc.c + Minor optimization: Mouse movement events aren't generated + while the user is resizing the frame. + Function keys are returned lower-case. + +1997-12-09 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (imagick_instantiate): fix it so that it works + properly for PseudoClass files. Still needs some thinking for + full color... Also added support for old image instantiators + in various places using the OLDCOMPAT define + +1997-12-08 Kyle Jones <kyle_jones@wonderworks.com> + + * event-stream.c (Faccelerate_menu): Check for the + existence of a menubar associated with the selected frame + before trying to use it. Signal an error if there is + no menubar. + +1997-12-06 P E Jareth Hein <jareth@camelot-soft.com> + + * device-x.c: Change -privcmap to -privatecolormap. + * events.c: corret minor think-o. + +1997-12-04 Jonathon Harris <jhar@tardis.ed.ac.uk> + + * event-msw.c, faces.c, msw-proc.c: + Frame resizing happens in multiples of the default character size. + * frame-msw.c: + mswindows_set_frame_size() and + mswindows_set_frame_properties() now call AdjustWindowRect to + set the correct window size. + +1997-12-04 Jeff Sparkes <jsparkes@internetivity.com> + + * frame-msw.c: added frame functions for move, resize, + iconify, raise, lower, visible_p, iconified_p, focus, + make visible, make invisible, set title. + +1997-12-01 Jonathon Harris <jhar@tardis.ed.ac.uk> + + * event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: + - Implemeted simple emacs_mswindows_event_pending_p(). + - Fixed deleting frames. + - Rewrote timeout code, eliminating "!NILP(rest)" bug. + - Special processing for 'Ctrl-@' keystroke. + - Support for some new keysyms. + +1997-12-03 Hrvoje Niksic <hniksic@srce.hr> + + * lstream.c (make_stdio_stream_1): Set it. + (make_filedesc_stream_1): Ditto. + (finalize_lstream): Use it. + + * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. + +1997-11-29 Jeff Miller <jmiller@smart.net> + + * menubar-x.c: define restore_in_menu_callback() when motif + menubars are used. + + * menubar-x.c: change #ifdef LWLIB_MENUBARS_MOTIF to + #if defined LWLIB_MENUBARS_LUCID || defined LWLIB_MENUBARS_MOTIF + around code for incremental menu build. + + * event-stream.c: Changed HAVE_MENUBARS to HAVE_MENUBARS_LUCID in + the #ifdef wrappers around menubar accelerator stuff. + +1997-12-05 SL Baur <steve@altair.xemacs.org> + + * keymap.h: update describe_map_tree prototype + +1997-12-03 Hrvoje Niksic <hniksic@srce.hr> + + * lstream.c (make_stdio_stream_1): Set it. + (make_filedesc_stream_1): Ditto. + (finalize_lstream): Use it. + + * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. + +1997-12-03 Hrvoje Niksic <hniksic@srce.hr> + + * editfns.c (save_excursion_restore): Fix comment. + + * fns.c (Fmapvector): GCPRO the vector. + +1997-12-01 Hrvoje Niksic <hniksic@srce.hr> + + * cmdloop.c (default_error_handler): Respect + errors-deactivate-region; use display-error. + + * editfns.c (vars_of_editfns): New variable user-full-name. + (init_editfns): Initialize it. + (Fuser_full_name): Use it. + (vars_of_editfns): Docfixes. + + * dired.c (Fdirectory_files): Use FORMAT_FILENAME instead of + FORMAT_BINARY. + (make_directory_hash_table): Ditto. + (file_name_completion): Bind `completion-ignore-case' to t under + MS Windows. + (file_name_completion): Signal an error if a member of + `completion-ignored-extensions' is not a string. + +1997-11-30 Hrvoje Niksic <hniksic@srce.hr> + + * doc.c (Fsubstitute_command_keys): Don't use + Vprin1_to_string_buffer. + + * keymap.c (describe_map_tree): Accept a BUFFER argument. + (describe_map): Ditto. + (describe_command): Ditto. + +1997-11-29 Hrvoje Niksic <hniksic@srce.hr> + + * insdel.c (signal_before_change): Don't treat + Vprin1_to_string_buffer specially. + (signal_after_change): Ditto. + + * buffer.c (Fkill_buffer): Don't treat Vprin1_to_string_buffer + specially. + (complex_vars_of_buffer): Ditto. + + * print.c (Ferror_message_string): Use Vprin1_to_string_stream. + + * events.c (Fmake_event): Changed error message. + + * print.c (Fprin1_to_string): Use a resizing-buffer stream. + +1997-12-03 Hrvoje Niksic <hniksic@srce.hr> + + * buffer.c (Fkill_buffer): Use EXTERNAL_LIST_LOOP. + (Fget_file_buffer): Use LIST_LOOP. + +1997-12-02 Hrvoje Niksic <hniksic@srce.hr> + + * editfns.c (save_excursion_save): Don't save VISIBLE-P. + (save_excursion_restore): Changed accordingly. + (save_excursion_restore): Free the markers and conses even if the + buffer is dead. + (save_restriction_restore): Use XCAR/XCDR. + (Fencode_time): Use XCAR/XCDR, when safe. + + * menubar.c (Fnormalize_menu_item_name): Use INC_CHARPTR; allow + `%%' to mean `%'. + + * minibuf.c (regexp_ignore_completion_p): Use EXTERNAL_LIST_LOOP; + check type of list elements. + + * dired.c (file_name_completion): Set up a proper unwind form. + (file_name_completion_unwind): New function. + (file_name_completion): Allow errors. + + * line-number.c (invalidate_line_number_cache): Would lose in + precence of Finsert_before_markers. + (narrow_line_number_cache): Only mark LINE_NUMBER_BEGV as dirty. + (buffer_line_number): Recalculate LINE_NUMBER_BEGV on demand. + (buffer_line_number): Would ignore LINE_NUMBER_FAR. + +1997-12-01 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Fmapvector): Don't stack-allocate args; allocate the + vector and call mapcar1 with its data. + +1997-12-02 P E Jareth Hein <jareth@camelot-soft.com> + + * objects-x.c: Added colormap/visual support, rewrote + allocate_nearest_color, and changed the x-color-instance to deal + with possibly not freeing a color. + + * objects-x.h: Added dealloc_on_gc flag for x-color-instances. + + * redisplay-x.c: Added colormap/visual support. + + * balloon-x.c: Added colormap/visual support. + + * console-x.h: Added colormap/visual support by adding visual, + depth and colormap slots to a device. + + * device-x.c: Added colormap/visual support with the command line + options "-privcmap" and "-visual" and Xresources + ".privateColormap" and ".EmacsVisual". Also changed the + device-init so that the app-shell is always realized to properly + deal with GCs (previously only realized when OFFIX was + supported), and added the x-display-visual-depth lisp function to + complement x-display-visual-class. + + * event-Xt.c: Added colormap/visual support, and stuck in a + patch/hack to change the way Xt inherits visuals to match the way + it inherits colormaps. + + * frame-x.c: Added colormap/visual support. + + * glyphs-x.c: Added colormap/visual support. Will probably need a + lot more work. + +1997-11-27 Kyle Jones <kyle_jones@wonderworks.com> + + * src/keymap.c (munging_key_map_event_binding): Don't do + the meta char hack when processing key-translation-map. + Return nil if the map to be processed (function-key-map + or key-translation-map) is not a keymap. + +1997-11-27 SL Baur <steve@altair.xemacs.org> + + * device-msw.c: Turn on italic flag if appropriate + * objects-msw.c: Set device-class to color. + From Jeff Sparkes <jsparkes@internetivity.com> + + * glyphs-x.c: Should include <magick/magick.h> since that is what + is autodetected by configure. + +1997-11-26 SL Baur <steve@altair.xemacs.org> + + * events.c (Fmake_event): correct type bug. + From Colin Rafferty <craffert@ml.com> + +1997-11-26 Kyle Jones <kyle_jones@wonderworks.com> + + * lisp-disunion.h (VALMASK): Use 1UL instead of 1L to + shut up Sun's niggling compiler warnings about integer + overflow. + + * print.c (Fprin1_to_string): Don't change and + restore the current buffer; no buffer change is needed + to accomplish the task. + +1997-11-23 Jeff Miller <jmiller@smart.net> + + * Makefile.in.in removed energize support + * buffer.c removed energize support + * config.h.in removed energize support + * console-x.h removed energize support + * doc.c removed energize support + * emacs.c removed energize support + * extents.c removed energize support + * extents.h removed energize support + * frame-x.c removed energize support + * gui-x.c removed energize support + * menubar-x.c removed energize support + * process.c removed energize support + * puresize.h removed energize support + * symsinit.h removed energize support + * sysproc.h removed energize support + * syssignal.h removed energize support + * undo.c removed energize support + * window.c removed energize support + + * energize.c removed + * energize.h removed + +1997-11-23 Kyle Jones <kyle_jones@wonderworks.com> + + * faces.c (face_property_was_changed): Don't call + update_faces_inheritance, it isn't needed. + +1997-11-22 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay-x.c (x_flash): Flash the root window + area instead of the entire frame area. + + * frame.h: Added echo_area_garbaged field to frame + struct. + + * frame.c (change_frame_size_1): Set the + echo_area_garbaged flag in a frame that has been + resized. + + * redisplay.c (redisplay_frame): Clear echo_area_garbaged + flag on frame after displaying the frame. + + (Fredisplay_echo_area): Clear echo_area_garbaged + flag on frame after displaying in echo area. + + * redisplay.c: Added hscroll_glyph_width_adjust field + to position_redisplay_data_type struct. + + (add_hscroll_rune): Compute the difference in width + between the hscroll glyph and a canonical space; store + it in data->hscroll_glyph_width_adjust. + + (create_text_block): In tab field computation, adjust + left margin to account for the difference between the + width of the hscroll glyph and the width of a canonical + space. + +1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> + + * Emacs.ad: Change uses of Gray75 to Gray80. + Don't set modeline colors here. + + * EmacsFrame.c: Fetch "background" resource for use by + the toolbar initialization code; default this fetched + value to -1 if it is unspecified, which is different + from what is found in ef->core.background_pixel in that + case. + + * EmacsFrame.h: Define macros for "Background" and + "background" resource strings. + + * EmacsFrameP.h: Added background_pixel field to + EmascFrmaePart struct. + + * toolbar-x.c (x_initialize_frame_toolbar_gcs): Added + code to use the global background resource as the + toolbar background color if it is sepcified. Otherwise + fall back to the backgroundToolBarColor resource. + +1997-11-17 Marc Paquette <marcpa@cam.org> + + * callproc.c (Fcall_process_internal): Fix for bug in + CRLF -> LF conversion. + +1997-11-19 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * redisplay-msw.c: Calls GdiFlush() in _ouput_end, _clear_frame and + _redraw_exposed_area + + * frame-msw.c: mswindows_init_frame_2 + Sets frame's pixel width and height + +1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> + + * callproc.c (call_process_cleanup): Actaully wait + for the process, rather than not doing it and saying we + did. + +1997-11-20 Hrvoje Niksic <hniksic@srce.hr> + + * callproc.c (Fcall_process_internal): Close fd_error. + +1997-11-19 Didier Verna <verna@inf.enst.fr> + + * emacs.c (main_1): Added the missing argmatch call to check + for the '-h' option. + +1997-11-18 SL Baur <steve@altair.xemacs.org> + + * mule-coding.h: Replace freshly broken ENCODE_SJIS and + DECODE_SJIS macros with working versions from beta4. + +1997-11-17 Kyle Jones <kyle_jones@wonderworks.com> + + * frame-x.c (x_init_frame_1): Set frame visibility + flag to 1 immediately so that echo area message are + displayed in it promptly. + + * redisplay.c (Fredisplay_echo_area): If frame has + changed, clear it to avoid garbled messages. + + * window.c (set_window_pixsize): Restore the bail out + if no size change, but do it after the loop that recomputers + major child corner coordinates. + + * keymap.c (describe_map_mapper): Recognize the + buttonXup keysyms as mouse bindings. + +1997-11-17 Tor Arntsen <tor@spacetec.no> + + * Makefile.in.in (update-elc.stamp): Add temacs to dependency. + +1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> + + * Added suport for toolbar borders. + + * EmacsFrame.c: Added X resources for new toolbar + borders. + + (EmacsFrameSetValues): Added Fadd_spec_to_specifier + calls to move resourced toolbar border width data + into the speciifers. + + * EmacsFrame.h: Defined X resource strings for + toolbar border width resources. + + * EmacsFrameP.h: Added toolbar border width fields + to the EmacsFramePart struct. + + * console.h: Added toolbar_border_width_changed_in_frame_method + field to struct console. + + * events.c (event_x_y_pixel_internal): Factor the + toolbar border into pixel offset. + + * frame.c: Document new toolbar border width + speciifer as being usable as frame properties. + + (frame_conversion_internal): Factor the toolbar border + widths into the geometry calculations. + + (change_frame_size_1): Ditto. + + * frame.h: Added field to struct frame for toolbar + border widths. Modified geomtry macros and created + others in support of the new toolbar border widths. + + * frameslot.h: Added a default_toolbar_border_width + slot. + + * redisplay-x.c (x_clear_frame): Factor the toolbar + border widths into the geometry calculations. + + * toolbar-x.c (x_draw_blank_toolbar_button): Add + support for drawing a border along with the blank + button. Accept border_width and vertical args. + + (x_output_toolbar_button): Added support for drawing a + border along with the button. + + (X_OUTPUT_BUTTONS_LOOP): Pass border_width and vert + args to x_draw_blank_toolbar_button. Set vertical and + border_width fields in toolbar button. + + (x_output_toolbar): Support toolbar border widths. + + (x_toolbar_size_changed_in_frame_1): Mark all toolbar + buttons in the change toolbar as dirty so that they + are refreshed if had been painted over. + + New function: x_toolbar_border_width_changed_in_frame. + Used it as a console method. + + * toolbar.c: New function: mark_frame_toolbar_buttons_dirty. + + New function: toolbar_border_width_changed_in_frame. + Used it as a specifier frame slot change method. + + (get_toolbar_coords): Factor the toolbar border + widths into the geometry calculations. + + (Fset_default_toolbar_position): Update the fallback + border width specifiers for the affected toolbar + positions. + + (specifier_vars_of_toolbar): Added specifiers for the + toolbar border widths. + + * toolbar.h: Added vertical and border_width field + to the toolbar button struct. + + * window.h: Added default_toolbar_border_width slot + to window struct, along with four slots for the four + window local toolbar border width values. + +1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> + + * frame-x.c: Fixed typo in the documentation of the + top-toolbar-shadow-color frame property. + +1997-11-16 Skip Montanaro <skip@calendar.com> + + * redisplay.c: suppress buffer computation in several places if + MULE is not defined. + +1997-11-16 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (print_event): Use `event-x-pixel' and `event-y-pixel', + to be consistent with `make-event' and `event-properties'. + (Fmake_event): Allow nil dnd-data. + +1997-11-15 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * console.h + mswindows is now a window-system according to + CONSOLE_TYPESYM_WIN_P + + * device.msw.c + Now calls init_baud_rate & init_one_device + + * msw-proc.c + Fixed C-key so key is returned unshifted + + * redisplay-msw.c + Modeline and vertical divider appearance tweaks + + +1997-11-14 SL Baur <steve@altair.xemacs.org> + + * console.c (Fsuspend_emacs): Fix docstring. Evaluating + `suspend-hook' cannot stop suspension. + +1997-11-14 Marc Paquette <marcpa@cam.org> + + * callproc.c (Fcall_process_internal): Do CRLF -> LF + conversion when reading process output. + +1997-11-14 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (init_redisplay): Handle not having DISPLAY and not + having TTY support. + +1997-11-14 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Support DND events. + +1997-11-10 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Reenable the event creation code. + (Fmake_event): Canonicalize the plist. + +1997-11-13 SL Baur <steve@altair.xemacs.org> + + * mule-charset.c (Fcharset_id): Typecast result to Lisp_Object. + + * mule-ccl.c (CCL_WRITE_STRING): Reorder parens to avoid compiler + barf on Lisp_Object. + (Fregister_ccl_program): Remove unused variable idx. + + * mule-canna.c: Fix declaration of mule_strlen(). + + * mule-coding.h (ENCODE_SJIS): Parenthesize first two params to + avoid compilation problems. + +1997-11-13 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> + + * mule-charset.h: Added preliminary support for charset Ids. + + * mule-charset.c: Added preliminary support for charset Ids. + + * redisplay-msw.c (separate_textual_runs): Synched with FSF 20.2 + ccl API. + + * redisplay-x.c (separate_textual_runs): Synched with FSF 20.2 ccl + API. + + * mule-coding.c: Synched with FSF 20.2 ccl API. + + * mule-coding.h: Moved ccl part to mule-ccl.h. + + * mule-ccl.c: Synched with FSF 20.2. + + * mule-ccl.h: New file. + +Thu Nov 13 21:34:13 1997 Marc Paquette <marcpa@cam.org> + + * nt.c (REG_ROOT): Use a registry key different that the one for + NTEmacs. + +1997-11-12 SL Baur <steve@altair.xemacs.org> + + * lrecord.h: Fix typo in set_lheader_implementation. + From: Robert Pluim <Robert_Pluim@BayNetworks.COM> + +1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> + + * configure.in: Remove HAVE_TIMEZONE_DECL test. + +1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> + + * s/freebsd.h: Remove HAVE_TIMEZONE_DECL forced value. + + * config.h.in: Remove HAVE_TIMEZONE_DECL reference. + + * systime.h: Remove timezone conditional declaration. + +1997-11-12 Kyle Jones <kyle_jones@wonderworks.com> + + * console.c: Use symbol_value_forward_lheader_initializer + in various DEFVAR* macros. Forgot this in previous + related patch. + + * lisp-disunion.h: Provide a no-op XUNMARK macro for + the GC error checking code even if GCMARKBITS is not + greater than 0. + + * lisp-union.h: Ditto. + +1997-11-10 Hrvoje Niksic <hniksic@srce.hr> + + * event-stream.c: Make echo_keystrokes a Lisp_Object. + (maybe_echo_keys): Adapt to that. + +1997-11-11 SL Baur <steve@altair.xemacs.org> + + * eval.c (throw_or_bomb_out): Remove abort. + Suggested by: Kyle Jones <kyle_jones@wonderworks.com> + +1997-11-11 Kyle Jones <kyle_jones@wonderworks.com> + + * Added support for referencing lrecord_implementations + via an index in an lrecord_header rather than a raw + pointer. Also added a mark bit and a pure bit. + + * alloc.c: Made lrecord_type_index() and + lrecord_implementations_table[] global, previously they + were static. Used new XRECORD_LHEADER_IMPLEMENTATION + and LHEADER_IMPLEMENTATION macros to access + lrecord_implementations found in Lisp_Objects and + lrecord_headers instead of referencing ->implementation. + + (gc_record_type_p): For USE_INDEXED_LRECORD_IMPLEMENTATION, + there's no need to check for equality to type or type + 1. + lrecords are no longer marked by incrementing the + implementation pointer. + + (init_alloc_once_early): Initialized subr and + symbol_value_forward lrecord indexes early so that the + staticly defined subrs and symbol_value_forward object + indexes match the lrecord_implementations_table. + + * buffer.c: Used symbol_value_forward_lheader_initializer in + various DEFVAR* macros. Used new XRECORD_LHEADER_IMPLEMENTATION + macro. + + * elhash.c: Used new XRECORD_LHEADER_IMPLEMENTATION + macro. + + * fns.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. + + * lisp.h: Defined subr_lheader_initializer macro, used it in + DEFUN macro. + + * lrecord.h: For USE_INDEXED_LRECORD_IMPLEMENTATION, + changed lrecord_header to contain an index into + lrecord_implementations_table[], plus a mark bit and a pure + bit. Added support code for this. Defined new + XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION + macros to be used to find the lrecord_implementation + of a Lisp_Object. + + * print.c: Used new XRECORD_LHEADER_IMPLEMENTATION and + LHEADER_IMPLEMENTATION macros. + + * symbols.c: Used symbol_value_forward_lheader_initializer in + definition of guts_of_unbound_marker. + + * symeval.h: Defined symbol_value_forward_lheader_initializer + macro. Used symbol_value_forward_lheader_initializer in various + macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. + + +1997-11-10 SL Baur <steve@altair.xemacs.org> + + * window.c (set_window_pixsize): Remove unused variable. + + * extents.c (print_extent_1): Fix type check error in sprintf. + + * doc.c (Fsnarf_documentation): Remove unused label weird_function. + + * symsinit.h: Restore declaration of vars_of_dialog_x. + + * database.c (Fopen_database): Fix unused variable message. + + * sysdep.c (sys_subshell): vfork() is a demented, obsolete hack. + + * offix.c (struct): Make ImageData, MaskData be unsigned char *. + + * event-Xt.c (x_event_to_emacs_event): Clean up typecasting. + * frame-x.c (Foffix_start_drag_internal): Ditto. + +1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> + + * extents.c (print_extent_1): Use %lx instead of %p + to get the same output on all compilers. + +1997-11-09 Hrvoje Niksic <hniksic@srce.hr> + + * line-number.c: Use markers. + + * redisplay.c (window_line_number): Restored. + + * line-number.c (allocate_line_number_cache): Account for + narrowing. + (buffer_line_number): New function. + + * line-number.c (get_nearest_line_number): New function. + (window_line_number): Use it. + (narrow_line_number_cache): New function. + (invalidate_line_number_cache): Ditto. + (insert_invalidate_line_number_cache): Ditto. + (delete_invalidate_line_number_cache): Ditto. + (add_line_number): Ditto. + + * editfns.c (widen_buffer): Update line number cache. + (Fnarrow_to_region): Ditto. + (save_restriction_restore): Ditto. + + * insdel.c (buffer_insert_string_1): Invalidate cache for + insertion. + (buffer_delete_range): Invalidate cache for deletion. + + * line-number.c: New file. + (window_line_number): Moved from redisplay.c. + + * print.c (debug_print): Print a carriage return, too. + + * bufslots.h: New slot `line_number_cache'. + +1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> + + * event-stream.c: New Lisp variable: last-command-event-time. + +1997-11-08 SL Baur <steve@altair.xemacs.org> + + * lread.c (init_lread): start from lisp, not lisp/prim. + + * Makefile.in.in: lisp/prim does exist any more. + +1997-11-07 Kyle Jones <kyle_jones@wonderworks.com> + + * abbrev.c (abbrev_lookup): Don't delete dash at the + abbrev start location; abbrev-prefix-mark no longer + inserts one. + +Wed November 05 23:40:00 1997 <jhar@tardis.ed.ac.uk> + + * fileio.c: insert-file-contents-internal + Added a bodge to do CRLF->LF conversion of text files, + conditioned on DOS_NT. This is currently only one-way, so all + text files written by XEmacs will be UNIXified. CRLF conversion + is required to make bytecompile work. + + * Added file headers to: + console-w32.c, console-w32.h, + device-w32.c, event-w32.c, event-w32.h, frame-w32.c, + objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c + +Sun November 01 12:00:00 1997 <jhar@tardis.ed.ac.uk> + + * redisplay-x.c: x_output_vertical_divider: + If HAVE_SCROLLBARS was not defined, coordinate of the right of + the divider was being used unitialised. + + * console.h: Added Qw32 and CONSOLE_W32* macros, conditioned on + HAVE_W32GUI. + + * emacs.c: Added calls to the following, conditioned on HAVE_W32GUI: + syms_of_*_w32, vars_of_*_w32, console_type_create_*w32. + + * event-stream.c: Conditioned on HAVE_W32GUI: + - vars_of_event_stream calls vars_of_event_w32. + - init_event_stream calls init_event_w32_late. + + * events-mod.h: Removed comment about having alternative making + MOD_* constants for different windowing systems. + + * events.c: Conditioned on HAVE_W32GUI: + - event-equal: Added case for w32 magic events. + - event-hash: Added case for w32 magic events. + + * events.h: Conditioned on HAVE_W32GUI: + Added struct underlying_w32_event to magic_data. + + * faces.c: complex_vars_of_faces + Added fallbacks for w32 faces, conditioned on HAVE_W32GUI. + + * frame.c: set-frame-properties + Added reference to default-w32-frame-plist to docstring. + + * general.c: Added new Lisp_Object Qw32 and defsymbol. + + * redisplay-output.c: redisplay_update_line + Conditioned reference to stupid_vertical_scrollbar_drag_hack on + HAVE_X_WINDOWS. This will need a proper fix when w32 gets + scrollbars. + + * redisplay-tty.c: init_tty_for_redisplay + Conditioned blocking and unblocking of SIGTTOU on !WIN32 because + these signals don't exist under win32. + + * redisplay.c: init_redisplay + Initialise window system to w32, conditioned on HAVE_W32GUI. + + * symsinit.h: Added syms_of_*_w32, vars_of_*_w32 and + init_event_w32_late. + + * sysdep.c: Conditioned various things on WIN32 in addition to + MSDOS. + + * New files: + console-w32.c, console-w32.h, + device-w32.c, event-w32.c, event-w32.h, frame-w32.c, + objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c + +1997-11-07 Hrvoje Niksic <hniksic@srce.hr> + + * doc.c (Fdocumentation_property): GCPRO doc. + (Fsubstitute_command_keys): Disallow zero bsize. + +1997-11-06 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fevent_modeline_position): Return nil if event is not + over modeline, as the docstring says. + +1997-11-05 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> + + * s/aix3-1.h: Remove ^L character wich confuses AIX make. + +1997-11-06 Tomasz Cholewo <tjchol01@mecca.spd.louisville.edu> + + * event-stream.c (Fnext_command_event): Document keystroke echoing. + +1997-11-06 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Ffeaturep): Use call1, to prevent stack thrashing with + circular lists. + - Update docstring. + +1997-11-06 Kyle Jones <kyle_jones@wonderworks.com> + + * frame-x.c (x_delete_frame): Removed code that + blocked the deletion of popup frames. No need for it. + +1997-11-05 SL Baur <steve@altair.xemacs.org> + + * balloon_help.h: Replace <X11/Intrinsic.h> with "xintrinsic.h" + * balloon_help.c: Ditto. + * offix.h: Ditto. + + * mule-coding.c (coding_system_charset): Add prototype. + +1997-11-04 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * s/freebsd.h: Add HAVE_TIMEZONE_DECL. Configure will fail at + checking for the existence of `extern long timezone'. + FreeBSD actualy has the `timezone', but due to its <time.h> and + <sys/time.h>, it cannot be recognized by configure. + +1997-11-03 Hrvoje Niksic <hniksic@srce.hr> + + * data.c (Fsubr_interactive): New function. + +1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.c (change_frame_size_1): Added explanatory + comment. + + * window.c (set_window_pixsize): Don't bail out + before looping over the major children if there is no + size change indicated. The top and left coordinates + may need to be recomputed, e.g. in toolbar visibility + updates. + +1997-11-02 Kyle Jones <kyle_jones@wonderworks.com> + + * fileio.c (Ffile_truename): Make the errno == EACCES case + behave the same as errno == ENOENT. + +1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.c (Fframe_property, Fframe_properties): Check + for minibuffer-onlyness of frame before checking whether + it has a minibuffer. This makes the minibuffer property + value be reported as 'only when that is appropriate. The + check order was reversed which resulted in minibuffer-only + frames having the minibuffer property reported as t. + +1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * m/vax.h: + * s/cxux.h: + * s/xenix.h: + * s/umax.h: + * s/msdos.h: + * s/template.h: + * termcap.c: + * signal.c: + * lread.c: + * callproc.c + * buffer.c: Remove VMS dependent code. + +1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * syspwd.h: + * systty.h: + * systime.h: + * syssignal.h: + * sysproc.h: + * sysfloat.h: + * sysfile.h: + * regex.h: + * process.h: + * ndir.h: + * mule-mcpath.h: + * getpagesize.h: + * sysdep.h: + * fileio.c: + * process.c: Remove old VMS code. + +1997-11-02 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c: Use <magick/magick.h> instead of <magick.h> + +1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * sysdep.c: + * getloadavg.c: + * malloc.c: Remove old VMS code. + +1997-11-02 Hrvoje Niksic <hniksic@srce.hr> + + * database.c (print_database): Don't use a static buffer to store + file name. + + * dired.c (make_directory_hash_table): Ditto. + + * fileio.c (Ffile_truename): Use `make_ext_string' instead of + `make_string'. + +1997-11-01 Hrvoje Niksic <hniksic@srce.hr> + + * database.c (CONCHECK_DATABASE): Define. + + * dired.c (Fdirectory_files): Use `make_ext_string' instead of + `make_string', to avoid crashes under Mule. + (file_name_completion): Use `make_ext_string'. + + * database.c (new_database): Renamed to `allocate_database', as + per coding conventions. + +1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * dired.c: Remove VMS dependent code. + +1997-11-01 Kyle Jones <kyle_jones@wonderworks.com> + + * buffer.h: Change XCHAR_OR_CHAR_INT to use XCHAR or + XINT as appropriate instead of using XREALINT. + + * regex.c (re_search_2): cast translate[*d] to + unsigned char when indexing fastmap to avoid sign + change when value has the 0x80 bit set. + +1997-10-31 SL Baur <steve@altair.xemacs.org> + + * linuxplay.c (audio_init): Update for newer Linux kernels. + From Robert Bihlmeyer <robbe@orcus.priv.at> + +1997-11-01 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Fix misleading + comment. + +1997-10-31 Kyle Jones <kyle_jones@wonderworks.com> + + * callproc.c: GC protect current_dir while infile and + error_file are being initialized. + +1997-10-30 SL Baur <steve@altair.xemacs.org> + + * config.h.in: Remove HAVE_GIF, HAVE_JPEG, HAVE_PNG, HAVE_TIFF and + replace with HAVE_IMAGEMAGICK. + +1997-10-30 Kyle Jones <kyle_jones@wonderworks.com> + + * process.c (Fprocess_send_string): Protect against + SIGPIPE when flushing outstream. + +1997-10-30 SL Baur <steve@altair.xemacs.org> + + * input-method-xfs.c: Xlocale.h must be included after config.h. + * input-method-motif.c: ditto. + * input-method-xlib.c: ditto. + +1997-10-28 Kyle Jones <kyle_jones@wonderworks.com> + + * Under LRECORD_VECTOR, moved vectors from being an basic + lrecord tpye to an lcrecord. + Added support for 31 bits Lisp integers. + Added support for maskless pointers to Lisp objects. + + * alloc.c + + (allocate_lisp_storage): Use XSETOBJ instead of + XSETCONS to avoid tripping the ERROR_CHECK_TYPECHECK + code with uninitialized data. XSETCONS used to work + until it became an lrecord type. + + Removed sweep_vectors_1, all_vectors and other vector + specific GC related objects in the LRECORD_VECTOR + case, as they are unneeded now that lrecord-based + vectors are lcrecords. + + Added `equal' methods for lrecord-based conses, vectors + and strings. I was mistaken before; they are needed. + + (pure_cons): moved XSETCONS call to after the + set_lheader_implementation call, to avoid tripping the + type checking code on an uninitialized implementation + pointer. + + (make_pure_vector): moved XSETVECTOR call to after the + set_lheader_implementation call, to avoid tripping the + type checking code on an uninitialized implementation + pointer. + + (Fpurecopy): return if given a null pointer. THis can + happen when initializing Qnil. + + (mark_object): return if passed a null pointer. I + think this can happen when marking through some kind of + objects that contain Lisp_Objects and null pointers. + + (marked_p): Ditto + + * buffer.c + + (mark_buffer): Don't mark conses in the indirect children + list is said list is in fact a null pointer. The + indirect children list gets reset to a null pointer + when a bfufer is killed. + + (complex_vars_of_buffer): initialize indirect_children + slow of Vbuffer_local_symbols and Vbuffer_defaults to + nil. + + * chartab.c + + (Fcheck_category_at): Don't use XREALINT to extract a + char from a Lisp_Object, use XCHAR instead. + + (Fchar_in_category): Ditto. + + * data.c + + (eq_with_ebola_notice): Use XCHAR_OR_INT instead of + XREALINT to extract data from a Lisp_Object that could + contain a charater or an integer. + + (make_int): use XSETINT in the USE_MINIMAL_TAGBITS + case. + + (make_char): use XSETINT in the USE_MINIMAL_TAGBITS + case. + + (Flsh): XUINT is gone; use XINT instead. + + * elhash.c + + (elisp_hvector_malloc): Use Qnull_pointer instead of + Qzero, as Qzero is no longer guaranteed to contain an + all-zero bit pattern. + + (make_lisp_hashtable): Ditto. + + (Fcopy_hashtable): Ditto. + + * emacsfns.h + + Conditionalize the declaration of make_char() on + whether a make_char macro exists or not. + + * fns.c + + (internal_equal): Conditionalize existence of cons, + string and vector comparison code on whether they are + lrecord-based. + + (internal_old_equal): Ditto. + + * lisp-disunion.h + + USE_MINIMAL_TAGBITS support. + + 31 bit Lisp integer support. + + Conditionalized existence of markbit related macros on + the existence of a markbit in a Lisp_Object. There are + no markbits in the USE_MINIMAL_TAGBITS implementation + of a Lisp_Object. + + Replaced XUINT with XPNTRVAL. + + Added declaration for Qnull_pointer. + + * lisp-union.h + + USE_MINIMAL_TAGBITS support. + + 31 bit Lisp integer support. + + Conditionalized existence of markbit related macros on + the existence of a markbit in a Lisp_Object. There are + no markbits in the USE_MINIMAL_TAGBITS implementation + of a Lisp_Object. + + Replaced XUINT with XPNTRVAL. + + Added a make_char macro, similar to the make_int + macro, for use with the GCC-specific XMAKE_LISP hack. + + * lisp.h + + USE_MINIMAL_TAGBITS support. + + 31 bit Lisp integer support. + + Added GCMARKBITS macro to specify how many markbits a + Lisp_Object contains. + + Support for lcrecord-based vectors. + + Added XCHAR_OR_INT for accessing data in an object + that might contain either a character or an integer. + + Made HACKEQ_UNSAFE use XCHAR_OR_INT instead of + XREALINT during its Ebola check. + + * print.c + + Made the printing code undestand the split Lisp integer type. + + * symbols.c + + Added declaration for Qnull_pointer. + +1997-10-27 Martin Buchholz <mrb@eng.sun.com> + + * m/ibmrs6000.h: + * s/aix3-2.h: C_SWITCH_SYSTEM ==> configure.in + * s/aix4-1.h: -li18n ==> configure.in + * s/aix4.h: Always include strings.h + * config.h.in: Add AIXV3 define, suggested by xmkmf. Remove + AIX_SMT_EXP. + * unexaix.c: Fix nested comments compiler warning + +1997-10-27 Kyle Jones <kyle_jones@wonderworks.com> + + * profile.c (sigprof_handler): Don't call XUNMARK on + fun, it isn't needed. + + * faces.c (face_property_matching_instance): Check + for charset == Qunbound, which it can be if the + character set is unspecified. + +1997-10-27 SL Baur <steve@altair.xemacs.org> + + * mule-wnnfns.c (vars_of_mule_wnn): Provide 'wnn feature. + + * mule-canna.c (vars_of_mule_canna): Provide 'CANNA feature. + +1997-10-27 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * device-x.c (x_init_device): To avoid crazy menubars due to + lack of suitable font loading. Disabled locale based app-defaults + loading when menubars=motif or menubars=lucid + xfs feature is not + used. Currently, the menubar resource has no effect for tty use. + +1997-10-25 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * README: Remove references to VMS. + + * vlimit.h: + * s/vms5-5.h: + * s/vms4-4.h: + * s/vms4-2.h: + * s/vms4-0.h: + * s/vms.h: Remove files since VMS isn't supported any more. + +1997-10-25 Kyle Jones <kyle_jones@wonderworks.com> + + * toolbar.h: Reduce MINIMUM_SHADOW_THICKNESS to 1. + +1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * database.c: Added support for Berkeley DB 2.x. + +1997-10-23 SL Baur <steve@altair.xemacs.org> + + * alloc.c: Disable purespace statistics unless --debug is in + effect. + + * console-stream.c (init_console_stream): At the price of a tiny + memory leak, reinitialize FILE fields of the console. + From Tonny Madsen <tma@nettest.dk> + + * emacs.c: New variable `inhibit_package_init'. + (vars_of_emacs): Use it. + (main_1): Initialize from command line. + + * Makefile.in.in (xemacs): Specify -vanilla when searching for + shadows. + + * emacs.c: Remove VMS ifdefs. + (standard_args): Added -no-packages, --no-packages. + Added -vanilla, --vanilla. + (Frun_emacs_from_temacs): Guard pure usage report with DEBUG_XEMACS + (Fdump_emacs): Ditto. + +1997-10-22 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Ffeaturep): Use `Fcar' with `or'. + +1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> + + * alloc.c: drop the Lisp_Type_Record case clause + that I added to the switch statement in a previous + patch. The string, vector and cons cases belong in + the `default' clause with the other lrecord types. + +1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> + + * Added support for strings as lrecords. + + * lisp.h: #ifdef'd out Lisp_Type_String enum value + if LRECORD_STRING is defined. + + * alloc.c: Added allocation and garbage collection + code for lrecord-based strings. + + * print.c: move Lisp_String printing code to a + separate function so that it could be used as a + `print' method for lrecord-based strings. + +1997-10-20 Jan Vroonhof <vroonhof@math.ethz.ch> + + * extents.c: Renamed shot property to initial-redisplay-function + (extent_fragment_update): Changed the bookkeeping whether an event + has been spawned. The initial-redisplay-function property is no + longer set to nil. + + * extents.h: ditto + +1997-10-20 Kyle Jones <kyle_jones@wonderworks.com> + + * Added support for conses and vectors to be lrecords. + + * alloc.c: Modified allocation and GC code for + LRECORD_CONS and LRECORD_VECTOR support. Moved some + macros to lrecord.h. + + * bytecode.c: Warning comment about LRECORD_CONS. + + * elhash.c: Let internal_hash handle vector hashing + if LRECORD_VECTOR is defined, just as it does when + LRECORD_VECTOR is not defined. The code could have + been copied into an `hash' method function but I don't + see any point to it. Added lrecord style marking code + to finish_marking_weak_hashtables. Bracketed code + that groks the non-lrecord method of marking vectors + with #ifdefs. + + * fns.c: Let internal_equal and internal_old_equal + handle vector comparisons when LRECORD_VECTOR is + defined, just as it does when LRECORD_VECTOR is not + defined. The code could have been copied into an + `equal' method function but I don't see any point to + it. + + * lisp.h: Added typecheck macros for LRECORD_CONS + support. LRECORD_VECTOR macros were already present. + + * print.c: New functions print_cons and print_vector + for LRECORD_CONS and LRECORD_VECTOR support. + Some GC protection also added. + + * lrecord.h: Received some macros from alloc.c, so + that they could be used in lisp.h. + +1997-10-20 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Ffeaturep): Handle `not' correctly. + + * lread.c (vars_of_lread): Use defsymbol for featurep. + +1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> + + * s/irix5-0.h: Removed -G 0 from LD_SWITCH_SYSTEM. .sbss sections + are supported since unexelfsgi.c upgrade. + +1997-10-16 Kyle Jones <kyle_jones@wonderworks.com> + + * lstream.c (Lstream_close): Don't return early if the + closer method reports failure. Doing so caused GC and + memory corruption crashes. + +1997-10-14 Hrvoje Niksic <hniksic@srce.hr> + + * extents.c (Fset_extent_property): Allow `keymap' property to be + set to nil. + +1997-10-15 SL Baur <steve@altair.xemacs.org> + + * mule-coding.c (acceptable_control_char_p): Add C-_ for info. + (detect_coding_iso2022): Ditto. + From SENDA Shigeya <senda@ic.rdc.ricoh.co.jp> + +1997-10-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * mule-coding.c (make-coding-system, detect-coding-region): Modify + DOC-string because of renaming `automatic-conversion' -> + `undecided' to sync with Emacs 20.2. + + (make-coding-system, coding-system-type, detect-coding-region): + Rename `Qautomatic_conversion' -> `Qundecided'. + + * general.c (syms_of_general): Rename `automatic-conversion' -> + `undecided' to sync with Emacs 20.2. + + * emacsfns.h, event-Xt.c (x_to_emacs_keysym): Rename + `Qautomatic_conversion' -> `Qundecided'. + + * buffer.c (buffer-file-coding-system): Modify DOC-string because + of renaming `automatic-conversion' -> `undecided' to sync with + Emacs 20.2. + +1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> + + * lisp.h (MANY): Bump SUBR_MAX_ARGS to 12 and add corresponding + DEFUN_n macros. + +1997-10-13 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> + + * console-tty.c: Include gpmevent.h + * gpmevent.c (connect_to_gpm): change to void + * gpmevent.h: Ditto. + +1997-10-13 Kyle Jones <kyle_jones@wonderworks.com> + + * lisp-disunion.h (XSETOBJ): cast Lisp type enum to + an EMACS_UINT quantity to avoid a compiler warning about + integer overflow when the most significat bit of the + type tag is shifted into the sign bit position of an + EMACS_INT. + +1997-10-12 SL Baur <steve@altair.xemacs.org> + + * s/freebsd.h: Add X11 guard for building without X11. + From Hrvoje Niksic <hniksic@srce.hr> + +1997-10-12 Kyle Jones <kyle_jones@wonderworks.com> + + * doprnt.c (emacs_doprnt_1): if forwarded field width + is negative, set minus_flag and make the field width + positive. Makes (format "%*s" -10 "abc") work like + (format "%-*s" 10 "abc"). + +1997-10-12 SL Baur <steve@altair.xemacs.org> + + * unexsol2.c (unexec): CONST isn't defined here. + From Adrian Aichner <aichner@ecf.teradyne.com> + +1997-10-11 SL Baur <steve@altair.xemacs.org> + + * realpath.c (realpath): CONST IS LOSING but removing it conflicts + with system headers. + + * callproc.c: New variable infopath-internal. + (complex_vars_of_callproc): Declare and initialized it. + + * paths.h.in: New variable PATH_INFOPATH. + +1997-10-10 Martin Buchholz <mrb@eng.sun.com> + + * systty.h: + - change Xemacs --> XEmacs + + * buffer.c: + * editfns.c: + * msdos.c: + - Remove bogus FSF-origin \n\ sequences. + +1997-10-09 Kyle Jones <kyle_jones@wonderworks.com> + + * doprnt.c (parse_doprnt_spec): parse `*' field width + and precision specs and set up spec forwarding. + + * doprnt.c (emacs_doprnt_1): implement `*' by + forwarding flags, precision and field width data from a + spec to a subsequent spec. + + * editfns.c: document new `*' field width and + precision spec. + +1997-10-09 SL Baur <steve@altair.xemacs.org> + + * database.c (Fclose_database): Rename C function. + (Fdatabase_last_error): Ditto. + (Fopen_database): Ditto. + (Fput_database): Ditto. + (Fremove_database): Ditto. + (Fget_database): Ditto. + (syms_of_dbm): Reflect above changes. + From Martin Buchholz <mrb@Eng.Sun.COM> + +1997-10-08 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Allow only frames as channel. + +1997-10-07 Hrvoje Niksic <hniksic@srce.hr> + + * extents.c (print_extent_1): Fixed typo. + +1997-10-07 Kyle Jones <kyle_jones@wonderworks.com> + + * insdel.c (buffer_replace_char): if doing delete/insert + because of characters with deiffering byte lengths,move + point forward with the insertion if it was moved backwrad + to equal the insertion point by the earlier deletion. + +1997-10-06 SL Baur <steve@altair.xemacs.org> + + * window.c (Fset_window_dedicated_p): register -> REGISTER. + + * unexalpha.c (update_dynamic_symbols): register-> REGISTER. + + * sysdep.c: Global change: register -> REGISTER. + + * strcat.c (strcat): register -> REGISTER. + + * search.c: Global change: register -> REGISTER. + + * regex.c: Global change: register -> REGISTER. + - Ensure REGISTER is always defined. + + * nt.c: Global change: register -> REGISTER. + + * linuxplay.c: Global change: register -> REGISTER. + + * input-method-xlib.c (best_style): register -> REGISTER. + + * gifalloc.c: Global change: register -> REGISTER. + - Ensure REGISTER is always defined. + + * getloadavg.c (getloadavg): register -> REGISTER. + + * eval.c (unwind_to_catch): [Unused variable] register -> REGISTER. + + * cmds.c (Fpoint_at_bol): register -> REGISTER. + + * chartab.c (check_category_char): register -> REGISTER. + + * buffer.c (assoc_ignore_text_properties): [Unused function] + register -> REGISTER. + + * alloca.c: Global change: register -> REGISTER. + + * xmu.h (XmuCopyISOLatin1Lowered): Global change: const -> CONST. + + * gif_lib.h: Global change: const -> CONST. + + * balloon_help.h (balloon_help_move_to_pointer): const -> CONST. + + * xmu.c: Global change: const -> CONST. + + * unexsol2.c (unexec): const -> CONST. + + * unexhp9k3.c (unexec_error): const -> CONST. + + * unexfreebsd.c (unexec_error): const -> CONST. + + * sunOS-fix.c (mbstowcs): const-> CONST. + (wcstombs): Ditto. + + * strcpy.c (strcpy): const -> CONST. + + * strcmp.c: Global change: const -> CONST. + + * strcat.c (strcat): const -> CONST. + + * realpath.c (realpath): const -> CONST. + + * keymap.c (where_is_recursive_mapper): const -> CONST. + + * extents.c (extent_priority_sort_function): const -> CONST. + + * dgif_lib.c (DGifOpenFileName): const -> CONST. + + * balloon_help.c: Global change: const -> CONST. + +1997-10-03 SL Baur <steve@altair.xemacs.org> + + * lisp.h: Nuke register declarations. + +1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> + + * window.c (Frecenter): Correct variable names in docstring. + +1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> + + * fns.c: Add some cross references between destructive and + non-destructive versions of similar functions. + +Fri Oct 3 12:28:08 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * lisp-disunion.h: Move markbit to be between the + type bits and the value bits. Previously it was always + the sign bit of a EMACS_INT, unless modified by a + #define in a machine dependent .h file. + +1997-10-02 Hrvoje Niksic <hniksic@srce.hr> + + * profile.c (Fclear_profiling_info): Made interactive. + +1997-10-02 SL Baur <steve@altair.xemacs.org> + + * glyphs-x.c (USE_TEMP_FILES_FOR_PNG_IMAGES): Move outside of + HAVE_JPEG ifdef. + +1997-10-01 SL Baur <steve@altair.xemacs.org> + + * lisp.h (min): Fully parenthize. + (max): Ditto. + + * Makefile.in.in (widget.o): Insert dependencies. + - Insert HAVE_OFFIX_DND dependencies. + + * casefiddle.c (casify_object): Back out bogus undocumented patch + from 20.3-beta18. + +1997-09-30 SL Baur <steve@altair.xemacs.org> + + * events.c (Fevent_type): Add OffiX guard. + (command_event_p): Ditto. + (mark_event): Ditto. + (print_event): Ditto. + +1997-09-30 SL Baur <steve@altair.xemacs.org> + + * mule-canna.c (Fcanna_set_bunsetsu): Return a value. + (Fcanna_parse): Remove unused variables `ks' and `ksv'. + (Fcanna_henkan_begin): Remove unused variable `res'. + (Fcanna_henkan_next): Remove unused variable `nbun'. + (count_char): Change return type to void. + + * event-Xt.c (x_event_to_emacs_event): Remove unused variable + `event-size'. + + * menubar.c (Fnormalize_menu_item_name): Remove unused variable + `res'. + + * redisplay-x.c (x_flash): Reorganize test to prefer select over + poll. + + * xselect.c (Fx_store_cutbuffer_internal): Remove unused variable + `encoding'. + +1997-09-30 Hrvoje Niksic <hniksic@srce.hr> + + * frame.c (Fmake_frame): Call `custom-initialize-frame'. + +1997-09-24 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * mule-coding.c: Rename `pathname-coding-system' to + `file-name-coding-system' to sync with Emacs 20.2. + +1997-09-26 Hrvoje Niksic <hniksic@srce.hr> + + * window.c (saved_window_equal): Ditto. + + * process.c (Fget_process): Use internal_equal. + + * lread.c (build_load_history): Use internal_equal. + (build_load_history): Use XCAR/XCDR where safe. + + * events.c (event_equal): Ditto. + + * event-stream.c (Fdispatch_event): Ditto. + + * elhash.c (lisp_object_eql_equal): Ditto. + (lisp_object_equal_equal): Ditto. + + * device.c (find_device_of_type): Ditto. + + * console.c (find_console_of_type): Ditto. + + * console-tty.c (tty_init_console): Ditto. + + * console-stream.c (stream_init_console): Use internal_equal. + (stream_canonicalize_console_connection): Ditto. + + * fns.c (Fmember): Use internal_equal, to avoid a necessary + funcall and NILP check. + (Fold_member): Ditto for internal_old_equal. + (Fassoc): Use XCAR when we know we deal with a cons. Use + internal_equal. Removed tem. + (Fold_assoc): Ditto. + (Fassq): Use XCAR. + (Frassoc): Use internal_equal; remove tem. + (Fold_rassoc): Ditto for internal_old_equal. + (Frassq): Use XCDR with what we know is a cons. + (Fold_rassq): Ditto. + (Fdelete): Use internal_equal. + (Fold_delete): Ditto for internal_old_equal. + (Fremassoc): Use internal_equal; use XCAR/XCDR with what we know + is a cons. + (Fremrassoc): Ditto. + + * dired.c (Fdirectory_files): Nreverse the list only if it will be + sorted. + +Fri Sep 26 13:55:28 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * faces.c (update_face_cachel_data): Don't allow the + background pixmap of the default face to override the + background of a face if that color has been specified. + +1997-09-26 Hrvoje Niksic <hniksic@srce.hr> + + * dired.c (close_directory_fd): New function. + (Fdirectory_files): Use it to set up an unwind-protection to close + the descriptor. + (Fdirectory_files): Allow QUIT in re_search. + (Fdirectory_files): If the file is too big, allocate necessary + data with malloc. + (Fdirectory_files): Use simple Fcons to build the list. + (close_directory_fd): Free the opaque pointer. + +1997-09-25 Hrvoje Niksic <hniksic@srce.hr> + + * extents.c (Fset_extent_properties): New function. + +1997-09-24 SL Baur <steve@altair.xemacs.org> + + * dired.c (Fdirectory_files): Remove broken VMS stuff. + (file_name_completion_stat): Ditto. + (file_name_completion): Ditto. + (Top Level): Ditto. + (syms_of_dired): Ditto. + +1997-09-25 Hrvoje Niksic <hniksic@srce.hr> + + * widget.c (Fwidget_apply): Don't GCPRO result of Fwidget_get. + +1997-09-24 SL Baur <steve@altair.xemacs.org> + + * symsinit.h: Declare syms_of_widget. + + * emacsfns.h: Declare Fchar_syntax. + + * bytecode.c (Fbyte_code): Call Fchar_syntax for the Bchar_syntax + bytecode. + + * syntax.c (Fchar_syntax): convert nil input to \000 for + compatibility. + + * alloc.c (report_pure_usage): Increase slop to 512 bytes in betas + and reduce it to 4 bytes in releases. + +1997-09-23 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in (objs): Add new C file widget.o. + +1997-09-22 SL Baur <steve@altair.xemacs.org> + + * editfns.c (vars_of_editfns): New feature 'ampersand-full-name + declared if AMPERSAND_FULL_NAME configuration option is enabled. + + * callproc.c (vars_of_callproc): Update docstring of `data-directory'. + +Sun Sep 21 14:14:44 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * lisp.h: underspecify lisp_fn_t function prototype + to avoid compiler errors in inline_funcall_subr(). + + * eval.c (Fprogn): Walk forms list with XCDR, access + with XCAR. Check forms list CONSP, so that XCDR and XCAR are + safe. + + * eval.c (Fsetq): replace Flength call with for-loop + to compute list length. Walk arg list with XCDR, + access with XCAR. Check arg list with CONSP, so that + XCDR and XCAR are safe. + + * eval.c: New macro inline_funcall_subr, an inline + version of funcall_subr + primitive_funcall. + + * eval.c (Feval): replace Flength call with for-loop + to compute list length. Use XCAR and XCDR in some + places where it is safe to do so. Use + inline_funcall_subr() in place of funcall_subr(). + + * eval.c (funcall_recording_as): Use XCAR instead of + Fcar where it was safe. + + * eval.c (Fapply): replace Flength call with for-loop + to compute list length. + + * eval.c (apply_lambda):Use XCAR and XCDR in some + places where it is safe to do so. + + * eval.c (funcall_lambda): Walk param list with XCDR, access + with XCAR. Check param list CONSP, so that XCDR and XCAR are + safe. + + * symbols.c (find_symbol_value): return quickly if no + symbol magic is involved, to avoid the expensive call + to find_symbol_value_1. + + * symbols.c (store_symval_forwarding): don't call + reject_constant_symbols unless there is a chance a + constant symbol is involved. This break the + encapsulation of the constants check, but symbol stores + are used heavily and speed is most important than + cleanliness in this case. + +1997-09-21 Joel Peterson <tarzan@aosi.com> + + * menubar.c (normalize-menu-item-name): New function. + +1997-09-21 SL Baur <steve@altair.xemacs.org> + + * keymap.c (get_relevant_extent_keymaps): Previous patch reversed. + +1997-09-20 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in (xemacs): Adoption of shadow.el to print + load-path shadowings after successful dump. + +1997-09-20 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (scroll_conservatively): New variable. + (redisplay_window): Use it. + +1997-09-16 SL Baur <steve@altair.xemacs.org> + + * events.c (Fmake_event): Add default case, remove unused variables. + +1997-08-21 Jan Vroonhof <vroonhof@math.ethz.ch> + + * extents.c (extent_fragment_update): Trigger one_shot_function + + * extents.c (set-extent-one-shot-function): New function + + * extents.h (struct extent_auxiliary): Added one_shot_function + + * extens.c: Added one_shot_function to assesor functions. + +1997-09-14 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fexpand_file_name): Don't treat "//" and "~/" in the + middle of path specially. + +1997-09-10 Hrvoje Niksic <hniksic@srce.hr> + + * event-stream.c (inhibit_input_event_recording): New boolean + variable. + (Fnext_event): Use it. + +1997-09-13 Hrvoje Niksic <hniksic@srce.hr> + + * fns.c (Fmapc): Renamed from Fmapc_internal. + +1997-09-10 Hrvoje Niksic <hniksic@srce.hr> + + * database.c (Fmake_database): Expand FILE. + + * redisplay.c (window-system): Warn against using it. + +1997-09-08 SL Baur <steve@altair.xemacs.org> + + * emacs.c (PACKAGE_PATH): Reverse PACKAGE_PATH. + Suggested by Colin Rafferty <craffert@ml.com> + +1997-09-03 SL Baur <steve@altair.xemacs.org> + + * print.c (print_internal): Special treatment for C-\. + +1997-08-13 P E Jareth Hein <jareth@camelot-soft.com> + + * insdel.c (buffer_delete_range): Changed the location where point + was actually moved to after all other movement handling. This + prevents a MULE related crash in VALID_BYTIND. + +1997-08-11 SL Baur <steve@altair.xemacs.org> + + * doc.c (Fsnarf_documentation): Semi-clarify types of weird + functions. + +1997-08-05 Jens-Ulrik Holger Petersen <petersen@kurims.kyoto-u.ac.jp> + + * eval.c (vars_of_eval): Updated docstring for `debug_on_error' to + mention `debug-ignored-errors'. + +1997-08-01 SL Baur <steve@altair.xemacs.org> + + * emacsfns.h: Fix declaration. + + * event-stream.c (syms_of_event_stream): HAVE_MENUBARS not + HAVE_MENUBAR. + +1997-07-31 SL Baur <steve@altair.xemacs.org> + + * frame-x.c (x_offix_drop_event_handler): Use stderr_out instead + of fprintf. + + * mule-coding.c (parse_iso2022_esc): Add abort() trap on unhandled + condition. + + * mule-wnnfns.c (Fwnn_dict_search): Remove unused variable. + (Fwnn_hindo_update): Ditto. + (Fwnn_inspect): Ditto. + (Fwnn_bunsetu_henkou): Ditto. + + * eval.c (call_with_suspended_errors): Fix Gcc warning: + argument `retval' might be clobbered by `longjmp' or `vfork' + +1997-07-30 SL Baur <steve@altair.xemacs.org> + + * redisplay.c: `window-system' isn't going away any time soon. + +1997-07-29 SL Baur <steve@altair.xemacs.org> + + * callint.c (Fcall_interactively): Allow floating point numbers + for `n' and `N' interactive specs. + +1997-07-27 SL Baur <steve@altair.xemacs.org> + + * event-stream.c (command_builder_find_leaf): Fix typo in + HAVE_MENUBARS. + + * gui-x.c (popup_selection_callback): Fix typo in HAVE_MENUBARS. + + * event-stream.c (syms_of_event_stream): accelerate_menu needed + guards. + + * emacs.c (vars_of_emacs): Main default package directory is now + ${prefix}/lib/xemacs/packages. + +1997-07-25 David Moore <dmoore@ucsd.edu> + + * alloc.c (Fmake_byte_code): GC protect newly allocated function + when looking up filename. + +1997-07-25 SL Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Added support for linking with dmalloc. + +1997-07-25 P E Jareth Hein <jareth@camelot-soft.com> + + * xselect.c (x_atom_to_symbol): Fixed a memory corruption bug + where a possibly MULEified string was getting freed before use. + +1997-07-21 SL Baur <steve@altair.xemacs.org> + + * callproc.c: New variable Vdata_directory_list. + * emacsfns.h: Declare it. + + * fns.c (Frequire): Undo previous change. + + * print.c (print_internal): Handle circular objects like Emacs + handles them (and as documented in the Lispref). + + * database.c (Fputdatabase): Complain when `val' is not a string. + + * event-stream.c (command_builder_find_leaf): Guard menubar + accelerator stuffs with HAVE_MENUBAR. + * gui-x.c (popup_selection_callback): Ditto. + +1997-07-20 SL Baur <steve@altair.xemacs.org> + + * event-stream.c (menu_move_up): Guard menubar accelerator code + with HAVE_MENUBARS. + + * emacs.c (decode_path): New function, derived from latter portion + of decode_env_path. + (decode_env_path): Break out the naughty bits -- shouldn't do + getenv and separator parsing in one function. + New variable Vpackage_path. + (vars_of_emacs): Use it. + + * editfns.c (Fstring_to_char): Return nil instead of `0' for empty + string. + +1997-07-10 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Handle non-regular + files. + +1997-07-12 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (LOCK_OBJ): Only include filelock.[co] when + CLASH_DETECTION is defined. + +1997-07-11 Steven L Baur <steve@altair.xemacs.org> + + * emacs.c (main_1): Spelling fix. + +1997-07-10 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (dump-elcs): Shouldn't use SATISFIED hack. + (xemacs-no-site-file): Not supported any more. + (binary): New dependency for dumping XEmacs. + (xemacs): Attempt to be a little smarter about not dumping a new + XEmacs if it is not needed. + (temacs): Remove `xemacs' after success. + +1997-07-09 Hrvoje Niksic <hniksic@srce.hr> + + * extents.c: Allow non-symbol properties of extents. + +1997-07-08 Hrvoje Niksic <hniksic@srce.hr> + + * data.c (Fstring_to_number): Use `check_int_range'. + (Fstring_to_number): Would bug out on wrong type check. + +1997-07-07 Steven L Baur <steve@altair.xemacs.org> + + * data.c (Fcompiled_function_doc_string): Implement correctly. + Was forgotten cut & paste identical clone to + Fcompiled_function_interactive? + + * Makefile.in.in (alloc.o): Remove dependency on puresize_adjust.h + so alloc.c need not be recompiled when puresize changes. + + * alloc.c (PURIFIED): Use get_PURESIZE() instead of constant. + (check_purespace): Ditto. + (alloc_pure_lrecord): Ditto. + (report_pure_usage): Ditto. + (disksave_object_finalization): Ditto. + (report_pure_usage): Modify message reported when Build is + restarted due to change in PURESIZE_ADJUSTMENT. + + * puresize.h: Remove dependency on puresize_adjust.h. + (get_PURESIZE): New function -- declare it. + + * pure.c: Move final PURESIZE computation and include of + puresize_adjust.h into here so alloc.c need not be recompiled each + time the puresize is adjusted. + (get_PURESIZE): New function. + +1997-07-06 Steven L Baur <steve@altair.xemacs.org> + + * data.c (Fstring_to_number): Wrong parameter was being checked. + + * emacs.c (vars_of_emacs): Fprovide the system type as a feature. + +1997-07-03 Steven L Baur <steve@altair.xemacs.org> + + * data.c (Fstring_to_number): Fix typo. base isn't an integer. + +1997-07-01 Steven L Baur <steve@altair.xemacs.org> + + * data.c, emacsfns.h: This is the port of GNU Emacs capability. + I am still not sure what this buys us, but I guess it doesn't hurt + to have it. + From Hrvoje Niksic <hniksic@srce.hr> + + * glyphs.c (make_string_from_file): Use + insert-file-contents-literally instead of + insert-file-contents-internal. + +1997-06-30 Steven L Baur <steve@altair.xemacs.org> + + * fns.c (check_losing_bytecode): Correct reported version. + + * Makefile.in.in (${libsrc}DOC): Break up line length for stupid + make programs. + +1997-06-29 Steven L Baur <steve@altair.xemacs.org> + + * emacsfns.h: Put void in prototype. + Suggested by Ben Wing. + +1997-07-01 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * glyphs.c (make_string_from_file): must protect from + `format-alist'. + +1997-06-28 Steven L Baur <steve@altair.xemacs.org> + + * config.h.in: Back out previous change to LOSING_BYTECODE. It's + just not worth it. + +1997-06-27 Mike Scheidler <c23mts@eng.delcoelect.com> + + * s/sol2.h: Undefined _XOPEN_SOURCE for Solaris 2.4. + +1997-06-28 Hrvoje Niksic <hniksic@srce.hr> + + * abbrev.c (abbrev_match): New function. + (abbrev_oblookup): New function. + (obarray_has_blank_p): New function. + (abbrev_count_case): New function. + (Fexpand_abbrev): Use them. Allow abbreviations to contain + arbitrary characters. + +1997-06-28 Steven L Baur <steve@altair.xemacs.org> + + * config.h.in: LOSING_BYTECODE will not be compiled into XEmacs. + + * doc.c (Fsnarf_documentation): Remove VMS dependent stuff for + cleanliness. + +1997-06-28 Hrvoje Niksic <hniksic@srce.hr> + + * print.c (Ferror_message_string): Simplify. + +1997-06-27 Steven L Baur <steve@altair.xemacs.org> + + * symbols.c (Fdefine_function): Correct docstring. + (Fsetplist): Ditto. + (Ffset): Ditto. + (Fsetq_default): Ditto. + +1997-06-27 Hrvoje Niksic <hniksic@srce.hr> + + * eval.c (skip_debugger): Removed comment and #ifdef-ed code. + (signal_call_debugger): Call skip_debugger after wants_debugger. + (signal_call_debugger): Gcpro cons sent to skip_debugger. + +1997-06-26 Steven L Baur <steve@altair.xemacs.org> + + * process.c (create_process): Default to fork instead of vfork. + + * callproc.c (Fcall_process_internal): Default to fork instead of + vfork. + + * emacsfns.h: Add declarations of Ferror_message_string(), + Frunning_temacs_p(). + + * eval.c: Remove declarations of Ferror_message_string(), + Frunning_temacs_p(). + + * Makefile.in.in (${libsrc}DOC): Correct dependency for the docfile. + (${mo_dir}emacs.po): Remove obsolete references to lisp source. + +1997-06-29 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * mule-charset.c: Modify charset DOC-strings to be more detailed. + +1997-06-25 Steven L Baur <steve@altair.xemacs.org> + + * alloc.c (Flist): Optimize. + From Hrvoje Niksic. + +1997-06-23 Steven L Baur <steve@altair.xemacs.org> + + * lisp.h: Get uintptr_t stuffs because it is needed for including + emacsfns.h. + + * sysdep.h: Removed uintptr_t stuffs. + +1997-06-22 Steven L Baur <steve@altair.xemacs.org> + + * fns.c (concat): Replace Fcar/Fcdr with XCAR/XCDR. + (Fnreverse): Ditto. + (internal_equal): Ditto. + (internal_old_equal): Ditto. + (Fnconc): Ditto. + (Freverse): Saner implementation. + From Hrvoje Niksic <hniksic@srce.hr> + + * s/linux.h: getpgrp with glibc is now properly detected by + configure. + Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> + +1997-06-20 Steven L Baur <steve@altair.xemacs.org> + + * events.c: Remove declaration of Qempty. + +1997-06-20 Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> + + * frame-x.c, EmacsFrame.c, menubar-x.c, redisplay-x.c, scrollbar-x.c: + Make 64 bit clean. + +1997-06-19 Martin Buchholz <mrb@eng.sun.com> + + * config.h.in: + - Autodetect X defines using xmkmf. + - Compute rpath on *bsd* systems as well. + - rewrite PRINT_VAR m4 macro. + - detect sizes of void* and long long for future use by unex*.c + * regex.c: _GNU_SOURCE may be defined by config.h; don't redefine. + +1997-06-18 Martin Buchholz <mrb@eng.sun.com> + + * Makefile.in: + * s/*.h: + * m/*.h: + * config.h.in: + * emacs.c: + * version.sh: + * configure.in: Another rewrite. + - support powerpcle (Solaris on ppc) + - Now just have one s/sol2.h for all Solaris versions + - Specifying colon-separated directories actually works now. + - OS_RELEASE is a new define to avoid proliferation of s&m files. + - extract more stuff from s&m files. + - more debugging info + - More changes to avoid the `echo -e' problem + - Add more tests: fcntl.h AC_TYPE_*, AC_FUNC_GETPGRP + - Back out -lPW test. + - More paranoid xpm test + - Put version information in version.sh instead of version.el + - Make quoted pre-processor string tokens out of all macro values + to be used only by configure. + * xmu.c: DON'T use Xos.h + * sysdep.c (wait_for_termination): + * search.c: + * editfns.c: + * console-*: + +1997-06-18 Steven L Baur <steve@altair.xemacs.org> + + * unexelfsgi.c: Some things that Needed To Be Done(tm) into + unexelfsgi: + - support for .sbss section (no more -G 0 needed, 0.00001% speed + increase) + - support for Elf64 (64bits executables) + From Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> + + * fns.c (Fmapvector): New function converted from Lisp. + From Hrvoje Niksic <hniksic@srce.hr> + +Wed Jun 18 16:42:10 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Convert two missed C style comments. + (LIBES): Remove LIBS_DEBUG which is no longer defined. + (LIBES): lwlibs_libs was misspelled. + +1997-06-17 Hrvoje Niksic <hniksic@srce.hr> + + * eval.c (vars_of_eval): New variable Vdebug_ignored_errors. + (skip_debugger): New function; use Vdebug_ignored_errors. + (signal_call_debugger): Use it. + +1997-06-17 Steven L Baur <steve@altair.xemacs.org> + + * emacs.c (vars_of_emacs): Moved symbols emacs-version, + emacs-major-version, and emacs-minor-version from version.el to + here. + + * general.c (syms_of_general): New symbols and, not, and or. + + * emacsfns.h: New symbols Qand, Qnot, Qor. + + * Makefile.in.in: Call temacs to compute lisp libraries to + include in the DOC file. + +1997-06-15 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Remove explicit mention of auto-autoloads.el. + +Sat Jun 14 21:55:27 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * console.c (Fselect_console): + Check DEVICE_SELECTED_FRAME of console's selected + device for non-nil value before using it as a frame. + +1997-06-13 Steven L Baur <steve@altair.xemacs.org> + + * data.c (eq_with_ebola_notice): Remove horrible hack to avoid + unavoidable Ebola notices in the bytecompiler. + + * emacsfns.h: Fextent_in_region_p: Move. + + * keymap.c Fextent_in_region_p: Move. + +Fri Jun 13 00:38:29 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * console.c (Fsuspend_console): + Disable input on ttys. Hide unhidden frames. + + * console.c (Fresume_console): + Enable input on ttys. Raise the device selected frame. + +Fri Jun 13 00:25:46 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * process.c (status_notify): + Revert back to the code that does not use + save_excursion_restore. Just bounds check opoint + instead. + + * process.c (read_process_output): + Bounds check saved clip region and point values for + validity before using them. Call Fwiden before calling + Fnarrow_to_region to insure values will not be out of + range. + +1997-06-12 Steven L Baur <steve@altair.xemacs.org> + + * alloc.c: Make the GC cursor appear on all frames. + From Hrvoje Niksic <hniksic@srce.hr> + +1997-06-11 Steven L Baur <steve@altair.xemacs.org> + + * data.c (eq_with_ebola_notice): Add byte-optimize-logmumble and + byte-compile-push-constant to list of ignored functions. + +1997-06-11 Hrvoje Niksic <hniksic@srce.hr> + + * bytecode.c (Bsave_current_buffer): Register. + (Fbyte_code): Do action. + + * editfns.c (Fsave_current_buffer): New SUBR. + +1997-06-11 Steven L Baur <steve@altair.xemacs.org> + + * syntax.c (Fchar_syntax): Handle case of being passed nil. + + * data.c (eq_with_ebola_notice): Add more legitimate places in the + bytecompiler that should not get Ebola notices. + +Tue Jun 10 00:34:40 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * process.c (status_notify): + Use record_unwind_protect and save_excursion_restore to + handle the point and buffer restoration. Cleaner. Doesn't + crash the editor if before/after-change-functions change + things behind our back. + +1997-06-10 Steven L Baur <steve@altair.xemacs.org> + + * data.c (vars_of_data): Set Ebola warning backtrace limit to 16. + (eq_with_ebola_notice): Bypass Ebola warnings for special + bytecompiler functions where they are 100% spurioius. + +1997-06-11 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * Makefile.in.in: Use lisp/mule/language/misc-lang.el instead of + lisp/mule/ipa-hooks.el. + +1997-06-10 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * Makefile.in.in: Use lisp/mule/language/thai.elc instead of + lisp/mule/thai-hooks.elc. + +1997-06-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> + + * Makefile.in.in: Use lisp/mule/language/chinese.el, + lisp/mule/language/cyrillic.el, lisp/mule/language/european.el, + lisp/mule/language/greek.el, lisp/mule/language/japanese.el and + lisp/mule/language/korean.el instead of + lisp/mule/chinese-hooks.el, lisp/mule/cyrillic-hooks.el, + lisp/mule/european-hooks.el, lisp/mule/greek-hooks.el, + lisp/mule/japanese-hooks.el and lisp/mule/korean-hooks.el. + +1997-06-09 Steven L Baur <steve@altair.xemacs.org> + + * keymap.c: Declare Fextent_in_region_p. + + * s/linux.h: Can't use ORDINARY_LINK in linux until usage of -lPW + is determined more sensibly. + +1997-06-09 Hrvoje Niksic <hniksic@srce.hr> + + * keydefs.c (get_relevant_extent_keymaps): Choose correct keymap + at extent boundaries. + +Mon Jun 9 19:35:19 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * redisplay.c (pixel_to_glyph_translation): + Fixed off by one error in computation of closest + position when mouse is in the frame's right-side + border area. + +Sat Jun 7 22:07:41 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.c (delete_frame_internal): + Calling Fselect_frame isn't sufficient to set the + frame device's selected frame if the frame we're + selecting is on a different device. Call + set_device_selected_frame apprpriately in that case. + Also don't set the frame device's selected frame to a + frame that's on another device. + +1997-06-09 Steven L Baur <steve@altair.xemacs.org> + + * sysdep.c: MS Windows NT doesn't (yet) do child TTY processes. + From David Hobley <davidh@wr.com.au> + +Sat Jun 7 22:00:54 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * device-x.c (x_delete_device): + Add an EQ check so that we don't set Vdefault_x_device + back to the device we're deleting. + +1997-06-05 Steven L Baur <steve@altair.xemacs.org> + + * frame.c (Fmake_frame): Correct checking of first_frame_on_device. + From Hrvoje Niksic <hniksic@srce.hr> + +1997-06-04 Steven L Baur <steve@altair.xemacs.org> + + * device.c (delete_deviceless_console): New function. + (Fmake_device): Use it. Fix problem of creation of a frame on a + tty where something fails during initialization. + From Kyle Jones <kyle_jones@wonderworks.com> + + * specifier.c (Fboolean_specifier_p): Correct spelling in + Docstring (synch from Infodock 3.5). + + * frame.c: Update docstring. + +1997-06-03 Hrvoje Niksic <hniksic@srce.hr> + + * sysdep.c (tty_init_sys_modes_on_device): Initialize it. + + * console.c (complex_vars_of_console): New variable + `tty-erase-char'. + + * conslots.h (MARKED_SLOT): New slot. + +Mon Jun 2 02:49:44 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.c, frame-tty.c + Treat tty frames like a cross between stacked window + system frames and frames on virtual displays. All + frames but the top frame are visible but hidden by + default. next-frame and previous-frame now skip + invisible tty frames by default. raise-frame and + lower-frame now control whether a frame is hidden + instead of whether it is visible. Frames are no + longer automatically raised when they are selected. + After a raise/lower operation selection of the new + topmost frame is deferred until a selection magic + event is read. + +Sat May 31 19:59:49 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * frame-tty.c (tty_init_frame_3: + Defer selection of the newly created frame until + an event is read. + +1997-06-02 Steven L Baur <steve@altair.xemacs.org> + + * search.c (REGEXP_CACHE_SIZE): Bump to 20. + Suggested by Karl M. Hegbloom <karlheg@inetarena.com> + +1997-05-30 Steven L Baur <steve@altair.xemacs.org> + + * device-tty.c (tty_asynch_device_change): + * gpmevent.c (connect_to_gpm): Makes it so it doesn't **ck up the + mouse stuff on an XTerm, and resets the internal GPM variables for + the width and height of the screen when we get a sigwinch. + From William M. Perry <wmperry@aventail.com> + +1997-05-29 Steven L Baur <steve@altair.xemacs.org> + + * eval.c (Fprogn): Delete mocklisp support. + (Fwhile): Ditto. + (Fcommandp): Ditto. + (Feval): Ditto. + (funcall_recording_as): Ditto. + (funcall_lambda): Ditto. + + * elhash.c (verify_function): Delete mocklisp support. + + * doc.c (Fdocumentation): Delete mocklisp support. + + * data.c (wrong_type_argument): Delete mocklisp support. + + * config.h.in: Delete mocklisp support. + + * callint.c (Fcall_interactively): Delete mocklisp support. + + * emacs.c (main_1): Delete mocklisp initialization. + + * symsinit.h: Delete mocklisp.c decls. + + * Makefile.in.in: Delete mocklisp stuffs. + +Thu May 29 03:00:16 1997 Kyle Jones <kyle@crystal.wonderworks.com> + + * frame.c (change_frame_size_1): + Drop code that returns immediately if the old frame + size is equal to the new. + Leave the minibuffer height the same if the frame has + been initialized, and the minibuffer height is tall + enough to display at least one line of text in the default + font, and the old minibuffer height is a multiple of the + default font height. This should cause the minibuffer + height to be recomputed on font changes but not for + other frame size changes, which seems reasonable. + +1997-05-26 Steven L Baur <steve@altair.xemacs.org> + + * event-stream.c (Frecent_keys): Take optional parameter to + indicate how many keystrokes to return. + (Frecent_keys_ring_size): New function returns the maximum number + of events `recent-keys' can return. + (Fset_recent_keys_ring_size): New function. Modifies the above. + + From Hrvoje Niksic <hniksic@srce.hr> + + * event-stream.c: New variable recent_keys_ring_size replacing a + hard-coded macro. + +1997-05-23 Steven L Baur <steve@altair.xemacs.org> + From Hrvoje Niksic <hniksic@srce.hr> + + * sysdep.c: Correction of subprocess support when compiling + without ttys. + +1997-05-21 Steven L Baur <steve@altair.xemacs.org> + + * editfns.c (format-time-string): Update DOCstring. Make time + parameter optional. + +Wed May 21 11:58:17 1997 Kyle Jones <kyle@crystal.wonderworks.com> + + * insdel.c (signal_first_change): + record the current buffer for the unwind instead of the + buffer that's about to become the current buffer. + +Tue May 20 23:23:39 1997 Steven L Baur <steve@altair.xemacs.org> + + * frame.c: Correct spelling typo in docstring. + +Mon May 19 03:40:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> + + * redisplay.c: (window_line_number) + don't prefer buffer point value over window point + value unless window, frame, device and console are + all selected. + + * redisplay.c: (redisplay_window) + don't prefer buffer point value over window point + value unless window, frame, device and console are + all selected. + + * redisplay.c: (create_text_block) + don't prefer buffer point value over window point + value unless window, frame, device and console are + all selected. + +Sun May 18 13:03:50 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (distclean): remove xemacs-version.h. + +Sun May 11 13:38:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> + + * frame.c (change_frame_size_1): + return without doing anything if the frame has benn + initialized and the new frame size is same as the + current frame size. + +Sat May 17 19:35:48 1997 Steven L Baur <steve@altair.xemacs.org> + + * device-tty.c (tty_asynch_device_change): Make + `no-redraw-on-reenter' work. Patch from Hrvoje Niksic. + +Sat May 17 23:39:03 1997 Hrvoje Niksic <hniksic@srce.hr> + + * frame-tty.c: Support multiple frames. + + * redisplay.c (decode_mode_spec): New coding `%N'. + +Sun May 11 23:36:08 1997 Steven L Baur <steve@altair.xemacs.org> + + * buffer.c: Rename Vdelete_auto_save_files to coding standards. + + * frame.c: Rename Vallow_deletion_of_last_visible_frame to coding + standards. + +Thu May 8 19:10:03 1997 Steven L Baur <steve@altair.xemacs.org> + + * frame.c: Change internal type of + `allow-deletion-of-last-visible-frame' to boolean. + + * buffer.c: Change internal type of `delete-auto-save-files' to + boolean. + +Sat May 3 15:28:56 1997 Steven L Baur <steve@altair.xemacs.org> + + * redisplay.c: `column-number-start-at-one' is a user customizable + variable. + + * event-stream.c (vars_of_event_stream): `focus-follows-mouse' is + a user customizable variable. + + * cmds.c (vars_of_cmds): `signal-error-on-buffer-boundary' is a + user customizable variable. + + * lread.c (parse_integer): Fix incorrect upper bounds on loop. + +Thu May 1 18:59:20 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c (Fmake_subwindow): Update error message. + +Wed Apr 30 18:07:18 1997 Steven L Baur <steve@altair.xemacs.org> + + * lread.c: New variable featurep. + (read1): Add processing for #- and #+. + (read_list_conser): Handle case where a feature test has removed a + portion of the input stream. + (vars_of_lread): New feature `xemacs'. + + * fns.c (Ffeaturep): Remove function when using #-, #+ feature + reader syntax. + + * Makefile.in.in (lisp): Put features.elc in the dump list. + +Thu May 1 05:24:25 1997 Hrvoje Niksic <hniksic@srce.hr> + + * buffer.c (Fmake_indirect_buffer): Don't pretend it's there. + +Fri Apr 25 10:53:07 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c: libpng already includes setjmp.h, so don't attempt + to include it twice. + +Thu Apr 24 09:14:13 1997 Steven L Baur <steve@altair.xemacs.org> + + * balloon-x.c (vars_of_balloon_x): Don't override advertised and + supported balloon-help. + +Tue Apr 22 11:54:02 1997 Steven L Baur <steve@altair.xemacs.org> + + * emacs.c (main_1): Add syms_of_balloon_x and guard with + HAVE_X_WINDOWS. + (main_1): Add vars_of_balloon_x and guard with HAVE_X_WINDOWS. + + * process.c (get_process): This function can be passed a BUFFER as + a parameter. + +Tue Apr 22 01:32:00 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> + + * menubar-x.c (pre_activate_hook): + set in_menu_callback around call to call to + menu_item_descriptor_to_widget_value. + + * event-stream.c (Fnext_event): + signal error if in_menu_callback non-nil to avoid + reentering the menubar code and causing a crash later. + + * cmdloop.c (command_loop_3): + signal error if in_menu_callback non-nil to avoid + inflooping calling Fnext_event, which will signal an + error if the situation is not caught earlier. + +Tue Apr 22 08:22:22 1997 Hrvoje Niksic <hniksic@srce.hr> + + * balloon-x.c, balloon_help.c, balloon_help.h: Modified to conform + to XEmacs coding standards. + +Thu Apr 17 17:16:34 1997 Steven L Baur <steve@altair.xemacs.org> + + * balloon-x.c: New file from Douglas Keller. + + * balloon_help.c: New file from Douglas Keller. + + * balloon_help.h: New file from Douglas Keller. + +Sun Apr 13 09:56:54 1997 Steven L Baur <steve@altair.xemacs.org> + + * emacs.c (shut_down_emacs): Advertise using send-pr as the + mechanism for submitting a bug report. + + * Makefile.in.in: Handle pathological case of mis-autodetected + TOOLTALK. + +Sun Apr 13 11:33:34 1997 David Moore <dmoore@ucsd.edu> + + * regex.c (re_search_2): Prevent incorrect matching and infinite + loop with \\` and MULE. + +Sat Apr 12 05:57:51 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Dump cus-start.elc with XEmacs. + + * event-Xt.c (x_to_emacs_keysym): Allow for dead keys. (Patch + from Joachim Schnitter). + + * Makefile.in.in: Allow native sound for BSD/I. + + * linuxplay.c: Rename global sndbuf to linuxplay_sndbuf. + Make sndbuf, mix_fd, audio_vol, audio_fd, audio_dev non-static to + avoid dump time lossage. + (sndcnv8U_2mono): Rename global sndbuf to linuxplay_sndbuf. + (sndcnv8S_2mono): Ditto. + (sndcnv2monounsigned): Ditto. + (sndcnv2unsigned): Ditto. + (sndcnvULaw_2mono): Ditto. + (sndcnv16_2monoLE): Ditto. + (sndcnv16_2monoBE): Ditto. + (sndcnv2byteLE): Ditto. + (sndcnv2byteBE): Ditto. + (sndcnv2monobyteLE): Ditto. + (sndcnv2monobyteBE): Ditto. + (linux_play_data_or_file): Ditto. + (linux_play_data_or_file): Ditto. + (linux_play_data_or_file): Ditto. + +Sat Apr 12 01:59:14 1997 Kyle Jones <kyle_jones@WonderWorks.COM> + + * glyphs-x.c, glyphs.c, glyphs.h: Added domain parameter to all + image *_instantiate functions so that the domsin is available to + specifier lookups in the various instantiator functions. Passed + domain argument to extract_xpm_color_names for the + Fspecifier_instance call. + +Fri Apr 11 20:02:40 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c (extract_xpm_color_names): Add checking to handle + case for when XEmacs is in initialization. + + * events.c (Fevent_type): Remove handling for dead_event. + (Fevent_properties): Remove handling for dead_event. + +Thu Apr 10 20:41:53 1997 David Moore <dmoore@ucsd.edu> + + * ntproc.c (sys_spawnve): Clean up GC protection. + + * fileio.c (Ffile_executable_p): Clean up GC protection. + +Thu Apr 10 12:48:49 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs.c: Undo duplicate declaration of display_table. + + * glyphs.h: Back out name change of autodetect to + automatic_conversion. + + * glyphs.c: Back out name change of autodetect to + automatic_conversion. + + * glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out + name change of autodetect to automatic_conversion. + + * events.c (Fevent_properties): Do something sensible for + dead_event and empty_event. + + * general.c: Restore autodetect symbol. + + * emacsfns.h: Declare new symbol Qempty. + + * general.c: Add symbol to identify empty events. + + * events.c (Fevent_type): Don't abort() when presented with an + empty_event or a dead_event. + +Mon Apr 7 18:12:26 1997 David Moore <dmoore@ucsd.edu> + + * xmu.c: Renamed local `initialized' variable to `hex_initialized' + and don't assign to static, as some compilers crash. + (initHexTable): Use it. + (XmuReadBitmapData): Use it. + +Sun Apr 6 18:03:47 1997 David Moore <dmoore@ucsd.edu> + + * fileio.c (Fexpand_file_name): Clean up GC protection. + + * dired.c (Fdirectory_files): Clean up GC protection. + + * insdel.c (signal_after_change): Don't run after_change_functions + on special Vprin1_to_string_buffer. + (signal_before_change): Ditto for before_change_functions. + +Fri Apr 4 14:41:17 1997 David Moore <dmoore@ucsd.edu> + + * buffer.c (Fkill_buffer): Don't kill special + Vprin1_to_string_buffer. + +Mon Apr 7 19:13:40 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (xemacs-version.h): Added to rename main_1 to + something reflecting the XEmacs version in use (for lusers + reporting crashes who forget to include the version number). + + * toolbar.c (specifier_vars_of_toolbar): Strip HAVE_NEXTSTEP. + + * sound.c: Strip HAVE_NEXTSTEP. + + * redisplay.c (init_redisplay): Strip HAVE_NEXTSTEP. + + * faces.c: Strip HAVE_NEXTSTEP. + (update_EmacsFrame): Ditto. + + * events.c (event_equal): Strip HAVE_NEXTSTEP. + (event_hash): Ditto. + (format_event_object): Ditto. + + * event-stream.c (init_event_stream): Strip HAVE_NEXTSTEP. + + * emacs.c (main_1): Strip HAVE_NEXTSTEP. + Attempt hack to change name of main_1 to something reflecting the + current version for lusers who don't include version numbers with + stack backtraces. + + * device.c: Strip HAVE_NEXTSTEP. + + * console.c (Fconsole_type): Remove reference to unimplemented ns + windows type. + +Sun Apr 6 08:08:33 1997 Steven L Baur <steve@altair.xemacs.org> + + * frame.h: Strip NeXTStep stuff. + + * device.h: Strip NeXTStep stuff. + + * console.h: More NeXTStep trimming. + + * console-x.h: Strip Epoch stuff. + + * symsinit.h (init_sunpro): Strip vms/Epoch stuff. + + * events.h (union magic_data): Strip NeXTStep stuff. + + * console.h: Strip NeXTStep stuff. + + * config.h.in: Strip unimplemented NeXTStep/Epoch stuff out. + + * Makefile.in.in: Remove unused NeXTStep support. It's all in the + cvs attic if someone wishes to revive it. + (epoch.o): Remove last vestiges of non-existent epoch support. + +Sat Apr 5 17:16:49 1997 Steven L Baur <steve@altair.xemacs.org> + + * fns.c: Correct DOC string to not equate integers and + characters. + +Thu Apr 3 08:01:50 1997 Steve Carney <carney@gvc.dec.com> + + * s/decosf4.0-static.h: New file. + +Tue Apr 1 12:22:32 1997 Steven L Baur <steve@altair.xemacs.org> + + * config.h.in: MAIL_USE_POP, KERBEROS, HESIOD -- new parameters to + deal with upgraded movemail.c. + +Fri Mar 28 19:25:22 1997 Steven L Baur <steve@altair.xemacs.org> + + * inline.c: Restore this blasphemous file. + + * Makefile.in.in (inline.o): Restore the bletcherous + inline.c. + +Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> + + * fileio.c (barf_or_query_if_file_exists): GC fixes. + (Ffile_readable_p): ditto. + (Ffile_writable_p): ditto. + (Ffile_symlink_p): ditto. + (Ffile_accessible_directory_p): ditto. + + * sound.c (Fplay_sound_file): Fix up gc problems with file + handlers. + + * buffer.c (Fkill_buffer): Fix up buffer killing problems with + file handlers. + + * sysdep.c (sys_subshell): Fix up gc problems with file handlers. + + * callproc.c (Fcall_process_internal): Fix up gc problems with + file handlers. +Tue Mar 25 17:16:14 1997 Steven L Baur <steve@altair.xemacs.org> + + * ralloc.c (MHASH): Make 64bit Alpha happier. + +Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> + + * fileio.c (auto_save_expand_name_error): New function. + (auto_save_expand_name): Ditto. + (Fdo_auto_save): Protect against an error in Fexpand_file_name + from kicking us inappropriately out of auto-save. + +Mon Mar 24 21:50:13 1997 Steven L Baur <steve@altair.xemacs.org> + + * s/linux.h (GETPGRP_NEEDS_ARG): Define if compiling with glibc + 2.1 (suggested by Andreas Jaeger). + +Mon Mar 24 12:40:56 1997 David Moore <dmoore@ucsd.edu> + + * profile.c: Fixed some comments about GC status of functions. + + * profile.c (inside_profiling): New variable to lock the + profiling table. + (sigprof_handler): Check it. + (Fget_profiling_info): Set it. + (mark_profiling_info): Set it. + (Fclear_profiling_info): Set it. + + * eval.c (PUSH_BACKTRACE): New macro. + (POP_BACKTRACE): Ditto. + + * eval.c (Fcommand_execute): Use them and fix problem with + backtrace_list build ordering requirements for profiling code. + (Feval): Ditto. + (funcall_recording_as): Ditto. + +Fri Mar 21 20:19:09 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: strip inline.o. + +Fri Mar 21 18:54:04 1997 David Moore <dmoore@ucsd.edu> + + * fileio.c (call2_check_string_or_nil): New function. + (Ffile_name_directory): Use it. + (Fsubstitute_in_file_name): Use it. + + * fileio.c (Fexpand_file_name): GC protect against file handlers. + (Fdelete_file): ditto + (Ffile_writable_p): ditto + (Ffile_directory_p): ditto + (Ffile_regular_p): ditto + (Fset_file_modes): ditto + (Ffile_newer_than_file_p): ditto + (Fset_visited_file_modtime): ditto + + *fileio.c (Ffile_truename): Unneccessary GC protection. + (Fdelete_directory): Fix broken caller-must-GC-protect call. + + * filelock.c (lock_file): New comments warning that this function + may kill the current buffer. + (unlock_file): ditto + (Flock_buffer): ditto + (Funlock_buffer): ditto + (unlock_buffer): ditto + + * filelock.c (unlock_all_files): GC protect against unlock_file + killing random buffers. + + * buffer.c (Fkill_buffer): GC protect against unlock_file killing + the buffer. + + * insdel.c (prepare_to_modify_buffer): GC protect against + lock_file() killing the buffer. + +Fri Mar 21 19:11:15 1997 Steven L Baur <steve@altair.xemacs.org> + + * mule-coding.c (vars_of_mule_coding): Add + enable-multibyte-characters for MULE compatibility. + +Thu Mar 20 13:25:26 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c: Implement a dummy function to insert a fake EOI + marker if called. Based on code from William Perry. + +Wed Mar 19 10:49:05 1997 Steven L Baur <steve@altair.xemacs.org> + + * menubar-x.c (pre_activate_callback): Attempt to avoid recursive + expansion of submenus via :filter expansion. + + * glyphs-x.c (x_print_image_instance): Move define of + HAVE_SUBWINDOWS to glyphs-x.h. + (our_skip_input_data): Implement with some error checking based on + patch by Dominic Froud. + + * glyphs-x.h (HAVE_SUBWINDOWS): Define to keep inline.c from + barfing. + +Tue Mar 18 11:15:23 1997 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c: Strip unimplemented subwindows code. + +Mon Mar 17 15:40:12 1997 David Moore <dmoore@ucsd.edu> + + * glyphs-x.c (our_own_dgif_slurp_from_gif2x11_c): Only get the + first image out of a multi-image or animated gif. + +Mon Mar 17 15:27:26 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (xemacs): Invert sense of test for successful + completion of XEmacs dump. + +Sat Mar 15 14:21:39 1997 David Moore <dmoore@ucsd.edu> + + * fileio.c (Fdo_auto_save): Protect against file handlers which + may kill the buffer being saved or otherwise modify Vbuffer_alist. + +Sat Mar 15 15:32:51 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Add auto-customize.elc. + +Fri Mar 14 19:10:37 1997 David Moore <dmoore@ucsd.edu> + + * extents.c (extent_changed_for_redisplay): New parameter. + (extent_changed_for_redisplay): Notify redisplay if invisible text + has become visible. + (extent_maybe_changed_for_redisplay): New parameter. + (extent_attach): Use it. + (extent_detach): Use it. + (Fset_extent_parent): Use it. + (set_extent_invisible): Use visibility change parameter. + (Fset_extent_face): Ditto. + (Fset_extent_mouse_face): Ditto. + (set_extent_glyph): Ditto. + (do_highlight): Ditto. + +Thu Mar 13 10:40:37 1997 Steven L Baur <steve@altair.xemacs.org> + + * s/sunos4-1-4-shr.h: New file. + + * s/sunos4-1-4.h: New file. + + * s/sunos4-1.h (BROKEN_SIGIO): Define. + +Wed Mar 12 14:29:40 1997 Steven L Baur <steve@altair.xemacs.org> + + * emacs.c (fatal_error_signal): (mostly) useless check on + /usr/proc/bin/pstack removed. + + * s/bsdos3.h: New file for BSDI 3.0. + + * editfns.c (Fchar_equal): Correct DOC string. + (Fchar_Equal): (char=) CL Case sensitve comparison added. + + * data.c (Fcharacterp): Make DOC string less confrontational. + +Mon Mar 10 23:51:04 1997 Martin Buchholz <mrb@eng.sun.com> + + * input-method-motif.c (XIM_init_frame): Fix XIM crash on some + versions of X11R6 XIM. + +Sun Mar 9 21:46:53 1997 Tomasz J. Cholewo <t.cholewo@ieee.org> + + * minibuf.c (regexp_ignore_completion_p): Reverse meaning of + completion-regexp-list. + +Thu Mar 6 19:15:29 1997 Steven L Baur <steve@altair.xemacs.org> + + * data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!! + message. + +Wed Mar 5 16:11:22 1997 Steven L Baur <steve@altair.xemacs.org> + + * process.c (get_internet_address): Put upper bounds on attempting + to get system name (similar to nearly identical processing in + sysdep.c. + +Tue Mar 4 17:30:48 1997 Steven L Baur <steve@altair.xemacs.org> + + * puresize.h (PURESIZE): *Must* use angle brackets for + puresize_adjust.h or build will lose with --srcdir. + + * alloc.c (report_pure_usage): Adjust error message printed when + too low on PURESIZE. + + * Makefile.in.in: Move site-packages. + Add vpath correction for puresize_adjust.h. + +Mon Mar 3 20:37:54 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Remove custom-xmas.elc. + +Sat Mar 1 01:20:39 1997 Steven L Baur <steve@altair.xemacs.org> + + * doc.c (weird_doc): Don't print `duplicate' messages as they are + almost always due to symbols that are both autoloaded and dumped. + + * data.c (syms_of_data): char-int and int-char -> char-to-int and + int-to-char. + +Thu Feb 27 21:48:32 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (xemacs): Loop when dumping until SATISFIED. + + * lstream.c (signal_simple_internal_error): Remove the abort(). + + * alloc.c (Fpurecopy): Make it work for byte compiled functions. + (Fgarbage_collect): Disable garbage collection if we're dumping + XEmacs and we've overflowed purespace. + +Thu Feb 27 14:14:53 1997 Darrell Kindred <dkindred@cmu.edu> + + * event-Xt.c (change_frame_visibility): New function. + (handle_map_event): Use it. + (emacs_Xt_handle_magic_event): Correction of handling of + VisibilityNotify. + +Thu Feb 27 14:12:57 1997 Steven L Baur <steve@altair.xemacs.org> + + * frame-x.c (x_frame_visible_p): Reverse previous change. + +Sun Mar 2 14:01:32 1997 David Moore <dmoore@ucsd.edu> + + * regex.c (re_search_2): Properly handle crossing the buffer gap + when doing a backwards search under MULE. + +Wed Feb 26 10:24:40 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: make-docfile takes a "-i" parameter to pass + site-loaded lisp files. + + * alloc.c (report_pure_usage): Adjust restart message. + +Tue Feb 25 10:58:12 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Add PURESIZE.h to special treatment in vpath. + + * alloc.c (PURESIZE_h): New function. + (report_pure_usage): Use it. If PURESIZE is not the right amount, + use the correct value. + + * puresize.h: Use dynamic computation of PURESIZE. + + * PURESIZE.h: New file. + + * fns.c (Frandom): Fix docstring. + +Mon Feb 24 17:35:05 1997 Jonathan Edwards <edwards@intranet.com> + + * process.c (record_exited_processes): Fix obvious typo in + checking for SIGCLD. + +Sun Feb 23 01:45:49 1997 Martin Buchholz <mrb@eng.sun.com> + + * scrollbar.c (update_scrollbar_instance): Fix for + all-hail-xemacs scrollbar drag bug. + + * scrollbar.c (Fscrollbar_to_bottom): Now calls Frecenter(-3) + as end-of-buffer does, instead of hostile Frecenter(0). Makes + C-button-1 on down-arrow friendlier. + +Sun Feb 23 16:56:17 1997 David Hobley <david@spook-le0.cia.com.au> + Initial MS Windows NT support. + * unexnt.c: New file. + + * ntproc.c: New file. + + * ntheap.h: New file. + + * ntheap.c: New file. + + * nt.h: New file. + + * nt.c: New file. + +Sun Feb 23 15:56:58 1997 Steven L Baur <steve@altair.xemacs.org> + + * floatfns.c (_GNU_SOURCE): Define if compiling with glibc 2. + + * gmalloc.c: Guard __getpagesize definition against glibc 2. + +Sat Feb 22 17:12:47 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Snarf docstrings from new file + itimer-autosave.elc. + +Fri Feb 21 18:21:32 1997 Jan Vroonhof <vroonhof@math.ethz.ch> + + * event-Xt.c (emacs_Xt_handle_magic_event): Correction for frame + freezing bug. + +Wed Feb 19 12:54:32 1997 Per Abrahamsen <abraham@dina.kvl.dk> + + * buffer.c (Fbuffer_disable_undo): Default to current buffer. + +Tue Feb 18 12:37:28 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Dump new file custom-xmas.elc. + +Mon Feb 17 11:29:07 1997 Steven L Baur <steve@altair.xemacs.org> + + * print.c (Ferror_message_string): New function, ported from Emacs + 19.34. + (print_error_message): Ditto. + + * extents.c (verify_extent_mapper): Experimental deletion of code + to allow deletion of read-only extents. + + * symbols.c (hash_string): Replace algorithm with one given in + Aho, Sethi & Ullman. + +Sun Feb 16 14:53:58 1997 Steven L Baur <steve@altair.xemacs.org> + + * keymap.c (lookup_keys): Wrong sense in test. + + * Makefile.in.in: Dont dump font.elc. + +Sat Feb 15 02:30:51 1997 Steven L Baur <steve@altair.xemacs.org> + + * cmds.c: Define new symbol signal-error-on-buffer-boundary. + (Fforward_char): Use it. + (Fbackward_char): Use it. + + * window.c (Fscroll_up): Use it. + (Fscroll_down): Use it. + + * keymap.c (syms_of_keymap): define mouse-[123] and + down-mouse-[123] pseudo-keysym aliases for Emacs compatibility. + +Thu Feb 13 21:28:35 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: Don't dump tm with XEmacs under any + circumstances. + + * puresize.h: Remove extra SunPro puresize for MULE+tm. + +Sun Feb 9 04:40:36 1997 Axel Seibert <aseibert@cybernet-ag.net> + + * emacs.c (main_1): Fix NeXT malloc initialization. + +Fri Feb 7 11:36:56 1997 Steven L Baur <steve@altair.xemacs.org> + + * mule-coding.c (Fdecode_coding_region): Make explicit call to + `barf_if_buffer_read_only'. + (Fencode_coding_region): Ditto. + +Thu Feb 6 22:39:39 1997 Steven L Baur <steve@altair.xemacs.org> + + * extents.c (syms_of_extents): Remove references to replicating + extents. + + * extents.h (struct extent): Remove references to replicating + extents. + +Thu Feb 6 01:11:43 1997 Jareth Hein <jhod@po.iijnet.or.jp> + + * mule-coding.c (ENCODE_SJIS): Correct typo. + +Thu Feb 6 01:10:22 1997 Steven L Baur <steve@altair.xemacs.org> + + * frame.c (delete_frame_internal): Protect against deletion of + frames with living popup children. + +Wed Feb 5 17:13:17 1997 David Moore <dmoore@UCSD.EDU> + + * emacs.c (main_1): Try to avoid collisions against potentially + incompatible system mallocs. + +Mon Feb 3 23:04:41 1997 Joel Peterson <tarzan@aosi.com> + + * redisplay.c: Activate face/charset redisplay caching. + +Mon Feb 3 22:01:09 1997 Kyle Jones <kyle_jones@wonderworks.com> + + * eval.c (do_debug_on_exit): Don't restore old value of + debug_on_next_call improperly. + +Fri Jan 31 10:28:47 1997 David Byers <davby@ida.liu.se> + + * frame.c (frame_matches_frametype): Fix next-window when the next + window is on another frame. + +Thu Jan 30 20:25:00 1997 Steven L Baur <steve@altair.xemacs.org> + + * syntax.c (scan_sexps_forward): Change test on targetdepth to + match Emacs 19.34. + +Wed Jan 29 22:11:53 1997 James LewisMoss <dres@scsn.net> + + * gmalloc.c: Corrections for namespace collision with Linux libc + malloc. + +Mon Jan 27 21:46:53 1997 Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu> + + * fileio.c (Fwrite_region_internal): pack lockname to write-region + handler. + +Mon Jan 27 04:50:50 1997 David Moore <dmoore@UCSD.EDU> + + * gmalloc.c (malloc): Guard against incompatible system mallocs + with conflicting symbols. + +Sun Jan 26 12:27:04 1997 Steven L Baur <steve@altair.xemacs.org> + + * redisplay.c (add_emchar_rune): Back out optimization change of + caching last_charset. + +Sun Jan 26 09:10:45 1997 Hrvoje Niksic <hniksic@srce.hr> + + * s/decosf4-0.h: Digital Unix 4.0 has a realpath, but it's buggy. + And I *do* mean buggy. + +Thu Jan 23 10:41:19 1997 Steven L. Baur <steve@altair.xemacs.org> + + * puresize.h: Increase SUNPRO usage to reflect tm & cc-mode. + Decrease BASE_PURESIZE and increase MULE_PURESIZE_EXTRA. + +Wed Jan 22 21:09:52 1997 Steven L Baur <steve@altair.xemacs.org> + * puresize.h (BASE_PURESIZE): Tighten up. + + * scrollbar.c (scrollbar-page-up): Add Athena3d to Lucid/Motif + code. + (scrollbar-page-down): Ditto. + + * scrollbar-x.c (x_create_scrollbar_instance): Add Athena3d to + Lucid/Motif code. + (x_update_vertical_scrollbar_callback): Ditto. + (x_update_horizontal_scrollbar_callback): Add Athena3d to Lucid + special case code. + + * scrollbar-x.h (struct x_scrollbar_data): Add start drag position + for Athena3d. + + * redisplay-output.c (redisplay_update_line): A vain attempt to + get the Athena vertical thumb adjusted after drag. + + * EmacsFrame.c: Default to lower/right with Athena3d libraries. + +Wed Jan 22 18:38:52 1997 Ian Wells <I.Wells@tarragon-et.co.uk> + + * m/aviion.h: Remove definition of m88k. + + * s/dgux5-4r4.h: New file. + +Wed Jan 22 18:32:49 1997 Steven L Baur <steve@altair.xemacs.org> + + * buffer.h: Put proper typecasts on calls to alloca(). + +Tue Jan 21 22:25:23 1997 Steven L. Baur <steve@altair.xemacs.org> + + * config.h.in: Add LWLIB_USES_ATHENA symbol + + * Makefile.in.in (TOOLKIT_LIBS): It is possible to have both + Athena and Motif in the same link. + +Tue Jan 21 20:43:41 1997 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay-tty.c (tty_ring_bell): Don't ring tty bell if the + volume is set to 0. + +Tue Jan 21 20:38:58 1997 Axel Seibert <aseibert@cybernet-ag.net> + + * s/nextstep.h (signal_handler_t): define as int. + +Mon Jan 20 21:12:57 1997 Martin Buchholz <mrb@eng.sun.com> + + * event-Xt.c (emacs_Xt_handle_magic_event): + (frame-totally-visible-p) sometimes incorrectly returned nil. + +Thu Jan 16 17:24:29 1997 Joel Peterson <tarzan@aosi.com> + + * menubar-x.c (pre_activate_callback): Correctly handle buffer + local variables in :included clauses. + (compute_menubar_data): Ditto. + +Wed Jan 15 21:44:53 1997 Joel Peterson <tarzan@aosi.com> + + * redisplay.c (add_emchar_rune): Enable last_charset display + optimization. + +Wed Jan 15 19:06:27 1997 David Moore <dmoore@UCSD.EDU> + + * event-stream.c (Faccept_process_output): Avoid checking an + uninitialized variable. + +Wed Jan 15 14:14:24 1997 Steven L Baur <steve@altair.xemacs.org> + + * regex.c: Modify values of re_max_failures and MAX_FAILURE_ITEMS + to match Emacs 19.34. + +Mon Jan 13 00:36:01 1997 Martin Buchholz <mrb@eng.sun.com> + + * sysdep.c (sys_execvp): Fix when compiled with + --const-is-losing=no. Old code could crash if argv contained + non-ascii characters and the execvp failed and then caller + examined argv (for error message, for example). + +Sun Jan 12 17:22:24 1997 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in: TM .elcs moved to SUNPRO_LISP only. + +Fri Jan 10 20:21:47 1997 Ben Wing <ben@666.com> + + * minibuf.c (Ftry_completion): Don't crash if not given a proper + obarray. + +Fri Jan 10 09:49:44 1997 Ted Phelps <phelps@dstc.edu.au> + + * objects-x.c (x_initialize_font_instance): Hardcode 'n' for + default font width. + +Mon Jan 6 15:16:46 1997 Carsten Leonhardt <leo@arioch.tng.oche.de> + + * Makefile.in.in: Linking with canna requires -lRKC. + +Mon Jan 6 12:22:57 1997 Frederic Poncin <fp@info.ucl.ac.be> + + * gmalloc.c: Don't declare __sbrk on SparcLinux. + +Sun Jan 5 18:04:47 1997 Soren Dayton <csdayton@cs.uchicago.edu> + + * Makefile.in.in: IRIX6 can use sgiplay.c too. + +Sat Jan 4 12:15:16 1997 Steven L Baur <steve@altair.xemacs.org> + + * toolbar.c (specifier_vars_of_toolbar): Clean up fallback + specifiers so XEmacs can be built without tty support. + + * console-stream.c: Moved function bodies of + semi_canonicalize_console_connection, + canonicalize_console_connection, + semi_canonicalize_device_connection, and + canonicalize_device_connection into this file from console-tty.c. + Moved variable Vstdio_str into this file. + + * console-tty.c: See above. + +Fri Jan 3 18:07:11 1997 Axel Seibert <aseibert@cybernet-ag.net> + + * m/next.h: Cleanup accumulated cruft. + + * s/nextstep.h: Remove useless #undef REL_ALLOC/HAVE_MMAP. + + * syssignal.h: Don't typedef SIGTYPE on NeXT. + +Fri Jan 3 12:06:44 1997 Michael Sperber <sperber@informatik.uni-tuebingen.de> + + * m/ibmrs6000.inp: Added various get.* symbols. + +Sun Dec 29 20:16:08 1996 Steven L Baur <steve@altair.xemacs.org> + + * m/next.h: Remove signal_handler_t #define. + + * s/nextstep.h: Remove signal_handler_t #define. + +Fri Dec 27 21:13:33 1996 Martin Buchholz <mrb@Eng.Sun.COM> + + * event-Xt.c (x_to_emacs_keysym): Corrections to SUNOS_GCC_LO_BUG. + +Mon Dec 23 11:37:16 1996 Martin Buchholz <mrb@Eng.Sun.COM> + + * fns.c (Ffillarray): Fix for (fillarray #*10 0) + +Mon Dec 23 10:27:14 1996 Steven L Baur <steve@altair.xemacs.org> + + * bitmaps.h: Change to unsigned char. + + * frame-x.c (x_cde_transfer_callback): Typecast fix. + + * keymap.c (define_key_check_and_coerce_keysym): Typecast fix. + +Fri Dec 20 19:21:56 1996 Steven L Baur <steve@altair.xemacs.org> + + * Makefile.in.in (lisp): Remove cc-mode as a dumped package. + + * keymap.c (define_key_check_and_coerce_keysym): Make obsolete + binding of kp_.* not lose. + + * bitmaps.h: Add left & right arrows to show extended lines. + +Fri Dec 20 15:32:53 1996 David Moore <dmoore@UCSD.EDU> + + * event-stream.c (event_stream_wakeup_pending_p): New function. + (Faccept_process_output): Fix timeout handling race conditions. + (Fsleep_for): Ditto. + (Fsit_for): Ditto. + +Thu Dec 19 22:25:26 1996 Steve Carney <carney@gvc.dec.com> + + * cmds.c (Fbeginning_of_line): Adjust for 64 bit machines. + +Thu Dec 19 00:44:10 1996 Bart Robinson <lomew@cs.utah.edu> + + * syssignal.h: The declaration of SIGTYPE shouldn't be protected + by HAVE_SIGPROCMASK. + +Wed Dec 18 20:40:21 1996 Martin Buchholz <mrb@eng.sun.com> + + * dgif_lib.c: Miscellaneous cleanup, including removing signed + bitfields. + + * mule-charset.h: Change charset names. + + * mule-coding.c (struct iso2022_decoder): Uniform unsigned bitfields. + Change charset names. + + * mule-charset.c: Change charset names. + + * mule-canna.c: Change charset names. + + * EmacsShell-sub.c: Ansify and reformat. + + * console-tty.h (struct tty_console): Uniform unsigned bitfields. + + * glyphs-x.c: Ansify. + + * specifier.c: Use lisp_fn_t. + + * EmacsShell.c: Ansify. + + * vm-limit.c: Ansify. + + * emacsfns.h: Use lisp_fn_t. + + * lstream.c (struct filedesc_stream): Unsigned int bitfields. + + * xselect.c (hack_motif_clipboard_selection): Change charset name. + (Fx_store_cutbuffer_internal): Change charset name. + + * ralloc.c: Ansify and clean up. + + * frame.h (struct frame): Uniform unsigned bit fields. + + * event-Xt.c: Documentation change. + + * lisp.h: Introduce lisp_fn_t. + Remove SunPro C compiler warning message workaround. + + * xmu.c: Ansify. + + * doprnt.c (struct printf_spec): Use unsigned bitfields. + + * fileio.c: various code formatting changes. + + * eval.c: reorganize primitive funcalls. + + * config.h.in (NeedFunctionPrototypes): Force slightly better type + checking in X header files. + + * Makefile.in.in: #undef i386, move mime-setup.elc?. + + * s/sunos4-0-shr.h: Documentation change. + + * s/sol2.h (__EXTENSIONS__): Add. + Include <setjmp.h> under certain conditions. + +Mon Dec 16 19:13:10 1996 Steven L Baur <steve@altair.xemacs.org> + + * lstream.c (Lstream_pseudo_close): Return status on error. + (Lstream_close): Ditto. (Fixes disk full-no error on write bug). + +Sat Dec 14 16:54:52 1996 Steven L Baur <steve@altair.xemacs.org> + + * glyphs-x.c (jpeg_instantiate): Use file I/O for JPEG loading + because the in-core code is broken. + +Fri Dec 13 16:43:45 1996 Steven L Baur <steve@altair.xemacs.org> + + * device-x.c (x_init_device): Don't make nonexistent X server the + default when running on a tty. + + * event-Xt.c (x_to_emacs_keysym): Rename kp_.* keysyms to be kp-\1. + + * redisplay-tty.c (keys): Rename kp_.* keynames to kp-\1. + +Fri Dec 13 14:48:42 1996 Michael Sperber <sperber@informatik.uni-tuebingen.de> + + * lread.c (Fload_internal): Change arity of call to + file-name-handlers. + + * fileio.c (Finsert_file_contents_internal): Ditto. + +Thu Dec 12 16:55:34 1996 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> + + * cmds.c (Fpoint_at_eol, Fpoint_at_bol): New functions. + (Fend_of_line, Fbeginning_of_line): Use them. + +Tue Dec 10 11:17:32 1996 Shane Holder <holder@mordor.rsn.hp.com> + + * s/hpux9shxr4.h: hpux9shr.h -> hpux9-shr.h + + * s/hpux10.h: hpux9shr.h -> hpux9-shr.h + +Sat Dec 7 18:29:34 1996 Steven L Baur <steve@altair.xemacs.org> + + * puresize.h (BASE_PURESIZE): Bumped up PURESIZE by 10k. + +Sat Dec 7 16:26:34 1996 Martin Buchholz <mrb@Eng.Sun.COM> + + * config.h.in: configure for POSIX getcwd if available. + +Sat Dec 7 15:48:39 1996 Steven L Baur <steve@altair.xemacs.org> + + * s/sunos4-1-shr.h: Renamed from sunos4-1shr.h. + + * s/sunos4-1-3-shr.h: Renamed from sunos4-1-3shr.h. + + * s/sunos4-1-2-shr.h: Renamed from sunos4-1-2-shr.h. + + * s/sunos4-0-shr.h: Renamed from sunos4-0shr.h. + + * s/hpux9-shr.h: Renamed from hpux9shr.h. + + * s/hpux8-shr.h: Renamed from hpux8shr.h. + + * s/hpux10-shr.h: Renamed from hpux10shr.h. + +Wed Dec 4 23:38:03 1996 Steven L Baur <steve@altair.xemacs.org> + + * redisplay.c: Allow column numbers in modeline to start from 1. +
--- a/src/Makefile.in.in Mon Aug 13 10:33:19 2007 +0200 +++ b/src/Makefile.in.in Mon Aug 13 10:34:13 2007 +0200 @@ -423,7 +423,7 @@ .PHONY : run-temacs run-temacs: temacs - ./temacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs + -$(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs ## Debugging targets: ## @@ -464,7 +464,7 @@ $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) -lpthread run-puremacs: puremacs - ./puremacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs + -$(DUMPENV) ./puremacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs ## Quantify #ifdef QUANTIFY @@ -679,6 +679,6 @@ ## Dependency processing using home-grown script, not makedepend depend: FRC.depend - $(RM) ${srcdir}/depend; mv depend.tmp ${srcdir}/depend + $(RM) ${srcdir}/depend depend.tmp perl ${srcdir}/make-src-depend > depend.tmp mv depend.tmp ${srcdir}/depend
--- a/src/buffer.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/buffer.c Mon Aug 13 10:34:13 2007 +0200 @@ -2243,9 +2243,8 @@ #ifdef REGION_CACHE_NEEDS_WORK buffer_local_flags.cache_long_line_scans = make_int (0x2000); #endif - buffer_local_flags.buffer_file_type = make_int (0x4000); #ifdef FILE_CODING - buffer_local_flags.buffer_file_coding_system = make_int (0x8000); + buffer_local_flags.buffer_file_coding_system = make_int (0x4000); #endif /* #### Warning, 0x4000000 (that's six zeroes) is the largest number @@ -2301,12 +2300,6 @@ This is the same as (default-value 'case-fold-search). */ ); - DEFVAR_BUFFER_DEFAULTS ("default-buffer-file-type", buffer_file_type /* -Default file type for buffers that do not override it. -This is the same as (default-value 'buffer-file-type). -The file type is nil for text, t for binary. -*/ ); - DEFVAR_BUFFER_LOCAL ("modeline-format", modeline_format /* Template for displaying modeline for current buffer. Each buffer has its own value of this variable. @@ -2444,12 +2437,6 @@ Each buffer has its own value of this variable. */ ); - DEFVAR_BUFFER_LOCAL ("buffer-file-type", buffer_file_type /* - "Non-nil if the visited file is a binary file. -This variable is meaningful on MS-DOS and Windows NT. -On those systems, it is automatically local in every buffer. -On other systems, this variable is normally always nil. -*/ ); #ifdef FILE_CODING DEFVAR_BUFFER_DEFAULTS ("default-buffer-file-coding-system", buffer_file_coding_system /* Default value of `buffer-file-coding-system' for buffers that do not override it.
--- a/src/bufslots.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/bufslots.h Mon Aug 13 10:34:13 2007 +0200 @@ -117,10 +117,6 @@ /* Function to call when insert space past fill column. */ MARKED_SLOT (auto_fill_function); - /* nil: text, t: binary. - This value is meaningful only on certain operating systems. */ - MARKED_SLOT (buffer_file_type); - /* Case table for case-conversion in this buffer. This char-table maps each char into its lower-case version. */ MARKED_SLOT (downcase_table);
--- a/src/callproc.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/callproc.c Mon Aug 13 10:34:13 2007 +0200 @@ -49,7 +49,7 @@ #ifdef DOS_NT /* When we are starting external processes we need to know whether they take binary input (no conversion) or text input (\n is converted to - \r\n). Similar for output: if newlines are written as \r\n then it's + \r\n). Similarly for output: if newlines are written as \r\n then it's text process output, otherwise it's binary. */ Lisp_Object Vbinary_process_input; Lisp_Object Vbinary_process_output; @@ -62,10 +62,6 @@ */ Lisp_Object Vprocess_environment; -#ifdef DOS_NT -Lisp_Object Qbuffer_file_type; -#endif /* DOS_NT */ - /* True iff we are about to fork off a synchronous process or if we are waiting for it. */ volatile int synch_process_alive;
--- a/src/console-stream.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/console-stream.c Mon Aug 13 10:34:13 2007 +0200 @@ -201,12 +201,6 @@ } static int -stream_divider_width (void) -{ - return 1; -} - -static int stream_divider_height (void) { return 1; @@ -302,7 +296,6 @@ CONSOLE_HAS_METHOD (stream, text_width); CONSOLE_HAS_METHOD (stream, output_display_block); CONSOLE_HAS_METHOD (stream, output_vertical_divider); - CONSOLE_HAS_METHOD (stream, divider_width); CONSOLE_HAS_METHOD (stream, divider_height); CONSOLE_HAS_METHOD (stream, eol_cursor_width); CONSOLE_HAS_METHOD (stream, clear_to_window_end);
--- a/src/console.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/console.h Mon Aug 13 10:34:13 2007 +0200 @@ -48,14 +48,16 @@ enum device_metrics { - color_default, color_select, color_balloon, color_3d_face, color_3d_light, - color_3d_dark, color_menu, color_menu_high, color_menu_button, - color_menu_unsel, color_toolbar, color_scrollbar, color_desktop, - color_workspace, font_default, font_menubar, font_dialog, size_cursor, - size_scrollbar, size_menu, size_toolbar, size_tbbutton, size_tbborder, - size_icon, size_icon_small, size_device, size_workspace, size_device_mm, - device_dpi, num_bit_planes, num_color_cells,mouse_buttons, - swap_buttons, show_sounds, slow_device, security, dbcs, ime, mid_east + DM_color_default, DM_color_select, DM_color_balloon, DM_color_3d_face, + DM_color_3d_light, DM_color_3d_dark, DM_color_menu, DM_color_menu_highlight, + DM_color_menu_button, DM_color_menu_disabled, DM_color_toolbar, + DM_color_scrollbar, DM_color_desktop, DM_color_workspace, DM_font_default, + DM_font_menubar, DM_font_dialog, DM_size_cursor, DM_size_scrollbar, + DM_size_menu, DM_size_toolbar, DM_size_toolbar_button, + DM_size_toolbar_border, DM_size_icon, DM_size_icon_small, DM_size_device, + DM_size_workspace, DM_size_device_mm, DM_device_dpi, DM_num_bit_planes, + DM_num_color_cells, DM_mouse_buttons, DM_swap_buttons, DM_show_sounds, + DM_slow_device, DM_security }; struct console_methods @@ -133,7 +135,6 @@ CONST Emchar *str, Charcount len); void (*output_display_block_method) (struct window *, struct display_line *, int, int, int, int, int, int, int); - int (*divider_width_method) (void); int (*divider_height_method) (void); int (*eol_cursor_width_method) (void); void (*output_vertical_divider_method) (struct window *, int); @@ -266,6 +267,7 @@ #ifdef HAVE_DIALOGS /* dialog methods */ + void (*popup_dialog_box_method) (struct frame *, Lisp_Object dbox_desc); #endif };
--- a/src/dbxrc Mon Aug 13 10:33:19 2007 +0200 +++ b/src/dbxrc Mon Aug 13 10:34:13 2007 +0200 @@ -139,21 +139,38 @@ end function run-temacs { - run -batch -l loadup.el run-temacs -q + unset EMACSLOADPATH + export EMACSBOOTSTRAPLOADPATH=../lisp/:.. + run -batch -l ../lisp/loadup.el run-temacs -q } document update-elc << 'end' Usage: update-elc -Run the elc compilation part of the build procedure. +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 function update-elc { - export EMACSLOADPATH=../lisp/ - run -batch -l update-elc.el + unset EMACSLOADPATH + export EMACSBOOTSTRAPLOADPATH=../lisp/:.. + run -batch -l ../lisp/update-elc.el } + +function dump-temacs { + unset EMACSLOADPATH + export EMACSBOOTSTRAPLOADPATH=../lisp/:.. + run -batch -l ../lisp/loadup.el dump +} + +document dump-temacs << 'end' +Usage: dump-temacs +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 + function pstruct { xstruct="((struct $1 *) $val)" print $xstruct
--- a/src/depend Mon Aug 13 10:33:19 2007 +0200 +++ b/src/depend Mon Aug 13 10:34:13 2007 +0200 @@ -11,30 +11,30 @@ device-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console-stream.h console.h device.h events.h faces.h frame.h frameslots.h mule-charset.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h dired-msw.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h ndir.h nt.h regex.h sysdir.h sysfile.h event-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h dragdrop.h events-mod.h events.h frame.h frameslots.h lstream.h menubar-msw.h msdos.h mule-charset.h nt.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h systime.h syswait.h toolbar.h -frame-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +frame-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h glyphs-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h faces.h file-coding.h frame.h frameslots.h glyphs-msw.h glyphs.h imgproc.h insdel.h lstream.h msdos.h mule-charset.h nt.h objects-msw.h objects.h opaque.h scrollbar.h specifier.h sysfile.h toolbar.h -menubar-msw.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-msw.h console.h device.h elhash.h events.h frame.h frameslots.h gui.h menubar-msw.h menubar.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +menubar-msw.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-msw.h console.h device.h elhash.h events.h frame.h frameslots.h gui.h menubar-msw.h menubar.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h objects-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h hash.h insdel.h mule-charset.h objects-msw.h objects.h specifier.h -redisplay-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h debug.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-ccl.h mule-charset.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h -scrollbar-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h events.h frame.h frameslots.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h systime.h toolbar.h window.h +redisplay-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h debug.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-ccl.h mule-charset.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h winslots.h +scrollbar-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h events.h frame.h frameslots.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h select-msw.o: $(LISP_H) conslots.h console-msw.h console.h -toolbar-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h mule-charset.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +toolbar-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h mule-charset.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h #endif #ifdef HAVE_X_WINDOWS balloon-x.o: $(LISP_H) balloon_help.h conslots.h console-x.h console.h device.h xintrinsic.h console-x.o: $(LISP_H) conslots.h console-x.h console.h process.h redisplay.h xintrinsic.h -device-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h msdos.h mule-charset.h nt.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h xgccache.h xintrinsic.h xintrinsicp.h xmu.h -dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h xintrinsic.h -frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h conslots.h console-x.h console.h device.h dragdrop.h events-mod.h events.h extents.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h toolbar.h window.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h +device-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h msdos.h mule-charset.h nt.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmu.h +dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h +frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h conslots.h console-x.h console.h device.h dragdrop.h events-mod.h events.h extents.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h glyphs-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h conslots.h console-x.h console.h device.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h imgproc.h insdel.h lstream.h msdos.h mule-charset.h nt.h objects-x.h objects.h opaque.h scrollbar.h specifier.h sysfile.h toolbar.h xintrinsic.h xmu.h gui-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h conslots.h console-x.h console.h device.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h scrollbar.h specifier.h toolbar.h xintrinsic.h -input-method-xfs.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h xintrinsic.h -input-method-xlib.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h xintrinsic.h -menubar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h xintrinsic.h +input-method-xfs.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h +input-method-xlib.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h +menubar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h objects-x.o: $(LISP_H) buffer.h bufslots.h conslots.h console-x.h console.h device.h insdel.h mule-charset.h objects-x.h objects.h specifier.h xintrinsic.h -redisplay-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h conslots.h console-x.h console.h debug.h device.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h mule-ccl.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h systime.h toolbar.h window.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h -scrollbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h conslots.h console-x.h console.h device.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h redisplay.h scrollbar-x.h scrollbar.h specifier.h toolbar.h window.h xintrinsic.h -toolbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h buffer.h bufslots.h conslots.h console-x.h console.h device.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h +redisplay-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h conslots.h console-x.h console.h debug.h device.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h mule-ccl.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h systime.h toolbar.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h +scrollbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h conslots.h console-x.h console.h device.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h redisplay.h scrollbar-x.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h +toolbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h buffer.h bufslots.h conslots.h console-x.h console.h device.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h #endif #ifdef HAVE_DATABASE database.o: $(LISP_H) database.h msdos.h nt.h sysfile.h @@ -45,7 +45,7 @@ mule-charset.o: $(LISP_H) buffer.h bufslots.h chartab.h conslots.h console.h device.h elhash.h faces.h lstream.h mule-charset.h mule-coding.o: $(LISP_H) buffer.h bufslots.h elhash.h insdel.h lstream.h mule-ccl.h mule-charset.h mule-coding.h mule-mcpath.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h nt.h sysfile.h -mule-wnnfns.o: $(LISP_H) buffer.h bufslots.h mule-charset.h redisplay.h scrollbar.h sysdep.h window.h +mule-wnnfns.o: $(LISP_H) buffer.h bufslots.h mule-charset.h redisplay.h scrollbar.h sysdep.h window.h winslots.h mule.o: $(LISP_H) regex.h #endif #ifdef EXTERNAL_WIDGET @@ -55,32 +55,32 @@ extw-Xlib.o: config.h extw-Xlib.h extw-Xt.o: config.h extw-Xlib.h extw-Xt.h #endif -EmacsFrame.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h buffer.h bufslots.h conslots.h console-x.h console.h device.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h +EmacsFrame.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h buffer.h bufslots.h conslots.h console-x.h console.h device.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h EmacsManager.o: EmacsManager.h EmacsManagerP.h config.h xintrinsicp.h xmmanagerp.h EmacsShell-sub.o: EmacsShell.h EmacsShellP.h config.h xintrinsic.h xintrinsicp.h EmacsShell.o: EmacsShell.h ExternalShell.h config.h xintrinsicp.h -abbrev.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h redisplay.h scrollbar.h syntax.h window.h -alloc.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h chartab.h conslots.h console.h device.h elhash.h events.h extents.h frame.h frameslots.h glyphs.h msdos.h mule-charset.h nt.h puresize.h redisplay.h scrollbar.h specifier.h sysfile.h systime.h toolbar.h window.h +abbrev.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h redisplay.h scrollbar.h syntax.h window.h winslots.h +alloc.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h chartab.h conslots.h console.h device.h elhash.h events.h extents.h frame.h frameslots.h glyphs.h msdos.h mule-charset.h nt.h puresize.h redisplay.h scrollbar.h specifier.h sysfile.h systime.h toolbar.h window.h winslots.h alloca.o: config.h balloon_help.o: balloon_help.h config.h xintrinsic.h blocktype.o: $(LISP_H) blocktype.h -buffer.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h conslots.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h insdel.h msdos.h mule-charset.h nt.h process.h redisplay.h scrollbar.h specifier.h syntax.h sysdep.h sysfile.h toolbar.h window.h +buffer.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h conslots.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h insdel.h msdos.h mule-charset.h nt.h process.h redisplay.h scrollbar.h specifier.h syntax.h sysdep.h sysfile.h toolbar.h window.h winslots.h bytecode.o: $(LISP_H) buffer.h bufslots.h chartab.h mule-charset.h syntax.h -callint.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h events.h insdel.h mule-charset.h redisplay.h scrollbar.h systime.h window.h -callproc.o: $(LISP_H) buffer.h bufslots.h commands.h file-coding.h insdel.h lstream.h msdos.h mule-charset.h nt.h paths.h process.h redisplay.h scrollbar.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h window.h +callint.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h events.h insdel.h mule-charset.h redisplay.h scrollbar.h systime.h window.h winslots.h +callproc.o: $(LISP_H) buffer.h bufslots.h commands.h file-coding.h insdel.h lstream.h msdos.h mule-charset.h nt.h paths.h process.h redisplay.h scrollbar.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h window.h winslots.h casefiddle.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h syntax.h casetab.o: $(LISP_H) buffer.h bufslots.h mule-charset.h opaque.h chartab.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h mule-charset.h syntax.h cm.o: $(LISP_H) conslots.h console-tty.h console.h device.h frame.h frameslots.h lstream.h mule-charset.h redisplay.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h -cmdloop.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +cmdloop.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h cmds.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h syntax.h -console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h msdos.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h systty.h toolbar.h window.h +console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h msdos.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h console-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h faces.h file-coding.h frame.h frameslots.h gpmevent.h lstream.h msdos.h mule-charset.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systty.h toolbar.h -console.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h +console.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h data.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h mule-charset.h sysfloat.h syssignal.h debug.o: $(LISP_H) bytecode.h debug.h device-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h events.h faces.h frame.h frameslots.h lstream.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h -device.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h events.h faces.h frame.h frameslots.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h window.h +device.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h events.h faces.h frame.h frameslots.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h window.h winslots.h dialog.o: $(LISP_H) dired.o: $(LISP_H) buffer.h bufslots.h commands.h elhash.h msdos.h mule-charset.h ndir.h nt.h opaque.h regex.h sysdir.h sysfile.h dll.o: $(LISP_H) buffer.h bufslots.h mule-charset.h sysdll.h @@ -89,32 +89,32 @@ dragdrop.o: $(LISP_H) dragdrop.h dynarr.o: $(LISP_H) ecrt0.o: config.h -editfns.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h extents.h frame.h frameslots.h insdel.h line-number.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syspwd.h systime.h toolbar.h window.h +editfns.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h extents.h frame.h frameslots.h insdel.h line-number.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syspwd.h systime.h toolbar.h window.h winslots.h eldap.o: $(LISP_H) eldap.h opaque.h elhash.o: $(LISP_H) bytecode.h elhash.h hash.h emacs.o: $(LISP_H) backtrace.h buffer.h bufslots.h commands.h conslots.h console.h msdos.h mule-charset.h nt.h paths.h process.h sysdep.h sysdll.h sysfile.h syssignal.h systime.h systty.h eval.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h commands.h conslots.h console.h mule-charset.h opaque.h event-Xt.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h blocktype.h buffer.h bufslots.h commands.h conslots.h console-tty.h console-x.h console.h device.h dragdrop.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h lstream.h mule-charset.h objects-x.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h xintrinsic.h xintrinsicp.h -event-stream.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h blocktype.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h gui-x.h insdel.h keymap.h lstream.h macros.h msdos.h mule-charset.h nt.h opaque.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h toolbar.h window.h xintrinsic.h +event-stream.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h blocktype.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h gui-x.h insdel.h keymap.h lstream.h macros.h msdos.h mule-charset.h nt.h opaque.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h toolbar.h window.h winslots.h xintrinsic.h event-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h events.h frame.h frameslots.h process.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h event-unixoid.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h gpmevent.h lstream.h msdos.h mule-charset.h nt.h process.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h -events.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console-x.h console.h device.h events-mod.h events.h extents.h frame.h frameslots.h glyphs.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h window.h xintrinsic.h +events.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console-x.h console.h device.h events-mod.h events.h extents.h frame.h frameslots.h glyphs.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h extents.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h debug.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h insdel.h keymap.h mule-charset.h opaque.h process.h redisplay.h scrollbar.h specifier.h toolbar.h -faces.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +faces.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h file-coding.o: $(LISP_H) buffer.h bufslots.h elhash.h file-coding.h insdel.h lstream.h mule-ccl.h mule-charset.h -fileio.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h insdel.h lstream.h msdos.h mule-charset.h ndir.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h systime.h toolbar.h window.h +fileio.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h insdel.h lstream.h msdos.h mule-charset.h ndir.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h systime.h toolbar.h window.h winslots.h filelock.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h ndir.h nt.h paths.h sysdir.h sysfile.h syspwd.h syssignal.h filemode.o: $(LISP_H) msdos.h nt.h sysfile.h floatfns.o: $(LISP_H) sysfloat.h syssignal.h fns.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h conslots.h console.h device.h events.h extents.h frame.h frameslots.h mule-charset.h scrollbar.h specifier.h systime.h toolbar.h font-lock.o: $(LISP_H) buffer.h bufslots.h chartab.h insdel.h mule-charset.h syntax.h frame-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h events.h frame.h frameslots.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h -frame.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h menubar.h msdos.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h +frame.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h menubar.h msdos.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h winslots.h free-hook.o: $(LISP_H) hash.h general.o: $(LISP_H) getloadavg.o: $(LISP_H) msdos.h nt.h sysfile.h glyphs-eimage.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h file-coding.h frame.h frameslots.h glyphs.h imgproc.h insdel.h lstream.h msdos.h mule-charset.h nt.h objects.h opaque.h scrollbar.h specifier.h sysfile.h toolbar.h -glyphs.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs.h insdel.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +glyphs.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs.h insdel.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h gmalloc.o: config.h getpagesize.h gpmevent.o: $(LISP_H) conslots.h console-tty.h console.h device.h events-mod.h events.h gpmevent.h sysdep.h syssignal.h systime.h systty.h gui.o: $(LISP_H) gui.h @@ -122,53 +122,53 @@ hftctl.o: $(LISP_H) hpplay.o: $(LISP_H) imgproc.o: $(LISP_H) imgproc.h -indent.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h extents.h faces.h frame.h frameslots.h glyphs.h insdel.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h -inline.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h chartab.h conslots.h console.h database.h device.h elhash.h events.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h keymap.h lstream.h mule-charset.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h syntax.h systime.h toolbar.h tooltalk.h window.h xintrinsic.h +indent.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h extents.h faces.h frame.h frameslots.h glyphs.h insdel.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h +inline.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h chartab.h conslots.h console.h database.h device.h eldap.h elhash.h events.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h keymap.h lstream.h mule-charset.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h syntax.h systime.h toolbar.h tooltalk.h window.h winslots.h xintrinsic.h input-method-motif.o: $(LISP_H) EmacsFrame.h conslots.h console-x.h console.h device.h frame.h frameslots.h scrollbar.h specifier.h toolbar.h xintrinsic.h insdel.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h extents.h frame.h frameslots.h insdel.h line-number.h lstream.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h intl.o: $(LISP_H) bytecode.h conslots.h console.h device.h -keymap.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h conslots.h console.h device.h elhash.h events-mod.h events.h frame.h frameslots.h insdel.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +keymap.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h conslots.h console.h device.h elhash.h events-mod.h events.h frame.h frameslots.h insdel.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h libsst.o: $(LISP_H) libsst.h line-number.o: $(LISP_H) buffer.h bufslots.h insdel.h line-number.h mule-charset.h linuxplay.o: $(LISP_H) msdos.h nt.h sysfile.h syssignal.h lread.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h file-coding.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h paths.h sysfile.h sysfloat.h lstream.o: $(LISP_H) buffer.h bufslots.h insdel.h lstream.h msdos.h mule-charset.h nt.h sysfile.h -macros.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h keymap.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +macros.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h keymap.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h malloc.o: config.h getpagesize.h marker.o: $(LISP_H) buffer.h bufslots.h mule-charset.h md5.o: $(LISP_H) buffer.h bufslots.h file-coding.h lstream.h mule-charset.h -menubar.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h gui.h menubar.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h -minibuf.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-stream.h console.h device.h events.h frame.h frameslots.h insdel.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h -msdos.o: $(LISP_H) conslots.h console.h device.h frame.h frameslots.h msdos.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h +menubar.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h gui.h menubar.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h +minibuf.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-stream.h console.h device.h events.h frame.h frameslots.h insdel.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h +msdos.o: $(LISP_H) conslots.h console.h device.h frame.h frameslots.h msdos.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h nas.o: $(LISP_H) syssignal.h nt.o: $(LISP_H) nt.h ntheap.h sysproc.h syssignal.h systime.h ntheap.o: $(LISP_H) ntheap.h ntplay.o: config.h ntproc.o: $(LISP_H) nt.h ntheap.h process.h sysproc.h syssignal.h systime.h syswait.h objects-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h insdel.h mule-charset.h objects-tty.h objects.h specifier.h syssignal.h systty.h -objects.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +objects.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h offix.o: offix-cursors.h offix-types.h offix.h xintrinsic.h opaque.o: $(LISP_H) opaque.h print.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h conslots.h console-stream.h console-tty.h console.h device.h extents.h frame.h frameslots.h insdel.h lstream.h msdos.h mule-charset.h nt.h scrollbar.h specifier.h sysfile.h syssignal.h systty.h toolbar.h process-nt.o: $(LISP_H) hash.h lstream.h mule-charset.h process.h procimpl.h sysdep.h -process-unix.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h -process.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h +process-unix.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h +process.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h profile.o: $(LISP_H) backtrace.h bytecode.h hash.h syssignal.h systime.h pure.o: $(LISP_H) puresize-adjust.h puresize.h ralloc.o: $(LISP_H) getpagesize.h rangetab.o: $(LISP_H) rangetab.h realpath.o: config.h -redisplay-output.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h debug.h device.h faces.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h toolbar.h window.h -redisplay-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console.h device.h events.h faces.h frame.h frameslots.h glyphs.h lstream.h mule-charset.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h -redisplay.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-tty.h console.h debug.h device.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h line-number.h menubar.h mule-charset.h objects.h process.h redisplay.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h window.h +redisplay-output.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h debug.h device.h faces.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h toolbar.h window.h winslots.h +redisplay-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console.h device.h events.h faces.h frame.h frameslots.h glyphs.h lstream.h mule-charset.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h +redisplay.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-tty.h console.h debug.h device.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h line-number.h menubar.h mule-charset.h objects.h process.h redisplay.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h window.h winslots.h regex.o: $(LISP_H) buffer.h bufslots.h chartab.h mule-charset.h regex.h syntax.h -scrollbar.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +scrollbar.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h search.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h opaque.h regex.h syntax.h sgiplay.o: $(LISP_H) libst.h sheap.o: $(LISP_H) sheap-adjust.h signal.o: $(LISP_H) conslots.h console.h device.h events.h frame.h frameslots.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h sound.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h mule-charset.h redisplay.h sysdep.h xintrinsic.h -specifier.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +specifier.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h strcat.o: config.h strcmp.o: config.h strcpy.o: config.h @@ -178,11 +178,11 @@ sunpro.o: $(LISP_H) symbols.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h elhash.h mule-charset.h syntax.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h syntax.h -sysdep.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h msdos.h mule-charset.h ndir.h nt.h ntheap.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h +sysdep.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h msdos.h mule-charset.h ndir.h nt.h ntheap.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h sysdll.o: config.h sysdll.h termcap.o: $(LISP_H) conslots.h console.h device.h terminfo.o: config.h -toolbar.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +toolbar.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h frame.h frameslots.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h tooltalk.o: $(LISP_H) buffer.h bufslots.h elhash.h mule-charset.h process.h tooltalk.h tparam.o: config.h undo.o: $(LISP_H) buffer.h bufslots.h extents.h mule-charset.h @@ -203,7 +203,7 @@ unexsunos4.o: config.h vm-limit.o: $(LISP_H) mem-limits.h widget.o: $(LISP_H) buffer.h bufslots.h insdel.h mule-charset.h -window.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h faces.h frame.h frameslots.h glyphs.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h +window.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h faces.h frame.h frameslots.h glyphs.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xgccache.o: $(LISP_H) hash.h xgccache.h xmu.o: config.h xselect.o: $(LISP_H) buffer.h bufslots.h conslots.h console-x.h console.h device.h frame.h frameslots.h mule-charset.h objects-x.h objects.h opaque.h scrollbar.h specifier.h systime.h toolbar.h xintrinsic.h
--- a/src/device-msw.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/device-msw.c Mon Aug 13 10:34:13 2007 +0200 @@ -44,10 +44,12 @@ #endif /* win32 DDE management library globals */ +#ifdef HAVE_DRAGNDROP DWORD mswindows_dde_mlid; HSZ mswindows_dde_service; HSZ mswindows_dde_topic_system; HSZ mswindows_dde_item_open; +#endif /* Control conversion of upper case file names to lower case. nil means no, t means yes. */ @@ -115,7 +117,9 @@ static void mswindows_finish_init_device (struct device *d, Lisp_Object props) { - /* Initialise DDE management library and our related globals */ + /* Initialise DDE management library and our related globals. We execute a + * dde Open("file") by simulating a drop, so this depends on dnd support. */ +#ifdef HAVE_DRAGNDROP mswindows_dde_mlid = 0; DdeInitialize (&mswindows_dde_mlid, (PFNCALLBACK)mswindows_dde_callback, APPCMD_FILTERINITS|CBF_FAIL_SELFCONNECTIONS|CBF_FAIL_ADVISES| @@ -126,13 +130,51 @@ mswindows_dde_item_open = DdeCreateStringHandle (mswindows_dde_mlid, TEXT(MSWINDOWS_DDE_ITEM_OPEN), 0); DdeNameService (mswindows_dde_mlid, mswindows_dde_service, 0L, DNS_REGISTER); +#endif } static void mswindows_delete_device (struct device *d) { +#ifdef HAVE_DRAGNDROP DdeNameService (mswindows_dde_mlid, 0L, 0L, DNS_REGISTER); DdeUninitialize (mswindows_dde_mlid); +#endif +} + +static Lisp_Object +build_syscolor_string (int index) +{ + DWORD clr; + char buf[16]; + + if (index < 0) + return Qnil; + + clr = GetSysColor (index); + sprintf (buf, "#%02X%02X%02X", + GetRValue (clr), + GetGValue (clr), + GetBValue (clr)); + return build_string (buf); +} + +static Lisp_Object +build_syscolor_cons (int index1, int index2) +{ + Lisp_Object color1, color2; + struct gcpro gcpro1; + GCPRO1 (color1); + color1 = build_syscolor_string (index1); + color2 = build_syscolor_string (index2); + RETURN_UNGCPRO (Fcons (color1, color2)); +} + +static Lisp_Object +build_sysmetrics_cons (int index1, int index2) +{ + return Fcons (index1 < 0 ? Qnil : make_int (GetSystemMetrics (index1)), + index2 < 0 ? Qnil : make_int (GetSystemMetrics (index2))); } static Lisp_Object @@ -141,24 +183,83 @@ { switch (m) { - case size_device: + case DM_size_device: return Fcons (make_int (DEVICE_MSWINDOWS_HORZRES(d)), make_int (DEVICE_MSWINDOWS_VERTRES(d))); break; - case size_device_mm: + case DM_size_device_mm: return Fcons (make_int (DEVICE_MSWINDOWS_HORZSIZE(d)), make_int (DEVICE_MSWINDOWS_VERTSIZE(d))); break; - case num_bit_planes: + case DM_num_bit_planes: return make_int (DEVICE_MSWINDOWS_PLANES(d)); break; - case num_color_cells: + case DM_num_color_cells: return make_int (DEVICE_MSWINDOWS_CELLS(d)); break; + + /*** Colors ***/ +#define FROB(met, index1, index2) \ + case DM_##met: \ + return build_syscolor_cons (index1, index2); + + FROB (color_default, COLOR_WINDOW, COLOR_WINDOWTEXT); + FROB (color_select, COLOR_HIGHLIGHT, COLOR_HIGHLIGHTTEXT); + FROB (color_balloon, COLOR_INFOBK, COLOR_INFOTEXT); + FROB (color_3d_face, COLOR_3DFACE, COLOR_BTNTEXT); + FROB (color_3d_light, COLOR_3DLIGHT, COLOR_3DHILIGHT); + FROB (color_3d_dark, COLOR_3DSHADOW, COLOR_3DDKSHADOW); + FROB (color_menu, COLOR_MENU, COLOR_MENUTEXT); + FROB (color_menu_highlight, COLOR_HIGHLIGHT, COLOR_HIGHLIGHTTEXT); + FROB (color_menu_button, COLOR_MENU, COLOR_MENUTEXT); + FROB (color_menu_disabled, COLOR_MENU, COLOR_GRAYTEXT); + FROB (color_toolbar, COLOR_BTNFACE, COLOR_BTNTEXT); + FROB (color_scrollbar, COLOR_SCROLLBAR, COLOR_CAPTIONTEXT); + FROB (color_desktop, -1, COLOR_DESKTOP); + FROB (color_workspace, -1, COLOR_APPWORKSPACE); +#undef FROB + + /*** Sizes ***/ +#define FROB(met, index1, index2) \ + case DM_##met: \ + return build_sysmetrics_cons (index1, index2); + + FROB (size_cursor, SM_CXCURSOR, SM_CYCURSOR); + FROB (size_scrollbar, SM_CXVSCROLL, SM_CYHSCROLL); + FROB (size_menu, -1, SM_CYMENU); + FROB (size_icon, SM_CXICON, SM_CYICON); + FROB (size_icon_small, SM_CXSMICON, SM_CYSMICON); +#undef FROB + + case DM_size_workspace: + { + RECT rc; + SystemParametersInfo (SPI_GETWORKAREA, 0, &rc, 0); + return Fcons (make_int (rc.right - rc.left), + make_int (rc.bottom - rc.top)); + } + /* + case DM_size_toolbar: + case DM_size_toolbar_button: + case DM_size_toolbar_border: + */ + + /*** Features ***/ +#define FROB(met, index) \ + case DM_##met: \ + return make_int (GetSystemMetrics (index)); + + FROB (mouse_buttons, SM_CMOUSEBUTTONS); + FROB (swap_buttons, SM_SWAPBUTTON); + FROB (show_sounds, SM_SHOWSOUNDS); + FROB (slow_device, SM_SLOWMACHINE); + FROB (security, SM_SECURE); +#undef FROB + } /* Do not know such property */ - return Qnil; + return Qunbound; } static unsigned int
--- a/src/device-tty.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/device-tty.c Mon Aug 13 10:34:13 2007 +0200 @@ -187,14 +187,14 @@ struct console *con = XCONSOLE (DEVICE_CONSOLE (d)); switch (m) { - case size_device: + case DM_size_device: return Fcons (make_int (CONSOLE_TTY_DATA (con)->width), make_int (CONSOLE_TTY_DATA (con)->height)); break; } /* Do not know such property */ - return Qnil; + return Qunbound; } /************************************************************************/
--- a/src/device-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/device-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -489,8 +489,8 @@ depth = DefaultDepth(dpy, screen); } - /* If we've got the same visual as the default and its PseudoColor, check to see if the user - specified that we need a private colormap */ + /* If we've got the same visual as the default and it's PseudoColor, + check to see if the user specified that we need a private colormap */ if (visual == DefaultVisual(dpy, screen)) { sprintf (buf1, "%s.privateColormap", app_name); @@ -1403,24 +1403,24 @@ switch (m) { - case size_device: + case DM_size_device: return Fcons (make_int (DisplayWidth (dpy, DefaultScreen (dpy))), make_int (DisplayHeight (dpy, DefaultScreen (dpy)))); break; - case size_device_mm: + case DM_size_device_mm: return Fcons (make_int (DisplayWidthMM (dpy, DefaultScreen (dpy))), make_int (DisplayHeightMM (dpy, DefaultScreen (dpy)))); break; - case num_bit_planes: + case DM_num_bit_planes: return make_int (DisplayPlanes (dpy, DefaultScreen (dpy))); break; - case num_color_cells: + case DM_num_color_cells: return make_int (DisplayCells (dpy, DefaultScreen (dpy))); break; } /* Do not know such property */ - return Qnil; + return Qunbound; } DEFUN ("x-server-vendor", Fx_server_vendor, 0, 1, 0, /*
--- a/src/device.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/device.c Mon Aug 13 10:34:13 2007 +0200 @@ -57,16 +57,17 @@ Lisp_Object Qgrayscale, Qmono; /* Device metrics symbols */ -Lisp_Object Qcolor_default, Qcolor_select, Qcolor_balloon, Qcolor_3d_face; -Lisp_Object Qcolor_3d_light, Qcolor_3d_dark, Qcolor_menu, Qcolor_menu_high; -Lisp_Object Qcolor_menu_button, Qcolor_menu_unsel, Qcolor_toolbar; -Lisp_Object Qcolor_scrollbar, Qcolor_desktop, Qcolor_workspace, Qfont_default; -Lisp_Object Qfont_menubar, Qfont_dialog, Qsize_cursor, Qsize_scrollbar; -Lisp_Object Qsize_menu, Qsize_toolbar, Qsize_tbbutton, Qsize_tbborder, Qsize_icon; -Lisp_Object Qsize_icon_small, Qsize_device, Qsize_workspace, Qsize_device_mm; -Lisp_Object Qdevice_dpi, Qmouse_buttons, Qswap_buttons; -Lisp_Object Qshow_sounds, Qslow_device, Qsecurity, Qdbcs, Qime, Qmid_east; -Lisp_Object Qnum_bit_planes, Qnum_color_cells; +Lisp_Object + Qcolor_default, Qcolor_select, Qcolor_balloon, Qcolor_3d_face, + Qcolor_3d_light, Qcolor_3d_dark, Qcolor_menu, Qcolor_menu_highlight, + Qcolor_menu_button, Qcolor_menu_disabled, Qcolor_toolbar, + Qcolor_scrollbar, Qcolor_desktop, Qcolor_workspace, Qfont_default, + Qfont_menubar, Qfont_dialog, Qsize_cursor, Qsize_scrollbar, + Qsize_menu, Qsize_toolbar, Qsize_toolbar_button, + Qsize_toolbar_border, Qsize_icon, Qsize_icon_small, Qsize_device, + Qsize_workspace, Qsize_device_mm, Qdevice_dpi, Qnum_bit_planes, + Qnum_color_cells, Qmouse_buttons, Qswap_buttons, Qshow_sounds, + Qslow_device, Qsecurity; Lisp_Object Qdevicep, Qdevice_live_p; Lisp_Object Qdelete_device; @@ -905,133 +906,197 @@ return make_int (DEVICE_BAUD_RATE (decode_device (device))); } -DEFUN ("device-system-metrics", Fdevice_system_metrics, 2, 2, 0, /* -Get metrics for DEVICE as provided by the system. +DEFUN ("device-system-metric", Fdevice_system_metric, 1, 3, 0, /* +Get a metric for DEVICE as provided by the system. -METRIC must be a symbol specifying requested metric. Note that -the metrics returned are these provided by the system internally, -not read from resources, so obtained from the mostly internal level. +METRIC must be a symbol specifying requested metric. Note that the metrics +returned are these provided by the system internally, not read from resources, +so obtained from the most internal level. -If a metric is not provided by the system, return value is nil. -Boolean values are returned as zero and non-zero integers. +If a metric is not provided by the system, then DEFAULT is returned. + +When DEVICE is nil, selected device is assumed Metrics, by group, are: -COLORS. Colors are returned as valid color instantiators. No other -assumption on the returned valie should be made (i.e. it can be a -string on one system but a color instance on another). For colors, -returned value is a cons of foreground and background colors. Note -that if the system provides only one color of the pair, the second -one may be nil. +COLORS. Colors are returned as valid color instantiators. No other assumption +on the returned valie should be made (i.e. it can be a string on one system but +a color instance on another). For colors, returned value is a cons of +foreground and background colors. Note that if the system provides only one +color of the pair, the second one may be nil. -'color-default Standard window text foreground and background. -'color-select Selection highligh text and backgroun colors. -'color-balloon Ballon popup text and background colors. -'color-3d-face 3-D object (button, modeline) text and surface colors. -'color-3d-light Fore and back colors for 3-D edges facing light source. -'color-3d-dark Fore and back colors for 3-D edges facing away from - light source. -'color-menu Text and background for menus -'color-menu-high Selected menu item colors -'color-menu-button Menu button colors -'color-menu-unsel Unselectable menu item colors -'color-toolbar Toolbar foreground and background colors -'color-scrollbar Scrollbar foreground and background colors -'color-desktop Desktop window colors -'color-workspace Workspace window colors +color-default Standard window text foreground and background. +color-select Selection highligh text and backgroun colors. +color-balloon Ballon popup text and background colors. +color-3d-face 3-D object (button, modeline) text and surface colors. +color-3d-light Fore and back colors for 3-D edges facing light source. +color-3d-dark Fore and back colors for 3-D edges facing away from + light source. +color-menu Text and background for menus +color-menu-highlight Selected menu item colors +color-menu-button Menu button colors +color-menu-disabled Unselectable menu item colors +color-toolbar Toolbar foreground and background colors +color-scrollbar Scrollbar foreground and background colors +color-desktop Desktop window colors +color-workspace Workspace window colors -FONTS. Fonts are returned as valid font instantiators. No other -assumption on the returned value should be made (i.e. it can be a -string on one system but font instance on another). +FONTS. Fonts are returned as valid font instantiators. No other assumption on +the returned value should be made (i.e. it can be a string on one system but +font instance on another). -'font-default Default fixed width font. -'font-menubar Menubar font -'font-dialog Dialog boxes font +font-default Default fixed width font. +font-menubar Menubar font +font-dialog Dialog boxes font -GEOMETRY. These metrics are returned as conses of (X . Y). As with colors, +GEOMETRY. These metrics are returned as conses of (X . Y). As with colors, either car or cdr of the cons may be nil if the system does not provide one of corresponding dimensions. -'size-cursor Mouse cursor size. -'size-scrollbar Scrollbars (WIDTH . HEIGHT) -'size-menu Menubar height, as (nil . HEIGHT) -'size-toolbar Toolbar width and height. -'size-tbbutton Toolbar button size. -'size-tbborder Toolbar border width and height. -'size-icon Icon dimensions. -'size-icon-small Small icon dimensions. -'size-device Device screen size in pixels. -'size-workspace Workspace size in pixels. This can be less than the above - if window manager has decorations which effectively shrink - the area remaining for application windows. -'size-device-mm Device screen size in millimeters. -'device-dpi Device resolution, in dots per inch. -'num-bit-planes Integer, number of deive bit planes. -'num-color-cells Integer, number of device color cells. +size-cursor Mouse cursor size. +size-scrollbar Scrollbars (WIDTH . HEIGHT) +size-menu Menubar height, as (nil . HEIGHT) +size-toolbar Toolbar width and height. +size-toolbar-button Toolbar button size. +size-toolbar-border Toolbar border width and height. +size-icon Icon dimensions. +size-icon-small Small icon dimensions. +size-device Device screen size in pixels. +size-workspace Workspace size in pixels. This can be less than the + above if window manager has decorations which + effectively shrink the area remaining for application + windows. +size-device-mm Device screen size in millimeters. +device-dpi Device resolution, in dots per inch. +num-bit-planes Integer, number of deivce bit planes. +num-color-cells Integer, number of device color cells. -FEATURES. This group reports various device features. Boolean values retuned -as integer 1 for true and zero for false, or nil if the feature is unknown -for the system. - -'mouse-buttons Number of mouse buttons, or zero if no mouse (integer). -'swap-buttons Non-zero if left and right mouse buttons are swapped -'show-sounds User preference for visual over audible bell (boolean). -'slow-device Device is slow, avoid animation (boolean). -'security Non-zero if user environment is secure. -'dbcs Window system supports DBCS (boolean). -'ime Device embeds an input method editor (boolean). -'mid-east Non-zero if the window system is enabled for Hebrew - and Arabic (left-to-right reading) languages. +FEATURES. This group reports various device features. If a feature is +present, integer 1 (one) is returned, if it is not present, then integer +0 (zero) is returned. If the system is unaware of the feature, then +DEFAULT is returned. + +mouse-buttons Integer, number of mouse buttons, or zero if no mouse. +swap-buttons Non-zero if left and right mouse buttons are swapped. +show-sounds User preference for visual over audible bell. +slow-device Device is slow, avoid animation. +security Non-zero if user environment is secure. */ - (device, metric)) + (device, metric, default_)) { struct device *d = decode_device (device); enum device_metrics m; + Lisp_Object res; /* Decode metric */ - if (EQ (metric, Qcolor_default)) m = color_default; - else if (EQ (metric, Qcolor_select)) m = color_select; - else if (EQ (metric, Qcolor_balloon)) m = color_balloon; - else if (EQ (metric, Qcolor_3d_face)) m = color_3d_face; - else if (EQ (metric, Qcolor_3d_light)) m = color_3d_light; - else if (EQ (metric, Qcolor_3d_dark)) m = color_3d_dark; - else if (EQ (metric, Qcolor_menu)) m = color_menu; - else if (EQ (metric, Qcolor_menu_high)) m = color_menu_high; - else if (EQ (metric, Qcolor_menu_button)) m = color_menu_button; - else if (EQ (metric, Qcolor_menu_unsel)) m = color_menu_unsel; - else if (EQ (metric, Qcolor_toolbar)) m = color_toolbar; - else if (EQ (metric, Qcolor_scrollbar)) m = color_scrollbar; - else if (EQ (metric, Qcolor_desktop)) m = color_desktop; - else if (EQ (metric, Qcolor_workspace)) m = color_workspace; - else if (EQ (metric, Qfont_default)) m = font_default; - else if (EQ (metric, Qfont_menubar)) m = font_menubar; - else if (EQ (metric, Qfont_dialog)) m = font_dialog; - else if (EQ (metric, Qsize_cursor)) m = size_cursor; - else if (EQ (metric, Qsize_scrollbar)) m = size_scrollbar; - else if (EQ (metric, Qsize_menu)) m = size_menu; - else if (EQ (metric, Qsize_toolbar)) m = size_toolbar; - else if (EQ (metric, Qsize_tbbutton)) m = size_tbbutton; - else if (EQ (metric, Qsize_tbborder)) m = size_tbborder; - else if (EQ (metric, Qsize_icon)) m = size_icon; - else if (EQ (metric, Qsize_icon_small)) m = size_icon_small; - else if (EQ (metric, Qsize_device)) m = size_device; - else if (EQ (metric, Qsize_workspace)) m = size_workspace; - else if (EQ (metric, Qsize_device_mm)) m = size_device_mm; - else if (EQ (metric, Qdevice_dpi)) m = device_dpi; - else if (EQ (metric, Qnum_bit_planes)) m = num_bit_planes; - else if (EQ (metric, Qnum_color_cells)) m = num_color_cells; - else if (EQ (metric, Qmouse_buttons)) m = mouse_buttons; - else if (EQ (metric, Qswap_buttons)) m = swap_buttons; - else if (EQ (metric, Qshow_sounds)) m = show_sounds; - else if (EQ (metric, Qslow_device)) m = slow_device; - else if (EQ (metric, Qsecurity)) m = security; - else if (EQ (metric, Qdbcs)) m = dbcs; - else if (EQ (metric, Qime)) m = ime; - else if (EQ (metric, Qmid_east)) m = mid_east; +#define FROB(met) \ + else if (EQ (metric, Q##met)) \ + m = DM_##met + + if (0) + ; + FROB (color_default); + FROB (color_select); + FROB (color_balloon); + FROB (color_3d_face); + FROB (color_3d_light); + FROB (color_3d_dark); + FROB (color_menu); + FROB (color_menu_highlight); + FROB (color_menu_button); + FROB (color_menu_disabled); + FROB (color_toolbar); + FROB (color_scrollbar); + FROB (color_desktop); + FROB (color_workspace); + FROB (font_default); + FROB (font_menubar); + FROB (font_dialog); + FROB (size_cursor); + FROB (size_scrollbar); + FROB (size_menu); + FROB (size_toolbar); + FROB (size_toolbar_button); + FROB (size_toolbar_border); + FROB (size_icon); + FROB (size_icon_small); + FROB (size_device); + FROB (size_workspace); + FROB (size_device_mm); + FROB (device_dpi); + FROB (num_bit_planes); + FROB (num_color_cells); + FROB (mouse_buttons); + FROB (swap_buttons); + FROB (show_sounds); + FROB (slow_device); + FROB (security); else signal_simple_error ("Invalid device metric symbol", metric); - - return DEVMETH_OR_GIVEN (d, device_system_metrics, (d, m), Qnil); + + res = DEVMETH_OR_GIVEN (d, device_system_metrics, (d, m), Qunbound); + return UNBOUNDP(res) ? default_ : res; + +#undef FROB +} + +DEFUN ("device-system-metrics", Fdevice_system_metrics, 0, 1, 0, /* +Get a property list of device metric for DEVICE. + +See `device-system-metric' for the description of available metrics. +DEVICE defaults to selected device when omitted. +*/ + (device)) +{ + struct device *d = decode_device (device); + Lisp_Object plist = Qnil, one_metric; + +#define FROB(m) \ + if (!UNBOUNDP ((one_metric = \ + DEVMETH_OR_GIVEN (d, device_system_metrics, \ + (d, DM_##m), Qunbound)))) \ + plist = Fcons (Q##m, Fcons (one_metric, plist)); + + FROB (color_default); + FROB (color_select); + FROB (color_balloon); + FROB (color_3d_face); + FROB (color_3d_light); + FROB (color_3d_dark); + FROB (color_menu); + FROB (color_menu_highlight); + FROB (color_menu_button); + FROB (color_menu_disabled); + FROB (color_toolbar); + FROB (color_scrollbar); + FROB (color_desktop); + FROB (color_workspace); + FROB (font_default); + FROB (font_menubar); + FROB (font_dialog); + FROB (size_cursor); + FROB (size_scrollbar); + FROB (size_menu); + FROB (size_toolbar); + FROB (size_toolbar_button); + FROB (size_toolbar_border); + FROB (size_icon); + FROB (size_icon_small); + FROB (size_device); + FROB (size_workspace); + FROB (size_device_mm); + FROB (device_dpi); + FROB (num_bit_planes); + FROB (num_color_cells); + FROB (mouse_buttons); + FROB (swap_buttons); + FROB (show_sounds); + FROB (slow_device); + FROB (security); + + return plist; + +#undef FROB } Lisp_Object @@ -1172,6 +1237,7 @@ DEFSUBR (Fdevice_class); DEFSUBR (Fset_device_class); DEFSUBR (Fdevice_system_metrics); + DEFSUBR (Fdevice_system_metric); DEFSUBR (Fset_device_baud_rate); DEFSUBR (Fdevice_baud_rate); DEFSUBR (Fdomain_device_type); @@ -1195,9 +1261,9 @@ defsymbol (&Qcolor_3d_light, "color-3d-light"); defsymbol (&Qcolor_3d_dark, "color-3d-dark"); defsymbol (&Qcolor_menu, "color-menu"); - defsymbol (&Qcolor_menu_high, "color-menu-high"); + defsymbol (&Qcolor_menu_highlight, "color-menu-highlight"); defsymbol (&Qcolor_menu_button, "color-menu-button"); - defsymbol (&Qcolor_menu_unsel, "color-menu-unsel"); + defsymbol (&Qcolor_menu_disabled, "color-menu-disabled"); defsymbol (&Qcolor_toolbar, "color-toolbar"); defsymbol (&Qcolor_scrollbar, "color-scrollbar"); defsymbol (&Qcolor_desktop, "color-desktop"); @@ -1209,8 +1275,8 @@ defsymbol (&Qsize_scrollbar, "size-scrollbar"); defsymbol (&Qsize_menu, "size-menu"); defsymbol (&Qsize_toolbar, "size-toolbar"); - defsymbol (&Qsize_tbbutton, "size-tbbutton"); - defsymbol (&Qsize_tbborder, "size-tbborder"); + defsymbol (&Qsize_toolbar_button, "size-toolbar-button"); + defsymbol (&Qsize_toolbar_border, "size-toolbar-border"); defsymbol (&Qsize_icon, "size-icon"); defsymbol (&Qsize_icon_small, "size-icon-small"); defsymbol (&Qsize_device, "size-device"); @@ -1224,9 +1290,6 @@ defsymbol (&Qshow_sounds, "show-sounds"); defsymbol (&Qslow_device, "slow-device"); defsymbol (&Qsecurity, "security"); - defsymbol (&Qdbcs, "dbcs"); - defsymbol (&Qime, "ime"); - defsymbol (&Qmid_east, "mid-east"); } void
--- a/src/dialog-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/dialog-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -213,40 +213,10 @@ } } -DEFUN ("popup-dialog-box", Fpopup_dialog_box, 1, 1, 0, /* -Pop up a dialog box. -A dialog box description is a list. - -The first element of a dialog box must be a string, which is the title or -question. - -The rest of the elements are descriptions of the dialog box's buttons. -Each of these is a vector, the syntax of which is essentially the same as -that of popup menu items. They may have any of the following forms: - - [ "name" callback <active-p> ] - [ "name" callback <active-p> "suffix" ] - [ "name" callback :<keyword> <value> :<keyword> <value> ... ] - -The name is the string to display on the button; it is filtered through the -resource database, so it is possible for resources to override what string -is actually displayed. - -If the `callback' of a button is a symbol, then it must name a command. -It will be invoked with `call-interactively'. If it is a list, then it is -evaluated with `eval'. - -One (and only one) of the buttons may be `nil'. This marker means that all -following buttons should be flushright instead of flushleft. - -Though the keyword/value syntax is supported for dialog boxes just as in -popup menus, the only keyword which is both meaningful and fully implemented -for dialog box buttons is `:active'. -*/ - (dbox_desc)) +static void +x_popup_dialog_box (struct frame* f, Lisp_Object dbox_desc) { int dbox_id; - struct frame *f = selected_frame (); widget_value *data; Widget parent, dbox; Lisp_Object frame; @@ -288,13 +258,17 @@ popup_up_p++; lw_pop_up_all_widgets (dbox_id); - return Qnil; } void syms_of_dialog_x (void) { - DEFSUBR (Fpopup_dialog_box); +} + +void +console_type_create_dialog_x (void) +{ + CONSOLE_HAS_METHOD (x, popup_dialog_box); } void
--- a/src/dialog.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/dialog.c Mon Aug 13 10:34:13 2007 +0200 @@ -26,10 +26,53 @@ #include <config.h> #include "lisp.h" +#include "frame.h" +#include "device.h" + +DEFUN ("popup-dialog-box", Fpopup_dialog_box, 1, 1, 0, /* +Pop up a dialog box. +A dialog box description is a list. + +The first element of a dialog box must be a string, which is the title or +question. + +The rest of the elements are descriptions of the dialog box's buttons. +Each of these is a vector, the syntax of which is essentially the same as +that of popup menu items. They may have any of the following forms: + + [ "name" callback <active-p> ] + [ "name" callback <active-p> "suffix" ] + [ "name" callback :<keyword> <value> :<keyword> <value> ... ] + +The name is the string to display on the button; it is filtered through the +resource database, so it is possible for resources to override what string +is actually displayed. + +If the `callback' of a button is a symbol, then it must name a command. +It will be invoked with `call-interactively'. If it is a list, then it is +evaluated with `eval'. + +One (and only one) of the buttons may be `nil'. This marker means that all +following buttons should be flushright instead of flushleft. + +Though the keyword/value syntax is supported for dialog boxes just as in +popup menus, the only keyword which is both meaningful and fully implemented +for dialog box buttons is `:active'. +*/ + (dbox_desc)) +{ + struct frame *f = selected_frame (); + struct device *d = XDEVICE (f->device); + + MAYBE_DEVMETH (d, popup_dialog_box, (f, dbox_desc)); + + return Qnil; +} void syms_of_dialog (void) { + DEFSUBR (Fpopup_dialog_box); } void
--- a/src/dragdrop.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/dragdrop.c Mon Aug 13 10:34:13 2007 +0200 @@ -42,8 +42,7 @@ and body. if it is a list it should look like ( MIME-TYPE MIME-ENCODING MIME-DATA ) - MIME-TYPE should have the format as required by tm-view, but - is a string + MIME-TYPE list of type and key.value conses. Same as in tm-view MIME-ENC the same (a string in this case) MIME-DATA is a string */ @@ -52,6 +51,9 @@ #include "lisp.h" #include "dragdrop.h" +/* The supported protocol list */ +Lisp_Object Vdragdrop_protocols; + /* Drag'n'Drop data types known by XEmacs */ Lisp_Object Qdragdrop_MIME; Lisp_Object Qdragdrop_URL; @@ -115,3 +117,26 @@ defsymbol (&Qdragdrop_URL, "dragdrop-URL"); defsymbol (&Qdragdrop_drop_dispatch, "dragdrop-drop-dispatch"); } + +void +vars_of_dragdrop (void) +{ + Fprovide (intern ("dragdrop-api")); + + DEFVAR_CONST_LISP ("dragdrop-protocols", &Vdragdrop_protocols /* +A list of supported Drag'n'drop protocols. +Each element is the feature symbol of the protocol. +*/ ); + + Vdragdrop_protocols = Qnil; + +#ifdef HAVE_MSWINDOWS + Vdragdrop_protocols = Fcons ( Qmswindows , Vdragdrop_protocols ); +#endif +#ifdef HAVE_CDE + Vdragdrop_protocols = Fcons ( intern ("cde") , Vdragdrop_protocols ); +#endif +#ifdef HAVE_OFFIX_DND + Vdragdrop_protocols = Fcons ( intern ("offix") , Vdragdrop_protocols ); +#endif +}
--- a/src/emacs.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/emacs.c Mon Aug 13 10:34:13 2007 +0200 @@ -144,6 +144,7 @@ Lisp_Object Vsite_directory, Vconfigure_site_directory; Lisp_Object Vconfigure_info_path; Lisp_Object Vinternal_error_checking; +Lisp_Object Vpath_separator; /* The default base directory XEmacs is installed under. */ Lisp_Object Vconfigure_exec_prefix_directory, Vconfigure_prefix_directory; @@ -1087,6 +1088,9 @@ #ifdef HAVE_TOOLBARS console_type_create_toolbar_x (); #endif +#ifdef HAVE_DIALOGS + console_type_create_dialog_x (); +#endif #endif /* HAVE_X_WINDOWS */ #ifdef HAVE_MS_WINDOWS @@ -1256,6 +1260,9 @@ #endif vars_of_dired (); vars_of_doc (); +#ifdef HAVE_DRAGNDROP + vars_of_dragdrop (); +#endif vars_of_editfns (); vars_of_elhash (); vars_of_emacs (); @@ -2448,61 +2455,109 @@ #define SEPCHAR ':' #endif -DEFUN ("decode-path-internal", Fdecode_path_internal, 1, 1, 0, /* -Explode a colon-separated list of paths into a list of strings. -*/ - (cd_path)) +/* Split STRING into a list of substrings. The substrings are the + parts of original STRING separated by SEPCHAR. */ +static Lisp_Object +split_string_by_emchar_1 (CONST Bufbyte *string, Bytecount size, + Emchar sepchar) { - if (NILP (cd_path)) - return Qnil; - - CHECK_STRING (cd_path); - - return !XSTRING_LENGTH (cd_path) ? - list1 (Qnil) : - decode_path ((char *) XSTRING_DATA (cd_path)); + Lisp_Object result = Qnil; + CONST Bufbyte *end = string + size; + + while (1) + { + CONST Bufbyte *p = string; + while (p < end) + { + if (charptr_emchar (p) == sepchar) + break; + INC_CHARPTR (p); + } + result = Fcons (make_string (string, p - string), result); + if (p < end) + { + string = p; + INC_CHARPTR (string); /* skip sepchar */ + } + else + break; + } + return Fnreverse (result); } +/* The same as the above, except PATH is an external C string (it is + converted as FORMAT_FILENAME), and sepchar is hardcoded to SEPCHAR + (':' or whatever). */ Lisp_Object decode_path (CONST char *path) { - REGISTER CONST char *p; - Lisp_Object lpath = Qnil; - - if (!path || !strlen (path)) return Qnil; - -#if defined (MSDOS) || defined (WIN32) - dostounix_filename (path); -#endif - - while (1) - { - p = strchr (path, SEPCHAR); - if (!p) p = path + strlen (path); - lpath = Fcons (make_string ((CONST Bufbyte *) path, p - path), - lpath); - if (*p) - path = p + 1; - else - break; - } - return Fnreverse (lpath); + int len; + Bufbyte *newpath; + if (!path) + return Qnil; + + GET_C_CHARPTR_INT_FILENAME_DATA_ALLOCA (path, newpath); + + len = strlen (newpath); + /* #### Does this make sense? It certainly does for + decode_env_path(), but it looks dubious here. Does any code + depend on decode_path("") returning nil instead of an empty + string? */ + if (!len) + return Qnil; + + return split_string_by_emchar_1 (newpath, (Bytecount)len, SEPCHAR); } Lisp_Object decode_env_path (CONST char *evarname, CONST char *default_) { - REGISTER CONST char *path = 0; + CONST char *path = 0; if (evarname) - path = (char *) egetenv (evarname); + path = egetenv (evarname); if (!path) path = default_; - if (!path) - return Qnil; - else - return decode_path(path); + return decode_path (path); +} + +/* Ben thinks this function should not exist or be exported to Lisp. + We use it to define split-path-string in subr.el (not!). */ + +DEFUN ("split-string-by-char", Fsplit_string_by_char, 1, 2, 0, /* +Split STRING into a list of substrings originally separated by SEPCHAR. +*/ + (string, sepchar)) +{ + CHECK_STRING (string); + CHECK_CHAR (sepchar); + return split_string_by_emchar_1 (XSTRING_DATA (string), + XSTRING_LENGTH (string), + XCHAR (sepchar)); } +/* #### This was supposed to be in subr.el, but is used VERY early in + the bootstrap process, so it goes here. Damn. */ + +DEFUN ("split-path", Fsplit_path, 1, 1, 0, /* +Explode a search path into a list of strings. +The path components are separated with the characters specified +with `path-separator'. +*/ + (path)) +{ + CHECK_STRING (path); + + while (!STRINGP (Vpath_separator) + || (XSTRING_CHAR_LENGTH (Vpath_separator) != 1)) + Vpath_separator = signal_simple_continuable_error + ("`path-separator' should be set to a single-character string", + Vpath_separator); + + return (split_string_by_emchar_1 + (XSTRING_DATA (path), XSTRING_LENGTH (path), + charptr_emchar (XSTRING_DATA (Vpath_separator)))); +} + DEFUN ("noninteractive", Fnoninteractive, 0, 0, 0, /* Non-nil return value means XEmacs is running without interactive terminal. */ @@ -2588,7 +2643,8 @@ DEFSUBR (Fquantify_clear_data); #endif /* QUANTIFY */ - DEFSUBR (Fdecode_path_internal); + DEFSUBR (Fsplit_string_by_char); + DEFSUBR (Fsplit_path); /* #### */ defsymbol (&Qkill_emacs_hook, "kill-emacs-hook"); defsymbol (&Qsave_buffers_kill_emacs, "save-buffers-kill-emacs"); @@ -2772,6 +2828,14 @@ Vinternal_error_checking); #endif Vinternal_error_checking = Fpurecopy (Vinternal_error_checking); + + DEFVAR_LISP ("path-separator", &Vpath_separator /* +The directory separator in search paths, as a string. +*/ ); + { + char c = SEPCHAR; + Vpath_separator = make_string ((Bufbyte *)&c, 1); + } } void
--- a/src/event-Xt.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/event-Xt.c Mon Aug 13 10:34:13 2007 +0200 @@ -1166,7 +1166,7 @@ { len = strlen ((char*)data); hurl = dnd_url_hexify_string ((char *)data, "file:"); - l_item = make_string (hurl, strlen (hurl)); + l_item = make_string ((Bufbyte *)hurl, strlen (hurl)); l_dndlist = Fcons (l_item, l_dndlist); data += len + 1; xfree (hurl); @@ -1176,9 +1176,9 @@ break; case DndText: l_type = Qdragdrop_MIME; - l_dndlist = list1 ( list3 ( make_string ("text/plain", 10), - make_string ("8bit", 4), - make_ext_string (data, + l_dndlist = list1 ( list3 ( list1 ( make_string ((Bufbyte *)"text/plain", 10) ), + make_string ((Bufbyte *)"8bit", 4), + make_ext_string ((Extbyte *)data, strlen((char *)data), FORMAT_CTEXT) ) ); break; @@ -1191,7 +1191,8 @@ to tm... */ l_type = Qdragdrop_MIME; - l_dndlist = list1 ( make_ext_string (data, strlen((char *)data), + l_dndlist = list1 ( make_ext_string ((Extbyte *)data, + strlen((char *)data), FORMAT_BINARY) ); break; case DndFile: @@ -1201,7 +1202,8 @@ { char *hurl = dnd_url_hexify_string (data, "file:"); - l_dndlist = list1 ( make_string (hurl, strlen (hurl)) ); + l_dndlist = list1 ( make_string ((Bufbyte *)hurl, + strlen (hurl)) ); l_type = Qdragdrop_URL; xfree (hurl); @@ -1210,15 +1212,16 @@ case DndURL: /* as it is a real URL it should already be escaped and escaping again will break them (cause % is unsave) */ - l_dndlist = list1 ( make_ext_string ((char *)data, + l_dndlist = list1 ( make_ext_string ((Extbyte *)data, strlen ((char *)data), FORMAT_FILENAME) ); l_type = Qdragdrop_URL; break; default: /* Unknown, RawData and any other type */ - l_dndlist = list1 ( list3 ( make_string ("application/octet-stream", 24), - make_string ("8bit", 4), - make_ext_string ((char *)data, size, + l_dndlist = list1 ( list3 ( list1 ( make_string ((Bufbyte *)"application/octet-stream", 24) ), + make_string ((Bufbyte *)"8bit", 4), + make_ext_string ((Extbyte *)data, + size, FORMAT_BINARY) ) ); l_type = Qdragdrop_MIME; break;
--- a/src/event-msw.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/event-msw.c Mon Aug 13 10:34:13 2007 +0200 @@ -43,8 +43,11 @@ # include "menubar-msw.h" #endif +#ifdef HAVE_DRAGNDROP +# include "dragdrop.h" +#endif + #include "device.h" -#include "dragdrop.h" #include "events.h" #include "frame.h" #include "lstream.h" @@ -58,6 +61,8 @@ #include "events-mod.h" #ifdef HAVE_MSG_SELECT #include "sysfile.h" +#elif defined(__CYGWIN32__) +typedef unsigned int SOCKET; #endif #include <io.h> #include <errno.h> @@ -1410,7 +1415,11 @@ /* * Callback procedure for dde messages + * + * We execute a dde Open("file") by simulating a file drop, so dde support + * depends on dnd support. */ +#ifdef HAVE_DRAGNDROP HDDEDATA CALLBACK mswindows_dde_callback (UINT uType, UINT uFmt, HCONV hconv, HSZ hszTopic, HSZ hszItem, HDDEDATA hdata, @@ -1446,6 +1455,7 @@ struct gcpro gcpro1, gcpro2; Lisp_Object l_dndlist = Qnil; Lisp_Object emacs_event = Fmake_event (Qnil, Qnil); + Lisp_Object frmcons, devcons, concons; struct Lisp_Event *event = XEVENT (emacs_event); DdeGetData (hdata, cmd, len, 0); @@ -1491,7 +1501,16 @@ GCPRO2 (emacs_event, l_dndlist); l_dndlist = make_string (filename, strlen (filename)); + /* Find a mswindows frame */ event->channel = Qnil; + FRAME_LOOP_NO_BREAK (frmcons, devcons, concons) + { + Lisp_Object frame = XCAR (frmcons); + if (FRAME_TYPE_P (XFRAME (frame), mswindows)) + event->channel = frame; + }; + assert (!NILP (event->channel)); + event->timestamp = GetTickCount(); event->event_type = misc_user_event; event->event.misc.button = 1; @@ -1511,8 +1530,8 @@ default: return (HDDEDATA) NULL; } - } +#endif /* * The windows procedure for the window class XEMACS_CLASS @@ -2059,6 +2078,7 @@ } break; +#ifdef HAVE_DRAGNDROP case WM_DROPFILES: /* implementation ripped-off from event-Xt.c */ { UINT filecount, i, len; @@ -2118,7 +2138,7 @@ UNGCPRO; } break; - +#endif defproc: default:
--- a/src/event-stream.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/event-stream.c Mon Aug 13 10:34:13 2007 +0200 @@ -1620,6 +1620,26 @@ return event; } +Lisp_Object +enqueue_misc_user_event_pos (Lisp_Object channel, Lisp_Object function, + Lisp_Object object, + int button, int modifiers, int x, int y) +{ + Lisp_Object event = Fmake_event (Qnil, Qnil); + + XEVENT (event)->event_type = misc_user_event; + XEVENT (event)->channel = channel; + XEVENT (event)->event.misc.function = function; + XEVENT (event)->event.misc.object = object; + XEVENT (event)->event.misc.button = button; + XEVENT (event)->event.misc.modifiers = modifiers; + XEVENT (event)->event.misc.x = x; + XEVENT (event)->event.misc.y = y; + enqueue_command_event (event); + + return event; +} + /**********************************************************************/ /* focus-event handling */
--- a/src/events.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/events.c Mon Aug 13 10:34:13 2007 +0200 @@ -1276,7 +1276,6 @@ else if (SYMBOLP (key)) { CONST char *str = 0; -#if 0 /* obsolete keynames */ if (brief) { if (EQ (key, QKlinefeed)) str = "LFD"; @@ -1287,7 +1286,6 @@ else if (EQ (key, QKspace)) str = "SPC"; else if (EQ (key, QKbackspace)) str = "BS"; } -#endif if (str) { int i = strlen (str); @@ -1648,6 +1646,7 @@ OVER_NOTHING: over the text area, but not over text OVER_OUTSIDE: outside of the frame border OVER_TEXT: over text in the text area + OVER_V_DIVIDER: over windows vertical divider and return: @@ -1792,6 +1791,16 @@ return result == OVER_TOOLBAR ? Qt : Qnil; } +DEFUN ("event-over-vertical-divider-p", Fevent_over_vertical_divider_p, 1, 1, 0, /* +Return t if the mouse event EVENT occurred over a window divider. +*/ + (event)) +{ + int result = event_pixel_translation (event, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + + return result == OVER_V_DIVIDER ? Qt : Qnil; +} + struct console * event_console_or_selected (Lisp_Object event) { @@ -2160,6 +2169,7 @@ DEFSUBR (Fevent_over_modeline_p); DEFSUBR (Fevent_over_border_p); DEFSUBR (Fevent_over_toolbar_p); + DEFSUBR (Fevent_over_vertical_divider_p); DEFSUBR (Fevent_channel); DEFSUBR (Fevent_window); DEFSUBR (Fevent_point);
--- a/src/events.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/events.h Mon Aug 13 10:34:13 2007 +0200 @@ -504,6 +504,7 @@ EXFUN (Fevent_modeline_position, 1); EXFUN (Fevent_over_modeline_p, 1); EXFUN (Fevent_over_toolbar_p, 1); +EXFUN (Fevent_over_vertical_divider_p, 1); EXFUN (Fevent_point, 1); EXFUN (Fevent_window, 1); EXFUN (Fmake_event, 2);
--- a/src/extents.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/extents.c Mon Aug 13 10:34:13 2007 +0200 @@ -4925,7 +4925,7 @@ } DEFUN ("set-extent-end-glyph", Fset_extent_end_glyph, 2, 3, 0, /* -Display a bitmap, subwindow or string at the end of the EXTENT. +Display a bitmap, subwindow or string at the end of EXTENT. END-GLYPH must be a glyph object. The layout policy defaults to `text'. */ (extent, end_glyph, layout)) @@ -4937,22 +4937,22 @@ Return the glyph object displayed at the beginning of EXTENT. If there is none, nil is returned. */ - (extent_obj)) -{ - return extent_begin_glyph (decode_extent (extent_obj, 0)); + (extent)) +{ + return extent_begin_glyph (decode_extent (extent, 0)); } DEFUN ("extent-end-glyph", Fextent_end_glyph, 1, 1, 0, /* Return the glyph object displayed at the end of EXTENT. If there is none, nil is returned. */ - (extent_obj)) -{ - return extent_end_glyph (decode_extent (extent_obj, 0)); + (extent)) +{ + return extent_end_glyph (decode_extent (extent, 0)); } DEFUN ("set-extent-begin-glyph-layout", Fset_extent_begin_glyph_layout, 2, 2, 0, /* -Set the layout policy of the given extent's begin glyph. +Set the layout policy of EXTENT's begin glyph. Access this using the `extent-begin-glyph-layout' function. */ (extent, layout)) @@ -4965,7 +4965,7 @@ } DEFUN ("set-extent-end-glyph-layout", Fset_extent_end_glyph_layout, 2, 2, 0, /* -Set the layout policy of the given extent's end glyph. +Set the layout policy of EXTENT's end glyph. Access this using the `extent-end-glyph-layout' function. */ (extent, layout)) @@ -4978,7 +4978,7 @@ } DEFUN ("extent-begin-glyph-layout", Fextent_begin_glyph_layout, 1, 1, 0, /* -Return the layout policy associated with the given extent's begin glyph. +Return the layout policy associated with EXTENT's begin glyph. Set this using the `set-extent-begin-glyph-layout' function. */ (extent)) @@ -4988,7 +4988,7 @@ } DEFUN ("extent-end-glyph-layout", Fextent_end_glyph_layout, 1, 1, 0, /* -Return the layout policy associated with the given extent's end glyph. +Return the layout policy associated with EXTENT's end glyph. Set this using the `set-extent-end-glyph-layout' function. */ (extent)) @@ -5332,7 +5332,7 @@ } DEFUN ("extent-properties", Fextent_properties, 1, 1, 0, /* -Return a property list of the attributes of the given extent. +Return a property list of the attributes of EXTENT. Do not modify this list; use `set-extent-property' instead. */ (extent)) @@ -5448,29 +5448,29 @@ This is the same as `highlight-extent', except that it will work even on extents without the `mouse-face' property. */ - (extent_obj, highlight_p)) -{ - if (NILP (extent_obj)) + (extent, highlight_p)) +{ + if (NILP (extent)) highlight_p = Qnil; else - XSETEXTENT (extent_obj, decode_extent (extent_obj, DE_MUST_BE_ATTACHED)); - do_highlight (extent_obj, !NILP (highlight_p)); + XSETEXTENT (extent, decode_extent (extent, DE_MUST_BE_ATTACHED)); + do_highlight (extent, !NILP (highlight_p)); return Qnil; } DEFUN ("highlight-extent", Fhighlight_extent, 1, 2, 0, /* -Highlight the given extent, if it is highlightable +Highlight EXTENT, if it is highlightable. \(that is, if it has the `mouse-face' property). If the second arg is non-nil, it will be highlighted, else dehighlighted. Highlighted extents are displayed as if they were merged with the face or faces specified by the `mouse-face' property. */ - (extent_obj, highlight_p)) -{ - if (EXTENTP (extent_obj) && NILP (extent_mouse_face (XEXTENT (extent_obj)))) + (extent, highlight_p)) +{ + if (EXTENTP (extent) && NILP (extent_mouse_face (XEXTENT (extent)))) return Qnil; else - return Fforce_highlight_extent (extent_obj, highlight_p); + return Fforce_highlight_extent (extent, highlight_p); }
--- a/src/faces.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/faces.c Mon Aug 13 10:34:13 2007 +0200 @@ -57,9 +57,11 @@ Lisp_Object Vdefault_face, Vmodeline_face; Lisp_Object Vleft_margin_face, Vright_margin_face, Vtext_cursor_face; Lisp_Object Vpointer_face; +Lisp_Object Vvertical_divider_face; /* Qdefault, Qhighlight defined in general.c */ Lisp_Object Qmodeline, Qleft_margin, Qright_margin, Qtext_cursor; +Lisp_Object Qvertical_divider; /* In the old implementation Vface_list was a list of the face names, not the faces themselves. We now distinguish between permanent and @@ -1753,6 +1755,7 @@ defsymbol (&Qleft_margin, "left-margin"); defsymbol (&Qright_margin, "right-margin"); defsymbol (&Qtext_cursor, "text-cursor"); + defsymbol (&Qvertical_divider, "vertical-divider"); DEFSUBR (Ffacep); DEFSUBR (Ffind_face); @@ -1804,6 +1807,8 @@ staticpro (&Vmodeline_face); Vmodeline_face = Qnil; + staticpro (&Vvertical_divider_face); + Vvertical_divider_face = Qnil; staticpro (&Vleft_margin_face); Vleft_margin_face = Qnil; staticpro (&Vright_margin_face); @@ -1934,6 +1939,20 @@ way since we need to get them anyway. */ Vmodeline_face = Fmake_face (Qmodeline, build_string ("modeline face"), Qnil); + Vvertical_divider_face = Fmake_face (Qvertical_divider, + build_string ("vertical divider face"), + Qnil); + /* #### vertical-divider-face should not inherit from modeline face. + Perhaps there must be a 3d-object-face to supply default foreground, + background and pixmap. */ + set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound), + Fget (Vmodeline_face, Qforeground, Qunbound)); + set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground, Qunbound), + Fget (Vmodeline_face, Qbackground, Qunbound)); + set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground_pixmap, + Qunbound), + Fget (Vdefault_face, Qbackground_pixmap, Qunbound)); + Vleft_margin_face = Fmake_face (Qleft_margin, build_string ("left margin face"), Qnil);
--- a/src/faces.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/faces.h Mon Aug 13 10:34:13 2007 +0200 @@ -260,7 +260,7 @@ extern Lisp_Object Qstrikethru, Vbuilt_in_face_specifiers, Vdefault_face; extern Lisp_Object Vleft_margin_face, Vpointer_face, Vright_margin_face; -extern Lisp_Object Vtext_cursor_face; +extern Lisp_Object Vtext_cursor_face, Vvertical_divider_face; void mark_all_faces_as_clean (void); void init_frame_faces (struct frame *f);
--- a/src/fileio.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/fileio.c Mon Aug 13 10:34:13 2007 +0200 @@ -111,7 +111,7 @@ Lisp_Object Qfile_name_handler_alist; -Lisp_Object Vpath_separator; +Lisp_Object Vdirectory_sep_char; /* These variables describe handlers that have "already" had a chance to handle the current operation. @@ -657,9 +657,9 @@ The Emacs process number forms part of the result, so there is no danger of generating a name being used by another process. -In addition, this function makes an attempt to choose a name which -has no existing file. To make this work, PREFIX should be an -absolute file name. +In addition, this function makes an attempt to choose a name that +does not specify an existing file. To make this work, PREFIX should +be an absolute file name. */ (prefix)) { @@ -1289,7 +1289,7 @@ /* Try doing it all at once. */ /* !!#### Does realpath() Mule-encapsulate? */ - if (!realpath (path, resolved_path)) + if (!xrealpath (path, resolved_path)) { /* Didn't resolve it -- have to do it one component at a time. */ /* "realpath" is a typically useless, stupid un*x piece of crap. @@ -1304,7 +1304,7 @@ *p = 0; /* memset (resolved_path, 0, sizeof (resolved_path)); */ - if (realpath (path, resolved_path)) + if (xrealpath (path, resolved_path)) { if (p) *p = '/'; @@ -2455,7 +2455,7 @@ } DEFUN ("file-regular-p", Ffile_regular_p, 1, 1, 0, /* - "Return t if file FILENAME is the name of a regular file. +Return t if file FILENAME is the name of a regular file. This is the sort of file that holds an ordinary stream of data bytes. */ (filename)) @@ -4305,10 +4305,12 @@ */ ); disable_auto_save_when_buffer_shrinks = 1; - DEFVAR_LISP ("path-separator", &Vpath_separator /* - *Directory separator string for built-in functions that return file names. -The value should be either \"/\" or \"\\\". + DEFVAR_LISP ("directory-sep-char", &Vdirectory_sep_char /* +Directory separator character for built-in functions that return file names. +The value should be either ?/ or ?\ (any other value is treated as ?\). +This variable affects the built-in functions only on Windows, +on other platforms, it is initialized so that Lisp code can find out +what the normal separator is. */ ); - Vpath_separator = build_string("X"); - (XSTRING_DATA (Vpath_separator))[0] = DIRECTORY_SEP; + Vdirectory_sep_char = make_char ('/'); }
--- a/src/floatfns.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/floatfns.c Mon Aug 13 10:34:13 2007 +0200 @@ -929,6 +929,9 @@ #endif /* FLOAT_CATCH_SIGILL */ +/* In C++, it is impossible to determine what type matherr expects + without some more configure magic. + We shouldn't be using matherr anyways - it's a non-standard SYSVism. */ #if defined (HAVE_MATHERR) && !defined(__cplusplus) int matherr (struct exception *x) @@ -947,11 +950,11 @@ : Qnil))); switch (x->type) { - case DOMAIN: Fsignal (Qdomain_error, args); break; - case SING: Fsignal (Qsingularity_error, args); break; - case OVERFLOW: Fsignal (Qoverflow_error, args); break; - case UNDERFLOW: Fsignal (Qunderflow_error, args); break; - default: Fsignal (Qarith_error, args); break; + case DOMAIN: Fsignal (Qdomain_error, args); break; + case SING: Fsignal (Qsingularity_error, args); break; + case OVERFLOW: Fsignal (Qoverflow_error, args); break; + case UNDERFLOW: Fsignal (Qunderflow_error, args); break; + default: Fsignal (Qarith_error, args); break; } return 1; /* don't set errno or print a message */ }
--- a/src/fns.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/fns.c Mon Aug 13 10:34:13 2007 +0200 @@ -606,10 +606,12 @@ /* Urk! We allow this, for "compatibility"... */ ; #endif +#if 0 /* removed for XEmacs 21 */ else if (INTP (seq)) /* This is too revolting to think about but maintains compatibility with FSF (and lots and lots of old code). */ args[argnum] = Fnumber_to_string (seq); +#endif else { check_losing_bytecode ("concat", seq);
--- a/src/frame-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/frame-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -1093,10 +1093,11 @@ XtPointer callData) { char *filePath, *hurl; - int ii; + int ii, enqueue=1; Lisp_Object frame = Qnil; Lisp_Object l_type = Qnil; Lisp_Object l_data = Qnil; + DtDndTransferCallbackStruct *transferInfo = NULL; struct gcpro gcpro1, gcpro2, gcpro3; /* @@ -1105,17 +1106,16 @@ correct misc_user_event - the data must be converted to the new format (URL/MIME) */ - return; - - DtDndTransferCallbackStruct *transferInfo = - (DtDndTransferCallbackStruct *) callData; - + /* return; */ + + transferInfo = (DtDndTransferCallbackStruct *) callData; if (transferInfo == NULL) return; GCPRO3 (frame, l_type, l_data); frame = make_frame ((struct frame *) clientData); + if (transferInfo->dropData->protocol == DtDND_FILENAME_TRANSFER) { l_type = Qdragdrop_URL; @@ -1125,7 +1125,9 @@ filePath = transferInfo->dropData->data.files[ii]; hurl = dnd_url_hexify_string ((char *)filePath, "file:"); /* ### Mule-izing required */ - l_data = Fcons ( make_string (hurl, strlen (hurl)), l_data ); + l_data = Fcons (make_string ((Bufbyte* )hurl, + strlen (hurl)), + l_data); xfree (hurl); } } @@ -1133,8 +1135,11 @@ { int speccount = specpdl_depth(); + /* Problem: all buffers a treated as text/plain!!! + Solution: Also support DtDND_TEXT_TRANSFER + perhaps implementation of the Motif protocol + (which is the base of CDE) will clear this */ l_type = Qdragdrop_MIME; - /* the meaning of this is not clear to me... */ record_unwind_protect(abort_current_drag, Qnil); drag_not_done = 1; for (ii = 0; ii < transferInfo->dropData->numItems; ii++) @@ -1144,21 +1149,26 @@ path = (filePath == NULL) ? Qnil : make_string ((Bufbyte *)filePath, strlen (filePath)); */ /* what, if the data is no text, and how can I tell it? */ - l_data = Fcons ( list3 ( make_string ("text/plain", 10), - make_string ("8bit", 4), - make_ext_string (transferInfo->dropData->data.buffers[ii].bp, - transferInfo->dropData->data.buffers[ii].size, - FORMAT_CTEXT) ), + l_data = Fcons ( list3 ( list1 ( make_string ((Bufbyte *)"text/plain", 10) ), + make_string ((Bufbyte *)"8bit", 4), + make_string ((Bufbyte *)transferInfo->dropData->data.buffers[ii].bp, + transferInfo->dropData->data.buffers[ii].size) ), l_data ); } drag_not_done = 0; - /* and what is this */ unbind_to(speccount, Qnil); } - - /* where are button, mod and pos? -- query the pointer... */ - enqueue_misc_user_event ( frame, Qdragdrop_drop_dispatch, - Fcons (l_type, l_data) ); + else /* the other cases: NOOP_TRANSFER */ + enqueue=0; + + /* The Problem: no button and mods from CDE... */ + if (enqueue) + enqueue_misc_user_event_pos ( frame, Qdragdrop_drop_dispatch, + Fcons (l_type, l_data), + 0 /* this is the button */, + 0 /* these are the mods */, + transferInfo->x, + transferInfo->y); UNGCPRO; return; @@ -1964,6 +1974,7 @@ DtDND_FILENAME_TRANSFER | DtDND_BUFFER_TRANSFER, XmDROP_COPY, dnd_transfer_cb_rec, DtNtextIsBuffer, True, + DtNregisterChildren, True, DtNpreserveRegistration, False, NULL); }
--- a/src/frame.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/frame.c Mon Aug 13 10:34:13 2007 +0200 @@ -615,6 +615,14 @@ FRAME_LOOP_NO_BREAK (frmcons, devcons, concons) unhold_one_frame_size_changes (XFRAME (XCAR (frmcons))); } + +void +invalidate_vertical_divider_cache_in_frame (struct frame *f) +{ + /* Invalidate cached value of needs_vertical_divider_p in + every and all windows */ + map_windows (f, invalidate_vertical_divider_cache_in_window, 0); +} /* * Frame size may change due to changes in scrollbars, toolbars, @@ -701,6 +709,23 @@ } +DEFUN ("focus-frame", Ffocus_frame, 1, 1, 0, /* +Select FRAME and give it the window system focus. +This function is not affected by the value of `focus-follows-mouse'. +*/ + (frame)) +{ + CHECK_LIVE_FRAME (frame); + + MAYBE_DEVMETH (XDEVICE (FRAME_DEVICE (XFRAME (frame))), focus_on_frame, + (XFRAME (frame))); + /* FRAME will be selected by the time we receive the next event. + However, it is better to select it explicitly now, in case the + Lisp code depends on frame being selected. */ + Fselect_frame (frame); + return Qnil; +} + /* Called from Fselect_window() */ void select_frame_1 (Lisp_Object frame) @@ -725,16 +750,14 @@ something to select a different frame, or until the next time this function is called. -Note that this does not actually cause the window-system focus to -be set to this frame, or the select-frame-hook or deselect-frame-hook +Note that this does not actually cause the window-system focus to be +set to this frame, or the `select-frame-hook' or `deselect-frame-hook' to be run, until the next time that XEmacs is waiting for an event. Also note that when focus-follows-mouse is non-nil, the frame selection is temporary and is reverted when the current command terminates, much like the buffer selected by `set-buffer'. In order -to effect a permanent focus change in this case, bind -focus-follows-mouse to nil, select the frame you want, and do -a (sit-for 0) within the scope of the binding. +to effect a permanent focus change, use `focus-frame'. */ (frame)) { @@ -1716,8 +1739,9 @@ DEFUN ("mouse-pixel-position", Fmouse_pixel_position, 0, 1, 0, /* Return a list (WINDOW X . Y) giving the current mouse window and position. -The position is given in pixel units, where (0, 0) is the -upper-left corner. +The position is given in pixel units, where (0, 0) is the upper-left corner. + +When the cursor is not over a window, the return value is a list (nil nil). DEVICE specifies the device on which to read the mouse position, and defaults to the selected device. If the device is a mouseless terminal @@ -1728,18 +1752,16 @@ { struct device *d = decode_device (device); Lisp_Object frame; - Lisp_Object window; + Lisp_Object window = Qnil; Lisp_Object x = Qnil; Lisp_Object y = Qnil; int intx, inty; - if (mouse_pixel_position_1 (d, &frame, &intx, &inty)) + if (mouse_pixel_position_1 (d, &frame, &intx, &inty) > 0) { struct window *w = find_window_by_pixel_pos (intx, inty, XFRAME (frame)->root_window); - if (!w) - window = Qnil; - else + if (w) { XSETWINDOW (window, w); @@ -1750,21 +1772,19 @@ XSETINT (y, inty); } } - else - { - if (FRAMEP (frame)) - window = FRAME_SELECTED_WINDOW (XFRAME (frame)); - else - window = Qnil; - } + else if (FRAMEP (frame)) + window = FRAME_SELECTED_WINDOW (XFRAME (frame)); return Fcons (window, Fcons (x, y)); } DEFUN ("mouse-position", Fmouse_position, 0, 1, 0, /* Return a list (WINDOW X . Y) giving the current mouse window and position. -The position is given in character cells, where (0, 0) is the -upper-left corner of the window. +The position is of a character under cursor, where (0, 0) is the upper-left +corner of the window. + +When the cursor is not over a character, or not over a window, the return +value is a list (nil nil). DEVICE specifies the device on which to read the mouse position, and defaults to the selected device. If the device is a mouseless terminal @@ -1773,39 +1793,31 @@ */ (device)) { - Lisp_Object val = Fmouse_pixel_position (device); + struct device *d = decode_device (device); + struct window *w; + Lisp_Object frame, window = Qnil, lisp_x = Qnil, lisp_y = Qnil; int x, y, obj_x, obj_y; - struct window *w; - struct frame *f; Bufpos bufpos, closest; Charcount modeline_closest; Lisp_Object obj1, obj2; - if (NILP (XCAR (val)) || NILP (XCAR (XCDR (val)))) - return val; - w = XWINDOW (XCAR (val)); - x = XINT (XCAR (XCDR (val))); - y = XINT (XCDR (XCDR (val))); - f = XFRAME (w->frame); - - if (x >= 0 && y >= 0) + if (mouse_pixel_position_1 (d, &frame, &x, &y) > 0) { - if (pixel_to_glyph_translation (f, x, y, &x, &y, &obj_x, &obj_y, &w, - &bufpos, &closest, &modeline_closest, - &obj1, &obj2) - != OVER_NOTHING) + int res = pixel_to_glyph_translation (XFRAME (frame), x, y, &x, &y, + &obj_x, &obj_y, &w, &bufpos, + &closest, &modeline_closest, + &obj1, &obj2); + if (res == OVER_TEXT) { - XCAR (XCDR (val)) = make_int (x); - XCDR (XCDR (val)) = make_int (y); + lisp_x = make_int (x); + lisp_y = make_int (y); + XSETWINDOW (window, w); } } - else - { - XCAR (XCDR (val)) = Qnil; - XCDR (XCDR (val)) = Qnil; - } - - return val; + else if (FRAMEP (frame)) + window = FRAME_SELECTED_WINDOW (XFRAME (frame)); + + return Fcons (window, Fcons (lisp_x, lisp_y)); } DEFUN ("mouse-position-as-motion-event", Fmouse_position_as_motion_event, 0, 1, 0, /* @@ -3136,6 +3148,7 @@ #if 0 /* FSFmacs */ DEFSUBR (Fignore_event); #endif + DEFSUBR (Ffocus_frame); DEFSUBR (Fselect_frame); DEFSUBR (Fselected_frame); DEFSUBR (Factive_minibuffer_window);
--- a/src/frame.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/frame.h Mon Aug 13 10:34:13 2007 +0200 @@ -382,6 +382,7 @@ } \ else \ windows_structure_changed = 1; \ + invalidate_vertical_divider_cache_in_frame (fwsc_f); \ } while (0) #define MARK_FRAME_SIZE_SLIPPED(f) do { \ @@ -717,5 +718,6 @@ void set_frame_selected_window (struct frame *f, Lisp_Object window); int is_surrogate_for_selected_frame (struct frame *f); void update_frame_icon (struct frame *f); +void invalidate_vertical_divider_cache_in_frame (struct frame *f); #endif /* _XEMACS_FRAME_H_ */
--- a/src/gdbinit Mon Aug 13 10:33:19 2007 +0200 +++ b/src/gdbinit Mon Aug 13 10:34:13 2007 +0200 @@ -123,7 +123,9 @@ end define run-temacs -run -batch -l loadup.el run-temacs -q + unset env EMACSLOADPATH + set env EMACSBOOTSTRAPLOADPATH ../lisp/:.. + run -batch -l ../lisp/loadup.el run-temacs -q end document run-temacs @@ -134,21 +136,22 @@ end define update-elc - set env EMACSLOADPATH=../lisp/ - set env EMACSBOOTSTRAPLOADPATH=../lisp/:.. - run -batch -l update-elc.el + unset env EMACSLOADPATH + set env EMACSBOOTSTRAPLOADPATH ../lisp/:.. + run -batch -l ../lisp/update-elc.el end document update-elc Usage: update-elc -Run the elc compilation part of the build procedure. +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 dump-temacs - set env EMACSLOADPATH=../lisp/:.. - run -batch -l loadup.el dump + unset env EMACSLOADPATH + set env EMACSBOOTSTRAPLOADPATH ../lisp/:.. + run -batch -l ../lisp/loadup.el dump end document dump-temacs
--- a/src/glyphs-msw.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/glyphs-msw.c Mon Aug 13 10:34:13 2007 +0200 @@ -47,6 +47,10 @@ Lisp_Object Vmswindows_bitmap_file_path; static COLORREF transparent_color = RGB (1,1,1); +DEFINE_IMAGE_INSTANTIATOR_FORMAT (cursor); +Lisp_Object Qcursor; +Lisp_Object Q_resource_type, Q_resource_id; + static void mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, enum image_instance_type type); @@ -362,10 +366,11 @@ mswindows_initialize_image_instance_mask (struct Lisp_Image_Instance* image, struct frame* f) { - HBITMAP mask, bmp; + HBITMAP mask; + HGDIOBJ old = NULL; HDC hcdc = FRAME_MSWINDOWS_CDC (f); BITMAPINFO* bmp_info = - xmalloc_and_zero (sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)); + xmalloc_and_zero (sizeof(BITMAPINFO) + sizeof(RGBQUAD)); int i, j; int height = IMAGE_INSTANCE_PIXMAP_HEIGHT (image); @@ -402,7 +407,7 @@ } xfree (bmp_info); - SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (image)); + old = SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (image)); for(i=0; i<IMAGE_INSTANCE_PIXMAP_WIDTH (image); i++) { @@ -421,7 +426,7 @@ } GdiFlush(); - SelectObject(hcdc, 0); + SelectObject(hcdc, old); IMAGE_INSTANCE_MSWINDOWS_MASK (image) = mask; } @@ -448,27 +453,43 @@ struct frame* f, int newx, int newy) { - HBITMAP newbmp; + HBITMAP newbmp, newmask=NULL; HDC hcdc = FRAME_MSWINDOWS_CDC (f); HDC hdcDst = CreateCompatibleDC (hcdc); - SelectObject(hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); + SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); - newbmp = CreateCompatibleBitmap(hcdc, newx, newy); + newbmp = CreateCompatibleBitmap (hcdc, newx, newy); - DeleteObject( SelectObject(hdcDst, newbmp) ); + DeleteObject (SelectObject (hdcDst, newbmp) ); - if (!StretchBlt(hdcDst, 0, 0, newx, newy, - hcdc, 0, 0, - IMAGE_INSTANCE_PIXMAP_WIDTH (ii), - IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), - SRCCOPY)) + if (!StretchBlt (hdcDst, 0, 0, newx, newy, + hcdc, 0, 0, + IMAGE_INSTANCE_PIXMAP_WIDTH (ii), + IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), + SRCCOPY)) { return FALSE; } - - SelectObject(hdcDst, 0); - SelectObject(hcdc, 0); + + if (IMAGE_INSTANCE_MSWINDOWS_MASK (ii)) + { + SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_MASK (ii)); + newmask = CreateCompatibleBitmap(hcdc, newx, newy); + SelectObject (hdcDst, newmask); + + if (!StretchBlt(hdcDst, 0, 0, newx, newy, + hcdc, 0, 0, + IMAGE_INSTANCE_PIXMAP_WIDTH (ii), + IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), + SRCCOPY)) + { + return FALSE; + } + } + + SelectObject (hdcDst, 0); + SelectObject (hcdc, 0); if (IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)) DeleteObject (IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); @@ -476,11 +497,11 @@ DeleteObject (IMAGE_INSTANCE_MSWINDOWS_MASK (ii)); IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = newbmp; - IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = newbmp; + IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = newmask; IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = newx; IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = newy; - DeleteDC(hdcDst); + DeleteDC (hdcDst); return TRUE; } @@ -655,11 +676,11 @@ /* pick up transparencies */ else if (!strcasecmp (xpmimage.colorTable[i].c_color,"None") || - xpmimage.colorTable[i].symbolic - && - (!strcasecmp (xpmimage.colorTable[i].symbolic,"BgColor") - || - !strcasecmp (xpmimage.colorTable[i].symbolic,"None"))) + (xpmimage.colorTable[i].symbolic + && + (!strcasecmp (xpmimage.colorTable[i].symbolic,"BgColor") + || + !strcasecmp (xpmimage.colorTable[i].symbolic,"None")))) { *transp=TRUE; colortbl[i]=transparent_color; @@ -709,7 +730,6 @@ BITMAPINFO* bmp_info; unsigned char* bmp_data; int bmp_bits; - COLORREF bkcolor; int nsymbols=0, transp; struct color_symbol* color_symbols=NULL; @@ -818,6 +838,246 @@ } +/********************************************************************** + * CURSORS * + **********************************************************************/ + +static void +cursor_validate (Lisp_Object instantiator) +{ + if ((NILP (find_keyword_in_vector (instantiator, Q_file)) + && + NILP (find_keyword_in_vector (instantiator, Q_resource_id))) + || + NILP (find_keyword_in_vector (instantiator, Q_resource_type))) + signal_simple_error ("Must supply :file, :resource-id and :resource-type", + instantiator); +} + +static Lisp_Object +cursor_normalize (Lisp_Object inst, Lisp_Object console_type) +{ + /* This function can call lisp */ + Lisp_Object file = Qnil; + struct gcpro gcpro1, gcpro2; + Lisp_Object alist = Qnil; + + GCPRO2 (file, alist); + + file = potential_pixmap_file_instantiator (inst, Q_file, Q_data, + console_type); + + if (CONSP (file)) /* failure locating filename */ + signal_double_file_error ("Opening pixmap file", + "no such file or directory", + Fcar (file)); + + if (NILP (file)) /* no conversion necessary */ + RETURN_UNGCPRO (inst); + + alist = tagged_vector_to_alist (inst); + + { + alist = remassq_no_quit (Q_file, alist); + alist = Fcons (Fcons (Q_file, file), alist); + } + + { + Lisp_Object result = alist_to_tagged_vector (Qcursor, alist); + free_alist (alist); + RETURN_UNGCPRO (result); + } +} + +static int +cursor_possible_dest_types (void) +{ + return IMAGE_POINTER_MASK | IMAGE_COLOR_PIXMAP_MASK; +} + +typedef struct +{ + char *name; + int resource_id; +} resource_t; + +#ifndef OCR_ICOCUR +#define OCR_ICOCUR 32647 +#define OIC_SAMPLE 32512 +#define OIC_HAND 32513 +#define OIC_QUES 32514 +#define OIC_BANG 32515 +#define OIC_NOTE 32516 +#define OIC_WINLOGO 32517 +#define LR_SHARED 0x8000 +#endif + +static CONST resource_t resource_table[] = +{ + /* bitmaps */ + { "close", OBM_CLOSE }, + { "uparrow", OBM_UPARROW }, + { "dnarrow", OBM_DNARROW }, + { "rgarrow", OBM_RGARROW }, + { "lfarrow", OBM_LFARROW }, + { "reduce", OBM_REDUCE }, + { "zoom", OBM_ZOOM }, + { "restore", OBM_RESTORE }, + { "reduced", OBM_REDUCED }, + { "zoomd", OBM_ZOOMD }, + { "restored", OBM_RESTORED }, + { "uparrowd", OBM_UPARROWD }, + { "dnarrowd", OBM_DNARROWD }, + { "rgarrowd", OBM_RGARROWD }, + { "lfarrowd", OBM_LFARROWD }, + { "mnarrow", OBM_MNARROW }, + { "combo", OBM_COMBO }, + { "uparrowi", OBM_UPARROWI }, + { "dnarrowi", OBM_DNARROWI }, + { "rgarrowi", OBM_RGARROWI }, + { "lfarrowi", OBM_LFARROWI }, + { "size", OBM_SIZE }, + { "btsize", OBM_BTSIZE }, + { "check", OBM_CHECK }, + { "cehckboxes", OBM_CHECKBOXES }, + { "btncorners" , OBM_BTNCORNERS }, + /* cursors */ + { "normal", OCR_NORMAL }, + { "ibeam", OCR_IBEAM }, + { "wait", OCR_WAIT }, + { "cross", OCR_CROSS }, + { "up", OCR_UP }, + /* { "icon", OCR_ICON }, */ + { "sizenwse", OCR_SIZENWSE }, + { "sizenesw", OCR_SIZENESW }, + { "sizewe", OCR_SIZEWE }, + { "sizens", OCR_SIZENS }, + { "sizeall", OCR_SIZEALL }, + /* { "icour", OCR_ICOCUR }, */ + { "no", OCR_NO }, + /* icons */ + { "sample", OIC_SAMPLE }, + { "hand", OIC_HAND }, + { "ques", OIC_QUES }, + { "bang", OIC_BANG }, + { "note", OIC_NOTE }, + { "winlogo", OIC_WINLOGO }, + {0} +}; + +static int cursor_name_to_resource (Lisp_Object name) +{ + CONST resource_t* res = resource_table; + + if (INTP (name)) + { + return XINT (name); + } + else if (!STRINGP (name)) + { + signal_simple_error ("invalid resource identifier", name); + } + + do { + if (!strcasecmp ((char*)res->name, XSTRING_DATA (name))) + return res->resource_id; + } while ((++res)->name); + return 0; +} + +static void +cursor_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + unsigned int type = 0; + HANDLE himage = NULL; + LPCTSTR resid=0; + int iitype=0; + Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); + + Lisp_Object file = find_keyword_in_vector (instantiator, Q_file); + Lisp_Object resource_type = find_keyword_in_vector (instantiator, + Q_resource_type); + Lisp_Object resource_id = find_keyword_in_vector (instantiator, + Q_resource_id); + + if (!DEVICE_MSWINDOWS_P (XDEVICE (device))) + signal_simple_error ("Not an mswindows device", device); + + assert (!NILP (resource_type) && !NILP (resource_id)); + + /* check the resource type */ + if (!SYMBOLP (resource_type)) + { + signal_simple_error ("invalid resource type", resource_type); + } + if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), + "bitmap")) + type = IMAGE_BITMAP; + else if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), + "cursor")) + type = IMAGE_CURSOR; + else if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), + "icon")) + type = IMAGE_ICON; + else + signal_simple_error ("invalid resource type", resource_type); + + if (dest_mask & IMAGE_POINTER_MASK && type == IMAGE_CURSOR) + iitype = IMAGE_POINTER; + else if (dest_mask & IMAGE_COLOR_PIXMAP_MASK) + iitype = IMAGE_COLOR_PIXMAP; + else + incompatible_image_types (instantiator, dest_mask, + IMAGE_COLOR_PIXMAP_MASK | IMAGE_POINTER_MASK); + + if (!NILP (file)) + resid = (LPCTSTR)XSTRING_DATA (file); + else if (!(resid = MAKEINTRESOURCE(cursor_name_to_resource (resource_id)))) + signal_simple_error ("invalid resource id", resource_id); + + /* load the image */ + if (!(himage = LoadImage (NULL, resid, type, 0, 0, + LR_CREATEDIBSECTION | LR_DEFAULTSIZE | + LR_SHARED | + (!NILP (file) ? LR_LOADFROMFILE : 0)))) + { + signal_simple_error ("cannot load image", instantiator); + } + + mswindows_initialize_dibitmap_image_instance (ii, iitype); + + IMAGE_INSTANCE_PIXMAP_FILENAME (ii) = file; + IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = (type==IMAGE_BITMAP ? himage : NULL); + IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = NULL; + IMAGE_INSTANCE_MSWINDOWS_ICON (ii) = (type!=IMAGE_BITMAP ? himage : NULL); + IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = + (type == IMAGE_CURSOR ? SM_CXCURSOR : SM_CXICON); + IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = + (type == IMAGE_CURSOR ? SM_CYCURSOR : SM_CYICON); + IMAGE_INSTANCE_PIXMAP_DEPTH (ii) = 0; + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii), 0); + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii), 0); +} + +void +check_valid_symbol (Lisp_Object data) +{ + CHECK_SYMBOL (data); +} + +void +check_valid_string_or_int (Lisp_Object data) +{ + if (!INTP (data)) + CHECK_STRING (data); + else + CHECK_INT (data); +} + + /************************************************************************/ /* image instance methods */ /************************************************************************/ @@ -935,6 +1195,8 @@ void syms_of_glyphs_mswindows (void) { + defkeyword (&Q_resource_id, ":resource-id"); + defkeyword (&Q_resource_type, ":resource-type"); } void @@ -967,12 +1229,24 @@ IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); + + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (cursor, "cursor"); + + IIFORMAT_HAS_METHOD (cursor, validate); + IIFORMAT_HAS_METHOD (cursor, normalize); + IIFORMAT_HAS_METHOD (cursor, possible_dest_types); + IIFORMAT_HAS_METHOD (cursor, instantiate); + + IIFORMAT_VALID_KEYWORD (cursor, Q_resource_type, check_valid_symbol); + IIFORMAT_VALID_KEYWORD (cursor, Q_resource_id, check_valid_string_or_int); + IIFORMAT_VALID_KEYWORD (cursor, Q_file, check_valid_string); } void vars_of_glyphs_mswindows (void) { Fprovide (Qbmp); + Fprovide (Qcursor); DEFVAR_LISP ("mswindows-bitmap-file-path", &Vmswindows_bitmap_file_path /* A list of the directories in which mswindows bitmap files may be found. This is used by the `make-image-instance' function.
--- a/src/glyphs.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/glyphs.c Mon Aug 13 10:34:13 2007 +0200 @@ -142,8 +142,8 @@ return (decode_image_instantiator_format (format, ERROR_ME_NOT) != 0); } -DEFUN ("valid-image-instantiator-format-p", - Fvalid_image_instantiator_format_p, 1, 1, 0, /* +DEFUN ("valid-image-instantiator-format-p", Fvalid_image_instantiator_format_p, + 1, 1, 0, /* Given an IMAGE-INSTANTIATOR-FORMAT, return non-nil if it is valid. Valid formats are some subset of 'nothing, 'string, 'formatted-string, 'xpm, 'xbm, 'xface, 'gif, 'jpeg, 'png, 'tiff, 'cursor-font, 'font, @@ -155,8 +155,8 @@ Qt : Qnil; } -DEFUN ("image-instantiator-format-list", - Fimage_instantiator_format_list, 0, 0, 0, /* +DEFUN ("image-instantiator-format-list", Fimage_instantiator_format_list, + 0, 0, 0, /* Return a list of valid image-instantiator formats. */ ()) @@ -184,8 +184,8 @@ return &decode_console_type (console_type, ERROR_ME)->image_conversion_list; } -DEFUN ("set-console-type-image-conversion-list", - Fset_console_type_image_conversion_list, 2, 2, 0, /* +DEFUN ("set-console-type-image-conversion-list", Fset_console_type_image_conversion_list, + 2, 2, 0, /* Set the image-conversion-list for consoles of the given TYPE. The image-conversion-list specifies how image instantiators that are strings should be interpreted. Each element of the list should be @@ -252,8 +252,8 @@ return list; } -DEFUN ("console-type-image-conversion-list", - Fconsole_type_image_conversion_list, 1, 1, 0, /* +DEFUN ("console-type-image-conversion-list", Fconsole_type_image_conversion_list, + 1, 1, 0, /* Return the image-conversion-list for devices of the given TYPE. The image-conversion-list specifies how to interpret image string instantiators for the specified console type. See @@ -3143,7 +3143,7 @@ IIFORMAT_VALID_KEYWORD (xpm, Q_data, check_valid_string); IIFORMAT_VALID_KEYWORD (xpm, Q_file, check_valid_string); IIFORMAT_VALID_KEYWORD (xpm, Q_color_symbols, check_valid_xpm_color_symbols); -#endif +#endif /* HAVE_XPM */ } void @@ -3207,7 +3207,7 @@ \"foreground\" and \"background\" to be the colors of the `default' face. */ ); Vxpm_color_symbols = Qnil; /* initialized in x-faces.el */ -#endif +#endif /* HAVE_XPM */ } void
--- a/src/gui-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/gui-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -260,7 +260,8 @@ arg = Qmenu_no_selection_hook; } else if (SYMBOLP (data) - /* poor man's commandp */ + /* poor man's commandp + #### should abstract it out! */ || (COMPILED_FUNCTIONP (data) && XCOMPILED_FUNCTION (data)->flags.interactivep) || (EQ (XCAR (data), Qlambda)
--- a/src/inline.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/inline.c Mon Aug 13 10:34:13 2007 +0200 @@ -47,6 +47,7 @@ #include "chartab.h" #include "console.h" #include "device.h" +#include "eldap.h" #include "elhash.h" #include "events.h" #include "extents.h"
--- a/src/keymap.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/keymap.c Mon Aug 13 10:34:13 2007 +0200 @@ -208,6 +208,8 @@ static Lisp_Object Vkey_translation_map; +static Lisp_Object Vvertical_divider_map; + /* This is incremented whenever a change is made to a keymap. This is so that things which care (such as the menubar code) can recompute privately-cached data when the user has changed keybindings. @@ -2332,6 +2334,7 @@ else { /* It's a mouse event; order of keymaps searched is: + o vertical-divider-map, if event is over a divider o local-map of mouse-grabbed-buffer o keymap of any/all extents under the mouse if the mouse is over a modeline: @@ -2343,6 +2346,12 @@ */ Lisp_Object window = Fevent_window (terminal); + if (!NILP (Fevent_over_vertical_divider_p (terminal))) + { + if (KEYMAPP (Vvertical_divider_map)) + relevant_map_push (Vvertical_divider_map, &closure); + } + if (BUFFERP (Vmouse_grabbed_buffer)) { Lisp_Object map = XBUFFER (Vmouse_grabbed_buffer)->keymap; @@ -2535,6 +2544,7 @@ For mouse-clicks, the order of keymaps searched is: - the current-local-map of the `mouse-grabbed-buffer' if any; + - vertical-divider-map, if the event happened over a vertical divider - the `keymap' property of any extent(s) at the position of the click (this includes modeline extents); - the modeline-map of the buffer corresponding to the modeline under @@ -4316,6 +4326,10 @@ and applies even for keys that have ordinary bindings. */ ); + DEFVAR_LISP ("vertical-divider-map", &Vvertical_divider_map /* +Keymap which handles mouse clicks over vertical dividers. +*/ ); + DEFVAR_INT ("keymap-tick", &keymap_tick /* Incremented for each change to any keymap. */ );
--- a/src/line-number.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/line-number.c Mon Aug 13 10:34:13 2007 +0200 @@ -22,18 +22,18 @@ /* To calculate the line numbers, redisplay must count the newlines from a known position. This used to be BUF_BEGV, but this made the - redisplay extremely slow for large buffers, because Emacs must - rescan the whole buffer at each redisplay, just to count the - newlines. + line numbering extremely slow for large buffers, because Emacs had + to rescan the whole buffer at each redisplay. - To make line numbering efficient, we maintain a simple-minded - cache. Each buffer contains a small ring of known positions, each - element of the ring being a Lisp_Object -- either nil or a cons of - a buffer position and the line number (beginning with 0). + To make line numbering efficient, we maintain a buffer-local cache + of recently used positions and their line numbers. The cache is + implemented as a small ring of cache positions. A cache position + is either nil or a cons of a buffer position (marker) and the + corresponding line number. When calculating the line numbers, this cache is consulted if it would otherwise take too much time to count the newlines in the - buffer (see the comment to window_line_number.) + buffer (see the comment to buffer_line_number().) Insertion and deletions that contain/delete newlines invalidate the cached positions after the insertion point. This guarantees @@ -42,7 +42,7 @@ the buffers where the cache is actually initialized -- i.e. where line-numbering is on, and you move the point farther than LINE_NUMBER_FAR from the beginning of buffer. In this sense, the - cache is lazy. If you don't use it, you don't pay for it. + cache is lazy -- if you don't use it, you don't pay for it. NOTE: line-number cache should not be confused with line-start cache. Line-start cache (a part of redisplay) works with the @@ -56,21 +56,18 @@ #include "line-number.h" - -/* #### The following three values could use some tweaking, to get the - best performance. I suspect LINE_NUMBER_FAR and - LINE_NUMBER_LARGE_STRING could be made bigger. */ +/* #### The following three values could stand more exploration for + best performance. */ /* Size of the ring. The current code expects this to be a small - number. If you make it much bigger, you should probably tr yto - optimize the various routines to keep it sorted. */ + number. If you make it larger, you should probably optimize the + code below to keep it sorted. */ #define LINE_NUMBER_RING_SIZE 8 /* How much traversal has to be exceeded for two points to be considered "far" from each other. When two points are far, cache - will be used. You can set this to a small value for debugging - purposes. */ -#define LINE_NUMBER_FAR 16384 + will be used. */ +#define LINE_NUMBER_FAR 32768 /* How large a string has to be to give up searching it for newlines, before change. */ @@ -101,24 +98,23 @@ narrow_line_number_cache (b); } -/* Update line_number_begv, or flag it as dirty. Do it only if the - line number cache is already initialized. */ +/* Flag LINE_NUMBER_BEGV (b) as dirty. Do it only if the line number + cache is already initialized. */ void narrow_line_number_cache (struct buffer *b) { if (NILP (b->line_number_cache)) return; - /* Optimization: if BUF_BEG == BUF_BEGV (as is the case after Fwiden - and save_restriction_restore), don't bother calling scan_buffer. */ + if (BUF_BEG (b) == BUF_BEGV (b)) - { - LINE_NUMBER_BEGV (b) = Qzero; - return; - } - /* Calculating the line number of BUF_BEGV here is a bad idea, - because there is absolutely no reason to do it before the next - redisplay. We simply mark it as dirty instead. */ - LINE_NUMBER_BEGV (b) = make_int (-1); + /* The is the case Fwiden and save_restriction_restore. Since we + know the correct value, we can update it now. */ + LINE_NUMBER_BEGV (b) = Qzero; + else + /* Calculating the line number of BUF_BEGV here is a bad idea, + because there is absolutely no reason to do it before the next + redisplay. We simply mark it as dirty instead. */ + LINE_NUMBER_BEGV (b) = make_int (-1); } /* Invalidate the line number cache positions that lie after POS. */ @@ -127,26 +123,24 @@ { EMACS_INT i, j; Lisp_Object *ring = XVECTOR_DATA (LINE_NUMBER_RING (b)); - Lisp_Object lisp_buffer = make_buffer (b); for (i = 0; i < LINE_NUMBER_RING_SIZE; i++) { if (!CONSP (ring[i])) break; /* As the marker stays behind the insertions, this check might - as well be `>'. However, Finsert_before_markers can move the - marker anyway, which bites in shell buffers. + as well be `>'. However, Finsert_before_markers can advance + the marker anyway, which bites in shell buffers. - #### This is wrong; it works right, but forces recreation of - the cached marker (and recalculation of newlines) every time - a newline is inserted at point, which is way losing. Isn't - there a way to make a marker impervious to - Finsert_before_markers()?? Maybe I should convert to using - extents. */ + #### This forces recreation of the cached marker (and + recalculation of newlines) every time a newline is inserted + at point, which is way losing. Isn't there a way to make a + marker impervious to Finsert_before_markers()?? Maybe I + should convert the code to use extents. */ if (marker_position (XCAR (ring[i])) >= pos) { /* Get the marker out of the way. */ - Fset_marker (XCAR (ring[i]), Qnil, lisp_buffer); + Fset_marker (XCAR (ring[i]), Qnil, Qnil); /* ...and shift the ring elements, up to the first nil. */ for (j = i; !NILP (ring[j]) && j < LINE_NUMBER_RING_SIZE - 1; j++) ring[j] = ring[j + 1]; @@ -162,7 +156,7 @@ than LINE_NUMBER_LARGE_STRING), invalidate the cache positions after POS without prior search. - This will do nothing, if cache is uninitialized. */ + This will do nothing if the cache is uninitialized. */ void insert_invalidate_line_number_cache (struct buffer *b, Bufpos pos, CONST Bufbyte *nonreloc, Bytecount length) @@ -172,19 +166,19 @@ if (length > LINE_NUMBER_LARGE_STRING || - /* We could also count how many newlines are in the string, and - update the cache accordingly, but it would be too much work - for too little gain. */ + /* We could also count how many newlines there are in the string + and update the cache accordingly, but it would be too much + work for too little gain. */ memchr ((void *)nonreloc, '\n', (size_t) length)) invalidate_line_number_cache (b, pos); } /* Invalidate the cache positions after FROM, if the region to be - deleted contains a newline. If the region is too large (larger - than LINE_NUMBER_LARGE_STRING), invalidate the cache positions - after FROM without prior search. + deleted contains a newline. If the region-to-be-deleted is larger + than LINE_NUMBER_LARGE_STRING, invalidate the cache positions after + FROM without unconditionally. - This will do nothing, if cache is uninitialized. */ + This will do nothing if the cache is uninitialized. */ void delete_invalidate_line_number_cache (struct buffer *b, Bufpos from, Bufpos to) { @@ -215,22 +209,18 @@ get_nearest_line_number (struct buffer *b, Bufpos *beg, Bufpos pos, EMACS_INT *line) { + EMACS_INT i; Lisp_Object *ring = XVECTOR_DATA (LINE_NUMBER_RING (b)); - EMACS_INT i; - Charcount length, howfar; - Bufpos newpos; + Charcount length = pos - *beg; - length = pos - *beg; if (length < 0) length = -length; - /* Look for the nearest match. */ - for (i = 0; i < LINE_NUMBER_RING_SIZE; i++) + /* Find the ring entry closest to POS, if it is closer than BEG. */ + for (i = 0; i < LINE_NUMBER_RING_SIZE && CONSP (ring[i]); i++) { - if (!CONSP (ring[i])) - break; - newpos = marker_position (XCAR (ring[i])); - howfar = newpos - pos; + Bufpos newpos = marker_position (XCAR (ring[i])); + Charcount howfar = newpos - pos; if (howfar < 0) howfar = -howfar; if (howfar < length) @@ -242,19 +232,25 @@ } } -/* Add a (pos, line) pair to the ring, and rotate it. */ +/* Add a (POS . LINE) pair to the ring, and rotate it. */ static void -add_line_number (struct buffer *b, Bufpos pos, int line) +add_position_to_cache (struct buffer *b, Bufpos pos, int line) { Lisp_Object *ring = XVECTOR_DATA (LINE_NUMBER_RING (b)); - Lisp_Object marker; - int i; + int i = LINE_NUMBER_RING_SIZE - 1; + + /* Set the last marker in the ring to point nowhere. */ + if (CONSP (ring[i])) + Fset_marker (XCAR (ring[i]), Qnil, Qnil); - for (i = LINE_NUMBER_RING_SIZE - 1; i > 0; i--) + /* Rotate the ring... */ + for (; i > 0; i--) ring[i] = ring[i - 1]; - marker = Fmake_marker (); - Fset_marker (marker, make_int (pos), make_buffer (b)); - ring[0] = Fcons (marker, make_int (line)); + + /* ...and update it. */ + ring[0] = Fcons (Fset_marker (Fmake_marker (), make_int (pos), + make_buffer (b)), + make_int (line)); } /* Calculate the line number in buffer B at position POS. If CACHEP @@ -272,7 +268,7 @@ appropriately. If the calculation (with or without the cache lookup) required more - than LINE_NUMBER_FAR bytes of traversal, update the cache. */ + than LINE_NUMBER_FAR characters of traversal, update the cache. */ EMACS_INT buffer_line_number (struct buffer *b, Bufpos pos, int cachep) { @@ -314,12 +310,11 @@ { /* If too far, update the cache. */ if ((pos > beg ? pos - beg : beg - pos) > LINE_NUMBER_FAR) - add_line_number (b, pos, line); - /* Account for narrowing. If CACHEP is nil, this is + add_position_to_cache (b, pos, line); + /* Account for narrowing. If cache is not used, this is unnecessary, because we counted from BUF_BEGV anyway. */ line -= XINT (LINE_NUMBER_BEGV (b)); } return line; } -
--- a/src/line-number.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/line-number.h Mon Aug 13 10:34:13 2007 +0200 @@ -19,7 +19,6 @@ /* Synched up with: Not in FSF. */ -void mark_line_number_cache (void *, void (*)(Lisp_Object)); void narrow_line_number_cache (struct buffer *); void insert_invalidate_line_number_cache (struct buffer *, Bufpos, CONST Bufbyte *, Bytecount);
--- a/src/lisp.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/lisp.h Mon Aug 13 10:34:13 2007 +0200 @@ -2180,6 +2180,8 @@ int detect_input_pending (void); void reset_this_command_keys (Lisp_Object, int); Lisp_Object enqueue_misc_user_event (Lisp_Object, Lisp_Object, Lisp_Object); +Lisp_Object enqueue_misc_user_event_pos (Lisp_Object, Lisp_Object, + Lisp_Object, int, int, int, int); /* Defined in event-Xt.c */ void signal_special_Xt_user_event (Lisp_Object, Lisp_Object, Lisp_Object);
--- a/src/lread.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/lread.c Mon Aug 13 10:34:13 2007 +0200 @@ -3142,7 +3142,7 @@ Vload_file_name = Qnil; DEFVAR_LISP ("load-read-function", &Vload_read_function /* - "Function used by `load' and `eval-region' for reading expressions. +Function used by `load' and `eval-region' for reading expressions. The default is nil, which means use the function `read'. */ ); Vload_read_function = Qnil;
--- a/src/macros.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/macros.c Mon Aug 13 10:34:13 2007 +0200 @@ -87,7 +87,7 @@ return Qnil; } -DEFUN ("end-kbd-macro", Fend_kbd_macro, 0, 2, "P", /* +DEFUN ("end-kbd-macro", Fend_kbd_macro, 0, 1, "P", /* Finish defining a keyboard macro. The definition was started by \\[start-kbd-macro]. The macro is now available for use via \\[call-last-kbd-macro], @@ -97,29 +97,16 @@ With numeric arg, repeat macro now that many times, counting the definition just completed as the first repetition. An argument of zero means repeat until error. - -If REMOVE-LAST is an integer, it means to not record the last number -of events. This is used internally and will likely be removed. */ - (arg, remove_last)) + (arg)) { /* This function can GC */ struct console *con = XCONSOLE (Vselected_console); - int repeat, kill; + int repeat; if (NILP (con->defining_kbd_macro)) error ("Not defining kbd macro."); - /* #### Read the comment in modeline.el to see why this ugliness is - needed. #### Try to avoid it, somehow! */ - if (!NILP (remove_last)) - { - CHECK_NATNUM (remove_last); - kill = XINT (remove_last); - } - else - kill = 0; - if (NILP (arg)) repeat = -1; else @@ -128,7 +115,7 @@ if (!NILP (con->defining_kbd_macro)) { int i; - int size = con->kbd_macro_end - kill; + int size = con->kbd_macro_end; if (size < 0) size = 0; @@ -152,6 +139,18 @@ make_int (repeat - 1)); } +/* #### Read the comment in modeline.el to see why this ugliness is + needed. #### Try to avoid it, somehow! */ +DEFUN ("zap-last-kbd-macro-event", Fzap_last_kbd_macro_event, 0, 0, 0, /* +Don't look at this lest you vomit or spontaneously combust. +*/ + ()) +{ + struct console *con = XCONSOLE (Vselected_console); + if (con->kbd_macro_end) + --con->kbd_macro_end; + return Qnil; +} /* Store event into kbd macro being defined */ @@ -304,6 +303,7 @@ { DEFSUBR (Fstart_kbd_macro); DEFSUBR (Fend_kbd_macro); + DEFSUBR (Fzap_last_kbd_macro_event); DEFSUBR (Fcall_last_kbd_macro); DEFSUBR (Fexecute_kbd_macro); DEFSUBR (Fcancel_kbd_macro_events);
--- a/src/menubar-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/menubar-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -670,7 +670,6 @@ Boolean menubar_was_visible = XtIsManaged (FRAME_X_MENUBAR_WIDGET (f)); Boolean menubar_will_be_visible = menubar_was_visible; Boolean menubar_visibility_changed; - Widget container = FRAME_X_CONTAINER_WIDGET (f); if (menubar_contents_changed) menubar_will_be_visible = set_frame_menubar (f, 0, 0);
--- a/src/mule-charset.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/mule-charset.c Mon Aug 13 10:34:13 2007 +0200 @@ -816,8 +816,7 @@ return new_charset; } -/* #### The defsubr for this is commented out at the moment but no - reason why is given. */ +/* #### Reverse direction charsets not yet implemented. */ #if 0 DEFUN ("charset-reverse-direction-charset", Fcharset_reverse_direction_charset, 1, 1, 0, /*
--- a/src/print.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/print.c Mon Aug 13 10:34:13 2007 +0200 @@ -1221,9 +1221,11 @@ default: { +#ifdef ERROR_CHECK_TYPECHECK + abort (); +#else /* not ERROR_CHECK_TYPECHECK */ char buf[128]; - /* We're in trouble if this happens! Probably should just - abort () */ + /* We're in trouble if this happens! */ if (print_readably) error ("printing illegal data type #o%03o", (int) XTYPE (obj)); @@ -1234,6 +1236,7 @@ write_c_string (" Save your buffers immediately and please report this bug>", printcharfun); +#endif /* not ERROR_CHECK_TYPECHECK */ break; } }
--- a/src/process-unix.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/process-unix.c Mon Aug 13 10:34:13 2007 +0200 @@ -596,11 +596,9 @@ { case SIGINT: return t.c_cc[VINTR]; case SIGQUIT: return t.c_cc[VQUIT]; -# if defined (VSWTCH) && !defined (PREFER_VSUSP) - case SIGTSTP: return t.c_cc[VSWTCH]; -# else +#if defined(SIGTSTP) && defined(VSUSP) case SIGTSTP: return t.c_cc[VSUSP]; -# endif +#endif } }
--- a/src/realpath.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/realpath.c Mon Aug 13 10:34:13 2007 +0200 @@ -59,9 +59,9 @@ #define MAX_READLINKS 32 #ifdef __STDC__ -char *realpath(const char *path, char resolved_path []) +char *xrealpath(const char *path, char resolved_path []) #else -char *realpath(path, resolved_path) +char *xrealpath(path, resolved_path) const char *path; char resolved_path []; #endif
--- a/src/redisplay-msw.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/redisplay-msw.c Mon Aug 13 10:34:13 2007 +0200 @@ -51,14 +51,6 @@ #include "mule-charset.h" #endif -/* MSWINDOWS_DIVIDER_LINE_WIDTH is the width of the line drawn in the gutter. - MSWINDOWS_DIVIDER_SPACING is the amount of blank space on each side of the line. - MSWINDOWS_DIVIDER_WIDTH = MSWINDOWS_DIVIDER_LINE_WIDTH + 2*MSWINDOWS_DIVIDER_SPACING -*/ -#define MSWINDOWS_DIVIDER_LINE_WIDTH 7 -#define MSWINDOWS_DIVIDER_SPACING 0 -#define MSWINDOWS_DIVIDER_WIDTH (MSWINDOWS_DIVIDER_LINE_WIDTH + 2 * MSWINDOWS_DIVIDER_SPACING) - #define MSWINDOWS_EOL_CURSOR_WIDTH 5 /* @@ -71,11 +63,20 @@ static void mswindows_output_vertical_divider (struct window *w, int clear); static void mswindows_redraw_exposed_windows (Lisp_Object window, int x, int y, int width, int height); +static void mswindows_output_dibitmap (struct frame *f, + struct Lisp_Image_Instance *p, + int x, int y, + int clip_x, int clip_y, + int clip_width, int clip_height, + int width, int height, + int pixmap_offset, + int offset_bitmap); static void mswindows_output_pixmap (struct window *w, struct display_line *dl, Lisp_Object image_instance, int xpos, int xoffset, int start_pixpos, int width, face_index findex, int cursor_start, - int cursor_width, int cursor_height); + int cursor_width, int cursor_height, + int offset_bitmap); typedef struct textual_run { @@ -220,35 +221,21 @@ if (!NILP (font)) SelectObject(hdc, FONT_INSTANCE_MSWINDOWS_HFONT (XFONT_INSTANCE (font))); -#if defined(DEBUG_XEMACS) - /* evil kludge! - #### do we need this? - cygwin does for some - reason --andyp */ - if (!NILP (fg) && !COLOR_INSTANCEP (fg)) - { - /* this break under mule */ -#if 0 - fprintf (stderr, "Help! mswindows_update_dc got a bogus fg value! fg = "); - debug_print (fg); -#endif - fg = Qnil; - } - - if (!NILP (bg) && !COLOR_INSTANCEP (bg)) - { - /* this break under mule */ -#if 0 - fprintf (stderr, "Help! mswindows_update_dc got a bogus fg value! bg = "); - debug_print (bg); -#endif - bg = Qnil; - } -#endif if (!NILP (fg)) - SetTextColor (hdc, COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (fg))); - + { + SetTextColor (hdc, COLOR_INSTANCE_MSWINDOWS_COLOR + (XCOLOR_INSTANCE (fg))); + } if (!NILP (bg)) - SetBkColor (hdc, COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (bg))); + { + SetBkMode (hdc, OPAQUE); + SetBkColor (hdc, COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (bg))); + } + else + { + SetBkMode (hdc, TRANSPARENT); + } } @@ -285,10 +272,14 @@ if (!NILP(bg_pmap)) { + /* blank the background in the appropriate color */ + mswindows_update_dc (FRAME_MSWINDOWS_DC (f), Qnil, cachel->foreground, + cachel->background, Qnil); + mswindows_output_pixmap (w, dl, bg_pmap, - rb->xpos, rb->object.dglyph.xoffset, + rb->xpos, 0 /*rb->object.dglyph.xoffset*/, start_pixpos, rb->width, rb->findex, - 0, 0, 0); + 0, 0, 0, TRUE); } else { @@ -431,7 +422,8 @@ unsigned char *text_storage = (unsigned char *) alloca (2 * len); textual_run *runs = alloca_array (textual_run, len); int nruns; - int i; + int i, height; + RECT rect; struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex); XSETWINDOW (window, w); @@ -454,21 +446,42 @@ xpos -= xoffset; - nruns = separate_textual_runs (text_storage, runs, Dynarr_atp (buf, 0), - Dynarr_length (buf)); + /* sort out the destination rectangle */ + height = dl->ascent + dl->descent - dl->clip; + rect.left = clip_start; + rect.top = dl->ypos - dl->ascent; + rect.right = clip_end; + rect.bottom = height + dl->ypos - dl->ascent; + /* output the background pixmap if there is one */ bg_pmap = cachel->background_pixmap; if (!IMAGE_INSTANCEP (bg_pmap) || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) bg_pmap = Qnil; + if (!NILP(bg_pmap)) + { + /* blank the background in the appropriate color */ + mswindows_update_dc (hdc, Qnil, cachel->foreground, + cachel->background, Qnil); + + mswindows_output_pixmap (w, dl, bg_pmap, + xpos, xoffset, + clip_start, width, findex, + 0, 0, 0, TRUE); + /* output pixmap calls this so we have to recall to get correct + references */ + cachel = WINDOW_FACE_CACHEL (w, findex); + } + + nruns = separate_textual_runs (text_storage, runs, Dynarr_atp (buf, 0), + Dynarr_length (buf)); + for (i = 0; i < nruns; i++) { Lisp_Object font = FACE_CACHEL_FONT (cachel, runs[i].charset); - /* struct Lisp_Font_Instance *fi = XFONT_INSTANCE (font);*/ + struct Lisp_Font_Instance *fi = XFONT_INSTANCE (font); int this_width; - RECT rect = { clip_start, dl->ypos - dl->ascent, - clip_end, dl->ypos + dl->descent - dl->clip }; if (EQ (font, Vthe_null_font_instance)) continue; @@ -477,15 +490,24 @@ NILP(bg_pmap) ? cachel->background : Qnil, Qnil); this_width = mswindows_text_width_single_run (hdc, cachel, runs + i); - - /* #### bg_pmap should be output here */ - if (!NILP(bg_pmap)) + + /* cope with fonts taller than lines */ + if ((int) fi->height < (int) (height + dl->clip)) { - mswindows_output_pixmap (w, dl, bg_pmap, - xpos, xoffset, - clip_start, width, findex, - 0, 0, 0); + int clear_start = max (xpos, clip_start); + int clear_end = min (xpos + this_width, clip_end); + + { + mswindows_clear_region (window, findex, clear_start, + dl->ypos - dl->ascent, + clear_end - clear_start, + height); + /* output pixmap calls this so we have to recall to get correct + references */ + cachel = WINDOW_FACE_CACHEL (w, findex); + } } + assert (runs[i].dimension == 1); /* XXX FIXME */ ExtTextOut (hdc, xpos, dl->ypos, NILP(bg_pmap) ? ETO_CLIPPED | ETO_OPAQUE : ETO_CLIPPED, @@ -498,88 +520,145 @@ } } -void +static void mswindows_output_dibitmap (struct frame *f, struct Lisp_Image_Instance *p, int x, int y, int clip_x, int clip_y, int clip_width, int clip_height, - int width, int height, int pixmap_offset) + int width, int height, int pixmap_offset, + int offset_bitmap) { HDC hdc = FRAME_MSWINDOWS_DC (f); - HGDIOBJ old; + HGDIOBJ old=NULL; + COLORREF bgcolor = GetBkColor (hdc); int need_clipping = (clip_x || clip_y); + int yoffset=0; + int xoffset=0; + /* do we need to offset the pixmap vertically? this is necessary + for background pixmaps. */ + if (offset_bitmap) + { + yoffset = y % IMAGE_INSTANCE_PIXMAP_HEIGHT (p); + xoffset = x % IMAGE_INSTANCE_PIXMAP_WIDTH (p); + /* the width is handled by mswindows_output_pixmap_region */ + } if (need_clipping) { -#if 0 - XRectangle clip_box[1]; - - clip_box[0].x = clip_x; - clip_box[0].y = clip_y; - clip_box[0].width = clip_width; - clip_box[0].height = clip_height; - - XSetClipRectangles (dpy, gc, x, y, clip_box, 1, Unsorted); -#endif } - /* Select the bitmaps into the compatible DC. */ - if ((old=SelectObject(FRAME_MSWINDOWS_CDC (f), - IMAGE_INSTANCE_MSWINDOWS_BITMAP (p)))) + /* first blt the mask */ + if (IMAGE_INSTANCE_MSWINDOWS_MASK (p)) { - if (!IMAGE_INSTANCE_MSWINDOWS_MASK (p)) - { - BitBlt(hdc, - x,y, - width, height, - FRAME_MSWINDOWS_CDC (f), - 0,0, - SRCCOPY); - } - else - { - MaskBlt(hdc, - x,y, - width, height, - FRAME_MSWINDOWS_CDC (f), - 0,0, - IMAGE_INSTANCE_MSWINDOWS_MASK (p), - 0,0, - MAKEROP4(SRCINVERT,SRCCOPY)); - } - SelectObject (FRAME_MSWINDOWS_CDC (f),old); + RGBQUAD col; + col.rgbBlue = GetBValue (bgcolor); + col.rgbRed = GetRValue (bgcolor); + col.rgbGreen = GetGValue (bgcolor); + col.rgbReserved = 0; + + old = SelectObject (FRAME_MSWINDOWS_CDC (f), + IMAGE_INSTANCE_MSWINDOWS_MASK (p)); + + SetDIBColorTable (FRAME_MSWINDOWS_CDC (f), 1, 1, &col); + + BitBlt (hdc, + x,y, + width, height, + FRAME_MSWINDOWS_CDC (f), + xoffset,yoffset, + SRCCOPY); + + SelectObject (FRAME_MSWINDOWS_CDC (f), old); } - else - { - /* error */ - } + + /* now blt the bitmap itself. */ + old = SelectObject (FRAME_MSWINDOWS_CDC (f), + IMAGE_INSTANCE_MSWINDOWS_BITMAP (p)); -#if 0 + BitBlt (hdc, + x,y, + width, height, + FRAME_MSWINDOWS_CDC (f), + xoffset, yoffset, + IMAGE_INSTANCE_MSWINDOWS_MASK (p) ? SRCINVERT : SRCCOPY); + + SelectObject (FRAME_MSWINDOWS_CDC (f),old); + if (need_clipping) { - XSetClipMask (dpy, gc, None); - XSetClipOrigin (dpy, gc, 0, 0); } -#endif +} + +/* + * X gc's have this nice property that setting the bg pixmap will + * output it offset relative to the window. Windows doesn't have this + * feature so we have to emulate this by outputting multiple pixmaps + */ +static void +mswindows_output_dibitmap_region (struct frame *f, + struct Lisp_Image_Instance *p, + int x, int y, + int clip_x, int clip_y, + int clip_width, int clip_height, + int width, int height, int pixmap_offset, + int offset_bitmap) +{ + int pwidth = min (width, IMAGE_INSTANCE_PIXMAP_WIDTH (p)); + int pheight = min (height, IMAGE_INSTANCE_PIXMAP_HEIGHT (p)); + int pxoffset = 0, pyoffset = 0; + + /* when doing a bg pixmap do a partial pixmap first so that we + blt whole pixmaps thereafter */ + + if (offset_bitmap) + { + pheight = min (pheight, IMAGE_INSTANCE_PIXMAP_HEIGHT (p) - + y % IMAGE_INSTANCE_PIXMAP_HEIGHT (p)); + } + + while (pheight > 0) + { + if (offset_bitmap) + { + pwidth = min (min (width, IMAGE_INSTANCE_PIXMAP_WIDTH (p)), + IMAGE_INSTANCE_PIXMAP_WIDTH (p) - + x % IMAGE_INSTANCE_PIXMAP_WIDTH (p)); + pxoffset = 0; + } + while (pwidth > 0) + { + mswindows_output_dibitmap (f, p, + x + pxoffset, y + pyoffset, + clip_x, clip_y, + clip_width, clip_height, + pwidth, pheight, pixmap_offset, + offset_bitmap); + pxoffset += pwidth; + pwidth = min ((width-pxoffset), + IMAGE_INSTANCE_PIXMAP_WIDTH (p)); + } + pyoffset += pheight; + pheight = min ((height-pyoffset), + IMAGE_INSTANCE_PIXMAP_HEIGHT (p)); + } } static void mswindows_output_pixmap (struct window *w, struct display_line *dl, Lisp_Object image_instance, int xpos, int xoffset, int start_pixpos, int width, face_index findex, - int cursor_start, int cursor_width, int cursor_height) + int cursor_start, int cursor_width, int cursor_height, + int offset_bitmap) { struct frame *f = XFRAME (w->frame); -#if 0 HDC hdc = FRAME_MSWINDOWS_DC (f); -#endif + struct Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); Lisp_Object window; int lheight = dl->ascent + dl->descent - dl->clip; int pheight = ((int) IMAGE_INSTANCE_PIXMAP_HEIGHT (p) > lheight ? lheight : IMAGE_INSTANCE_PIXMAP_HEIGHT (p)); - int pwidth = min (width + xoffset, (int) IMAGE_INSTANCE_PIXMAP_WIDTH (p)); int clip_x, clip_y, clip_width, clip_height; /* The pixmap_offset is used to center the pixmap on lines which are @@ -655,27 +734,22 @@ clear_width = width; } - mswindows_clear_region (window, findex, clear_x, clear_y, - clear_width, clear_height); + if (!offset_bitmap) /* i.e. not a bg pixmap */ + mswindows_clear_region (window, findex, clear_x, clear_y, + clear_width, clear_height); } - /* Output the pixmap. */ - { - Lisp_Object tmp_pixel; - COLORREF tmp_bcolor, tmp_fcolor; - - tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); - tmp_fcolor = COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); - tmp_bcolor = COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (tmp_pixel)); -#if 0 - mswindows_update_dc (hdc, Qnil, tmp_fcolor, - tmp_bcolor, Qnil); -#endif - mswindows_output_dibitmap (f, p, xpos - xoffset, dl->ypos - dl->ascent, - clip_x, clip_y, clip_width, clip_height, - pwidth, pheight, pixmap_offset); - } + /* Output the pixmap. Have to do this as many times as is required + to fill the given area */ + mswindows_update_dc (hdc, Qnil, + WINDOW_FACE_CACHEL_FOREGROUND (w, findex), + WINDOW_FACE_CACHEL_BACKGROUND (w, findex), Qnil); + + mswindows_output_dibitmap_region (f, p, xpos - xoffset, + dl->ypos - dl->ascent, + clip_x, clip_y, clip_width, clip_height, + width + xoffset, pheight, pixmap_offset, + offset_bitmap); } #ifdef HAVE_SCROLLBARS @@ -696,27 +770,16 @@ return; if (!NILP (w->scrollbar_on_left_p)) - { - rect_dead.left = WINDOW_LEFT (w); - rect_dead.right = WINDOW_LEFT (w) + sbw; - } + rect_dead.left = WINDOW_LEFT (w); else - { - rect_dead.left = WINDOW_RIGHT (w) - sbw; - rect_dead.right = WINDOW_RIGHT (w); - } + rect_dead.left = WINDOW_TEXT_RIGHT (w); + rect_dead.right = rect_dead.left + sbw; if (!NILP (w->scrollbar_on_top_p)) - { - rect_dead.top = WINDOW_TOP (w); - rect_dead.bottom = WINDOW_TOP (w) + sbh; - } + rect_dead.top = WINDOW_TOP (w); else - { - int modh = window_modeline_height (w); - rect_dead.top = WINDOW_BOTTOM (w) - modh - sbh; - rect_dead.bottom = WINDOW_BOTTOM (w) - modh; - } + rect_dead.top = WINDOW_TEXT_BOTTOM (w); + rect_dead.bottom = rect_dead.top + sbh; if (IntersectRect (&rect_paint, &rect_dead, prc)) { @@ -892,21 +955,10 @@ /***************************************************************************** - #### Display methods + Display methods *****************************************************************************/ /***************************************************************************** - mswindows_divider_width - - Return the width of the vertical divider. - ****************************************************************************/ -static int -mswindows_divider_width (void) -{ - return MSWINDOWS_DIVIDER_WIDTH; -} - -/***************************************************************************** mswindows_divider_height Return the height of the horizontal divider. @@ -1141,7 +1193,7 @@ mswindows_output_pixmap (w, dl, instance, xpos, rb->object.dglyph.xoffset, start_pixpos, rb->width, findex, cursor_start, - cursor_width, cursor_height); + cursor_width, cursor_height, 0); if (rb->cursor_type == CURSOR_ON) mswindows_output_cursor (w, dl, xpos, cursor_width, findex, 0, 1); @@ -1187,53 +1239,61 @@ /***************************************************************************** mswindows_output_vertical_divider - Draw a vertical divider down the left side of the given window. + Draw a vertical divider down the right side of the given window. ****************************************************************************/ static void -mswindows_output_vertical_divider (struct window *w, int clear) +mswindows_output_vertical_divider (struct window *w, int clear_unused) { struct frame *f = XFRAME (w->frame); - Lisp_Object color; RECT rect; - int shadow_width = MODELINE_SHADOW_THICKNESS (w); - - /* We don't use the normal gutter measurements here because the - horizontal scrollbars and toolbars do not stretch completely over - to the right edge of the window. Only the modeline does. */ - int modeline_height = window_modeline_height (w); - - assert(!MSWINDOWS_DIVIDER_SPACING); /* This code doesn't handle this */ + int spacing = XINT (w->vertical_divider_spacing); + int shadow = XINT (w->vertical_divider_shadow_thickness); + int abs_shadow = abs (shadow); + int line_width = XINT (w->vertical_divider_line_width); + int div_left = WINDOW_RIGHT (w) - window_divider_width (w); - /* XXX Not sure about this */ -#ifdef HAVE_SCROLLBARS - if (!NILP (w->scrollbar_on_left_p)) - rect.left = WINDOW_LEFT (w); - else - rect.left = WINDOW_RIGHT (w) - MSWINDOWS_DIVIDER_WIDTH; -#else - rect.left = WINDOW_LEFT (w); -#endif - rect.right = rect.left + MSWINDOWS_DIVIDER_WIDTH; + /* Clear left and right spacing areas */ + if (spacing) + { + rect.top = WINDOW_TOP (w); + rect.bottom = WINDOW_BOTTOM (w); + mswindows_update_dc (FRAME_MSWINDOWS_DC (f), Qnil, Qnil, + WINDOW_FACE_CACHEL_BACKGROUND (w, DEFAULT_INDEX), Qnil); + rect.right = WINDOW_RIGHT (w); + rect.left = rect.right - spacing; + ExtTextOut (FRAME_MSWINDOWS_DC (f), 0, 0, ETO_OPAQUE, + &rect, NULL, 0, NULL); + rect.left = div_left; + rect.right = div_left + spacing; + ExtTextOut (FRAME_MSWINDOWS_DC (f), 0, 0, ETO_OPAQUE, + &rect, NULL, 0, NULL); + } + + /* Clear divider face */ + rect.top = WINDOW_TOP (w) + abs_shadow; + rect.bottom = WINDOW_BOTTOM (w) - abs_shadow; + rect.left = div_left + spacing + abs_shadow; + rect.right = rect.left + line_width; + if (rect.left < rect.right) + { + face_index div_face + = get_builtin_face_cache_index (w, Vvertical_divider_face); + mswindows_update_dc (FRAME_MSWINDOWS_DC (f), Qnil, Qnil, + WINDOW_FACE_CACHEL_BACKGROUND (w, div_face), Qnil); + ExtTextOut (FRAME_MSWINDOWS_DC (f), 0, 0, ETO_OPAQUE, + &rect, NULL, 0, NULL); + } -#ifdef HAVE_SCROLLBARS - if (!NILP (w->scrollbar_on_top_p)) - rect.top = WINDOW_TOP (w); - else -#endif - rect.top = WINDOW_TEXT_TOP (w); - rect.bottom = WINDOW_BOTTOM (w) - modeline_height; - - /* Draw the divider line */ - color = WINDOW_FACE_CACHEL_BACKGROUND (w, MODELINE_INDEX); - mswindows_update_dc (FRAME_MSWINDOWS_DC(f), Qnil, Qnil, color, Qnil); - ExtTextOut (FRAME_MSWINDOWS_DC (f), 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL); - if (shadow_width) - DrawEdge (FRAME_MSWINDOWS_DC (f), &rect, - shadow_width==1 ? BDR_RAISEDINNER : EDGE_RAISED, - BF_TOP|BF_RIGHT|BF_LEFT); + /* Draw a shadow around the divider */ + if (shadow != 0) + { + /* #### This will be fixed to support arbitrary thichkness */ + InflateRect (&rect, abs_shadow, abs_shadow); + DrawEdge (FRAME_MSWINDOWS_DC (f), &rect, + shadow > 0 ? EDGE_RAISED : EDGE_SUNKEN, BF_RECT); + } } - /**************************************************************************** mswindows_text_width @@ -1318,28 +1378,31 @@ if (!UNBOUNDP (background_pixmap)) { + Lisp_Object fcolor, bcolor; + + if (w) + { + fcolor = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); + bcolor = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); + } + else + { + fcolor = FACE_FOREGROUND (Vdefault_face, locale); + bcolor = FACE_BACKGROUND (Vdefault_face, locale); + } + + mswindows_update_dc (FRAME_MSWINDOWS_DC (f), + Qnil, fcolor, bcolor, background_pixmap); + if (XIMAGE_INSTANCE_PIXMAP_DEPTH (background_pixmap) == 0) { - Lisp_Object fcolor, bcolor; - - if (w) - { - fcolor = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); - bcolor = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); - } - else - { - fcolor = FACE_FOREGROUND (Vdefault_face, locale); - bcolor = FACE_BACKGROUND (Vdefault_face, locale); - } - - mswindows_update_dc (FRAME_MSWINDOWS_DC (f), - Qnil, fcolor, bcolor, background_pixmap); FillRect (FRAME_MSWINDOWS_DC(f), &rect, brush); } else { - assert(0); + mswindows_output_dibitmap_region + ( f, XIMAGE_INSTANCE (background_pixmap), + x, y, 0, 0, 0, 0, width, height, 0, TRUE); } } else @@ -1425,7 +1488,6 @@ /* redisplay methods */ CONSOLE_HAS_METHOD (mswindows, text_width); CONSOLE_HAS_METHOD (mswindows, output_display_block); - CONSOLE_HAS_METHOD (mswindows, divider_width); CONSOLE_HAS_METHOD (mswindows, divider_height); CONSOLE_HAS_METHOD (mswindows, eol_cursor_width); CONSOLE_HAS_METHOD (mswindows, output_vertical_divider);
--- a/src/redisplay-tty.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/redisplay-tty.c Mon Aug 13 10:34:13 2007 +0200 @@ -114,18 +114,6 @@ } /***************************************************************************** - tty_divider_width - - Return the width of the vertical divider. This is a function because - divider_width is a console method. - ****************************************************************************/ -static int -tty_divider_width (void) -{ - return 1; -} - -/***************************************************************************** tty_divider_height Return the width of the horizontal divider. This is a function @@ -436,31 +424,35 @@ /***************************************************************************** tty_output_vertical_divider - Draw a vertical divider down the left side of the given window. + Draw a vertical divider down the right side of the given window. ****************************************************************************/ static void tty_output_vertical_divider (struct window *w, int clear) { - struct frame *f = XFRAME (w->frame); - struct console *c = XCONSOLE (FRAME_CONSOLE (f)); - int line; - int y_top = WINDOW_TEXT_TOP (w); - int y_bot = WINDOW_TEXT_BOTTOM (w); - unsigned char divv = '|'; + /* Divider width can either be 0 or 1 on TTYs */ + if (window_divider_width (w)) + { + struct frame *f = XFRAME (w->frame); + struct console *c = XCONSOLE (FRAME_CONSOLE (f)); + int line; + int y_top = WINDOW_TEXT_TOP (w); + int y_bot = WINDOW_TEXT_BOTTOM (w); + unsigned char divv = '|'; - tty_turn_on_face (w, MODELINE_INDEX); - for (line = y_top; line < y_bot; line++) - { - cmgoto (f, line, WINDOW_TEXT_LEFT (w) - 1); + tty_turn_on_face (w, MODELINE_INDEX); + for (line = y_top; line < y_bot; line++) + { + cmgoto (f, line, WINDOW_TEXT_RIGHT (w)); + send_string_to_tty_console (c, &divv, 1); + TTY_INC_CURSOR_X (c, 1); + } + + /* Draw the divider in the modeline. */ + cmgoto (f, y_bot, WINDOW_TEXT_RIGHT (w)); send_string_to_tty_console (c, &divv, 1); TTY_INC_CURSOR_X (c, 1); + tty_turn_off_face (w, MODELINE_INDEX); } - - /* Draw the divider in the modeline. */ - cmgoto (f, y_bot, WINDOW_TEXT_LEFT (w) - 1); - send_string_to_tty_console (c, &divv, 1); - TTY_INC_CURSOR_X (c, 1); - tty_turn_off_face (w, MODELINE_INDEX); } /**************************************************************************** @@ -1548,7 +1540,6 @@ CONSOLE_HAS_METHOD (tty, text_width); CONSOLE_HAS_METHOD (tty, output_display_block); CONSOLE_HAS_METHOD (tty, output_vertical_divider); - CONSOLE_HAS_METHOD (tty, divider_width); CONSOLE_HAS_METHOD (tty, divider_height); CONSOLE_HAS_METHOD (tty, eol_cursor_width); CONSOLE_HAS_METHOD (tty, clear_to_window_end);
--- a/src/redisplay-x.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/redisplay-x.c Mon Aug 13 10:34:13 2007 +0200 @@ -52,19 +52,10 @@ #include "file-coding.h" /* for CCL conversion */ #endif -/* X_DIVIDER_LINE_WIDTH is the width of the line drawn in the gutter. - X_DIVIDER_SPACING is the amount of blank space on each side of the line. - X_DIVIDER_WIDTH = X_DIVIDER_LINE_WIDTH + 2*X_DIVIDER_SPACING -*/ - /* Number of pixels below each line. */ /* #### implement me */ int x_interline_space; -#define X_DIVIDER_LINE_WIDTH 3 -#define X_DIVIDER_SPACING 2 -#define X_DIVIDER_WIDTH (X_DIVIDER_LINE_WIDTH + 2 * X_DIVIDER_SPACING) - #define EOL_CURSOR_WIDTH 5 static void x_output_pixmap (struct window *w, struct display_line *dl, @@ -276,19 +267,6 @@ return width_so_far; } - -/***************************************************************************** - x_divider_width - - Return the width of the vertical divider. This is a function because - divider_width is a device method. - ****************************************************************************/ -static int -x_divider_width (void) -{ - return X_DIVIDER_WIDTH; -} - /***************************************************************************** x_divider_height @@ -1388,7 +1366,7 @@ /***************************************************************************** x_output_vertical_divider - Draw a vertical divider down the left side of the given window. + Draw a vertical divider down the right side of the given window. ****************************************************************************/ static void x_output_vertical_divider (struct window *w, int clear) @@ -1396,75 +1374,127 @@ struct frame *f = XFRAME (w->frame); struct device *d = XDEVICE (f->device); + EmacsFrame ef = (EmacsFrame) FRAME_X_TEXT_WIDGET (f); Display *dpy = DEVICE_X_DISPLAY (d); Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - GC gc; - - /* We don't use the normal gutter measurements here because the - horizontal scrollbars and toolbars do not stretch completely over - to the right edge of the window. Only the modeline does. */ - int modeline_height = window_modeline_height (w); - int x1, x2; - int y1, y2; + Pixel top_shadow_pixel, bottom_shadow_pixel, background_pixel; + Lisp_Object tmp_pixel; + XColor tmp_color; + XGCValues gcv; + GC top_shadow_gc, bottom_shadow_gc, background_gc; -#ifdef HAVE_SCROLLBARS - if (!NILP (w->scrollbar_on_left_p)) -#endif - x1 = WINDOW_LEFT (w); -#ifdef HAVE_SCROLLBARS - else - x1 = WINDOW_RIGHT (w) - X_DIVIDER_WIDTH; -#endif - x2 = x1 + X_DIVIDER_SPACING; - -#ifdef HAVE_SCROLLBARS - if (!NILP (w->scrollbar_on_top_p)) - y1 = WINDOW_TOP (w); - else -#endif - y1 = WINDOW_TEXT_TOP (w); - y2 = WINDOW_BOTTOM (w) - modeline_height; - - /* Draw the divider in the window. */ - { - /* Clear the divider area first. This needs to be done when a - window split occurs. */ - if (clear) - XClearArea (dpy, x_win, x1, y1, X_DIVIDER_WIDTH, y2 - y1, False); + int use_pixmap = 0; + int flip_gcs = 0; + unsigned long mask; + int x, y1, y2, width, shadow_thickness, spacing, line_width; + face_index div_face = get_builtin_face_cache_index (w, Vvertical_divider_face); + + width = window_divider_width (w); + shadow_thickness = XINT (w->vertical_divider_shadow_thickness); + spacing = XINT (w->vertical_divider_spacing); + line_width = XINT (w->vertical_divider_line_width); + x = WINDOW_RIGHT (w) - width; + y1 = WINDOW_TOP (w); + y2 = WINDOW_BOTTOM (w); + + memset (&gcv, ~0, sizeof (XGCValues)); + + tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face); + tmp_color = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); + + /* First, get the GC's. */ + top_shadow_pixel = tmp_color.pixel; + bottom_shadow_pixel = tmp_color.pixel; + background_pixel = tmp_color.pixel; + + x_generate_shadow_pixels (f, &top_shadow_pixel, &bottom_shadow_pixel, + background_pixel, ef->core.background_pixel); + + tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, div_face); + tmp_color = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); + gcv.background = tmp_color.pixel; + gcv.graphics_exposures = False; + mask = GCForeground | GCBackground | GCGraphicsExposures; - /* #### There needs to be some checks to make sure that whatever - colors we choose, the line will be visible (not same color as - default background. - - #### No there don't. If I want the vertical divider to be - invisible, I should be able to make it so. */ - gc = x_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, MODELINE_INDEX), - WINDOW_FACE_CACHEL_FOREGROUND (w, MODELINE_INDEX), - Qnil, Qnil); - - /* Draw the divider line. */ - XFillRectangle (dpy, x_win, gc, x2, y1, X_DIVIDER_LINE_WIDTH, y2 - y1); - } + /* If we can't distinguish one of the shadows (the color is the same as the + background), it's better to use a pixmap to generate a dithrered gray. */ + if (top_shadow_pixel == background_pixel || + bottom_shadow_pixel == background_pixel) + use_pixmap = 1; + + if (use_pixmap) + { + if (DEVICE_X_GRAY_PIXMAP (d) == None) + { + DEVICE_X_GRAY_PIXMAP (d) = + XCreatePixmapFromBitmapData (dpy, x_win, (char *) gray_bits, + gray_width, gray_height, 1, 0, 1); + } + + tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face); + tmp_color = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); + gcv.foreground = tmp_color.pixel; + /* this is needed because the GC draws with a pixmap here */ + gcv.fill_style = FillOpaqueStippled; + gcv.stipple = DEVICE_X_GRAY_PIXMAP (d); + top_shadow_gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, + (mask | GCStipple | GCFillStyle)); + + tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, div_face); + tmp_color = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); + bottom_shadow_pixel = tmp_color.pixel; + + flip_gcs = (bottom_shadow_pixel == + WhitePixelOfScreen (DefaultScreenOfDisplay (dpy))); + } + else + { + gcv.foreground = top_shadow_pixel; + top_shadow_gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, mask); + } + + gcv.foreground = bottom_shadow_pixel; + bottom_shadow_gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, mask); + + if (use_pixmap && flip_gcs) + { + GC tmp_gc = bottom_shadow_gc; + bottom_shadow_gc = top_shadow_gc; + top_shadow_gc = tmp_gc; + } + + gcv.foreground = background_pixel; + background_gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, mask); + + /* possibly revert the GC's in case the shadow thickness is < 0. + This will give a depressed look to the divider */ + if (shadow_thickness < 0) + { + GC temp; - /* Draw the divider in the modeline but only if we are using 2D - modelines. */ - if (EQ (Qzero, w->modeline_shadow_thickness)) - { - XFillRectangle (dpy, x_win, gc, x1, y2, X_DIVIDER_WIDTH, - modeline_height); + temp = top_shadow_gc; + top_shadow_gc = bottom_shadow_gc; + bottom_shadow_gc = temp; + + /* better avoid a Bad Adress XLib error ;-) */ + shadow_thickness = - shadow_thickness; + } - /* #### There needs to be some checks to make sure that whatever - colors we choose, the line will be visible (not same color as - default background. */ - gc = x_get_gc (d, Qnil, - WINDOW_FACE_CACHEL_FOREGROUND (w, MODELINE_INDEX), - WINDOW_FACE_CACHEL_BACKGROUND (w, MODELINE_INDEX), - Qnil, Qnil); + /* Clear the divider area first. This needs to be done when a + window split occurs. */ + if (clear) + XClearArea (dpy, x_win, x, y1, width, y2 - y1, False); - /* Draw the divider line. */ - XFillRectangle (dpy, x_win, gc, x2, y2, X_DIVIDER_LINE_WIDTH, - modeline_height); - } + /* Draw the divider line. */ + XFillRectangle (dpy, x_win, background_gc, + x + spacing + shadow_thickness, y1, + line_width, y2 - y1); + + /* Draw the shadows around the divider line */ + x_output_shadows (f, x + spacing, y1, + width - 2 * spacing, y2 - y1, + top_shadow_gc, bottom_shadow_gc, + background_gc, shadow_thickness); } /***************************************************************************** @@ -2294,7 +2324,6 @@ /* redisplay methods */ CONSOLE_HAS_METHOD (x, text_width); CONSOLE_HAS_METHOD (x, output_display_block); - CONSOLE_HAS_METHOD (x, divider_width); CONSOLE_HAS_METHOD (x, divider_height); CONSOLE_HAS_METHOD (x, eol_cursor_width); CONSOLE_HAS_METHOD (x, output_vertical_divider);
--- a/src/redisplay.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/redisplay.c Mon Aug 13 10:34:13 2007 +0200 @@ -243,18 +243,10 @@ struct display_line *dl, struct display_block *db, face_index findex, int min_pixpos, - int max_pixpos, int type -#ifdef MODELINE_IS_SCROLLABLE - ,int modeline -#endif - ); + int max_pixpos, int type); static Charcount generate_fstring_runes (struct window *w, pos_data *data, Charcount pos, Charcount min_pos, - Charcount max_pos, -#ifdef MODELINE_IS_SCROLLABLE - int no_limit, -#endif - Lisp_Object elt, + Charcount max_pos, Lisp_Object elt, int depth, int max_pixsize, face_index findex, int type); static prop_block_dynarr *add_glyph_rune (pos_data *data, @@ -3529,11 +3521,7 @@ generate_formatted_string_db (b->modeline_format, b->generated_modeline_string, w, dl, db, - MODELINE_INDEX, min_pixpos, max_pixpos, type -#ifdef MODELINE_IS_SCROLLABLE - , 1 /* generate a modeline */ -#endif /* not MODELINE_IS_SCROLLABLE */ - ); + MODELINE_INDEX, min_pixpos, max_pixpos, type); /* The modeline is at the bottom of the gutters. We have to wait to set this until we've generated teh modeline in order to account @@ -3541,562 +3529,6 @@ dl->ypos = WINDOW_BOTTOM (w) - dl->descent - ypos_adj; } -/* This define is for the experimental horizontal modeline scrolling. It's not - functional for 21.0, but might be for 21.1 */ -#ifdef MODELINE_IS_SCROLLABLE -static void -generate_formatted_string_db (Lisp_Object format_str, Lisp_Object result_str, - struct window *w, struct display_line *dl, - struct display_block *db, face_index findex, - int min_pixpos, int max_pixpos, int type, - int modeline) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - - pos_data data; - int c_pixpos; - - xzero (data); - data.d = d; - data.db = db; - data.dl = dl; - data.findex = findex; - data.pixpos = min_pixpos; - data.max_pixpos = max_pixpos; - data.cursor_type = NO_CURSOR; - data.last_charset = Qunbound; - data.last_findex = DEFAULT_INDEX; - data.result_str = result_str; - data.is_modeline = 1; - XSETWINDOW (data.window, w); - - Dynarr_reset (formatted_string_extent_dynarr); - Dynarr_reset (formatted_string_extent_start_dynarr); - Dynarr_reset (formatted_string_extent_end_dynarr); - - /* D. Verna Feb. 1998. - This recursively builds up the modeline or the title/icon string. - In case of a modeline, we use a negative start position to indicate - the current modeline horizontal scroll. */ - generate_fstring_runes - (w, &data, - (modeline && WINDOW_HAS_MODELINE_P (w)) ? - w->modeline_hscroll : 0, - (modeline && WINDOW_HAS_MODELINE_P (w)) ? - w->modeline_hscroll : 0, - 0, /* no limit */ 1, format_str, 0, max_pixpos - min_pixpos, findex, - type); - - if (Dynarr_length (db->runes)) - { - struct rune *rb = - Dynarr_atp (db->runes, Dynarr_length (db->runes) - 1); - c_pixpos = rb->xpos + rb->width; - } - else - c_pixpos = min_pixpos; - - /* If we don't reach the right side of the window, add a blank rune - to make up the difference. This usually only occurs if the - modeline face is using a proportional width font or a fixed width - font of a different size from the default face font. */ - - if (c_pixpos < max_pixpos) - { - data.pixpos = c_pixpos; - data.blank_width = max_pixpos - data.pixpos; - - add_blank_rune (&data, NULL, 0); - } - - /* Now create the result string and frob the extents into it. */ - if (!NILP (result_str)) - { - int elt; - Bytecount len; - Bufbyte *strdata; - struct buffer *buf = XBUFFER (WINDOW_BUFFER (w)); - - detach_all_extents (result_str); - resize_string (XSTRING (result_str), -1, - data.bytepos - XSTRING_LENGTH (result_str)); - - strdata = XSTRING_DATA (result_str); - - for (elt = 0, len = 0; elt < Dynarr_length (db->runes); elt++) - { - if (Dynarr_atp (db->runes, elt)->type == RUNE_CHAR) - { - len += (set_charptr_emchar - (strdata + len, Dynarr_atp (db->runes, - elt)->object.chr.ch)); - } - } - - for (elt = 0; elt < Dynarr_length (formatted_string_extent_dynarr); - elt++) - { - Lisp_Object extent; - Lisp_Object child; - - XSETEXTENT (extent, Dynarr_at (formatted_string_extent_dynarr, elt)); - child = Fgethash (extent, buf->modeline_extent_table, Qnil); - if (NILP (child)) - { - child = Fmake_extent (Qnil, Qnil, result_str); - Fputhash (extent, child, buf->modeline_extent_table); - } - Fset_extent_parent (child, extent); - set_extent_endpoints - (XEXTENT (child), - Dynarr_at (formatted_string_extent_start_dynarr, elt), - Dynarr_at (formatted_string_extent_end_dynarr, elt), - result_str); - } - } -} - -/* D. Verna Feb. 1998. Rewrote this function to handle the case of a - scrolled modeline */ -static Charcount -add_string_to_fstring_db_runes (pos_data *data, CONST Bufbyte *str, - Charcount pos, Charcount min_pos, - Charcount max_pos, int no_limit) -{ - /* This function has been Mule-ized. */ - Charcount initial_pos = pos; - CONST Bufbyte *cur_pos = str; - struct display_block *db = data->db; - int add_something; - - data->blank_width = space_width (XWINDOW (data->window)); - add_something = ((pos < min_pos) - || ((*cur_pos) && no_limit) - || ((*cur_pos) && (pos < max_pos))); - while (add_something) - { - if ((initial_pos >= 0) && (pos == initial_pos)) - while (Dynarr_length (db->runes) < pos) - add_blank_rune (data, NULL, 0); - - if (pos < 0) /* just pretend we're adding something */ - { - if (*cur_pos) - INC_CHARPTR (cur_pos); - pos += 1; - } - else /* pos > 0, things will be visible */ - { - if (*cur_pos) /* some stuff to add */ - { - CONST Bufbyte *old_cur_pos = cur_pos; - int succeeded; - - data->ch = charptr_emchar (cur_pos); - succeeded = (add_emchar_rune (data) != ADD_FAILED); - INC_CHARPTR (cur_pos); - if (succeeded) - { - pos += 1; - data->modeline_charpos++; - data->bytepos += cur_pos - old_cur_pos; - } - } - /* no characters to add */ - /* If there 's room enough, add space */ - else if (data->pixpos + data->blank_width <= data->max_pixpos) - { - add_blank_rune (data, NULL, 0); - pos += 1; - } - /* otherwise, just pretend we added something */ - else - { - if (*cur_pos) - INC_CHARPTR (cur_pos); - pos += 1; - } - } - add_something = ((pos < min_pos) - || ((*cur_pos) && no_limit) - || ((*cur_pos) && (pos < max_pos))); - } - - return pos; -} - -/* #### Urk! Should also handle begin-glyphs and end-glyphs in - modeline extents. */ -static Charcount -add_glyph_to_fstring_db_runes (pos_data *data, Lisp_Object glyph, - Charcount pos, Charcount min_pos, - Charcount max_pos, int no_limit) -{ - /* This function has been Mule-ized. */ - Charcount end; - struct display_block *db = data->db; - struct glyph_block gb; - - /* D. Verna Feb. 1998. - If pos < 0, we're building a scrolled modeline. - The glyph should be hidden. So just skip it. */ - if (pos < 0) - return (pos + 1); - - data->blank_width = space_width (XWINDOW (data->window)); - while (Dynarr_length (db->runes) < pos) - add_blank_rune (data, NULL, 0); - - end = Dynarr_length (db->runes) + 1; - if (!no_limit) - end = min (max_pos, end); - - gb.glyph = glyph; - gb.extent = Qnil; - add_glyph_rune (data, &gb, BEGIN_GLYPHS, 0, 0); - pos++; - - while (Dynarr_length (db->runes) < pos && - (data->pixpos + data->blank_width <= data->max_pixpos)) - add_blank_rune (data, NULL, 0); - - return Dynarr_length (db->runes); -} - -/* If max_pos is == -1, it is considered to be infinite. The same is - true of max_pixsize. */ -#define SET_CURRENT_MODE_CHARS_PIXSIZE \ - if (Dynarr_length (data->db->runes)) \ - cur_pixsize = data->pixpos - Dynarr_atp (data->db->runes, 0)->xpos; \ - else \ - cur_pixsize = 0; - -/* Note that this function does "positions" in terms of characters and - not in terms of columns. This is necessary to make the formatting - work correctly when proportional width fonts are used in the - modeline. */ -static Charcount -generate_fstring_runes (struct window *w, pos_data *data, Charcount pos, - Charcount min_pos, Charcount max_pos, int no_limit, - Lisp_Object elt, int depth, int max_pixsize, - face_index findex, int type) -{ - /* This function has been Mule-ized. */ - /* #### The other losing things in this function are: - - -- C zero-terminated-string lossage. - -- Non-printable characters should be converted into something - appropriate (e.g. ^F) instead of blindly being printed anyway. - */ - -tail_recurse: - if (depth > 10) - goto invalid; - - depth++; - - if (STRINGP (elt)) - { - /* A string. Add to the display line and check for %-constructs - within it. */ - - Bufbyte *this = XSTRING_DATA (elt); - - while ((no_limit || pos < max_pos) && *this) - { - Bufbyte *last = this; - - while (*this && *this != '%') - this++; - - if (this != last) - { - /* The string is just a string. */ - Charcount size = - bytecount_to_charcount (last, this - last) + pos; - Charcount tmp_max = (no_limit ? size : min (size, max_pos)); - - pos = add_string_to_fstring_db_runes (data, last, pos, pos, - tmp_max, /* limit */0); - } - else /* *this == '%' */ - { - Charcount spec_width = 0; - - this++; /* skip over '%' */ - - /* We can't allow -ve args due to the "%-" construct. - * Argument specifies minwidth but not maxwidth - * (maxwidth can be specified by - * (<negative-number> . <stuff>) modeline elements) - */ - while (isdigit (*this)) - { - spec_width = spec_width * 10 + (*this - '0'); - this++; - } - spec_width += pos; - - if (*this == 'M') - { - pos = generate_fstring_runes (w, data, pos, spec_width, - max_pos, no_limit, - Vglobal_mode_string, - depth, max_pixsize, findex, - type); - } - else if (*this == '-') - { - Charcount num_to_add; - - if (max_pixsize < 0) - num_to_add = 0; - else if (! no_limit) - num_to_add = max_pos - pos; - else - { - int cur_pixsize; - int dash_pixsize; - Bufbyte ch = '-'; - SET_CURRENT_MODE_CHARS_PIXSIZE; - - dash_pixsize = - redisplay_text_width_string (w, findex, &ch, Qnil, 0, - 1); - - num_to_add = (max_pixsize - cur_pixsize) / dash_pixsize; - num_to_add++; - } - - while (num_to_add--) - pos = add_string_to_fstring_db_runes - (data, (CONST Bufbyte *) "-", - pos, pos, max_pos, no_limit); - } - else if (*this != 0) - { - Bufbyte *str; - Emchar ch = charptr_emchar (this); - decode_mode_spec (w, ch, type); - - str = Dynarr_atp (mode_spec_bufbyte_string, 0); - pos = add_string_to_fstring_db_runes (data,str, pos, pos, - max_pos, no_limit); - } - - /* NOT this++. There could be any sort of character at - the current position. */ - INC_CHARPTR (this); - } - - if (max_pixsize > 0) - { - int cur_pixsize; - SET_CURRENT_MODE_CHARS_PIXSIZE; - - if (cur_pixsize >= max_pixsize) - break; - } - } - } - else if (SYMBOLP (elt)) - { - /* A symbol: process the value of the symbol recursively - as if it appeared here directly. */ - Lisp_Object tem = symbol_value_in_buffer (elt, w->buffer); - - if (!UNBOUNDP (tem)) - { - /* If value is a string, output that string literally: - don't check for % within it. */ - if (STRINGP (tem)) - { - pos = - add_string_to_fstring_db_runes - (data, XSTRING_DATA (tem), pos, min_pos, max_pos, no_limit); - } - /* Give up right away for nil or t. */ - else if (!EQ (tem, elt)) - { - elt = tem; - goto tail_recurse; - } - } - } - else if (GENERIC_SPECIFIERP (elt)) - { - Lisp_Object window, tem; - XSETWINDOW (window, w); - tem = specifier_instance_no_quit (elt, Qunbound, window, - ERROR_ME_NOT, 0, Qzero); - if (!UNBOUNDP (tem)) - { - elt = tem; - goto tail_recurse; - } - } - else if (CONSP (elt)) - { - /* A cons cell: four distinct cases. - * If first element is a string or a cons, process all the elements - * and effectively concatenate them. - * If first element is a negative number, truncate displaying cdr to - * at most that many characters. If positive, pad (with spaces) - * to at least that many characters. - * If first element is a symbol, process the cadr or caddr recursively - * according to whether the symbol's value is non-nil or nil. - * If first element is a face, process the cdr recursively - * without altering the depth. - */ - Lisp_Object car, tem; - - car = XCAR (elt); - if (SYMBOLP (car)) - { - elt = XCDR (elt); - if (!CONSP (elt)) - goto invalid; - tem = symbol_value_in_buffer (car, w->buffer); - /* elt is now the cdr, and we know it is a cons cell. - Use its car if CAR has a non-nil value. */ - if (!UNBOUNDP (tem)) - { - if (!NILP (tem)) - { - elt = XCAR (elt); - goto tail_recurse; - } - } - /* Symbol's value is nil (or symbol is unbound) - * Get the cddr of the original list - * and if possible find the caddr and use that. - */ - elt = XCDR (elt); - if (NILP (elt)) - ; - else if (!CONSP (elt)) - goto invalid; - else - { - elt = XCAR (elt); - goto tail_recurse; - } - } - else if (INTP (car)) - { - Charcount lim = XINT (car); - - elt = XCDR (elt); - - if (lim < 0) - { - /* Negative int means reduce maximum width. - * DO NOT change MIN_PIXPOS here! - * (20 -10 . foo) should truncate foo to 10 col - * and then pad to 20. - */ - if (no_limit) - max_pos = pos - lim; - else - max_pos = min (max_pos, pos - lim); - no_limit = 0; - } - else if (lim > 0) - { - /* Padding specified. Don't let it be more than - * current maximum. - */ - lim += pos; - if (!no_limit && lim > max_pos) - lim = max_pos; - /* If that's more padding than already wanted, queue it. - * But don't reduce padding already specified even if - * that is beyond the current truncation point. - */ - if (lim > min_pos) - min_pos = lim; - } - goto tail_recurse; - } - else if (STRINGP (car) || CONSP (car)) - { - int limit = 50; - /* LIMIT is to protect against circular lists. */ - while (CONSP (elt) && --limit > 0 && (no_limit || pos < max_pos)) - { - pos = generate_fstring_runes (w, data, pos, pos, max_pos, - no_limit, - XCAR (elt), depth, - max_pixsize, findex, type); - elt = XCDR (elt); - } - } - else if (EXTENTP (car)) - { - struct extent *ext = XEXTENT (car); - - if (EXTENT_LIVE_P (ext)) - { - face_index old_findex = data->findex; - Lisp_Object face; - Lisp_Object font_inst; - face_index new_findex; - Bytecount start = data->bytepos; - - face = extent_face (ext); - if (FACEP (face)) - { - /* #### needs to merge faces, sigh */ - /* #### needs to handle list of faces */ - new_findex = get_builtin_face_cache_index (w, face); - /* !!#### not right; needs to compute the max height of - all the charsets */ - font_inst = WINDOW_FACE_CACHEL_FONT (w, new_findex, - Vcharset_ascii); - - data->dl->ascent = max (data->dl->ascent, - XFONT_INSTANCE (font_inst)->ascent); - data->dl->descent = max (data->dl->descent, - XFONT_INSTANCE (font_inst)-> - descent); - } - else - new_findex = old_findex; - - data->findex = new_findex; - pos = generate_fstring_runes (w, data, pos, pos, max_pos, - no_limit, - XCDR (elt), depth - 1, - max_pixsize, new_findex, type); - data->findex = old_findex; - Dynarr_add (formatted_string_extent_dynarr, ext); - Dynarr_add (formatted_string_extent_start_dynarr, start); - Dynarr_add (formatted_string_extent_end_dynarr, data->bytepos); - } - } - } - else if (GLYPHP (elt)) - { - pos = add_glyph_to_fstring_db_runes - (data, elt, pos, pos, max_pos, no_limit); - } - else - { - invalid: - pos = - add_string_to_fstring_db_runes - (data, (CONST Bufbyte *) GETTEXT ("*invalid*"), pos, min_pos, max_pos, - no_limit); - } - - if (min_pos > pos) - { - add_string_to_fstring_db_runes (data, (CONST Bufbyte *) "", pos, min_pos, - 0, /* no limit */ 1); - } - - return pos; -} -#else /* not MODELINE_IS_SCROLLABLE */ static void generate_formatted_string_db (Lisp_Object format_str, Lisp_Object result_str, struct window *w, struct display_line *dl, @@ -4601,7 +4033,6 @@ return pos; } -#endif /* not MODELINE_IS_SCROLLABLE */ /* The caller is responsible for freeing the returned string. */ Bufbyte * @@ -4616,16 +4047,8 @@ db = get_display_block_from_line (dl, TEXT); Dynarr_reset (db->runes); -#ifdef MODELINE_IS_SCROLLABLE - /* D. Verna Feb. 1998. - Currently, only update_frame_title can make us come here. This is not - to build a modeline */ - generate_formatted_string_db (format_str, result_str, w, dl, db, findex, 0, - -1, type, 0 /* not a modeline */); -#else /* not MODELINE_IS_SCROLLABLE */ generate_formatted_string_db (format_str, result_str, w, dl, db, findex, 0, -1, type); -#endif /* not MODELINE_IS_SCROLLABLE */ Dynarr_reset (formatted_string_emchar_dynarr); while (elt < Dynarr_length (db->runes)) @@ -6334,8 +5757,6 @@ case 'c': { int col = current_column (b) + !!column_number_start_at_one; - int temp = col; - int size = 2; char buf[32]; long_to_string (buf, col); @@ -6345,9 +5766,9 @@ goto decode_mode_spec_done; } -#ifdef FILE_CODING /* print the file coding system */ case 'C': +#ifdef FILE_CODING { Lisp_Object codesys = b->buffer_file_coding_system; /* Be very careful here not to get an error. */ @@ -6355,11 +5776,11 @@ { codesys = Ffind_coding_system (codesys); if (CODING_SYSTEMP (codesys)) - obj = Fcoding_system_property (codesys, Qmnemonic); + obj = XCODING_SYSTEM_MNEMONIC (codesys); } } +#endif /* FILE_CODING */ break; -#endif /* print the current line number */ case 'l': @@ -8129,6 +7550,26 @@ UPDATE_CACHE_RETURN; } + /* See if the point is over window vertical divider */ + if (window_needs_vertical_divider (*w)) + { + int div_x_high = WINDOW_RIGHT (*w); + int div_x_low = div_x_high - window_divider_width (*w); + int div_y_high = WINDOW_BOTTOM (*w); + int div_y_low = WINDOW_TOP (*w); + + if (div_x_low < x_coord && x_coord <= div_x_high && + div_y_low < y_coord && y_coord <= div_y_high) + { + low_x_coord = div_x_low; + high_x_coord = div_x_high; + low_y_coord = div_y_low; + high_y_coord = div_y_high; + position = OVER_V_DIVIDER; + UPDATE_CACHE_RETURN; + } + } + dla = window_display_lines (*w, CURRENT_DISP); for (*row = 0; *row < Dynarr_length (dla); (*row)++)
--- a/src/redisplay.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/redisplay.h Mon Aug 13 10:34:13 2007 +0200 @@ -37,6 +37,7 @@ #define OVER_NOTHING 3 #define OVER_BORDER 4 #define OVER_TOOLBAR 5 +#define OVER_V_DIVIDER 6 #define NO_BLOCK -1
--- a/src/regex.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/regex.c Mon Aug 13 10:34:13 2007 +0200 @@ -4474,6 +4474,10 @@ for (;;) { DEBUG_PRINT2 ("\n0x%p: ", p); +#ifdef emacs /* XEmacs added, w/removal of immediate_quit */ + if (!no_quit_in_re_search) + QUIT; +#endif if (p == pend) { /* End of pattern means we might have succeeded. */
--- a/src/s/aix4.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/s/aix4.h Mon Aug 13 10:34:13 2007 +0200 @@ -5,8 +5,9 @@ /* AIX 4 does not have HFT any more. */ #undef AIXHFT -/* Get strcasecmp, and friends, for warning suppression. - These functions shouldn't actually be used, but don't try to fix it. */ #ifndef NOT_C_CODE -#include <strings.h> +#define _XFUNCS_H_ 1 +/* Forward declarations for xlc warning suppressions */ +struct ether_addr; +struct sockaddr_dl; #endif
--- a/src/scrollbar.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/scrollbar.c Mon Aug 13 10:34:13 2007 +0200 @@ -468,7 +468,9 @@ { x_offset = (!NILP (w->scrollbar_on_left_p) ? WINDOW_LEFT (w) - : WINDOW_RIGHT (w) - scrollbar_width); + : (WINDOW_RIGHT (w) - scrollbar_width + - (window_needs_vertical_divider (w) + ? window_divider_width (w) : 0))); y_offset = WINDOW_TEXT_TOP (w) + f->scrollbar_y_offset; } else @@ -587,6 +589,26 @@ } } +static void +vertical_scrollbar_changed_in_window (Lisp_Object specifier, + struct window *w, + Lisp_Object oldval) +{ + /* Hold on your cerebella guys. If we always show the dividers, + changing scrollbar affects only how the text and scrollbar are + laid out in the window. If we do not want the dividers to show up + always, then we mark more drastic change, because changing + divider appearane changes lotta things. Although we actually need + to do this only if the scrollbar has appeared or disappeared + completely at either window edge, we do this always, as users + usually do not reposition scrollbars 200 times a second or so. Do + you? */ + if (NILP (w->vertical_divider_draggable_p)) + MARK_FRAME_WINDOWS_STRUCTURE_CHANGED (XFRAME (WINDOW_FRAME (w))); + else + MARK_WINDOWS_CHANGED (w); +} + /* This function is called as a result of a change to the `scrollbar-pointer' glyph. */ static void @@ -928,7 +950,7 @@ set_specifier_caching (Vscrollbar_width, slot_offset (struct window, scrollbar_width), - some_window_value_changed, + vertical_scrollbar_changed_in_window, slot_offset (struct frame, scrollbar_width), frame_size_slipped); @@ -974,7 +996,7 @@ set_specifier_caching (Vvertical_scrollbar_visible_p, slot_offset (struct window, vertical_scrollbar_visible_p), - some_window_value_changed, + vertical_scrollbar_changed_in_window, slot_offset (struct frame, vertical_scrollbar_visible_p), frame_size_slipped); @@ -1002,7 +1024,7 @@ set_specifier_caching (Vscrollbar_on_left_p, slot_offset (struct window, scrollbar_on_left_p), - some_window_value_changed, + vertical_scrollbar_changed_in_window, slot_offset (struct frame, scrollbar_on_left_p), frame_size_slipped);
--- a/src/specifier.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/specifier.c Mon Aug 13 10:34:13 2007 +0200 @@ -1801,7 +1801,7 @@ DEFUN ("add-spec-to-specifier", Fadd_spec_to_specifier, 2, 5, 0, /* Add a specification to SPECIFIER. -The specification maps from LOCALE (which should be a buffer, window, +The specification maps from LOCALE (which should be a window, buffer, frame, device, or 'global, and defaults to 'global) to INSTANTIATOR, whose allowed values depend on the type of the specifier. Optional argument TAG-SET limits the instantiator to apply only to the specified @@ -1871,7 +1871,7 @@ ((LOCALE (TAG-SET . INSTANTIATOR) ...) ...) where - LOCALE := a buffer, a window, a frame, a device, or 'global + LOCALE := a window, a buffer, a frame, a device, or 'global TAG-SET := an unordered list of zero or more TAGS, each of which is a symbol TAG := a device class (see `valid-device-class-p'), a device type @@ -2086,10 +2086,10 @@ DEFUN ("remove-specifier", Fremove_specifier, 1, 4, 0, /* Remove specification(s) for SPECIFIER. -If LOCALE is a particular locale (a buffer, window, frame, device, +If LOCALE is a particular locale (a window, buffer, frame, device, or 'global), the specification for that locale will be removed. -If instead, LOCALE is a locale type (i.e. 'buffer, 'window, 'frame, +If instead, LOCALE is a locale type (i.e. 'window, 'buffer, 'frame, or 'device), the specifications for all locales of that type will be removed. @@ -2481,14 +2481,14 @@ } try_again: - /* First see if we can generate one from the buffer specifiers. */ + /* First see if we can generate one from the window specifiers. */ + if (!NILP (window)) + CHECK_INSTANCE_ENTRY (window, matchspec, LOCALE_WINDOW); + + /* Next see if we can generate one from the buffer specifiers. */ if (!NILP (buffer)) CHECK_INSTANCE_ENTRY (buffer, matchspec, LOCALE_BUFFER); - /* Next see if we can generate one from the window specifiers. */ - if (!NILP (window)) - CHECK_INSTANCE_ENTRY (window, matchspec, LOCALE_WINDOW); - /* Next see if we can generate one from the frame specifiers. */ if (!NILP (frame)) CHECK_INSTANCE_ENTRY (frame, matchspec, LOCALE_FRAME); @@ -2550,8 +2550,8 @@ to general. In most cases, the domain is an Emacs window. In that case specifications are searched for as follows: -1. A specification whose locale is the window's buffer; -2. A specification whose locale is the window itself; +1. A specification whose locale is the window itself; +2. A specification whose locale is the window's buffer; 3. A specification whose locale is the window's frame; 4. A specification whose locale is the window's frame's device; 5. A specification whose locale is 'global.
--- a/src/symbols.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/symbols.c Mon Aug 13 10:34:13 2007 +0200 @@ -533,6 +533,7 @@ case SYMVAL_CONST_CURRENT_BUFFER_FORWARD: case SYMVAL_CONST_SELECTED_CONSOLE_FORWARD: return 1; + default: break; /* Warning suppression */ } /* We don't return true for keywords here because they are handled @@ -589,6 +590,7 @@ but I don't want to consider that right now. */ case SYMVAL_SELECTED_CONSOLE_FORWARD: goto not_ok; + default: break; /* Warning suppression */ } return; @@ -715,8 +717,9 @@ the user level, so there is no loss of generality. If a symbol is "unbound", then the contents of its value cell is - Qunbound. Despite appearances, this is *not* a symbol, but is - a symbol-value-forward object. + Qunbound. Despite appearances, this is *not* a symbol, but is a + symbol-value-forward object. This is so that printing it results + in "INTERNAL EMACS BUG", in case it leaks to Lisp, somehow. Logically all of the following objects are "symbol-value-magic" objects, and there are some games played w.r.t. this (#### this @@ -889,8 +892,7 @@ a symbol-value-buffer-local object, and most of the low-level functions below do not accept them; you need to call follow_varalias_pointers to get the actual - symbol to operate on. - */ + symbol to operate on. */ static Lisp_Object mark_symbol_value_buffer_local (Lisp_Object obj,
--- a/src/symsinit.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/symsinit.h Mon Aug 13 10:34:13 2007 +0200 @@ -159,6 +159,7 @@ void console_type_create_redisplay_x (void); void console_type_create_scrollbar_x (void); void console_type_create_toolbar_x (void); +void console_type_create_dialog_x (void); void console_type_create_mswindows (void); void console_type_create_device_mswindows (void); void console_type_create_frame_mswindows (void); @@ -168,6 +169,7 @@ void console_type_create_scrollbar_mswindows (void); void console_type_create_toolbar_mswindows (void); void console_type_create_glyphs_mswindows (void); +void console_type_create_dialog_mswindows (void); /* Initialize the specifier types (dump-time only). */ @@ -232,6 +234,7 @@ void vars_of_dialog_x (void); void vars_of_dired (void); void vars_of_doc (void); +void vars_of_dragdrop (void); void vars_of_editfns (void); void vars_of_elhash (void); void vars_of_emacs (void);
--- a/src/sysdep.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 10:34:13 2007 +0200 @@ -475,14 +475,17 @@ s.main.c_iflag &= ~BRKINT; #endif /* AIX */ #ifdef SIGNALS_VIA_CHARACTERS - /* the QUIT and INTR character are used in process_send_signal + /* TTY `special characters' are used in process_send_signal so set them here to something useful. */ s.main.c_cc[VQUIT] = '\\'&037; /* Control-\ */ s.main.c_cc[VINTR] = 'C' &037; /* Control-C */ + s.main.c_cc[VSUSP] = 'Z' &037; /* Control-Z */ #else /* no TIOCGPGRP or no TIOCGLTC or no TIOCGETC */ - /* QUIT and INTR work better as signals, so disable character forms */ + /* TTY `special characters' work better as signals, so disable + character forms */ s.main.c_cc[VQUIT] = CDISABLE; s.main.c_cc[VINTR] = CDISABLE; + s.main.c_cc[VSUSP] = CDISABLE; s.main.c_lflag &= ~ISIG; #endif /* no TIOCGPGRP or no TIOCGLTC or no TIOCGETC */ s.main.c_cc[VEOL] = CDISABLE;
--- a/src/sysdep.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/sysdep.h Mon Aug 13 10:34:13 2007 +0200 @@ -172,4 +172,8 @@ extern int h_errno; #endif +#ifdef HAVE_REALPATH +#define xrealpath realpath +#endif + #endif /* _XEMACS_SYSDEP_H_ */
--- a/src/syssignal.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/syssignal.h Mon Aug 13 10:34:13 2007 +0200 @@ -48,12 +48,19 @@ /* SIGPOLL is the SVR4 signal. Those systems generally define SIGIO as an alias for SIGPOLL, but just in case ... */ -#if !defined (SIGIO) && defined (SIGPOLL) -# define SIGIO SIGPOLL -#endif - #if defined (BROKEN_SIGIO) -# undef SIGIO +# if defined (SIGIO) && defined (SIGPOLL) +# if SIGIO == SIGPOLL +# undef SIGIO +# undef SIGPOLL +# else +# undef SIGIO +# endif +# endif +#else /* Not BROKEN_SIGIO */ +# if !defined (SIGIO) && defined (SIGPOLL) +# define SIGIO SIGPOLL +# endif #endif /* Define SIGCHLD as an alias for SIGCLD. There are many conditionals @@ -131,7 +138,7 @@ sigsuspend (&_mask); \ } while (0) #define EMACS_REESTABLISH_SIGNAL(sig, handler) - + #elif defined (HAVE_SIGBLOCK) /* The older BSD way (signal/sigvec, sigblock, sigsetmask, sigpause) */
--- a/src/toolbar-msw.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/toolbar-msw.c Mon Aug 13 10:34:13 2007 +0200 @@ -155,12 +155,14 @@ /* set button sizes based on bar size */ if (vert) { - width = height = bar_width; + width = height = bar_width + - (window_frame_width + shadow_thickness) * 2; bmwidth = bmheight = width - (border_width + shadow_thickness) * 2; } else { - height = width = bar_height - window_frame_width * 2; + height = width = bar_height + - (window_frame_width + shadow_thickness) * 2; bmwidth = bmheight = width - (border_width + shadow_thickness) * 2; } @@ -336,13 +338,16 @@ /* vertical toolbars need more rows */ if (vert) { + RECT tmp; SendMessage (toolbarwnd, TB_SETROWS, - MAKEWPARAM(nbuttons, FALSE), 0); + MAKEWPARAM(nbuttons, FALSE), (LPARAM)&tmp); } else { - SendMessage (toolbarwnd, TB_SETROWS, MAKEWPARAM(1, FALSE), 0); + RECT tmp; + SendMessage (toolbarwnd, TB_SETROWS, MAKEWPARAM(1, FALSE), + (LPARAM)&tmp); } /* finally populate with images */
--- a/src/toolbar.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/toolbar.c Mon Aug 13 10:34:13 2007 +0200 @@ -777,6 +777,16 @@ || !EQ (FRAME_TOOLBAR_BUFFER (f, LEFT_TOOLBAR), buffer) || !EQ (FRAME_TOOLBAR_BUFFER (f, RIGHT_TOOLBAR), buffer))) { + int width, height; + + /* We're not officially "in redisplay", so we still have a chance + to re-layout toolbars and windows. This is done here, because + toolbar is the only thing which currently might necesseritate + this layout, as it is outside any windows */ + pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f), + &width, &height); + change_frame_size (f, height, width, 0); + /* Removed the check for the minibuffer here. We handle this more correctly now by consistently using FRAME_LAST_NONMINIBUF_WINDOW instead of FRAME_SELECTED_WINDOW
--- a/src/undo.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/undo.c Mon Aug 13 10:34:13 2007 +0200 @@ -76,27 +76,28 @@ return (0); if (NILP (last_undo_buffer) || b != XBUFFER (last_undo_buffer)) - { - undo_boundary (b); - XSETBUFFER (last_undo_buffer, b); - } + { + undo_boundary (b); + XSETBUFFER (last_undo_buffer, b); + } /* Allocate a cons cell to be the undo boundary after this command. */ if (hack_pending_boundary && NILP (pending_boundary)) pending_boundary = Fcons (Qnil, Qnil); if (BUF_MODIFF (b) <= BUF_SAVE_MODIFF (b)) - { - /* Record that an unmodified buffer is about to be changed. - Record the file modification date so that when undoing this entry - we can tell whether it is obsolete because the file was saved again. */ - b->undo_list - = Fcons (Fcons (Qt, - Fcons (make_int ((b->modtime >> 16) & 0xffff), - make_int (b->modtime & 0xffff))), - b->undo_list); - } - return (1); + { + /* Record that an unmodified buffer is about to be changed. + Record the file modification date so that when undoing this + entry we can tell whether it is obsolete because the file was + saved again. */ + b->undo_list + = Fcons (Fcons (Qt, + Fcons (make_int ((b->modtime >> 16) & 0xffff), + make_int (b->modtime & 0xffff))), + b->undo_list); + } + return 1; } @@ -525,7 +526,7 @@ { rotten: signal_simple_continuable_error - ("Something rotten in the state of undo:", next); + ("Something rotten in the state of undo", next); } } arg--;
--- a/src/window.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/window.c Mon Aug 13 10:34:13 2007 +0200 @@ -68,9 +68,21 @@ /* Thickness of shadow border around 3d modelines. */ Lisp_Object Vmodeline_shadow_thickness; +/* Whether vertical dividers are draggable and displayed */ +Lisp_Object Vvertical_divider_draggable_p; + /* Whether a modeline should be displayed. */ Lisp_Object Vhas_modeline_p; +/* Thickness of shadow border around vertical dividers. */ +Lisp_Object Vvertical_divider_shadow_thickness; + +/* Divider surface width (not counting 3-d borders) */ +Lisp_Object Vvertical_divider_line_width; + +/* Spacing between outer egde of divider border and window edge */ +Lisp_Object Vvertical_divider_spacing; + /* Scroll if point lands on the bottom line and that line is partially clipped. */ int scroll_on_clipped_lines; @@ -150,52 +162,12 @@ MARK_DISP_VARIABLE (last_facechange); ((markobj) (window->line_cache_last_updated)); ((markobj) (window->redisplay_end_trigger)); - /* Cached specifiers: */ - ((markobj) (window->display_table)); - ((markobj) (window->has_modeline_p)); - ((markobj) (window->modeline_shadow_thickness)); -#ifdef HAVE_SCROLLBARS - ((markobj) (window->scrollbar_width)); - ((markobj) (window->scrollbar_height)); - ((markobj) (window->horizontal_scrollbar_visible_p)); - ((markobj) (window->vertical_scrollbar_visible_p)); - ((markobj) (window->scrollbar_on_left_p)); - ((markobj) (window->scrollbar_on_top_p)); - ((markobj) (window->scrollbar_pointer)); -#endif /* HAVE_SCROLLBARS */ - ((markobj) (window->left_margin_width)); - ((markobj) (window->right_margin_width)); -#ifdef HAVE_TOOLBARS - ((markobj) (window->toolbar[0])); - ((markobj) (window->toolbar[1])); - ((markobj) (window->toolbar[2])); - ((markobj) (window->toolbar[3])); - ((markobj) (window->toolbar_size[0])); - ((markobj) (window->toolbar_size[1])); - ((markobj) (window->toolbar_size[2])); - ((markobj) (window->toolbar_size[3])); - ((markobj) (window->toolbar_visible_p[0])); - ((markobj) (window->toolbar_visible_p[1])); - ((markobj) (window->toolbar_visible_p[2])); - ((markobj) (window->toolbar_visible_p[3])); - ((markobj) (window->toolbar_buttons_captioned_p)); - ((markobj) (window->default_toolbar)); - ((markobj) (window->default_toolbar_height)); - ((markobj) (window->default_toolbar_width)); - ((markobj) (window->default_toolbar_visible_p)); -#endif /* HAVE_TOOLBARS */ - ((markobj) (window->minimum_line_ascent)); - ((markobj) (window->minimum_line_descent)); - ((markobj) (window->use_left_overflow)); - ((markobj) (window->use_right_overflow)); -#ifdef HAVE_MENUBARS - ((markobj) (window->menubar_visible_p)); -#endif /* HAVE_MENUBARS */ - ((markobj) (window->text_cursor_visible_p)); - /* End cached specifiers. */ - ((markobj) (window->dedicated)); mark_face_cachels (window->face_cachels, markobj); mark_glyph_cachels (window->glyph_cachels, markobj); + +#define WINDOW_SLOT(slot, compare) ((markobj) (window->slot)) +#include "winslots.h" + return Qnil; } @@ -307,38 +279,10 @@ INIT_DISP_VARIABLE (last_point_y, 0); INIT_DISP_VARIABLE (window_end_pos, 0); p->redisplay_end_trigger = Qnil; - /* cached specifier values: will get set properly later */ - p->display_table = Qnil; - p->has_modeline_p = Qnil; - p->modeline_shadow_thickness = Qnil; -#ifdef HAVE_SCROLLBARS - p->scrollbar_width = Qnil; - p->scrollbar_height = Qnil; - p->horizontal_scrollbar_visible_p = Qnil; - p->vertical_scrollbar_visible_p = Qnil; - p->scrollbar_on_left_p = Qnil; - p->scrollbar_on_top_p = Qnil; -#endif - p->left_margin_width = Qnil; - p->right_margin_width = Qnil; -#ifdef HAVE_TOOLBARS - p->toolbar_size[0] = Qnil; - p->toolbar_size[1] = Qnil; - p->toolbar_size[2] = Qnil; - p->toolbar_size[3] = Qnil; - p->toolbar_buttons_captioned_p = Qnil; -#endif - p->minimum_line_ascent = Qnil; - p->minimum_line_descent = Qnil; - p->use_left_overflow = Qnil; - p->use_right_overflow = Qnil; -#ifdef HAVE_MENUBARS - p->menubar_visible_p = Qnil; -#endif - p->text_cursor_visible_p = Qnil; - /* end cached specifier values. */ - - p->dedicated = Qnil; + +#define WINDOW_SLOT(slot, compare) p->slot = Qnil +#include "winslots.h" + p->windows_changed = 1; p->shadow_thickness_changed = 1; @@ -776,16 +720,86 @@ } int +have_undivided_common_edge (struct window *w_right, void *closure) +{ + struct window *w_left = (struct window *) closure; + return (WINDOW_RIGHT (w_left) == WINDOW_LEFT (w_right) + && WINDOW_TOP (w_left) < WINDOW_BOTTOM (w_right) + && WINDOW_TOP (w_right) < WINDOW_BOTTOM (w_left) +#ifdef HAVE_SCROLLBARS + && (NILP (w_right->scrollbar_on_left_p) + || NILP (w_right->vertical_scrollbar_visible_p) + || ZEROP (w_right->scrollbar_width)) +#endif + ); +} + +static int +window_needs_vertical_divider_1 (struct window *w) +{ + /* Never if we're on the right */ + if (window_is_rightmost (w)) + return 0; + + /* Always if draggable */ + if (!NILP (w->vertical_divider_draggable_p)) + return 1; + +#ifdef HAVE_SCROLLBARS + /* Our right scrollabr is enough to separate us at the right */ + if (NILP (w->scrollbar_on_left_p) + && !NILP (w->vertical_scrollbar_visible_p) + && !ZEROP (w->scrollbar_width)) + return 0; +#endif + + /* Ok. to determine whether we need a divider on the left, we must + check that out right neighbor windows have scrollbars on their + left sides. We mist check all such windows which have common + left edge with our window's right edge. */ + return map_windows (XFRAME (WINDOW_FRAME (w)), + have_undivided_common_edge, (void*)w); +} + +int window_needs_vertical_divider (struct window *w) { -#ifdef HAVE_SCROLLBARS - return (!window_scrollbar_width (w) && - (!NILP (w->scrollbar_on_left_p) ? - !window_is_leftmost (w) : - !window_is_rightmost (w))); -#else - return !window_is_leftmost (w); -#endif /* HAVE_SCROLLBARS */ + if (!w->need_vertical_divider_valid_p) + { + w->need_vertical_divider_p = + window_needs_vertical_divider_1 (w); + w->need_vertical_divider_valid_p = 1; + } + return w->need_vertical_divider_p; +} + +/* Called from invalidate_vertical_divider_cache_in_frame */ +int +invalidate_vertical_divider_cache_in_window (struct window *w, + void *u_n_u_s_e_d) +{ + w->need_vertical_divider_valid_p = 0; + return 0; +} + +/* Calculate width of vertical divider, including its shadows + and spacing. The returned value is effectively the distance + between adjacent window edges. This function does not check + whether a windows needs vertival divider, so the returned + value is a "theoretical" one */ +int +window_divider_width (struct window *w) +{ + /* the shadow thickness can be negative. This means that the divider + will have a depressed look */ + + if (FRAME_WIN_P (XFRAME (WINDOW_FRAME (w)))) + return + XINT (w->vertical_divider_line_width) + + 2 * XINT (w->vertical_divider_spacing) + + 2 * abs (XINT (w->vertical_divider_shadow_thickness)); + else + return XINT (w->vertical_divider_line_width) == 0 ? 0 : 1; } int @@ -1033,72 +1047,40 @@ return other_height; } -static int -window_left_right_gutter_width_internal (struct window *w, int modeline) -{ - struct frame *f = XFRAME (w->frame); - int scrollbar_width = window_scrollbar_width (w); - - if (!NILP (w->hchild) || !NILP (w->vchild)) - return 0; - - if (!modeline) - { - if (scrollbar_width) - return scrollbar_width; - else if (window_needs_vertical_divider (w)) - return FRAMEMETH (f, divider_width, ()); - else - return 0; - } - else - { - /* The shadows on the 3D modelines provide a visual break - between the modelines of horizontally split windows. 2D - modelines need some help, though. */ - if (!EQ (Qzero, w->modeline_shadow_thickness)) - return 0; - else if (window_needs_vertical_divider (w)) - return FRAMEMETH (f, divider_width, ()); - else - return 0; - } -} - int window_left_gutter_width (struct window *w, int modeline) { + int gutter = window_left_toolbar_width (w); + if (!NILP (w->hchild) || !NILP (w->vchild)) return 0; + #ifdef HAVE_SCROLLBARS - if (!NILP (w->scrollbar_on_left_p)) - { + if (!modeline && !NILP (w->scrollbar_on_left_p)) + gutter += window_scrollbar_width (w); #endif - return (window_left_right_gutter_width_internal (w, modeline) + - window_left_toolbar_width (w)); -#ifdef HAVE_SCROLLBARS - } - else - return window_left_toolbar_width (w); -#endif + + return gutter; } int window_right_gutter_width (struct window *w, int modeline) { + int gutter = window_left_toolbar_width (w); + if (!NILP (w->hchild) || !NILP (w->vchild)) return 0; #ifdef HAVE_SCROLLBARS - if (NILP (w->scrollbar_on_left_p)) - { - return (window_left_right_gutter_width_internal (w, modeline) + - window_right_toolbar_width (w)); - } - else + if (!modeline && NILP (w->scrollbar_on_left_p)) + gutter += window_scrollbar_width (w); #endif - return window_right_toolbar_width (w); + + if (window_needs_vertical_divider (w)) + gutter += window_divider_width (w); + + return gutter; } @@ -4379,21 +4361,22 @@ If MAPFUN create or delete windows, the behaviour is undefined. */ -void +int map_windows (struct frame *f, int (*mapfun) (struct window *w, void *closure), void *closure) { if (f) - map_windows_1 (FRAME_ROOT_WINDOW (f), mapfun, closure); + return map_windows_1 (FRAME_ROOT_WINDOW (f), mapfun, closure); else { Lisp_Object frmcons, devcons, concons; FRAME_LOOP_NO_BREAK(frmcons, devcons, concons) { - if (map_windows_1 (FRAME_ROOT_WINDOW (XFRAME (XCAR (frmcons))), - mapfun, closure)) - return; + int v = map_windows_1 (FRAME_ROOT_WINDOW (XFRAME (XCAR (frmcons))), + mapfun, closure); + if (v) + return v; } } } @@ -4407,6 +4390,15 @@ MARK_WINDOWS_CHANGED (w); } +static void +vertical_divider_changed_in_window (Lisp_Object specifier, + struct window *w, + Lisp_Object oldval) +{ + MARK_WINDOWS_CHANGED (w); + MARK_FRAME_WINDOWS_STRUCTURE_CHANGED (XFRAME (WINDOW_FRAME (w))); +} + /* also used in scrollbar.c */ void some_window_value_changed (Lisp_Object specifier, struct window *w, @@ -4543,38 +4535,11 @@ int modeline_hscroll; int parent_index; /* index into saved_windows */ int prev_index; /* index into saved_windows */ - Lisp_Object dedicated; char start_at_line_beg; /* boolean */ - Lisp_Object display_table; - Lisp_Object modeline_shadow_thickness; - Lisp_Object has_modeline_p; -#ifdef HAVE_SCROLLBARS - Lisp_Object scrollbar_width; - Lisp_Object scrollbar_height; - Lisp_Object horizontal_scrollbar_visible_p; - Lisp_Object vertical_scrollbar_visible_p; - Lisp_Object scrollbar_on_left_p; - Lisp_Object scrollbar_on_top_p; - Lisp_Object scrollbar_pointer; -#endif /* HAVE_SCROLLBARS */ -#ifdef HAVE_TOOLBARS - Lisp_Object toolbar[4]; - Lisp_Object toolbar_size[4]; - Lisp_Object toolbar_border_width[4]; - Lisp_Object toolbar_visible_p[4]; - Lisp_Object toolbar_buttons_captioned_p; - Lisp_Object default_toolbar; - Lisp_Object default_toolbar_width, default_toolbar_height; - Lisp_Object default_toolbar_visible_p; - Lisp_Object default_toolbar_border_width; -#endif /* HAVE_TOOLBARS */ - Lisp_Object left_margin_width, right_margin_width; - Lisp_Object minimum_line_ascent, minimum_line_descent; - Lisp_Object use_left_overflow, use_right_overflow; -#ifdef HAVE_MENUBARS - Lisp_Object menubar_visible_p; -#endif /* HAVE_MENUBARS */ - Lisp_Object text_cursor_visible_p; + +#define WINDOW_SLOT_DECLARATION +#define WINDOW_SLOT(slot, compare) Lisp_Object slot +#include "winslots.h" }; /* If you add anything to this structure make sure window_config_equal @@ -4625,7 +4590,16 @@ ((markobj) (s->pointm)); ((markobj) (s->sb_point)); ((markobj) (s->mark)); +#if 0 + /* #### This looked like this. I do not see why specifier cached + values should not be marked, as such specifiers as toolbars + might have GC-able instances. Freed configs are not marked, + aren't they? -- kkm */ ((markobj) (s->dedicated)); +#else +#define WINDOW_SLOT(slot, compare) ((markobj) (s->slot)) +#include "winslots.h" +#endif } return Qnil; } @@ -4671,6 +4645,11 @@ static int saved_window_equal (struct saved_window *win1, struct saved_window *win2) { +#define WINDOW_SLOT(slot, compare) \ + if (!compare (win1->slot, win2->slot)) \ + return 0; +#include "winslots.h" + return EQ (win1->window, win2->window) && EQ (win1->buffer, win2->buffer) && @@ -4686,54 +4665,7 @@ win1->modeline_hscroll == win2->modeline_hscroll && win1->parent_index == win2->parent_index && win1->prev_index == win2->prev_index && - EQ (win1->dedicated, win2->dedicated) && - win1->start_at_line_beg == win2->start_at_line_beg && - internal_equal(win1->display_table, win2->display_table, 0) && - EQ(win1->modeline_shadow_thickness, win2->modeline_shadow_thickness) && - EQ(win1->has_modeline_p, win2->has_modeline_p) && -#ifdef HAVE_SCROLLBARS - EQ(win1->scrollbar_width, win2->scrollbar_width) && - EQ(win1->scrollbar_height, win2->scrollbar_height) && - EQ(win1->horizontal_scrollbar_visible_p, win2->horizontal_scrollbar_visible_p) && - EQ(win1->vertical_scrollbar_visible_p, win2->vertical_scrollbar_visible_p) && - EQ(win1->scrollbar_on_left_p, win2->scrollbar_on_left_p) && - EQ(win1->scrollbar_on_top_p, win2->scrollbar_on_top_p) && - EQ(win1->scrollbar_pointer, win2->scrollbar_pointer) && -#endif /* HAVE_SCROLLBARS */ -#ifdef HAVE_TOOLBARS - internal_equal(win1->toolbar[0], win2->toolbar[0], 0) && - internal_equal(win1->toolbar[1], win2->toolbar[1], 0) && - internal_equal(win1->toolbar[2], win2->toolbar[2], 0) && - internal_equal(win1->toolbar[3], win2->toolbar[3], 0) && - internal_equal(win1->toolbar_border_width[0], win2->toolbar_border_width[0], 0) && - internal_equal(win1->toolbar_border_width[1], win2->toolbar_border_width[1], 0) && - internal_equal(win1->toolbar_border_width[2], win2->toolbar_border_width[2], 0) && - internal_equal(win1->toolbar_border_width[3], win2->toolbar_border_width[3], 0) && - internal_equal(win1->toolbar_size[0], win2->toolbar_size[0], 0) && - internal_equal(win1->toolbar_size[1], win2->toolbar_size[1], 0) && - internal_equal(win1->toolbar_size[2], win2->toolbar_size[2], 0) && - internal_equal(win1->toolbar_size[3], win2->toolbar_size[3], 0) && - internal_equal(win1->toolbar_visible_p[0], win2->toolbar_visible_p[0], 0) && - internal_equal(win1->toolbar_visible_p[1], win2->toolbar_visible_p[1], 0) && - internal_equal(win1->toolbar_visible_p[2], win2->toolbar_visible_p[2], 0) && - internal_equal(win1->toolbar_visible_p[3], win2->toolbar_visible_p[3], 0) && - EQ(win1->toolbar_buttons_captioned_p, win2->toolbar_buttons_captioned_p) && - internal_equal(win1->default_toolbar, win2->default_toolbar, 0) && - EQ(win1->default_toolbar_width, win2->default_toolbar_width) && - EQ(win1->default_toolbar_height, win2->default_toolbar_height) && - EQ(win1->default_toolbar_visible_p, win2->default_toolbar_visible_p) && - EQ(win1->default_toolbar_border_width, win2->default_toolbar_border_width) && -#endif /* HAVE_TOOLBARS */ - EQ(win1->left_margin_width, win2->left_margin_width) && - EQ(win1->right_margin_width, win2->right_margin_width) && - EQ(win1->minimum_line_ascent, win2->minimum_line_ascent) && - EQ(win1->minimum_line_descent, win2->minimum_line_descent) && - EQ(win1->use_left_overflow, win2->use_left_overflow) && - EQ(win1->use_right_overflow, win2->use_right_overflow) && -#ifdef HAVE_MENUBARS - EQ(win1->menubar_visible_p, win2->menubar_visible_p) && -#endif /* HAVE_MENUBARS */ - EQ(win1->text_cursor_visible_p, win2->text_cursor_visible_p); + win1->start_at_line_beg == win2->start_at_line_beg; } /* Returns a boolean indicating whether the two given configurations @@ -5011,52 +4943,14 @@ WINDOW_HEIGHT (w) = WINDOW_HEIGHT (p); w->hscroll = p->hscroll; w->modeline_hscroll = p->modeline_hscroll; - w->display_table = p->display_table; - w->modeline_shadow_thickness = p->modeline_shadow_thickness; - w->has_modeline_p = p->has_modeline_p; -#ifdef HAVE_SCROLLBARS - w->scrollbar_width = p->scrollbar_width; - w->scrollbar_height = p->scrollbar_height; - w->horizontal_scrollbar_visible_p = p->horizontal_scrollbar_visible_p; - w->vertical_scrollbar_visible_p = p->vertical_scrollbar_visible_p; - w->scrollbar_on_left_p = p->scrollbar_on_left_p; - w->scrollbar_on_top_p = p->scrollbar_on_top_p; - w->scrollbar_pointer = p->scrollbar_pointer; -#endif /* HAVE_SCROLLBARS */ -#ifdef HAVE_TOOLBARS - { - int ix; - for (ix = 0; ix < 4; ix++) - { - w->toolbar[ix] = p->toolbar[ix]; - w->toolbar_size[ix] = p->toolbar_size[ix]; - w->toolbar_border_width[ix] = p->toolbar_border_width[ix]; - w->toolbar_visible_p[ix] = p->toolbar_visible_p[ix]; - } - } - w->toolbar_buttons_captioned_p = p->toolbar_buttons_captioned_p; - w->default_toolbar = p->default_toolbar; - w->default_toolbar_width = p->default_toolbar_width; - w->default_toolbar_height = p->default_toolbar_height; - w->default_toolbar_visible_p = p->default_toolbar_visible_p; - w->default_toolbar_border_width = p->default_toolbar_border_width; -#endif /* HAVE_TOOLBARS */ - w->left_margin_width = p->left_margin_width; - w->right_margin_width = p->right_margin_width; - w->minimum_line_ascent = p->minimum_line_ascent; - w->minimum_line_descent = p->minimum_line_descent; - w->use_left_overflow = p->use_left_overflow; - w->use_right_overflow = p->use_right_overflow; -#ifdef HAVE_MENUBARS - w->menubar_visible_p = p->menubar_visible_p; -#endif /* HAVE_MENUBARS */ - w->text_cursor_visible_p = p->text_cursor_visible_p; - w->dedicated = p->dedicated; w->line_cache_last_updated = Qzero; SET_LAST_MODIFIED (w, 1); SET_LAST_FACECHANGE (w); w->config_mark = 0; +#define WINDOW_SLOT(slot, compare) w->slot = p->slot; +#include "winslots.h" + /* Reinstall the saved buffer and pointers into it. */ if (NILP (p->buffer)) w->buffer = p->buffer; @@ -5277,46 +5171,9 @@ WINDOW_HEIGHT (p) = WINDOW_HEIGHT (w); p->hscroll = w->hscroll; p->modeline_hscroll = w->modeline_hscroll; - p->display_table = w->display_table; - p->modeline_shadow_thickness = w->modeline_shadow_thickness; - p->has_modeline_p = w->has_modeline_p; -#ifdef HAVE_SCROLLBARS - p->scrollbar_width = w->scrollbar_width; - p->scrollbar_height = w->scrollbar_height; - p->horizontal_scrollbar_visible_p = w->horizontal_scrollbar_visible_p; - p->vertical_scrollbar_visible_p = w->vertical_scrollbar_visible_p; - p->scrollbar_on_left_p = w->scrollbar_on_left_p; - p->scrollbar_on_top_p = w->scrollbar_on_top_p; - p->scrollbar_pointer = w->scrollbar_pointer; -#endif /* HAVE_SCROLLBARS */ -#ifdef HAVE_TOOLBARS - { - int ix; - for (ix = 0; ix < 4; ix++) - { - p->toolbar[ix] = w->toolbar[ix]; - p->toolbar_size[ix] = w->toolbar_size[ix]; - p->toolbar_border_width[ix] = w->toolbar_border_width[ix]; - p->toolbar_visible_p[ix] = w->toolbar_visible_p[ix]; - } - } - p->toolbar_buttons_captioned_p = w->toolbar_buttons_captioned_p; - p->default_toolbar = w->default_toolbar; - p->default_toolbar_width = w->default_toolbar_width; - p->default_toolbar_height = w->default_toolbar_height; - p->default_toolbar_visible_p = w->default_toolbar_visible_p; - p->default_toolbar_border_width = w->default_toolbar_border_width; -#endif /* HAVE_TOOLBARS */ - p->left_margin_width = w->left_margin_width; - p->right_margin_width = w->right_margin_width; - p->minimum_line_ascent = w->minimum_line_ascent; - p->minimum_line_descent = w->minimum_line_descent; - p->use_left_overflow = w->use_left_overflow; - p->use_right_overflow = w->use_right_overflow; -#ifdef HAVE_MENUBARS - p->menubar_visible_p = w->menubar_visible_p; -#endif /* HAVE_MENUBARS */ - p->text_cursor_visible_p = w->text_cursor_visible_p; + +#define WINDOW_SLOT(slot, compare) p->slot = w->slot; +#include "winslots.h" if (!NILP (w->buffer)) { @@ -5356,7 +5213,6 @@ p->prev_index = -1; else p->prev_index = saved_window_index (w->prev, config, i); - p->dedicated = w->dedicated; if (!NILP (w->vchild)) i = save_window_save (w->vchild, config, i); if (!NILP (w->hchild)) @@ -5674,7 +5530,7 @@ modeline_shadow_thickness), modeline_shadow_thickness_changed, 0, 0); - + DEFVAR_SPECIFIER ("has-modeline-p", &Vhas_modeline_p /* *Whether the modeline should be displayed. This is a specifier; use `set-specifier' to change it. @@ -5691,4 +5547,97 @@ the modeline has been turned off or on. */ some_window_value_changed, 0, 0); + + DEFVAR_SPECIFIER ("vertical-divider-draggable-p", &Vvertical_divider_draggable_p /* +*Should XEmacs allow resizing windows by dragging vertical dividers. +When t, vertical dividers are always shown, and are draggable. +When nil, vertical dividers are shown only when there are no scrollbars +in between windows, and not draggable. +This is a specifier; use `set-specifier' to change it. +*/ ); + Vvertical_divider_draggable_p = Fmake_specifier (Qboolean); + set_specifier_fallback (Vvertical_divider_draggable_p, + list1 (Fcons (Qnil, Qt))); + set_specifier_caching (Vvertical_divider_draggable_p, + slot_offset (struct window, + vertical_divider_draggable_p), + vertical_divider_changed_in_window, + 0, 0); + + DEFVAR_SPECIFIER ("vertical-divider-shadow-thickness", &Vvertical_divider_shadow_thickness /* +*How thick to draw shadows around the vertical dividers. +This is a specifier; use `set-specifier' to change it. +*/ ); + Vvertical_divider_shadow_thickness = Fmake_specifier (Qinteger); + set_specifier_fallback (Vvertical_divider_shadow_thickness, + list1 (Fcons (Qnil, Qzero))); + Fadd_spec_to_specifier (Vvertical_divider_shadow_thickness, make_int (2), + Qnil, Qnil, Qnil); + set_specifier_caching (Vvertical_divider_shadow_thickness, + slot_offset (struct window, + vertical_divider_shadow_thickness), + vertical_divider_changed_in_window, + 0, 0); + DEFVAR_SPECIFIER ("vertical-divider-line-width", &Vvertical_divider_line_width /* +*The width of the vertical dividers, not including shadows. + +For TTY windows, divider line is always one character wide. When +instance of this specifier is zero in a TTY window, no divider is +drawn at all between windows. When non-zero, one character wide +divider is displayed. + +*Whether the modeline should be displayed. +This is a specifier; use `set-specifier' to change it. +*/ ); + + Vvertical_divider_line_width = Fmake_specifier (Qnatnum); + { + Lisp_Object fb = Qnil; +#ifdef HAVE_TTY + fb = Fcons (Fcons (list1 (Qtty), Qzero), fb); +#endif +#ifdef HAVE_X_WINDOWS + fb = Fcons (Fcons (list1 (Qx), make_int (3)), fb); +#endif +#ifdef HAVE_MS_WINDOWS + /* #### This should be made magic and made to obey system settings */ + fb = Fcons (Fcons (list1 (Qmswindows), make_int (3)), fb); +#endif + set_specifier_fallback (Vvertical_divider_line_width, fb); + } + set_specifier_caching (Vvertical_divider_line_width, + slot_offset (struct window, + vertical_divider_line_width), + vertical_divider_changed_in_window, + 0, 0); + + DEFVAR_SPECIFIER ("vertical-divider-spacing", &Vvertical_divider_spacing /* +*How much space to leave around the vertical dividers. + +In TTY windows, spacing is always zero, and the value of this +specifier is ignored. + +This is a specifier; use `set-specifier' to change it. +*/ ); + Vvertical_divider_spacing = Fmake_specifier (Qnatnum); + { + Lisp_Object fb = Qnil; +#ifdef HAVE_TTY + fb = Fcons (Fcons (list1 (Qtty), Qzero), fb); +#endif +#ifdef HAVE_X_WINDOWS + /* #### 3D dividers look great on MS Windows with spacing = 0. + Shoud not the same value be the fallback under X? - kkm */ + fb = Fcons (Fcons (list1 (Qx), make_int (2)), fb); +#endif +#ifdef HAVE_MS_WINDOWS + fb = Fcons (Fcons (list1 (Qmswindows), Qzero), fb); +#endif + set_specifier_fallback (Vvertical_divider_spacing, fb); + } + set_specifier_caching (Vvertical_divider_spacing, + slot_offset (struct window, + vertical_divider_spacing), + vertical_divider_changed_in_window, + 0, 0); }
--- a/src/window.h Mon Aug 13 10:33:19 2007 +0200 +++ b/src/window.h Mon Aug 13 10:34:13 2007 +0200 @@ -164,14 +164,6 @@ /* need one for each set of display structures */ int window_end_pos[3]; - /* Non-nil means window is marked as dedicated. */ - Lisp_Object dedicated; - -#if 0 /* FSFmacs */ - /* The column number currently displayed in this window's mode line, - or nil if column numbers are not being displayed. */ - Lisp_Object column_number_displayed; -#endif /* If redisplay in this window goes beyond this buffer position, must run the redisplay-end-trigger-functions. */ Lisp_Object redisplay_end_trigger; @@ -180,57 +172,9 @@ to implement the redisplay-end-trigger-functions. */ Bufpos last_redisplay_pos; - /* specifier values cached in the struct window: */ - - /* Display-table to use for displaying chars in this window. */ - Lisp_Object display_table; - /* Thickness of modeline shadow, in pixels. If negative, draw - as recessed. */ - Lisp_Object modeline_shadow_thickness; - /* Non-nil means to display a modeline for the buffer. */ - Lisp_Object has_modeline_p; -#ifdef HAVE_SCROLLBARS - /* Width of vertical scrollbars. */ - Lisp_Object scrollbar_width; - /* Height of horizontal scrollbars. */ - Lisp_Object scrollbar_height; - /* Whether the scrollbars are visible */ - Lisp_Object horizontal_scrollbar_visible_p; - Lisp_Object vertical_scrollbar_visible_p; - /* Scrollbar positions */ - Lisp_Object scrollbar_on_left_p; - Lisp_Object scrollbar_on_top_p; - /* Pointer to use for vertical and horizontal scrollbars. */ - Lisp_Object scrollbar_pointer; -#endif /* HAVE_SCROLLBARS */ -#ifdef HAVE_TOOLBARS - /* Toolbar specification for each of the four positions. - This is not a size hog because the value here is not copied, - and will be shared with the specs in the specifier. */ - Lisp_Object toolbar[4]; - /* Toolbar size for each of the four positions. */ - Lisp_Object toolbar_size[4]; - /* Toolbar border width for each of the four positions. */ - Lisp_Object toolbar_border_width[4]; - /* Toolbar visibility status for each of the four positions. */ - Lisp_Object toolbar_visible_p[4]; - /* Caption status of toolbar. */ - Lisp_Object toolbar_buttons_captioned_p; - /* The following five don't really need to be cached except - that we need to know when they've changed. */ - Lisp_Object default_toolbar; - Lisp_Object default_toolbar_width, default_toolbar_height; - Lisp_Object default_toolbar_visible_p; - Lisp_Object default_toolbar_border_width; -#endif /* HAVE_TOOLBARS */ - Lisp_Object left_margin_width, right_margin_width; - Lisp_Object minimum_line_ascent, minimum_line_descent; - Lisp_Object use_left_overflow, use_right_overflow; -#ifdef HAVE_MENUBARS - /* Visibility of menubar. */ - Lisp_Object menubar_visible_p; -#endif /* HAVE_MENUBARS */ - Lisp_Object text_cursor_visible_p; +#define WINDOW_SLOT_DECLARATION +#define WINDOW_SLOT(slot, compare) Lisp_Object slot +#include "winslots.h" /* one-bit flags: */ @@ -249,6 +193,9 @@ /* new redisplay flag */ unsigned int windows_changed :1; unsigned int shadow_thickness_changed :1; + /* Vertical divider flag and validity of it */ + unsigned int need_vertical_divider_p :1; + unsigned int need_vertical_divider_valid_p :1; }; #define CURRENT_DISP 0 @@ -409,11 +356,14 @@ void set_window_display_buffer (struct window *w, struct buffer *b); void update_frame_window_mirror (struct frame *f); -void map_windows (struct frame *f, - int (*mapfun) (struct window *w, void *closure), - void *closure); +int map_windows (struct frame *f, + int (*mapfun) (struct window *w, void *closure), + void *closure); void some_window_value_changed (Lisp_Object specifier, struct window *w, Lisp_Object oldval); +int invalidate_vertical_divider_cache_in_window (struct window *w, + void *u_n_u_s_e_d); +int window_divider_width (struct window *w); #define WINDOW_FRAME(w) ((w)->frame) #define WINDOW_BUFFER(w) ((w)->buffer)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/winslots.h Mon Aug 13 10:34:13 2007 +0200 @@ -0,0 +1,116 @@ +/* Definitions of marked slots in windows and window configs + Copyright (C) 1985, 1986, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. + Copyright (C) 1995, 1996 Ben Wing. + Copyright (C) 1996 Chuck Thompson. + +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. */ + +/* Split out of window.h and window.c + by Kirill Katsnelson <kkm@kis.ru>, May 1998 */ + +#ifdef WINDOW_SLOT_DECLARATION +#define WINDOW_SLOT_ARRAY(slot, size, compare) WINDOW_SLOT(slot[size], compare) +#else +#define WINDOW_SLOT_ARRAY(slot, size, compare) do { \ + int i; \ + for (i = 0; i < size; i++) \ + { \ + WINDOW_SLOT (slot[i], compare); \ + } \ + } while (0); +#endif + +#define EQUAL_WRAPPED(x,y) internal_equal ((x), (y), 0) + + /*** Non-specifier vars of window and window config ***/ + + /* Non-nil means window is marked as dedicated. */ + WINDOW_SLOT (dedicated, EQ); + + /*** specifier values cached in the struct window ***/ + + /* Display-table to use for displaying chars in this window. */ + WINDOW_SLOT (display_table, EQUAL_WRAPPED); + /* Thickness of modeline shadow, in pixels. If negative, draw + as recessed. */ + WINDOW_SLOT (modeline_shadow_thickness, EQ); + /* Non-nil means to display a modeline for the buffer. */ + WINDOW_SLOT (has_modeline_p, EQ); + /* Thickness of vertical divider shadow, in pixels. If negative, draw as + recessed. */ + WINDOW_SLOT (vertical_divider_shadow_thickness, EQ); + /* Divider surface width (not counting 3-d borders) */ + WINDOW_SLOT (vertical_divider_line_width, EQ); + /* Spacing between outer egde of divider border and window edge */ + WINDOW_SLOT (vertical_divider_spacing, EQ); + /* Whether vertical dividers are draggable and displayed */ + WINDOW_SLOT (vertical_divider_draggable_p, EQ); + +#ifdef HAVE_SCROLLBARS + /* Width of vertical scrollbars. */ + WINDOW_SLOT (scrollbar_width, EQ); + /* Height of horizontal scrollbars. */ + WINDOW_SLOT (scrollbar_height, EQ); + /* Whether the scrollbars are visible */ + WINDOW_SLOT (horizontal_scrollbar_visible_p, EQ); + WINDOW_SLOT (vertical_scrollbar_visible_p, EQ); + /* Scrollbar positions */ + WINDOW_SLOT (scrollbar_on_left_p, EQ); + WINDOW_SLOT (scrollbar_on_top_p, EQ); + /* Pointer to use for vertical and horizontal scrollbars. */ + WINDOW_SLOT (scrollbar_pointer, EQ); +#endif /* HAVE_SCROLLBARS */ +#ifdef HAVE_TOOLBARS + /* Toolbar specification for each of the four positions. + This is not a size hog because the value here is not copied, + and will be shared with the specs in the specifier. */ + WINDOW_SLOT_ARRAY (toolbar, 4, EQUAL_WRAPPED); + /* Toolbar size for each of the four positions. */ + WINDOW_SLOT_ARRAY (toolbar_size, 4, EQUAL_WRAPPED); + /* Toolbar border width for each of the four positions. */ + WINDOW_SLOT_ARRAY (toolbar_border_width, 4, EQUAL_WRAPPED); + /* Toolbar visibility status for each of the four positions. */ + WINDOW_SLOT_ARRAY (toolbar_visible_p, 4, EQUAL_WRAPPED); + /* Caption status of toolbar. */ + WINDOW_SLOT (toolbar_buttons_captioned_p, EQ); + /* The following five don't really need to be cached except + that we need to know when they've changed. */ + WINDOW_SLOT (default_toolbar, EQUAL_WRAPPED); + WINDOW_SLOT (default_toolbar_width, EQ); + WINDOW_SLOT (default_toolbar_height, EQ); + WINDOW_SLOT (default_toolbar_visible_p, EQ); + WINDOW_SLOT (default_toolbar_border_width, EQ); +#endif /* HAVE_TOOLBARS */ + WINDOW_SLOT (left_margin_width, EQ); + WINDOW_SLOT (right_margin_width, EQ); + WINDOW_SLOT (minimum_line_ascent, EQ); + WINDOW_SLOT (minimum_line_descent, EQ); + WINDOW_SLOT (use_left_overflow, EQ); + WINDOW_SLOT (use_right_overflow, EQ); +#ifdef HAVE_MENUBARS + /* Visibility of menubar. */ + WINDOW_SLOT (menubar_visible_p, EQ); +#endif /* HAVE_MENUBARS */ + WINDOW_SLOT (text_cursor_visible_p, EQ); + + /* Hara-kiri */ +#undef EQUAL_WRAPPED +#undef WINDOW_SLOT_DECLARATION +#undef WINDOW_SLOT +#undef WINDOW_SLOT_ARRAY
--- a/src/xgccache.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/xgccache.c Mon Aug 13 10:34:13 2007 +0200 @@ -266,7 +266,7 @@ } -#if 1 +#ifdef DEBUG_XEMACS #include <stdio.h> @@ -327,4 +327,4 @@ stderr_out ("\nERROR! count should be %d\n\n", cache->size); } -#endif +#endif /* DEBUG_XEMACS */
--- a/src/xselect.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/xselect.c Mon Aug 13 10:34:13 2007 +0200 @@ -1051,7 +1051,6 @@ DEFUN ("x-selection-reply-timeout-internal", Fx_selection_reply_timeout_internal, 1, 1, 0, /* - */ (arg)) {
--- a/tests/Dnd/README Mon Aug 13 10:33:19 2007 +0200 +++ b/tests/Dnd/README Mon Aug 13 10:34:13 2007 +0200 @@ -3,12 +3,12 @@ This path contains test code for the new XEmacs Drag'n'Drop code. -Currently only drags are of interest. The internal -functions only work for OffiX. MSWindows and CDE -are broken with this patch. +Currently only drops are of interest. The internal +functions only work for OffiX and MSWindows. CDE +is broken with this. The OffiX functions in mouse.el also work no longer, -because drags are now misc-user-events. +because drops are now misc-user-events. The misc-user-event now also responds as a button-x-event to the event-* query functions. @@ -19,7 +19,8 @@ current-mouse-event variable. dragtest.el works theoretically, but it needs to be -adapted to some new scheme fitting the drop code. +adapted to some new scheme fitting the drop code (droptest.el +has it's own dragsources). Short description of the object part of a drop misc-user-event: ( TYPE . DATA ) @@ -30,12 +31,10 @@ if TYPE is dragdrop_MIME DATA is either a string which contains the MIME data, or it is a list of ( CONTENT-TYPE CONTENT-ENCODING MIME-DATA ) + CONTENT-TYPE is encoded for tm-view (list, first element type, + rest key.value conses) + CONTENT-ENCODING is a string + MIME-DATA is a string - For DATA I am thinking of some different scheme: - perhaps it would be more efficient to split the - MIME data into header and body, make a plist from - the header (for easy access), pre-convert the body - to 8bit, and also attach the original data. - This would make the access easier, but it would - require that I do a lot of MIME stuff in C, a thing - that tm-mime-view already does for us. + CONTENT-TYPE and -ENCODING can be directly supplied to mime/viewer-mode. +
--- a/tests/Dnd/droptest.el Mon Aug 13 10:33:19 2007 +0200 +++ b/tests/Dnd/droptest.el Mon Aug 13 10:34:13 2007 +0200 @@ -2,24 +2,21 @@ ;; combination with extents. ;; -(defun dnd-drop-somewhere (object) - (message "Dropped somewhere else with :%s" object) +(defun dnd-drop-message (event object text) + (message "Dropped %s with :%s" text object) t) -(defun do-nothing (object) +(defun do-nothing (event object) nil) -(defun dnd-target1 (object) - (message "Drop on target1 with: %s" object) - t) - -(defun dnd-target2 (object) - (message "Drop on target2 with: %s" object) - t) - -(defun dnd-target3 (object) - (message "Drop on target3 with: %s" object) - t) +(defun start-drag (event what &optional typ) + (cond ((featurep 'offix) + (if (numberp typ) + (offix-start-drag event what typ) + (offix-start-drag event what))) + ((featurep 'cde) + (funcall (intern "cde-start-drag-internal") what)) + (t display-message 'error "no valid drag protocols implemented"))) (defun make-drop-targets () (let ((buf (get-buffer-create "*DND misc-user extent test buffer*")) @@ -31,21 +28,28 @@ (insert "[ DROP TARGET 1]") (setq e (point)) (setq ext (make-extent s e)) - (set-extent-property ext 'dragdrop-drop-functions '(do-nothing dnd-target1)) + (set-extent-property ext + 'dragdrop-drop-functions + '((do-nothing t t) + (dnd-drop-message t t "on target 1"))) (set-extent-property ext 'mouse-face 'highlight) (insert " ") (setq s (point)) (insert "[ DROP TARGET 2]") (setq e (point)) (setq ext (make-extent s e)) - (set-extent-property ext 'dragdrop-drop-functions '(dnd-target2)) + (set-extent-property ext + 'dragdrop-drop-functions + '((dnd-drop-message t t "on target 2"))) (set-extent-property ext 'mouse-face 'highlight) (insert " ") (setq s (point)) (insert "[ DROP TARGET 3]") (setq e (point)) (setq ext (make-extent s e)) - (set-extent-property ext 'dragdrop-drop-functions '(dnd-target3)) + (set-extent-property ext + 'dragdrop-drop-functions + '((dnd-drop-message t t "on target 3"))) (set-extent-property ext 'mouse-face 'highlight) (newline 2))) @@ -99,20 +103,23 @@ (defun text-drag (event) (interactive "@e") - (offix-start-drag event "That's a test")) + (start-drag event "That's a test")) (defun file-drag (event) (interactive "@e") - (offix-start-drag event "/tmp/printcap" 2)) + (start-drag event "/tmp/printcap" 2)) (defun url-drag (event) (interactive "@e") - (offix-start-drag event "http://www.xemacs.org/" 8)) + (start-drag event "http://www.xemacs.org/" 8)) (defun files-drag (event) (interactive "@e") - (offix-start-drag event '("/tmp/dragtest" "/tmp/droptest" "/tmp/printcap") 3)) + (start-drag event '("/tmp/dragtest" "/tmp/droptest" "/tmp/printcap") 3)) -(setq dragdrop-drop-functions '(do-nothing dnd-drop-somewhere do-nothing)) +(setq dragdrop-drop-functions '((do-nothing t t) + (dnd-drop-message 2 t "region somewhere else") + (dnd-drop-message 1 t "drag-source somewhere else") + (do-nothing t t))) (make-drag-starters) (make-drop-targets)
--- a/version.sh Mon Aug 13 10:33:19 2007 +0200 +++ b/version.sh Mon Aug 13 10:34:13 2007 +0200 @@ -1,8 +1,8 @@ #!/bin/sh emacs_major_version=21 emacs_minor_version=0 -emacs_beta_version=39 -xemacs_codename="Russian White" +emacs_beta_version=40 +xemacs_codename="Saanen" infodock_major_version=3 infodock_minor_version=90 -infodock_build_version=6 +infodock_build_version=7