annotate etc/ONEWS.1 @ 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 a473fce1ed3a
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 Old GNU Emacs NEWS -- history of user-visible changes thru version 15.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2 Copyright (C) 1985 Richard M. Stallman.
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
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
5 Changes in Emacs 15
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 * Emacs now runs on Sun and Megatest 68000 systems;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
8 also on at least one 16000 system running 4.2.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10 * Emacs now alters the output-start and output-stop characters
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
11 to prevent C-s and C-q from being considered as flow control
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
12 by cretinous rlogin software in 4.2.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
13
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14 * It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
15 that can run in GNU Emacs. M-x convert-mocklisp-buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
16 converts the contents of the current buffer from Mocklisp to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17 GNU Emacs Lisp. You should then save the converted buffer with C-x C-w
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
18 under a name ending in ".el"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20 There are probably some Mocklisp constructs that are not handled.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21 If you encounter one, feel free to report the failure as a bug.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22 The construct will be handled in a future Emacs release, if that is not
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 not too hard to do.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
25 Note that lisp code converted from Mocklisp code will not necessarily
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 run as fast as code specifically written for GNU Emacs, nor will it use
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27 the many features of GNU Emacs which are not present in Gosling's emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 (In particular, the byte-compiler (m-x byte-compile-file) knows little
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29 about compilation of code directly converted from mocklisp.)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30 It is envisaged that old mocklisp code will be incrementally converted
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31 to GNU lisp code, with M-x convert-mocklisp-buffer being the first
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32 step in this process.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34 * Control-x n (narrow-to-region) is now by default a disabled command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36 This means that, if you issue this command, it will ask whether
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 you really mean it. You have the opportunity to enable the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38 command permanently at that time, so you will not be asked again.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39 This will place the form "(put 'narrow-to-region 'disabled nil)" in your
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 .emacs file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 * Tags now prompts for the tag table file name to use.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44 All the tags commands ask for the tag table file name
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 if you have not yet specified one.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47 Also, the command M-x visit-tag-table can now be used to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 specify the tag table file name initially, or to switch
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49 to a new tag table.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 * If truncate-partial-width-windows is non-nil (as it intially is),
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52 all windows less than the full screen width (that is,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53 made by side-by-side splitting) truncate lines rather than continuing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54 them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 * Emacs now checks for Lisp stack overflow to avoid fatal errors.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 The depth in eval, apply and funcall may not exceed max-lisp-eval-depth.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
58 The depth in variable bindings and unwind-protects may not exceed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59 max-specpdl-size. If either limit is exceeded, an error occurs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 You can set the limits to larger values if you wish, but if you make them
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61 too large, you are vulnerable to a fatal error if you invoke
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 Lisp code that does infinite recursion.
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 * New hooks find-file-hook and write-file-hook.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 Both of these variables if non-nil should be functions of no arguments.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 At the time they are called (current-buffer) will be the buffer being
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67 read or written respectively.
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 find-file-hook is called whenever a file is read into its own buffer,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70 such as by calling find-file, revert-buffer, etc. It is not called by
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71 functions such as insert-file which do not read the file into a buffer of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 its own.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 find-file-hook is called after the file has been read in and its
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74 local variables (if any) have been processed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76 write-file-hook is called just before writing out a file from a buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78 * The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80 * If the .emacs file sets inhibit-startup-message to non-nil,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 the messages normally printed by Emacs at startup time
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 are inhibited.
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 * Facility for run-time conditionalization on the basis of emacs features.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
86 The new variable features is a list of symbols which represent "features"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
87 of the executing emacs, for use in run-time conditionalization.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
89 The function featurep of one argument may be used to test for the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90 presence of a feature. It is just the same as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
91 (not (null (memq FEATURE features))) where FEATURE is its argument.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
92 For example, (if (featurep 'magic-window-hack)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 (transmogrify-window 'vertical)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
94 (split-window-vertically))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
96 The function provide of one argument "announces" that FEATURE is present.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97 It is much the same as (if (not (featurep FEATURE))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 (setq features (cons FEATURE features)))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100 The function require with arguments FEATURE and FILE-NAME loads FILE-NAME
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 (which should contain the form (provide FEATURE)) unless FEATURE is present.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102 It is much the same as (if (not (featurep FEATURE))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 (progn (load FILE-NAME)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104 (if (not featurep FEATURE) (error ...))))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 FILE-NAME is optional and defaults to FEATURE.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
106
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107 * New function load-average.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
109 This returns a list of three integers, which are
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110 the current 1 minute, 5 minute and 15 minute load averages,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111 each multiplied by a hundred (since normally they are floating
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112 point numbers).
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 * Per-terminal libraries loaded automatically.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116 Emacs when starting up on terminal type T automatically loads
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 a library named term-T. T is the value of the TERM environment variable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118 Thus, on terminal type vt100, Emacs would do (load "term-vt100" t t).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 Such libraries are good places to set the character translation table.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
121 It is a bad idea to redefine lots of commands in a per-terminal library,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
122 since this affects all users. Instead, define a command to do the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
123 redefinitions and let the user's init file, which is loaded later,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
124 call that command or not, as the user prefers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
125
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 * Programmer's note: detecting killed buffers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
127
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
128 Buffers are eliminated by explicitly killing them, using
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129 the function kill-buffer. This does not eliminate or affect
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
130 the pointers to the buffer which may exist in list structure.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
131 If you have a pointer to a buffer and wish to tell whether
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
132 the buffer has been killed, use the function buffer-name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133 It returns nil on a killed buffer, and a string on a live buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
134
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
135 * New ways to access the last command input character.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
136
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
137 The function last-key-struck, which used to return the last
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138 input character that was read by command input, is eliminated.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
139 Instead, you can find this information as the value of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
140 variable last-command-char. (This variable used to be called
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
141 last-key).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
142
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
143 Another new variable, last-input-char, holds the last character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
144 read from the command input stream regardless of what it was
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
145 read for. last-input-char and last-command-char are different
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
146 only inside a command that has called read-char to read input.
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 new switch -kill causes Emacs to exit after processing the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
149 preceding command line arguments. Thus,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
150 emacs -l lib data -e do-it -kill
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
151 means to load lib, find file data, call do-it on no arguments,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
152 and then exit.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
153
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
154 * The config.h file has been modularized.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
155
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
156 Options that depend on the machine you are running on are defined
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
157 in a file whose name starts with "m-", such as m-vax.h.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
158 Options that depend on the operating system software version you are
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
159 running on are defined in a file whose name starts with "s-",
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
160 such as s-bsd4.2.h.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
161
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
162 config.h includes one m- file and one s- file. It also defines a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
163 few other options whose values do not follow from the machine type
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
164 and system type being used. Installers normally will have to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
165 select the correct m- and s- files but will never have to change their
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
166 contents.
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 * Termcap AL and DL strings are understood.
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 If the termcap entry defines AL and DL strings, for insertion
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
171 and deletion of multiple lines in one blow, Emacs now uses them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172 This matters most on certain bit map display terminals for which
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
173 scrolling is comparatively slow.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 * Bias against scrolling screen far on fast terminals.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
176
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
177 Emacs now prefers to redraw a few lines rather than
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
178 shift them a long distance on the screen, when the terminal is fast.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
179
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
180 * New major mode, mim-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182 This major mode is for editing MDL code. Perhaps a MDL
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
183 user can explain why it is not called mdl-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
184 You must load the library mim-mode explicitly to use this.
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 * GNU documentation formatter `texinfo'.
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 The `texinfo' library defines a format for documentation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189 files which can be passed through Tex to make a printed manual
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 or passed through texinfo to make an Info file. Texinfo is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191 documented fully by its own Info file; compare this file
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192 with its source, texinfo.texinfo, for additional guidance.
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 All documentation files for GNU utilities should be written
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195 in texinfo input format.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197 Tex processing of texinfo files requires the Botex macro package.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
198 This is not ready for distribution yet, but will appear at
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199 a later time.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201 * New function read-from-string (emacs 15.29)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203 read-from-string takes three arguments: a string to read from,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
204 and optionally start and end indices which delimit a substring
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
205 from which to read. (They default to 0 and the length of the string,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206 respectively.)
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 This function returns a cons cell whose car is the object produced
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
209 by reading from the string and whose cdr is a number giving the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
210 index in the string of the first character not read. That index may
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
211 be passed as the second argument to a later call to read-from-string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
212 to read the next form represented by the string.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
213
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
214 In addition, the function read now accepts a string as its argument.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
215 In this case, it calls read-from-string on the whole string, and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
216 returns the car of the result. (ie the actual object read.)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
217
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
218 Changes in Emacs 14
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
219
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
220 * Completion now prints various messages such as [Sole Completion]
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
221 or [Next Character Not Unique] to describe the results obtained.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
222 These messages appear after the text in the minibuffer, and remain
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
223 on the screen until a few seconds go by or you type a key.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
224
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225 * The buffer-read-only flag is implemented.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
226 Setting or binding this per-buffer variable to a non-nil value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
227 makes illegal any operation which would modify the textual content of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
228 the buffer. (Such operations signal a buffer-read-only error)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
229 The read-only state of a buffer may be altered using toggle-read-only
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
230 (C-x C-q)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
231 The buffers used by Rmail, Dired, Rnews, and Info are now read-only
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
232 by default to prevent accidental damage to the information in those
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
233 buffers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
234
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
235 * Functions car-safe and cdr-safe.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
236 These functions are like car and cdr when the argument is a cons.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237 Given an argument not a cons, car-safe always returns nil, with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238 no error; the same for cdr-safe.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
239
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
240 * The new function user-real-login-name returns the name corresponding
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241 to the real uid of the Emacs process. This is usually the same
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 as what user-login-name returns; however, when Emacs is invoked
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243 from su, user-real-login-name returns "root" but user-login-name
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
244 returns the name of the user who invoked su.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
245
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
246 Changes in Emacs 13
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
247
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
248 * There is a new version numbering scheme.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250 What used to be the first version number, which was 1,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
251 has been discarded since it does not seem that I need three
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
252 levels of version number.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 However, a new third version number has been added to represent
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
255 changes by user sites. This number will always be zero in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
256 Emacs when I distribute it; it will be incremented each time
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257 Emacs is built at another site.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259 * There is now a reader syntax for Meta characters:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 \M-CHAR means CHAR or'ed with the Meta bit. For example:
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 ?\M-x is (+ ?x 128)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
263 ?\M-\n is (+ ?\n 128)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
264 ?\M-\^f is (+ ?\^f 128)
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 This syntax can be used in strings too. Note, however, that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
267 Meta characters are not meaningful in key sequences being passed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
268 to define-key or lookup-key; you must use ESC characters (\e)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
269 in them instead.
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 ?\C- can be used likewise for control characters. (13.9)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273 * Installation change
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 The string "../lisp" now adds to the front of the load-path
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275 used for searching for Lisp files during Emacs initialization.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 It used to replace the path specified in paths.h entirely.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277 Now the directory ../lisp is searched first and the directoris
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 specified in paths.h are searched afterward.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 Changes in Emacs 1.12
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
281
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282 * There is a new installation procedure.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283 See the file INSTALL that comes in the top level
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284 directory in the tar file or tape.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 * The Meta key is now supported on terminals that have it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287 This is a shift key which causes the high bit to be turned on
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288 in all input characters typed while it is held down.
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 read-char now returns a value in the range 128-255 if
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291 a Meta character is typed. When interpreted as command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292 input, a Meta character is equivalent to a two character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293 sequence, the meta prefix character followed by the un-metized
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 character (Meta-G unmetized is G).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
295
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
296 The meta prefix character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
297 is specified by the value of the variable meta-prefix-char.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
298 If this character (normally Escape) has been redefined locally
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
299 with a non-prefix definition (such as happens in completing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
300 minibuffers) then the local redefinition is suppressed when
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
301 the character is not the last one in a key sequence.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
302 So the local redefinition is effective if you type the character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
303 explicitly, but not effective if the character comes from
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
304 the use of the Meta key.
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 * `-' is no longer a completion command in the minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
307 It is an ordinary self-inserting character.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
308
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
309 * The list load-path of directories load to search for Lisp files
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
310 is now controlled by the EMACSLOADPATH environment variable
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
311 [[ Note this was originally EMACS-LOAD-PATH and has been changed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
312 again; sh does not deal properly with hyphens in env variable names]]
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
313 rather than the EPATH environment variable. This is to avoid
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
314 conflicts with other Emacses.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
315
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
316 While Emacs is being built initially, the load-path
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
317 is now just ("../lisp"), ignoring paths.h. It does not
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
318 ignore EMACSLOADPATH, however; you should avoid having
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
319 this variable set while building Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
320
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
321 * You can now specify a translation table for keyboard
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
322 input characters, as a way of exchanging or substituting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
323 keys on the keyboard.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
324
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
325 If the value of keyboard-translate-table is a string,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
326 every character received from the keyboard is used as an
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
327 index in that string, and the character at that index in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
328 the string is used as input instead of what was actually
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
329 typed. If the actual input character is >= the length of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
330 the string, it is used unchanged.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
331
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
332 One way this feature can be used is to fix bad keyboard
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
333 designes. For example, on some terminals, Delete is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
334 Shift-Underscore. Since Delete is a more useful character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
335 than Underscore, it is an improvement to make the unshifted
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
336 character Delete and the shifted one Underscore. This can
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
337 be done with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
338
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
339 ;; First make a translate table that does the identity translation.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
340 (setq keyboard-translate-table (make-string 128 0))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
341 (let ((i 0))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
342 (while (< i 128)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
343 (aset keyboard-translate-table i i)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
344 (setq i (1+ i))))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
345
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
346 ;; Now alter translations of some characters.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
347 (aset keyboard-translate-table ?\_ ?\^?)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
348 (aset keyboard-translate-table ?\^? ?\_)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
349
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
350 If your terminal has a Meta key and can therefore send
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
351 codes up to 255, Meta characters are translated through
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
352 elements 128 through 255 of the translate table, and therefore
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
353 are translated independently of the corresponding non-Meta
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
354 characters. You must therefore establish translations
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
355 independently for the Meta characters if you want them too:
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 ;; First make a translate table that does the identity translation.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
358 (setq keyboard-translate-table (make-string 256 0))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
359 (let ((i 0))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
360 (while (< i 256)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
361 (aset keyboard-translate-table i i)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
362 (setq i (1+ i))))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
363
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
364 ;; Now alter translations of some characters.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
365 (aset keyboard-translate-table ?\_ ?\^?)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
366 (aset keyboard-translate-table ?\^? ?\_)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
367
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
368 ;; Now alter translations of some Meta characters.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
369 (aset keyboard-translate-table (+ 128 ?\_) (+ 128 ?\^?))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
370 (aset keyboard-translate-table (+ 128 ?\^?) (+ 128 ?\_))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
371
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
372 * (process-kill-without-query PROCESS)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
373
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
374 This marks the process so that, when you kill Emacs,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
375 you will not on its account be queried about active subprocesses.
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 Changes in Emacs 1.11
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
378
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
379 * The commands C-c and C-z have been interchanged,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
380 for greater compatibility with normal Unix usage.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
381 C-z now runs suspend-emacs and C-c runs exit-recursive-edit.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
382
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
383 * The value returned by file-name-directory now ends
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
384 with a slash. (file-name-directory "foo/bar") => "foo/".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
385 This avoids confusing results when dealing with files
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
386 in the root directory.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
387
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
388 The value of the per-buffer variable default-directory
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
389 is also supposed to have a final slash now.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
390
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
391 * There are now variables to control the switches passed to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
392 `ls' by the C-x C-d command (list-directory).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
393 list-directory-brief-switches is a string, initially "-CF",
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
394 used for brief listings, and list-directory-verbose-switches
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
395 is a string, initially "-l", used for verbose ones.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
396
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
397 * For Ann Arbor Ambassador terminals, the termcap "ti" string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
398 is now used to initialize the screen geometry on entry to Emacs,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
399 and the "te" string is used to set it back on exit.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
400 If the termcap entry does not define the "ti" or "te" string,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
401 Emacs does what it used to do.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
402
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
403 Changes in Emacs 1.10
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 * GNU Emacs has been made almost 1/3 smaller.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
406 It now dumps out as only 530kbytes on Vax 4.2bsd.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
407
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
408 * The term "checkpoint" has been replaced by "auto save"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
409 throughout the function names, variable names and documentation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
410 of GNU Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
411
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
412 * The function load now tries appending ".elc" and ".el"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
413 to the specified filename BEFORE it tries the filename
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
414 without change.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
415
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
416 * rmail now makes the mode line display the total number
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
417 of messages and the current message number.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
418 The "f" command now means forward a message to another user.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
419 The command to search through all messages for a string is now "F".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
420 The "u" command now means to move back to the previous
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
421 message and undelete it. To undelete the selected message, use Meta-u.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
422
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
423 * The hyphen character is now equivalent to a Space while
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
424 in completing minibuffers. Both mean to complete an additional word.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
425
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
426 * The Lisp function error now takes args like format
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
427 which are used to construct the error message.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
428
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
429 * Redisplay will refuse to start its display at the end of the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
430 It will pick a new place to display from, rather than use that.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
431
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
432 * The value returned by garbage-collect has been changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
433 Its first element is no longer a number but a cons,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
434 whose car is the number of cons cells now in use,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
435 and whose cdr is the number of cons cells that have been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
436 made but are now free.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
437 The second element is similar but describes symbols rather than cons cells.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
438 The third element is similar but describes markers.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
439
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
440 * The variable buffer-name has been eliminated.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
441 The function buffer-name still exists. This is to prevent
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
442 user programs from changing buffer names without going
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
443 through the rename-buffer function.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
444
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
445 Changes in Emacs 1.9
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
446
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
447 * When a fill prefix is in effect, paragraphs are started
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
448 or separated by lines that do not start with the fill prefix.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
449 Also, a line which consists of the fill prefix followed by
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
450 white space separates paragraphs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
451
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
452 * C-x C-v runs the new function find-alternate-file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
453 It finds the specified file, switches to that buffer,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
454 and kills the previous current buffer. (It requires
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
455 confirmation if that buffer had changes.) This is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
456 most useful after you find the wrong file due to a typo.
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 * Exiting the minibuffer moves the cursor to column 0,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
459 to show you that it has really been exited.
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 * Meta-g (fill-region) now fills each paragraph in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
462 region individually. To fill the region as if it were
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
463 a single paragraph (for when the paragraph-delimiting mechanism
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
464 does the wrong thing), use fill-region-as-paragraph.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
465
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
466 * Tab in text mode now runs the function tab-to-tab-stop.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
467 A new mode called indented-text-mode is like text-mode
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
468 except that in it Tab runs the function indent-relative,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
469 which indents the line under the previous line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
470 If auto fill is enabled while in indented-text-mode,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
471 the new lines that it makes are indented.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
472
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
473 * Functions kill-rectangle and yank-rectangle.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
474 kill-rectangle deletes the rectangle specified by dot and mark
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
475 (or by two arguments) and saves it in the variable killed-rectangle.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
476 yank-rectangle inserts the rectangle in that variable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
477
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
478 Tab characters in a rectangle being saved are replaced
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
479 by spaces in such a way that their appearance will
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
480 not be changed if the rectangle is later reinserted
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
481 at a different column position.
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 * `+' in a regular expression now means
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
484 to repeat the previous expression one or more times.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
485 `?' means to repeat it zero or one time.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
486 They are in all regards like `*' except for the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
487 number of repetitions they match.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
488
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
489 \< in a regular expression now matches the null string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
490 when it is at the beginning of a word; \> matches
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
491 the null string at the end of a word.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
492
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
493 * C-x p narrows the buffer so that only the current page
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
494 is visible.
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 * C-x ) with argument repeats the kbd macro just
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
497 defined that many times, counting the definition
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
498 as one repetition.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
499
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
500 * C-x ( with argument begins defining a kbd macro
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
501 starting with the last one defined. It executes that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
502 previous kbd macro initially, just as if you began
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
503 by typing it over again.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
504
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
505 * C-x q command queries the user during kbd macro execution.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
506 With prefix argument, enters recursive edit,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
507 reading keyboard commands even within a kbd macro.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
508 You can give different commands each time the macro executes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
509 Without prefix argument, reads a character. Your options are:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
510 Space -- execute the rest of the macro.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
511 Delete -- skip the rest of the macro; start next repetition.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
512 C-d -- skip rest of the macro and don't repeat it any more.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
513 C-r -- enter a recursive edit, then on exit ask again for a character
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
514 C-l -- redisplay screen and ask again."
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
515
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
516 * write-kbd-macro and append-kbd-macro are used to save
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
517 a kbd macro definition in a file (as Lisp code to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
518 redefine the macro when the file is loaded).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
519 These commands differ in that write-kbd-macro
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
520 discards the previous contents of the file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
521 If given a prefix argument, both commands
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
522 record the keys which invoke the macro as well as the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
523 macro's definition.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
524
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
525 * The variable global-minor-modes is used to display
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
526 strings in the mode line of all buffers. It should be
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
527 a list of elements thaht are conses whose cdrs are strings
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
528 to be displayed. This complements the variable
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
529 minor-modes, which has the same effect but has a separate
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
530 value in each buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
531
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
532 * C-x = describes horizontal scrolling in effect, if any.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
533
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
534 * Return now auto-fills the line it is ending, in auto fill mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
535 Space with zero as argument auto-fills the line before it
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
536 just like Space without an argument.
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 Changes in Emacs 1.8
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
539
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
540 This release mostly fixes bugs. There are a few new features:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
541
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
542 * apropos now sorts the symbols before displaying them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
543 Also, it returns a list of the symbols found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
544
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
545 apropos now accepts a second arg PRED which should be a function
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
546 of one argument; if PRED is non-nil, each symbol is tested
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
547 with PRED and only symbols for which PRED returns non-nil
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
548 appear in the output or the returned list.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
549
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
550 If the third argument to apropos is non-nil, apropos does not
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
551 display anything; it merely returns the list of symbols found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
552
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
553 C-h a now runs the new function command-apropos rather than
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
554 apropos, and shows only symbols with definitions as commands.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
555
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
556 * M-x shell sends the command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
557 if (-f ~/.emacs_NAME)source ~/.emacs_NAME
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
558 invisibly to the shell when it starts. Here NAME
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
559 is replaced by the name of shell used,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
560 as it came from your ESHELL or SHELL environment variable
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
561 but with directory name, if any, removed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
562
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
563 * M-, now runs the command tags-loop-continue, which is used
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
564 to resume a terminated tags-search or tags-query-replace.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
565
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
566 Changes in Emacs 1.7
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 It's Beat CCA Week.
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 * The initial buffer is now called "*scratch*" instead of "scratch",
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
571 so that all buffer names used automatically by Emacs now have *'s.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
572
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
573 * Undo information is now stored separately for each buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
574 The Undo command (C-x u) always applies to the current
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
575 buffer only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
576
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
577 C-_ is now a synonym for C-x u.
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 (buffer-flush-undo BUFFER) causes undo information not to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
580 be kept for BUFFER, and frees the space that would have
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
581 been used to hold it. In any case, no undo information is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
582 kept for buffers whose names start with spaces. (These
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
583 buffers also do not appear in the C-x C-b display.)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
584
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
585 * Rectangle operations are now implemented.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
586 C-x r stores the rectangle described by dot and mark
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
587 into a register; it reads the register name from the keyboard.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
588 C-x g, the command to insert the contents of a register,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
589 can be used to reinsert the rectangle elsewhere.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
590
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
591 Other rectangle commands include
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
592 open-rectangle:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
593 insert a blank rectangle in the position and size
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
594 described by dot and mark, at its corners;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
595 the existing text is pushed to the right.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
596 clear-rectangle:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
597 replace the rectangle described by dot ane mark
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
598 with blanks. The previous text is deleted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
599 delete-rectangle:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
600 delete the text of the specified rectangle,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
601 moving the text beyond it on each line leftward.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
602
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
603 * Side-by-side windows are allowed. Use C-x 5 to split the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
604 current window into two windows side by side.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
605 C-x } makes the selected window ARG columns wider at the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
606 expense of the windows at its sides. C-x { makes the selected
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
607 window ARG columns narrower. An argument to C-x 5 specifies
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
608 how many columns to give to the leftmost of the two windows made.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
609
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
610 C-x 2 now accepts a numeric argument to specify the number of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
611 lines to give to the uppermost of the two windows it makes.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
612
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
613 * Horizontal scrolling of the lines in a window is now implemented.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
614 C-x < (scroll-left) scrolls all displayed lines left,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
615 with the numeric argument (default 1) saying how far to scroll.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
616 When the window is scrolled left, some amount of the beginning
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
617 of each nonempty line is replaced by an "$".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
618 C-x > scrolls right. If a window has no text hidden at the left
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
619 margin, it cannot be scrolled any farther right than that.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
620 When nonzero leftwards scrolling is in effect in a window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
621 lines are automatically truncated at the window's right margin
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
622 regardless of the value of the variable truncate-lines in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
623 buffer being displayed.
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 * C-x C-d now uses the default output format of `ls',
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
626 which gives just file names in multiple columns.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
627 C-u C-x C-d passes the -l switch to `ls'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
628
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
629 * C-t at the end of a line now exchanges the two preceding characters.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
630
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
631 All the transpose commands now interpret zero as an argument
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
632 to mean to transpose the textual unit after or around dot
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
633 with the one after or around the mark.
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 * M-! executes a shell command in an inferior shell
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
636 and displays the output from it. With a prefix argument,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
637 it inserts the output in the current buffer after dot
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
638 and sets the mark after the output. The shell command
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
639 gets /dev/null as its standard input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
640
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
641 M-| is like M-! but passes the contents of the region
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
642 as input to the shell command. A prefix argument makes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
643 the output from the command replace the contents of the region.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
644
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
645 * The mode line will now say "Def" after the major mode
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
646 while a keyboard macro is being defined.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
647
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
648 * The variable fill-prefix is now used by Meta-q.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
649 Meta-q removes the fill prefix from lines that start with it
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
650 before filling, and inserts the fill prefix on each line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
651 after filling.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
652
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
653 The command C-x . sets the fill prefix equal to the text
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
654 on the current line before dot.
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 * The new command Meta-j (indent-new-comment-line),
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
657 is like Linefeed (indent-new-line) except when dot is inside a comment;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
658 in that case, Meta-j inserts a comment starter on the new line,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
659 indented under the comment starter above. It also inserts
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
660 a comment terminator at the end of the line above,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
661 if the language being edited calls for one.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
662
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
663 * Rmail should work correctly now, and has some C-h m documentation.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
664
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
665 Changes in Emacs 1.6
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 * save-buffers-kill-emacs is now on C-x C-c
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
668 while C-x C-z does suspend-emacs. This is to make
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
669 C-x C-c like the normal Unix meaning of C-c
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
670 and C-x C-z linke the normal Unix meaning of C-z.
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 * M-ESC (eval-expression) is now a disabled command by default.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
673 This prevents users who type ESC ESC accidentally from
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
674 getting confusing results. Put
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
675 (put 'eval-expression 'disabled nil)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
676 in your ~/.emacs file to enable the command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
677
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
678 * Self-inserting text is grouped into bunches for undoing.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
679 Each C-x u command undoes up to 20 consecutive self-inserting
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
680 characters.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
681
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
682 * Help f now uses as a default the function being called
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
683 in the innermost Lisp expression that dot is in.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
684 This makes it more convenient to use while writing
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
685 Lisp code to run in Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
686 (If the text around dot does not appear to be a call
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
687 to a Lisp function, there is no default.)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
688
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
689 Likewise, Help v uses the symbol around or before dot
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
690 as a default, if that is a variable name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
691
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
692 * Commands that read filenames now insert the default
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
693 directory in the minibuffer, to become part of your input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
694 This allows you to see what the default is.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
695 You may type a filename which goes at the end of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
696 default directory, or you may edit the default directory
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
697 as you like to create the input you want to give.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
698 You may also type an absolute pathname (starting with /)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
699 or refer to a home directory (input starting with ~)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
700 after the default; the presence of // or /~ causes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
701 everything up through the slash that precedes your
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
702 type-in to be ignored.
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 Returning the default directory without change,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
705 including the terminating slash, requests the use
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
706 of the default file name (usually the visited file's name).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
707
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
708 Set the variable insert-default-directory to nil
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
709 to turn off this feature.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
710
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
711 * M-x shell now uses the environment variable ESHELL,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
712 if it exists, as the file name of the shell to run.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
713 If there is no ESHELL variable, the SHELL variable is used.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
714 This is because some shells do not work properly as inferiors
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
715 of Emacs (or anything like Emacs).
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 * A new variable minor-modes now exists, with a separate value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
718 in each buffer. Its value should be an alist of elements
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
719 (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
720 minor mode that is turned on in the buffer. The pretty
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
721 name strings are displayed in the mode line after the name of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
722 major mode (with spaces between them). The mode function
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
723 symbols should be symbols whose function definitions will
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
724 turn on the minor mode if given 1 as an argument; they are present
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
725 so that Help m can find their documentation strings.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
726
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
727 * The format of tag table files has been changed.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
728 The new format enables Emacs to find tags much faster.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
729
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
730 A new program, etags, exists to make the kind of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
731 tag table that Emacs wants. etags is invoked just
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
732 like ctags; in fact, if you give it any switches,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
733 it does exactly what ctags would do. Give it the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
734 empty switch ("-") to make it act like ctags with no switches.
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 etags names the tag table file "TAGS" rather than "tags",
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
737 so that these tag tables and the standard Unix ones
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
738 can coexist.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
739
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
740 The tags library can no longer use standard ctags-style
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
741 tag tables files.
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 * The file of Lisp code Emacs reads on startup is now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
744 called ~/.emacs rather than ~/.emacs_pro.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
745
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
746 * copy-file now gives the copied file the same mode bits
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
747 as the original file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
748
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
749 * Output from a process inserted into the process's buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
750 no longer sets the buffer's mark. Instead it sets a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
751 marker associated with the process to point to the end
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
752 of the inserted text. You can access this marker with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
753 (process-mark PROCESS)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
754 and then either examine its position with marker-position
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
755 or set its position with set-marker.
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 * completing-read takes a new optional fifth argument which,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
758 if non-nil, should be a string of text to insert into
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
759 the minibuffer before reading user commands.
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 * The Lisp function elt now exists:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
762 (elt ARRAY N) is like (aref ARRAY N),
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
763 (elt LIST N) is like (nth N LIST).
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 * rplaca is now a synonym for setcar, and rplacd for setcdr.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
766 eql is now a synonym for eq; it turns out that the Common Lisp
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
767 distinction between eq and eql is insignificant in Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
768 numberp is a new synonym for integerp.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
769
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
770 * auto-save has been renamed to auto-save-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
771
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
772 * Auto save file names for buffers are now created by the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
773 function make-auto-save-file-name. This is so you can
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
774 redefine that function to change the way auto save file names
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
775 are chosen.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
776
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
777 * expand-file-name no longer discards a final slash.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
778 (expand-file-name "foo" "/lose") => "/lose/foo"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
779 (expand-file-name "foo/" "/lose") => "/lose/foo/"
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
780
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
781 Also, expand-file-name no longer substitutes $ constructs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
782 A new function substitute-in-file-name does this. Reading
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
783 a file name with read-file-name or the `f' or`F' option
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
784 of interactive calling uses substitute-in-file-name
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
785 on the file name that was read and returns the result.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
786
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
787 All I/O primitives including insert-file-contents and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
788 delete-file call expand-file-name on the file name supplied.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
789 This change makes them considerably faster in the usual case.
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 * Interactive calling spec strings allow the new code letter 'D'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
792 which means to read a directory name. It is like 'f' except
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
793 that the default if the user makes no change in the minibuffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
794 is to return the current default directory rather than the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
795 current visited file name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
796
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
797 Changes in Emacs 1.5
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
798
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
799 * suspend-emacs now accepts an optional argument
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
800 which is a string to be stuffed as terminal input
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
801 to be read by Emacs's superior shell after Emacs exits.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
802
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
803 A library called ledit exists which uses this feature
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
804 to transmit text to a Lisp job running as a sibling of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
805 Emacs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
806
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
807 * If find-file is given the name of a directory,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
808 it automatically invokes dired on that directory
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
809 rather than reading in the binary data that make up
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
810 the actual contents of the directory according to Unix.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
811
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
812 * Saving an Emacs buffer now preserves the file modes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
813 of any previously existing file with the same name.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
814 This works using new Lisp functions file-modes and
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
815 set-file-modes, which can be used to read or set the mode
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
816 bits of any file.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
817
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
818 * The Lisp function cond now exists, with its traditional meaning.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
819
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
820 * defvar and defconst now permit the documentation string
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
821 to be omitted. defvar also permits the initial value
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
822 to be omitted; then it acts only as a comment.
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 Changes in Emacs 1.4
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
825
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
826 * Auto-filling now normally indents the new line it creates
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
827 by calling indent-according-to-mode. This function, meanwhile,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
828 has in Fundamental and Text modes the effect of making the line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
829 have an indentation of the value of left-margin, a per-buffer variable.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
830
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
831 Tab no longer precisely does indent-according-to-mode;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
832 it does that in all modes that supply their own indentation routine,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
833 but in Fundamental, Text and allied modes it inserts a tab character.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
834
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
835 * The command M-x grep now invokes grep (on arguments
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
836 supplied by the user) and reads the output from grep
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
837 asynchronously into a buffer. The command C-x ` can
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
838 be used to move to the lines that grep has found.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
839 This is an adaptation of the mechanism used for
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
840 running compilations and finding the loci of error messages.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
841
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
842 You can now use C-x ` even while grep or compilation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
843 is proceeding; as more matches or error messages arrive,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
844 C-x ` will parse them and be able to find them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
845
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
846 * M-x mail now provides a command to send the message
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
847 and "exit"--that is, return to the previously selected
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
848 buffer. It is C-z C-z.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
849
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
850 * Tab in C mode now tries harder to adapt to all indentation styles.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
851 If the line being indented is a statement that is not the first
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
852 one in the containing compound-statement, it is aligned under
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
853 the beginning of the first statement.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
854
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
855 * The functions screen-width and screen-height return the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
856 total width and height of the screen as it is now being used.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
857 set-screen-width and set-screen-height tell Emacs how big
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
858 to assume the screen is; they each take one argument,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
859 an integer.
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 * The Lisp function 'function' now exists. function is the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
862 same as quote, except that it serves as a signal to the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
863 Lisp compiler that the argument should be compiled as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
864 a function. Example:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
865 (mapcar (function (lambda (x) (+ x 5))) list)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
866
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
867 * The function set-key has been renamed to global-set-key.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
868 undefine-key and local-undefine-key has been renamed to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
869 global-unset-key and local-unset-key.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
870
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
871 * Emacs now collects input from asynchronous subprocesses
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
872 while waiting in the functions sleep-for and sit-for.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
873
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
874 * Shell mode's Newline command attempts to distinguish subshell
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
875 prompts from user input when issued in the middle of the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
876 It no longer reexecutes from dot to the end of the line;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
877 it reeexecutes the entire line minus any prompt.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
878 The prompt is recognized by searching for the value of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
879 shell-prompt-pattern, starting from the beginning of the line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
880 Anything thus skipped is not reexecuted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
881
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
882 Changes in Emacs 1.3
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
883
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
884 * An undo facility exists now. Type C-x u to undo a batch of
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
885 changes (usually one command's changes, but some commands
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
886 such as query-replace divide their changes into multiple
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
887 batches. You can repeat C-x u to undo further. As long
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
888 as no commands other than C-x u intervene, each one undoes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
889 another batch. A numeric argument to C-x u acts as a repeat
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
890 count.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
891
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
892 If you keep on undoing, eventually you may be told that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
893 you have used up all the recorded undo information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
894 Some actions, such as reading in files, discard all
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
895 undo information.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
896
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
897 The undo information is not currently stored separately
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
898 for each buffer, so it is mainly good if you do something
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
899 totally spastic. [This has since been fixed.]
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
900
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
901 * A learn-by-doing tutorial introduction to Emacs now exists.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
902 Type C-h t to enter it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
903
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
904 * An Info documentation browser exists. Do M-x info to enter it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
905 It contains a tutorial introduction so that no more documentation
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
906 is needed here. As of now, the only documentation in it
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
907 is that of Info itself.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
908
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
909 * Help k and Help c are now different. Help c prints just the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
910 name of the function which the specified key invokes. Help k
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
911 prints the documentation of the function as well.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
912
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
913 * A document of the differences between GNU Emacs and Twenex Emacs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
914 now exists. It is called DIFF, in the same directory as this file.
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 * C mode can now indent comments better, including multi-line ones.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
917 Meta-Control-q now reindents comment lines within the expression
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
918 being aligned.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
919
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
920 * Insertion of a close-parenthesis now shows the matching open-parenthesis
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
921 even if it is off screen, by printing the text following it on its line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
922 in the minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
923
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
924 * A file can now contain a list of local variable values
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
925 to be in effect when the file is edited. See the file DIFF
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
926 in the same directory as this file for full details.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
927
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
928 * A function nth is defined. It means the same thing as in Common Lisp.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
929
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
930 * The function install-command has been renamed to set-key.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
931 It now takes the key sequence as the first argument
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
932 and the definition for it as the second argument.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
933 Likewise, local-install-command has been renamed to local-set-key.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
934
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
935 Changes in Emacs 1.2
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
936
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
937 * A Lisp single-stepping and debugging facility exists.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
938 To cause the debugger to be entered when an error
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
939 occurs, set the variable debug-on-error non-nil.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
940
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
941 To cause the debugger to be entered whenever function foo
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
942 is called, do (debug-on-entry 'foo). To cancel this,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
943 do (cancel-debug-on-entry 'foo). debug-on-entry does
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
944 not work for primitives (written in C), only functions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
945 written in Lisp. Most standard Emacs commands are in Lisp.
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 When the debugger is entered, the selected window shows
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
948 a buffer called " *Backtrace" which displays a series
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
949 of stack frames, most recently entered first. For each
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
950 frame, the function name called is shown, usually followed
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
951 by the argument values unless arguments are still being
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
952 calculated. At the beginning of the buffer is a description
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
953 of why the debugger was entered: function entry, function exit,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
954 error, or simply that the user called the function `debug'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
955
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
956 To exit the debugger and return to top level, type `q'.
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 In the debugger, you can evaluate Lisp expressions by
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
959 typing `e'. This is equivalent to `M-ESC'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
960
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
961 When the debugger is entered due to an error, that is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
962 all you can do. When it is entered due to function entry
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
963 (such as, requested by debug-on-entry), you have two
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
964 options:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
965 Continue execution and reenter debugger after the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
966 completion of the function being entered. Type `c'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
967 Continue execution but enter the debugger before
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
968 the next subexpression. Type `d'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
969
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
970 You will see that some stack frames are marked with *.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
971 This means the debugger will be entered when those
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
972 frames exit. You will see the value being returned
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
973 in the first line of the backtrace buffer. Your options:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
974 Continue execution, and return that value. Type `c'.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
975 Continue execution, and return a specified value. Type `r'.
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 You can mark a frame to enter the debugger on exit
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
978 with the `b' command, or clear such a mark with `u'.
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 * Lisp macros now exist.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
981 For example, you can write
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
982 (defmacro cadr (arg) (list 'car (list 'cdr arg)))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
983 and then the expression
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
984 (cadr foo)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
985 will expand into
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
986 (car (cdr foo))
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
987
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
988 Changes in Emacs 1.1
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
989
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
990 * The initial buffer is now called "scratch" and is in a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
991 new major mode, Lisp Interaction mode. This mode is
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
992 intended for typing Lisp expressions, evaluating them,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
993 and having the values printed into the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
994
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
995 Type Linefeed after a Lisp expression, to evaluate the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
996 expression and have its value printed into the buffer,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
997 advancing dot.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
998
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
999 The other commands of Lisp mode are available.
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 * The C-x C-e command for evaluating the Lisp expression
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1002 before dot has been changed to print the value in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1003 minibuffer line rather than insert it in the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1004 A numeric argument causes the printed value to appear
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1005 in the buffer instead.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1006
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1007 * In Lisp mode, the command M-C-x evaluates the defun
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1008 containing or following dot. The value is printed in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1009 the minibuffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1010
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1011 * The value of a Lisp expression evaluated using M-ESC
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1012 is now printed in the minibuffer.
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 * M-q now runs fill-paragraph, independent of major mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1015
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1016 * C-h m now prints documentation on the current buffer's
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1017 major mode. What it prints is the documentation of the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1018 major mode name as a function. All major modes have been
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1019 equipped with documentation that describes all commands
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1020 peculiar to the major mode, for this purpose.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1021
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1022 * You can display a Unix manual entry with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1023 the M-x manual-entry command.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1024
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1025 * You can run a shell, displaying its output in a buffer,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1026 with the M-x shell command. The Return key sends input
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1027 to the subshell. Output is printed inserted automatically
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1028 in the buffer. Commands C-c, C-d, C-u, C-w and C-z are redefined
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1029 for controlling the subshell and its subjobs.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1030 "cd", "pushd" and "popd" commands are recognized as you
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1031 enter them, so that the default directory of the Emacs buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1032 always remains the same as that of the subshell.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1033
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1034 * C-x $ (that's a real dollar sign) controls line-hiding based
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1035 on indentation. With a numeric arg N > 0, it causes all lines
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1036 indented by N or more columns to become invisible.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1037 They are, effectively, tacked onto the preceding line, where
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1038 they are represented by " ..." on the screen.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1039 (The end of the preceding visible line corresponds to a
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1040 screen cursor position before the "...". Anywhere in the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1041 invisible lines that follow appears on the screen as a cursor
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1042 position after the "...".)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1043 Currently, all editing commands treat invisible lines just
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1044 like visible ones, except for C-n and C-p, which have special
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1045 code to count visible lines only.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1046 C-x $ with no argument turns off this mode, which in any case
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1047 is remembered separately for each buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1048
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1049 * Outline mode is another form of selective display.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1050 It is a major mode invoked with M-x outline-mode.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1051 It is intended for editing files that are structured as
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1052 outlines, with heading lines (lines that begin with one
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1053 or more asterisks) and text lines (all other lines).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1054 The number of asterisks in a heading line are its level;
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1055 the subheadings of a heading line are all following heading
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1056 lines at higher levels, until but not including the next
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1057 heading line at the same or a lower level, regardless
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1058 of intervening text lines.
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 In outline mode, you have commands to hide (remove from display)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1061 or show the text or subheadings under each heading line
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1062 independently. Hidden text or subheadings are invisibly
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1063 attached to the end of the preceding heading line, so that
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1064 if you kill the hading line and yank it back elsewhere
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1065 all the invisible lines accompany it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1066
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1067 All editing commands treat hidden outline-mode lines
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1068 as part of the preceding visible line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1069
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1070 * C-x C-z runs save-buffers-kill-emacs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1071 offers to save each file buffer, then exits.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1072
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1073 * C-c's function is now called suspend-emacs.
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 * The command C-x m runs mail, which switches to a buffer *mail*
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1076 and lets you compose a message to send. C-x 4 m runs mail in
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1077 another window. Type C-z C-s in the mail buffer to send the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1078 message according to what you have entered in the buffer.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1079
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1080 You must separate the headers from the message text with
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1081 an empty line.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1082
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1083 * You can now dired partial directories (specified with names
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1084 containing *'s, etc, all processed by the shell). Also, you
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1085 can dired more than one directory; dired names the buffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1086 according to the filespec or directory name. Reinvoking
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1087 dired on a directory already direded just switches back to
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1088 the same directory used last time; do M-x revert if you want
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1089 to read in the current contents of the directory.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1090
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1091 C-x d runs dired, and C-x 4 d runs dired in another window.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1092
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1093 C-x C-d (list-directory) also allows partial directories now.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1094
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1095 Lisp programming changes
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1096
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1097 * t as an output stream now means "print to the minibuffer".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1098 If there is already text in the minibuffer printed via t
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1099 as an output stream, the new text is appended to the old
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1100 (or is truncated and lost at the margin). If the minibuffer
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1101 contains text put there for some other reason, it is cleared
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1102 first.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1103
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1104 t is now the top-level value of standard-output.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1105
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1106 t as an input stream now means "read via the minibuffer".
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1107 The minibuffer is used to read a line of input, with editing,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1108 and this line is then parsed. Any excess not used by `read'
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1109 is ignored; each `read' from t reads fresh input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1110 t is now the top-level value of standard-input.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1111
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1112 * A marker may be used as an input stream or an output stream.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1113 The effect is to grab input from where the marker points,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1114 advancing it over the characters read, or to insert output
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1115 at the marker and advance it.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1116
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1117 * Output from an asynchronous subprocess is now inserted at
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1118 the end of the associated buffer, not at the buffer's dot,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1119 and the buffer's mark is set to the end of the inserted output
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1120 each time output is inserted.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1121
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1122 * (pos-visible-in-window-p POS WINDOW)
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1123 returns t if position POS in WINDOW's buffer is in the range
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1124 that is being displayed in WINDOW; nil if it is scrolled
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1125 vertically out of visibility.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1126
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1127 If display in WINDOW is not currently up to date, this function
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1128 calculates carefully whether POS would appear if display were
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1129 done immediately based on the current (window-start WINDOW).
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 POS defaults to (dot), and WINDOW to (selected-window).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1132
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1133 * Variable buffer-alist replaced by function (buffer-list).
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1134 The actual alist of buffers used internally by Emacs is now
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1135 no longer accessible, to prevent the user from crashing Emacs
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1136 by modifying it. The function buffer-list returns a list
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1137 of all existing buffers. Modifying this list cannot hurt anything
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1138 as a new list is constructed by each call to buffer-list.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1139
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1140 * load now takes an optional third argument NOMSG which, if non-nil,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1141 prevents load from printing a message when it starts and when
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1142 it is done.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1143
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1144 * byte-recompile-directory is a new function which finds all
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1145 the .elc files in a directory, and regenerates each one which
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1146 is older than the corresponding .el (Lisp source) file.
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 ----------------------------------------------------------------------
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1149 Copyright information:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1150
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1151 Copyright (C) 1985 Richard M. Stallman
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1152
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1153 Permission is granted to anyone to make or distribute verbatim copies
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1154 of this document as received, in any medium, provided that the
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1155 copyright notice and this permission notice are preserved,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1156 thus giving the recipient permission to redistribute in turn.
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 Permission is granted to distribute modified versions
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1159 of this document, or of portions of it,
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1160 under the above conditions, provided also that they
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1161 carry prominent notices stating who last changed them.
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1162
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1163 Local variables:
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1164 mode: text
a473fce1ed3a *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1165 end: