home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / emacs-18.59-bin.lha / lib / emacs / 18.59 / etc / OONEWS < prev    next >
Text File  |  1986-01-28  |  48KB  |  1,166 lines

  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 i