changeset 38786:4d3fd773cd30

Minor cleanups.
author Richard M. Stallman <rms@gnu.org>
date Sun, 12 Aug 2001 21:15:14 +0000
parents 4545461cb478
children 4d77816c7cad
files lispref/hash.texi lispref/lists.texi man/mark.texi man/mini.texi man/misc.texi man/mule.texi
diffstat 6 files changed, 121 insertions(+), 92 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/hash.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/lispref/hash.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -107,13 +107,14 @@
 anywhere else); if a particular value does get collected, the
 corresponding association is removed from the hash table.
 
-If @var{weak} is @code{key-or-value}, associations are removed from the
-hash table when either their key or their value part would be collected
-as garbage, not counting references to the key and value from weak hash
-tables.  Likewise, if @var{weak} is @code{key-and-value}, associations
-are removed from the hash table when both their key and value would be
-collected as garbage, again not considering references to the key and
-value from weak hash tables.
+If @var{weak} is @code{key-or-value} or @code{t}, the hash table does
+not protect either keys or values from garbage collection; if either
+one is collected as garbage, the association is removed.
+
+If @var{weak} is @code{key-and-value}, associations are removed from
+the hash table when both their key and value would be collected as
+garbage, again not considering references to the key and value from
+weak hash tables.
 
 The default for @var{weak} is @code{nil}, so that all keys and values
 referenced in the hash table are preserved from garbage collection.  If
@@ -242,22 +243,6 @@
 The specified functions are stored in the property list of @var{name}
 under the property @code{hash-table-test}; the property value's form is
 @code{(@var{test-fn} @var{hash-fn})}.
-
-This example creates a hash table whose keys are strings that are
-compared case-insensitively.
-
-@example
-(defun case-fold-string= (a b)
-  (compare-strings a nil nil b nil nil t))
-
-(defun case-fold-string-hash (a)
-  (sxhash (upcase a)))
-
-(define-hash-table-test 'case-fold 'case-fold-string= 
-                        'case-fold-string-hash))
-
-(make-hash-table :test 'case-fold)
-@end example
 @end defun
 
 @tindex sxhash
@@ -275,6 +260,32 @@
 result from @code{sxhash}.
 @end defun
 
+  This example creates a hash table whose keys are strings that are
+compared case-insensitively.
+
+@example
+(defun case-fold-string= (a b)
+  (compare-strings a nil nil b nil nil t))
+
+(defun case-fold-string-hash (a)
+  (sxhash (upcase a)))
+
+(define-hash-table-test 'case-fold 'case-fold-string= 
+                        'case-fold-string-hash))
+
+(make-hash-table :test 'case-fold)
+@end example
+
+  Here is how you could define a hash table test equivalent to the
+predefined test value @code{equal}.  The keys can be any Lisp object,
+and equal-looking objects are considered the same key.
+
+@example
+(define-hash-table-test 'contents-hash 'equal 'sxhash)
+
+(make-hash-table :test 'contents-hash)
+@end example
+
 @node Other Hash
 @section Other Hash Table Functions
 
--- a/lispref/lists.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/lispref/lists.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -384,7 +384,7 @@
 @end defun
 
 @defun last list &optional n
-This function reruns the last link of the given @var{list}.  The
+This function returns the last link of @var{list}.  The
 @code{car} of this link is the list's last element.  If @var{list} is
 null, @code{nil} is returned.  If @var{n} is non-nil the
 @var{n}-th-to-last link is returned instead, or the whole @var{list} if
@@ -496,6 +496,15 @@
 This macro provides an alternative way to write
 @code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
 It is new in Emacs 21.
+
+@example
+(setq l '(a b)) 
+     @result{} (a b)
+(push 'c l)
+     @result{} (c a b)
+l
+     @result{} (c a b)
+@end example
 @end defmac
 
 @defun list &rest objects
@@ -520,9 +529,9 @@
 @end defun
 
 @defun make-list length object
-This function creates a list of length @var{length}, in which all the
-elements have the identical value @var{object}.  Compare
-@code{make-list} with @code{make-string} (@pxref{Creating Strings}).
+This function creates a list of @var{length} elements, in which each
+element is @var{object}.  Compare @code{make-list} with
+@code{make-string} (@pxref{Creating Strings}).
 
 @example
 @group
@@ -533,6 +542,12 @@
 (make-list 0 'pigs)
      @result{} nil
 @end group
+@group
+(setq l (make-list 3 '(a b))
+     @result{} ((a b) (a b) (a b))
+(eq (car l) (cadr l))
+     @result{} t
+@end group
 @end example
 @end defun
 
@@ -1064,19 +1079,19 @@
 
 @example
 @group
-(setq x '(1 2 3 4))
-     @result{} (1 2 3 4)
+(setq x '(a b c))
+     @result{} (a b c)
 @end group
 @group
 x
-     @result{} (1 2 3 4)
+     @result{} (a b c)
 (nreverse x)
-     @result{} (4 3 2 1)
+     @result{} (c b a)
 @end group
 @group
 ;; @r{The cons cell that was first is now last.}
 x
-     @result{} (1)
+     @result{} (a)
 @end group
 @end example
 
@@ -1379,9 +1394,9 @@
 
 @example
 @group
-'((pine . cones)
-  (oak . acorns)
-  (maple . seeds))
+((pine . cones)
+ (oak . acorns)
+ (maple . seeds))
 @end group
 @end example
 
@@ -1397,10 +1412,10 @@
 
   Sometimes it is better to design an alist to store the associated
 value in the @sc{car} of the @sc{cdr} of the element.  Here is an
-example:
+example of such an alist:
 
 @example
-'((rose red) (lily white) (buttercup yellow))
+((rose red) (lily white) (buttercup yellow))
 @end example
 
 @noindent
@@ -1549,7 +1564,7 @@
 @end smallexample
 @end defun
 
-@defun assoc-default key alist test default
+@defun assoc-default key alist &optional test default
 This function searches @var{alist} for a match for @var{key}.  For each
 element of @var{alist}, it compares the element (if it is an atom) or
 the element's @sc{car} (if it is a cons) against @var{key}, by calling
@@ -1622,7 +1637,9 @@
 @defun assq-delete-all key alist
 @tindex assq-delete-all
 This function deletes from @var{alist} all the elements whose @sc{car}
-is @code{eq} to @var{key}.  It returns the modified alist.
+is @code{eq} to @var{key}.  It returns @var{alist}, modified
+in this way.  Note that it modifies the original list structure
+of @var{alist}.
 
 @example
 (assq-delete-all 'foo
--- a/man/mark.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/man/mark.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -17,8 +17,8 @@
   Certain Emacs commands set the mark; other editing commands do not
 affect it, so the mark remains where you set it last.  Each Emacs
 buffer has its own mark, and setting the mark in one buffer has no
-effect on other buffers' marks.  When you return to a buffer that had
-been selected previously, its mark is at the same place as before.
+effect on other buffers' marks.  When you return to a buffer that was
+current earlier, its mark is at the same place as before.
 
   The ends of the region are always point and the mark.  It doesn't
 matter which of them was put in its current place first, or which one
@@ -155,8 +155,9 @@
 @itemize @bullet
 @item
 To set the mark, type @kbd{C-@key{SPC}} (@code{set-mark-command}).
-This makes the mark active; as you move point, you will see the
-highlighted region grow and shrink.
+This makes the mark active and thus begins highlighting of the region.
+As you move point, you will see the highlighted region grow and
+shrink.
 
 @item 
 The mouse commands for specifying the mark also make it active.  So do
@@ -175,7 +176,7 @@
 region active again by typing @kbd{C-x C-x}.
 
 @item
-Commands like @kbd{M->} and @kbd{C-s} that ``leave the mark behind'' in
+Commands like @kbd{M->} and @kbd{C-s}, that ``leave the mark behind'' in
 addition to some other primary purpose, do not activate the new mark.
 You can activate the new region by executing @kbd{C-x C-x}
 (@code{exchange-point-and-mark}).
@@ -206,7 +207,7 @@
 window highlights its region (@pxref{Windows}).  However, if the
 variable @code{highlight-nonselected-windows} is non-@code{nil}, then
 each window highlights its own region (provided that Transient Mark mode
-is enabled and the mark in the buffer's window is active).
+is enabled and the mark in the window's buffer is active).
 
   When Transient Mark mode is not enabled, every command that sets the
 mark also activates it, and nothing ever deactivates it.
@@ -261,18 +262,18 @@
 
 @table @kbd
 @item M-@@
-Set mark after the end of next word (@code{mark-word}).  This command and
+Set mark after end of next word (@code{mark-word}).  This command and
 the following one do not move point.
 @item C-M-@@
-Set mark after the end of following balanced expression (@code{mark-sexp}).
+Set mark after end of following balanced expression (@code{mark-sexp}).
 @item M-h
-Put region around the current paragraph (@code{mark-paragraph}).
+Put region around current paragraph (@code{mark-paragraph}).
 @item C-M-h
-Put region around the current defun (@code{mark-defun}).
+Put region around current defun (@code{mark-defun}).
 @item C-x h
 Put region around the entire buffer (@code{mark-whole-buffer}).
 @item C-x C-p
-Put region around the current page (@code{mark-page}).
+Put region around current page (@code{mark-page}).
 @end table
 
 @kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next
@@ -289,14 +290,14 @@
 the region so you can indent, case-convert, or kill a whole paragraph.
 
   @kbd{C-M-h} (@code{mark-defun}) similarly puts point before, and the
-mark after, the current or following major top-level definition, or
+mark after, the current (or following) major top-level definition, or
 defun (@pxref{Moving by Defuns}).  @kbd{C-x C-p} (@code{mark-page})
 puts point before the current page, and mark at the end
 (@pxref{Pages}).  The mark goes after the terminating page delimiter
-(to include it), while point goes after the preceding page delimiter
-(to exclude it).  A numeric argument specifies a later page (if
-positive) or an earlier page (if negative) instead of the current
-page.
+(to include it in the region), while point goes after the preceding
+page delimiter (to exclude it).  A numeric argument specifies a later
+page (if positive) or an earlier page (if negative) instead of the
+current page.
 
   Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire
 buffer as the region, by putting point at the beginning and the mark at
--- a/man/mini.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/man/mini.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -147,13 +147,12 @@
 
 @vindex resize-mini-windows
   The minibuffer window expands vertically as necessary to hold the
-text that you put in the minibuffer if @code{resize-mini-windows} is
+text that you put in the minibuffer, if @code{resize-mini-windows} is
 non-@code{nil}.  If @code{resize-mini-windows} is @code{t}, the window
 is always resized to fit the size of the text it displays.  If
 @code{resize-mini-windows} is the symbol @code{grow-only}, the window
-is enlarged when the size of displayed text grows, but never reduced
-in size until it becomes empty, at which point it shrinks back to its
-normal size.
+grows when the size of displayed text increases, but shrinks (back to
+the normal size) only when the minibuffer becomes inactive.
 
 @vindex max-mini-window-height
   The variable @code{max-mini-window-height} controls the maximum
@@ -165,8 +164,8 @@
   If while in the minibuffer you issue a command that displays help text
 of any sort in another window, you can use the @kbd{C-M-v} command while
 in the minibuffer to scroll the help text.  This lasts until you exit
-the minibuffer.  This feature is especially useful if the
-minibuffer gives you a list of possible completions.  @xref{Other Window}.
+the minibuffer.  This feature is especially useful when you display
+a buffer listing possible completions.  @xref{Other Window}.
 
 @vindex enable-recursive-minibuffers
   Emacs normally disallows most commands that use the minibuffer while
@@ -266,9 +265,8 @@
 type @key{SPC}, it finds that the completion is @samp{auto-fill-mode},
 but it stops completing after @samp{fill-}.  This gives
 @samp{auto-fill-}.  Another @key{SPC} at this point completes all the
-way to @samp{auto-fill-mode}.  Typing @key{SPC} in the minibuffer when
-completion is available runs the command
-@code{minibuffer-complete-word}.
+way to @samp{auto-fill-mode}.  The command that implements this
+behavior is called @code{minibuffer-complete-word}.
 
   Here are some commands you can use to choose a completion from a
 window that displays a list of completions:
@@ -366,11 +364,11 @@
 lists of completions---those always mention all possible completions.
 
 @vindex completion-auto-help
-  Normally, a completion command that finds that the next character is
-undetermined automatically displays a list of all possible
+  Normally, a completion command that cannot determine even one
+additional character automatically displays a list of all possible
 completions.  If the variable @code{completion-auto-help} is set to
-@code{nil}, this does not happen, and you must type @kbd{?} to display
-the possible completions.
+@code{nil}, this automatic display is disabled, so you must type
+@kbd{?} to display the list of completions.
 
 @cindex Partial Completion mode
 @vindex partial-completion-mode
--- a/man/misc.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/man/misc.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -366,7 +366,7 @@
   A numeric argument, as in @kbd{M-1 M-!}, says to insert terminal
 output into the current buffer instead of a separate buffer.  It puts
 point before the output, and sets the mark after the output.  For
-instance, @kbd{M-1 M-!  gunzip < foo.gz @key{RET}} would insert the
+instance, @kbd{M-1 M-! gunzip < foo.gz @key{RET}} would insert the
 uncompressed equivalent of @file{foo.gz} into the current buffer.
 
   If the shell command line ends in @samp{&}, it runs asynchronously.
@@ -442,10 +442,13 @@
 face @code{comint-highlight-prompt}.  This makes it easier to see
 previous input lines in the buffer.  @xref{Faces}.
 
-  To make multiple subshells invoke @kbd{M-x shell} with a prefix
-argument (e.g. @kbd{C-u M-x shell}), which will cause it to prompt for
-a buffer name, and create (or reuse) a subshell in that buffer.  All
-subshells in different buffers run independently and in parallel.
+  To make multiple subshells, you can invoke @kbd{M-x shell} with a
+prefix argument (e.g. @kbd{C-u M-x shell}), which will read a buffer
+name and create (or reuse) a subshell in that buffer.  You can also
+rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely}, then
+then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
+All the subshells in different buffers run independently and in
+parallel.
 
 @vindex explicit-shell-file-name
 @cindex environment variables for subshells
@@ -1247,8 +1250,8 @@
 @noindent
 This tells Emacs to visit each of the specified files; if you specify a
 line number for a certain file, Emacs moves to that line in the file.
-If you specify a column number for a file, Emacs moves to that column
-in the file.
+If you specify a column number as well, Emacs puts point on that column
+in the line.
 
   Ordinarily, @code{emacsclient} does not return until you use the
 @kbd{C-x #} command on each of these buffers.  When that happens,
--- a/man/mule.texi	Sun Aug 12 21:04:18 2001 +0000
+++ b/man/mule.texi	Sun Aug 12 21:15:14 2001 +0000
@@ -302,7 +302,7 @@
 
   If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG}
 environment variables while running Emacs, you may want to invoke the
-@code{set-locale-environment} function afterwards to re-adjust the
+@code{set-locale-environment} function afterwards to readjust the
 language environment from the new locale.
 
 @vindex locale-preferred-coding-systems
@@ -363,9 +363,9 @@
 input methods.
 
   The simplest kind of input method works by mapping ASCII letters
-into another alphabet; this allows you to type characters that your
-keyboard doesn't support directly.  This is how the Greek and Russian
-input methods work.
+into another alphabet; this allows you to use one other alphabet
+instead of ASCII.  The Greek and Russian input methods
+work this way.
 
   A more powerful technique is composition: converting sequences of
 characters into one letter.  Many European input methods use composition
@@ -385,8 +385,8 @@
 methods, first you enter the phonetic spelling of a Chinese word (in
 input method @code{chinese-py}, among others), or a sequence of
 portions of the character (input methods @code{chinese-4corner} and
-@code{chinese-sw}, and others).  One phonetic spelling typically
-corresponds to many different Chinese characters.  You select the one
+@code{chinese-sw}, and others).  One input sequence typically
+corresponds to many possible Chinese characters.  You select the one
 you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n},
 @kbd{C-p}, and digits, which have special meanings in this situation.
 
@@ -408,9 +408,9 @@
   @key{TAB} in these Chinese input methods displays a buffer showing
 all the possible characters at once; then clicking @kbd{Mouse-2} on
 one of them selects that alternative.  The keys @kbd{C-f}, @kbd{C-b},
-@kbd{C-n}, @kbd{C-p}, and digits continue to work also.  When this
-buffer is visible, @kbd{C-n} and @kbd{C-p} move the current
-alternative to a different row.
+@kbd{C-n}, @kbd{C-p}, and digits continue to work as usual, but they
+do the highlighting in the buffer showing the possible characters,
+rather than in the echo area.
 
   In Japanese input methods, first you input a whole word using
 phonetic spelling; then, after the word is in the buffer, Emacs
@@ -740,7 +740,7 @@
   If you use a coding system that specifies the end-of-line conversion
 type, such as @code{iso-8859-1-dos}, what this means is that Emacs
 should attempt to recognize @code{iso-8859-1} with priority, and should
-use DOS end-of-line conversion if it recognizes @code{iso-8859-1}.
+use DOS end-of-line conversion when it does recognize @code{iso-8859-1}.
 
 @vindex file-coding-system-alist
   Sometimes a file name indicates which coding system to use for the
@@ -801,9 +801,9 @@
 local variables list at the end (@pxref{File Variables}).  You do this
 by defining a value for the ``variable'' named @code{coding}.  Emacs
 does not really have a variable @code{coding}; instead of setting a
-variable, it uses the specified coding system for the file.  For
+variable, this uses the specified coding system for the file.  For
 example, @samp{-*-mode: C; coding: latin-1;-*-} specifies use of the
-Latin-1 coding system, as well as C mode.  If you specify the coding
+Latin-1 coding system, as well as C mode.  When you specify the coding
 explicitly in the file, that overrides
 @code{file-coding-system-alist}.
 
@@ -844,11 +844,10 @@
 cannot be encoded with the coding system that will be used to save the
 buffer.  For example, you could start with an ASCII file and insert a
 few Latin-1 characters into it, or you could edit a text file in
-Polish encoded in @code{iso-8859-2} and add to it translations of
-several Polish words into Russian.  When you save the buffer, Emacs
-cannot use the current value of @code{buffer-file-coding-system},
-because the characters you added cannot be encoded by that coding
-system.
+Polish encoded in @code{iso-8859-2} and add some Russian words to it.
+When you save the buffer, Emacs cannot use the current value of
+@code{buffer-file-coding-system}, because the characters you added
+cannot be encoded by that coding system.
 
   When that happens, Emacs tries the most-preferred coding system (set
 by @kbd{M-x prefer-coding-system} or @kbd{M-x