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