Mercurial > hg > xemacs-beta
diff CHANGES-beta @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 0b7f3b634cf2 |
children | b9518feda344 |
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 09:00:04 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 09:02:59 2007 +0200 @@ -1,63 +1,1573 @@ -*- indented-text -*- -to 19.16 -- "Lille" --- Really apply the Irix build fix +to 20.0 beta30 + +-- Syntax entry specification "e" has been removed. +-- updated xemacs.1 man page for new argument list handling. +-- updated internals document to reflect new DEFUN macro. + +-- (load-average) works on Solaris. Thanks to Hrvoje Niksic. + +-- Command line processing now order independent +-- Command line like: xemacs file -eval '(munge-file)' + now works. +-- Now uses XmIm* functions for XIM input when available +-- Major cleanup of configure.in - preparation for Autoconf 2 upgrade. +-- `man' directory reorganized. +-- The `dvi' and `info' targets now work in the man directory. +-- texinfo 3.7 no longer comes with XEmacs. User must supply own + makeinfo or TeX to rebuild info files or to print hardcopy. +-- execvp has been encapsulated. The command line of executed + commands now is converted using pathname-coding-system before the + command is run. +-- Use flag -fno-gnu-linker if using gcc with dynodump (i.e. on + solaris) +-- m4-mode 1.8 +-- etags.c 11.78 +-- ilisp 5.8 +-- cperl-mode 1.28 +-- cc-mode 4.322 +-- elp 2.37 +-- python-mode 2.83 +-- load-warn-when-source-newer now defaults to t +-- purespace messages from loadup.el now much more reasonable. +-- Changed lispref documentation to refer to frame properties, not parameters. +-- Synched up files.el: file-relative-name (Steven Baur's patch) +-- Fix: shell history works if commands contain non-ASCII characters. +-- Fix: shell commands can contain non-ASCII characters. +-- Fix: dired on Non-ASCII filename now works +-- Fix: repeat-complex-command fails when repeating M-x emacs-version +-- tm 7.94 integrated - default in XEmacs/Mule + - Japanese newsgroups now readable without .emacs modifications. +-- Johan Vroman's iso-acc.el ported to XEmacs by Alexandre Oliva +-- Made startup option processing more sensible + - Eliminate most order dependencies + - more compatible with FSF + - Some additional flags (-V equivalent to -version, -flags == -help) +-- Michael Sperber's psgml-html patch +-- Makefile rule to create TAGS file now properly creates tags for + DEFVAR_* macros. +-- DEFUN macro has major facelift: + - No need to specify both Ffoo and Sfoo + - Arglist is more Lispy - no more K&R style function definitions. + - DOC file creation modified to deal with new style DEFUN. +-- X selection code Re-Mule-ized - Should interoperate with other X clients. +-- beginnings of TM integration +-- When regexp is [^CHARACTERS] and first character of string is + non-ASCII character, XEmacs crashes. Fixed for real this time? +-- fixed redundant, buggy calls to (message (format ...)) + In particular (occur "%") now works. +-- support for creating .i files (useful for debugging) in src/ +-- make src/Makefile.in.in makefile-mode-friendly +-- define and use macros XSTRING_LENGTH, XSTRING_DATA, with obvious + meanings. +-- eliminate calls to x_smash_bastardly_shell_position. The Xt shell + widget core fields are no longer overwritten with values that Xt + would not have put there itself. +-- support for CDE drag and drop of data, not just files. +-- XIM patch from Jareth Hein (but XIM still doesn't work for him) +-- COMPREHENSIBLE puresize information when --with-debug specified +-- if get_eof_char is called without a pty, should not call tcgetattr() +-- Fix crash if delete-frame-hook selects the about-to-be-deleted + frame, by calling delete-frame-hook at the beginning of + delete-frame code. +-- Fix run-time warnings detected by Sun WorkShop dbx rtc tool. +-- possible fix for assertion failure in open-network-stream +-- server-make-window-visible more portable +-- locate-library now accpts both symbols and strings. +-- buffer names in the buffer menus are no longer translated - they + are put into the `suffix' part of the label. + +to 20.0 beta29 + +-- fast-lock.el 3.10.01 +-- ksh-mode.el 2.9 +-- mode-motion+.el 3.16 +-- psgml-1a12 +-- executable.el, imenu.el, sh-script.el and uniquify.el now included +-- rfc1521 patches to VM from Jamie +-- OffiX support added +-- lots of 19.34 syncing, most by Steven Baur +-- NetBSD on sparc platform fixes +-- additional featurep checks on 'scrollbar and 'menubar +-- configure changes to allow sunos4shr args to be picked up correctly + +to 20.0 beta28 + +-- gnus 5.2.40 +-- etc 0.22 +-- w3 3.0.12 +-- reporter 3.3 +-- psgml 1a11 +-- cc-mode 4.315 +-- hm--html-menus 5.0 +-- other assorted fixes and changes +-- python-mode 2.73 +-- minor corrections to sample.emacs +-- added localization hook for lisp/locale/LANG/locale-start.el +-- face-complain-about-font now offers an Action Plan after whining. +-- Editing of filenames encoded in pathname-coding-system now works. +-- Characters in current locale displayed properly in frame title and + icon name. +-- Characters in current locale displayed properly in menubar. +-- Resize frame, then (set-frame-properties (selected-frame) '(left 100)) + would always move to (x=100, y=0) +-- {de,en}code-coding-string rewritten - should work now. +-- delete-frame-hook docstring warns not to select frame-to-be-deleted +-- When regexp is [^CHARASTERS] and first character of string is + non-ASCII character, XEmacs crashes. + Oops ix! Fix undone. Problem still there. +-- (XIM) ^G and friends no longer self-inserting +-- (Mule) byte-compilation problems fixed +-- describe-last-error fixed +-- frame 'minibuffer property correctly computed. +-- implementation of (set-charset-registry) +-- (charset-dimension) now works +-- Setting language environment to japanese does + (set-charset-registry 'ascii "JISX0201") +-- Fixed encode-coding-string, decode-coding-string +-- face-complain-about-font now gives more useful warning. + + +to 20.0 beta27 + +-- gnus 5.2.39 +-- etc 0.20 +-- w3 3.0.11 +-- url 1.0.41 +-- canna.el patch +-- chinese font patch +-- stringp nil error when starting sparcworks +-- call7 and call8 had incorrect array sizes +-- makefile mode Error in `pre-idle-hook' (setting hook to nil): + (void-function makefile-space-face) +-- Crashes when built on X11R5 and run on X11R6 fixed +-- Lisp backtrace is now printed on all crashes, not just debug build +-- XIM input now generates true events. As a result it works with isearch. +-- 20.0/Mule can now byte-compile its own elisp files. +-- LOTS of typos fixed. +-- 20.0/Mule - Language Environment menu no longer shrinks to one element. +-- 20.0/Mule - no more Vietnamese language build-time warnings. +-- sunpro-init no longer opens /net/bin with possible hang at startup. +-- switch-to-buffer-other-window reverted to old-style behaviour +-- python-mode 2.72 +-- auto-mode-alist regexps reorganized for efficiency +-- interpreter-mode-alist regexps now look at entire first line. +-- new (interactive) spec `i' can be used to skip arguments. +-- dired works in Asian locales. +-- (Mule) write-region now works. + +to 20.0 beta26 + +-- gnus 5.2.25 +-- browse-url 0.38 +-- viper 2.90 +-- XEmacs web page entries on help menu now reference + browse-url-browser-function +-- problem with using dired-mode-font-lock-keywords fixed +-- new variable `allow-deletion-of-last-visible-frame' +-- NEED_LIBW handled +-- glyphs-x.c should really build with older png libs now +-- balloon-help crash fixed +-- A patch for crash in multiple_change_finish_up which Lars hit. I + don't know if it is fully correct but it should be safe and prevent + the crash. +-- some Unixware patches +-- some additional SCO patches +-- auto-show-mode is now off by default in edit-faces-mode +-- incorrect echoing when hitting 'f1 in tty mode fixed +-- png build problem fixed +-- terminal.el env requirement removed +-- gdbglobal doesn't turn on everywhere anymore +-- The bug where window-displayed-height didn't always return the + correct value is fixed. The same bug was responsible for + shrink-window-if-larger-than-buffer sometimes failing to work + correctly. +-- The force option to delete-frame is back. You can no longer delete + the last visible or iconic frame unless the second arg to + delete-frame is non-nil. +-- Darrell Kindred's patch fro the ^@ problem +-- a number of random elisp changes from Jamie +-- --with-cde flag is back +-- revert-buffer no longer causes complete refontification in lazy-lock. +-- some more options on Options menu, for Printing. -to 19.16 -- "Nancy" --- about.el touch up, new faces, new entries --- BSD build fix --- Irix build fix +to 20.0 beta25 + +-- w3 2.3.67 +-- url 1.0.34 +-- ediff 2.61 +-- vm 5.96 +-- viper 2.89 +-- gnus 5.2.19 +-- browse-url 0.36 +-- corrected modeline overwriting being triggered by using ispell +-- fixed crash in tty-mode with edit-faces (again) +-- infinite loop when using surrogate minibuffer fixed +-- corrected handling of buffer arg to call-process +-- SCO 5 patches from J. Kean Johnston +-- patch from Bill Perry to eliminate using temporary files when + handling PNG files +-- Sun-provided CDE-friendly icon now default XEmacs icon. +-- canna support integrated (Thanks to Moroika Tomohiko). +-- apropos.el sync'ed with FSF Emacs 19.31 - Fixes the + `Nothing to follow here' problem. +-- set-process-filter no longer crashes if the process is dead. +-- x-compose.el now works again on Solaris. +-- New function x-keysym-on-keyboard-p helps determine keyboard + characteristics for key rebinding: + + x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE) + -- a built-in function. + Return true if KEYSYM names a key on the keyboard of DEVICE. + More precisely, return true if pressing a physical key + on the keyboard of DEVICE without any modifier keys generates KEYSYM. + Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in + /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. + +-- Sun key rebinding changed yet again to use function-key-map. + Type 4 keyboards have r35 mapped to `next'. + Type 5 keyboards already have `next', so map r35 to `kp_next'. +-- (Mule) Some menubar items will be translated by default in a + Japanese locale. +-- Sun key rebinding changed again to use function-key-map. +-- inheritance loops in face property specifications no longer cause + XEmacs to crash. +-- minibuffer-setup-hook no longer clobbered by read-file-name. +-- extra icons in Info mode removed. +-- XEmacs info top level sub-headers synched up with lower-level headers. +-- gnuclient prompts you with a dialog box when asking questions. +-- the yes/no dialog box now has sane options: yes, no, yes all, no all, + and cancel. +-- make-face-bold, make-face-italic, et al. do a better job than before -- + they know about inheritors like [bold] and [italic], and will use + one if their normal X frobbing isn't successful. +-- better handling of bad menu filter functions. +-- buffers-menu improvements. +-- query-replace now disables case-folding if uppercase letters are + in the search string, like isearch does. (To turn both of these off, + set `search-caps-disable-folding' to non-nil.) +-- C-h ? ? works. +-- Chuck -- you need to re-byte-compile finder.el to fix C-h p under 20.0. + It wouldn't hurt to recompile everything. +-- weird bug with markers and standard-output fixed. +-- save-options now saves to a file `.xemacs-options' instead of directly + to .emacs. .emacs is set to load .xemacs-options. The file is + loaded with `load-options-file', which will allow eventually for + automatic updating of out-of-date options files. +-- Pretty-much everything in that spawn-of-hell file terminfo.c + is commented out now for most systems, since we didn't actually + need any of it! + +to 20.0 beta24 + +-- gnus 5.2.12 +-- filladapt 2.08 +-- fixed padding problem in modeline +-- fixed geometry problem with Athena scrollbar; it no longer has any + border and isn't going to at least for 19.14 +-- bug where save-places didn't work correctly with a file given on + the command line is fixed +-- The global ospeed is completely unused now if TERMIOS is defined. + Before I actually remove the defines (which might fix those header + conflicts) I want some confirmation that doing this doesn't cause + problems in tty mode. This change fixes a crash being seen when + running with the -nw flag on Irix 5.3 (binary built with gcc). +-- minibuffer echoing now works properly with surrogate minibuffers +-- A number of crashes which were reported when trying to use + surrogate minibuffers are fixed. +-- font-lock-add-colors now adds colors and only colors +-- --exec-prefix and the other path altering flags should work + NOTE: I have not fully tested it because I would have to do + nothing other than run configure all day to do so. +-- It should now work to use XEmacs as a login shell; note that if you + start to stray from a default installation setup this may still be + broken. +-- possible fix for Vladimir's crash in Lstream_close(). + +to 20.0 beta23 -to 19.16 -- "Bordeaux" --- about.el touch up --- TM and MH-e PGP problem documented in PROBLEMS +-- gnus 5.2.10 +-- w3 2.3.65 +-- url 1.0.32 +-- ispell.el 2.37 +-- viper 2.88 +-- fixed bug which was leaving modeline droppings next to the scrollbars +-- hack from Jamie to make gdb popup a dialog box to answer y/n + questions when using the toolbar +-- patch from Bill Perry to eliminate using temporary files when + handling JPEG's +-- patch from Bill Perry to support 'pointer extent property +-- corrected a bug where annotations in the left outside margin which + were equal to the width of the margin would not be displayed +-- Sun keybindings done like in 19.13 - true X keysym always works. +-- ispell works - (accept-process-output) bug fixed. +-- M-x manual-entry works on SysV with RosettaMan installed. +-- process output no longer inserts gratuitious C-d's UNLESS line to + be sent to process is longer than 256 characters. + (This still needs to be fixed so that C-d's are only inserted if + the tty is in canonical mode). +-- More type casting fixes to remove compiler warnings. +-- Random improvements to the Lisp Reference Manual. +-- XIM XCreateIC now always specifies a `Spot Location'. +-- If `sparcworks' is not on the PATH, but is in /opt/SUNWspro/bin, + add /opt/SUNWspro/bin to exec-path, and run eos::start. + +to 20.0 beta22 + +-- w3 2.3.63 +-- url 1.0.31 +-- fixed crash in gif_instantiate when starting w3 in tty mode +-- fixed crash caused by grayscale jpegs +-- patch from Steven Baur to the psgml dtd catalog +-- patches to improve Athena scrollbars +-- fixes to delbackspace.el +-- merged s&m/ files, config*, unex* (mostly), getloadavg.c up to FSF 19.31. + This might fix Lynn's AIX problems. +-- better Java font-lock keywords (e.g. tries real hard to fontify + method names in their definitions). +-- problems with compiling with --debug=no should be fixed. +-- edit-faces in TTY core dump fixed. + +to 20.0 beta21 + +-- w3 2.3.61 +-- url 1.0.29 +-- oo-browser 2.9.12 (adds python support) +-- fixed problem with display of right side toolbar +-- removed fa-extras.el +-- AIX configure patchs +-- updated sysdep.el from Bill Perry +-- delbackspace.el now uses the new key-translation-map, so it's less + kludgy. +-- vrml-mode.el gained some VRML 2.0 support. +-- fixed crash in x_output_string triggered by balloon help; this + almost certainly was causing a number of other reported crashes +-- fix for "obfuscated and incorrect way of saying 'Solaris'" +-- abort() in execute_internal_event() should be fixed +-- gnuattach now opens a TTY on *scratch* if given no args. +-- gnuattach now passes in the TERM type of the TTY it's run on. +-- TTY routines in XEmacs now use filedescs directly instead of FILE *'s; + should fix AIX gnuattach problem. +-- VM is smart about whether to install its toolbar on the selected frame + or current buffer. +-- new function `set-device-class' (you can say that your TTY device + is color even if it's not apparent from the TERM type) +-- selection/unselection of devices/consoles is "idempowered". +-- added option for sample.emacs to the Help menu. + +to 20.0 beta20 + +-- w3 2.3.54 +-- url 1.0.23 +-- viper 2.87 +-- ediff 2.60 +-- more NEWS file updating +-- Gnus toolbar is back +-- browse-url functions now autoload +-- patch from Darrell Kindred to fix auto-show problem with + (set-specifier left-margin-width 10) +-- patch from Darrell Kindred to fix isearch buglet +-- patch for bad paste of rectangular regions +-- fixed crash when starting w3 in TTY mode +-- memoize_extent_face_internal() crashes fixed. +-- paths.el recomputes salient paths at run-time. +-- new function `running-temacs-p'. +-- missing functions set-face-strikethru-p, face-strikethru-p added. +-- -*- Mode: foo -*- with capital "Mode" wasn't recognized but now is. + (RMS lossage.) +-- Obsolete make-cursor added back. +-- sample.emacs updated to use new pointer stuff. +-- multi-device TTY after X, gnuattach should work properly. +-- gnuattach has manpage documentation. +-- XEmacs in TTY mode now correctly restores all terminal settings + when exiting. + +to 20.0 beta19 -to 19.16 pre6 -- "New York" --- Fix for using a pixmap background --- about.el updated --- Irix 6 build problem fixed --- W3 build problem fixed --- `sentence-end-double-space' doc string fixed --- Lucid scrollbar bug fixed (keyboard grab released when widget disappears) --- Iris4 build problem fixed +-- w3 2.3.52 +-- url 1.0.21 +-- func-menu 2.43 +-- pcl-cvs autoloads corrected +-- --extra-verbose now implies --verbose as well +-- crash in x_get_gc when called from x_output_string should be fixed +-- The configure.in code to detect h_errno and sigsetjmp was broken, + unless your compiler supports nested functions (as gcc does). + AC_COMPILE_CHECK takes a FUNCTION BODY, not a FUNCITON, as one of + the arguments. I have some trepidation on making these changes as + there are some comments in solaris header files about disabling + sigsetjmp, but at least the configure test now works - and XEmacs + still seems to, too. +-- Sun support in configure.in has been rewritten. SunOS 4.1.1 through + 4.1.4 has been tested. The configure code for suns has been greatly + simplified. +-- Xmu detection should now work on SunOS4. + +to 20.0 beta18 + +-- pcl-cvs 1.7 ; please test +-- w3 2.3.43 +-- url 1.0.20 +-- ediff 2.59 (again; this should have a higher rev) +-- follow 1.6 +-- config.guess and config.sub updating; may cause some configuration + problems +-- dynamic or lack thereof lazy-lock bug fixed +-- word-search-{forward,backward} crash fixed +-- easymenu.el patch from Per Abrahamsen +-- ClearCase VC support from Rod Whitby +-- lib-complete now dumped; improved find-library +-- make-x-device patch for TTY mode from Bill Perry +-- extent-faces-as-list lossage patch from Bill Perry +-- multiple definition cleanup +-- mailcrypt update for sgnus +-- new function isearch-toggle-case-fold +-- new function device-sound-enabled-p +-- background.el lossage fixed +-- find-dired lossage fixed +-- if XEmacs cannot deduce a bold-italic font from the default, try + copying the bold face and doing make-face-italic - if that fails, + try copying the italic face and doing make-face-bold. With the + XResources in the bug report, I get the correct fonts now - please + try. +-- default-popup-menu now intelligently greys out its menu items +-- don't put up the load .emacs button in the menubar if the file + doesn't exist +-- actually let the 'Frame-local font menu' work! The call to + (set-face-font 'default ...) was not specifying the frame as a + locale, so all changes to that face were global. +-- more bugs fixed, including some for core dumps. If there are any + remaining core dumps in b18, please yell so that they get fixed. +-- `pointer' face works now. +-- `colorize-image-instance' changed incompatibly (previously it did + bad things). I don't think this matters because no one seems to + use this function anyway. +-- browse-url 0.30 (includes Lynx support) +-- updated f90.el +-- cperl-mode (although not enabled by default) +-- skeleton.el +-- improved Linux native sound support +-- updated PROBLEMS (synched with 19.30) +-- CDE autodetected. +-- initial unification of browser-sending support. +-- fixes to focus handling -- should fix "delay noticing focus change after VM + invoked" +-- uses ncurses if available -- better terminal support. +-- if you have color xterm and set your TERM to xterm-color, + XEmacs will use color on TTY's (at least under Linux). + Under linux, TERM=linux or TERM=ansi also has this effect. + (In general, any terminal type that defines color capabilities + in terminfo.) + +to 20.0 beta17 + +-- w3 2.3.42 +-- url 1.0.19 +-- mh-e 5.0.2 +-- XIM work from Martin +-- electric modes synched up with FSF 19.30(.97). +-- func-menu 2.41. +-- no cursor blink at eol fixed +-- lots more bugs fixed, see the Web page. +-- more TTY colors. +-- new last-win and next-win icons. +-- VRML mode (I wrote it). +-- SPC does its previous thingie in the minibuffer. +-- curmudgeon mode is removed. + +to 20.0 beta16 + +-- w3 2.3.39 +-- url 1.0.17 +-- curmudgeon-mode: Just so all you curmudgeons will shut up. + `enable-curmudgeon-mode' sets all the old minibuffer, etc. behavior + that you're used to. You can also give a particular category for + curmudgeonization. +-- func-menu 2.38. +-- enriched.el, face-menu.el from Michael Sperber. +-- If you're in a help buffer, you can exit using q and the previous + window config is restored. Help buffers are now selected by default + to make this easier (but you can get the old behavior using + curmudgeon mode). +-- `eq' now works on face properties even if they're lists -- the + lists are "memoized". +-- numerous bugs fixed -- see the Web page. + +to 20.0 beta15 + +READ THIS FIRST: + +-- emacs-version for 20.0 now reports 20.0, not 19.20. This is gonna + break some packages that do incorrect version tests. Both 19.14 + and 20.0 now include the function `emacs-version>=' from emacs-vers.el, + which is a correct version test function. If you want to use this + (highly recommended!), put code in your file like + + (or (fboundp 'emacs-version>=) + [copy definition of emacs-version>= from version.el]) +-- Byte code emitted by XEmacs 20.0 is NOT, repeat NOT, downward + compatible. Byte code compiled in any Emacs 19 is upwardly + compatible to v20. (For the most part, that is ...) However, + you can force v19 compatibility under XEmacs 20 by setting + `byte-compile-emacs19-compatibility' to non-nil. +-- (This latter change is the result of a better solution to the + "char-int confoundance syndrome" problem, although it was + planned anyway.) + +USER-VISIBLE CHANGES: + +-- w3 2.3.36 +-- url 1.0.16 +-- viper 2.86 +-- ediff 2.59 +-- cc-mode 4.282 +-- func-menu 2.37 +-- mailcrypt 3.4 (2.x has been removed) +-- The appropriate function-key and arrow-key definitions should + now be set up automatically in TTY mode, for a number of different + terminal types. Please review the terminals in lisp/term/ and + see if there's anything wrong. Also, feel free to supply new + terminal definition files. +-- blink-cursor-mode. This gets you the blinking cursor that lots + of people have been wanting for awhile. There is a menubar + entry for this. + NOTE: There is currently a redisplay bug whereby the cursor + won't blink if it's at the end of the line. Hopefully Chuck + will fix this soon. +-- wing-psgml-mode: A "grand unified mode" for HTML. I started out + with PSGML, which is a way cool and powerful mode for editing SGML, + but extremely un-user-friendly in its current form. I combined it + with some setup stuff from Alastair Burt and took some stuff + (the template stuff) from the hm--html-menus package. +-- improved file-dialog-box; some help from Rich Williams here. +-- improved completion-list-mode. (This is the mode for the lists + of completions.) Hit SPC in the minibuffer and you'll end up in + the completion list buffer, and can move around and select things + in a sensible fashion. This should be a friendliness improvement + for TTY mode and such. +-- improved edit-faces. It uses the new list-mode also and has + other new user-friendly features. +-- auto-show mode is now dumped and is enabled by default. This + will automatically scroll the window horizontally as necessary + to keep point in view. (buff-menu is no longer dumped, so there's + a net decrease in the puresize.) +-- There is a menubar entry for Bookmarks. +-- `show-message-log' and the associated menubar entry no longer exist. + Instead, use `view-lossage' (C-h l). There is now a menubar entry + for this under Help. +-- etags is merged with FSF 19.30 (adding Perl support, among other + things), and some Mly-induced breakage that resulted in pathologically + long relative filenames in the TAGS file has been fixed. +-- tcl.el 1.50. +-- annoying VM auto-raise of frame is gone. +-- I fixed a number of bugs with this-command-keys and C-g. + e.g. the C-x ? C-x C-h bug is finally gone. If you see any more, + please pipe up and I will try to fix them. (A lot of the event code + is rotting, though, so not everything can be fixed ...) Also, if + you notice any weird behavior, *please* speak up! + +BUILD-LEVEL CHANGES: + +-- When XEMACS_DEBUG is defined and XEmacs is dumping, the number of + bytes of purespace used by each loaded file is displayed. +-- Linux no longer defines BROKEN_SIGIO. +-- Linux binutils-2.6.0.10 breakage is no longer. +-- fixes for building under SunOS. +-- configuring without database support now works. +-- you can fix up the autoloads using `make autoloads' in the top + level directory. + +LISP-LEVEL CHANGES: -to 19.16 pre5 -- "Staten Island" --- Irix 6 build problem fixed --- `directory-files' stack overrun fixed --- jpeg detection corrected --- image autodetection and jpeg load fix synched with 20.3 +-- Hyperbole is still broken, sigh. +-- function-key-map and key-translation-map are now properly implemented. +-- keyboard-translate-table now lets you translate keysyms, e.g. to + fix the grievous damage Sun did to their X keyboards. See the + function `keyboard-translate'. +-- The function `window-height' has been changed to return a different + value when a horizontal scrollbar is present. The new definition + makes window-height ``mathematically tractable'': Its value always + reflects the window geometry, and will not change if you turn off + or on the modeline or horizontal scrollbar. Also, now, when there + is only one window, frame-height always equals window-height. +-- The new function `window-displayed-height' returns the actual + number of text lines currently visible (making proper allowances + for blank space at the end of a buffer). You should use this + instead of the standard kludge `(1- (window-height))'. +-- Hash tables can now do their comparisons with `equal' instead of + `eq'. See `make-hashtable'. +-- The `face' property of extents and text properties can now be + a list. +-- derived.el has been fixed up and is now dumped. +-- cl.el is now dumped. This includes the most basic of the + Common Lisp functionality; the rest is autoloaded. (And with + the lazy byte-code loading, it will come in only as needed.) + Accordingly, I removed the (usually less powerful) XEmacs versions + of `intersection', `union', etc., `delete-if', `delete-if-not', + `push', `pop', `c[ad][ad][ad]?[ad]?r', etc. This should clear + up any remaining problems with ediff and such. Note that the + increase in purespace from doing this is actually quite small -- + about 15K. +-- At least one function (`display-completion-list') has been rewritten + to take Common Lisp key-style arguments. This provides a sensible + alternative to having zillions of optional arguments in an + unrememberable order. Other packages might consider doing the + same. +-- completion-list-mode is actually defined using `define-derived-mode', + as a sub-mode of list-mode. edit-faces defines another sub-mode + of list-mode. +-- some patches from Darrell Kindred. +-- new specifier `text-cursor-visible-p' controls whether the cursor + is visible. +-- new face `text-cursor' controls the colors of the text cursor. +-- New file `gui.el' defining some functions useful for GUI stuff, + e.g. creating dialog frames and buttons. +-- The function `extent-at' now takes an argument AT-FLAG controlling + what it means for an extent to be "at" a position. `get-char-property' + and `get-text-property' also take that argument. +-- `display-completion-list' has been changed to take key-type optional + arguments. There are keys for controlling the activation callback, + the help string displayed, the window width, and other things. +-- New text-property functions `text-property-bounds' and + `next-text-property-bounds' facilitate looking for stretches of + specially-marked text. This supersedes the common, error-prone + loops involving `next-single-property-change', `map-extents', etc. + (I thought long and hard about the end cases.) +-- `frame-visible-p' now actually queries the window system, so it + is always accurate without the need for weird kludges like + `accept-process-output'. + +MISC CHANGES: + +-- Glyph and keymap lispref documentation should now be accurate + and up-to-date. +-- XEmacs uses sigsetjmp(foo, 0) when possible; this avoids lots + of sigprocmask() system calls that were happening. + +to 20.0 beta14 -to 19.16 pre4 -- "Bronx" --- etc/Joke files restored --- Various build patches from Darrell Kindred +-- w3 2.3.32 +-- XEmacs has a pseudo-file-dialog-box that gets invoked when you + choose a menu entry that prompts for a filename. The code that + implements it is in `mouse-read-file-name-1' in minibuf.el. + It's a pretty cheesy-ass function but it gets the job done. + It clearly needs some work; beta testers out there are encouraged + to help here. (hint, hint) +-- there were some missing UNGCPRO's that might have led to weird + crashes. +-- Much improved xemacs-internals. More is coming. +-- lots of improvements to the Lispref documentation, e.g. the general + section on objects is now actually more or less correct. +-- "cursor glyphs" and "cursor image instances" now use the term + "pointer" instead of "cursor". +-- new profiling code. See `start-profiling', `stop-profiling', + `clear-profiling', `pretty-print-profiling-info', etc. + This uses a SIGPROF so it's only as accurate as your system timer + (100Hz under Linux on the x86; may be different on other systems). +-- I have tried hard to minimize the amount of allocation that happens + as a result of normal activities. For example, `save-window-excursion' + and `save-excursion' no longer result in any allocation in most + circumstances. +-- New variable `debug-allocation'. If you set this to non-zero, you + will get a record on stderr of every time that any allocation occurs, + and a short backtrace will accompany it (controlled by + `debug-allocation-backtrace-length'). Normally, set this to 1; + if you set this greater than 1, you'll also see the "noseeum" allocations + that happen internally and are later undone (thus causing no net + allocation). +-- byte-code objects print more sanely. They also have an "annotation" + field indicating where they came from. +-- problem with lazy-lock sucking away idle time should be gone. +-- problem with mouse highlight not appearing may be gone. +-- problem with "interactive `e'" incorrect is fixed. +-- you can set and access all specifier and glyph variables using + frame properties. + +to 20.0 beta13 + +-- mode-motion+.el 3.15 +-- hm--html-menus 4.16 +-- ediff 2.54 +-- viper 2.85 +-- w3 2.3.30 +-- url 1.0.13 +-- nil is once again a valid color instantiator +-- 'make install' in a clean workspace should now work correctly. +-- Fixed a bug where using proportional fonts for the default face resulted + in an extra-wide frame. +-- Fixed wrong-type-argument error when using 'delete window above' from + modeline menu. +-- Fixed error when loading nroff-mode. +-- Fixed crash caused by this: + (setq toolbar-file-icon '(blah)), then C-x b foo RET +-- Error signaled if you try to create a frame with a `.' in the name. +-- frame size changes which occur while a tty-mode XEmacs is suspended are + now handled. +-- super-apropos is now apropos-documentation ; Help menu has been changed +-- tooltalk patch to allow setting of message disposition attribute (from + Hans Muller) +-- user-mail-address patch from Russell Ritchie +-- DEC OSF 4.0 patch from Manoj Srivastava +-- new specifiers default-toolbar-height, default-toolbar-width, + default-toolbar-visible-p, and {top,bottom,left,right}-toolbar-visible-p. + The new default specifiers work like default-toolbar: for whichever of + the four positions is the default-toolbar-position, the corresponding + specifiers foo-toolbar, foo-toolbar-{height,width}, foo-toolbar-visible-p + inherit from the appropriate defaults if no value is given. I also redid + the toolbar size-handling code. This appears to fix the weird problems + Kyle noticed with VM and the prev/next window config buttons, and might + have fixed that elusive VM phantom toolbar bug. + +to 20.0 beta12 + +-- gnus 5.0.15 +-- cc-mode 4.281 +-- now works in TTY mode, yay. +-- removed ill-conceived FSF Emacs post-command-idle-hook (added to + XEmacs in an earlier beta). Replaced it with pre-idle-hook. + lazy-lock now uses this. +-- added frame-modified-tick for use by lazy-lock. +-- cursor overhaul is here. Cursors are now specifiers. Should make + them work properly on multiple devices. Not working quite yet: + colored cursors. I'll get to these. +-- various fixes, e.g. to font-lock. +-- cc-mode 4.280 +-- dialog boxes work again. (e.g. Save-some-buffers from the File menu + works and uses the new-improved map-ynp stuff.) +-- I changed `set-specifier' so that it works more sensibly + (like `set-face-property' -- it takes a separate LOCALE and + TAG-SET argument, although the old way of specifying things + still works) and rewrote the incomprehensible gibberish that + masqueraded as its documentation so that it actually makes + sense now, even to someone who's not especially familiar with + specifiers. + +to 20.0 beta11 + +-- follow.el 1.5 +-- oo-browser 2.9.11 +-- hyperbole 4.01 +-- w3 2.3.28 +-- pretty much all reported bugs for the last betas should be fixed. +-- event crash from "M-x followed by mouse click" fixed. +-- fixed a nastily subtle bug in `kill-all-local-variables' that has + been around since mly's symbol rewrite some two years ago. This + bug could potentially have resulted in all sorts of inconsistent + and difficult-to-track behavioral problems. +-- fixed another nastily subtle bug that had to do with extent + parents/children. This feature should finally work correctly now, + because it's actually being used (in the modeline). +-- exported weak list interface (new functions `weak-list-p', + `make-weak-list', `weak-list-type', `weak-list-list', + `set-weak-list-list') so I could test it -- it's used in extents + to fix that nastily subtle bug just mentioned. +-- I removed the disgusting "feature" of being able to use `elt', + `concat', `length', etc. on compiled-function objects, and fixed + the small number of places that relied on this. However, if you see + an error of the sort + + As of 19.14, `foobar' no longer works with compiled-function objects + + then I missed a place. + + Note that there are accessors `compiled-function-*' for properly + accessing the contents of a compiled-function object. These + accessors have been around since at least 19.8, so this is not + an overly bold change to make. -to 19.16 pre3 -- "Manhattan" --- NEWS file updated --- a couple of synchs with XEmacs 20.2 --- warning cleanup + NB: Chuck says the cruddy `aref' stuff is going back into 19.14, + but will disappear for good in 19.15. +-- you can now dump faces into the dumped XEmacs. +-- modeline changes: + -- The (GLYPH . KEYMAP) and (FACE . FOO) modeline specs have gone + away. In place of this, use (EXTENT . FOO). The face, keymap, + and help-echo properties of the extent are noticed. Nested + keymaps are handled correctly, but not nested faces as yet. + See `modeline-format' and `generated-modeline-string' for + details about how this all works. It's way cool. + -- colored sections of the modeline generally indicate that you can + "do something" with button2 or button3. button2 does something + immediately while button3 brings up a menu. (Clicking button2 + on a non-colored section of the modeline does nothing, while + clicking button3 there brings up the standard modeline menu.) + -- clicking button2 on the "read-only" marker toggles read-only status. + -- clicking button2 on the right half of the buffer ID (the part that + says " foobar.c") cycles to the next buffer. + -- clicking button2 on the left half of the buffer ID (the part that + says "XEmacs:") cycles to the previous buffer. + -- clicking button3 anywhere on the buffer ID brings up a Buffers + menu. + -- clicking button2 on the ID strings of certain minor modes turns + them off (such modes are displayed in green instead of red). + ("Certain minor modes" means minor modes that correctly call + `add-minor-mode' to announce themselves instead of just + smashing minor-mode-alist directly. I've fixed some modes to + do this.) + -- clicking button3 on any mode ID string brings up a menu that lets + you toggle certain minor modes. (#### Should also let you change + the major mode. How do you get a list of all major modes that + exist, sans the uninteresting ones?) + -- clicking button2 on the "Narrow" string of a narrowed buffer + widens the buffer. + -- help-echo is given for all button2 actions. +-- save-options wraps its outputted forms in (if (featurep 'foo)) to + make sure that your .emacs will load OK in a differently-featured + XEmacs from what you saved the options in. +-- new function `set-face-parent' for properly making one face inherit + all attributes from another. +-- `set-extent-endpoints' can be used to move an extent from one + buffer to another. +-- semi-new function `event-glyph' returns the glyph underneath an + extent. +-- fixed bug in `recover-session' ... tsk tsk beta testers. +-- new function `mapc' -- like mapcar but doesn't accumulate results. +-- switched back to newer version of paragraphs.el; corrected + filladapt.el to mesh properly with it. +-- now autodetects -lgdbm as well as -ldbm, and uses the appropriate + one. The --with-database option takes a comma-separated list + of one or more of "dbm", "gnudbm", and "berkdb", or "no" to + disable. +-- autodetects png, both with -lz and -lgz. You can explicitly + call for png with -lgz using --with-png=gnuz. +-- autodetects libXmu absence. +-- configure option for NO_UNION_TYPE enabling/disabling provided. + It's called --use-union-type. WARNING: GCC (esp. 2.6.0, 2.6.3, + 2.7.0) will probably fuck up and generate incorrect code if + you use this option. +-- finally repaired the grievous damage that is `frame-parameters' -- + use `frame-property', `frame-properties', `set-frame-property', + and `set-frame-properties' instead. `frame-parameters' and + `modify-frame-parameters' are still supported but obsolete. + + "Frame properties" are not only a different interface but actually + let you store arbitrary properties along with a frame, and + retrieve them later. + + `frame-property' is much more efficient than `frame-parameters' + because it is non-consing. +-- new functions `alist-to-plist', `plist-to-alist', + `destructive-alist-to-plist', and `destructive-plist-to-alist' + to make it easier for you to convert between alists and plists, + such as you might do with frame properties/parameters. +-- A whole host of new functions for working with plists. + There is also a parallel set of these functions for "lax plists", + which are plists where comparison between keys is done with `equal' + instead of `eq'. (Frame property plists are this way because the + keys can be strings.) +-- The monstrous spawn-of-hell function `display-buffer' has been + moved into Lisp, so you can play around with it if you want + to. +-- New functions `push-window-configuration', `pop-window-configuration', + `unpop-window-configuration'. The latter two implement a + Netscape-like forward/back movement through window configurations. + `display-buffer' automatically pushes a window config if anything + changes as a result of the call, so you can easily undo the results + of asking for help and such with just a mouse click. + + PLEASE someone come up with better icons. I just stole the Info + arrows. +-- The dreaded FSF dynamic byte-compile format is here. It is *NOT* + repeat *NOT* enabled by default for 19.14, so it's not gonna + break anything. It *IS* yes that's right *IS* the default for + 20.0. (Both kinds of dynamic byte-compiling are the default + for 20.0.) Therefore, files you compile using 20.0 won't be + readable under versions before 19.14 unless you set + `byte-compile-dynamic' and `byte-compile-dynamic-docstrings' + to nil before compiling. Note that 19.14 will recognize + and correctly read dynamic byte-compiled files (whether compiled + by 20.0, 19.14, or FSF 19.29 or above), even though it won't + generate them by default. (You have to set one or both of + those variables just mentioned to non-nil if you want this.) + +to 20.0 beta10 + +-- cc-mode 4.273 (includes java-mode from Eduardo) +-- edebug 3.5 +-- first line display problem on ttys fixed +-- problem with cursor position after exiting tty mode fixed +-- cheap fix for the filladapt problem; completely backed out the sync + of paragraphs.el with 19.30. One of the changes in + forward-paragraph is causing the problem. +-- Faces can now be embedded in the modeline. Add a cons where the + car is a face object and the cdr will be evaluated as usual but the + results of it will be displayed in the given face. +-- Glyphs can now be embedded in the modeline, along with a keymap to + make them active. For a glyph which just displays you can insert + just the glyph. To include a keymap, add a cons with the car as + the glyph object and the cdr as the keymap object. +-- cut redisplay's memory consumption by 1/3 +-- fixed a memory leak in the scrollbar code +-- font-lock basically synched with 19.30. + LISTEN UP: I changed the way font-lock faces are initialized. It + now takes advantage of the specifier stuff added in 19.12, and sets + up color defaults for color machines and non-color defaults for + non-color machines. The defaults are added with `append', which + means that if you add your own values, they'll override the defaults + regardless of when you do it. + + SO: Please try temporarily disabling all your font-lock customizations + and comment on what you think of the new defaults. +-- major DUH factor. The cause of the 10%-CPU-usage-while-XEmacs-is-idle + was that the "quarter-second timer" was actually set to fire + 1000 times per second. I think I must have changed this at one + point to debug something, and never set it back. Oops ... + If you set `debug-emacs-events' to non-zero on a Linux or IRIX + machine, you'll now see blank eval events going by at a reasonable + rate (4 times per second) instead of spewing out like water from + a firehose. +-- yet more synching with FSF 19.30. +-- Lots of modes have gained menus. +-- recover-session (recovers all auto-saved files) should work. + Not really tested. +-- latest apropos.el from 19.30. Implements some of what Hyper-Apropos does. + Maybe we should junk apropos.el or integrate the two. +-- `display-buffer' synched with FSF 19.30. This gives you the following + wondrous cruft: + -- unsplittable frames + -- pop-up-frames, pop-up-frame-function + -- special-display-buffer-names, special-display-regexps, + special-display-function + -- same-window-buffer-names, same-window-regexps +-- finally! C-h k followed by a toolbar button press correctly reports + the binding of the toolbar button. +-- fixed problems with toolbar buttons remaining activated or C-g being + pressed during minibuffer prompting of (e.g.) toolbar Replace or Open +-- fixed "Error setting GC pointer" problems. +-- text-property problems reported by Alastair Burt fixed. +-- ediff minibuffer weirdness fixed. Surrogate minibuffers are working. +-- ~ has electric behavior like / in minibuffer. Both of these can be + inhibited by setting `minibuffer-electric-file-name-behavior' to nil. +-- minibuffer completion lists are put into a special mode. left, right + move to the next/previous completion. enter selects the completion. + button2 selects, as always, but will always be accurate as to the + completion -- no regexp-based guesswork, as before. +-- the kludgy completion-tracking behavior that looks for completions + under the mouse has been disabled. If you want it back, set + `minibuffer-smart-completion-tracking-behavior'. This does *not* + affect the normal ability to click on a completion in the + *Completions* buffer. Turning this off should also fix the obnoxious + "mouse motion causes ange-ftp action" bug. +-- ported latest map-ynp.el. Used by `save-some-buffers'. +-- Bill Perry's database and strikethru patches. + +to 20.0 beta9 -to 19.16 pre2 -- "Brooklyn" --- Patch for XEmacs not Dying on quit applied --- movemail synched with 20.3 --- Lispref synched with 20.3 --- XEmacs FAQ synched with 20.3 --- Internals manual synched with 20.3 --- VM-6.34 courtesy of Kyle Jones +-- w3 2.3.26 +-- crash caused by corrupting toolbar icon specs is fixed +-- no one complained, so I removed `local-pre-command-hook' and + `local-post-command-hook'. +-- follow-mode 1.5 beta (01-08-96); this lets you turn two side-by-side + windows into one twice-as-long "virtual buffer". +-- more synching with FSF 19.30. +-- ange-ftp should work. +-- new configure option --with-term, for support for TERM (Linux serial-port + multiplexer), for those who care. The support was already present + in XEmacs, just no configure option. +-- jpeg code now just includes "jpeglib.h" instead of "jpeg/jpeglib.h", + and configure autodetects likewise. +-- new variable debug-emacs-events. Set to non-zero to have all events + seen by XEmacs output on stderr. (From this, I know what's going on -- + it's the 1/4 second timers for when SIGIO and/or SIGCHLD are broken. + It can be fixed, but not until the next beta ...) +-- overriding-terminal-local-map and other oddities from FSF. +-- added some of the necessary C support for lazy-lock v2. +-- ange-ftp works around a Linux FTP problem where it outputs escape + sequences to highlight the ftp prompt, which messes things up. +-- I changed a couple ange-ftp defaults: + -- ange-ftp-generate-anonymous-password is t. I see no reason + why you should have to type in a password here. + -- ange-ftp-default-user is "anonymous". This one is more + debatable, but I think it's a lot more logical (more like + ncftp, too) and follows the Principle of Least Surprise. + Differing opinions (except from Kyle Jones :) are welcome. +-- Info menu now properly disappears when you exit Info. +-- new functions frame-leftmost-window, frame-rightmost-window. +-- next-frame and previous-frame have been expanded and unkludgified + to allow you more control over which frames are considered. +-- Bill Perry's GIF and PNG patches are included. +-- Various patches for the DEC Alpha and other beta-list patches + are in place. +-- function to access the raw window tree have been added: + window-first-hchild, window-first-vchild, window-next-child, + window-previous-child, window-parent. These let you implement + frame-leftmost-window and lots of similar functions. +-- XEmacs should be more robust about dying properly when crashes + occur. +-- you can compile with Epoch support. (Actually, you could in the + previous beta, too.) The main thing this gets you is direct + access to some X events and objects (e.g. properties and + property-notify events). +-- you can set initial-frame-alist in your .emacs, and XEmacs will + notice this and change the initial frame accordingly. +-- major revamping of the multi-device support: + -- there is a new type of object called a "console". A console + groups together devices that have the same keyboard/mouse. + A "device" now corresponds to an X "Screen", while a "console" + corresponds to an X "display". You don't need to explicitly + create a console; it's created as necessary when you create + a device. + -- device-local variables have become console-local variables. + -- "device types" are now "console types", although functions + that speak of "device types" and "frame types" are defined + as aliases. + -- devices are no longer permanent objects, but remain around + only so long as there are frames on the device. Consoles + behave similarly. (#### not implemented yet; wait for + next beta) + -- Devices and consoles have a generalized concept of a + "connection", which describes what they are connected to + (e.g. a DISPLAY for an X console, a tty name for a TTY + console). Calling `make-device' on an existing connection + returns an existing device and/or console rather than + creating a new one. The code is also quite smart about + determining whether a connection refers to an existing + device or console; e.g. if your machine name is "nene.666.com" + alias "wing.vip.best.com" address 204.156.158.101, then + all of the following display specs are treated as equivalent: + + unix:0 + :0.0 + localhost:0 + nene:0 + nene.666.com:0.0 + wing.vip.best.com:0 + 204.156.158.101:0 + + -- To retrieve a device or console's connection, use + `device-connection' or `console-connection'. + 'device-x-display' and 'device-tty-tty' are no more. + -- 'device-tty-terminal-type' renamed to `console-tty-terminal-type'. + -- To search for a console or device by connection, use + `find-console', `find-device', `get-console', or `get-device'. + + +to 20.0 beta8 + +-- w3 2.3.25 +-- url 1.0.12 +-- viper 2.85 +-- func-menu 2.35 +-- SCO patches from Robert Lipe +-- XEmacs has a man page, finally. +-- lots of updates to the lispref docs. +-- s/, m/, and configure files synched with FSF 19.30. +-- extents-over-strings complete. Extent replicas are no more. + You can get the same functionality by setting the `replicating' + property on an extent. +-- describe-mode puts major modes first (from Stig) +-- device-local variables are here. A few variables are currently device- + local; eventually the whole command builder will be this way. + New function `symbol-value-in-device'. Functions + `device-function-key-map' and `set-device-function-key-map' have + been removed. `function-key-map' is instead a device-local variable, + with a default `default-function-key-map'. +-- XEmacs now preloads all code at dump time (except for some terminal- + or X-server-specific files, for which it's not fatal if they can't + be found). Thus, you can delete the lisp directory if you really + really want to. +-- `open-dribble-file' works. +-- Info has a pulldown menu. +-- function `extent-descendants'. +-- you should be able to compile without scrollbars, menubars, and/or + dialog boxes. This has been somewhat tested but may not work with + all possible configurations. More testing would be appreciated. +-- there are better feature-tests available: to check for the presence + of menubars, scrollbars, dialogs, and/or toolbars, use `featurep' + with `menubar', `scrollbar', `dialog', or `toolbar'. There are also + features `lucid-menubars', `athena-scrollbars', `motif-dialogs', etc. + etc. for whatever configuration you compiled in. +-- SPARCworks CYA message is only displayed if (featurep 'sparcworks). +-- lots of other stuff merged with FSF 19.30. Change list: + -- Key changes: + -- C-x ESC -> C-x ESC ESC + -- ESC ESC -> ESC : + -- ESC ESC ESC is "abort anything" (keyboard-escape-quit). + -- indirect buffers. These are buffers that share text with another + buffer but have their own major mode, extents, buffer-local variables, + etc. Create with `make-indirect-buffer'. See also + `buffer-base-buffer', `buffer-indirect-children'. (Not yet + finished implementing.) + -- new function `set-buffer-major-mode'. + -- `buffer-invisibility-spec' controls whether the `invisible' property + is applicable. + -- `inhibit-read-only' can be a list of property values; similar to + `buffer-invisibility-spec'. + -- new "file format" concept. See `buffer-file-format', + `format-alist', `format-decode', `format-encode', + `insert-file-contents-literally', etc. + -- `call-process' can have a separate stderr specified. + -- Junky variables `self-insert-face' and `self-insert-face-command'. + -- `write-region' can take a sixth argument LOCKNAME (a lock file). + -- new function `find-alternate-file-other-window'. + -- improved margin functions -- `current-left-margin', etc. + -- newlines can be "hard" or "soft" -- I guess this affects filling, + paragraphs, etc. See `use-hard-newlines'. + -- lots and lots of filling / justification / paragraph changes. + -- `shell-command' and related can take optional output buffer + specification. + -- `what-line' prints more information. + -- new functions `file-writable-p', `file-regular-p'. + -- new function `active-minibuffer-window'. + -- new function `cancel-kbd-macro-events'. + -- new functions `run-hook-with-args-until-success', + new functions `run-hook-with-args-until-failure'. + -- generalized facility for local vs. global hooks. + See `make-local-hook', `add-hook'. + -- signal-process can take a symbolic name for the signal. + + +to 20.0 beta7 + +-- Gnus 5.0.13 +-- W3 2.3.24 +-- url 1.0.11 +-- viper 2.84 +-- ediff 2.51 +-- added .f90 to auto-mode-alist +-- fixed problem with echo area redisplaying during macro execution +-- first version of "gnuattach", for viewing a file in the current + TTY frame. Works like gnuclient. I did a "good enough" implementation + because I don't understand fully how gnuserv works. Someone else + might want to take a look at it. +-- fixed problems with bad cc-mode indentation +-- fixed ^G problems, likely fix for "XEmacs consumes too much CPU" +-- undo in the minibuffer. +-- problems with tight loop in sys_readdir() should be fixed. +-- char-tables are now readable; Bill Perry's eval-when-compile problem + should be fixed. +-- the unified range table code is now defensive about getting itself + misaligned, so it should work no matter what tricks realloc() plays. + This should fix the assertion failure, line 621 of rangetab.c. +-- next-window, previous-window, next-frame, previous-frame, other-window, + get-lru-window, etc. extended to take a device argument that allows + you to restrict which devices it includes (normally all devices). + Some functions that incorrectly ignored frames on different devices + (e.g. C-x 0) are fixed. +-- start-open, end-open, start-closed, end-closed now work correctly + w.r.t. text properties. (This is apparently required by GNUS 5.) +-- implementation of extents over strings is close to being done. + You can now go ahead and create extents over strings but they aren't + yet properly copied from string to string or between strings and buffers. +-- new function `extent-list'. + +to 20.0 beta6 -to 19.16 pre1 -- "Queens" --- Fix all lisp to refer to only keysyms with `-' instead of `_'. --- Hardcode the version number since this is dead code and the previous - kludgy method doesn't work anymore. +-- Gnus 5.0.12 +-- w3 2.3.18 +-- viper 2.82 +-- ediff 2.49 +-- lazy-lock 1.14 +-- func-menu 2.34 +-- mode-motion+ 3.14 +-- patch from Bill Perry fro tty_valid_color_name_p +-- mode-motion patch from Michael Sperber to eliminate "evil ftp activity" +-- we check for interrupted system calls in opendir(), readdir(), + closedir(); this should eliminate the "interrupted-system-call" + errors people have been seeing with completion. +-- GIF support! Since there appears to be no standard GIF library, + and since the code I found (giflib-2.2 from the Linux archives) + is quite small, I just put it in the XEmacs src directory. + NOTE: If you encounter problems with certain GIFs (e.g. interlaced), + let me know and I'll enable some currently dormant code. + NOTE: For the moment, GIF support is enabled everywhere because it + requires no special libraries or machine-dependent features. You + can disable it using --with-gif=no. +-- JPEG support! Compile with --with-jpeg (or just let it be + autodetected). You need to obtain the standard JPEG library (libjpeg) + from the Independent JPEG Group. One source is ftp.uu.net:/graphics. + Compiled Linux libraries (not the most recent version, but they work + fine) are available at sunsite.unc.edu:/libs/graphics. You have to + specify the location of the libraries and include files using + --site-libraries and --site-includes. Note that the include files + are presumed to be in a subdirectory "jpeg" of the --site-includes + directory. +-- Lstreams free their buffers when they are closed rather than + when they are GC'd. This should avoid the memory bloatage noticed + when you repeatedly insert a lot of files, and should render + unnecessary the patch that Darrell Kindred submitted. +-- patch for possibly deadly Mule problem +-- XEmacs behaves reasonably in the presence of a bogus app-defaults + file +-- configure debugging: if you specify --extra-verbose, then any + error messages from compilation and preprocessor feature tests + will be output. This is especially useful if your feature tests + are failing for no obvious reason. #### Suggestions for a better + name than --extra-verbose are welcome. +-- warning messages will get generated if there is a problem displaying + an image, rather than just nothing happening at all. +-- You can disable toolbar support by specifying --with-toolbars=no. + This should reduce the code size a bit. +-- You can disable TTY support by specifying --with-tty=no. + This should reduce the code size a bit. +-- The oddly named "dont-have-xmu=yes" option is now "with-xmu=no". +-- loaddefs and keydefs are now compiled like other Lisp files. +-- You should get more accurate errors for many types of mistakes + with set-face-* functions. + +to 20.0 beta5 + +-- Gnus 5.0.7 +-- w3 2.3.4 +-- url 1.0.3 +-- patches from John Hughes <john@atlantech.com> to make 8-bit TTY + input and TTY function keys work better. You may get undefined + references to _sobuf; if so, change the glump around line 1404 + of sysdep.c. (for 19.14.) +-- configure autodetects the sun_len member in struct sockaddr_un. + (for 19.14.) +-- likely fix for regex crashes on some systems. (for 19.14.) +-- fixed problems with skip-syntax-forward. (for 19.14.) +-- TTY color should behave better. (for 19.14.) + Try this under TTY XEmacs and you'll see what I mean: + + (set-face-foreground 'default "magenta") + (set-face-background 'default "cyan") + +to 20.0 beta4 + +-- cutting and pasting of extended text to/from other applications works + properly: the text is correctly converted to/from Compound Text format. +-- Short-form fonts like 6x13 should work under Mule. +-- New configure option --with-mocklisp for Mocklisp support. (for 19.14.) +-- TTY support should now be working properly under Mule. + If you are running under kterm, you should see the Japanese + characters in the tutorial properly. +-- TTY colors! New functions `register-tty-color', `unregister-tty-color', + `find-tty-color', and `tty-color-list' for specifying the valid TTY + colors. Of course, you need a terminal that is capable + of handling ANSI color sequences, e.g. Color XTerm or the Linux console. + The standard ANSI colors (black, red, green, yellow, blue, cyan, + magenta, and white) are registered by default so you can just go + ahead and use them. (for 19.14.) +-- Netscape begone! XEmacs *really* handles colors properly given a + full colormap. (for 19.14) + +to 20.0 beta3 + +-- new version of f90.el; .f90 files now invoke f90-mode +-- hm--html-menus 4.15 +-- w3 2.3.2 +-- url 1.0.1 +-- Japanese input (Hiragana, Katakana, Kanji) is working under Mule. + The SKK input method has been ported and should be available + on the ftp site. + + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + WE NEED BETA TESTERS. + + Tell all your Japanese-speaking friends. + Where are all the Japanese-speaking people when we need them? + Actually, with a little work, someone should be able to get + Quail working, which allows for input of all sorts of languages. + +-- new function `current-process-time' for retrieving the user, system, + and real times of the currently running XEmacs process. (for 19.14 + probably.) +-- Here's a cool new demo that works under Mule: Load the file + `mule-doc/demo'. This has "hello" written in a zillion different + languages / charsets. Astute observers will notice two problems: + (1) Half of the Thai characters don't show up. That's because + composite characters still aren't displayed properly. + (2) The Arabic and Hebrew characters go backwards from the way + they should. (Guess why?) +-- error-handling behavior in Mule decoding (e.g. unknown charset) + should be much better. The goal here is that there should never be + any information lossage when a file is read in, decoded, encoded + again, and written out. If escape sequences get transformed into + some other equivalent escape sequence, that is OK; but if they + get eaten, that is not OK. +-- translation tables are handled consistently (note, I didn't say + "correctly") under Mule. Doing them correctly is very difficult + so I'm punting for now. Basically, under Mule, `upcase' and + `downcase' (and related) work correctly with translation tables + but the string/buffer-searching routines will ignore translations + that map to or from a character not in the seven-bit ASCII + range -- thus `case-fold-search' will not correctly conflate + a-umlaut and A-umlaut. This sucks, but it's better than the + alternative (weird results and possible crashes). +-- regex searches/matches should work properly with extended + chars under Mule. +-- fixed bad definition of xemacs-color-device in ps-print.el. + (for 19.14.) +-- fixed problems with command-line options -T, -wn, etc. not + working. (for 19.14.) +-- Options sub-menu provided under Mule for setting the current + language environment. +-- fixed some problems with nested GCPRO's, that could have lead to + weird crashes. (for 19.14.) +-- Things should *finally* work OK on the Alpha machines. + (Hopefully? Please?) (for 19.14.) +-- Tooltalk warning is now a real warning (class `tooltalk'), so + you can suppress it. +-- selections should work again. (for 19.14.) +-- syntax tables work under Mule. + + NOTE: Syntax tables are *NOT* vectors any more but are their own + abstract `char-table' type. As such, some (broken) code is going + to break. (Typical error: "wrong type argument: sequencep, + #<syntax-char-table ...>".) I've already had to patch cc-mode, + font-lock, mail-abbrevs, and symbol-syntax, and edebug, mim-syntax, + and paren still need to be changed. This is an unavoidable result + of RMS non-abstracted brokenness. Yuck Yuck Yuck Yuck! +-- syntax table lookup should be faster (at least under non-Mule). + This could be a big win for scan-lists etc., and thus for cc-mode. +-- fixed version of set-text-properties. (for 19.14.) +-- fixes to display-warning-buffer to avoid problems when the + warning buffer is deleted. (for 19.14.) +-- If a font can't be instantiated, you should now only get one + warning instead of a trillion of them. +-- new Common-Lisp function `subseq', a generalization of `substring'. + +to 20.0 beta2 + +-- new functions `function-min-args' and `function-max-args' for + determining the number of allowed arguments in a function + (of any sort accepted by funcall). (possibly for 19.14.) +-- no more crashes under Mule if it can't find an acceptable font; + you just get a warning instead and a '~' character. +-- new variable `disable-auto-save-when-buffer-shrinks', providing + you with a way to turn off this widely-hated behavior. (for 19.14.) +-- new Common Lisp function `reduce'. +-- I added some defines that should eliminate zillions of + "warning, incompatible pointer type" warnings for the memset(), + memcpy(), memcmp() functions in SunOS 4.x. (for 19.14.) +-- composite characters are partially working under Mule. They are + correctly handled internally, but are not yet displayed properly: + you just get the familiar '~'. +-- processes should now correctly do flushing of long PTY lines, + which they never did since the Lstream process rewrite sometime + during the 19.12 beta cycle. +-- processes should be working better under Mule (at least there + will be no loss of data, which was a possibility before). More + work still to come in the area of handling encoding/decoding. +-- fixes to font-lock that should make it go *much* faster (esp. in + lazy-lock) when moving backwards or jumping to an arbitrary point + in the buffer. Files like emacsfns.h are still problematic but + should be better than before. (for 19.14.) + +to 20.0 beta1 -to 19.16 beta91 --- Make all texinfo source work with makeinfo-1.68 --- Update texinfo stuffs from texinfo-3.11 --- Updated finder database --- Move AUCTeX style files so the package will work --- provide 'xemacs for compatibility with future XEmacsen --- improved color terminal detection --- miscellaneous bug fixes --- X-compose fixes Courtesy of Jan Vroonhof +-- ediff 2.44 +-- hyperbole 3.19.08 +-- oobr 2.9.9 +-- I_SETSIG failed messages under Solaris should be gone +-- add-submenu bug that affected func-menu fixed +-- edebug no longer chokes on condition-cases +-- redisplay under Mule should be significantly faster +-- redisplay problem with overlay-arrows fixed +-- range tables now print readably, using the new + Common-Lisp-compatible #s() syntax (this is the + generalized structure syntax). It would be possible + to make other unreadable Lisp objects be readable + using a similar format. I am not sure which objects + are good candidates, though -- suggestions? + +to 19.14 beta2 + +-- w3 2.2.17 +-- mailcrypt 3.4 is now the default +-- new version of icomplete.el from David Hughes +-- characters are now their own separate Lisp object type; this is + The Way It Should Have Always Been. This change is necessary for + byte-code portability under Mule and follows the Common Lisp model + of not needlessly confounding separate types, as is (unfortunately) + the fashion under E-Lisp. Characters print as characters using the + evil yucky GNU Emacs character syntax (e.g. ?a) rather than as + integers; this is the essence of the byte-code portability. In + deference to existing E-Lisp code, the following concessions are made: + + -- characters are represented directly; `eq' works on them. + (Yuck! This may be a problem if I ever want to add additional + information to characters.) + -- the comparison functions (<, =, etc) and arithmetic functions + (+, -, etc) accept characters and silently convert them to + integers. (This is semi-hateful but necessary for compatibility.) + -- functions that properly accept characters (e.g. char-to-string) + also accept integers and silently convert them to characters. + + I have provided new character primitives `char<', `char=', etc. + that are the proper way of comparing characters. +-- The function `eq' has been infected with a heretofore-unknown virus + known as the "char-int confoundance disease". The CDC has been + warned, but in this case the cure (require that all existing .elc + files in the whole world be re-byte-compiled) is a lot worse than + the disease. Their recommendation is to use the new function + `really-eq' if you really need to distinguish between chars and ints. + Be warned, however, that this will run slower in byte-compiled code + because there is no opcode for `really-eq'. +-- Similar infections have happened to `equal' (with a corresponding + `really-equal') and to the functions `memq', `delq', `assq', + `rassq', `remassq', `remrassq' and corresponding `equal' + equivalents. The functions `puthash' and `put-range-table' have + not been affected, however, because I don't think there will be much + of a compatibility problem here. +-- BETA TESTERS LISTEN UP: The above changes have the potential of + causing weird lossage in existing packages. Therefore, PLEASE + PLEASE do the following for as many different packages as you can: + (1) try it out to make sure there's no obviously strange behavior + (a good example would be the error + "wrong type argument: integerp, ?B") or not-so-obviously + strange behavior, like prefix arguments not working + (yes, this did happen). + (2) re-byte-compile all the files in the package + (3) repeat step #1. Look especially hard this time because + the errors are more likely to occur this time. +-- typecheck error-checking has been added for integers and for chars. + You may hit some aborts. +-- XEmacs/Mule now performs automatic detection, encoding, and decoding + of files upon input and output. (Although the detection system definitely + has room for improvement.) +-- XEmacs/Mule is still untested w.r.t. subprocesses and TTY support and + thus is likely to fail with both. +-- XEmacs/Mule now byte-compiles files properly. (Well, it appears to ... + extensive testing has not yet been done.) + WARNING WARNING WARNING: + (a) You cannot compile files with extended characters in them + (e.g. lisp/mule/japanese-hooks.el) using a version of XEmacs + not compiled with Mule. + (b) If you compile such a file using XEmacs/Mule and attempt to + load it into a version of XEmacs not compiled with Mule, + you will get extremely random and undesirable results even + if you don't get a read error. The reason for this is that + a special encoding is used to allow arbitrary binary characters + to co-exist with the control characters used to change + the encoding state. Normal E-Lisp files compiled under + XEmacs/Mule should work under a non-Mule XEmacs because the + special encoding will not be used in this case. + At some point I would like to remove these gotchas but this will + require adding some smarts to the non-Mule XEmacs to be able to + at least partially handle the special encodings used. +-- Here is a cool test of XEmacs/Mule: type 'C-h T' (capital T) and + you can get an Emacs tutorial in the language of your choice + (currently limited to Japanese, Korean, and Thai). Astute + testers will notice that the Thai one doesn't work yet; that + requires support for composite characters, which doesn't currently + exist. +-- a change has been made to the handling of markers that should + eliminate those 15-second GC pauses that some of you may have + been seeing while processing the output of M-x grep, etc. + +to 19.14 beta1 + +-- w3 2.2.16 +-- mailcrypt 3.4beta +-- preliminary Mule support is provided. This will get better over the + next month or so. All of the basics except for input method support + are there, although it's still somewhat slow and some of the parts + may not fit together perfectly. -to 19.16 beta90 --- Miscellaneous 20.1 fixes merged --- Synch with 19.15p8 Courtesy of Alvin Shelton + Here's a demonstration you can do when Mule support is enabled: + + -- load the file etc/mule/TUTORIAL.jp + -- evaluate (decode-coding-region 1 (point-max) 'ctext) + + In order for this to work, you have to have the proper Japanese + fonts installed (see below), or XEmacs will abort. (This will be fixed.) + + Soon, the decoding will happen automatically upon loading. + + Note also: IT MIGHT NOT CURRENTLY WORK TO BYTE-COMPILE FILES UNDER + XEmacs/Mule. You may get bogus results. Therefore, for the time + being do *not* do `make all-elc' using the built XEmacs/Mule. + This should be fixed by beta2, along with the rest of the file- + handling stuff. + + Note finally: You may get read errors trying to byte-compile the + Mule files under the non-Mule Xemacs. I have not yet come up with + a general solution to this problem. (I'm not convinced such a + solution even exists; byte-compiling could cause arbitrary code + to be executed, which will surely fail if the code uses Mule- + specific features.) +-- We now may have the world's largest collection of FTP-able + international X11 fonts. Look in cs.uiuc.edu:/pub/xemacs/beta/fonts. + See the README file for directions on installing the fonts. There + is also the potential for generating loads and loads more of these + fonts, by converting MetaFont fonts. +-- It is now possible to build simultaneously in the source directories + and in a separate build location, provided you have GNU make and + supply the `--with-gnu-make' option to configure. +-- Support for bit vectors is now provided. Bit vectors are like regular + vectors except that the only allowed values for elements are 0 and 1, + and they are stored internally using bit fields instead of arrays + of 32-bit values, making them much less heavyweight. New primitives + for working with bit vectors are `bit-vector', `make-bit-vector', + `bit-vector-p', and `bvconcat' (equivalents of `vector', `make-vector', + `vectorp' and `vconcat'). All other vector primitives should work + fine with bit vectors. +-- new specifier functions `specifier-matching-instance', + `specifier-matching-instance-from-inst-list', and + `valid-specifier-matchspec-p', for working with fonts in XEmacs/Mule. + These same functions could be used to provide much more flexible + handling of display tables and the like, and this work may get done + if there is demand for it. +-- The handling of PURESIZE has been fixed up. There is no longer + special stuff needed in m/alpha.h. Alpha users may need to tweak + with puresize.h. +-- You can now build statically on Linux. Doing this will allow you + to get proper backtraces. (Shared libraries are typically built + -fomit-frame-pointer, which screws everything up.) +-- I have removed almost all of the MAC_* stuff and replaced it with + inline functions. configure attempts to detect whether your compiler + supports `inline'. However, if your compiler does support it + but is not GCC, you should look at how I've done things and see + if it meshes with your compiler. Basically, GCC has a nice feature + where you can declare a function `extern inline' and stick it in + a header file. This will cause the inline declaration to be + used if the function can be inlined, and an external reference to + be generated otherwise. Then, you define the function just + `inline' in one single file (inline.c). This is superior to the + method of declaring all inline functions as `static inline', which + could leave a separate copy of each function in lots of source + files. However, I'm not sure if non-GCC compilers support this. + Please read your compiler's documentation and fix up the definition + of INLINE in config.h.in accordingly. + + Also, there may be functions that would really benefit from inlining, + which you can sometimes specify as an option to your compiler. + We will have Quantify information on this. +-- XEmacs now uses the v19 regex routines instead of the v18 regex + routines. Speed should not be significantly different due to the + non-Posix-backtracking default. If you want the full Posix + backtracking, use the functions `posix-looking-at', `posix-string-match', + etc. (Be warned that this may be significantly slower.) Note also + that the fishy problems may be forever banished. + + NOTE: The v19 regex routines do reallocs using rel-alloc if it is + available; God only knows why. If you notice some weird hiccups in + the regex routines, this is a likely culprit. Someone might want to + try putting '#undef REL_ALLOC' at the top of regex.c or something. + RMS also claims that much of the stuff that's going on here (recording + backtracking points) is only necessary for full Posix backtracking, + and thus we should be able to disable it in the normal (non-Posix) + case. +-- XEmacs now caches compiled regexps. This may speed up regex searching. +-- `replace-match' now takes a fourth argument STRING that allows for + replacement in a string instead of a buffer. +-- new functions `upcase-initials' and `upcase-initials-region' from + FSF Emacs 19.29. +-- match data is automatically saved and restored while a process filter + or sentinel is running. +-- new type "char-table". A char table is for indexing characters and + is intended to be an extension/generalization of syntax tables, + display tables, case tables, category tables (a new kind of beast + allowing classifications of characters into categories for regexp + lookup, useful esp. for Mule), etc. You can set values for + an entire charset and for individual rows of a charset. Adding + and looking up values occurs in constant time. +-- new type "range-table". A range table efficiently indexes ranges of + integers to values. +-- new modeline spec '%C'; displays a mnemonic string for the + file-coding-system, under Mule. +-- new function `device-on-window-system-p'; clean way of determining + whether mouse, glyph, etc. support is likely to be available on this + device. + #### We really need individual feature-test functions. +-- new dialog-box functions `get-dialog-box-response' (like the misnamed + `x-popup-dialog' FSFmacs function), `message-box' (like the FSFmacs + function), and `message-or-box' (like the FSFmacs function).