Annotation of 43BSD/contrib/emacs/etc/NEWS, revision 1.1

1.1     ! root        1: GNU Emacs NEWS -- history of user-visible changes.  26-Mar-1986
        !             2: Copyright (C) 1986 Richard M. Stallman.
        !             3: See the end for copying conditions.
        !             4: 
        !             5: Changes in Emacs 17
        !             6: 
        !             7: * Frustrated?
        !             8: 
        !             9: Try M-x doctor.
        !            10: 
        !            11: * Bored?
        !            12: 
        !            13: Try M-x hanoi.
        !            14: 
        !            15: * Brain-damaged?
        !            16: 
        !            17: Try M-x yow.
        !            18: 
        !            19: * Sun3, Tahoe, Apollo, HP9000s300, Celerity, NCR Tower 32,
        !            20:   Sequent, Stride, Encore, Plexus and AT&T 7300 machines supported.
        !            21: 
        !            22: The Tahoe, Sun3, Sequent and Celerity use 4.2.  In regard to the
        !            23: Apollo, see the file APOLLO in this directory.  NCR Tower32,
        !            24: HP9000s300, Stride and Nu run forms of System V.  System V rel 2 also
        !            25: works on Vaxes now.  See etc/MACHINES.
        !            26: 
        !            27: * System V Unix supported, including subprocesses.
        !            28: 
        !            29: It should be possible now to bring up Emacs on a machine running
        !            30: mere unameliorated system V Unix with no major work; just possible bug
        !            31: fixes.  But you can expect to find a handful of those on any machine
        !            32: that Emacs has not been run on before.
        !            33: 
        !            34: * Berkeley 4.1 Unix supported.
        !            35: 
        !            36: See etc/MACHINES.
        !            37: 
        !            38: * Portable `alloca' provided.
        !            39: 
        !            40: Emacs can now run on machines that do not and cannot support the library
        !            41: subroutine `alloca' in the canonical fashion, using an `alloca' emulation
        !            42: written in C.
        !            43: 
        !            44: * On-line manual.
        !            45: 
        !            46: Info now contains an Emacs manual, with essentially the same text
        !            47: as in the printed manual.
        !            48: 
        !            49: The manual can now be printed with a standard TeX.
        !            50: 
        !            51: Nicely typeset and printed copies of the manual are available
        !            52: from the Free Software Foundation.
        !            53: 
        !            54: * Backup file version numbers.
        !            55: 
        !            56: Emacs now supports version numbers in backup files.
        !            57: 
        !            58: The first time you save a particular file in one editing session,
        !            59: the old file is copied or renamed to serve as a backup file.
        !            60: In the past, the name for the backup file was made by appending `~'
        !            61: to the end of the original file name.
        !            62: 
        !            63: Now the backup file name can instead be made by appending ".~NN~" to
        !            64: the original file name, where NN stands for a numeric version.  Each
        !            65: time this is done, the new version number is one higher than the
        !            66: highest previously used.
        !            67: 
        !            68: Thus, the active, current file does not have a version number.
        !            69: Only the backups have them.
        !            70: 
        !            71: This feature is controlled by the variable `version-control'.  If it
        !            72: is `nil', as normally, then numbered backups are made only for files
        !            73: that already have numbered backups.  Backup names with just `~' are
        !            74: used for files that have no numbered backups.
        !            75: 
        !            76: If `version-control' is `never', then the backup file's name is
        !            77: made with just `~' in any case.
        !            78: 
        !            79: If `version-control' is not `nil' or `never', numbered backups are
        !            80: made unconditionally.
        !            81: 
        !            82: To prevent unlimited consumption of disk space, Emacs can delete
        !            83: old backup versions automatically.  Generally Emacs keeps the first
        !            84: few backups and the latest few backups, deleting any in between.
        !            85: This happens every time a new backup is made.  The two variables that
        !            86: control the deletion are `kept-old-versions' and `kept-new-versions'.
        !            87: Their values are, respectively, the number of oldest backups to keep
        !            88: and the number of newest ones to keep, each time a new backup is made.
        !            89: The value of `kept-new-versions' includes the backup just created.
        !            90: By default, both values are 2.
        !            91: 
        !            92: If `trim-versions-without-asking' is non-`nil', the excess middle versions
        !            93: are deleted without a murmur.  If it is `nil', the default, then you
        !            94: are asked whether the excess middle versions should really be deleted.
        !            95: 
        !            96: Dired has a new command `.' which marks for deletion all but the latest
        !            97: and oldest few of every numeric series of backups.  `kept-old-versions'
        !            98: controls the number of oldest versions to keep, and `dired-kept-versions'
        !            99: controls the number of latest versions to keep.  A numeric argument to
        !           100: the `.' command, if positive, specifies the number of latest versions
        !           101: to keep, overriding `dired-kept-versions'.  A negative argument specifies
        !           102: the number of oldest versions to keep, using minus the argument to override
        !           103: `kept-old-versions'.
        !           104: 
        !           105: * Immediate conflict detection.
        !           106: 
        !           107: Emacs now locks the files it is modifying, so that if
        !           108: you start to modify within Emacs a file that is being
        !           109: modified in another Emacs, you get an immediate warning.
        !           110: 
        !           111: The warning gives you three choices:
        !           112: 1. Give up, and do not make any changes.
        !           113: 2. Make changes anyway at your own risk.
        !           114: 3. Make changes anyway, and record yourself as
        !           115:  the person locking the file (instead of whoever
        !           116:  was previously recorded.)
        !           117: 
        !           118: Just visiting a file does not lock it.  It is locked
        !           119: when you try to change the buffer that is visiting the file.
        !           120: Saving the file unlocks it until you make another change.
        !           121: 
        !           122: Locking is done by writing a lock file in a special designated
        !           123: directory.  If such a directory is not provided and told to
        !           124: Emacs as part of configuring it for your machine, the lock feature
        !           125: is turned off.
        !           126: 
        !           127: * M-x recover-file.
        !           128: 
        !           129: This command is used to get a file back from an auto-save
        !           130: (after a system crash, for example).  It takes a file name
        !           131: as argument and visits that file, but gets the data from the
        !           132: file's last auto save rather than from the file itself.
        !           133: 
        !           134: * M-x normal-mode.
        !           135: 
        !           136: This command resets the current buffer's major mode and local
        !           137: variables to be as specified by the visit filename, the -*- line
        !           138: and/or the Local Variables: block at the end of the buffer.
        !           139: It is the same thing normally done when a file is first visited.
        !           140: 
        !           141: * Echo area messages disappear shortly if minibuffer is in use.
        !           142: 
        !           143: Any message in the echo area disappears after 2 seconds
        !           144: if the minibuffer is active.  This allows the minibuffer
        !           145: to become visible again.
        !           146: 
        !           147: * C-z on System V runs a subshell.
        !           148: 
        !           149: On systems which do not allow programs to be suspended, the C-z command
        !           150: forks a subshell that talks directly to the terminal, and then waits
        !           151: for the subshell to exit.  This gets almost the effect of suspending
        !           152: in that you can run other programs and then return to Emacs.  However,
        !           153: you cannot log out from the subshell.
        !           154: 
        !           155: * C-c is always a prefix character.
        !           156: 
        !           157: Also, subcommands of C-c which are letters are always
        !           158: reserved for the user.  No standard Emacs major mode
        !           159: defines any of them.
        !           160: 
        !           161: * Picture mode C-c commands changed.
        !           162: 
        !           163: The old C-c k command is now C-c C-w.
        !           164: The old C-c y command is now C-c C-x.
        !           165: 
        !           166: * Shell mode commands changed.
        !           167: 
        !           168: All the special commands of Shell mode are now moved onto
        !           169: the C-c prefix.  Most are not changed aside from that.
        !           170: Thus, the old Shell mode C-c command (kill current job)
        !           171: is now C-c C-c; the old C-z (suspend current job) is now C-c C-z,
        !           172: etc.
        !           173: 
        !           174: The old C-x commands are now C-c commands.  C-x C-k (kill output)
        !           175: is now C-c C-o, and C-x C-v (show output) is now C-c C-r.
        !           176: 
        !           177: The old M-= (copy previous input) command is now C-c C-y.
        !           178: 
        !           179: * Shell mode recognizes aliases for `pushd', `popd' and `cd'.
        !           180: 
        !           181: Shell mode now uses the variable `shell-pushd-regexp' as a
        !           182: regular expression to recognize any command name that is
        !           183: equivalent to a `pushd' command.  By default it is set up
        !           184: to recognize just `pushd' itself.  If you use aliases for
        !           185: `pushd', change the regexp to recognize them as well.
        !           186: 
        !           187: There are also `shell-popd-regexp' to recognize commands
        !           188: with the effect of a `popd', and `shell-cd-regexp' to recognize
        !           189: commands with the effect of a `cd'.
        !           190: 
        !           191: * "Exit" command in certain modes now C-c C-c.
        !           192: 
        !           193: These include electric buffer menu mode, electric command history
        !           194: mode, Info node edit mode, and Rmail edit mode.  In all these
        !           195: modes, the command to exit used to be just C-c.
        !           196: 
        !           197: * Outline mode changes.
        !           198: 
        !           199: Lines that are not heading lines are now called "body" lines.
        !           200: The command `hide-text' is renamed to `hide-body'.
        !           201: The key M-H is renamed to C-c C-h.
        !           202: The key M-S is renamed to C-c C-s.
        !           203: The key M-s is renamed to C-c C-i.
        !           204: 
        !           205: Changes of line visibility are no longer undoable.  As a result,
        !           206: they no longer use up undo memory and no longer interfere with
        !           207: undoing earlier commands.
        !           208: 
        !           209: * Rmail changes.
        !           210: 
        !           211: The s and q commands now both expunge deleted messages before saving;
        !           212: use C-x C-s to save without expunging.
        !           213: 
        !           214: The u command now undeletes the current message if it is deleted;
        !           215: otherwise, it backs up as far as necessary to reach a deleted message,
        !           216: and undeletes that one.  The u command in the summary behaves likewise,
        !           217: but considers only messages listed in the summary.  The M-u command
        !           218: has been eliminated.
        !           219: 
        !           220: The o and C-o keys' meanings are interchanged.
        !           221: o now outputs to an Rmail file, and C-o to a Unix mail file.
        !           222: 
        !           223: The F command (rmail-find) is renamed to M-s (rmail-search).
        !           224: Various new commands and features exist; see the Emacs manual.
        !           225: 
        !           226: * Local bindings described first in describe-bindings.
        !           227: 
        !           228: * [...], {...} now balance in Fundamental mode.
        !           229: 
        !           230: * Nroff mode and TeX mode.
        !           231: 
        !           232: The are two new major modes for editing nroff input and TeX input.
        !           233: See the Emacs manual for full information.
        !           234: 
        !           235: * New C indentation style variable `c-brace-imaginary-offset'.
        !           236: 
        !           237: The value of `c-brace-imaginary-offset', normally zero, controls the
        !           238: indentation of a statement inside a brace-group where the open-brace
        !           239: is not the first thing on a line.  The value says where the open-brace
        !           240: is imagined to be, relative to the first nonblank character on the line.
        !           241: 
        !           242: * Dired improvements.
        !           243: 
        !           244: Dired now normally keeps the cursor at the beginning of the file name,
        !           245: not at the beginning of the line.  The most used motion commands are
        !           246: redefined in Dired to position the cursor this way.
        !           247: 
        !           248: `n' and `p' are now equivalent in dired to `C-n' and `C-p'.
        !           249: 
        !           250: If any files to be deleted cannot be deleted, their names are
        !           251: printed in an error message.
        !           252: 
        !           253: If the `v' command is invoked on a file which is a directory,
        !           254: dired is run on that directory.
        !           255: 
        !           256: * `visit-tag-table' renamed `visit-tags-table'.
        !           257: 
        !           258: This is so apropos of `tags' finds everything you need to
        !           259: know about in connection with Tags.
        !           260: 
        !           261: * `mh-e' library uses C-c as prefix.
        !           262: 
        !           263: All the special commands of `mh-rmail' now are placed on a
        !           264: C-c prefix rather than on the C-x prefix.  This is for
        !           265: consistency with other special modes with their own commands.
        !           266: 
        !           267: * M-$ or `spell-word' checks word before point.
        !           268: 
        !           269: It used to check the word after point.
        !           270: 
        !           271: * Quitting during autoloading no longer causes trouble.
        !           272: 
        !           273: Now, when a file is autoloaded, all function redefinitions
        !           274: and `provide' calls are recorded and are undone if you quit
        !           275: before the file is finished loading.
        !           276: 
        !           277: As a result, it no longer happens that some of the entry points
        !           278: which are normally autoloading have been defined already, but the
        !           279: entire file is not really present to support them.
        !           280: 
        !           281: * `else' can now be indented correctly in C mode.
        !           282: 
        !           283: TAB in C mode now knows which `if' statement an `else' matches
        !           284: up with, and can indent the `else' correctly under the `if',
        !           285: even if the `if' contained such things as another `if' statement,
        !           286: or a `while' or `for' statement, with no braces around it.
        !           287: 
        !           288: * `batch-byte-compile'
        !           289: 
        !           290: Runs byte-compile-file on the files specified on the command line.
        !           291: All the rest of the command line arguments are taken as files to
        !           292: compile (or, if directories, to do byte-recompile-directory on).
        !           293: Must be used only with -batch, and kills emacs on completion.
        !           294: Each file will be processed even if an error occurred previously.
        !           295: For example, invoke `emacs -batch -f batch-byte-compile *.el'.
        !           296: 
        !           297: * `-batch' changes.
        !           298: 
        !           299: `-batch' now implies `-q': no init file is loaded by Emacs when
        !           300: `-batch' is used.  Also, no `term/TERMTYPE.el' file is loaded.  Auto
        !           301: saving is not done except in buffers in which it is explicitly
        !           302: requested.  Also, many echo-area printouts describing what is going on
        !           303: are inhibited in batch mode, so that the only output you get is the
        !           304: output you program specifically.
        !           305: 
        !           306: One echo-area message that is not suppressed is the one that says
        !           307: that a file is being loaded.  That is because you can prevent this
        !           308: message by passing `t' as the third argument to `load'.
        !           309: 
        !           310: * Display of search string in incremental search.
        !           311: 
        !           312: Now, when you type C-s or C-r to reuse the previous search
        !           313: string, that search string is displayed immediately in the echo area.
        !           314: 
        !           315: Three dots are displayed after the search string while search
        !           316: is actually going on.
        !           317: 
        !           318: * View commands.
        !           319: 
        !           320: The commands C-x ], C-x [, C-x /, C-x j and C-x o are now
        !           321: available inside `view-buffer' and `view-file', with their
        !           322: normal meanings.
        !           323: 
        !           324: * Full-width windows preferred.
        !           325: 
        !           326: The ``other-window'' commands prefer other full width windows,
        !           327: and will split only full width windows.
        !           328: 
        !           329: * M-x rename-file can copy if necessary.
        !           330: 
        !           331: When used between different file systems, since actual renaming does
        !           332: not work, the old file will be copied and deleted.
        !           333: 
        !           334: * Within C-x ESC, you can pick the command to repeat.
        !           335: 
        !           336: While editing a previous command to be repeated, inside C-x ESC,
        !           337: you can now use the commands M-p and M-n to pick an earlier or
        !           338: later command to repeat.  M-n picks the next earlier command
        !           339: and M-p picks the next later one.  The new command appears in
        !           340: the minibuffer, and you can go ahead and edit it, and repeat it
        !           341: when you exit the minibuffer.
        !           342: 
        !           343: Using M-n or M-p within C-x ESC is like having used a different
        !           344: numeric argument when you ran C-x ESC in the first place.
        !           345: 
        !           346: The command you finally execute using C-x ESC is added to the
        !           347: front of the command history, unless it is identical with the
        !           348: first thing in the command history.
        !           349: 
        !           350: * Use C-c C-c to exit from editing within Info.
        !           351: 
        !           352: It used to be C-z for this.  Somehow this use of C-z was
        !           353: left out when all the others were moved.  The intention is that
        !           354: C-z should always suspend Emacs.
        !           355: 
        !           356: * Default arg to C-x < and C-x > now window width minus 2.
        !           357: 
        !           358: These commands, which scroll the current window horizontally
        !           359: by a specified number of columns, now scroll a considerable
        !           360: distance rather than a single column if used with no argument.
        !           361: 
        !           362: * Auto Save Files Deleted.
        !           363: 
        !           364: The default value of `delete-auto-save-files' is now `t', so that
        !           365: when you save a file for real, its auto save file is deleted.
        !           366: 
        !           367: * Rnews changes.
        !           368: 
        !           369: The N, P and J keys in Rnews are renamed to M-n, M-p and M-j.
        !           370: These keys move among newsgroups.
        !           371: 
        !           372: The n and p keys for moving sequentially between news articles now
        !           373: accept repeat count arguments, and the + and - keys, made redundant by
        !           374: this change, are eliminated.
        !           375: 
        !           376: The s command for outputting the current article to a file
        !           377: is renamed as o, to be compatible with Rmail.
        !           378: 
        !           379: * Sendmail changes.
        !           380: 
        !           381: If you have a ~/.mailrc file, Emacs searches it for mailing address
        !           382: aliases, and these aliases are expanded when you send mail in Emacs.
        !           383: 
        !           384: Fcc fields can now be used in the headers in the *mail* buffer
        !           385: to specify files in which copies of the message should be put.
        !           386: The message is written into those files in Unix mail file format.
        !           387: The message as sent does not contain any Fcc fields in its header.
        !           388: You can use any number of Fcc fields, but only one file name in each one.
        !           389: The variable `mail-archive-file-name', if non-`nil', can be a string
        !           390: which is a file name; an Fcc to that file will be inserted in every
        !           391: message when you begin to compose it.
        !           392: 
        !           393: A new command C-c q now exists in Mail mode.  It fills the
        !           394: paragraphs of an old message that had been inserted with C-c y.
        !           395: 
        !           396: When the *mail* buffer is put in Mail mode, text-mode-hook
        !           397: is now run in addition to mail-mode-hook.  text-mode-hook
        !           398: is run first.
        !           399: 
        !           400: The new variable `mail-header-separator' now specifies the string
        !           401: to use on the line that goes between the headers and the message text.
        !           402: By default it is still "--text follows this line--".
        !           403: 
        !           404: * Command history truncated automatically.
        !           405: 
        !           406: Just before each garbage collection, all but the last 30 elements
        !           407: of the command history are discarded.
        !           408: 
        !           409: Incompatible Lisp Programming Changes in Emacs 17
        !           410: 
        !           411: * `&quote' no longer supported.
        !           412: 
        !           413: This feature, which allowed Lisp functions to take arguments
        !           414: that were not evaluated, has been eliminated, because it is
        !           415: inescapably hard to make the compiler work properly with such
        !           416: functions.
        !           417: 
        !           418: You should use macros instead.  A simple way to change any
        !           419: code that uses `&quote' is to replace
        !           420: 
        !           421:    (defun foo (&quote x y z) ...
        !           422: 
        !           423: with
        !           424: 
        !           425:    (defmacro foo (x y z)
        !           426:      (list 'foo-1 (list 'quote x) (list 'quote y) (list 'quote z)))
        !           427: 
        !           428:    (defun foo-1 (x y z) ...
        !           429: 
        !           430: * Functions `region-to-string' and `region-around-match' removed.
        !           431: 
        !           432: These functions were made for compatibility with Gosling Emacs, but it
        !           433: turns out to be undesirable to use them in GNU Emacs because they use
        !           434: the mark.  They have been eliminated from Emacs proper, but are
        !           435: present in mlsupport.el for the sake of converted mocklisp programs.
        !           436: 
        !           437: If you were using `region-to-string', you should instead use
        !           438: `buffer-substring'; then you can pass the bounds as arguments and
        !           439: can avoid setting the mark.
        !           440: 
        !           441: If you were using `region-around-match', you can use instead
        !           442: the two functions `match-beginning' and `match-end'.  These give
        !           443: you one bound at a time, as a numeric value, without changing
        !           444: point or the mark.
        !           445: 
        !           446: * Function `function-type' removed.
        !           447: 
        !           448: This just appeared not to be very useful.  It can easily be written in
        !           449: Lisp if you happen to want it.  Just use `symbol-function' to get the
        !           450: function definition of a symbol, and look at its data type or its car
        !           451: if it is a list.
        !           452: 
        !           453: * Variable `buffer-number' removed.
        !           454: 
        !           455: You can still use the function `buffer-number' to find out
        !           456: a buffer's unique number (assigned in order of creation).
        !           457: 
        !           458: * Variable `executing-macro' renamed `executing-kbd-macro'.
        !           459: 
        !           460: This variable is the currently executing keyboard macro, as
        !           461: a string, or `nil' when no keyboard macro is being executed.
        !           462: 
        !           463: * Loading term/$TERM.
        !           464: 
        !           465: The library term/$TERM (where $TERM get replaced by your terminal
        !           466: type), which is done by Emacs automatically when it starts up, now
        !           467: happens after the user's .emacs file is loaded.
        !           468: 
        !           469: In previous versions of Emacs, these files had names of the form
        !           470: term-$TERM; thus, for example, term-vt100.el, but now they live
        !           471: in a special subdirectory named term, and have names like
        !           472: term/vt100.el.
        !           473: 
        !           474: * `command-history' format changed.
        !           475: 
        !           476: The elements of this list are now Lisp expressions which can
        !           477: be evaluated directly to repeat a command.
        !           478: 
        !           479: * Unused editing commands removed.
        !           480: 
        !           481: The functions `forward-to-word', `backward-to-word',
        !           482: `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer'
        !           483: have been removed.  Their definitions can be found in file 
        !           484: lisp/unused.el if you need them.
        !           485: 
        !           486: Upward Compatible Lisp Programming Changes in Emacs 17
        !           487: 
        !           488: * You can now continue after errors and quits.
        !           489: 
        !           490: When the debugger is entered because of a C-g, due to
        !           491: a non-`nil' value of `debug-on-quit', the `c' command in the debugger
        !           492: resumes execution of the code that was running when the quit happened.
        !           493: Use the `q' command to go ahead and quit.
        !           494: 
        !           495: The same applies to some kinds of errors, but not all.  Errors
        !           496: signaled with the Lisp function `signal' can be continued; the `c'
        !           497: command causes `signal' to return.  The `r' command causes `signal' to
        !           498: return the value you specify.  The `c' command is equivalent to `r'
        !           499: with the value `nil'.
        !           500: 
        !           501: For a `wrong-type-argument' error, the value returned with the `r'
        !           502: command is used in place of the invalid argument.  If this new value
        !           503: is not valid, another error occurs.
        !           504: 
        !           505: Errors signaled with the function `error' cannot be continued.
        !           506: If you try to continue, the error just happens again.
        !           507: 
        !           508: * `dot' renamed `point'.
        !           509: 
        !           510: The word `dot' has been replaced with `point' in all
        !           511: function and variable names, including:
        !           512: 
        !           513:   point, point-min, point-max,
        !           514:   point-marker, point-min-marker, point-max-marker,
        !           515:   window-point, set-window-point,
        !           516:   point-to-register, register-to-point,
        !           517:   exchange-point-and-mark.
        !           518: 
        !           519: The old names are still supported, for now.
        !           520: 
        !           521: * `string-match' records position of end of match.
        !           522: 
        !           523: After a successful call to `string-match', `(match-end 0)' will
        !           524: return the index in the string of the first character after the match.
        !           525: Also, `match-begin' and `match-end' with nonzero arguments can be
        !           526: used to find the indices of beginnings and ends of substrings matched
        !           527: by subpatterns surrounded by parentheses.
        !           528: 
        !           529: * New function `insert-before-markers'.
        !           530: 
        !           531: This function is just like `insert' except in the handling of any
        !           532: relocatable markers that are located at the point of insertion.
        !           533: With `insert', such markers end up pointing before the inserted text.
        !           534: With `insert-before-markers', they end up pointing after the inserted
        !           535: text.
        !           536: 
        !           537: * New function `copy-alist'.
        !           538: 
        !           539: This function takes one argument, a list, and makes a disjoint copy
        !           540: of the alist structure.  The list itself is copied, and each element
        !           541: that is a cons cell is copied, but the cars and cdrs of elements
        !           542: remain shared with the original argument.
        !           543: 
        !           544: This is what it takes to get two alists disjoint enough that changes
        !           545: in one do not change the result of `assq' on the other.
        !           546: 
        !           547: * New function `copy-keymap'.
        !           548: 
        !           549: This function takes a keymap as argument and returns a new keymap
        !           550: containing initially the same bindings.  Rebindings in either one of
        !           551: them will not alter the bindings in the other.
        !           552: 
        !           553: * New function `copy-syntax-table'.
        !           554: 
        !           555: This function takes a syntax table as argument and returns a new
        !           556: syntax table containing initially the same syntax settings.  Changes
        !           557: in either one of them will not alter the other.
        !           558: 
        !           559: * Randomizing the random numbers.
        !           560: 
        !           561: `(random t)' causes the random number generator's seed to be set
        !           562: based on the current time and Emacs's process id.
        !           563: 
        !           564: * Third argument to `modify-syntax-entry'.
        !           565: 
        !           566: The optional third argument to `modify-syntax-entry', if specified
        !           567: should be a syntax table.  The modification is made in that syntax table
        !           568: rather than in the current syntax table.
        !           569: 
        !           570: * New function `run-hooks'.
        !           571: 
        !           572: This function takes any number of symbols as arguments.
        !           573: It processes the symbols in order.  For each symbol which
        !           574: has a value (as a variable) that is non-nil, the value is
        !           575: called as a function, with no arguments.
        !           576: 
        !           577: This is useful in major mode commands.
        !           578: 
        !           579: * Second arg to `switch-to-buffer'.
        !           580: 
        !           581: If this function is given a non-`nil' second argument, then the
        !           582: selection being done is not recorded on the selection history.
        !           583: The buffer's position in the history remains unchanged.  This
        !           584: feature is used by the view commands, so that the selection history
        !           585: after exiting from viewing is the same as it was before.
        !           586: 
        !           587: * Second arg to `display-buffer' and `pop-to-buffer'.
        !           588: 
        !           589: These two functions both accept an optional second argument which
        !           590: defaults to `nil'.  If the argument is not `nil', it means that
        !           591: another window (not the selected one) must be found or created to
        !           592: display the specified buffer in, even if it is already shown in
        !           593: the selected window.
        !           594: 
        !           595: This feature is used by `switch-to-buffer-other-window'.
        !           596: 
        !           597: * New variable `completion-ignore-case'.
        !           598: 
        !           599: If this variable is non-`nil', completion allows strings
        !           600: in different cases to be considered matching.  The global value
        !           601: is `nil'
        !           602: 
        !           603: This variable exists for the sake of commands that are completing
        !           604: an argument in which case is not significant.  It is possible
        !           605: to change the value globally, but you might not like the consequences
        !           606: in the many situations (buffer names, command names, file names)
        !           607: where case makes a difference.
        !           608: 
        !           609: * Major modes related to Text mode call text-mode-hook, then their own hooks.
        !           610: 
        !           611: For example, turning on Outline mode first calls the value of
        !           612: `text-mode-hook' as a function, if it exists and is non-`nil',
        !           613: and then does likewise for the variable `outline-mode-hook'.
        !           614: 
        !           615: * Defining new command line switches.
        !           616: 
        !           617: You can define a new command line switch in your .emacs file
        !           618: by putting elements on the value of `command-switch-alist'.
        !           619: Each element of this list should look like
        !           620:       (SWITCHSTRING . FUNCTION)
        !           621: where SWITCHSTRING is a string containing the switch to be
        !           622: defined, such as "-foo", and FUNCTION is a function to be called
        !           623: if such an argument is found in the command line.  FUNCTION
        !           624: receives the command line argument, a string, as its argument.
        !           625: 
        !           626: To implement a switch that uses up one or more following arguments,
        !           627: use the fact that the remaining command line arguments are kept
        !           628: as a list in the variable `command-line-args'.  FUNCTION can
        !           629: examine this variable, and do
        !           630:     (setq command-line-args (cdr command-line-args)
        !           631: to "use up" an argument.
        !           632: 
        !           633: * New variable `load-in-progress'.
        !           634: 
        !           635: This variable is non-`nil' when a file of Lisp code is being read
        !           636: and executed by `load'.
        !           637: 
        !           638: * New variable `print-length'.
        !           639: 
        !           640: The value of this variable is normally `nil'.  It may instead be
        !           641: a number; in that case, when a list is printed by `prin1' or
        !           642: `princ' only that many initial elements are printed; the rest are
        !           643: replaced by `...'.
        !           644: 
        !           645: * New variable `find-file-not-found-hook'.
        !           646: 
        !           647: If `find-file' or any of its variants is used on a nonexistent file,
        !           648: the value of `find-file-not-found-hook' is called (if it is not `nil')
        !           649: with no arguments, after creating an empty buffer.  The file's name
        !           650: can be found as the value of `buffer-file-name'.
        !           651: 
        !           652: * Processes without buffers.
        !           653: 
        !           654: In the function `start-process', you can now specify `nil' as
        !           655: the process's buffer.  You can also set a process's buffer to `nil'
        !           656: using `set-process-buffer'.
        !           657: 
        !           658: The reason you might want to do this is to prevent the process
        !           659: from being killed because any particular buffer is killed.
        !           660: When a process has a buffer, killing that buffer kills the
        !           661: process too.
        !           662: 
        !           663: When a process has no buffer, its output is lost unless it has a
        !           664: filter, and no indication of its being stopped or killed is given
        !           665: unless it has a sentinel.
        !           666: 
        !           667: * New function `user-variable-p'.  `v' arg prompting changed.
        !           668: 
        !           669: This function takes a symbol as argument and returns `t' if
        !           670: the symbol is defined as a user option variable.  This means
        !           671: that it has a `variable-documentation' property whose value is
        !           672: a string starting with `*'.
        !           673: 
        !           674: Code `v' in an interactive arg reading string now accepts
        !           675: user variables only, and completion is limited to the space of
        !           676: user variables.
        !           677: 
        !           678: The function `read-variable' also now accepts and completes
        !           679: over user variables only.
        !           680: 
        !           681: * CBREAK mode input is the default in Unix 4.3 bsd.
        !           682: 
        !           683: In Berkeley 4.3 Unix, there are sufficient features for Emacs to
        !           684: work fully correctly using CBREAK mode and not using SIGIO.
        !           685: Therefore, this mode is the default when running under 4.3.
        !           686: This mode corresponds to `nil' as the first argument to
        !           687: `set-input-mode'.  You can still select either mode by calling
        !           688: that function.
        !           689: 
        !           690: * Information on memory usage.
        !           691: 
        !           692: The new variable `data-bytes-used' contains the number
        !           693: of bytes of impure space allocated in Emacs.
        !           694: `data-bytes-free' contains the number of additional bytes
        !           695: Emacs could allocate.  Note that space formerly allocated
        !           696: and freed again still counts as `used', since it is still
        !           697: in Emacs's address space.
        !           698: 
        !           699: * No limit on size of output from `format'.
        !           700: 
        !           701: The string output from `format' used to be truncated to
        !           702: 100 characters in length.  Now it can have any length.
        !           703: 
        !           704: * New errors `void-variable' and `void-function' replace `void-symbol'.
        !           705: 
        !           706: This change makes it possible to have error messages that
        !           707: clearly distinguish undefined variables from undefined functions.
        !           708: It also allows `condition-case' to handle one case without the other.
        !           709: 
        !           710: * `replace-match' handling of `\'.
        !           711: 
        !           712: In `replace-match', when the replacement is not literal,
        !           713: `\' in the replacement string is always treated as an
        !           714: escape marker.  The only two special `\' constructs
        !           715: are `\&' and `\DIGIT', so `\' followed by anything other than
        !           716: `&' or a digit has no effect.  `\\' is necessary to include
        !           717: a `\' in the replacement text.
        !           718: 
        !           719: This level of escaping is comparable with what goes on in
        !           720: a regular expression.  It is over and above the level of `\'
        !           721: escaping that goes on when strings are read in Lisp syntax.
        !           722: 
        !           723: * New error `invalid-regexp'.
        !           724: 
        !           725: A regexp search signals this type of error if the argument does
        !           726: not meet the rules for regexp syntax.
        !           727: 
        !           728: * `kill-emacs' with argument.
        !           729: 
        !           730: If the argument is a number, it is returned as the exit status code
        !           731: of the Emacs process.  If the argument is a string, its contents
        !           732: are stuffed as pending terminal input, to be read by another program
        !           733: after Emacs is dead.
        !           734: 
        !           735: * New fifth argument to `subst-char-in-region'.
        !           736: 
        !           737: This argument is optional and defaults to `nil'.  If it is not `nil',
        !           738: then the substitutions made by this function are not recorded
        !           739: in the Undo mechanism.
        !           740: 
        !           741: This feature should be used with great care.  It is now used
        !           742: by Outline mode to make lines visible or invisible.
        !           743: 
        !           744: * ` *Backtrace*' buffer renamed to `*Backtrace*'.
        !           745: 
        !           746: As a result, you can now reselect this buffer easily if you switch to
        !           747: another while in the debugger.
        !           748: 
        !           749: Exiting from the debugger kills the `*Backtrace*' buffer, so you will
        !           750: not try to give commands in it when no longer really in the debugger.
        !           751: 
        !           752: * New function `switch-to-buffer-other-window'.
        !           753: 
        !           754: This is the new primitive to select a specified buffer (the
        !           755: argument)  in another window.  It is not quite the same as
        !           756: `pop-to-buffer', because it is guaranteed to create another
        !           757: window (assuming there is room on the screen) so that it can
        !           758: leave the current window's old buffer displayed as well.
        !           759: 
        !           760: All functions to select a buffer in another window should
        !           761: do so by calling this new function.
        !           762: 
        !           763: * New variable `minibuffer-help-form'.
        !           764: 
        !           765: At entry to the minibuffer, the variable `help-form' is bound
        !           766: to the value of `minibuffer-help-form'.
        !           767: 
        !           768: `help-form' is expected at all times to contain either `nil'
        !           769: or an expression to be executed when C-h is typed (overriding
        !           770: teh definition of C-h as a command).  `minibuffer-help-form'
        !           771: can be used to provide a different default way of handling
        !           772: C-h while in the minibuffer.
        !           773: 
        !           774: * New \{...} documentation construct.
        !           775: 
        !           776: It is now possible to set up the documentation string for
        !           777: a major mode in such a way that it always describes the contents
        !           778: of the major mode's keymap, as it has been customized.
        !           779: To do this, include in the documentation string the characters `\{'
        !           780: followed by the name of the variable containing the keymap,
        !           781: terminated with `}'.  (The `\' at the beginning probably needs to
        !           782: be quoted with a second `\', to include it in the doc string.)
        !           783: This construct is normally used on a line by itself, with no blank
        !           784: lines before or after.
        !           785: 
        !           786: For example, the documentation string for the function `c-mode' contains
        !           787:     ...
        !           788:     Paragraphs are separated by blank lines only.
        !           789:     Delete converts tabs to spaces as it moves back.
        !           790:     \\{c-mode-map}
        !           791:     Variables controlling indentation style:
        !           792:     ...
        !           793: 
        !           794: * New character syntax class "punctuation".
        !           795: 
        !           796: Punctuation characters behave like whitespace in word and
        !           797: list parsing, but can be distinguished in regexps and in the
        !           798: function `char-syntax'.  Punctuation syntax is represented by
        !           799: a period in `modify-syntax-entry'.
        !           800: 
        !           801: * `auto-mode-alist' no longer needs entries for backup-file names,
        !           802: 
        !           803: Backup suffixes of all kinds are now stripped from a file's name
        !           804: before searching `auto-mode-alist'.
        !           805: 
        !           806: Changes in Emacs 16
        !           807: 
        !           808: * No special code for Ambassadors, VT-100's and Concept-100's.
        !           809: 
        !           810: Emacs now controls these terminals based on the termcap entry, like
        !           811: all other terminals.  Formerly it did not refer to the termcap entries
        !           812: for those terminal types, and often the termcap entries for those
        !           813: terminals are wrong or inadequate.  If you experience worse behavior
        !           814: on these terminals than in version 15, you can probably correct it by
        !           815: fixing up the termcap entry.  See ./TERMS for more info.
        !           816: 
        !           817: See ./TERMS in any case if you find that some terminal does not work
        !           818: right with Emacs now.
        !           819: 
        !           820: * Minibuffer default completion character is TAB (and not ESC).
        !           821: 
        !           822: So that ESC can be used in minibuffer for more useful prefix commands.
        !           823: 
        !           824: * C-z suspends Emacs in all modes.
        !           825: 
        !           826: Formerly, C-z was redefined for other purposes by certain modes,
        !           827: such as Buffer Menu mode.  Now other keys are used for those purposes,
        !           828: to keep the meaning of C-z uniform.
        !           829: 
        !           830: * C-x ESC (repeat-complex-command) allows editing the command it repeats.
        !           831: 
        !           832: Instead of asking for confirmation to re-execute a command from the
        !           833: command history, the command is placed, in its Lisp form, into the
        !           834: minibuffer for editing.  You can confirm by typing RETURN, change some
        !           835: arguments and then confirm, or abort with C-g.
        !           836: 
        !           837: * Incremental search does less redisplay on slow terminals.
        !           838: 
        !           839: If the terminal baud rate is <= the value of `isearch-slow-speed',
        !           840: incremental searching outside the text on the screen creates
        !           841: a single-line window and uses that to display the line on which
        !           842: a match has been found.  Exiting or quitting the search restores
        !           843: the previous window configuration and redisplays the window you
        !           844: were searching in.
        !           845: 
        !           846: The initial value of `isearch-slow-speed' is 1200.
        !           847: 
        !           848: This feature is courtesy of crl@purdue.
        !           849: 
        !           850: * Recursive minibuffers not allowed.
        !           851: 
        !           852: If the minibuffer window is selected, most commands that would
        !           853: use the minibuffer gets an error instead.  (Specific commands
        !           854: may override this feature and therefore still be allowed.)
        !           855: 
        !           856: Strictly speaking, recursive entry to the minibuffer is still
        !           857: possible, because you can switch to another window after
        !           858: entering the minibuffer, and then minibuffer-using commands
        !           859: are allowed.  This is still allowed by a deliberate decision:
        !           860: if you know enough to switch windows while in the minibuffer,
        !           861: you can probably understand recursive minibuffers.
        !           862: 
        !           863: This may be overridden by binding the variable
        !           864: `enable-recursive-minibuffers' to t.
        !           865: 
        !           866: * New major mode Emacs-Lisp mode, for editing Lisp code to run in Emacs.
        !           867: 
        !           868: The mode in which emacs lisp files is edited is now called emacs-lisp-mode
        !           869: and is distinct from lisp-mode.  The latter is intended for use with
        !           870: lisps external to emacs.
        !           871: 
        !           872: The hook which is funcalled (if non-nil) on entry to elisp-mode is now
        !           873: called emacs-lisp-mode-hook.  A consequence of this changes is that
        !           874: .emacs init files which set the value of lisp-mode-hook may need to be
        !           875: changed to use the new names.
        !           876: 
        !           877: * Correct matching of parentheses is checked on insertion.
        !           878: 
        !           879: When you insert a close-paren, the matching open-paren
        !           880: is checked for validity.  The close paren must be the kind
        !           881: of close-paren that the open-paren says it should match.
        !           882: Otherwise, a warning message is printed.  close-paren immediately
        !           883: preceded by quoting backslash syntax character is not matched. 
        !           884: 
        !           885: This feature was originally written by shane@mit-ajax.
        !           886: 
        !           887: * M-x list-command-history
        !           888: * M-x command-history-mode
        !           889: * M-x electric-command-history
        !           890: 
        !           891: `list-command-history' displays forms from the command history subject
        !           892: to user controlled filtering and limit on number of forms.  It leaves
        !           893: the buffer in `command-history-mode'.  M-x command-history-mode
        !           894: recomputes the command history each time it is invoked via
        !           895: `list-command-history'.  It is like Emacs-Lisp mode except that characters
        !           896: don't insert themselves and provision is made for re-evaluating an
        !           897: expression from the list.  `electric-command-history' pops up a type
        !           898: out window with the command history displayed.  If the very next
        !           899: character is Space, the window goes away and the previous window
        !           900: configuration is restored.  Otherwise you can move around in the
        !           901: history and select an expression for evaluation *inside* the buffer
        !           902: which invoked `electric-command-history'.  The original window
        !           903: configuration is restored on exit unless the command selected changes
        !           904: it.
        !           905: 
        !           906: * M-x edit-picture
        !           907: 
        !           908: Enters a temporary major mode (the previous major mode is remembered
        !           909: and can is restored on exit) designed for editing pictures and tables.
        !           910: Printing characters replace rather than insert themselves with motion
        !           911: afterwards that is user controlled (you can specify any of the 8
        !           912: compass directions).  Special commands for movement are provided.
        !           913: Special commands for hacking tabs and tab stops are provided.  Special
        !           914: commands for killing rectangles and overlaying them are provided.  See
        !           915: the documentation of function  edit-picture  for more details.
        !           916: 
        !           917: Calls value of `edit-picture-hook' on entry if non-nil.
        !           918: 
        !           919: * Stupid C-s/C-q `flow control' supported.
        !           920: 
        !           921: Do (set-input-mode nil t) to tell Emacs to use CBREAK mode and interpret
        !           922: C-s and C-q as flow control commands.  (set-input-mode t nil) switches
        !           923: back to interrupt-driven input.  (set-input-mode nil nil) uses CBREAK
        !           924: mode but no `flow control'; this may make it easier to run Emacs under
        !           925: certain debuggers that have trouble dealing with inferiors that use SIGIO.
        !           926: 
        !           927: CBREAK mode has certain inherent disadvantages, which are why it is
        !           928: not the default:
        !           929: 
        !           930:      Meta-keys are ignored; CBREAK mode discards the 8th bit of
        !           931:      input characters.
        !           932: 
        !           933:      Control-G as keyboard input discards buffered output,
        !           934:      and therefore can cause incorrect screen updating.
        !           935: 
        !           936: The use of `flow control' has its own additional disadvantage: the
        !           937: characters C-s and C-q are not available as editing commands.  You can
        !           938: partially compensate for this by setting up a keyboard-translate-table
        !           939: (see file ONEWS) that maps two other characters (such as C-^ and C-\) into
        !           940: C-s and C-q.  Of course, C-^ and C-\ are commonly used as escape
        !           941: characters in remote-terminal programs.  You really can't win except
        !           942: by getting rid of this sort of `flow control.'
        !           943: 
        !           944: The configuration switch CBREAK_INPUT is now eliminated.
        !           945: INTERRUPT_INPUT exists only to specify the default mode of operation;
        !           946: #define it to make interrupt-driven input the default.
        !           947: 
        !           948: * Completion of directory names provides a slash.
        !           949: 
        !           950: If file name completion yields the name of a directory,
        !           951: a slash is appended to it.
        !           952: 
        !           953: * Undo can clear modified-flag.
        !           954: 
        !           955: If you undo changes in a buffer back to a state in which the
        !           956: buffer was not considered "modified", then it is labelled as
        !           957: once again "unmodified".
        !           958: 
        !           959: * M-x run-lisp.
        !           960: 
        !           961: This command creates an inferior Lisp process whose input and output
        !           962: appear in the Emacs buffer named `*lisp*'.  That buffer uses a major mode
        !           963: called inferior-lisp-mode, which has many of the commands of lisp-mode
        !           964: and those of shell-mode.   Calls the value of shell-mode-hook and
        !           965: lisp-mode-hook, in that order, if non-nil.
        !           966: 
        !           967: Meanwhile, in lisp-mode, the command C-M-x is defined to
        !           968: send the current defun as input to the `*lisp*' subprocess.
        !           969: 
        !           970: * Mode line says `Narrow' when buffer is clipped.
        !           971: 
        !           972: If a buffer has a clipping restriction (made by `narrow-to-region')
        !           973: then its mode line contains the word `Narrow' after the major and
        !           974: minor modes.
        !           975: 
        !           976: * Mode line says `Abbrev' when abbrev mode is on.
        !           977: 
        !           978: * add-change-log-entry takes prefix argument
        !           979: 
        !           980: Giving a prefix argument makes it prompt for login name, full name,
        !           981: and site name, with defaults.  Otherwise the defaults are used
        !           982: with no confirmation.
        !           983: 
        !           984: * M-x view-buffer and M-x view-file
        !           985: 
        !           986: view-buffer selects the named buffer, view-file finds the named file; the
        !           987: resulting buffer is placed into view-mode (a recursive edit).  The normal
        !           988: emacs commands are not available.  Instead a set of special commands is
        !           989: provided which faclitate moving around in the buffer, searching and
        !           990: scrolling by screenfuls.  Exiting view-mode returns to the buffer in which
        !           991: the view-file or view-buffer command was given.
        !           992: Type ? or h when viewing for a complete list of view commands.
        !           993: Each calls value of `view-hook' if non-nil on entry.
        !           994: 
        !           995: written by shane@mit-ajax.
        !           996: 
        !           997: * New key commands in dired.
        !           998: 
        !           999: `v' views (like more) the file on the current line.
        !          1000: `#' marks auto-save files for deletion.
        !          1001: `~' marks backup files for deletion.
        !          1002: `r' renames a file and updates the directory listing if the
        !          1003: file is renamed to same directory.
        !          1004: `c' copies a file and updates the directory listing if the file is
        !          1005: copied to the same directory.
        !          1006: 
        !          1007: * New function `electric-buffer-list'.
        !          1008: 
        !          1009: This pops up a buffer describing the set of emacs buffers.
        !          1010: Immediately typing space makes the buffer list go away and returns
        !          1011: to the buffer and window which were previously selected.
        !          1012: 
        !          1013: Otherwise one may use the c-p and c-n commands to move around in the
        !          1014: buffer-list buffer and type Space or C-z to select the buffer on the
        !          1015: cursor's line.  There are a number of other commands which are the same
        !          1016: as those of buffer-menu-mode.
        !          1017: 
        !          1018: This is a useful thing to bind to c-x c-b in your `.emacs' file if the
        !          1019: rather non-standard `electric' behaviour of the buffer list suits your taste.
        !          1020: Type C-h after invoking electric-buffer-list for more information.
        !          1021: 
        !          1022: Calls value of `electric-buffer-menu-mode-hook' if non-nil on entry.
        !          1023: Calls value of `after-electric-buffer-menu' on exit (select) if non-nil.
        !          1024: 
        !          1025: Changes in version 16 for mail reading and sending
        !          1026: 
        !          1027: * sendmail prefix character is C-c (and not C-z).  New command C-c w.
        !          1028: 
        !          1029: For instance C-c C-c (or C-c C-s) sends mail now rather than C-z C-z.
        !          1030: C-c w inserts your `signature' (contents of ~/.signature) at the end
        !          1031: of mail.
        !          1032: 
        !          1033: * New feature in C-c y command in sending mail.
        !          1034: 
        !          1035: C-c y is the command to insert the message being replied to.
        !          1036: Normally it deletes most header fields and indents everything
        !          1037: by three spaces.
        !          1038: 
        !          1039: Now, C-c y does not delete header fields or indent.
        !          1040: C-c y with any other numeric argument does delete most header
        !          1041: fields, but indents by the amount specified in the argument.
        !          1042: 
        !          1043: * C-r command in Rmail edits current message.
        !          1044: 
        !          1045: It does this by switching to a different major mode
        !          1046: which is nearly the same as Text mode.  The only difference
        !          1047: between it and text mode are the two command C-c and C-].
        !          1048: C-c is defined to switch back to Rmail mode, and C-]
        !          1049: is defined to restore the original contents of the message
        !          1050: and then switch back to Rmail mode.
        !          1051: 
        !          1052: C-c and C-] are the only ways "back into Rmail", but you
        !          1053: can switch to other buffers and edit them as usual.
        !          1054: C-r in Rmail changes only the handling of the Rmail buffer.
        !          1055: 
        !          1056: * Rmail command `t' toggles header display.
        !          1057: 
        !          1058: Normally Rmail reformats messages to hide most header fields.
        !          1059: `t' switches to display of all the header fields of the
        !          1060: current message, as long as it remains current.
        !          1061: Another `t' switches back to the usual display.
        !          1062: 
        !          1063: * Rmail command '>' goes to the last message.
        !          1064: 
        !          1065: * Rmail commands `a' and `k' set message attributes.
        !          1066: `a' adds an attribute and `k' removes one.  You specify
        !          1067: the attrbute by name.  You can specify either a built-in
        !          1068: flag such as "deleted" or "filed", or a user-defined keyword
        !          1069: (anything not recognized as built-in).
        !          1070: 
        !          1071: * Rmail commands `l' and `L' summarize by attributes.
        !          1072: 
        !          1073: These commands create a summary with one line per message,
        !          1074: like `h', but they list only some of the messages.  You
        !          1075: specify which attribute (for `l') or attributes (for `L')
        !          1076: the messages should have.
        !          1077: 
        !          1078: * Rmail can parse mmdf mail files.
        !          1079: 
        !          1080: * Interface to MH mail system.
        !          1081: 
        !          1082: mh-e is a front end for GNU emacs and the MH mail system.  It
        !          1083: provides a friendly and convient interface to the MH commands.
        !          1084: 
        !          1085: To read mail, invoke mh-rmail.  This will inc new mail and display the
        !          1086: scan listing on the screen.  To see a summary of the mh-e commands,
        !          1087: type ?.  Help is available through the usual facilities.
        !          1088: 
        !          1089: To send mail, invoke mh-smail.
        !          1090: 
        !          1091: mh-e requires a copy of MH.5 that has been compiled with the MHE
        !          1092: compiler switch.
        !          1093: 
        !          1094: From larus@berkeley.
        !          1095: 
        !          1096: New hooks and parameters in version 16
        !          1097: 
        !          1098: * New variable `blink-matching-paren-distance'.
        !          1099: 
        !          1100: This is the maximum number of characters to search for
        !          1101: an open-paren to match an inserted close-paren.
        !          1102: The matching open-paren is shown and checked if it is found
        !          1103: within this distance.
        !          1104: 
        !          1105: `nil' means search all the way to the beginning of the buffer.
        !          1106: In this case, a warning message is printed if no matching
        !          1107: open-paren is found.
        !          1108: 
        !          1109: This feature was originally written by shane@mit-ajax.
        !          1110: 
        !          1111: * New variable `find-file-run-dired'
        !          1112: 
        !          1113: If nil, find-file will report an error if an attempt to visit a
        !          1114: directory is detected; otherwise, it runs dired on that directory.
        !          1115: The default is t.
        !          1116: 
        !          1117: * Variable `dired-listing-switches' holds switches given to `ls' by dired.
        !          1118: 
        !          1119: The value should be a string containing `-' followed by letters.
        !          1120: The letter `l' had better be included and letter 'F' had better be excluded!
        !          1121: The default is "-al".
        !          1122: 
        !          1123: This feature was originally written by shane@mit-ajax.
        !          1124: 
        !          1125: * New variable `display-time-day-and-date'.
        !          1126: 
        !          1127: If this variable is set non-`nil', the function M-x display-time
        !          1128: displays the day and date, as well as the time.
        !          1129: 
        !          1130: * New parameter `c-continued-statement-indent'.
        !          1131: 
        !          1132: This controls the extra indentation given to a line
        !          1133: that continues a C statement started on the previous line.
        !          1134: By default it is 2, which is why you would see
        !          1135: 
        !          1136:        if (foo)
        !          1137:          bar ();
        !          1138: 
        !          1139: 
        !          1140: * Changed meaning of `c-indent-level'.
        !          1141: 
        !          1142: The value of `c-brace-offset' used to be
        !          1143: subtracted from the value of `c-indent-level' whenever
        !          1144: that value was used.  Now it is not.
        !          1145: 
        !          1146: As a result, `c-indent-level' is now the offset of
        !          1147: statements within a block, relative to the line containing
        !          1148: the open-brace that starts the block.
        !          1149: 
        !          1150: * turn-on-auto-fill is useful value for text-mode-hook.
        !          1151: 
        !          1152: (setq text-mode-hook 'turn-on-auto-fill)
        !          1153: is all you have to do to make sure Auto Fill mode is turned
        !          1154: on whenever you enter Text mode.
        !          1155: 
        !          1156: * Parameter explicit-shell-file-name for M-x shell.
        !          1157: 
        !          1158: This variable, if non-nil, specifies the file name to use
        !          1159: for the shell to run if you do M-x shell.
        !          1160: 
        !          1161: Changes in version 16 affecting Lisp programming:
        !          1162: 
        !          1163: * Documentation strings adapt to customization.
        !          1164: 
        !          1165: Often the documentation string for a command wants to mention
        !          1166: another command.  Simply stating the other command as a
        !          1167: character sequence has a disadvantage: if the user customizes
        !          1168: Emacs by moving that function to a different command, the
        !          1169: cross reference in the documentation becomes wrong.
        !          1170: 
        !          1171: A new feature allows you to write the documentation string
        !          1172: using a function name, and the command to run that function
        !          1173: is looked up when the documentation is printed.
        !          1174: 
        !          1175: If a documentation string contains `\[' (two characters) then
        !          1176: the following text, up to the next `]', is taken as a function name.
        !          1177: Instead of printing that function name, the command that runs it is printed.
        !          1178: (M-x is used to construct a command if no shorter one exists.)
        !          1179: 
        !          1180: For example, instead of putting `C-n' in a documentation string
        !          1181: to refer to the C-n command, put in `\[next-line]'.  (In practice
        !          1182: you will need to quote the backslash with another backslash,
        !          1183: due to the syntax for strings in Lisp and C.)
        !          1184: 
        !          1185: To include the literal characters `\[' in a documentation string,
        !          1186: precede them with `\='.  To include the characters `\=', precede
        !          1187: them with `\='.  For example, "\\=\\= is the way to quote \\=\\["
        !          1188: will come out as `\= is the way to quote \['.
        !          1189: 
        !          1190: The new function `substitute-command-keys' takes a string possibly
        !          1191: contaning \[...] constructs and replaces those constructs with
        !          1192: the key sequences they currently stand for.
        !          1193: 
        !          1194: * Primitives `find-line-comment' and `find-line-comment-body' flushed.
        !          1195: 
        !          1196: Search for the value of `comment-start-skip' if you want to find
        !          1197: whether and where a line has a comment.
        !          1198: 
        !          1199: * New function `auto-save-file-name-p'
        !          1200: 
        !          1201: Should return non-`nil' iff given a string which is the name of an
        !          1202: auto-save file (sans directory name).  If you redefine
        !          1203: `make-auto-save-file-name', you should redefine this accordingly.  By
        !          1204: default, this function returns `t' for filenames beginning with
        !          1205: character `#'.
        !          1206: 
        !          1207: * The value of `exec-directory' now ends in a slash.
        !          1208: 
        !          1209: This is to be compatible with most directory names in GNU Emacs.
        !          1210: 
        !          1211: * Dribble files and termscript files.
        !          1212: 
        !          1213: (open-dribble-file FILE) opens a dribble file named FILE.  When a
        !          1214: dribble file is open, every character Emacs reads from the terminal is
        !          1215: written to the dribble file.
        !          1216: 
        !          1217: (open-termscript FILE) opens a termscript file named FILE.  When a
        !          1218: termscript file is open, all characters sent to the terminal by Emacs
        !          1219: are also written in the termscript file.
        !          1220: 
        !          1221: The two of these together are very useful for debugging Emacs problems
        !          1222: in redisplay.
        !          1223: 
        !          1224: * Upper case command characters by default are same as lower case.
        !          1225: 
        !          1226: If a character in a command is an upper case letter, and is not defined,
        !          1227: Emacs uses the definition of the corresponding lower case letter.
        !          1228: For example, if C-x U is not directly undefined, it is treated as
        !          1229: a synonym for C-x u (undo).
        !          1230: 
        !          1231: * Undefined function errors versus undefined variable errors.
        !          1232: 
        !          1233: Void-symbol errors now say "boundp" if the symbol's value was void
        !          1234: or "fboundp" if the function definition was void.
        !          1235: 
        !          1236: * New function `bury-buffer'.
        !          1237: 
        !          1238: The new function `bury-buffer' takes one argument, a buffer object,
        !          1239: and puts that buffer at the end of the internal list of buffers.
        !          1240: So it is the least preferred candidate for use as the default value
        !          1241: of C-x b, or for other-buffer to return.
        !          1242: 
        !          1243: * Already-displayed buffers have low priority for display.
        !          1244: 
        !          1245: When a buffer is chosen automatically for display, or to be the
        !          1246: default in C-x b, buffers already displayed in windows have lower
        !          1247: priority than buffers not currently visible.
        !          1248: 
        !          1249: * `set-window-start' accepts a third argument NOFORCE.
        !          1250: 
        !          1251: This argument, if non-nil, prevents the window's force_start flag
        !          1252: from being set.  Setting the force_start flag causes the next
        !          1253: redisplay to insist on starting display at the specified starting
        !          1254: point, even if dot must be moved to get it onto the screen.
        !          1255: 
        !          1256: * New function `send-string-to-terminal'.
        !          1257: 
        !          1258: This function takes one argument, a string, and outputs its contents
        !          1259: to the terminal exactly as specified: control characters, escape
        !          1260: sequences, and all.
        !          1261: 
        !          1262: * Keypad put in command mode.
        !          1263: 
        !          1264: The terminal's keypad is now put into command mode, as opposed to
        !          1265: numeric mode, while Emacs is running.  This is done by means of the
        !          1266: termcap `ks' and `ke' strings.
        !          1267: 
        !          1268: * New function `generate-new-buffer'
        !          1269: 
        !          1270: This function takes a string as an argument NAME and looks for a
        !          1271: creates and returns a buffer called NAME if one did not already exist.
        !          1272: Otherwise, it successively tries appending suffixes of the form "<1>",
        !          1273: "<2>" etc to NAME until it creates a string which does not name an
        !          1274: existing buffer.  A new buffer with that name is the created and returned.
        !          1275: 
        !          1276: * New function `prin1-to-string'
        !          1277: This function takes one argument, a lisp object, and returns a string
        !          1278: containing that object's printed representation, such as `prin1'
        !          1279: would output.
        !          1280: 
        !          1281: * New function `read-from-minibuffer'
        !          1282: Lets you supply a prompt, initial-contents, a keymap, and specify
        !          1283: whether the result should be interpreted as a string or a lisp object.
        !          1284: 
        !          1285: Old functions `read-minibuffer', `eval-minibuffer', `read-string' all
        !          1286: take second optional string argument which is initial contents of
        !          1287: minibuffer. 
        !          1288: 
        !          1289: * minibuffer variable names changed (names of keymaps)
        !          1290: 
        !          1291: minibuf-local-map -> minibuffer-local-map
        !          1292: minibuf-local-ns-map -> minibuffer-local-ns-map
        !          1293: minibuf-local-completion-map -> minibuffer-local-completion-map
        !          1294: minibuf-local-must-match-map -> minibuffer-local-must-match-map
        !          1295: 
        !          1296: Changes in version 16 affecting configuring and building Emacs
        !          1297: 
        !          1298: * Configuration switch VT100_INVERSE eliminated.
        !          1299: 
        !          1300: You can control the use of inverse video on any terminal by setting
        !          1301: the variable `inverse-video', or by changing the termcap entry.  If
        !          1302: you like, set `inverse-video' in your `.emacs' file based on
        !          1303: examination of (getenv "TERM").
        !          1304: 
        !          1305: * New switch `-batch' makes Emacs run noninteractively.
        !          1306: 
        !          1307: If the switch `-batch' is used, Emacs treats its standard output
        !          1308: and input like ordinary files (even if they are a terminal).
        !          1309: It does not display buffers or windows; the only output to standard output
        !          1310: is what would appear as messages in the echo area, and each
        !          1311: message is followed by a newline.
        !          1312: 
        !          1313: The terminal modes are not changed, so that C-z and C-c retain
        !          1314: their normal Unix meanings.  Emacs does still read commands from
        !          1315: the terminal, but the idea of `-batch' is that you use it with
        !          1316: other command line arguments that tell Emacs a complete task to perform,
        !          1317: including killing itself.  `-kill' used as the last argument is a good
        !          1318: way to accomplish this.
        !          1319: 
        !          1320: The Lisp variable `noninteractive' is now defined, to be `nil'
        !          1321: except when `-batch' has been specified.
        !          1322: 
        !          1323: * Emacs can be built with output redirected to a file.
        !          1324: 
        !          1325: This is because -batch (see above) is now used in building Emacs.
        !          1326: 
        !          1327: For older news, see the file ONEWS.
        !          1328: 
        !          1329: ----------------------------------------------------------------------
        !          1330: Copyright information:
        !          1331: 
        !          1332: Copyright (C) 1985 Richard M. Stallman
        !          1333: 
        !          1334:    Permission is granted to anyone to make or distribute verbatim copies
        !          1335:    of this document as received, in any medium, provided that the
        !          1336:    copyright notice and this permission notice are preserved,
        !          1337:    thus giving the recipient permission to redistribute in turn.
        !          1338: 
        !          1339:    Permission is granted to distribute modified versions
        !          1340:    of this document, or of portions of it,
        !          1341:    under the above conditions, provided also that they
        !          1342:    carry prominent notices stating who last changed them.
        !          1343: 
        !          1344: Local variables:
        !          1345: mode: text
        !          1346: end:

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.