annotate etc/ONEWS.1 @ 40453:bf8760ceda7c

*** empty log message ***
author Pavel Janík <Pavel@Janik.cz>
date Mon, 29 Oct 2001 17:53:18 +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: