Mercurial > hg > xemacs-beta
diff man/xemacs/new.texi @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | ac2d302a0011 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/xemacs/new.texi Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,355 @@ + +@iftex +@unnumbered XEmacs Features + +This section describes the difference between Emacs Version 18 and +XEmacs. + +@unnumberedsec General Changes + +@itemize @bullet +@item +XEmacs has a new vi emulation mode called evi mode. To +start evi mode in Emacs, type the command @kbd{M-x evi}. If you want +Emacs to automatically put you in evi-mode all the time, include this +line in your @file{.emacs} file: +@example +(setq term-setup-hook 'evi) +@end example +@xref{evi Mode} for a brief discussion. +@item +Earlier versions of Emacs only allowed keybindings to ASCII character +sequences. XEmacs has greatly expanded this by allowing you to +use a vector of key sequences which are in turn composed of a modifier +and a keysym. @xref{Keystrokes} for more information. + +@item +The keymap data structure has been reimplemented to allow the use of a +character set larger than ASCII. Keymaps are no longer alists and/or +vectors; they are a new primary data type. Consequently, code which +manipulated keymaps with list or array manipulation functions will no +longer work. It must use the functions @code{define-key} or +@code{map-keymap} and @code{set-keymap-parent} (the new keymap +functions). @xref{Key Bindings} for more information. + +@item +Input and display of all ISO-8859-1 characters is supported. + +@item +Multiple fonts, including variable-width fonts, and fonts of differing +heights, are supported. + +@item +There is a new @file{tags} package and a new UNIX manual browsing +package. They are similar to earlier versions; for more information look +at the source code. + +@item +There is a new implementation of Dired, with many new features. The +online info for Dired, @i{not} the Dired node of Emacs info, provides +more detail. + +@item +GNUS (a network news reader), VM (an alternative mail reader), ILISP (a +package for interacting with inferior Lisp processes), ANGE-FTP (a package +for making FTP-accessible files appear just like files on the local disk, +even to Dired), Calendar (an Emacs-based calendar and appointment- +management tool), and W3 (an interface to the World Wide Web) are a part +of the XEmacs Lisp library. See the related documentation in the +online info browser. + +@item +Emacs now supports floating-point numbers. + +@item +When you send mail, mail aliases are now expanded in the buffer. In +earlier versions, they were expanded after the mail-sending command was +executed. + +@item +The initial value of @code{load-path} is computed when Emacs starts up, +instead of being hardcoded in when Emacs is compiled. As a result, you +can now move the Emacs executable and Lisp library to a +different location in the file system without having to recompile. + +@item +Any existing subdirectories of the Emacs Lisp directory are now added to the +@code{load-path} by default. + +@item +On some machines, you can change the audible bell using the +@code{sound-alist} variable. @xref{Audible Bell} for more information. + +@item +You can use multiple X windows to display multiple Emacs frames. + +@item +You can use the X selection mechanism to copy material from other +applications and into other applications. You can also use all Emacs +region commands on a region selected with the mouse. @xref{Mouse +Selection} for more information. + +@item +By default, the variable @code{zmacs-regions} is set to highlight the region +between point and the mark. This unifies X selection and Emacs selection +behavior. + +@item +XEmacs has a menu bar for mouse-controlled operations in addition to +keystrokes. @xref{Pull-down Menus}. + +@item +You can look in the file @file{/usr/local/lib/xemacs-19.11/etc/Emacs.ad} for +a list of Emacs X resources. You can set these resources in your X +environment to set your preferences for color, fonts, location, and the size +of XEmacs frames. Refer to your X documentation for more information +about resources. + +@unnumberedsec New Commands and Variables + +There are many new functions in XEmacs, and many existing functions +whose semantics have been expanded. Most of these are only of interest +to the Emacs-Lisp programmer; see the NEWS file @kbd{C-h n} for a complete +list. What follows is a partial list of the new interactive commands: + +@findex byte-compile-and-load-file +@findex byte-compile-buffer +@item +@code{byte-compile-and-load-file} and @code{byte-compile-buffer} +byte-compile the contents of a file or buffer. + +@findex conx +The new @code{conx} function lets you generate random sentences for your +amusement. + +@findex compile-defun +@item +@code{compile-defun} compiles and evaluates the current top-level +form. + +@findex find-this-file +@findex find-this-file-other-window +@item +@code{find-this-file} and @code{find-this-file-other-window} can be used +interactively with a prefix argument to switch to the filename at point +in the buffer. @code{find-this-file-other-window} displays the file in +another window. + +@findex invert-face +@findex make-face-bold +@findex make-face-bold-italic +@findex make-face-italic +@findex make-face-unbold +@findex make-face-unitalic +@findex set-face-background +@findex set-face-background-pixmap +@findex set-face-font +@findex set-face-foreground +@findex set-face-underline-p +@item +Several new functions have been added that allow you to customize the +color and font attributes of a region of text: @code{invert-face}, +@code{make-face-bold}, @code{make-face-bold-italic}, +@code{make-face-italic}, @code{make-face-unbold}, +@code{make-face-unitalic}, @code{set-face-background}, +@code{set-face-background-pixmap}, @code{set-face-font}, +@code{set-face-foreground}, and @code{set-face-underline-p}. + +@findex load-default-sounds +@findex load-sound-file +@findex play-sound +@item +@code{load-default-sounds} and @code{load-sound-file} allow you to +customize the audible bell sound. @code{load-default-sounds} loads and +installs sound files. @code{load-sound-file} reads in audio files and +adds them to the sound alist. @code{play-sound} plays the specified +sound type. + +@findex locate-library +@item +@code{locate-library} finds the file that the function +@code{load-library} loads, and it displays the file's full pathname. + +@findex make-directory +@findex remove-directory +@item +@code{make-directory} creates a directory, while @code{remove-directory} +removes a directory. + +@findex mark-beginning-of-buffer +@findex mark-end-of-buffer +@item +@code{mark-beginning-of-buffer} and @code{mark-end-of-buffer} push the +mark to the beginning or end of a buffer, respectively. + +@findex mouse-del-char +@findex mouse-delete-window +@findex mouse-keep-one-window +@findex mouse-kill-line +@findex mouse-line-length +@findex mouse-scroll +@findex mouse-select +@findex mouse-select-and-split +@findex mouse-set-mark +@findex mouse-set-point +@findex mouse-track +@findex mouse-track-adjust +@findex mouse-track-and-copy-to-cutbuffer +@findex mouse-track-delete-and-insert +@findex mouse-track-insert +@findex mouse-window-to-region +Several functions have been added that allow you to perform various +editing, region, and window operations using the mouse: +@code{mouse-del-char}, @code{mouse-delete-window}, +@code{mouse-keep-one-window}, @code{mouse-kill-line}, +@code{mouse-line-length}, @code{mouse-scroll}, @code{mouse-select}, +@code{mouse-select-and-split}, @code{mouse-set-mark}, +@code{mouse-set-point}, @code{mouse-track}, @code{mouse-track-adjust}, +@code{mouse-track-and-copy-to-cutbuffer}, +@code{mouse-track-delete-and-insert}, @code{mouse-track-insert}, and +@code{mouse-window-to-region}. + +@findex compare-windows +@item +@code{compare-windows} takes an argument @var{ignore-whitespace}. +The argument means ignore changes in whitespace. + +@end itemize + +You can conditionalize your @file{.emacs} file as follows so that XEmacs +commands are invoked only when you are in XEmacs: + +@cindex version number +@example +(cond ((string-match "Lucid" emacs-version) + ;; + ;; Code for any version of Lucid Emacs or XEmacs goes here + ;; + )) + +(cond ((and (string-match "XEmacs" emacs-version) + (or (> emacs-major-version 19) + (>= emacs-minor-version 12))) + ;; + ;; Code which requires XEmacs version 19.12 or newer goes here + ;; + )) + +(cond ((>= emacs-major-version 19) + ;; + ;; Code for any vintage-19 emacs goes here + ;; + )) + +(cond ((and (not (string-match "Lucid" emacs-version)) + (= emacs-major-version 19)) + ;; + ;; Code specific to FSF Emacs 19 (not XEmacs) goes here + ;; + )) + +(cond ((< emacs-major-version 19) + ;; + ;; Code specific to emacs 18 goes here + ;; + )) +@end example + +Of particular interest for use in @file{.emacs} files are: + +@itemize @bullet +@findex add-menu +@findex add-menu-item +@findex delete-menu-item +@findex disable-menu-item +@findex enable-menu-item +@findex relabel-menu-item +@item +@code{add-menu} lets you add a new menu to the menubar or a submenu to a +pull-down menu. @code{add-menu-item}, @code{disable-menu-item}, +@code{delete-menu-item}, @code{enable-menu-item}, and +@code{relabel-menu-item} allow you to customize the XEmacs +pull-down menus. + +@findex make-frame +@item +@code{make-frame} creates a new Emacs frame (X window). + +@end itemize + +These new variables are only present in XEmacs: + +@itemize @bullet + +@vindex minibuffer-confirm-incomplete +@item +@code{minibuffer-confirm-incomplete} prompts for confirmation in +contexts where @code{completing-read} allows answers that are not valid +completions. + +@vindex x-mode-pointer-shape +@vindex x-nontext-pointer-shape +@vindex x-pointer-background-color +@vindex x-pointer-foreground-color +@vindex x-pointer-shape +@item +Several variables have been added that allow you to customize the color +and shape of the mouse pointer: @code{x-pointer-background-color}, +@code{x-pointer-foreground-color}, @code{x-mode-pointer-shape}, +@code{x-pointer-shape}, and @* @code{x-nontext-pointer-shape}. + +@vindex zmacs-regions +@item +@code{zmacs-regions} determines whether LISPM-style active regions +should be used. +@end itemize + +@unnumberedsec Changes in Key Bindings + +XEmacs has the following new default function keybindings: + +@table @kbd +@item @key{HELP} +Same as @kbd{C-h}. + +@item @key{UNDO} +Same as @kbd{M-x undo}. + +@item @key{CUT} +Same as the Cut menu item; that is, it copies the selected text to +the X Clipboard selection. + +@item @key{COPY} +Same as the Copy menu item. + +@item @key{PASTE} +Same as the Paste menu item. + +@item @key{PGUP} +Same as @kbd{M-v}. + +@item @key{PGDN} +Same as @kbd{C-v}. + +@item @key{HOME} +Same as @kbd{M-<}. + +@item @key{END} +Same as @kbd{M->}. + +@item @key{LEFT-ARROW} +Same as the function @code{backward-char}. + +@item @key{RIGHT-ARROW} +Same as the function @code{forward-char}. + +@item @key{UP-ARROW} +Same as the function @code{previous-line}. + +@item @key{DOWN-ARROW} +Same as the function @code{next-line}. + +@end table + + +@end iftex