Annotation of 43BSD/contrib/emacs/etc/ONEWS, revision 1.1.1.1

1.1       root        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
                    333:  designes.  For example, on some terminals, Delete is 
                    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: 
                    556: * M-x shell sends the command 
                    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: 
                    958:  In the debugger, you can evaluate Lisp expressions by 
                    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
                   1056:  lines at higher levels, until but not including the next 
                   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.
                   1069:  
                   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:

unix.superglobalmegacorp.com

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