annotate etc/ONEWS.4 @ 36150:46e59561af4c

Display Vars node renamed Display Custom. Include info there about customizing cursor appearance. Clean up aggressive scrolling. Clarify horizontal scrolling discussion. Fix index entries for line number mode.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Feb 2001 16:45:37 +0000
parents b75587b124c4
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33149
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1 GNU Emacs NEWS -- history of user-visible changes. 1992.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2 Copyright (C) 1992 Free Software Foundation, Inc.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
3 See the end for copying conditions.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
4
33644
b75587b124c4 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents: 33149
diff changeset
5 For older news, see the file ONEWS.3.
33149
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
6
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
7 Changes in version 18.58.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
8
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9 * RMAIL reply now properly parses nested comments in addesses.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
11 * The "visual bell" feature when used with X windows
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
12 now flashes only 1/4 of the window's total area. This is because
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
13 flashing the whole window is too slow on some systems.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
15 * `call-process' and `call-process-region' now return an indication
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
16 of the exit status of the subprocess: either a numeric exit code
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17 or a string describing the signal which caused termination.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
18
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19 * It is possible for regular expression matching to overflow the stack
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20 of failure points. In the past, such overflow was treated as simple
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21 failure to match. Now it causes an error.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 * You can use C-u to end a numeric argument. Thus, type C-u 1 0 0 C-u 1
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24 to insert 100 1's.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
25
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 * Emacs now knows how to get resource values from the X server.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 * Job control commands in shell mode work properly on more systems
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29 because they now work by "typing" signal characters such as C-c.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31 * copy-keymap no longer recursively copies keymaps reached through
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32 symbols' function definitions (i.e., those that have names). It does
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 copy nested keymaps that appear directly in the other copied keymaps.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35 Changes in version 18.56.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 * C-g should now work to interrupt a running program
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38 on all kinds of systems even when using X windows.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 * Quitting is inhibited while a filter or sentinel is running.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41 Those functions can run asynchronously while Emacs is waiting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 for keyboard input, and if they allow quitting, they
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43 make the behavior of C-g unpredictable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 * Storing text into the X windows cut buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46 now clears out any selection.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 * The undo facility is completely rewritten, and now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49 uses Lisp data structures. It can record much more
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50 information. You can use the variables undo-threshold
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 and undo-high-threshold to control how much.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53 * There is no longer a maximum screen height or width.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55 Changes in version 18.52.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 * X windows version 10 is supported under system V.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
58
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59 * Pop-up menus are now supported with the same Lisp interface in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 both version 10 and 11 of X windows.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 * C-x 4 a is a new command to edit a change-log entry in another window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
64 * The emacs client program now allows an option +NNN to specify the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 line number to go to in the file whose name follows. Thus,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 emacsclient foo.c +45 bar.c
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67 will find the files `foo.c' and `bar.c', going to line 45 in `bar.c'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
68
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 * Dired allows empty directories to be deleted like files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71 * When the terminal type is used to find a terminal-specific file to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 run, Emacs now tries the entire terminal type first. If that doesn't
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 yield a file that exists, the last hyphen and what follows it is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74 stripped. If that doesn't yield a file that exists, the previous
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75 hyphen is stripped, and so on until all hyphens are gone. For
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76 example, if the terminal type is `aaa-48-foo', Emacs will try first
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77 `term/aaa-48-foo.el', then `term/aaa-48.el' and finally `term/aaa.el'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79 Underscores now receive the same treatment as hyphens.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 * Texinfo features: @defun, etc. texinfo-show-structure.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 New template commands. texinfo-format-region.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
84 * The special "local variable" `eval' is now ignored if you are running
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 as root.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
86
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
87 * New command `c-macro-expand' shows the result of C macro expansion
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88 in the region. It works using the C preprocessor, so its results
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
89 are completely accurate.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
91 * Errors in trying to auto save now flash error messages for a few seconds.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
92
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 * Killing a buffer now sends SIGHUP to the buffer's process.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
94
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95 * New hooks.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
96
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97 ** `spell-region' now allows you to filter the text before spelling-checking.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 If the value of `spell-filter' is non-nil, it is called, with no arguments,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 looking at a temporary buffer containing a copy of the text to be checked.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100 It can alter the text freely before the spell program sees it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102 ** The variable `lpr-command' now specifies the command to be used when
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 you use the commands to print text (such as M-x print-buffer).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 ** Posting netnews now calls the value of `news-inews-hook' (if not nil)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
106 as a function of no arguments before the actual posting.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108 ** Rmail now calls the value of `rmail-show-message-hook' (if not nil)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
109 as a function of no arguments, each time a new message is selected.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111 ** `kill-emacs' calls the value of `kill-emacs-hook' as a function of no args
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112 unless Emacs is running in batch mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
113
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
114 * New libraries.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115 See the source code of each library for more information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 ** icon.el: a major mode for editing programs written in Icon.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 ** life.el: a simulator for the cellular automaton "life". Load the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120 library and run M-x life.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
121
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
122 ** doctex.el: a library for converting the Emacs `etc/DOC' file of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
123 documentation strings into TeX input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
124
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
125 ** saveconf.el: a library which records the arrangement of windows and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 buffers when you exit Emacs, and automatically recreates the same
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
127 setup the next time you start Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
128
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129 ** uncompress.el: a library that automatically uncompresses files
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
130 when you visit them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
131
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
132 ** c-fill.el: a mode for editing filled comments in C.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
134 ** kermit.el: an extended version of shell-mode designed for running kermit.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
135
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
136 ** spook.el: a library for adding some "distract the NSA" keywords to every
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
137 message you send.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
139 ** hideif.el: a library for hiding parts of a C program based on preprocessor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
140 conditionals.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
141
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
142 ** autoinsert.el: a library to put in some initial text when you visit
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
143 a nonexistent file. The text used depends on the major mode, and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
144 comes from a directory of files created by you.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
145
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
146 * New programming features.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
147
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
148 ** The variable `window-system-version' now contains the version number
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
149 of the window system you are using (if appropriate). When using X windows,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
150 its value is either 10 or 11.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
151
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
152 ** (interactive "N") uses the prefix argument if any; otherwise, it reads
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
153 a number using the minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
154
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
155 ** VMS: there are two new functions `vms-system-info' and `shrink-to-icon'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
156 The former allows you to get many kinds of system status information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
157 See its self-documentation for full details.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
158 The second is used with the window system: it iconifies the Emacs window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
159
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
160 ** VMS: the new function `define-logical-name' allows you to create
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
161 job-wide logical names. The old function `define-dcl-symbol' has been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
162 removed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
163
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
164 Changes in version 18.50.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
165
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
166 * X windows version 11 is supported.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
167
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
168 Define X11 in config.h if you want X version 11 instead of version 10.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
169
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
170 * The command M-x gdb runs the GDB debugger as an inferior.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
171 It asks for the filename of the executable you want to debug.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
173 GDB runs as an inferior with I/O through an Emacs buffer. All the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174 facilities of Shell mode are available. In addition, each time your
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 program stops, and each time you select a new stack frame, the source
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
176 code is displayed in another window with an arrow added to the line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
177 where the program is executing.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
178
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
179 Special GDB-mode commands include M-s, M-n, M-i, M-u, M-d, and C-c C-f
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
180 which send the GDB commands `step', `next', `stepi', `up', `down'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181 and `finish'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
183 In any source file, the commands C-x SPC tells GDB to set a breakpoint
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
184 on the current line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
185
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
186 * M-x calendar displays a three-month calendar.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
187
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
188 * C-u 0 C-x C-s never makes a backup file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 This is a way you can explicitly request not to make a backup.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192 * `term-setup-hook' is for users only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
193
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
194 Emacs never uses this variable for internal purposes, so you can freely
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195 set it in your `.emacs' file to make Emacs do something special after
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196 loading any terminal-specific setup file from `lisp/term'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
198 * `copy-keymap' now copies recursive submaps.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200 * New overlay-arrow feature.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202 If you set the variable `overlay-arrow-string' to a string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203 and `overlay-arrow-position' to a marker, that string is displayed on
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
204 the screen at the position of that marker, hiding whatever text would
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
205 have appeared there. If that position isn't on the screen, or if
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206 the buffer the marker points into isn't displayed, there is no effect.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
207
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
208 * -batch mode can read from the terminal.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
209
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
210 It now works to use `read-char' to do terminal input in a noninteractive
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
211 Emacs run. End of file causes Emacs to exit.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
212
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
213 * Variables `data-bytes-used' and `data-bytes-free' removed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
214
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
215 These variables cannot really work because the 24-bit range of an
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
216 integer in (most ports of) GNU Emacs is not large enough to hold their
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
217 values on many systems.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
218
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
219 Changes in version 18.45, since version 18.41.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
220
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
221 * C indentation parameter `c-continued-brace-offset'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
222
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
223 This parameter's value is added to the indentation of any
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
224 line that is in a continuation context and starts with an open-brace.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225 For example, it applies to the open brace shown here:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
226
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
227 if (x)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
228 {
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
229
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
230 The default value is zero.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
231
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
232 * Dabbrev expansion (Meta-/) preserves case.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
233
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
234 When you use Meta-/ to search the buffer for an expansion of an
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
235 abbreviation, if the expansion found is all lower case except perhaps
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
236 for its first letter, then the case pattern of the abbreviation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237 is carried over to the expansion that replaces it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
239 * TeX-mode syntax.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
240
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241 \ is no longer given "escape character" syntax in TeX mode. It now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 has the syntax of an ordinary punctuation character. As a result,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243 \[...\] and such like are considered to balance each other.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
244
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
245 * Mail-mode automatic Reply-to field.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
246
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
247 If the variable `mail-default-reply-to' is non-`nil', then each time
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
248 you start to compose a message, a Reply-to field is inserted with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249 its contents taken from the value of `mail-default-reply-to'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
251 * Where is your .emacs file?
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
252
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253 If you run Emacs under `su', so your real and effective uids are
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 different, Emacs uses the home directory associated with the real uid
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
255 (the name you actually logged in under) to find the .emacs file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
256
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257 Otherwise, Emacs uses the environment variable HOME to find the .emacs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258 file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 The .emacs file is not loaded at all if -batch is specified.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
261
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
262 * Prolog mode is the default for ".pl" files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
263
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
264 * File names are not case-sensitive on VMS.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
265
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
266 On VMS systems, all file names that you specify are converted to upper
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
267 case. You can use either upper or lower case indiscriminately.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
268
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
269 * VMS-only function 'define-dcl-symbol'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
270
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
271 This is a new name for the function formerly called
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272 `define-logical-name'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 Editing Changes in Emacs 18
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 * Additional systems and machines are supported.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 GNU Emacs now runs on Vax VMS. However, many facilities that are normally
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279 implemented by running subprocesses do not work yet. This includes listing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 a directory and sending mail. There are features for running subprocesses
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
281 but they are incompatible with those on Unix. I hope that some of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282 the VMS users can reimplement these features for VMS (compatibly for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283 the user, if possible).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285 VMS wizards are also asked to work on making the subprocess facilities
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 more upward compatible with those on Unix, and also to rewrite their
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287 internals to use the same Lisp objects that are used on Unix to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288 represent processes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
289
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
290 In addition, the TI Nu machine running Unix system V, the AT&T 3b, and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291 the Wicat, Masscomp, Integrated Solutions, Alliant, Amdahl uts, Mips,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292 Altos 3068 and Gould Unix systems are now supported. The IBM PC-RT is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293 supported under 4.2, but not yet under system V. The GEC 93 is close
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 to working. The port for the Elxsi is partly merged. See the file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
295 MACHINES for full status information and machine-specific installation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
296 advice.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
297
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
298 * Searching is faster.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
299
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
300 Forward search for a text string, or for a regexp that is equivalent
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
301 to a text string, is now several times faster. Motion by lines and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
302 counting lines is also faster.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
303
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
304 * Memory usage improvements.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
305
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
306 It is no longer possible to run out of memory during garbage
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
307 collection. As a result, running out of memory is never fatal. This
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
308 is due to a new garbage collection algorithm which compactifies
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
309 strings in place rather than copying them. Another consequence of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
310 change is a reduction in total memory usage and a slight increase in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
311 garbage collection speed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
312
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
313 * Display changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
314
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
315 ** Editing above top of screen.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
316
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
317 When you delete or kill or alter text that reaches to the top of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
318 screen or above it, so that display would start in the middle of a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
319 line, Emacs will usually attempt to scroll the text so that display
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
320 starts at the beginning of a line again.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
321
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
322 ** Yanking in the minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
323
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
324 The message "Mark Set" is no longer printed when the minibuffer is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
325 active. This is convenient with many commands, including C-y, that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
326 normally print such a message.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
327
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
328 ** Cursor appears in last line during y-or-n questions.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
329
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
330 Questions that want a `y' or `n' answer now move the cursor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
331 to the last line, following the question.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
332
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
333 * Library loading changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
334
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
335 `load' now considers all possible suffixes (`.elc', `.el' and none)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
336 for each directory in `load-path' before going on to the next directory.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
337 It now accepts an optional fourth argument which, if non-nil, says to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
338 use no suffixes; then the file name must be given in full. The search
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
339 of the directories in `load-path' goes on as usual in this case, but
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
340 it too can be prevented by passing an absolute file name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
341
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
342 The value of `load-path' no longer by default includes nil (meaning to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
343 look in the current default directory). The idea is that `load' should
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
344 be used to search the path only for libraries to be found in the standard
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
345 places. If you want to override system libraries with your own, place
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
346 your own libraries in one special directory and add that directory to the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
347 front of `load-path'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
348
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
349 The function `load' is no longer a command; that is to say, `M-x load'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
350 is no longer allowed. Instead, there are two commands for loading files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
351 `M-x load-library' is equivalent to the old meaning of `M-x load'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
352 `M-x load-file' reads a file name with completion and defaulting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
353 and then loads exactly that file, with no searching and no suffixes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
354
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
355 * Emulation of other editors.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
356
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
357 ** `edt-emulation-on' starts emulating DEC's EDT editor.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
358
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
359 Do `edt-emulation-off' to return Emacs to normal.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
360
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
361 ** `vi-mode' and `vip-mode' starts emulating vi.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
362
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
363 These are two different vi emulations provided by GNU Emacs users.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
364 We are interested in feedback as to which emulation is preferable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
365
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
366 See the documentation and source code for these functions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
367 for more information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
368
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
369 ** `set-gosmacs-bindings' emulates Gosling Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
370
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
371 This command changes many global bindings to resemble those of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
372 Gosling Emacs. The previous bindings are saved and can be restored using
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
373 `set-gnu-bindings'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
374
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
375 * Emulation of a display terminal.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
376
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
377 Within Emacs it is now possible to run programs (such as emacs or
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
378 supdup) which expect to do output to a visual display terminal.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
379
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
380 See the function `terminal-emulator' for more information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
381
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
382 * New support for keypads and function keys.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
383
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
384 There is now a first attempt at terminal-independent support for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
385 keypad and function keys.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
386
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
387 Emacs now defines a standard set of key-names for function and keypad
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
388 keys, and provides standard hooks for defining them. Most of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
389 standard key-names have default definitions built into Emacs; you can
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
390 override these in a terminal-independent manner. The default definitions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
391 and the conventions for redefining them are in the file `lisp/keypad.el'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
392
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
393 These keys on the terminal normally work by sending sequences of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
394 characters starting with ESC. The exact sequences used vary from
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
395 terminal to terminal. Emacs interprets them in two stages:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
396 in the first stage, terminal-dependent sequences are mapped into
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
397 the standard key-names; then second stage maps the standard key-names
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
398 into their definitions in a terminal-independent fashion.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
399
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
400 The terminal-specific file `term/$TERM.el' now is responsible only for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
401 establishing the mapping from the terminal's escape sequences into
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
402 standard key-names. It no longer knows what Emacs commands are
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
403 assigned to the standard key-names.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
404
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
405 One other change in terminal-specific files: if the value of the TERM
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
406 variable contains a hyphen, only the part before the first hyphen is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
407 used in forming the name of the terminal-specific file. Thus, for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
408 terminal type `aaa-48', the file loaded is now `term/aaa.el' rather
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
409 than `term/aaa-48.el'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
410
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
411 * New startup command line options.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
412
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
413 `-i FILE' or `-insert FILE' in the command line to Emacs tells Emacs to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
414 insert the contents of FILE into the current buffer at that point in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
415 command line processing. This is like using the command M-x insert-file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
416
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
417 `-funcall', `-load', `-user' and `-no-init-file' are new synonyms for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
418 `-f', `-l', `-u' and `-q'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
419
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
420 `-nw' means don't use a window system. If you are using a terminal
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
421 emulator on the X window system and you want to run Emacs to work through
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
422 the terminal emulator instead of working directly with the window system,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
423 use this switch.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
424
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
425 * Buffer-sorting commands.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
426
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
427 Various M-x commands whose names start with `sort-' sort parts of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
428 the region:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
429
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
430 sort-lines divides the region into lines and sorts them alphabetically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
431 sort-pages divides into pages and sorts them alphabetically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
432 sort-paragraphs divides into paragraphs and sorts them alphabetically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
433 sort-fields divides into lines and sorts them alphabetically
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
434 according to one field in the line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
435 The numeric argument specifies which field (counting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
436 from field 1 at the beginning of the line). Fields in a line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
437 are separated by whitespace.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
438 sort-numeric-fields
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
439 is similar but converts the specified fields to numbers
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
440 and sorts them numerically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
441 sort-columns divides into lines and sorts them according to the contents
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
442 of a specified range of columns.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
443
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
444 Refer to the self-documentation of these commands for full usage information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
445
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
446 * Changes in various commands.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
447
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
448 ** `occur' output now serves as a menu. `occur-menu' command deleted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
449
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
450 `M-x occur' now allows you to move quickly to any of the occurrences
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
451 listed. Select the `*Occur*' buffer that contains the output of `occur',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
452 move point to the occurrence you want, and type C-c C-c.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
453 This will move point to the same occurrence in the buffer that the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
454 occurrences were found in.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
455
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
456 The command `occur-menu' is thus obsolete, and has been deleted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
457
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
458 One way to get a list of matching lines without line numbers is to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
459 copy the text to another buffer and use the command `keep-lines'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
460
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
461 ** Incremental search changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
462
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
463 Ordinary and regexp incremental searches now have distinct default
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
464 search strings. Thus, regexp searches recall only previous regexp
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
465 searches.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
466
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
467 If you exit an incremental search when the search string is empty,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
468 the old default search string is kept. The default does not become
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
469 empty.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
470
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
471 Reversing the direction of an incremental search with C-s or C-r
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
472 when the search string is empty now does not get the default search
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
473 string. It leaves the search string empty. A second C-s or C-r
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
474 will get the default search string. As a result, you can do a reverse
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
475 incremental regexp search with C-M-s C-r.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
476
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
477 If you add a `*', `?' or `\|' to an incremental search regexp,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
478 point will back up if that is appropriate. For example, if
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
479 you have searched for `ab' and add a `*', point moves to the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
480 first match for `ab*', which may be before the match for `ab'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
481 that was previously found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
482
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
483 If an incremental search is failing and you ask to repeat it,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
484 it will start again from the beginning of the buffer (or the end,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
485 if it is a backward search).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
486
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
487 The search-controlling parameters `isearch-slow-speed' and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
488 `isearch-slow-window-lines' have now been renamed to start with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
489 `search' instead of `isearch'. Now all the parameters' names start
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
490 with `search'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
491
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
492 If `search-slow-window-lines' is negative, the slow search window
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
493 is put at the top of the screen, and the absolute value or the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
494 negative number specifies the height of it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
495
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
496 ** Undo changes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
497
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
498 The undo command now will mark the buffer as unmodified only when it is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
499 identical to the contents of the visited file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
500
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
501 ** C-M-v in minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
502
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
503 If while in the minibuffer you request help in a way that uses a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
504 window to display something, then until you exit the minibuffer C-M-v
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
505 in the minibuffer window scrolls the window of help.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
506
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
507 For example, if you request a list of possible completions, C-M-v can
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
508 be used reliably to scroll the completion list.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
509
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
510 ** M-TAB command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
511
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
512 Meta-TAB performs completion on the Emacs Lisp symbol names. The sexp
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
513 in the buffer before point is compared against all existing nontrivial
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
514 Lisp symbols and completed as far as is uniquely determined by them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
515 Nontrivial symbols are those with either function definitions, values
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
516 or properties.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
517
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
518 If there are multiple possibilities for the very next character, a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
519 list of possible completions is displayed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
520
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
521 ** Dynamic abbreviation package.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
522
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
523 The new command Meta-/ expands an abbreviation in the buffer before point
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
524 by searching the buffer for words that start with the abbreviation.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
525
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
526 ** Changes in saving kbd macros.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
527
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
528 The commands `write-kbd-macro' and `append-kbd-macro' have been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
529 deleted. The way to save a keyboard macro is to use the new command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
530 `insert-kbd-macro', which inserts Lisp code to define the macro as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
531 it is currently defined into the buffer before point. Visit a Lisp
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
532 file such as your Emacs init file `~/.emacs', insert the macro
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
533 definition (perhaps deleting an old definition for the same macro)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
534 and then save the file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
535
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
536 ** C-x ' command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
537
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
538 The new command C-x ' (expand-abbrev) expands the word before point as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
539 an abbrev, even if abbrev-mode is not turned on.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
540
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
541 ** Sending to inferior Lisp.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
542
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
543 The command C-M-x in Lisp mode, which sends the current defun to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
544 an inferior Lisp process, now works by writing the text into a temporary
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
545 file and actually sending only a `load'-form to load the file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
546 As a result, it avoids the Unix bugs that used to strike when the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
547 text was above a certain length.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
548
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
549 With a prefix argument, this command now makes the inferior Lisp buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
550 appear on the screen and scrolls it so that the bottom is showing.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
551
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
552 Two variables `inferior-lisp-load-command' and `inferior-lisp-prompt',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
553 exist to customize these feature for different Lisp implementations.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
554
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
555 ** C-x n p now disabled.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
556
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
557 The command C-x n p, a nonrecomended command which narrows to the current
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
558 page, is now initially disabled like C-x n n.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
559
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
560 * Dealing with files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
561
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
562 ** C-x C-v generalized
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
563
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
564 This command is now allowed even if the current buffer is not visiting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
565 a file. As usual, it kills the current buffer and replaces it with a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
566 newly found file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
567
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
568 ** M-x recover-file improved; auto save file names changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
569
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
570 M-x recover-file now checks whether the last auto-save file is more
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
571 recent than the real visited file before offering to read in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
572 auto-save file. If the auto-save file is newer, a directory listing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
573 containing the two files is displayed while you are asked whether you
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
574 want the auto save file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
575
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
576 Visiting a file also makes this check. If the auto-save file is more recent,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
577 a message is printed suggesting that you consider using M-x recover file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
578
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
579 Auto save file names now by default have a `#' at the end as well
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
580 as at the beginning. This is so that `*.c' in a shell command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
581 will never match auto save files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
582
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
583 On VMS, auto save file names are made by appending `_$' at the front
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
584 and `$' at the end.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
585
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
586 When you change the visited file name of a buffer, the auto save file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
587 is now renamed to belong to the new visited file name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
588
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
589 You can customize the way auto save file names are made by redefining
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
590 the two functions `make-auto-save-file-name' and `auto-save-file-name-p',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
591 both of which are defined in `files.el'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
592
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
593 ** Modifying a buffer whose file is changed on disk is detected instantly.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
594
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
595 On systems where clash detection (locking of files being edited) is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
596 implemented, Emacs also checks the first time you modify a buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
597 whether the file has changed on disk since it was last visited or saved.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
598 If it has, you are asked to confirm that you want to change the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
599
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
600 ** Exiting Emacs offers to save `*mail*'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
601
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
602 Emacs can now know about buffers that it should offer to save on exit
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
603 even though they are not visiting files. This is done for any buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
604 which has a non-nil local value of `buffer-offer-save'. By default,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
605 Mail mode provides such a local value.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
606
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
607 ** Backup file changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
608
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
609 If a backup file cannot be written in the directory of the visited file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
610 due to fascist file protection, a backup file is now written in your home
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
611 directory as `~/%backup%~'. Only one such file is made, ever, so only
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
612 the most recently made such backup is available.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
613
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
614 When backup files are made by copying, the last-modification time of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
615 original file is now preserved in the backup copy.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
616
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
617 ** Visiting remote files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
618
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
619 On an internet host, you can now visit and save files on any other
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
620 internet host directly from Emacs with the commands M-x ftp-find-file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
621 and M-x ftp-write-file. Specify an argument of the form HOST:FILENAME.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
622 Since standard internet FTP is used, the other host may be any kind
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
623 of machine and is not required to have any special facilities.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
624
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
625 The first time any one remote host is accessed, you will be asked to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
626 give the user name and password for use on that host. FTP is reinvoked
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
627 each time you ask to use it, but previously specified user names and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
628 passwords are remembered automatically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
629
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
630 ** Dired `g' command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
631
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
632 `g' in Dired mode is equivalent to M-x revert-buffer; it causes the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
633 current contents of the same directory to be read in.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
634
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
635 * Changes in major modes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
636
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
637 ** C mode indentation change.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
638
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
639 The binding of Linefeed is no longer changed by C mode. It once again
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
640 has its normal meaning, which is to insert a newline and then indent
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
641 afterward.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
642
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
643 The old definition did one additional thing: it reindented the line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
644 before the new newline. This has been removed because it made the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
645 command twice as slow. The only time it was really useful was after the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
646 insertion of an `else', since the fact of starting with `else' may change
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
647 the way that line is indented. Now you will have to type TAB again
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
648 yourself to reindent the `else' properly.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
649
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
650 If the variable `c-tab-always-indent' is set to `nil', the TAB command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
651 in C mode, with no argument, will just insert a tab character if there
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
652 is non-whitespace preceding point on the current line. Giving it a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
653 prefix argument will force reindentation of the line (as well as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
654 of the compound statement that begins after point, if any).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
655
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
656 ** Fortran mode now exists.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
657
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
658 This mode provides commands for motion and indentation of Fortran code,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
659 plus built-in abbrevs for Fortran keywords. For details, see the manual
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
660 or the on-line documentation of the command `fortran-mode'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
661
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
662 ** Scribe mode now exists.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
663
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
664 This mode does something useful for editing files of Scribe input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
665 It is used automatically for files with names ending in ".mss".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
666
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
667 ** Modula2 and Prolog modes now exist.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
668
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
669 These modes are for editing programs in the languages of the same names.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
670 They can be selected with M-x modula-2-mode and M-x prolog-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
671
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
672 ** Telnet mode changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
673
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
674 The telnet mode special commands have now been assigned to C-c keys.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
675 Most of them are the same as in Shell mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
676
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
677 ** Picture mode changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
678
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
679 The special picture-mode commands to specify the direction of cursor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
680 motion after insertion have been moved to C-c keys. The commands to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
681 specify diagonal motion were already C-c keys; they are unchanged.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
682 The keys to specify horizontal or vertical motion are now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
683 C-c < (left), C-c > (right), C-c ^ (up) and C-c . (down).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
684
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
685 ** Nroff mode comments.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
686
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
687 Comments are now supported in Nroff mode. The standard comment commands
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
688 such as M-; and C-x ; know how to insert, align and delete comments
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
689 that start with backslash-doublequote.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
690
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
691 ** LaTeX mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
692
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
693 LaTeX mode now exists. Use M-x latex-mode to select this mode, and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
694 M-x plain-tex-mode to select the previously existing mode for Plain
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
695 TeX. M-x tex-mode attempts to examine the contents of the buffer and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
696 choose between latex-mode and plain-tex-mode accordingly; if the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
697 buffer is empty or it cannot tell, the variable `TeX-default-mode'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
698 controls the choice. Its value should be the symbol for the mode to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
699 be used.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
700
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
701 The facilities for running TeX on all or part of the buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
702 work with LaTeX as well.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
703
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
704 Some new commands available in both modes:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
705
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
706 C-c C-l recenter the window showing the TeX output buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
707 so most recent line of output can be seen.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
708 C-c C-k kill the TeX subprocess.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
709 C-c C-q show the printer queue.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
710 C-c C-f close a block (appropriate for LaTeX only).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
711 If the current line contains a \begin{...},
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
712 this inserts an \end{...} on the following line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
713 and puts point on a blank line between them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
714
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
715 ** Outline mode changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
716
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
717 Invisible lines in outline mode are now indicated by `...' at the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
718 end of the previous visible line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
719
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
720 The special outline heading motion commands are now all on C-c keys.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
721 A few new ones have been added. Here is a full list:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
722
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
723 C-c C-n Move to next visible heading (formerly M-})
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
724 C-c C-p Move to previous visible heading (formerly M-{)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
725 C-c C-f Move to next visible heading at the same level.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
726 Thus, if point is on a level-2 heading line,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
727 this command moves to the next visible level-2 heading.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
728 C-c C-b Move to previous visible heading at the same level.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
729 C-c C-u Move up to previous visible heading at a higher level.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
730
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
731 The variable `outline-regexp' now controls recognition of heading lines.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
732 Any line whose beginning matches this regexp is a heading line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
733 The depth in outline structure is determined by the length of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
734 the string that matches.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
735
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
736 A line starting with a ^L (formfeed) is now by default considered
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
737 a header line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
738
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
739 * Mail reading and sending.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
740
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
741 ** MH-E changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
742
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
743 MH-E has been extensively modified and improved since the v17 release.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
744 It contains many new features, including commands to: extracted failed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
745 messages, kill a draft message, undo changes to a mail folder, monitor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
746 delivery of a letter, print multiple messages, page digests backwards,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
747 insert signatures, and burst digests. Also, many commands have been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
748 made to able to deal with named sequences of messages, instead of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
749 single messages. MH-E also has had numerous bugs fixed and commands
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
750 made to run faster. Furthermore, its keybindings have been changed to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
751 be compatible with Rmail and the rest of GNU Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
752
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
753 ** Mail mode changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
754
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
755 The C-c commands of mail mode have been rearranged:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
756
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
757 C-c s, C-c c, C-c t and C-c b (move point to various header fields)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
758 have been reassigned as C-c C-f C-s, C-c C-f C-c, C-c C-f C-t and C-c
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
759 C-f C-b. C-c C-f is for "field".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
760
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
761 C-c y, C-c w and C-c q have been changed to C-c C-y, C-c C-w and C-c C-q.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
762
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
763 Thus, C-c LETTER is always unassigned.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
764
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
765 ** Rmail C-r command changed to w.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
766
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
767 The Rmail command to edit the current message is now `w'. This change
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
768 has been made because people frequently type C-r while in Rmail hoping
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
769 to do a reverse incremental search. That now works.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
770
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
771 * Rnews changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
772
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
773 ** Caesar rotation added.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
774
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
775 The function news-caesar-buffer-body performs the rot13 code on the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
776 body of a news message. You can also specify the number to rotate by,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
777 as a prefix argument. The function is bound to C-c C-r in both
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
778 News mode and News Reply mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
779
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
780 ** rmail-output command added.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
781
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
782 The C-o command has been bound to rmail-output in news-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
783 This allows one to append an article to a file which is in either Unix
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
784 mail or RMAIL format.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
785
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
786 ** news-reply-mode changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
787
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
788 The C-c commands of news reply mode have been rearranged and changed,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
789 so that C-c LETTER is always unassigned:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
790
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
791 C-c y, C-c w and C-c q have been changed to C-c C-y, C-c C-w and C-c C-q.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
792
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
793 C-c c, C-c t, and C-c b (move to various mail header fields) have been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
794 deleted (they make no sense for posting and replying to USENET).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
795
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
796 C-c s (move to Subject: header field) has been reassigned as C-c C-f
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
797 C-s. C-c C-f is for "field". Several additional move to news header
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
798 field commands have been added.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
799
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
800 The local news-reply-mode bindings now look like this:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
801
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
802 C-c C-s news-inews (post the message) C-c C-c news-inews
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
803 C-c C-f move to a header field (and create it if there isn't):
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
804 C-c C-f C-n move to Newsgroups: C-c C-f C-s move to Subj:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
805 C-c C-f C-f move to Followup-To: C-c C-f C-k move to Keywords:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
806 C-c C-f C-d move to Distribution: C-c C-f C-a move to Summary:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
807 C-c C-y news-reply-yank-original (insert current message, in NEWS).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
808 C-c C-q mail-fill-yanked-message (fill what was yanked).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
809 C-c C-r caesar rotate all letters by 13 places in the article's body (rot13).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
810
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
811 * Changes in tags handling.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
812
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
813 ** M-. (`find-tag') and similar commands now look first for an exact
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
814 match in the tags table, and try substring matches only afterward.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
815
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
816 ** The new command `find-tag-regexp' visits successively the tags that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
817 match a specified regular expression.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
818
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
819 ** You can now use more than one tags table. Using `visit-tags-table'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
820 to load a new tags table does not discard the other tables previously
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
821 loaded. The other tags commands use all the tags tables that are loaded;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
822 the first tags table used is the one that mentions the current visited file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
823
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
824 ** Tags tables can now be told to "include" other tags tables. This means
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
825 the tags table gives the file names of other tags tables. Tags command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
826 then search included tags tables after the including table (but before any
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
827 other tags tables you have loaded). Included tags tables can make it much
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
828 easier and more efficient to maintain a tags table for a large package with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
829 many subdirectories--there is one tags table for each subdirectory, and a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
830 master tags table that includes each subdirectory table. You use `-i'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
831 options to `etags' when creating the tags table to give the file names of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
832 the included tables.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
833
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
834 ** You can now use the tags table for completion of names during
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
835 ordinary editing. The command M-TAB (except in Emacs Lisp mode)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
836 completes the identifier in the buffer before point, using the set of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
837 all tags as the list of possible completions.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
838
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
839 ** `tags-query-replace' and `tags-search' changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
840
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
841 These functions no longer permanently create buffers for files that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
842 are searched but that do not contain any matches for the search
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
843 pattern.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
844
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
845 * Existing Emacs usable as a server.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
846
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
847 Programs such as mailers that invoke "the editor" as an inferior
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
848 to edit some text can now be told to use an existing Emacs process
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
849 instead of creating a new editor.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
850
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
851 To do this, you must have an Emacs process running and capable of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
852 doing terminal I/O at the time you want to invoke it. This means that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
853 either you are using a window system and give Emacs a separate window
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
854 or you run the other programs as inferiors of Emacs (such as, using
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
855 M-x shell).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
856
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
857 First prepare the existing Emacs process by loading the `server'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
858 library and executing M-x server-start. (Your .emacs can do this
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
859 automatically.)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
860
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
861 Now tell the other programs to use, as "the editor", the Emacs client
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
862 program (etc/emacsclient, located in the same directory as this file).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
863 This can be done by setting the environment variable EDITOR.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
864
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
865 When another program invokes the emacsclient as "the editor", the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
866 client actually transfers the file names to be edited to the existing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
867 Emacs, which automatically visits the files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
868
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
869 When you are done editing a buffer for a client, do C-x # (server-edit).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
870 This marks that buffer as done, and selects the next buffer that the client
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
871 asked for. When all the buffers requested by a client are marked in this
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
872 way, Emacs tells the client program to exit, so that the program that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
873 invoked "the editor" will resume execution.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
874
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
875 You can only have one server Emacs at a time, but multiple client programs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
876 can put in requests at the same time.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
877
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
878 The client/server work only on Berkeley Unix, since they use the Berkeley
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
879 sockets mechanism for their communication.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
880
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
881 Changes in Lisp programming in Emacs version 18.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
882
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
883 * Init file changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
884
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
885 ** Suffixes no longer accepted on `.emacs'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
886
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
887 Emacs will no longer load a file named `.emacs.el' or `emacs.elc'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
888 in place of `.emacs'. This is so that it will take less time to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
889 find `.emacs'. If you want to compile your init file, give it another
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
890 name and make `.emacs' a link to the `.elc' file, or make it contain
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
891 a call to `load' to load the `.elc' file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
892
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
893 ** `default-profile' renamed to `default', and loaded after `.emacs'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
894
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
895 It used to be the case that the file `default-profile' was loaded if
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
896 and only if `.emacs' was not found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
897
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
898 Now the name `default-profile' is not used at all. Instead, a library
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
899 named `default' is loaded after the `.emacs' file. `default' is loaded
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
900 whether the `.emacs' file exists or not. However, loading of `default'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
901 can be prevented if the `.emacs' file sets `inhibit-default-init' to non-nil.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
902
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
903 In fact, you would call the default file `default.el' and probably would
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
904 byte-compile it to speed execution.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
905
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
906 Note that for most purposes you are better off using a `site-init' library
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
907 since that will be loaded before the runnable Emacs is dumped. By using
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
908 a `site-init' library, you avoid taking up time each time Emacs is started.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
909
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
910 ** inhibit-command-line has been eliminated.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
911
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
912 This variable used to exist for .emacs files to set. It has been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
913 eliminated because you can get the same effect by setting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
914 command-line-args to nil and setting inhibit-startup-message to t.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
915
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
916 * `apply' is more general.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
917
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
918 `apply' now accepts any number of arguments. The first one is a function;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
919 the rest are individual arguments to pass to that function, except for the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
920 last, which is a list of arguments to pass.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
921
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
922 Previously, `apply' required exactly two arguments. Its old behavior
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
923 follows as a special case of the new definition.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
924
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
925 * New code-letter for `interactive'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
926
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
927 (interactive "NFoo: ") is like (interactive "nFoo: ") in reading
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
928 a number using the minibuffer to serve as the argument; however,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
929 if a prefix argument was specified, it uses the prefix argument
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
930 value as the argument, and does not use the minibuffer at all.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
931
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
932 This is used by the `goto-line' and `goto-char' commands.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
933
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
934 * Semantics of variables.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
935
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
936 ** Built-in per-buffer variables improved.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
937
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
938 Several built-in variables which in the past had a different value in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
939 each buffer now behave exactly as if `make-variable-buffer-local' had
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
940 been done to them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
941
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
942 These variables are `tab-width', `ctl-arrow', `truncate-lines',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
943 `fill-column', `left-margin', `mode-line-format', `abbrev-mode',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
944 `overwrite-mode', `case-fold-search', `auto-fill-hook',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
945 `selective-display', `selective-display-ellipses'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
946
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
947 To be precise, each variable has a default value which shows through
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
948 in most buffers and can be accessed with `default-value' and set with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
949 `set-default'. Setting the variable with `setq' makes the variable
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
950 local to the current buffer. Changing the default value has retroactive
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
951 effect on all buffers in which the variable is not local.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
952
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
953 The variables `default-case-fold-search', etc., are now obsolete.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
954 They now refer to the default value of the variable, which is not
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
955 quite the same behavior as before, but it should enable old init files
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
956 to continue to work.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
957
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
958 ** New per-buffer variables.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
959
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
960 The variables `fill-prefix', `comment-column' and `indent-tabs-mode'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
961 are now per-buffer. They work just like `fill-column', etc.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
962
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
963 ** New function `setq-default'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
964
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
965 `setq-default' sets the default value of a variable, and uses the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
966 same syntax that `setq' accepts: the variable name is not evaluated
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
967 and need not be quoted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
968
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
969 `(setq-default case-fold-search nil)' would make searches case-sensitive
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
970 in all buffers that do not have local values for `case-fold-search'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
971
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
972 You can set multiple variables sequentially, each with its own value,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
973 in `setq-default' just as in `setq'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
974
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
975 ** Functions `global-set' and `global-value' deleted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
976
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
977 These functions were never used except by mistake by users expecting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
978 the functionality of `set-default' and `default-value'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
979
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
980 * Changes in defaulting of major modes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
981
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
982 When `default-major-mode' is `nil', new buffers are supposed to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
983 get their major mode from the buffer that is current. However,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
984 certain major modes (such as Dired mode, Rmail mode, Rmail Summary mode,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
985 and others) are not reasonable to use in this way.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
986
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
987 Now such modes' names have been given non-`nil' `mode-class' properties.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
988 If the current buffer's mode has such a property, Fundamental mode is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
989 used as the default for newly created buffers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
990
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
991 * `where-is-internal' requires additional arguments.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
992
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
993 This function now accepts three arguments, two of them required:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
994 DEFINITION, the definition to search for; LOCAL-KEYMAP, the keymap
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
995 to use as the local map when doing the searching, and FIRST-ONLY,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
996 which is nonzero to return only the first key found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
997
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
998 This function returns a list of keys (strings) whose definitions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
999 (in the LOCAL-KEYMAP or the current global map) are DEFINITION.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1000
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1001 If FIRST-ONLY is non-nil, it returns a single key (string).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1002
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1003 This function has changed incompatibly in that now two arguments
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1004 are required when previously only one argument was allowed. To get
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1005 the old behavior of this function, write `(current-local-map)' as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1006 the expression for the second argument.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1007
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1008 The incompatibility is sad, but `nil' is a legitimate value for the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1009 second argument (it means there is no local keymap), so it cannot also
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1010 serve as a default meaning to use the current local keymap.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1011
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1012 * Abbrevs with hooks.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1013
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1014 When an abbrev defined with a hook is expanded, it now performs the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1015 usual replacement of the abbrev with the expansion before running the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1016 hook. Previously the abbrev itself was deleted but the expansion was
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1017 not inserted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1018
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1019 * Function `scan-buffer' deleted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1020
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1021 Use `search-forward' or `search-backward' in place of `scan-buffer'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1022 You will have to rearrange the arguments.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1023
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1024 * X window interface improvements.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1025
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1026 ** Detect release of mouse buttons.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1027
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1028 Button-up events can now be detected. See the file `lisp/x-mouse.el'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1029 for details.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1030
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1031 ** New pop-up menu facility.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1032
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1033 The new function `x-popup-menu' pops up a menu (in a X window)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1034 and returns an indication of which selection the user made.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1035 For more information, see its self-documentation.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1036
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1037 * M-x disassemble.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1038
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1039 This command prints the disassembly of a byte-compiled Emacs Lisp function.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1040
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1041 Would anyone like to interface this to the debugger?
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1042
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1043 * `insert-buffer-substring' can insert part of the current buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1044
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1045 The old restriction that the text being inserted had to come from
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1046 a different buffer is now lifted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1047
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1048 When inserting text from the current buffer, the text to be inserted
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1049 is determined from the specified bounds before any copying takes place.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1050
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1051 * New function `substitute-key-definition'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1052
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1053 This is a new way to replace one command with another command as the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1054 binding of whatever keys may happen to refer to it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1055
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1056 (substitute-key-definition OLDDEF NEWDEF KEYMAP) looks through KEYMAP
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1057 for keys defined to run OLDDEF, and rebinds those keys to run NEWDEF
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1058 instead.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1059
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1060 * New function `insert-char'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1061
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1062 Insert a specified character, a specified number of times.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1063
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1064 * `mark-marker' changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1065
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1066 When there is no mark, this now returns a marker that points
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1067 nowhere, rather than `nil'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1068
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1069 * `ding' accepts argument.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1070
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1071 When given an argument, the function `ding' does not terminate
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1072 execution of a keyboard macro. Normally, `ding' does terminate
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1073 all macros that are currently executing.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1074
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1075 * New function `minibuffer-depth'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1076
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1077 This function returns the current depth in minibuffer activations.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1078 The value is zero when the minibuffer is not in use.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1079 Values greater than one are possible if the user has entered the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1080 minibuffer recursively.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1081
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1082 * New function `documentation-property'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1083
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1084 (documentation-property SYMBOL PROPNAME) is like (get SYMBOL PROPNAME),
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1085 except that if the property value is a number `documentation-property'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1086 will take that number (or its absolute value) as a character position
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1087 in the DOC file and return the string found there.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1088
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1089 (documentation-property VAR 'variable-documentation) is the proper
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1090 way for a Lisp program to get the documentation of variable VAR.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1091
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1092 * New documentation-string expansion feature.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1093
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1094 If a documentation string (for a variable or function) contains text
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1095 of the form `\<FOO>', it means that all command names specified in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1096 `\[COMMAND]' construct from that point on should be turned into keys
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1097 using the value of the variable FOO as the local keymap. Thus, for example,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1098
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1099 `\<emacs-lisp-mode-map>\[eval-defun] evaluates the defun containing point.'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1100
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1101 will expand into
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1102
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1103 "ESC C-x evaluates the defun containing point."
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1104
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1105 regardless of the current major mode, because ESC C-x is defined to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1106 run `eval-defun' in the keymap `emacs-lisp-mode-map'. The effect is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1107 to show the key for `eval-defun' in Emacs Lisp mode regardless of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1108 current major mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1109
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1110 The `\<...>' construct applies to all `\[...]' constructs that follow it,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1111 up to the end of the documentation string or the next `\<...>'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1112
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1113 Without `\<...>', the keys for commands specified in `\[...]' are found
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1114 in the current buffer's local map.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1115
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1116 The current global keymap is always searched second, whether `\<...>'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1117 has been used or not.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1118
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1119 * Multiple hooks allowed in certain contexts.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1120
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1121 The old hook variables `find-file-hook', `find-file-not-found-hook' and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1122 `write-file-hook' have been replaced.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1123
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1124 The replacements are `find-file-hooks', `find-file-not-found-hooks'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1125 and `write-file-hooks'. Each holds a list of functions to be called;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1126 by default, `nil', for no functions. The functions are called in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1127 order of appearance in the list.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1128
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1129 In the case of `find-file-hooks', all the functions are executed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1130
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1131 In the case of `find-file-not-found-hooks', if any of the functions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1132 returns non-`nil', the rest of the functions are not called.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1133
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1134 In the case of `write-file-hooks', if any of the functions returns
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1135 non-`nil', the rest of the functions are not called, and the file is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1136 considered to have been written already; so actual writing in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1137 usual way is not done. If `write-file-hooks' is local to a buffer,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1138 it is set to its global value if `set-visited-file-name' is called
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1139 (and thus by C-x C-w as well).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1140
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1141 `find-file-not-found-hooks' and `write-file-hooks' can be used
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1142 together to implement editing of files that are not stored as Unix
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1143 files: stored in archives, or inside version control systems, or on
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1144 other machines running other operating systems and accessible via ftp.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1145
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1146 * New hooks for suspending Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1147
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1148 Suspending Emacs runs the hook `suspend-hook' before suspending
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1149 and the hook `suspend-resume-hook' if the suspended Emacs is resumed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1150 Running a hook is done by applying the variable's value to no arguments
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1151 if the variable has a non-`nil' value. If `suspend-hook' returns
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1152 non-`nil', then suspending is inhibited and so is running the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1153 `suspend-resume-hook'. The non-`nil' value means that the `suspend-hook'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1154 has done whatever suspending is required.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1155
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1156 * Disabling commands can print a special message.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1157
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1158 A command is disabled by giving it a non-`nil' `disabled' property.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1159 Now, if this property is a string, it is included in the message
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1160 printed when the user tries to run the command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1161
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1162 * Emacs can open TCP connections.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1163
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1164 The function `open-network-stream' opens a TCP connection to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1165 a specified host and service. Its value is a Lisp object that represents
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1166 the connection. The object is a kind of "subprocess", and I/O are
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1167 done like I/O to subprocesses.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1168
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1169 * Display-related changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1170
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1171 ** New mode-line control features.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1172
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1173 The display of the mode line used to be controlled by a format-string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1174 that was the value of the variable `mode-line-format'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1175
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1176 This variable still exists, but it now allows more general values,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1177 not just strings. Lists, cons cells and symbols are also meaningful.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1178
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1179 The mode line contents are created by outputting various mode elements
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1180 one after the other. Here are the kinds of objects that can be
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1181 used as mode elements, and what they do in the display:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1182
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1183 string the contents of the string are output to the mode line,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1184 and %-constructs are replaced by other text.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1185
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1186 t or nil ignored; no output results.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1187
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1188 symbol the symbol's value is used. If the value is a string,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1189 the string is output verbatim to the mode line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1190 (so %-constructs are not interpreted). Otherwise,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1191 the symbol's value is processed as a mode element.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1192
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1193 list (whose first element is a string or list or cons cell)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1194 the elements of the list are treated as as mode elements,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1195 so that the output they generate is concatenated,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1196
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1197 list (whose car is a symbol)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1198 if the symbol's value is non-nil, the second element of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1199 list is treated as a mode element. Otherwise, the third
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1200 element (if any) of the list is treated as a mode element.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1201
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1202 cons (whose car is a positive integer)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1203 the cdr of the cons is used as a mode element, but
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1204 the text it produces is padded, if necessary, to have
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1205 at least the width specified by the integer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1206
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1207 cons (whose car is a negative integer)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1208 the cdr of the cons is used as a mode element, but
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1209 the text it produces is truncated, if necessary, to have
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1210 at most the width specified by the integer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1211
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1212 There is always one mode element to start with, that being the value of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1213 `mode-line-format', but if this value is a list then it leads to several
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1214 more mode elements, which can lead to more, and so on.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1215
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1216 There is one new %-construct for mode elements that are strings:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1217 `%n' displays ` Narrow' for a buffer that is narrowed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1218
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1219 The default value of `mode-line-format' refers to several other variables.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1220 These variables are `mode-name', `mode-line-buffer-identification',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1221 `mode-line-process', `mode-line-modified', `global-mode-string' and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1222 `minor-mode-alist'. The first four are local in every buffer in which they
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1223 are changed from the default.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1224
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1225 mode-name Name of buffer's major mode. Local in every buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1226
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1227 mode-line-buffer-identification
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1228 Normally the list ("Emacs: %17b"), it is responsible
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1229 for displaying text to indicate what buffer is being shown
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1230 and what kind of editing it is doing. `Emacs' means
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1231 that a file of characters is being edited. Major modes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1232 such as Info and Dired which edit or view other kinds
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1233 of data often change this value. This variables becomes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1234 local to the current buffer if it is setq'd.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1235
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1236 mode-line-process
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1237 Normally nil, this variable is responsible for displaying
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1238 information about the process running in the current buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1239 M-x shell-mode and M-x compile alter this variable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1240
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1241 mode-line-modified
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1242 This variable is responsible for displaying the indication
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1243 of whether the current buffer is modified or read-only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1244 By default its value is `("--%*%*-")'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1245
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1246 minor-mode-alist
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1247 This variable is responsible for displaying text for those
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1248 minor modes that are currently enabled. Its value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1249 is a list of elements of the form (VARIABLE STRING),
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1250 where STRING is to be displayed if VARIABLE's value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1251 (in the buffer whose mode line is being displayed)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1252 is non-nil. This variable is not made local to particular
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1253 buffers, but loading some libraries may add elements to it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1254
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1255 global-mode-string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1256 This variable is used to display the time, if you ask
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1257 for that.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1258
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1259 The idea of these variables is to eliminate the need for major modes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1260 to alter mode-line-format itself.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1261
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1262 ** `window-point' valid for selected window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1263
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1264 The value returned by `window-point' used to be incorrect when its
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1265 argument was the selected window. Now the value is correct.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1266
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1267 ** Window configurations may be saved as Lisp objects.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1268
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1269 The function `current-window-configuration' returns a special type of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1270 Lisp object that represents the current layout of windows: the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1271 sizes and positions of windows, which buffers appear in them, and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1272 which parts of the buffers appear on the screen.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1273
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1274 The function `set-window-configuration' takes one argument, which must
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1275 be a window configuration object, and restores that configuration.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1276
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1277 ** New hook `temp-output-buffer-show-hook'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1278
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1279 This hook allows you to control how help buffers are displayed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1280 Whenever `with-output-to-temp-buffer' has executed its body and wants
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1281 to display the temp buffer, if this variable is bound and non-`nil'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1282 then its value is called with one argument, the temp buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1283 The hook function is solely responsible for displaying the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1284 The standard manner of display--making the buffer appear in a window--is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1285 used only if there is no hook function.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1286
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1287 ** New function `minibuffer-window'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1288
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1289 This function returns the window used (sometimes) for displaying
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1290 the minibuffer. It can be used even when the minibuffer is not active.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1291
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1292 ** New feature to `next-window'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1293
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1294 If the optional second argument is neither `nil' nor `t', the minibuffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1295 window is omitted from consideration even when active; if the starting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1296 window was the last non-minibuffer window, the value will be the first
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1297 non-minibuffer window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1298
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1299 ** New variable `minibuffer-scroll-window'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1300
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1301 When this variable is non-`nil', the command `scroll-other-window'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1302 uses it as the window to be scrolled. Displays of completion-lists
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1303 set this variable to the window containing the display.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1304
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1305 ** New argument to `sit-for'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1306
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1307 A non-nil second argument to `sit-for' means do not redisplay;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1308 just wait for the specified time or until input is available.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1309
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1310 ** Deleted function `set-minor-mode'; minor modes must be changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1311
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1312 The function `set-minor-mode' has been eliminated. The display
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1313 of minor mode names in the mode line is now controlled by the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1314 variable `minor-mode-alist'. To specify display of a new minor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1315 mode, it is sufficient to add an element to this list. Once that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1316 is done, you can turn the mode on and off just by setting a variable,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1317 and the display will show its status automatically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1318
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1319 ** New variable `cursor-in-echo-area'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1320
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1321 If this variable is non-nil, the screen cursor appears on the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1322 last line of the screen, at the end of the text displayed there.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1323
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1324 Binding this variable to t is useful at times when reading single
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1325 characters of input with `read-char'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1326
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1327 ** New per-buffer variable `selective-display-ellipses'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1328
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1329 If this variable is non-nil, an ellipsis (`...') appears on the screen
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1330 at the end of each text line that is followed by invisible text.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1331
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1332 If this variable is nil, no ellipses appear. Then there is no sign
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1333 on the screen that invisible text is present.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1334
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1335 Text is made invisible under the control of the variable
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1336 `selective-display'; this is how Outline mode and C-x $ work.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1337
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1338 ** New variable `no-redraw-on-reenter'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1339
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1340 If you set this variable non-nil, Emacs will not clear the screen when
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1341 you resume it after suspending it. This is for the sake of terminals
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1342 with multiple screens of memory, where the termcap entry has been set
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1343 up to switch between screens when Emacs is suspended and resumed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1344
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1345 ** New argument to `set-screen-height' or `set-screen-width'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1346
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1347 These functions now take an optional second argument which says
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1348 what significance the newly specified height or width has.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1349
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1350 If the argument is nil, or absent, it means that Emacs should
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1351 believe that the terminal height or width really is as just specified.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1352
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1353 If the argument is t, it means Emacs should not believe that the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1354 terminal really is this high or wide, but it should use the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1355 specific height or width as the number of lines or columns to display.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1356 Thus, you could display only 24 lines on a screen known to have 48 lines.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1357
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1358 What practical difference is there between using only 24 lines for display
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1359 and really believing that the terminal has 24 lines?
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1360
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1361 1. The "real" height of the terminal says what the terminal command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1362 to move the cursor to the last line will do.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1363
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1364 2. The "real" height of the terminal determines how much padding is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1365 needed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1366
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1367 * File-related changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1368
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1369 ** New parameter `backup-by-copying-when-mismatch'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1370
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1371 If this variable is non-`nil', then when Emacs is about to save a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1372 file, it will create the backup file by copying if that would avoid
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1373 changing the file's uid or gid.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1374
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1375 The default value of this variable is `nil', because usually it is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1376 useful to have the uid of a file change according to who edited it
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1377 last. I recommend thet this variable be left normally `nil' and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1378 changed with a local variables list in those particular files where
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1379 the uid needs to be preserved.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1380
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1381 ** New parameter `file-precious-flag'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1382
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1383 If this variable is non-`nil', saving the buffer tries to avoid
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1384 leaving an incomplete file due to disk full or other I/O errors.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1385 It renames the old file before saving. If saving is successful,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1386 the renamed file is deleted; if saving gets an error, the renamed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1387 file is renamed back to the name you visited.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1388
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1389 Backups are always made by copying for such files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1390
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1391 ** New variable `buffer-offer-save'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1392
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1393 If the value of this variable is non-`nil' in a buffer then exiting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1394 Emacs will offer to save the buffer (if it is modified and nonempty)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1395 even if the buffer is not visiting a file. This variable is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1396 automatically made local to the current buffer whenever it is set.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1397
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1398 ** `rename-file', `copy-file', `add-name-to-file' and `make-symbolic-link'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1399
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1400 The third argument to these functions used to be `t' or `nil'; `t'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1401 meaning go ahead even if the specified new file name already has a file,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1402 and `nil' meaning to get an error.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1403
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1404 Now if the third argument is a number it means to ask the user for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1405 confirmation in this case.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1406
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1407 ** New optional argument to `copy-file'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1408
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1409 If `copy-file' receives a non-nil fourth argument, it attempts
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1410 to give the new copy the same time-of-last-modification that the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1411 original file has.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1412
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1413 ** New function `file-newer-than-file-p'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1414
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1415 (file-newer-than-file-p FILE1 FILE2) returns non-nil if FILE1 has been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1416 modified more recently than FILE2. If FILE1 does not exist, the value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1417 is always nil; otherwise, if FILE2 does not exist, the value is t.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1418 This is meant for use when FILE2 depends on FILE1, to see if changes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1419 in FILE1 make it necessary to recompute FILE2 from it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1420
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1421 ** Changed function `file-exists-p'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1422
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1423 This function is no longer the same as `file-readable-p'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1424 `file-exists-p' can now return t for a file that exists but which
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1425 the fascists won't allow you to read.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1426
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1427 ** New function `file-locked-p'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1428
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1429 This function receives a file name as argument and returns `nil'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1430 if the file is not locked, `t' if locked by this Emacs, or a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1431 string giving the name of the user who has locked it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1432
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1433 ** New function `file-name-sans-versions'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1434
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1435 (file-name-sans-versions NAME) returns a substring of NAME, with any
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1436 version numbers or other backup suffixes deleted from the end.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1437
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1438 ** New functions for directory names.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1439
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1440 Although a directory is really a kind of file, specifying a directory
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1441 uses a somewhat different syntax from specifying a file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1442 In Emacs, a directory name is used as part of a file name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1443
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1444 On Unix, the difference is small: a directory name ends in a slash,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1445 while a file name does not: thus, `/usr/rms/' to name a directory,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1446 while `/usr/rms' names the file which holds that directory.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1447
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1448 On VMS, the difference is considerable: `du:[rms.foo]' specifies a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1449 directory, but the name of the file that holds that directory is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1450 `du:[rms]foo.dir'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1451
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1452 There are two new functions for converting between directory names
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1453 and file names. `directory-file-name' takes a directory name and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1454 returns the name of the file in which that directory's data is stored.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1455 `file-name-as-directory' takes the name of a file and returns
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1456 the corresponding directory name. These always understand Unix file name
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1457 syntax; on VMS, they understand VMS syntax as well.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1458
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1459 For example, (file-name-as-directory "/usr/rms") returns "/usr/rms/"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1460 and (directory-file-name "/usr/rms/") returns "/usr/rms".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1461 On VMS, (file-name-as-directory "du:[rms]foo.dir") returns "du:[rms.foo]"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1462 and (directory-file-name "du:[rms.foo]") returns "du:[rms]foo.dir".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1463
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1464 ** Value of `file-attributes' changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1465
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1466 The function file-attributes returns a list containing many kinds of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1467 information about a file. Now the list has eleven elements.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1468
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1469 The tenth element is `t' if deleting the file and creating another
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1470 file of the same name would result in a change in the file's group;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1471 `nil' if there would be no change. You can also think of this as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1472 comparing the file's group with the default group for files created in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1473 the same directory by you.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1474
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1475 The eleventh element is the inode number of the file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1476
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1477 ** VMS-only function `file-name-all-versions'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1478
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1479 This function returns a list of all the completions, including version
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1480 number, of a specified version-number-less file name. This is like
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1481 `file-name-all-completions', except that the latter returns values
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1482 that do not include version numbers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1483
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1484 ** VMS-only variable `vms-stmlf-recfm'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1485
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1486 On a VMS system, if this variable is non-nil, Emacs will give newly
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1487 created files the record format `stmlf'. This is necessary for files
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1488 that must contain lines of arbitrary length, such as compiled Emacs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1489 Lisp.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1490
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1491 When writing a new version of an existing file, Emacs always keeps
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1492 the same record format as the previous version; so this variable has
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1493 no effect.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1494
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1495 This variable has no effect on Unix systems.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1496
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1497 ** `insert-file-contents' on an empty file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1498
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1499 This no longer sets the buffer's "modified" flag.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1500
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1501 ** New function (VMS only) `define-logical-name':
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1502
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1503 (define-logical-name LOGICAL TRANSLATION) defines a VMS logical name
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1504 LOGICAL whose translation is TRANSLATION. The new name applies to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1505 the current process only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1506
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1507 ** Deleted variable `ask-about-buffer-names'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1508
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1509 If you want buffer names for files to be generated in a special way,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1510 you must redefine `create-file-buffer'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1511
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1512 * Subprocess-related changes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1513
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1514 ** New function `process-list'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1515
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1516 This function takes no arguments and returns a list of all
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1517 of Emacs's asynchronous subprocesses.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1518
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1519 ** New function `process-exit-status'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1520
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1521 This function, given a process, process name or buffer as argument,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1522 returns the exit status code or signal number of the process.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1523 If the process has not yet exited or died, this function returns 0.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1524
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1525 ** Process output ignores `buffer-read-only'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1526
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1527 Output from a process will go into the process's buffer even if the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1528 buffer is read only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1529
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1530 ** Switching buffers in filter functions and sentinels.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1531
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1532 Emacs no longer saves and restore the current buffer around calling
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1533 the filter and sentinel functions, so these functions can now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1534 permanently alter the selected buffer in a straightforward manner.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1535
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1536 ** Specifying environment variables for subprocesses.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1537
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1538 When a subprocess is started with `start-process' or `call-process',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1539 the value of the variable `process-environment' is taken to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1540 specify the environment variables to give the subprocess. The
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1541 value should be a list of strings, each of the form "VAR=VALUE".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1542
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1543 `process-environment' is initialized when Emacs starts up
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1544 based on Emacs's environment.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1545
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1546 ** New variable `process-connection-type'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1547
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1548 If this variable is `nil', when a subprocess is created, Emacs uses
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1549 a pipe rather than a pty to communicate with it. Normally this
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1550 variable is `t', telling Emacs to use a pty if ptys are supported
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1551 and one is available.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1552
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1553 ** New function `waiting-for-user-input-p'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1554
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1555 This function, given a subprocess as argument, returns `t' if that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1556 subprocess appears to be waiting for input sent from Emacs,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1557 or `nil' otherwise.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1558
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1559 ** New hook `shell-set-directory-error-hook'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1560
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1561 The value of this variable is called, with no arguments, whenever
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1562 Shell mode gets an error trying to keep track of directory-setting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1563 commands (such as `cd' and `pushd') used in the shell buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1564
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1565 * New functions `user-uid' and `user-real-uid'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1566
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1567 These functions take no arguments and return, respectively,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1568 the effective uid and the real uid of the Emacs process.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1569 The value in each case is an integer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1570
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1571 * New variable `print-escape-newlines' controls string printing.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1572
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1573 If this variable is non-`nil', then when a Lisp string is printed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1574 by the Lisp printing function `prin1' or `print', newline characters
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1575 are printed as `\n' rather than as a literal newline.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1576
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1577 * New function `sysnetunam' on HPUX.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1578
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1579 This function takes two arguments, a network address PATH and a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1580 login string LOGIN, and executes the system call `netunam'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1581 It returns `t' if the call succeeds, otherwise `nil'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1582
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1583 News regarding installation:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1584
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1585 * Many `s-...' file names changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1586
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1587 Many `s-...' files have been renamed. All periods in such names,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1588 except the ones just before the final `h', have been changed to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1589 hyphens. Thus, `s-bsd4.2.h' has been renamed to `s-bsd4-2.h'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1590
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1591 This is so a Unix distribution can be moved mechanically to VMS.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1592
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1593 * `DOCSTR...' file now called `DOC-...'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1594
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1595 The file of on-line documentation strings, that used to be
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1596 `DOCSTR.mm.nn.oo' in this directory, is now called `DOC-mm.nn.oo'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1597 This is so that it can port to VMS using the standard conventions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1598 for translating filenames for VMS.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1599
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1600 This file also now contains the doc strings for variables as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1601 well as functions.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1602
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1603 * Emacs no longer uses floating point arithmetic.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1604
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1605 This may make it easier to port to some machines.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1606
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1607 * Macros `XPNTR' and `XSETPNTR'; flag `DATA_SEG_BITS'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1608
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1609 These macros exclusively are used to unpack a pointer from a Lisp_Object
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1610 and to insert a pointer into a Lisp_Object. Redefining them may help
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1611 port Emacs to machines in which all pointers to data objects have
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1612 certain high bits set.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1613
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1614 If `DATA_SEG_BITS' is defined, it should be a number which contains
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1615 the high bits to be inclusive or'ed with pointers that are unpacked.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1616
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1617 * New flag `HAVE_X_MENU'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1618
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1619 Define this flag in `config.h' in addition to `HAVE_X_WINDOWS'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1620 to enable use of the Emacs interface to X Menus. On some operating
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1621 systems, the rest of the X interface works properly but X Menus
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1622 do not work; hence this separate flag. See the file `src/xmenu.c'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1623 for more information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1624
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1625 * Macros `ARRAY_MARK_FLAG' and `DONT_COPY_FLAG'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1626
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1627 * `HAVE_ALLOCA' prevents assembly of `alloca.s'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1628
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1629 * `SYSTEM_MALLOC' prevents use of GNU `malloc.c'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1630
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1631 SYSTEM_MALLOC, if defined, means use the system's own `malloc' routines
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1632 rather than those that come with Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1633
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1634 Use this only if absolutely necessary, because if it is used you do
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1635 not get warnings when space is getting low.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1636
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1637 * New flags to control unexec.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1638
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1639 See the file `unexec.c' for a long comment on the compilation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1640 switches that suffice to make it work on many machines.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1641
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1642 * `PNTR_COMPARISON_TYPE'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1643
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1644 Pointers that need to be compared for ordering are converted to this type
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1645 first. Normally this is `unsigned int'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1646
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1647 * `HAVE_VFORK', `HAVE_DUP2' and `HAVE_GETTIMEOFDAY'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1648
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1649 These flags just say whether certain system calls are available.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1650
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1651 * New macros control compiler switches, linker switches and libraries.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1652
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1653 The m- and s- files can now control in a modular fashion the precise
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1654 arguments passed to `cc' and `ld'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1655
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1656 LIBS_STANDARD defines the standard C libraries. Default is `-lc'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1657 LIBS_DEBUG defines the extra libraries to use when debugging. Default `-lg'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1658 LIBS_SYSTEM can be defined by the s- file to specify extra libraries.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1659 LIBS_MACHINE can be defined by the m- file to specify extra libraries.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1660 LIBS_TERMCAP defines the libraries for Termcap or Terminfo.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1661 It is defined by default in a complicated fashion but the m- or s- file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1662 can override it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1663
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1664 LD_SWITCH_SYSTEM can be defined by the s- file to specify extra `ld' switches.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1665 The default is `-X' on BSD systems except those few that use COFF object files.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1666 LD_SWITCH_MACHINE can be defined by the m- file to specify extra `ld' switches.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1667
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1668 C_DEBUG_SWITCH defines the switches to give `cc' when debugging. Default `-g'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1669 C_OPTIMIZE_SWITCH defines the switches to give `cc' to optimize. Default `-O'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1670 C_SWITCH_MACHINE can be defined by the m- file to specify extra `cc' switches.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1671
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1672 For older news, see the file ONEWS.3.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1673
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1674 ----------------------------------------------------------------------
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1675 Copyright information:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1676
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1677 Copyright (C) 1992 Free Software Foundation, Inc.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1678
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1679 Permission is granted to anyone to make or distribute verbatim copies
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1680 of this document as received, in any medium, provided that the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1681 copyright notice and this permission notice are preserved,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1682 thus giving the recipient permission to redistribute in turn.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1683
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1684 Permission is granted to distribute modified versions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1685 of this document, or of portions of it,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1686 under the above conditions, provided also that they
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1687 carry prominent notices stating who last changed them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1688
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1689 Local variables:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1690 mode: text
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1691 end: