# HG changeset patch # User cvs # Date 1186991539 -7200 # Node ID 9ad43877534d2d96306d80cc90c7c5b350a335fe # Parent e703507b8a005bdd9c5b25b6d1c78f192350d1be Import from CVS: tag r20-3b16 diff -r e703507b8a00 -r 9ad43877534d CHANGES-beta --- a/CHANGES-beta Mon Aug 13 09:51:18 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 09:52:19 2007 +0200 @@ -1,4 +1,14 @@ -*- indented-text -*- +to 20.3 beta16 "Budapest" +-- New lisp finding functions courtesy of Jens Petersen + New keybindings: C-c f -- find-function + C-x 4 F -- find-function-other-window + C-x 5 F -- find-function-other-frame +-- vhdl-mode.el-2.74 Courtesy of Rod Whitby +-- Custom-1.9953 +-- OffiX DnD extensions courtesy of Oliver Graf +-- Miscellaneous bug fixes + to 20.3 beta15 "Berlin" -- cc-mode-5.14 -- hm--html-menus-5.8 diff -r e703507b8a00 -r 9ad43877534d ChangeLog --- a/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,22 @@ +1997-07-31 SL Baur + + * XEmacs 20.3-beta16 is released. + +1997-07-31 Martin Buchholz + + * configure.in: --with-x11=no --> --with-xface=no + * lisp/efs/dired-xemacs.el: Rationalize mouse file functions + * src/input-method-xlib.c: Allow xemacs to connect to kinput2 + * event-Xt.c: Fix crashes when no input context available. + * src/mule-coding.c: Use enum eol_type instead of int consistently + * regex.c: Use (void *) 0 instead of NULL in varargs function calls + * src/s/freebsd.h: Wrap #include X11/Xlocale.h inside #ifndef + NOT_C_CODE + +1997-07-27 SL Baur + + * etc/BETA: Update patching instructions. + 1997-07-26 SL Baur * XEmacs 20.3-beta15 is released. diff -r e703507b8a00 -r 9ad43877534d INSTALL --- a/INSTALL Mon Aug 13 09:51:18 2007 +0200 +++ b/INSTALL Mon Aug 13 09:52:19 2007 +0200 @@ -715,3 +715,5 @@ problems sometimes encountered, and what to do about them. +If all else fails, please see etc/InstallGuide courtesy +of Jonathan Seth Hayward. diff -r e703507b8a00 -r 9ad43877534d configure --- a/configure Mon Aug 13 09:51:18 2007 +0200 +++ b/configure Mon Aug 13 09:52:19 2007 +0200 @@ -303,9 +303,9 @@ --x-includes=DIR Search for X header files in DIR. --x-libraries=DIR Search for X libraries in DIR. --with-toolbars=no Don't compile with any toolbar support. ---with-wm Compile with realized leader window for proper - creation of the ApplicationIcon with the - WindowMaker windowmanager (SESSION MANAGEMENT). +--with-session=no Compile without realized leader window which will + keep the WM_COMMAND property. Required for proper + session-management. (ON by default for testing) --with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid widgets emulate Motif (mostly) but are faster. *WARNING* The Motif menubar is currently broken. @@ -516,7 +516,7 @@ with_jpeg | \ with_png | \ with_tiff | \ - with_wm | \ + with_session | \ with_xmu | \ with_quantify | \ with_toolbars | \ @@ -5505,9 +5505,9 @@ if test "$with_tty" = "no" ; then { echo "configure: error: No window system support and no TTY support - Unable to proceed." 1>&2; exit 1; } fi - for feature in tooltalk cde offix wm \ + for feature in tooltalk cde offix session \ menubars scrollbars toolbars dialogs xim xmu \ - tiff png jpeg gif compface xpm + tiff png jpeg gif xface xpm do if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then echo "configure: warning: --with-$feature ignored: Not valid without X support" 1>&2 @@ -5530,14 +5530,14 @@ test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h" esac -echo "checking for WindowMaker option" 1>&6 -echo "configure:5535: checking for WindowMaker option" >&5; -if test "$with_wm" = "yes"; then +echo "checking for session-management option" 1>&6 +echo "configure:5535: checking for session-management option" >&5; +if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF - Defining HAVE_WINDOWMAKER -EOF -cat >> confdefs.h <<\EOF -#define HAVE_WINDOWMAKER 1 + Defining HAVE_SESSION +EOF +cat >> confdefs.h <<\EOF +#define HAVE_SESSION 1 EOF } @@ -10467,7 +10467,7 @@ test "$with_offix" = yes && echo " Compiling in support for OffiX." test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." test "$with_energize" = yes && echo " Compiling in support for Lucid Energize (doesn't currently work)." -test "$with_wm" = yes && echo " Compiling in support for WindowMaker." +test "$with_session" != no && echo " Compiling in support for proper session-management." case "$with_menubars" in lucid ) echo " Using Lucid menubars." ;; motif ) echo " Using Motif menubars." diff -r e703507b8a00 -r 9ad43877534d configure.in --- a/configure.in Mon Aug 13 09:51:18 2007 +0200 +++ b/configure.in Mon Aug 13 09:52:19 2007 +0200 @@ -418,9 +418,9 @@ --x-includes=DIR Search for X header files in DIR. --x-libraries=DIR Search for X libraries in DIR. --with-toolbars=no Don't compile with any toolbar support. ---with-wm Compile with realized leader window for proper - creation of the ApplicationIcon with the - WindowMaker windowmanager (SESSION MANAGEMENT). +--with-session=no Compile without realized leader window which will + keep the WM_COMMAND property. Required for proper + session-management. (ON by default for testing) --with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid widgets emulate Motif (mostly) but are faster. *WARNING* The Motif menubar is currently broken. @@ -662,7 +662,7 @@ with_jpeg | \ with_png | \ with_tiff | \ - with_wm | \ + with_session | \ with_xmu | \ with_quantify | \ with_toolbars | \ @@ -2385,9 +2385,9 @@ if test "$with_tty" = "no" ; then AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.]) fi - for feature in tooltalk cde offix wm \ + for feature in tooltalk cde offix session \ menubars scrollbars toolbars dialogs xim xmu \ - tiff png jpeg gif compface xpm + tiff png jpeg gif xface xpm do if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then AC_MSG_WARN([--with-$feature ignored: Not valid without X support]) @@ -2411,10 +2411,10 @@ test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h" esac -dnl Check for WindowMaker -AC_CHECKING(for WindowMaker option); -if test "$with_wm" = "yes"; then - AC_DEFINE(HAVE_WINDOWMAKER) +dnl Enable or disable proper session-management +AC_CHECKING(for session-management option); +if test "$with_session" != "no"; then + AC_DEFINE(HAVE_SESSION) fi dnl Autodetect Xauth @@ -3504,7 +3504,7 @@ test "$with_offix" = yes && echo " Compiling in support for OffiX." test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." test "$with_energize" = yes && echo " Compiling in support for Lucid Energize (doesn't currently work)." -test "$with_wm" = yes && echo " Compiling in support for WindowMaker." +test "$with_session" != no && echo " Compiling in support for proper session-management." case "$with_menubars" in lucid ) echo " Using Lucid menubars." ;; motif ) echo " Using Motif menubars." diff -r e703507b8a00 -r 9ad43877534d etc/BETA --- a/etc/BETA Mon Aug 13 09:51:18 2007 +0200 +++ b/etc/BETA Mon Aug 13 09:52:19 2007 +0200 @@ -106,9 +106,10 @@ Any rejections should be treated as serious problems to be resolved before starting compilation. -After seeing that there were no rejections, issue the command +After seeing that there were no rejections, issue the commands -$ make all-elc +$ ./config.status --recheck +$ make beta and go play minesweep for awhile on an older XEmacs while the binary is rebuilt. diff -r e703507b8a00 -r 9ad43877534d etc/InstallGuide --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/InstallGuide Mon Aug 13 09:52:19 2007 +0200 @@ -0,0 +1,112 @@ +Introduction + +Thank you for downloading XEmacs. We of the XEmacs development team +believe user satisfaction is our number one priority, and we hope that +you will be pleased with the power of our editor. Please follow all +of the instructions in order to enjoy a quick and easy installation. + + +Getting Started + +In this guide, information which you will need to supply will be enclosed in +angle brackets, . Commands which you will have to enter will be +indented, + + like this. + +You will need to provide a loading directory, in which to load the +material from tape (/tmp/xemacs is recommended), and a permanent +installation directory (/usr/local/xemacs is recommended). + + +Loading From Tape + +First create and change directory to the loading directory: + + mkdir + cd + +Now you are ready to load the software from tape. + +The specific device name needed to load the tape varies with hardware vendors, +and may be found in Appendix A, "Vendors and Device Names". + +Load the software from tape: + + tar xvf /dev/ + +You have now loaded all of the software from tape, and are ready to compile and +install the XEmacs Text Editor. + + +Compiling and Installing the XEmacs Editor + +Compiling and installing the libraries is handled by a user-friendly shell +script. You will need to provide some information to the script, such as your +organization name and registration number. To run the script, type + + /bin/sh xemacs/xemacs.install -d + +Follow the script's directions, and provide the information which it prompts +for. + +When the script prompts you for the directory in which the distribution files +are located, you will find that you are unable to provide it with any directory +which the script will deem satisfactory. That is because it is necessary to +order the following additional parts which are necessary to continue with the +installation: + + Part Number Qty Name Price + + GM-96-3026 1 Goat, male 1000.00 + CB-13-2395 1 Candle, black 50.00 + CG-63-6376 1 Chalk dust container 10.00 + IB-89-3335 5 Incense sticks 5.00 + DE-44-8846 1 Dagger, ebon, curved 500.00 + AS-87-2319 1 Altar, silver 10000.00 + +Wait until the additional parts arrive; you will be ready to continue the +installation the next Friday the 13th at midnight. + + +Ritual for Successfully Completing Installation + +Stand in front of the computer. Pour out the chalk dust in an inscribed +pentagram around you; be sure that it is without breaks. Set an incense stick +at each of the five corners, the altar in front of the computer, and the candle +in front of the altar. + +Light each of the incense sticks and the candles, chanting in a low voice: + + Daemons and spirits of the netherworld + Forces of all that is chaotic and mysterious + Essence of Netscape and MicroSoft + + I am coming here to appease you + I offer you this goat + That my software may work + + I bind you here + Do not make my system crash + Let the software install as advertised + +Place the goat on the altar, and slaughter it with the dagger. + + May this goat feed you + Sate your lust for blood + Into it may your mischief fly + Not my computer + Make the software work + For this is the only way + +Then spit into the computer's ventilation slots. This will complete different +circuits inside the computer, causing its motherboard and cards to function in +ways that the engineers never intended, thereby making your system compatible +with our libraries. + +Reboot your computer. The installation is now complete. + +[This has undergone a minor rewrite for XEmacs. It originally +appeared on rec.humor.funny courtesy of jonathan seth hayward +, and is included by permission of the +author]. diff -r e703507b8a00 -r 9ad43877534d lib-src/ChangeLog --- a/lib-src/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,8 @@ +1997-07-27 SL Baur + + * Makefile.in.in (UTILITIES): Add config.values so it can be + cleared away by `make distclean'. + 1997-07-21 SL Baur * update-elc.sh (make_special_commands): Remove processing for diff -r e703507b8a00 -r 9ad43877534d lib-src/Makefile.in.in --- a/lib-src/Makefile.in.in Mon Aug 13 09:51:18 2007 +0200 +++ b/lib-src/Makefile.in.in Mon Aug 13 09:52:19 2007 +0200 @@ -67,7 +67,7 @@ ## which should not be installed in bindir. UTILITIES= make-path wakeup profile make-docfile digest-doc \ sorted-doc movemail cvtmail fakemail yow hexl \ - gnuserv mmencode + gnuserv mmencode config.values ## These need to be conditional on I18N3 make-msgfile make-po ## Like UTILITIES, but they are not system-dependent, and should not be diff -r e703507b8a00 -r 9ad43877534d lib-src/config.values --- a/lib-src/config.values Mon Aug 13 09:51:18 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,232 +0,0 @@ -CFLAGS "-m486 -Wall -O4 -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" -CPPFLAGS "" -CXXFLAGS "" -DEFS "-DHAVE_CONFIG_H" -LDFLAGS "" -LIBS "-ldb -lgdbm -lgpm -lncurses -lintl -lm " -exec_prefix "/usr/src/junk2" -prefix "/usr/src/junk1" -program_transform_name "s,x,x," -bindir "${exec_prefix}/bin" -sbindir "${exec_prefix}/sbin" -libexecdir "${exec_prefix}/libexec" -datadir "${prefix}/lib" -sysconfdir "${prefix}/etc" -sharedstatedir "${prefix}/com" -localstatedir "${prefix}/var" -libdir "${exec_prefix}/lib" -includedir "${prefix}/include" -oldincludedir "/usr/include" -infodir "${prefix}/lib/xemacs-${version}/info" -mandir "${prefix}/man/man1" -LN_S "ln -s" -CC "gcc" -CPP "gcc -E" -ld_switch_shared "-c" -start_files "" -start_flags "" -ld "$(CC) $(CFLAGS)" -lib_gcc "" -RANLIB "ranlib" -INSTALL_PROGRAM "${INSTALL}" -INSTALL_DATA "${INSTALL} -m 644" -YACC "bison -y" -SET_MAKE "" -X_CFLAGS " -I/usr/X11R6/include" -X_PRE_LIBS " -lSM -lICE" -X_LIBS " -L/usr/X11R6/lib" -X_EXTRA_LIBS "" -libs_xauth "-lXau -lXmu -lXt -lXext -lX11 -lSM -lICE" -lwlib_objs " lwlib-Xaw.o xlwmenu.o lwlib-Xlw.o" -ALLOCA "" -SRC_SUBDIR_DEPS " lwlib" -INSTALL_ARCH_DEP_SUBDIR " lib-src pkg-src/tree-x" -MAKE_SUBDIR " lib-src lwlib pkg-src/tree-x src" -SUBDIR_MAKEFILES "lib-src/Makefile lwlib/Makefile pkg-src/tree-x/Makefile src/Makefile" -version "20.3-b15" -configuration "i586-pc-linux" -canonical "i586-pc-linux" -srcdir "/b/XEmacs/xemacs-20.0" -pkgdir "" -statedir "${prefix}/lib" -infodir_user_defined "no" -lispdir "${datadir}/xemacs-${version}/lisp" -lispdir_user_defined "no" -sitelispdir "${datadir}/xemacs/site-lisp" -etcdir "${datadir}/xemacs-${version}/etc" -etcdir_user_defined "no" -lockdir "${statedir}/xemacs/lock" -lockdir_user_defined "no" -archlibdir "${libdir}/xemacs-${version}/${configuration}" -archlibdir_user_defined "yes" -docdir "" -bitmapdir "" -extra_objs "debug.o unexelf.o dgif_lib.o gif_err.o gifalloc.o menubar.o scrollbar.o dialog.o toolbar.o gui.o menubar-x.o scrollbar-x.o dialog-x.o toolbar-x.o gui-x.o mule.o mule-ccl.o mule-charset.o mule-coding.o mule-wnnfns.o mule-canna.o realpath.o inline.o console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o terminfo.o gpmevent.o event-unixoid.o database.o" -machfile "m/intel386.h" -opsysfile "s/linux.h" -c_switch_general "-DHAVE_CONFIG_H" -c_switch_window_system "-I/usr/X11R6/include" -c_switch_all "-DHAVE_CONFIG_H -I/usr/X11R6/include" -ld_switch_general "" -ld_switch_window_system "-L/usr/X11R6/lib" -ld_switch_all "-L/usr/X11R6/lib" -ld_libs_general "-ldb -lgdbm -lgpm -lncurses -lintl -lm" -ld_libs_window_system "-lcanna -lRKC -lwnn -lXaw -lpng -lz -ljpeg -lcompface -lXpm -lDnd -lXmu -lXt -lXext -lX11 -lSM -lICE" -ld_libs_all "-lcanna -lRKC -lwnn -lXaw -lpng -lz -ljpeg -lcompface -lXpm -lDnd -lXmu -lXt -lXext -lX11 -lSM -lICE -ldb -lgdbm -lgpm -lncurses -lintl -lm" -RECURSIVE_MAKE "$(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'" -native_sound_lib "" -sound_cflags "" -dynodump_arch "" -internal_makefile_list "Makefile lib-src/Makefile.in lwlib/Makefile.in pkg-src/tree-x/Makefile.in src/Makefile.in" -configure_input "$configure_input" -srcdir "$srcdir" -top_srcdir "$top_srcdir" -INSTALL "$INSTALL" -EMACS_MAJOR_VERSION 20 -EMACS_MINOR_VERSION 3 -EMACS_BETA_VERSION 15 -XEMACS_CODENAME "Berlin" -EMACS_VERSION "20.3-b15" -DEBUG_XEMACS t -USE_ASSERTIONS t -MEMORY_USAGE_STATS t -CANONICAL_VERSION 20_3_b15_i586_pc_linux -HAVE_SYS_TIMEB_H t -HAVE_SYS_TIME_H t -HAVE_UNISTD_H t -HAVE_UTIME_H t -HAVE_LOCALE_H t -HAVE_FCNTL_H t -HAVE_ULIMIT_H t -HAVE_LINUX_VERSION_H t -HAVE_LIMITS_H t -HAVE_SYS_WAIT_H t -STDC_HEADERS t -TIME_WITH_SYS_TIME t -SYS_SIGLIST_DECLARED t -HAVE_STRUCT_UTIMBUF t -RETSIGTYPE void -HAVE_TIMEVAL t -HAVE_TZNAME t -SIZEOF_SHORT 2 -SIZEOF_INT 4 -SIZEOF_LONG 4 -SIZEOF_LONG_LONG 8 -SIZEOF_VOID_P 4 -HAVE_LONG_FILE_NAMES t -HAVE_LIBM t -LISP_FLOAT_TYPE t -HAVE_X_WINDOWS t -NARROWPROTO t -_POSIX_SOURCE t -_BSD_SOURCE t -_SVID_SOURCE t -linux t -__i386__ t -X_LOCALE t -THIS_IS_X11R6 t -HAVE_X11_XLOCALE_H t -HAVE_XFREE386 t -HAVE_XAUTH t -HAVE_OFFIX_DND t -HAVE_GIF t -HAVE_XPM t -HAVE_XFACE t -HAVE_JPEG t -HAVE_PNG t -LWLIB_USES_ATHENA t -NEED_ATHENA t -NEED_LUCID t -LWLIB_SCROLLBARS_ATHENA t -LWLIB_DIALOGS_ATHENA t -LWLIB_SCROLLBARS_ATHENA3D t -LWLIB_DIALOGS_ATHENA3D t -HAVE_MENUBARS t -HAVE_SCROLLBARS t -HAVE_DIALOGS t -HAVE_TOOLBARS t -LWLIB_MENUBARS_LUCID t -MULE t -HAVE_LIBINTL_H t -HAVE_LIBINTL t -HAVE_CRYPT t -HAVE_WNN t -HAVE_CANNA t -HAVE_ACOSH t -HAVE_ASINH t -HAVE_ATANH t -HAVE_CBRT t -HAVE_CLOSEDIR t -HAVE_DUP2 t -HAVE_FMOD t -HAVE_FPATHCONF t -HAVE_FREXP t -HAVE_FTIME t -HAVE_GETHOSTNAME t -HAVE_GETPAGESIZE t -HAVE_GETTIMEOFDAY t -HAVE_GETCWD t -HAVE_GETWD t -HAVE_LRAND48 t -HAVE_MKDIR t -HAVE_MKTIME t -HAVE_PERROR t -HAVE_POLL t -HAVE_RANDOM t -HAVE_RENAME t -HAVE_RES_INIT t -HAVE_RINT t -HAVE_RMDIR t -HAVE_SELECT t -HAVE_SETITIMER t -HAVE_SETPGID t -HAVE_SETLOCALE t -HAVE_SETSID t -HAVE_SIGBLOCK t -HAVE_SIGPROCMASK t -HAVE_STRCASECMP t -HAVE_STRERROR t -HAVE_TZSET t -HAVE_ULIMIT t -HAVE_USLEEP t -HAVE_UTIMES t -HAVE_WAITPID t -HAVE_H_ERRNO t -HAVE_SIGSETJMP t -LOCALTIME_CACHE t -HAVE_INLINE t -HAVE_ALLOCA_H t -HAVE_ALLOCA t -HAVE_STRCOLL t -HAVE_GETPGRP t -GETPGRP_VOID t -HAVE_MMAP t -REL_ALLOC t -HAVE_TERMIOS t -SIGNALS_VIA_CHARACTERS t -NO_TERMIO t -HAVE_SOCKETS t -HAVE_SYSVIPC t -SYSV_SYSTEM_DIR t -NLIST_STRUCT t -HAVE_TTY t -HAVE_NCURSES t -CURSES_H_PATH "ncurses/curses.h" -TERM_H_PATH "ncurses/term.h" -HAVE_GPM t -HAVE_DBM t -DB_H_PATH "db.h" -HAVE_BERKELEY_DB t -HAVE_DATABASE t -EMACS_CONFIGURATION "i586-pc-linux" -EMACS_CONFIG_OPTIONS " '--cflags=-m486 -Wall -O4 -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer' --with-sound=no --error-checking=none --debug=yes --with-mule=yes --with-dialogs=athena3d --with-scrollbars=athena3d --use-union-type=yes --with-xim=no --mail-locking=file --prefix=/usr/src/junk1 --exec-prefix=/usr/src/junk2" -config_machfile "m/intel386.h" -config_opsysfile "s/linux.h" -LD_SWITCH_X_SITE "" -LD_SWITCH_X_SITE_AUX "" -C_SWITCH_X_SITE "" -LD_SWITCH_SITE "" -C_SWITCH_SITE "" -GNU_MALLOC t -USE_GCC t -CONST_IS_LOSING t diff -r e703507b8a00 -r 9ad43877534d lisp/ChangeLog --- a/lisp/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,16 @@ +1997-07-30 SL Baur + + * prim/startup.el (find-emacs-root-internal-1): Remove diagnostic. + + * prim/packages.el (packages-find-packages): Remove diagnostic. + +1997-07-27 SL Baur + + * utils/config.el (config-value-hash-table): Only store the first + occurrence of a symbol. + + * modes/make-mode.el: Remove imenu stuffs. + Sat Jul 26 12:24:20 1997 Barry A. Warsaw * cc-mode/ Release 5.14 diff -r e703507b8a00 -r 9ad43877534d lisp/custom/ChangeLog --- a/lisp/custom/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,37 @@ +Mon Jul 28 19:23:37 1997 Per Abrahamsen + + * Version 1.9953 released. + +Mon Jul 28 18:04:46 1997 Per Abrahamsen + + * wid-edit.el (widget-field-add-space): Default to t on all + plaforms. + + * custom.el (defgroup): Doc fix. + Patch by karlheg+xemacs@inetarena.com (Karl M. Hegbloom). + + * wid-edit.el (functionp): Use `byte-code-function-p' instead of + `compiled-function-p'. + + * Version 1.9952 released. + +Mon Jul 28 17:52:55 1997 Per Abrahamsen + + * wid-edit.el (functionp): Use `compiled-function-p' instead of + `byte-code-function-p'. + (widget-map-buttons): Comment out `parent'. + (widget-insert): Don't bind `from'. + (widget-move): Dont' bind `new' at start. + + * cus-edit.el (custom-buffer-create-internal): Refer to `mouse-2' + instead of `mouse-1'. + (customize-browse): Ditto. + (custom-mode-map): Don't bind `mouse-1'. + (custom-load-symbol): Check that `preloaded-file-list' is bound. + (custom-group-value-create): Comment out `indent'. + + * all: Synched with FSF. + Sat Jul 12 01:24:32 1997 Per Abrahamsen * Version 1.9951 released. diff -r e703507b8a00 -r 9ad43877534d lisp/custom/cus-edit.el --- a/lisp/custom/cus-edit.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/cus-edit.el Mon Aug 13 09:52:19 2007 +0200 @@ -1,10 +1,10 @@ -;;; cus-edit.el --- Tools for customization Emacs. +;;; cus-edit.el --- Tools for customizating Emacs and Lisp packages. ;; ;; Copyright (C) 1996, 1997 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;; This file is part of GNU Emacs. @@ -440,6 +440,11 @@ :group 'custom-menu :type 'boolean) +(defcustom custom-unlispify-remove-prefixes nil + "Non-nil means remove group prefixes from option names in buffer." + :group 'custom-menu + :type 'boolean) + (defun custom-unlispify-menu-entry (symbol &optional no-suffix) "Convert symbol into a menu entry." (cond ((not custom-unlispify-menu-entries) @@ -458,15 +463,16 @@ (re-search-forward "-p\\'" nil t)) (replace-match "" t t) (goto-char (point-min))) - (let ((prefixes custom-prefix-list) - prefix) - (while prefixes - (setq prefix (car prefixes)) - (if (search-forward prefix (+ (point) (length prefix)) t) - (progn - (setq prefixes nil) - (delete-region (point-min) (point))) - (setq prefixes (cdr prefixes))))) + (if custom-unlispify-remove-prefixes + (let ((prefixes custom-prefix-list) + prefix) + (while prefixes + (setq prefix (car prefixes)) + (if (search-forward prefix (+ (point) (length prefix)) t) + (progn + (setq prefixes nil) + (delete-region (point-min) (point))) + (setq prefixes (cdr prefixes)))))) (subst-char-in-region (point-min) (point-max) ?- ?\ t) (capitalize-region (point-min) (point-max)) (unless no-suffix @@ -1134,25 +1140,19 @@ ;;; The Tree Browser. ;;;###autoload -(defun customize-browse (group) +(defun customize-browse (&optional group) "Create a tree browser for the customize hierarchy." - (interactive (list (let ((completion-ignore-case t)) - (completing-read "Customize group: (default emacs) " - obarray - (lambda (symbol) - (get symbol 'custom-group)) - t)))) - - (when (stringp group) - (if (string-equal "" group) - (setq group 'emacs) - (setq group (intern group)))) + (interactive) + (unless group + (setq group 'emacs)) (let ((name "*Customize Browser*")) (kill-buffer (get-buffer-create name)) (switch-to-buffer (get-buffer-create name))) (custom-mode) (widget-insert "\ -Invoke [+] or [?] below to expand items, and [-] to collapse items.\n") +Square brackets show active fields; type RET or click mouse-2 +on an active field to invoke its action. +Invoke [+] below to expand a group, and [-] to collapse an expanded group.\n") (if custom-browse-only-groups (widget-insert "\ Invoke the [Group] button below to edit that item in another window.\n\n") @@ -1603,6 +1603,8 @@ (require load) (error nil))) ;; Don't reload a file already loaded. + ((and (boundp 'preloaded-file-list) + (member load preloaded-file-list))) ((assoc load load-history)) ((assoc (locate-library load) load-history)) (t @@ -2585,7 +2587,7 @@ "Insert a customize group for WIDGET in the current buffer." (let* ((state (widget-get widget :custom-state)) (level (widget-get widget :custom-level)) - (indent (widget-get widget :indent)) + ;; (indent (widget-get widget :indent)) (prefix (widget-get widget :custom-prefix)) (buttons (widget-get widget :buttons)) (tag (widget-get widget :tag)) @@ -2600,7 +2602,7 @@ (push (widget-create-child-and-convert widget 'custom-browse-visibility ;; :tag-glyph "plus" - :tag (if (custom-unloaded-widget-p widget) "?" "+")) + :tag "+") buttons) (insert "-- ") ;; (widget-glyph-insert nil "-- " "horizontal") @@ -3031,44 +3033,6 @@ ;;; Menu support -(unless (string-match "XEmacs" emacs-version) - (defconst custom-help-menu - '("Customize" - ["Update menu" Custom-menu-update t] - ["Browse" (customize-browse 'emacs) t] - ["Group..." customize-group t] - ["Option..." customize-option t] - ["Face..." customize-face t] - ["Saved..." customize-saved t] - ["Set..." customize-customized t] - "--" - ["Apropos..." customize-apropos t] - ["Group apropos..." customize-apropos-groups t] - ["Option apropos..." customize-apropos-options t] - ["Face apropos..." customize-apropos-faces t]) - ;; This menu should be identical to the one defined in `menu-bar.el'. - "Customize menu") - - (defun custom-menu-reset () - "Reset customize menu." - (remove-hook 'custom-define-hook 'custom-menu-reset) - (define-key global-map [menu-bar help-menu customize-menu] - (cons (car custom-help-menu) - (easy-menu-create-keymaps (car custom-help-menu) - (cdr custom-help-menu))))) - - (defun Custom-menu-update (event) - "Update customize menu." - (interactive "e") - (add-hook 'custom-define-hook 'custom-menu-reset) - (let* ((emacs (widget-apply '(custom-group) :custom-menu 'emacs)) - (menu `(,(car custom-help-menu) - ,emacs - ,@(cdr (cdr custom-help-menu))))) - (let ((map (easy-menu-create-keymaps (car menu) (cdr menu)))) - (define-key global-map [menu-bar help-menu customize-menu] - (cons (car menu) map)))))) - (defcustom custom-menu-nesting 2 "Maximum nesting in custom menus." :type 'integer @@ -3169,6 +3133,8 @@ (define-key custom-mode-map "\177" 'scroll-down) (define-key custom-mode-map "q" 'bury-buffer) (define-key custom-mode-map "u" 'Custom-goto-parent) + (define-key custom-mode-map "n" 'widget-forward) + (define-key custom-mode-map "p" 'widget-backward) ;; (define-key custom-mode-map [mouse-1] 'Custom-move-and-invoke) ) diff -r e703507b8a00 -r 9ad43877534d lisp/custom/cus-face.el --- a/lisp/custom/cus-face.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/cus-face.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: diff -r e703507b8a00 -r 9ad43877534d lisp/custom/custom.el --- a/lisp/custom/custom.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/custom.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;; This file is part of GNU Emacs. diff -r e703507b8a00 -r 9ad43877534d lisp/custom/wid-browse.el --- a/lisp/custom/wid-browse.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/wid-browse.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: extensions -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;; This file is part of GNU Emacs. diff -r e703507b8a00 -r 9ad43877534d lisp/custom/wid-edit.el --- a/lisp/custom/wid-edit.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/wid-edit.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: extensions -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;; This file is part of GNU Emacs. @@ -280,6 +280,7 @@ (let* ((overriding-terminal-local-map (make-sparse-keymap)) map choice (next-digit ?0) + some-choice-enabled value) ;; Define SPC as a prefix char to get to this menu. (define-key overriding-terminal-local-map " " @@ -294,11 +295,14 @@ (let* ((name (car choice)) (function (cdr choice))) (insert (format "%c = %s\n" next-digit name)) - (define-key map (vector next-digit) function))) + (define-key map (vector next-digit) function) + (setq some-choice-enabled t))) ;; Allocate digits to disabled alternatives ;; so that the digit of a given alternative never varies. (setq next-digit (1+ next-digit))) (insert "\nC-g = Quit")) + (or some-choice-enabled + (error "None of the choices is currently meaningful")) (define-key map [?\C-g] 'keyboard-quit) (define-key map [t] 'keyboard-quit) (setcdr map (nreverse (cdr map))) @@ -329,7 +333,9 @@ ;; These functions are for specifying text properties. (defcustom widget-field-add-space - (or (< emacs-major-version 20) + (or t + ;; It shouldn't be necessary in 20.3, but I need to debug it first. + (< emacs-major-version 20) (and (eq emacs-major-version 20) (< emacs-minor-version 3)) (not (string-match "XEmacs" emacs-version))) @@ -354,13 +360,13 @@ (defun widget-specify-field (widget from to) "Specify editable button for WIDGET between FROM and TO." - ;; Terminating space is not part of the field, but necessary in - ;; order for local-map to work. Remove next sexp if local-map works - ;; at the end of the overlay. (save-excursion (goto-char to) (cond ((null (widget-get widget :size)) (forward-char 1)) + ;; Terminating space is not part of the field, but necessary in + ;; order for local-map to work. Remove next sexp if local-map works + ;; at the end of the overlay. (widget-field-add-space (insert-and-inherit " "))) (setq to (point))) @@ -593,7 +599,7 @@ respectively." (let ((cur (point-min)) (widget nil) - (parent nil) + ;; (parent nil) (overlays (if buffer (save-excursion (set-buffer buffer) (overlay-lists)) (overlay-lists)))) @@ -841,8 +847,7 @@ "Call `insert' with ARGS and make the text read only." (let ((inhibit-read-only t) before-change-functions - after-change-functions - (from (point))) + after-change-functions) (apply 'insert args))) (defun widget-convert-text (type from to @@ -1095,8 +1100,7 @@ (or (bobp) (> arg 0) (backward-char)) (let ((pos (point)) (number arg) - (old (widget-tabable-at)) - new) + (old (widget-tabable-at))) ;; Forward. (while (> arg 0) (cond ((eobp) diff -r e703507b8a00 -r 9ad43877534d lisp/custom/widget-example.el --- a/lisp/custom/widget-example.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/widget-example.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: help, extensions, faces, hypermedia -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ (require 'widget) diff -r e703507b8a00 -r 9ad43877534d lisp/custom/widget.el --- a/lisp/custom/widget.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/custom/widget.el Mon Aug 13 09:52:19 2007 +0200 @@ -4,7 +4,7 @@ ;; ;; Author: Per Abrahamsen ;; Keywords: help, extensions, faces, hypermedia -;; Version: 1.9951 +;; Version: 1.9953 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;; This file is part of GNU Emacs. diff -r e703507b8a00 -r 9ad43877534d lisp/efs/dired-xemacs.el --- a/lisp/efs/dired-xemacs.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/efs/dired-xemacs.el Mon Aug 13 09:52:19 2007 +0200 @@ -86,7 +86,7 @@ ["Find in Other Window" dired-find-file-other-window t] ["Find in Other Frame" dired-find-file-other-frame t] ["View File" dired-view-file t] - ["Display in Other Window" dired-find-file-other-window t])) + ["Display in Other Window" dired-display-file t])) (setq dired-do-popup-menu @@ -293,20 +293,39 @@ ;;; Mouse functions -(defun dired-mouse-find-file (event) - "In dired, visit the file or directory name you click on." - (interactive "e") +(defun dired-mouse-file-action (event fun) + "In dired, apply function FUN to the file or directory name you click on." (save-excursion (set-buffer (window-buffer (event-window event))) (if dired-subdir-alist (save-excursion (goto-char (event-point event)) - (dired-find-file)) + (funcall fun)) (error (concat "dired-subdir-alist seems to be mangled. " (substitute-command-keys "\\Try dired-revert (\\[dired-revert]).")))))) +(defun dired-mouse-find-file (event) + "In dired, visit the file or directory name you click on." + (interactive "e") + (dired-mouse-file-action event 'dired-find-file)) + +(defun dired-mouse-display-file (event) + "In dired, display the file or directory name you click on." + (interactive "e") + (dired-mouse-file-action event 'dired-display-file)) + +(defun dired-mouse-find-file-other-window (event) + "In dired, visit the file or directory name you click on in another window." + (interactive "e") + (dired-mouse-file-action event 'dired-find-file-other-window)) + +(defun dired-mouse-find-file-other-frame (event) + "In dired, visit the file or directory name you click on in another frame." + (interactive "e") + (dired-mouse-file-action event 'dired-find-file-other-frame)) + (defun dired-mouse-mark (event) "In dired, mark the file name that you click on. If the file name is already marked, this unmarks it." @@ -404,11 +423,13 @@ (defvar dired-filename-local-map (let ((map (make-sparse-keymap))) (set-keymap-name map 'dired-filename-local-map) - (define-key map 'button2 'dired-mouse-find-file) - (define-key map 'button3 'dired-visit-popup-menu) - (define-key map '(control button2) 'dired-do-popup-menu) - (define-key map '(shift button1) 'dired-mouse-mark) - (define-key map '(control shift button1) 'dired-mouse-flag) + (define-key map [button2] 'dired-mouse-find-file) + (define-key map [(shift button2)] 'dired-mouse-display-file) + (define-key map [(meta button2)] 'dired-mouse-find-file-other-frame) + (define-key map [button3] 'dired-visit-popup-menu) + (define-key map [(control button2)] 'dired-do-popup-menu) + (define-key map [(shift button1)] 'dired-mouse-mark) + (define-key map [(control shift button1)] 'dired-mouse-flag) map) "Keymap used to activate actions on files in dired.") diff -r e703507b8a00 -r 9ad43877534d lisp/efs/dired.el --- a/lisp/efs/dired.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/efs/dired.el Mon Aug 13 09:52:19 2007 +0200 @@ -2831,11 +2831,11 @@ (dired file)) (view-file file)))) -(defun dired-find-file-other-window (&optional display) +(defun dired-find-file-other-window (&optional displayp) "In dired, visit this file or directory in another window. With a prefix, the file is displayed, but the window is not selected." (interactive "P") - (if display + (if displayp (dired-display-file) (find-file-other-window (dired-get-filename)))) @@ -2954,6 +2954,10 @@ (and (setq p1 (dired-move-to-filename (not no-error-if-not-filep) bol eol)) (setq p2 (dired-move-to-end-of-filename no-error-if-not-filep bol eol)) + ;; We seem to be picking up the carriage-return at the end of the + ;; line, so here's a quick fix to get dired working. + (if (eq system-type 'windows-nt) + (setq p2 (1- p2))) (setq file (buffer-substring p1 p2)) ;; Check if ls quoted the names, and unquote them. ;; Using read to unquote is much faster than substituting diff -r e703507b8a00 -r 9ad43877534d lisp/gnats/gnats.el --- a/lisp/gnats/gnats.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/gnats/gnats.el Mon Aug 13 09:52:19 2007 +0200 @@ -1019,8 +1019,10 @@ "%s/gnats/npr-edit" "%s/gnats/pr-edit") gnats:libdir) - (if gnats:network-server (format "--host=%s" gnats:network-server)) - args + (if gnats:network-server + (concat (format "--host=%s" gnats:network-server) args) + args + ) )) ;; Only set up the sentinel if they want stuff done in the background. diff -r e703507b8a00 -r 9ad43877534d lisp/modes/make-mode.el --- a/lisp/modes/make-mode.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/modes/make-mode.el Mon Aug 13 09:52:19 2007 +0200 @@ -101,7 +101,8 @@ ;; Sadly we need this for a macro. (eval-when-compile - (require 'imenu)) + (unless (featurep 'xemacs) + (require 'imenu))) ;;; ------------------------------------------------------------ ;;; Configurable stuff @@ -585,8 +586,9 @@ (setq add-log-current-defun-function 'makefile-add-log-defun) ;; Imenu. - (make-local-variable 'imenu-create-index-function) - (setq imenu-create-index-function 'makefile-menu-index-function) + (unless (featurep 'xemacs) + (make-local-variable 'imenu-create-index-function) + (setq imenu-create-index-function 'makefile-menu-index-function)) ;; Dabbrev. (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) diff -r e703507b8a00 -r 9ad43877534d lisp/modes/vhdl-mode.el --- a/lisp/modes/vhdl-mode.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/modes/vhdl-mode.el Mon Aug 13 09:52:19 2007 +0200 @@ -1,16 +1,16 @@ ;;; vhdl-mode.el --- major mode for editing VHDL code -;; Copyright (C) 1994, 1995 Rodney J. Whitby +;; Copyright (C) 1994 - 1997 Rodney J. Whitby ;; Copyright (C) 1992, 1993, 1994 Barry A. Warsaw ;; Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. -;; Author: Rodney J. Whitby -;; Maintainer: Rodney J. Whitby +;; Author: Rodney J. Whitby +;; Maintainer: Rodney J. Whitby ;; Created: June 1994, adapted from cc-mode.el 4.29 by Barry A. Warsaw. -;; Version: $Revision: 1.5 $ -;; Last Modified: $Date: 1997/06/14 20:31:18 $ +;; Version: $Revision: 1.6 $ +;; Last Modified: $Date: 1997/08/01 03:27:57 $ ;; Keywords: languages VHDL -;; Archive: ftp.eda.com.au:/pub/emacs/vhdl-mode.tar.gz +;; Archive: http://www.geocities.com/SiliconValley/Park/8287/ ;; NOTE: Read the commentary below for the right way to submit bug reports! @@ -34,7 +34,7 @@ ;; This package provides indentation support for VHDL code. -;; Details on VHDL-MODE are now contained in an accompanying texinfo +;; Details on VHDL-MODE are now contained in an accompanying texinfo ;; manual (vhdl-mode.texi). ;; To submit bug reports, hit "C-c C-b", and please try to include a @@ -63,14 +63,12 @@ ;; Many, many thanks go out to all the folks on the beta test list. ;; Without their patience, testing, insight, and code contributions, ;; and encouragement vhdl-mode.el would be a far inferior package. -;; Special thanks to Ken Wood for providing an FTP -;; repository for vhdl-mode. ;; LCD Archive Entry: -;; vhdl-mode.el|Rodney J. Whitby|rwhitby@asc.corp.mot.com +;; vhdl-mode.el|Rodney J. Whitby|rwhitby@geocities.com ;; |Major mode for editing VHDL code -;; |$Date: 1997/06/14 20:31:18 $|$Revision: 1.5 $ -;; |ftp.eda.com.au:/pub/emacs/vhdl-mode.tar.gz +;; |$Date: 1997/08/01 03:27:57 $|$Revision: 1.6 $ +;; |http://www.geocities.com/SiliconValley/Park/8287/ ;;; Code: @@ -283,17 +281,17 @@ (error "Cannot figure out the major and minor version numbers.")) ;; calculate the major version (cond - ((= major 18) (setq major 'v18)) ;Emacs 18 - ((= major 4) (setq major 'v18)) ;Epoch 4 - ((>= major 19) (setq major 'v19 ;Emacs 19 - flavor (cond - ((string-match "Win-Emacs" emacs-version) - 'Win-Emacs) - ((or (string-match "Lucid" emacs-version) - (string-match "XEmacs" emacs-version)) - 'XEmacs) - (t - 'FSF)))) + ((= major 18) (setq major 'v18)) ;Emacs 18 + ((= major 4) (setq major 'v18)) ;Epoch 4 + ((>= major 19) (setq major 'v19 ;Emacs 19 or later + flavor (cond + ((string-match "Win-Emacs" emacs-version) + 'Win-Emacs) + ((or (string-match "Lucid" emacs-version) + (string-match "XEmacs" emacs-version)) + 'XEmacs) + (t + 'FSF)))) ;; I don't know (t (error "Cannot recognize major version number: %s" major))) ;; lets do some minimal sanity checking. @@ -347,6 +345,7 @@ (define-key vhdl-mode-map "\M-\C-h" 'vhdl-mark-defun) (define-key vhdl-mode-map "\M-\C-q" 'vhdl-indent-sexp) (define-key vhdl-mode-map "\t" 'vhdl-indent-command) + (define-key vhdl-mode-map "\177" 'backward-delete-char-untabify) ;; these are new keybindings, with no counterpart to BOCM (define-key vhdl-mode-map "\C-c\C-b" 'vhdl-submit-bug-report) (define-key vhdl-mode-map "\C-c\C-c" 'comment-region) @@ -538,11 +537,11 @@ ;;;###autoload (defun vhdl-mode () "Major mode for editing VHDL code. -vhdl-mode $Revision: 1.5 $ +vhdl-mode $Revision: 1.6 $ To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a vhdl-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the -problem, including a reproducible test case and send the message. +problem, including a reproducable test case and send the message. Note that the details of configuring vhdl-mode will soon be moved to the accompanying texinfo manual. Until then, please read the README file @@ -808,6 +807,28 @@ vars)) (vhdl-keep-region-active)) +(defun vhdl-add-style (style descrip &optional set-p) + "Adds a style to `vhdl-style-alist', or updates an existing one. +STYLE is a string identifying the style to add or update. DESCRIP is +an association list describing the style and must be of the form: + + ((VARIABLE . VALUE) [(VARIABLE . VALUE) ...]) + +See the variable `vhdl-style-alist' for the semantics of VARIABLE and +VALUE. This function also sets the current style to STYLE using +`vhdl-set-style' if the optional SET-P flag is non-nil." + (interactive + (let ((stylename (completing-read "Style to add: " vhdl-style-alist)) + (description (eval-minibuffer "Style description: "))) + (list stylename description + (y-or-n-p "Set the style too? ")))) + (setq style (downcase style)) + (let ((s (assoc style vhdl-style-alist))) + (if s + (setcdr s (copy-alist descrip)) ; replace + (setq vhdl-style-alist (cons (cons style descrip) vhdl-style-alist)))) + (and set-p (vhdl-set-style style))) + (defun vhdl-get-offset (langelem) ;; Get offset from LANGELEM which is a cons cell of the form: ;; (SYMBOL . RELPOS). The symbol is matched against @@ -2592,9 +2613,9 @@ ;; Defuns for submitting bug reports: -(defconst vhdl-version "$Revision: 1.5 $" +(defconst vhdl-version "$Revision: 1.6 $" "vhdl-mode version number.") -(defconst vhdl-mode-help-address "rwhitby@asc.corp.mot.com" +(defconst vhdl-mode-help-address "rwhitby@geocities.com" "Address accepting submission of bug reports.") (defun vhdl-version () diff -r e703507b8a00 -r 9ad43877534d lisp/packages/hyper-apropos.el --- a/lisp/packages/hyper-apropos.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/packages/hyper-apropos.el Mon Aug 13 09:52:19 2007 +0200 @@ -303,6 +303,11 @@ (if (natnump l) l 0))) (and hyper-apropos-show-brief-docs (setq doc (documentation fn)) + (if (string-match + "^([^\n\t )]+[\t ]*\\([^\n)]+\\)?)\\(:[\t ]*\\|\n?\\'\\)" + doc) + (setq doc (substring doc (match-end 0) (string-match "\n" doc))) + t) (insert-face (if doc (concat " - " (substring doc 0 (string-match "\n" doc))) diff -r e703507b8a00 -r 9ad43877534d lisp/prim/files.el --- a/lisp/prim/files.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/files.el Mon Aug 13 09:52:19 2007 +0200 @@ -957,9 +957,9 @@ (error "%s is a directory." filename)) (let* ((buf (get-file-buffer filename)) ; (truename (abbreviate-file-name (file-truename filename))) -; (number (nthcdr 10 (file-attributes truename))) - (number (and buffer-file-truename - (nthcdr 10 (file-attributes buffer-file-truename)))) + (number (nthcdr 10 (file-attributes (file-truename filename)))) +; (number (and buffer-file-truename +; (nthcdr 10 (file-attributes buffer-file-truename)))) ; ;; Find any buffer for a file which has same truename. ; (other (and (not buf) (find-buffer-visiting filename))) (error nil)) diff -r e703507b8a00 -r 9ad43877534d lisp/prim/frame.el --- a/lisp/prim/frame.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/frame.el Mon Aug 13 09:52:19 2007 +0200 @@ -817,18 +817,36 @@ (or deselect-frame-hook (add-hook 'deselect-frame-hook 'default-deselect-frame-hook)) -(defun default-drag-and-drop-functions (frame filepath &optional data) +(defun default-drag-and-drop-functions (frame filepath &optional data type) "Implements the `drag-and-drop-functions' variable. For use as the value of `drag-and-drop-functions'. -This default simply pops up the file in the selected frame or, -if the dragged object is a buffer, inserts it at point." - (if data - (insert data) - (let ((x pop-up-windows)) - (setq pop-up-windows nil) - (pop-to-buffer (find-file-noselect filepath) nil frame) - (make-frame-visible frame) - (setq pop-up-windows x)))) +A file is popped up in a new buffer, some data without +is inserted at point, and data with a type is handled +for it's type (NOTE: type is only set for OffiX DnD)." + (cond (type + (cond ((or (< type 2) (> type 9)) ;; this is raw data or unknown stuff + (let ((buf (generate-new-buffer "DndRawData"))) + (set-buffer buf) + (pop-to-buffer buf nil frame) + (insert data) + (hexlify-buffer) + (make-frame-visible frame))) + ((= type 5) (dired data)) + ((= type 8) (funcall browse-url-browser-function data)) + ((= type 9) + (let ((buf (generate-new-buffer "DndMIME"))) + (set-buffer buf) + (pop-to-buffer buf nil frame) + (insert data) + (make-frame-visible frame))) + (t (ding)))) + (data (insert data)) + (t + (let ((x pop-up-windows)) + (setq pop-up-windows nil) + (pop-to-buffer (find-file-noselect filepath) nil frame) + (make-frame-visible frame) + (setq pop-up-windows x))))) (and (boundp 'drag-and-drop-functions) (or drag-and-drop-functions diff -r e703507b8a00 -r 9ad43877534d lisp/prim/help.el --- a/lisp/prim/help.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/help.el Mon Aug 13 09:52:19 2007 +0200 @@ -1292,3 +1292,161 @@ (setq cmd (cdr cmd)) (if cmd (princ " " stream))))) (terpri stream))))))) + +(defvar find-function-function 'ff-function-at-point + "The function used by `find-function' to select the function near +point. + +For example `ff-function-at-point' or `function-called-at-point'.") + +(defvar find-function-source-path nil + "The default list of directories where find-function searches. + +If this variable is `nil' then find-function searches `load-path' by +default.") + +;;; Code: + +(defun find-function-noselect (function &optional path) + "Put point at the definition of the function at point and return the buffer. + +Finds the emacs-lisp package containing the definition of FUNCTION +into a buffer and place point before the definition. The buffer is +not selected. + +If the optional argument PATH is given, the package where FUNCTION is +defined is searched in PATH instead of `load-path' (see +`find-function-source-path')." + (and (subrp (symbol-function function)) + (error "%s is a primitive function" function)) + (if (not function) + (error "You didn't specify a function")) + (let ((def (symbol-function function)) + package aliases) + (while (symbolp def) + (or (eq def function) + (if aliases + (setq aliases (concat aliases + (format ", which is an alias for %s" + (symbol-name def)))) + (setq aliases (format "an alias for %s" (symbol-name + def))))) + (setq function (symbol-function function) + def (symbol-function function))) + (if aliases + (message aliases)) + (setq package + (cond ((eq (car-safe def) 'autoload) + (nth 1 def)) + ((describe-function-find-file function)) + ((and (compiled-function-p def) + (fboundp 'compiled-function-annotation)) + (substring (compiled-function-annotation def) 0 -4)))) + (if (null package) + (error "Can't find package")) + (if (string-match "\\(\\.elc?\\'\\)" package) + (setq package (substring package 0 (match-beginning 1)))) + (setq package (concat package ".el")) + (let ((filename (locate-library package t + (if path + path + find-function-source-path))) + (calling-buffer (current-buffer))) + (if (not filename) + (error "The package \"%s\" is not in the path." package)) + (set-buffer (find-file-noselect filename)) + (save-match-data + (let ((p (point)) + ;; avoid defconst, defgroup, defvar (any others?) + (re (format "^(def[^cgv\W]\\w+\\s-+%s\\s-" function)) + (syntable (syntax-table))) + (set-syntax-table emacs-lisp-mode-syntax-table) + (goto-char (point-min)) + (if (prog1 + (re-search-forward re nil t) + (set-syntax-table syntable)) + (prog2 + (beginning-of-line) + (current-buffer) + (set-buffer calling-buffer)) + (goto-char p) + (set-buffer calling-buffer) + (error "Cannot find definition of %s" function))))))) + +(defun ff-function-at-point () + (condition-case () + (let ((stab (syntax-table))) + (unwind-protect + (save-excursion + (set-syntax-table emacs-lisp-mode-syntax-table) + (or (not (zerop (skip-syntax-backward "_w"))) + (eq (char-syntax (char-after (point))) ?w) + (eq (char-syntax (char-after (point))) ?_) + (forward-sexp -1)) + (skip-chars-forward "'") + (let ((obj (read (current-buffer)))) + (and (symbolp obj) (fboundp obj) obj))) + (set-syntax-table stab))) + (error nil))) + +(defun ff-read-function () + "Read and return a function, defaulting to the one near point. + +The function named by `find-function-function' is used to select the +default function." + (let ((fn (funcall find-function-function)) + (enable-recursive-minibuffers t) + val) + (setq val (completing-read + (if fn + (format "Find function (default %s): " fn) + "Find function: ") + obarray 'fboundp t)) + (list (if (equal val "") + fn (intern val))))) + + +(defun find-function (function &optional path) + "Find the definition of the function near point in the current window. + +Finds the emacs-lisp package containing the definition of the function +near point (selected by `find-function-function') and places point +before the definition. + +If the optional argument PATH is given, the package where FUNCTION is +defined is searched in PATH instead of `load-path'" + (interactive (ff-read-function)) + (switch-to-buffer + (find-function-noselect function path))) + +(defun find-function-other-window (function &optional path) + "Find the definition of the function near point in the other window. + +Finds the emacs-lisp package containing the definition of the function +near point (selected by `find-function-function') and places point +before the definition. + +If the optional argument PATH is given, the package where FUNCTION is +defined is searched in PATH instead of `load-path'" + (interactive (ff-read-function)) + (switch-to-buffer-other-window + (find-function-noselect function path))) + +(defun find-function-other-frame (function &optional path) + "Find the definition of the function near point in the another frame. + +Finds the emacs-lisp package containing the definition of the function +near point (selected by `find-function-function') and places point +before the definition. + +If the optional argument PATH is given, the package where FUNCTION is +defined is searched in PATH instead of `load-path'" + (interactive (ff-read-function)) + (switch-to-buffer-other-frame + (find-function-noselect function path))) + +(define-key mode-specific-map "f" 'find-function) +(define-key ctl-x-4-map "F" 'find-function-other-window) +(define-key ctl-x-5-map "F" 'find-function-other-frame) + +;;; help.el ends here diff -r e703507b8a00 -r 9ad43877534d lisp/prim/packages.el --- a/lisp/prim/packages.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/packages.el Mon Aug 13 09:52:19 2007 +0200 @@ -188,7 +188,7 @@ dir) (while path (setq dir (car path)) - (prin1 (concat "Find: " (expand-file-name dir) "\n")) + ;; (prin1 (concat "Find: " (expand-file-name dir) "\n")) (packages-find-packages-1 (expand-file-name dir) path-only) (setq path (cdr path))))) diff -r e703507b8a00 -r 9ad43877534d lisp/prim/process.el --- a/lisp/prim/process.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/process.el Mon Aug 13 09:52:19 2007 +0200 @@ -101,7 +101,7 @@ (let ((temp (cond ((eq system-type 'vax-vms) (make-temp-name "tmp:emacs")) ((or (eq system-type 'ms-dos) - (eq system-type 'windowsnt)) + (eq system-type 'windows-nt)) (make-temp-name (concat (file-name-as-directory (or (getenv "TMP") @@ -113,7 +113,7 @@ (unwind-protect (progn (if (or (eq system-type 'ms-dos) - (eq system-type 'windowsnt)) + (eq system-type 'windows-nt)) (let ((buffer-file-type binary-process-output)) (write-region start end temp nil 'silent)) (write-region start end temp nil 'silent)) diff -r e703507b8a00 -r 9ad43877534d lisp/prim/startup.el --- a/lisp/prim/startup.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/prim/startup.el Mon Aug 13 09:52:19 2007 +0200 @@ -1010,7 +1010,7 @@ (concat "lib/xemacs-" version))) (defun find-emacs-root-internal-1 (path lisp-p) - (prin1 (format "f-e-r-i-1: %s\n" path)) + ;; (prin1 (format "f-e-r-i-1: %s\n" path)) (let ((dir (file-name-directory path))) (or ;; diff -r e703507b8a00 -r 9ad43877534d lisp/utils/config.el --- a/lisp/utils/config.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/utils/config.el Mon Aug 13 09:52:19 2007 +0200 @@ -48,7 +48,15 @@ (goto-char (point-min)) (condition-case nil (while t - (puthash (read buf) (read buf) config-value-hash-table)) + (let* ((key (read buf)) + (value (read buf)) + (prev (gethash key config-value-hash-table))) + (cond ((null prev) + (puthash key value config-value-hash-table)) + ((atom prev) + (puthash key (list prev value) config-value-hash-table)) + (t + (nconc prev (list value)))))) (end-of-file nil))) (kill-buffer " *Config*"))) config-value-hash-table) diff -r e703507b8a00 -r 9ad43877534d lisp/utils/forms.el --- a/lisp/utils/forms.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/utils/forms.el Mon Aug 13 09:52:19 2007 +0200 @@ -300,10 +300,10 @@ (provide 'forms) ;;; official (provide 'forms-mode) ;;; for compatibility -(defconst forms-version (substring "$Revision: 1.1.1.2 $" 11 -2) +(defconst forms-version (substring "$Revision: 1.2 $" 11 -2) "The version number of forms-mode (as string). The complete RCS id is: - $Id: forms.el,v 1.1.1.2 1996/12/18 22:51:25 steve Exp $") + $Id: forms.el,v 1.2 1997/08/01 03:28:08 steve Exp $") (defvar forms-mode-hooks nil "Hook functions to be run upon entering Forms mode.") @@ -1677,6 +1677,8 @@ (if forms-use-text-properties (let ((inhibit-read-only t)) (set-text-properties (point-min) (point-max) nil))) + (if forms-use-extents + (map-extents (lambda (x ignore) (detach-extent x) nil))) (erase-buffer) ;; Verify the number of fields, extend forms--the-record-list if needed. diff -r e703507b8a00 -r 9ad43877534d lisp/vm/vm-autoload.el --- a/lisp/vm/vm-autoload.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/vm/vm-autoload.el Mon Aug 13 09:52:19 2007 +0200 @@ -1,5 +1,8 @@ (provide 'vm-autoload) - +"f-e-r-i-1: /b/XEmacs/xemacs-20.0/src/xemacs +""Find: /etc/xemacs +""Find: /home/steve/.xemacs +" (autoload (quote vm-delete-message) "vm-delete" "Add the `deleted' attribute to the current message. The message will be physically deleted from the current folder the next diff -r e703507b8a00 -r 9ad43877534d lisp/w3/ChangeLog --- a/lisp/w3/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/w3/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,7 @@ +1997-07-26 SL Baur + + * mm.el (mm-extension-to-mime): Use `eq' for character comparison. + Wed Mar 19 20:53:23 1997 Steven L Baur * Makefile (xemacs-w3): Special target for XEmacs Build. diff -r e703507b8a00 -r 9ad43877534d lisp/w3/mm.el --- a/lisp/w3/mm.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/w3/mm.el Mon Aug 13 09:52:19 2007 +0200 @@ -1033,7 +1033,7 @@ (defun mm-extension-to-mime (extn) "Return the MIME content type of the file extensions EXTN" (if (and (stringp extn) - (not (= (string-to-char extn) ?.))) + (not (eq (string-to-char extn) ?.))) (setq extn (concat "." extn))) (cdr (assoc (downcase extn) mm-mime-extensions))) diff -r e703507b8a00 -r 9ad43877534d lisp/x11/x-menubar.el --- a/lisp/x11/x-menubar.el Mon Aug 13 09:51:18 2007 +0200 +++ b/lisp/x11/x-menubar.el Mon Aug 13 09:52:19 2007 +0200 @@ -779,7 +779,9 @@ (aset item 2 (not (not (or buffer-file-name revert-buffer-function))))) (and (string= "Delete Frame" name) - (aset item 2 (device-or-frame-p (second (frame-list))))) + (aset item 2 (not (eq (next-frame (selected-frame) + 'nomini 'window-system) + (selected-frame))))) ))) result)) diff -r e703507b8a00 -r 9ad43877534d man/Makefile --- a/man/Makefile Mon Aug 13 09:51:18 2007 +0200 +++ b/man/Makefile Mon Aug 13 09:52:19 2007 +0200 @@ -82,11 +82,6 @@ PERL = perl TEXI2DVI = texi2dvi -gnus.dvi : gnus.texi - $(PERL) -n -e 'print unless (/\@iflatex/ .. /\@end iflatex/)' gnus.texi > gnus.tmptexi - $(TEXI2DVI) gnus.tmptexi - rm -f gnus.tmptexi - texinfo.dvi: texinfo.texi $(TEXI2DVI) $< .texi.dvi: diff -r e703507b8a00 -r 9ad43877534d man/vhdl-mode.texi --- a/man/vhdl-mode.texi Mon Aug 13 09:51:18 2007 +0200 +++ b/man/vhdl-mode.texi Mon Aug 13 09:52:19 2007 +0200 @@ -30,7 +30,7 @@ @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @ifinfo -Copyright @copyright{} 1995 Rodney J. Whitby +Copyright @copyright{} 1995 - 1997 Rodney J. Whitby @end ifinfo @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -48,10 +48,10 @@ @center @titlefont{VHDL-MODE Version 2} @sp 2 @center A GNU Emacs mode for editing VHDL code. -@center (manual revision: 2.1) +@center (manual revision: 2.2) @sp 2 @center Rod Whitby -@center @code{rwhitby@@asc.corp.mot.com} +@center @code{rwhitby@@geocities.com} @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -61,7 +61,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995 Rodney J. Whitby +Copyright @copyright{} 1995 - 1997 Rodney J. Whitby @end titlepage @@ -1104,10 +1104,8 @@ @code{vhdl-mode-victims} mailing list. Send email to the author to join either of these lists. -The canonical anonymous FTP URL for @code{vhdl-mode} is -@code{ftp://ftp.eda.com.au/pub/emacs/vhdl-mode.tar.gz}. Special thanks -to Ken Wood for providing an FTP repository for -@code{vhdl-mode}. +The Official @code{VHDL-Mode} Home Page can be found at +@code{http://www.geocities.com/SiliconValley/Park/8287/vhdl-mode.html}. @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @node Sample .emacs File, Requirements, Getting the latest vhdl-mode release, Top @@ -1217,16 +1215,16 @@ @emph{before} your bug example. For other help or suggestions, send a message to -@code{rwhitby@@asc.corp.mot.com}. +@code{rwhitby@@geocities.com}. -Send an add message to @code{rwhitby@@asc.corp.mot.com} to get on the +Send an add message to @code{rwhitby@@geocities.com} to get on the @code{vhdl-mode-victims} beta testers list where beta releases of @code{vhdl-mode} are posted. Note that you shouldn't expect beta releases to be as stable as public releases. There is also an announce only list where the latest public releases of @code{vhdl-mode} are posted. Send an add message to -@code{rwhitby@@asc.corp.mot.com} to be added to this list. +@code{rwhitby@@geocities.com} to be added to this list. @c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @node Concept Index, Command Index, Mailing Lists and Submitting Bug Reports, Top diff -r e703507b8a00 -r 9ad43877534d man/widget.texi --- a/man/widget.texi Mon Aug 13 09:51:18 2007 +0200 +++ b/man/widget.texi Mon Aug 13 09:52:19 2007 +0200 @@ -13,7 +13,7 @@ @comment node-name, next, previous, up @top The Emacs Widget Library -Version: 1.9951 +Version: 1.9953 @menu * Introduction:: diff -r e703507b8a00 -r 9ad43877534d nt/ChangeLog --- a/nt/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,14 @@ +Tue July 15 19:32:21 1997 davidh + + * August Hill provided some more patches to make things better + - there is a workaround for dired to make the ^M's disappear + - a patch to fix shell-command + +Tue July 08 22:01:36 1997 davidh + + * #ifdef'd call to vfork and replaced with spawn as per GNU Emacs; + as a result, removed /force - XEmacs now links normally. + Thu June 31 21:16:21 1997 davidh * nt/TODO created. diff -r e703507b8a00 -r 9ad43877534d nt/xemacs.mak --- a/nt/xemacs.mak Mon Aug 13 09:51:18 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 09:52:19 2007 +0200 @@ -5,7 +5,7 @@ EMACS_MAJOR_VERSION=20 EMACS_MINOR_VERSION=3 -XEMACS_CODENAME=\"Copenhagen\" +XEMACS_CODENAME=\"Stockholm\" #------------------------------------------------------------------------------ @@ -32,7 +32,7 @@ LASTFILE_FLAGS=-nologo -w -Od $(INCLUDES) -Fo$@ -c LASTFILE_OBJS= \ $(OUTDIR)/lastfile.obj - + $(LASTFILE): $(LASTFILE_OBJS) link.exe -lib /nologo /out:$@ $(LASTFILE_OBJS) @@ -338,7 +338,7 @@ $(RUNEMACS): $(OUTDIR)\runemacs.obj link.exe /out:$@ /subsystem:windows /entry:WinMainCRTStartup \ /pdb:none /release /incremental:no $** \ - kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ + kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \ odbccp32.lib libc.lib @@ -370,7 +370,7 @@ TEMACS_LFLAGS=/nologo $(LIBRARIES) /base:0x1000000\ /stack:0x800000 /entry:_start /subsystem:console /pdb:none\ /map:$(TEMACS_DIR)/temacs.map /debug:full /debugtype:both /machine:I386\ - /nodefaultlib /force /out:$@\ + /nodefaultlib /out:$@\ /heap:0x00100000 TEMACS_CPP=c:/usr/local/bin/cpp.exe @@ -861,11 +861,11 @@ # LISP bits 'n bobs -dump-elcs: $(TEMACS) - $(LOADPATH) $(TEMACS) -batch -l ../prim/update-elc.el $(LISP) +dump-elcs: + !"$(TEMACS) -batch -l update-elc.el $(LISP)" -dump-xemacs: $(TEMACS) - $(TEMACS) -batch -l loadup.el dump +dump-xemacs: + !"$(TEMACS) -batch -l loadup.el dump" #------------------------------------------------------------------------------ diff -r e703507b8a00 -r 9ad43877534d src/ChangeLog --- a/src/ChangeLog Mon Aug 13 09:51:18 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 09:52:19 2007 +0200 @@ -1,3 +1,41 @@ +1997-07-31 SL Baur + + * 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 + + * redisplay.c: `window-system' isn't going away any time soon. + +1997-07-29 SL Baur + + * callint.c (Fcall_interactively): Allow floating point numbers + for `n' and `N' interactive specs. + +1997-07-27 SL Baur + + * 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 * alloc.c (Fmake_byte_code): GC protect newly allocated function diff -r e703507b8a00 -r 9ad43877534d src/callint.c --- a/src/callint.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/callint.c Mon Aug 13 09:52:19 2007 +0200 @@ -741,7 +741,7 @@ case 'n': /* Read number from minibuffer. */ { read_number: - args[argnum] = call2 (Qread_number, PROMPT (), Qt); + args[argnum] = call2 (Qread_number, PROMPT (), Qnil); /* numbers are too boring to go on command history */ /* arg_from_tty = 1; */ break; diff -r e703507b8a00 -r 9ad43877534d src/callproc.c --- a/src/callproc.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/callproc.c Mon Aug 13 09:52:19 2007 +0200 @@ -1086,23 +1086,37 @@ #ifdef VMS Vshell_file_name = build_string ("*dcl*"); -#else /* not VMS */ - sh = (char *) egetenv ("SHELL"); -#ifdef DOS_NT - if (!sh) sh = egetenv ("COMSPEC"); +#elif defined(WINDOWSNT) + /* + ** If NT then we look at COMSPEC for the shell program. + */ + sh = egetenv ("COMSPEC"); { char *tem; + /* + ** If COMSPEC has been set, then convert the + ** DOS formatted name into a UNIX format. Then + ** create a LISP object. + */ if (sh) - { - tem = (char *) alloca (strlen (sh) + 1); - sh = dostounix_filename (strcpy (tem, sh)); - } + { + tem = (char *) alloca (strlen (sh) + 1); + dostounix_filename (strcpy (tem, sh)); + Vshell_file_name = build_string (tem); + } + /* + ** Odd, no COMSPEC, so let's default to our + ** best guess for NT. + */ + else + { + Vshell_file_name = build_string ("/WINNT/system32/cmd.exe"); + } } - Vshell_file_name = build_string (sh ? sh : "/command.com"); -#else /* not DOS_NT */ +#else /* not VMS or WINDOWSNT */ + sh = (char *) egetenv ("SHELL"); Vshell_file_name = build_string (sh ? sh : "/bin/sh"); -#endif /* not DOS_NT */ -#endif /* not VMS */ +#endif } #if 0 diff -r e703507b8a00 -r 9ad43877534d src/config.h.in --- a/src/config.h.in Mon Aug 13 09:51:18 2007 +0200 +++ b/src/config.h.in Mon Aug 13 09:52:19 2007 +0200 @@ -409,8 +409,8 @@ /* Compile in support for OffiX Drag and Drop? Requires libdnd. */ #undef HAVE_OFFIX_DND -/* Compile in support for WindowMaker Application Icons. */ -#undef HAVE_WINDOWMAKER +/* Compile in support for proper session-management. */ +#undef HAVE_SESSION /* Define this if you want Mule support (multi-byte character support). There may be some performance penalty, although it should be small diff -r e703507b8a00 -r 9ad43877534d src/data.c --- a/src/data.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/data.c Mon Aug 13 09:52:19 2007 +0200 @@ -930,11 +930,10 @@ (function)) { CHECK_COMPILED_FUNCTION (function); - if (!XCOMPILED_FUNCTION (function)->flags.interactivep) - return Qnil; - return (list2 (Qinteractive, - compiled_function_interactive - (XCOMPILED_FUNCTION (function)))); + return XCOMPILED_FUNCTION (function)->flags.interactivep + ? list2 (Qinteractive, + compiled_function_interactive (XCOMPILED_FUNCTION (function))) + : Qnil; } DEFUN ("compiled-function-doc-string", Fcompiled_function_doc_string, 1, 1, 0, /* @@ -945,7 +944,6 @@ (function)) { CHECK_COMPILED_FUNCTION (function); - return compiled_function_documentation (XCOMPILED_FUNCTION (function)); } @@ -975,9 +973,9 @@ (function)) { CHECK_COMPILED_FUNCTION (function); - if (!XCOMPILED_FUNCTION (function)->flags.domainp) - return Qnil; - return compiled_function_domain (XCOMPILED_FUNCTION (function)); + return XCOMPILED_FUNCTION (function)->flags.domainp + ? compiled_function_domain (XCOMPILED_FUNCTION (function)) + : Qnil; } diff -r e703507b8a00 -r 9ad43877534d src/device-x.c --- a/src/device-x.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/device-x.c Mon Aug 13 09:52:19 2007 +0200 @@ -303,7 +303,7 @@ XIM_init_device(d); #endif /* HAVE_XIM */ -#ifdef HAVE_WINDOWMAKER +#ifdef HAVE_SESSION XtVaSetValues(DEVICE_XT_APP_SHELL (d), XtNmappedWhenManaged, False, XtNwidth, 1, @@ -320,7 +320,7 @@ free_argc_argv (argv); } -#endif /* HAVE_WINDOWMAKER */ +#endif /* HAVE_SESSION */ Vx_initial_argv_list = make_arg_list (argc, argv); free_argc_argv (argv); diff -r e703507b8a00 -r 9ad43877534d src/emacs.c --- a/src/emacs.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/emacs.c Mon Aug 13 09:52:19 2007 +0200 @@ -62,6 +62,9 @@ #endif #endif +/* For PATH_EXEC */ +#include "paths.h" + extern void memory_warnings (void *, void (*warnfun) (CONST char *)); #ifndef SYSTEM_MALLOC @@ -2360,7 +2363,7 @@ List of directories configured for package searching. */ ); #ifndef PACKAGE_PATH -#define PACKAGE_PATH "/etc/xemacs:~/.xemacs" +#define PACKAGE_PATH PATH_PREFIX "/lib/xemacs/packages:~/.xemacs" #endif Vpackage_path = decode_path(PACKAGE_PATH); diff -r e703507b8a00 -r 9ad43877534d src/eval.c --- a/src/eval.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/eval.c Mon Aug 13 09:52:19 2007 +0200 @@ -330,7 +330,7 @@ static Lisp_Object restore_entering_debugger (Lisp_Object arg) { - entering_debugger = ((NILP (arg)) ? 0 : 1); + entering_debugger = ! NILP (arg); return arg; } @@ -404,9 +404,9 @@ entering_debugger = 1; val = internal_catch (Qdebugger, call_debugger_259, arg, &threw); - return (unbind_to (speccount, ((threw) - ? Qunbound /* Not returning a value */ - : val))); + return unbind_to (speccount, ((threw) + ? Qunbound /* Not returning a value */ + : val)); } /* Called when debug-on-exit behavior is called for. Enter the debugger @@ -2124,7 +2124,7 @@ */ Lisp_Object -call_with_suspended_errors (lisp_fn_t fun, Lisp_Object retval, +call_with_suspended_errors (lisp_fn_t fun, volatile Lisp_Object retval, Lisp_Object class, Error_behavior errb, int nargs, ...) { diff -r e703507b8a00 -r 9ad43877534d src/event-Xt.c --- a/src/event-Xt.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/event-Xt.c Mon Aug 13 09:52:19 2007 +0200 @@ -612,112 +612,9 @@ /************************************************************************/ static Lisp_Object -x_to_emacs_keysym (XKeyPressedEvent *event, int simple_p) - /* simple_p means don't try too hard (ASCII only) */ +x_keysym_to_emacs_keysym (KeySym keysym, int simple_p) { char *name; - KeySym keysym = 0; - /* Apparently it's necessary to specify a dummy here (rather than - passing in 0) to avoid crashes on German IRIX */ - char dummy[256]; - -#ifdef HAVE_XIM - int len; - char buffer[64]; - char *bufptr = buffer; - int bufsiz = sizeof (buffer); - Status status; -#endif - -#ifdef HAVE_XIM -#ifdef XIM_MOTIF -#define LOOKUPSTRING \ - len = XmImMbLookupString (XtWindowToWidget (event->display, event->window), \ - event, bufptr, bufsiz, &keysym, &status); -#else /* XIM_XLIB */ -#define LOOKUPSTRING \ - len = XmbLookupString \ - (FRAME_X_XIC (x_any_window_to_frame \ - (get_device_from_display (event->display), event->window)), \ - event, bufptr, bufsiz, &keysym, &status); -#endif /* XIM_XLIB */ - LOOKUPSTRING; - check_status: /* Come-From XBufferOverflow */ - -#ifdef DEBUG_XEMACS - if (x_debug_events > 0) - { - stderr_out (" status="); -#define print_status_when(S) if (status == S) stderr_out (#S) - print_status_when (XLookupKeySym); - print_status_when (XLookupBoth); - print_status_when (XLookupChars); - print_status_when (XLookupNone); - print_status_when (XBufferOverflow); - - if (status == XLookupKeySym || status == XLookupBoth) - stderr_out (" keysym=%s", XKeysymToString (keysym)); - if (status == XLookupChars || status == XLookupBoth) - { - if (len != 1) - { - int j; - stderr_out (" chars=\""); - for (j=0; j= 127) - stderr_out (" char=0x%x", bufptr[0]); - else - stderr_out (" char=%c", bufptr[0]); - } - stderr_out ("\n"); - } -#endif /* DEBUG_XEMACS */ - - switch (status) - { - case XLookupKeySym: - case XLookupBoth: break; - - case XLookupChars: - { - /* Generate multiple emacs events */ - struct device *d = get_device_from_display (event->display); - Emchar ch; - Lisp_Object instream = - make_fixed_buffer_input_stream ((unsigned char *) bufptr, len); - - /* ### Use Fget_coding_system (Vcomposed_input_coding_system) */ - instream = - make_decoding_input_stream - (XLSTREAM (instream), Fget_coding_system (Qautomatic_conversion)); - - while ((ch = Lstream_get_emchar (XLSTREAM (instream))) != EOF) - { - Lisp_Object emacs_event = Fmake_event (); - XEVENT (emacs_event)->channel = DEVICE_CONSOLE (d); - XEVENT (emacs_event)->event_type = key_press_event; - XEVENT (emacs_event)->timestamp = event->time; - XEVENT (emacs_event)->event.key.modifiers = 0; - XEVENT (emacs_event)->event.key.keysym = make_char (ch); - enqueue_Xt_dispatch_event (emacs_event); - } - Lstream_close (XLSTREAM (instream)); - return Qnil; - } - case XLookupNone: return Qnil; - case XBufferOverflow: - bufptr = alloca (len+1); - bufsiz = len+1; - LOOKUPSTRING; - goto check_status; - } -#else /* ! HAVE_XIM */ - XLookupString (event, dummy, 200, &keysym, 0); -#endif /* HAVE_XIM */ - if (keysym >= XK_exclam && keysym <= XK_asciitilde) /* We must assume that the X keysym numbers for the ASCII graphic characters are the same as their ASCII codes. */ @@ -773,6 +670,124 @@ } } +static Lisp_Object +x_to_emacs_keysym (XKeyPressedEvent *event, int simple_p) + /* simple_p means don't try too hard (ASCII only) */ +{ + KeySym keysym = 0; + +#ifdef HAVE_XIM + int len; + char buffer[64]; + char *bufptr = buffer; + int bufsiz = sizeof (buffer); + Status status; +#ifdef XIM_XLIB + XIC xic = FRAME_X_XIC (x_any_window_to_frame + (get_device_from_display (event->display), + event->window)); +#endif /* XIM_XLIB */ +#endif /* HAVE_XIM */ + + if ( +#ifndef HAVE_XIM + 1 +#elif defined (XIM_MOTIF) + 0 +#else /* XIM_XLIB */ + !xic +#endif + ) + { + /* Apparently it's necessary to specify a dummy here (rather + than passing in 0) to avoid crashes on German IRIX */ + char dummy[256]; + XLookupString (event, dummy, 200, &keysym, 0); + return x_keysym_to_emacs_keysym (keysym, simple_p); + } + +#ifdef HAVE_XIM + Lookup_String: /* Come-From XBufferOverflow */ +#ifdef XIM_MOTIF + len = XmImMbLookupString (XtWindowToWidget (event->display, event->window), + event, bufptr, bufsiz, &keysym, &status); +#else /* XIM_XLIB */ + len = XmbLookupString (xic, event, bufptr, bufsiz, &keysym, &status); +#endif /* XIM_XLIB */ + +#ifdef DEBUG_XEMACS + if (x_debug_events > 0) + { + stderr_out (" status="); +#define print_status_when(S) if (status == S) stderr_out (#S) + print_status_when (XLookupKeySym); + print_status_when (XLookupBoth); + print_status_when (XLookupChars); + print_status_when (XLookupNone); + print_status_when (XBufferOverflow); + + if (status == XLookupKeySym || status == XLookupBoth) + stderr_out (" keysym=%s", XKeysymToString (keysym)); + if (status == XLookupChars || status == XLookupBoth) + { + if (len != 1) + { + int j; + stderr_out (" chars=\""); + for (j=0; j= 127) + stderr_out (" char=0x%x", bufptr[0]); + else + stderr_out (" char=%c", bufptr[0]); + } + stderr_out ("\n"); + } +#endif /* DEBUG_XEMACS */ + + switch (status) + { + case XLookupKeySym: + case XLookupBoth: + return x_keysym_to_emacs_keysym (keysym, simple_p); + + case XLookupChars: + { + /* Generate multiple emacs events */ + struct device *d = get_device_from_display (event->display); + Emchar ch; + Lisp_Object instream = + make_fixed_buffer_input_stream ((unsigned char *) bufptr, len); + + /* ### Use Fget_coding_system (Vcomposed_input_coding_system) */ + instream = + make_decoding_input_stream (XLSTREAM (instream), + Fget_coding_system (Qautomatic_conversion)); + + while ((ch = Lstream_get_emchar (XLSTREAM (instream))) != EOF) + { + Lisp_Object emacs_event = Fmake_event (); + XEVENT (emacs_event)->channel = DEVICE_CONSOLE (d); + XEVENT (emacs_event)->event_type = key_press_event; + XEVENT (emacs_event)->timestamp = event->time; + XEVENT (emacs_event)->event.key.modifiers = 0; + XEVENT (emacs_event)->event.key.keysym = make_char (ch); + enqueue_Xt_dispatch_event (emacs_event); + } + Lstream_close (XLSTREAM (instream)); + return Qnil; + } + case XLookupNone: return Qnil; + case XBufferOverflow: + bufptr = alloca (len+1); + bufsiz = len+1; + goto Lookup_String; + } +#endif /* HAVE_XIM */ +} + static void set_last_server_timestamp (struct device *d, XEvent *x_event) { diff -r e703507b8a00 -r 9ad43877534d src/event-stream.c --- a/src/event-stream.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/event-stream.c Mon Aug 13 09:52:19 2007 +0200 @@ -3652,7 +3652,7 @@ return Qnil; /* if we're currently in a menu accelerator, check there for further events */ -#if defined(HAVE_X_WINDOWS) && defined(HAVE_MENUBAR) +#if defined(HAVE_X_WINDOWS) && defined(HAVE_MENUBARS) if (lw_menu_active) { result = command_builder_operate_menu_accelerator (builder); @@ -3666,7 +3666,7 @@ if (NILP (result)) #endif result = command_builder_find_leaf_1 (builder); -#if defined(HAVE_X_WINDOWS) && defined(HAVE_MENUBAR) +#if defined(HAVE_X_WINDOWS) && defined(HAVE_MENUBARS) if (NILP (result) && EQ (Vmenu_accelerator_enabled, Qmenu_fallback)) result = command_builder_find_menu_accelerator (builder); @@ -4864,7 +4864,9 @@ DEFSUBR (Fthis_command_keys); DEFSUBR (Freset_this_command_lengths); DEFSUBR (Fopen_dribble_file); +#if defined(HAVE_X_WINDOWS) && defined(HAVE_MENUBAR) DEFSUBR (Faccelerate_menu); +#endif defsymbol (&Qpre_command_hook, "pre-command-hook"); defsymbol (&Qpost_command_hook, "post-command-hook"); diff -r e703507b8a00 -r 9ad43877534d src/frame-x.c --- a/src/frame-x.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/frame-x.c Mon Aug 13 09:52:19 2007 +0200 @@ -366,9 +366,9 @@ return; f = XFRAME (XCAR (rest)); -#ifndef HAVE_WINDOWMAKER +#ifndef HAVE_SESSION x_wm_maybe_store_wm_command (f); -#endif /* HAVE_WINDOWMAKER */ +#endif /* HAVE_SESSION */ } } @@ -1178,32 +1178,61 @@ Lisp_Object path = Qnil; Lisp_Object frame = Qnil; + Lisp_Object dnd_data = Qnil; + Lisp_Object dnd_type = Qnil; - struct gcpro gcpro1, gcpro2; + struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; Type = DndDataType (event); - if ((Type != DndFile) && (Type != DndFiles) && (Type != DndExe)) - return; + if (Type < 0) /* pseudo event produces -1 as type */ + { + stderr_out("DndDropHandler: pseudo drop received\n"); + return; + } + DndGetData (&Data, &Size); - GCPRO2 (path, frame); + GCPRO4 (path, frame, dnd_data, dnd_type); frame = make_frame ((struct frame *) data); - if (Type == DndFiles) + stderr_out("DndDropHandler: real drop received (T%d Sl%d)\n",Type,Size); + + switch (Type) { + case DndFiles: while (*Data) { len = strlen ((char*) Data); - path = make_string ((char*) Data, len); + path = make_ext_string ((char*) Data, len, FORMAT_FILENAME); va_run_hook_with_args (Qdrag_and_drop_functions, 2, frame, path); Data += len+1; } - } - else - { - path = make_string ((char*) Data, strlen (Data)); + break; + case DndFile: + path = make_ext_string ((char*) Data, strlen(Data), FORMAT_FILENAME); va_run_hook_with_args (Qdrag_and_drop_functions, 2, frame, path); + break; + case DndText: + dnd_data = make_ext_string ((char *) Data, strlen(Data), FORMAT_FILENAME); + va_run_hook_with_args (Qdrag_and_drop_functions, 3, frame, path, dnd_data); + break; + case DndDir: + case DndLink: + case DndExe: + case DndURL: + case DndMIME: + dnd_type = make_int (Type); + dnd_data = make_ext_string ((char*) Data, strlen(Data), FORMAT_FILENAME); + va_run_hook_with_args (Qdrag_and_drop_functions, 4, + frame, path, dnd_data, dnd_type); + break; + default: /* Unknown, RawData and any other type */ + dnd_type = make_int (Type); + dnd_data = make_ext_string ((char*) Data, Size, FORMAT_BINARY); + va_run_hook_with_args (Qdrag_and_drop_functions, 4, + frame, path, dnd_data, dnd_type); + break; } UNGCPRO; @@ -1870,9 +1899,9 @@ /* tell the window manager about us. */ x_wm_store_class_hints (shell_widget, XtName (frame_widget)); -#ifndef HAVE_WINDOWMAKER +#ifndef HAVE_SESSION x_wm_maybe_store_wm_command (f); -#endif /* HAVE_WINDOWMAKER */ +#endif /* HAVE_SESSION */ x_wm_hack_wm_protocols (shell_widget); } @@ -2447,10 +2476,10 @@ Widget w = FRAME_X_SHELL_WIDGET (f); Lisp_Object popup, frame; -#ifndef HAVE_WINDOWMAKER +#ifndef HAVE_SESSION if (FRAME_X_TOP_LEVEL_FRAME_P (f)) x_wm_maybe_move_wm_command (f); -#endif /* HAVE_WINDOWMAKER */ +#endif /* HAVE_SESSION */ /* Frames with the popup property are using other frames as their widget parent. Deleting them are their parent has already been diff -r e703507b8a00 -r 9ad43877534d src/gui-x.c --- a/src/gui-x.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/gui-x.c Mon Aug 13 09:52:19 2007 +0200 @@ -293,7 +293,7 @@ /* This is the timestamp used for asserting focus so we need to get an up-to-date value event if no events has been dispatched to emacs */ -#if defined(HAVE_MENUBAR) +#if defined(HAVE_MENUBARS) DEVICE_X_MOUSE_TIMESTAMP (d) = x_focus_timestamp_really_sucks_fix_me_better; #else DEVICE_X_MOUSE_TIMESTAMP (d) = DEVICE_X_GLOBAL_MOUSE_TIMESTAMP (d); diff -r e703507b8a00 -r 9ad43877534d src/input-method-xlib.c --- a/src/input-method-xlib.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/input-method-xlib.c Mon Aug 13 09:52:19 2007 +0200 @@ -154,7 +154,7 @@ XIC xic; Widget w = FRAME_X_TEXT_WIDGET (f); Window win = XtWindow (w); - XRectangle p_area = {0,0,0,0}, s_area={0,0,0,0}; + XRectangle p_area = {0,0,1,1}, s_area={0,0,1,1}; XPoint spot = {0,0}; XIMStyle style; XVaNestedList p_list, s_list; @@ -224,7 +224,6 @@ XNBackground, xic_vars.bg, XNFontSet, xic_vars.fontset, NULL); - FRAME_X_XIC (f) = xic = XCreateIC (xim, XNInputStyle, style, diff -r e703507b8a00 -r 9ad43877534d src/mule-coding.c --- a/src/mule-coding.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/mule-coding.c Mon Aug 13 09:52:19 2007 +0200 @@ -316,33 +316,30 @@ } } -static int +static enum eol_type symbol_to_eol_type (Lisp_Object symbol) { CHECK_SYMBOL (symbol); - if (NILP (symbol)) return EOL_AUTODETECT; - else if (EQ (symbol, Qlf)) return EOL_LF; - else if (EQ (symbol, Qcrlf)) return EOL_CRLF; - else if (EQ (symbol, Qcr)) return EOL_CR; - else - signal_simple_error ("Unrecognized eol type", symbol); - - return 0; /* not reached */ + if (NILP (symbol)) return EOL_AUTODETECT; + if (EQ (symbol, Qlf)) return EOL_LF; + if (EQ (symbol, Qcrlf)) return EOL_CRLF; + if (EQ (symbol, Qcr)) return EOL_CR; + + signal_simple_error ("Unrecognized eol type", symbol); + return EOL_AUTODETECT; /* not reached */ } static Lisp_Object -eol_type_to_symbol (int eol_type) +eol_type_to_symbol (enum eol_type type) { - switch (eol_type) + switch (type) { case EOL_LF: return Qlf; case EOL_CRLF: return Qcrlf; case EOL_CR: return Qcr; case EOL_AUTODETECT: return Qnil; - default: abort (); + default: abort (); return Qnil; /* not reached */ } - - return Qnil; /* not reached */ } static void @@ -483,7 +480,7 @@ } static struct Lisp_Coding_System * -allocate_coding_system (int type, Lisp_Object name) +allocate_coding_system (enum coding_system_type type, Lisp_Object name) { struct Lisp_Coding_System *codesys; @@ -894,18 +891,17 @@ } static Lisp_Object -subsidiary_coding_system (Lisp_Object coding_system, int eol_type) +subsidiary_coding_system (Lisp_Object coding_system, enum eol_type type) { struct Lisp_Coding_System *cs = XCODING_SYSTEM (coding_system); Lisp_Object new_coding_system; if (CODING_SYSTEM_EOL_TYPE (cs) != EOL_AUTODETECT) return coding_system; - if (eol_type == EOL_AUTODETECT) - return coding_system; - - switch (eol_type) + + switch (type) { + case EOL_AUTODETECT: return coding_system; case EOL_LF: new_coding_system = CODING_SYSTEM_EOL_LF (cs); break; case EOL_CR: new_coding_system = CODING_SYSTEM_EOL_CR (cs); break; case EOL_CRLF: new_coding_system = CODING_SYSTEM_EOL_CRLF (cs); break; @@ -1210,7 +1206,7 @@ struct detection_state { - int eol_type; + enum eol_type eol_type; int seen_non_ascii; int mask; @@ -1276,7 +1272,7 @@ return (mask & (mask - 1)) == 0; } -static int +static enum eol_type detect_eol_type (struct detection_state *st, CONST unsigned char *src, unsigned int n) { @@ -1428,7 +1424,7 @@ static void determine_real_coding_system (Lstream *stream, Lisp_Object *codesys_in_out, - int *eol_type_in_out) + enum eol_type *eol_type_in_out) { struct detection_state decst; @@ -1507,11 +1503,8 @@ } if (decst.mask == ~0) - { - val = subsidiary_coding_system (Fget_coding_system - (Qautomatic_conversion), - decst.eol_type); - } + val = subsidiary_coding_system (Fget_coding_system (Qautomatic_conversion), + decst.eol_type); else { int i; @@ -1645,7 +1638,7 @@ EOL type stored in CODESYS because the latter might indicate automatic EOL-type detection while the former will always indicate a particular EOL type. */ - int eol_type; + enum eol_type eol_type; /* Additional ISO2022 information. We define the structure above because it's also needed by the detection routines. */ @@ -3311,7 +3304,7 @@ default: if (0x28 <= c && c <= 0x2F) { - iso->esc = c - 0x28 + ISO_ESC_2_8; + iso->esc = (enum iso_esc_flag) (c - 0x28 + ISO_ESC_2_8); goto not_done; } @@ -3414,7 +3407,7 @@ case ISO_ESC_2_4: if (0x28 <= c && c <= 0x2F) { - iso->esc = c - 0x28 + ISO_ESC_2_4_8; + iso->esc = (enum iso_esc_flag) (c - 0x28 + ISO_ESC_2_4_8); goto not_done; } if (0x40 <= c && c <= 0x42) @@ -3430,7 +3423,7 @@ default: { - int type; + int type =-1; if (c < '0' || c > '~') return 0; /* bad final byte */ @@ -3449,6 +3442,11 @@ CHARSET_TYPE_96X96 : CHARSET_TYPE_94X94); reg = (iso->esc - ISO_ESC_2_4_8) & 3; } + else + { + /* Can this ever be reached? -slb */ + abort(); + } cs = CHARSET_BY_ATTRIBUTES (type, c, *flags & CODING_STATE_R2L ? diff -r e703507b8a00 -r 9ad43877534d src/mule-wnnfns.c --- a/src/mule-wnnfns.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/mule-wnnfns.c Mon Aug 13 09:52:19 2007 +0200 @@ -702,7 +702,6 @@ */ (bunNo, len, dai)) { - Lisp_Object val; int cnt, no; int snum; CHECK_INT (bunNo); @@ -728,7 +727,6 @@ (bunNo)) { Lisp_Object val; - struct wnn_jdata *info_buf; unsigned char cbuf[512]; w_char wbuf[256]; int bun_no, yomilen, jirilen, i; @@ -833,7 +831,6 @@ (bunNo)) { int no; - Lisp_Object val; int snum; if ((snum = check_wnn_server_type ()) == -1) return Qnil; if (EQ(bunNo, Qnil)) no = -1; @@ -978,7 +975,6 @@ int i, count; w_char wbuf[256]; unsigned char kanji_buf[256]; - int kanji_len; int snum; unsigned char lb; CHECK_STRING (yomi); diff -r e703507b8a00 -r 9ad43877534d src/redisplay.c --- a/src/redisplay.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/redisplay.c Mon Aug 13 09:52:19 2007 +0200 @@ -8259,11 +8259,9 @@ */ ); no_redraw_on_reenter = 0; - /* #### This should be removed in 19.14 */ DEFVAR_LISP ("window-system", &Vwindow_system /* A symbol naming the window-system under which Emacs is running, such as `x', or nil if emacs is running on an ordinary terminal. -This variable is OBSOLETE and will be removed in a future version. */ ); Vwindow_system = Qnil; diff -r e703507b8a00 -r 9ad43877534d src/regex.c --- a/src/regex.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/regex.c Mon Aug 13 09:52:19 2007 +0200 @@ -5018,7 +5018,7 @@ EXTRACT_NUMBER_AND_INCR (mcnt, p); DEBUG_PRINT3 (" %d (to 0x%p):\n", mcnt, p + mcnt); - PUSH_FAILURE_POINT (p + mcnt, NULL, -2); + PUSH_FAILURE_POINT (p + mcnt, (void *) 0, -2); break; @@ -5274,7 +5274,7 @@ DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n"); /* It doesn't matter what we push for the string here. What the code at `fail' tests is the value for the pattern. */ - PUSH_FAILURE_POINT (NULL, NULL, -2); + PUSH_FAILURE_POINT ((void *) 0, (void *) 0, -2); goto unconditional_jump; @@ -5287,7 +5287,7 @@ DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n"); /* See comments just above at `dummy_failure_jump' about the two zeroes. */ - PUSH_FAILURE_POINT (NULL, NULL, -2); + PUSH_FAILURE_POINT ((void *) 0, (void *) 0, -2); break; /* Have to succeed matching what follows at least n times. diff -r e703507b8a00 -r 9ad43877534d src/s/freebsd.h --- a/src/s/freebsd.h Mon Aug 13 09:51:18 2007 +0200 +++ b/src/s/freebsd.h Mon Aug 13 09:52:19 2007 +0200 @@ -35,8 +35,10 @@ /* Kludge to work around setlocale(LC_ALL,...) not working after 01/1997 */ #if __FreeBSD_version >= 199701 +#ifndef NOT_C_CODE #include #define setlocale(locale_category, locale_spec) setlocale(LC_CTYPE, locale_spec) +#endif /* C code */ #endif #define LIBS_TERMCAP "-ltermcap" diff -r e703507b8a00 -r 9ad43877534d src/s/hpux9.h --- a/src/s/hpux9.h Mon Aug 13 09:51:18 2007 +0200 +++ b/src/s/hpux9.h Mon Aug 13 09:52:19 2007 +0200 @@ -34,7 +34,7 @@ #ifdef __hp9000s300 #define C_SWITCH_SYSTEM "-Aa -D_HPUX_SOURCE" #else -#define C_SWITCH_SYSTEM "-Ae -Wp,-H100000" +#define C_SWITCH_SYSTEM "-Ae -Wp,-H100000 +Olibcalls" #endif /* XEmacs: commented out #else diff -r e703507b8a00 -r 9ad43877534d src/sysdep.c --- a/src/sysdep.c Mon Aug 13 09:51:18 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 09:52:19 2007 +0200 @@ -67,6 +67,14 @@ #include #endif +#ifdef WINDOWSNT +#include +/* In process.h which conflicts with the local copy. */ +#define _P_WAIT 0 +int _CRTAPI1 _spawnlp (int, const char *, const char *, ...); +int _CRTAPI1 _getpid (void); +#endif + /* ------------------------------- */ /* VMS includes */ /* ------------------------------- */ @@ -604,11 +612,17 @@ str[len] = 0; xyzzy: +#ifdef WINDOWSNT + pid = -1; +#else /* not WINDOWSNT */ + pid = vfork (); if (pid == -1) error ("Can't spawn subshell"); if (pid == 0) + +#endif /* not WINDOWSNT */ { char *sh = 0; @@ -644,9 +658,21 @@ Fcons (build_string (sh), Qnil)); #endif #else /* not MSDOS */ +#ifdef WINDOWSNT + /* Waits for process completion */ + pid = _spawnlp (_P_WAIT, sh, sh, NULL); + if (pid == -1) + write (1, "Can't execute subshell", 22); + +#if 0 +/* This relates to the GNU Emacs console port, not required under X ? */ + take_console (); +#endif +#else /* not WINDOWSNT */ execlp (sh, sh, 0); write (1, "Can't execute subshell", 22); _exit (1); +#endif /* not WINDOWSNT */ #endif /* not MSDOS */ } @@ -2640,7 +2666,7 @@ new_action.sa_flags = 0; #endif sigaction (signal_number, &new_action, &old_action); - return (old_action.sa_handler); + return (signal_handler_t) (old_action.sa_handler); #endif /* not 0 */ } diff -r e703507b8a00 -r 9ad43877534d version.sh --- a/version.sh Mon Aug 13 09:51:18 2007 +0200 +++ b/version.sh Mon Aug 13 09:52:19 2007 +0200 @@ -1,5 +1,5 @@ #!/bin/sh emacs_major_version=20 emacs_minor_version=3 -emacs_beta_version=15 -xemacs_codename="Berlin" +emacs_beta_version=16 +xemacs_codename="Budapest"