annotate man/xemacs/new.texi @ 440:8de8e3f6228a r21-2-28

Import from CVS: tag r21-2-28
author cvs
date Mon, 13 Aug 2007 11:33:38 +0200
parents 3ecd8885ac67
children abe6d1db359e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @unnumbered XEmacs Features
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 This section describes the difference between Emacs Version 18 and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 @unnumberedsec General Changes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 @ignore
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 XEmacs has a new vi emulation mode called evi mode. To
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 start evi mode in Emacs, type the command @kbd{M-x evi}. If you want
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 Emacs to automatically put you in evi-mode all the time, include this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 line in your @file{.emacs} file:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 (setq term-setup-hook 'evi)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 @xref{evi Mode} for a brief discussion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 @end ignore
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 XEmacs has a new vi emulation mode called ``viper'' mode. To start
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 viper mode in XEmacs, type the command @kbd{M-x viper-mode}. If you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 want XEmacs to automatically put you in viper-mode all the time, include
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 this line in your @file{.emacs} file:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 (viper-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 Earlier versions of Emacs only allowed keybindings to ASCII character
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 sequences. XEmacs has greatly expanded this by allowing you to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 use a vector of key sequences which are in turn composed of a modifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 and a keysym. @xref{Keystrokes} for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 The keymap data structure has been reimplemented to allow the use of a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 character set larger than ASCII. Keymaps are no longer alists and/or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 vectors; they are a new primary data type. Consequently, code which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 manipulated keymaps with list or array manipulation functions will no
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 longer work. It must use the functions @code{define-key} or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 @code{map-keymap} and @code{set-keymap-parent} (the new keymap
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 functions). @xref{Key Bindings} for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 Input and display of all ISO-8859-1 characters is supported.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 Multiple fonts, including variable-width fonts, and fonts of differing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 heights, are supported.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 There is a new @file{tags} package and a new UNIX manual browsing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 package. They are similar to earlier versions; for more information look
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 at the source code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 There is a new implementation of Dired, with many new features. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 online info for Dired, @i{not} the Dired node of Emacs info, provides
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 more detail.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 GNUS (a network news reader), VM (an alternative mail reader), ILISP (a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 package for interacting with inferior Lisp processes), ANGE-FTP (a package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 for making FTP-accessible files appear just like files on the local disk,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 even to Dired), Calendar (an Emacs-based calendar and appointment-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 management tool), and W3 (an interface to the World Wide Web) are a part
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 of the XEmacs Lisp library. See the related documentation in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 online info browser.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 Emacs now supports floating-point numbers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 When you send mail, mail aliases are now expanded in the buffer. In
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 earlier versions, they were expanded after the mail-sending command was
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 executed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 The initial value of @code{load-path} is computed when Emacs starts up,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 instead of being hardcoded in when Emacs is compiled. As a result, you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 can now move the Emacs executable and Lisp library to a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 different location in the file system without having to recompile.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 Any existing subdirectories of the Emacs Lisp directory are now added to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 @code{load-path} by default.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 On some machines, you can change the audible bell using the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 @code{sound-alist} variable. @xref{Audible Bell} for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 You can use multiple X windows to display multiple Emacs frames.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 You can use the X selection mechanism to copy material from other
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 applications and into other applications. You can also use all Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 region commands on a region selected with the mouse. @xref{Mouse
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 Selection} for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 By default, the variable @code{zmacs-regions} is set to highlight the region
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 between point and the mark. This unifies X selection and Emacs selection
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 behavior.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 XEmacs has a menu bar for mouse-controlled operations in addition to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 keystrokes. @xref{Pull-down Menus}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 You can look in the file @file{/usr/local/lib/xemacs-19.11/etc/Emacs.ad} for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 a list of Emacs X resources. You can set these resources in your X
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 environment to set your preferences for color, fonts, location, and the size
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 of XEmacs frames. Refer to your X documentation for more information
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 about resources.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 @unnumberedsec New Commands and Variables
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 There are many new functions in XEmacs, and many existing functions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 whose semantics have been expanded. Most of these are only of interest
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 to the Emacs-Lisp programmer; see the NEWS file @kbd{C-h n} for a complete
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 list. What follows is a partial list of the new interactive commands:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 @findex byte-compile-and-load-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 @findex byte-compile-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 @code{byte-compile-and-load-file} and @code{byte-compile-buffer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 byte-compile the contents of a file or buffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 @findex conx
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 The new @code{conx} function lets you generate random sentences for your
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 amusement.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 @findex compile-defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 @code{compile-defun} compiles and evaluates the current top-level
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 form.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 @findex find-this-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 @findex find-this-file-other-window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 @code{find-this-file} and @code{find-this-file-other-window} can be used
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 interactively with a prefix argument to switch to the filename at point
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 in the buffer. @code{find-this-file-other-window} displays the file in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 another window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 @findex invert-face
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @findex make-face-bold
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 @findex make-face-bold-italic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 @findex make-face-italic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 @findex make-face-unbold
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 @findex make-face-unitalic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 @findex set-face-background
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 @findex set-face-background-pixmap
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @findex set-face-font
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 @findex set-face-foreground
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 @findex set-face-underline-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 Several new functions have been added that allow you to customize the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 color and font attributes of a region of text: @code{invert-face},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 @code{make-face-bold}, @code{make-face-bold-italic},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 @code{make-face-italic}, @code{make-face-unbold},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 @code{make-face-unitalic}, @code{set-face-background},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 @code{set-face-background-pixmap}, @code{set-face-font},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 @code{set-face-foreground}, and @code{set-face-underline-p}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 @findex load-default-sounds
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 @findex load-sound-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 @findex play-sound
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 @code{load-default-sounds} and @code{load-sound-file} allow you to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 customize the audible bell sound. @code{load-default-sounds} loads and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 installs sound files. @code{load-sound-file} reads in audio files and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 adds them to the sound alist. @code{play-sound} plays the specified
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 sound type.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 @findex locate-library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 @code{locate-library} finds the file that the function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 @code{load-library} loads, and it displays the file's full pathname.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 @findex make-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 @findex remove-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 @code{make-directory} creates a directory, while @code{remove-directory}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 removes a directory.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 @findex mark-beginning-of-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 @findex mark-end-of-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 @code{mark-beginning-of-buffer} and @code{mark-end-of-buffer} push the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 mark to the beginning or end of a buffer, respectively.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 @findex mouse-del-char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 @findex mouse-delete-window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 @findex mouse-keep-one-window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 @findex mouse-kill-line
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 @findex mouse-line-length
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 @findex mouse-scroll
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 @findex mouse-select
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 @findex mouse-select-and-split
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 @findex mouse-set-mark
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 @findex mouse-set-point
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 @findex mouse-track
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 @findex mouse-track-adjust
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 @findex mouse-track-and-copy-to-cutbuffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 @findex mouse-track-delete-and-insert
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 @findex mouse-track-insert
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 @findex mouse-window-to-region
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 Several functions have been added that allow you to perform various
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 editing, region, and window operations using the mouse:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 @code{mouse-del-char}, @code{mouse-delete-window},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 @code{mouse-keep-one-window}, @code{mouse-kill-line},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 @code{mouse-line-length}, @code{mouse-scroll}, @code{mouse-select},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 @code{mouse-select-and-split}, @code{mouse-set-mark},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 @code{mouse-set-point}, @code{mouse-track}, @code{mouse-track-adjust},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 @code{mouse-track-and-copy-to-cutbuffer},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 @code{mouse-track-delete-and-insert}, @code{mouse-track-insert}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 @code{mouse-window-to-region}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 @findex compare-windows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 @code{compare-windows} takes an argument @var{ignore-whitespace}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 The argument means ignore changes in whitespace.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 You can conditionalize your @file{.emacs} file as follows so that XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 commands are invoked only when you are in XEmacs:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 @cindex version number
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 (cond ((string-match "Lucid" emacs-version)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 ;; Code for any version of Lucid Emacs or XEmacs goes here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 (cond ((and (string-match "XEmacs" emacs-version)
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
243 (or (> emacs-major-version 19)
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
244 (>= emacs-minor-version 12)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 ;; Code which requires XEmacs version 19.12 or newer goes here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 (cond ((>= emacs-major-version 19)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 ;; Code for any vintage-19 emacs goes here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 (cond ((and (not (string-match "Lucid" emacs-version))
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
257 (= emacs-major-version 19))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 ;; Code specific to FSF Emacs 19 (not XEmacs) goes here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 (cond ((< emacs-major-version 19)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 ;; Code specific to emacs 18 goes here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 Of particular interest for use in @file{.emacs} files are:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 @findex add-menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 @findex add-menu-item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 @findex delete-menu-item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 @findex disable-menu-item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 @findex enable-menu-item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 @findex relabel-menu-item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 @code{add-menu} lets you add a new menu to the menubar or a submenu to a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 pull-down menu. @code{add-menu-item}, @code{disable-menu-item},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 @code{delete-menu-item}, @code{enable-menu-item}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 @code{relabel-menu-item} allow you to customize the XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 pull-down menus.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 @findex make-frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 @code{make-frame} creates a new Emacs frame (X window).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 These new variables are only present in XEmacs:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 @vindex minibuffer-confirm-incomplete
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 @code{minibuffer-confirm-incomplete} prompts for confirmation in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 contexts where @code{completing-read} allows answers that are not valid
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 completions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 @vindex x-mode-pointer-shape
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 @vindex x-nontext-pointer-shape
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 @vindex x-pointer-background-color
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 @vindex x-pointer-foreground-color
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 @vindex x-pointer-shape
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 Several variables have been added that allow you to customize the color
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 and shape of the mouse pointer: @code{x-pointer-background-color},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 @code{x-pointer-foreground-color}, @code{x-mode-pointer-shape},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 @code{x-pointer-shape}, and @* @code{x-nontext-pointer-shape}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 @vindex zmacs-regions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 @code{zmacs-regions} determines whether LISPM-style active regions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 should be used.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 @unnumberedsec Changes in Key Bindings
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 XEmacs has the following new default function keybindings:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 @table @kbd
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
324 @item @key{HELP}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 Same as @kbd{C-h}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
327 @item @key{UNDO}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 Same as @kbd{M-x undo}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
330 @item @key{CUT}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 Same as the Cut menu item; that is, it copies the selected text to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 the X Clipboard selection.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
334 @item @key{COPY}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 Same as the Copy menu item.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
337 @item @key{PASTE}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 Same as the Paste menu item.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 @item @key{PGUP}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 Same as @kbd{M-v}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 @item @key{PGDN}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 Same as @kbd{C-v}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 @item @key{HOME}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 Same as @kbd{M-<}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 @item @key{END}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 Same as @kbd{M->}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 @item @key{LEFT-ARROW}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 Same as the function @code{backward-char}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
355 @item @key{RIGHT-ARROW}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 Same as the function @code{forward-char}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 @item @key{UP-ARROW}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 Same as the function @code{previous-line}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 @item @key{DOWN-ARROW}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 Same as the function @code{next-line}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 @end iftex