[307] in Software_Announce

home help back first fref pref prev next nref lref last post

XEmacs 21.1.4 now available in xemacs locker

daemon@ATHENA.MIT.EDU (Jered J Floyd)
Fri Jul 30 17:22:16 1999

To: software-announce@MIT.EDU
Cc: xemacs@MIT.EDU
From: Jered J Floyd <jered@MIT.EDU>
Date: 30 Jul 1999 17:20:25 -0400


XEmacs is a text editor similar in many ways in FSF Emacs (they share
a great deal of the codebase.) Unlike FSF Emacs, XEmacs allows for 
proportionally spaced fonts, and images embedded in buffers. It also
comes with many more packages standard, and has some cleaner internal
abstractions. (More on this can be found in NEWS.)

I have built and installed XEmacs 21.1.4 for Linux, NetBSD, Solaris
and Irix.  This version is more stable and faster than the older
versions installed.  It is now the default version of XEmacs available
on Athena.  To rum XEmacs:

    add xemacs
    xemacs &

A MULE version of XEmacs 21.1.4 is not yet built, but may appear 
as xemacs-mule in the future. Watch here or /mit/xemacs/README
for details in the future.

Appended is some of /mit/xemacs/lib/xemacs-21.1.4/etc/NEWS.

--Jered
jered@mit.edu

* Changes in XEmacs 21.0
========================

** XEmacs has been unbundled into constituent installable packages.
See the Info documentation under "Packages" for more information.
See the file `etc/PACKAGES' in the distribution for a partial list of
packages available at the time of the 21.0 release.

IMPORTANT NOTE: XEmacs currently expects the user-specific package
hierarchy in ~/.xemacs.  This will probably change to
~/.xemacs/packages in a future version of XEmacs.

** XEmacs is now supported under Microsoft Windows 95/98 and Windows
NT operating systems.  For starters, look at the XEmacs on Windows FAQ
at <URL:http://jagor.srce.hr/~hniksic/xemacs-on-windows-faq.txt>.  To
discuss Windows-specific issues, subscribe to the mailing list at
<xemacs-nt-request@xemacs.org>.

** XEmacs will now use `XEmacs' as its application class if it finds
any `XEmacs' resources in the resource database.  Otherwise, it will
continue to use the `Emacs' class.

** The options menu has been ported to Custom.
This means that each entry in the options menu acts as if you had customized
the corresponding variable by hand.  ### WARNING: there is currently no
upgrading function to help you port your old options settings to the new
format. Consequently, if you want to modify the options for XEmacs 21, you
will have to set them all again through the menu, and remove the code loading
.xemacs-options from your .emacs.

** When the Zmacs region is active, `M-x query-replace' and the other
replace commands now operate on the region contents only.

** XEmacs now is able to choose X visuals and use private colormaps.
The '-visual <visualStr>' command line option or the '.EmacsVisual'
Xresource controls which visual XEmacs will use, and
'-privateColormap' or '.privateColormap' will force XEmacs to create a
private colormap for use.  The syntax for the visual string is
"<visual><bitdepth>" where <visual> is one of 'StaticColor',
'TrueColor', 'GrayScale', 'PseudoColor' or 'DirectColor' and
<bitdepth> is the appropriate number of bits per pixel.  If an invalid
or non-supported combination is entered, XEmacs attempts to find a happy
medium.  The X creation mechanism will then determine if it needs to
create a colormap for use, or the presence of the private flags will
force it to create it.

** The `imenu' package has been ported to XEmacs and is available as a
package.

** `echo-keystrokes' can now be a floating-point number, so that you
can set it to intervals shorter than one second.

   (setq echo-keystrokes 0.1)

** The new command `center-to-window-line' works like `recenter'
(bound to `C-l'), only it does not redisplay the whole display area.

** The M-. command will now first search through exact tags matches,
and then through inexact matches, as one would expect.

** The new variable `user-full-name' can be used to customize one's
name when using the Emacs mail and news reading facilities.

Normally, `user-full-name' is a function that returns the full name of 
a user or UID, as specified by the system -- for instance,
(user-full-name "root") returns something like "Super-User".  However, 
when the function is called without arguments, it will return the
value of the `user-full-name' variable.  The `user-full-name' variable 
is initialized using the environment variable NAME and (failing that)
the user's system name.

The behaviour of the `user-full-name' function with an argument
specified is unchanged.

** The new command `M-x customize-changed-options' lets you customize
all the options whose default values have changed in recent Emacs
versions.  You specify a previous Emacs version number as argument,
and the command creates a customization buffer showing all the
customizable options whose default values were changed since that
version.

If you don't specify a particular version number argument, then the
customization buffer shows all the customizable options for which
Emacs versions of changes are recorded.

** The new command `add-log-convert' can be used to convert the
old-style (pre-20.3) ChangeLog buffers to new style, for
consistency.  A reminder: if you wish to revert to old-style
ChangeLogs instead, customize the value of `add-log-time-format'
variable.

** The new command `zap-up-to-char' is now available.  It is similar
to `zap-to-char', except that it does not delete the searched-for
character.  It is not bound to a key by default.

** You can now store a number into a register with `C-u NUMBER C-x r n'
REG, increment it by INC with `C-u INC C-x r + REG' (to increment by
one, omit C-u INC), and insert it in the buffer with `C-x r g REG'.
This is useful for writing keyboard macros.

** The M-: command, when given a prefix argument, will now insert its
result to the current buffer.

** The `C-h c' command, when given a prefix argument, will now insert
the message into the current buffer.

** Horizontally split windows may now be dragged using the mouse.
Because of this, the dividers between vertical windows are always
visible.  To turn it off, set `vertical-divider-always-visible-p' to
nil.

** XEmacs/Mule (internationalization) changes.

*** Mule support now works on TTY's.  Use `set-terminal-coding-system'
and `set-keyboard-coding-system' to specify the coding system of your
display and keyboard.

*** Egg/SJ3 input method is now officially supported.  Quail and
Egg/Skk have been available through the generalized Leim since 20.3.

*** Localized Japanese menubars are available if XEmacs is built with
XFONTSET and either the X11 libraries are built with X_LOCALE defined
or the native C libraries support Japanese localization.  This has
been available since 20.3, only it hasn't been announced before.

** Jamie Zawinski's `gdb-highlight' extension is now distributed with
the `debug' package.  gdb-highlight makes most objects printed in a
gdb buffer be mouse-sensitive: as text shows up in the buffer, it is
parsed, and objects which are recognized have context-sensitive
commands attached to them.  To use it, add the following to `.emacs':

  (add-hook 'gdb-mode-hook (lambda () (require 'gdb-highlight)))

** The package popper.el is now included in the edit-utils package.
It has been greatly enhanced with respect to the one once included
with the ilisp package and should work well under XEmacs 21.0.

** Gnuserv changes

*** Like the old 'gnudoit' program. Gnuclient -batch now can read from stdin.

*** Gnuclient -batch no longer breaks off the output at the first LF.

** C mode changes

*** Multiline macros are now handled, both as they affect indentation,
and as recognized syntax.  New syntactic symbol cpp-macro-cont is
assigned to second and subsequent lines of a multiline macro
definition.

*** A new style "user" which captures all non-hook-ified
(i.e. top-level) .emacs file variable setings and customizations.
Style "cc-mode" is an alias for "user" and is deprecated.  "gnu" style
is still the default however.

*** "java" style now conforms to Sun's JDK coding style.

*** There are new commands c-beginning-of-defun, c-end-of-defun which
are alternatives which you could bind to C-M-a and C-M-e if you prefer
them.  They do not have key bindings by default.

*** New and improved implementations of M-a (c-beginning-of-statement)
and M-e (c-end-of-statement).

*** C++ namespace blocks are supported, with new syntactic symbols
namespace-open, namespace-close, and innamespace.

*** File local variable settings of c-file-style and c-file-offsets
makes the style variables local to that buffer only.

*** New indentation functions c-lineup-close-paren,
c-indent-one-line-block, c-lineup-dont-change.

*** Improvements (hopefully!) to the way CC Mode is loaded.  You
should now be able to do a (require 'cc-mode) to get the entire
package loaded properly for customization in your .emacs file.  A new
variable c-initialize-on-load controls this and is t by default.

** In Text mode, now only blank lines separate paragraphs.
This makes it possible to get the full benefit of Adaptive Fill mode
in Text mode, and other modes derived from it (such as Mail mode).
TAB in Text mode now runs the command indent-relative; this makes a
practical difference only when you use indented paragraphs.

As a result, the old Indented Text mode is now identical to Text mode,
and is an alias for it.

If you want spaces at the beginning of a line to start a paragraph,
use the new mode, Paragraph Indent Text mode.

** Changes to Gnus, the XEmacs newsreader.

*** New functionality for using Gnus as an offline newsreader has been
added.  A plethora of new commands and modes have been added.  See the
Gnus manual for the full story.

*** The nndraft backend has returned, but works differently than
before.  All Message buffers are now also articles in the nndraft
group, which is created automatically.

*** `gnus-alter-header-function' can now be used to alter header
values.

*** `gnus-summary-goto-article' now accept Message-ID's.

*** A new Message command for deleting text in the body of a message
outside the region: `C-c C-v'.

*** You can now post to component group in nnvirtual groups with
`C-u C-c C-c'.

*** `nntp-rlogin-program' -- new variable to ease customization.

*** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit
re-highlighting of the article buffer.

*** New element in `gnus-boring-article-headers' -- `long-to'.

*** `M-i' symbolic prefix command.  See the section "Symbolic
Prefixes" in the Gnus manual for details.

*** `L' and `I' in the summary buffer now take the symbolic prefix
`a' to add the score rule to the "all.SCORE" file.

*** `gnus-simplify-subject-functions' variable to allow greater
control over simplification.

*** `A T' -- new command for fetching the current thread.

*** `/ T' -- new command for including the current thread in the
limit.

*** `M-RET' is a new Message command for breaking cited text.

*** \\1-expressions are now valid in `nnmail-split-methods'.

*** The `custom-face-lookup' function has been removed.  
If you used this function in your initialization files, you must
rewrite them to use `face-spec-set' instead.

*** Cancelling now uses the current select method.  Symbolic prefix
`a' forces normal posting method.

*** New command to translate M******** sm*rtq**t*s into proper text
-- `W d'.

*** For easier debugging of nntp, you can set `nntp-record-commands'
to a non-nil value.

*** nntp now uses ~/.authinfo, a .netrc-like file, for controlling
where and how to send AUTHINFO to NNTP servers.

*** A command for editing group parameters from the summary buffer
has been added.

*** A history of where mails have been split is available.

*** A new article date command has been added -- `article-date-iso8601'.

*** Subjects can be simplified when threading by setting
`gnus-score-thread-simplify'.

*** A new function for citing in Message has been added --
`message-cite-original-without-signature'.

*** `article-strip-all-blank-lines' -- new article command.

*** A new Message command to kill to the end of the article has
been added.

*** A minimum adaptive score can be specified by using the
`gnus-adaptive-word-minimum' variable.

*** The "lapsed date" article header can be kept continually
updated by the `gnus-start-date-timer' command.

*** Web listserv archives can be read with the nnlistserv backend.

*** Old dejanews archives can now be read by nnweb.

*** Byte-compilation of user-specs now works under XEmacs.

** The `dir' files are no longer essential for functioning of the Info
subsystem.  If the `dir' file does not exist in an Info directory, the
relevant information will be generated on-the-fly.

This behaviour can be customized, look for `Info-auto-generate-directory'
and `Info-save-auto-generated-dir' in the `info' customization group.

** Version Control is no longer automatically loaded.  Users must
add:

(require 'vc-hooks)

to their .emacs file to get version control functionality.

** The EDiff menus are no longer included in the default menubar.
Users must add:

(require 'ediff-hook)

to their .emacs file to get the menus.

** An experimental version of dynamic linking is supported.

There is no documentation and we are making no guarantees about what
might change in the future with the "C" level API.  Examples of how to 
make DLLs are in the modules subdirectory of the XEmacs source
distribution.

Please note that XEmacs is a GPL'ed program and there are restrictions
on what kinds of binaries that can be linked with it.  In particular,
proprietary DLLs without source cannot be distributed.  See the file
COPYING for more details.

home help back first fref pref prev next nref lref last post