aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lispref/hash.texi53
-rw-r--r--lispref/lists.texi49
-rw-r--r--man/mark.texi33
-rw-r--r--man/mini.texi24
-rw-r--r--man/misc.texi17
-rw-r--r--man/mule.texi33
6 files changed, 119 insertions, 90 deletions
diff --git a/lispref/hash.texi b/lispref/hash.texi
index 3f4e4380be6..4b12160c603 100644
--- a/lispref/hash.texi
+++ b/lispref/hash.texi
@@ -107,13 +107,14 @@ values from being collected as garbage (if they are not referenced
107anywhere else); if a particular value does get collected, the 107anywhere else); if a particular value does get collected, the
108corresponding association is removed from the hash table. 108corresponding association is removed from the hash table.
109 109
110If @var{weak} is @code{key-or-value}, associations are removed from the 110If @var{weak} is @code{key-or-value} or @code{t}, the hash table does
111hash table when either their key or their value part would be collected 111not protect either keys or values from garbage collection; if either
112as garbage, not counting references to the key and value from weak hash 112one is collected as garbage, the association is removed.
113tables. Likewise, if @var{weak} is @code{key-and-value}, associations 113
114are removed from the hash table when both their key and value would be 114If @var{weak} is @code{key-and-value}, associations are removed from
115collected as garbage, again not considering references to the key and 115the hash table when both their key and value would be collected as
116value from weak hash tables. 116garbage, again not considering references to the key and value from
117weak hash tables.
117 118
118The default for @var{weak} is @code{nil}, so that all keys and values 119The default for @var{weak} is @code{nil}, so that all keys and values
119referenced in the hash table are preserved from garbage collection. If 120referenced in the hash table are preserved from garbage collection. If
@@ -242,8 +243,24 @@ including negative integers.
242The specified functions are stored in the property list of @var{name} 243The specified functions are stored in the property list of @var{name}
243under the property @code{hash-table-test}; the property value's form is 244under the property @code{hash-table-test}; the property value's form is
244@code{(@var{test-fn} @var{hash-fn})}. 245@code{(@var{test-fn} @var{hash-fn})}.
246@end defun
247
248@tindex sxhash
249@defun sxhash obj
250This function returns a hash code for Lisp object @var{obj}.
251This is an integer which reflects the contents of @var{obj}
252and the other Lisp objects it points to.
253
254If two objects @var{obj1} and @var{obj2} are equal, then @code{(sxhash
255@var{obj1})} and @code{(sxhash @var{obj2})} are the same integer.
256
257If the two objects are not equal, the values returned by @code{sxhash}
258are usually different, but not always; but once in a rare while, by
259luck, you will encounter two distinct-looking objects that give the same
260result from @code{sxhash}.
261@end defun
245 262
246This example creates a hash table whose keys are strings that are 263 This example creates a hash table whose keys are strings that are
247compared case-insensitively. 264compared case-insensitively.
248 265
249@example 266@example
@@ -258,22 +275,16 @@ compared case-insensitively.
258 275
259(make-hash-table :test 'case-fold) 276(make-hash-table :test 'case-fold)
260@end example 277@end example
261@end defun
262 278
263@tindex sxhash 279 Here is how you could define a hash table test equivalent to the
264@defun sxhash obj 280predefined test value @code{equal}. The keys can be any Lisp object,
265This function returns a hash code for Lisp object @var{obj}. 281and equal-looking objects are considered the same key.
266This is an integer which reflects the contents of @var{obj}
267and the other Lisp objects it points to.
268 282
269If two objects @var{obj1} and @var{obj2} are equal, then @code{(sxhash 283@example
270@var{obj1})} and @code{(sxhash @var{obj2})} are the same integer. 284(define-hash-table-test 'contents-hash 'equal 'sxhash)
271 285
272If the two objects are not equal, the values returned by @code{sxhash} 286(make-hash-table :test 'contents-hash)
273are usually different, but not always; but once in a rare while, by 287@end example
274luck, you will encounter two distinct-looking objects that give the same
275result from @code{sxhash}.
276@end defun
277 288
278@node Other Hash 289@node Other Hash
279@section Other Hash Table Functions 290@section Other Hash Table Functions
diff --git a/lispref/lists.texi b/lispref/lists.texi
index b0a3a1f6b85..5f16394ae12 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -384,7 +384,7 @@ If @var{n} is zero or negative, @code{nthcdr} returns all of
384@end defun 384@end defun
385 385
386@defun last list &optional n 386@defun last list &optional n
387This function reruns the last link of the given @var{list}. The 387This function returns the last link of @var{list}. The
388@code{car} of this link is the list's last element. If @var{list} is 388@code{car} of this link is the list's last element. If @var{list} is
389null, @code{nil} is returned. If @var{n} is non-nil the 389null, @code{nil} is returned. If @var{n} is non-nil the
390@var{n}-th-to-last link is returned instead, or the whole @var{list} if 390@var{n}-th-to-last link is returned instead, or the whole @var{list} if
@@ -496,6 +496,15 @@ any symbol can serve both purposes.
496This macro provides an alternative way to write 496This macro provides an alternative way to write
497@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}. 497@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
498It is new in Emacs 21. 498It is new in Emacs 21.
499
500@example
501(setq l '(a b))
502 @result{} (a b)
503(push 'c l)
504 @result{} (c a b)
505l
506 @result{} (c a b)
507@end example
499@end defmac 508@end defmac
500 509
501@defun list &rest objects 510@defun list &rest objects
@@ -520,9 +529,9 @@ are given, the empty list is returned.
520@end defun 529@end defun
521 530
522@defun make-list length object 531@defun make-list length object
523This function creates a list of length @var{length}, in which all the 532This function creates a list of @var{length} elements, in which each
524elements have the identical value @var{object}. Compare 533element is @var{object}. Compare @code{make-list} with
525@code{make-list} with @code{make-string} (@pxref{Creating Strings}). 534@code{make-string} (@pxref{Creating Strings}).
526 535
527@example 536@example
528@group 537@group
@@ -533,6 +542,12 @@ elements have the identical value @var{object}. Compare
533(make-list 0 'pigs) 542(make-list 0 'pigs)
534 @result{} nil 543 @result{} nil
535@end group 544@end group
545@group
546(setq l (make-list 3 '(a b))
547 @result{} ((a b) (a b) (a b))
548(eq (car l) (cadr l))
549 @result{} t
550@end group
536@end example 551@end example
537@end defun 552@end defun
538 553
@@ -1064,19 +1079,19 @@ value.
1064 1079
1065@example 1080@example
1066@group 1081@group
1067(setq x '(1 2 3 4)) 1082(setq x '(a b c))
1068 @result{} (1 2 3 4) 1083 @result{} (a b c)
1069@end group 1084@end group
1070@group 1085@group
1071x 1086x
1072 @result{} (1 2 3 4) 1087 @result{} (a b c)
1073(nreverse x) 1088(nreverse x)
1074 @result{} (4 3 2 1) 1089 @result{} (c b a)
1075@end group 1090@end group
1076@group 1091@group
1077;; @r{The cons cell that was first is now last.} 1092;; @r{The cons cell that was first is now last.}
1078x 1093x
1079 @result{} (1) 1094 @result{} (a)
1080@end group 1095@end group
1081@end example 1096@end example
1082 1097
@@ -1379,9 +1394,9 @@ the value @code{cones}; the key @code{oak} is associated with
1379 1394
1380@example 1395@example
1381@group 1396@group
1382'((pine . cones) 1397((pine . cones)
1383 (oak . acorns) 1398 (oak . acorns)
1384 (maple . seeds)) 1399 (maple . seeds))
1385@end group 1400@end group
1386@end example 1401@end example
1387 1402
@@ -1397,10 +1412,10 @@ the alist element:
1397 1412
1398 Sometimes it is better to design an alist to store the associated 1413 Sometimes it is better to design an alist to store the associated
1399value in the @sc{car} of the @sc{cdr} of the element. Here is an 1414value in the @sc{car} of the @sc{cdr} of the element. Here is an
1400example: 1415example of such an alist:
1401 1416
1402@example 1417@example
1403'((rose red) (lily white) (buttercup yellow)) 1418((rose red) (lily white) (buttercup yellow))
1404@end example 1419@end example
1405 1420
1406@noindent 1421@noindent
@@ -1549,7 +1564,7 @@ becomes clearer if the association is written in dotted pair notation:
1549@end smallexample 1564@end smallexample
1550@end defun 1565@end defun
1551 1566
1552@defun assoc-default key alist test default 1567@defun assoc-default key alist &optional test default
1553This function searches @var{alist} for a match for @var{key}. For each 1568This function searches @var{alist} for a match for @var{key}. For each
1554element of @var{alist}, it compares the element (if it is an atom) or 1569element of @var{alist}, it compares the element (if it is an atom) or
1555the element's @sc{car} (if it is a cons) against @var{key}, by calling 1570the element's @sc{car} (if it is a cons) against @var{key}, by calling
@@ -1622,7 +1637,9 @@ the associations of one copy without affecting the other:
1622@defun assq-delete-all key alist 1637@defun assq-delete-all key alist
1623@tindex assq-delete-all 1638@tindex assq-delete-all
1624This function deletes from @var{alist} all the elements whose @sc{car} 1639This function deletes from @var{alist} all the elements whose @sc{car}
1625is @code{eq} to @var{key}. It returns the modified alist. 1640is @code{eq} to @var{key}. It returns @var{alist}, modified
1641in this way. Note that it modifies the original list structure
1642of @var{alist}.
1626 1643
1627@example 1644@example
1628(assq-delete-all 'foo 1645(assq-delete-all 'foo
diff --git a/man/mark.texi b/man/mark.texi
index e153cb74761..33f4434bbb6 100644
--- a/man/mark.texi
+++ b/man/mark.texi
@@ -17,8 +17,8 @@ Transient Mark mode (@pxref{Transient Mark}).
17 Certain Emacs commands set the mark; other editing commands do not 17 Certain Emacs commands set the mark; other editing commands do not
18affect it, so the mark remains where you set it last. Each Emacs 18affect it, so the mark remains where you set it last. Each Emacs
19buffer has its own mark, and setting the mark in one buffer has no 19buffer has its own mark, and setting the mark in one buffer has no
20effect on other buffers' marks. When you return to a buffer that had 20effect on other buffers' marks. When you return to a buffer that was
21been selected previously, its mark is at the same place as before. 21current earlier, its mark is at the same place as before.
22 22
23 The ends of the region are always point and the mark. It doesn't 23 The ends of the region are always point and the mark. It doesn't
24matter which of them was put in its current place first, or which one 24matter which of them was put in its current place first, or which one
@@ -155,8 +155,9 @@ the mode.
155@itemize @bullet 155@itemize @bullet
156@item 156@item
157To set the mark, type @kbd{C-@key{SPC}} (@code{set-mark-command}). 157To set the mark, type @kbd{C-@key{SPC}} (@code{set-mark-command}).
158This makes the mark active; as you move point, you will see the 158This makes the mark active and thus begins highlighting of the region.
159highlighted region grow and shrink. 159As you move point, you will see the highlighted region grow and
160shrink.
160 161
161@item 162@item
162The mouse commands for specifying the mark also make it active. So do 163The mouse commands for specifying the mark also make it active. So do
@@ -175,7 +176,7 @@ on a region will get an error and refuse to operate. You can make the
175region active again by typing @kbd{C-x C-x}. 176region active again by typing @kbd{C-x C-x}.
176 177
177@item 178@item
178Commands like @kbd{M->} and @kbd{C-s} that ``leave the mark behind'' in 179Commands like @kbd{M->} and @kbd{C-s}, that ``leave the mark behind'' in
179addition to some other primary purpose, do not activate the new mark. 180addition to some other primary purpose, do not activate the new mark.
180You can activate the new region by executing @kbd{C-x C-x} 181You can activate the new region by executing @kbd{C-x C-x}
181(@code{exchange-point-and-mark}). 182(@code{exchange-point-and-mark}).
@@ -206,7 +207,7 @@ all share one common mark position). Ordinarily, only the selected
206window highlights its region (@pxref{Windows}). However, if the 207window highlights its region (@pxref{Windows}). However, if the
207variable @code{highlight-nonselected-windows} is non-@code{nil}, then 208variable @code{highlight-nonselected-windows} is non-@code{nil}, then
208each window highlights its own region (provided that Transient Mark mode 209each window highlights its own region (provided that Transient Mark mode
209is enabled and the mark in the buffer's window is active). 210is enabled and the mark in the window's buffer is active).
210 211
211 When Transient Mark mode is not enabled, every command that sets the 212 When Transient Mark mode is not enabled, every command that sets the
212mark also activates it, and nothing ever deactivates it. 213mark also activates it, and nothing ever deactivates it.
@@ -261,18 +262,18 @@ object such as a word, list, paragraph or page.
261 262
262@table @kbd 263@table @kbd
263@item M-@@ 264@item M-@@
264Set mark after the end of next word (@code{mark-word}). This command and 265Set mark after end of next word (@code{mark-word}). This command and
265the following one do not move point. 266the following one do not move point.
266@item C-M-@@ 267@item C-M-@@
267Set mark after the end of following balanced expression (@code{mark-sexp}). 268Set mark after end of following balanced expression (@code{mark-sexp}).
268@item M-h 269@item M-h
269Put region around the current paragraph (@code{mark-paragraph}). 270Put region around current paragraph (@code{mark-paragraph}).
270@item C-M-h 271@item C-M-h
271Put region around the current defun (@code{mark-defun}). 272Put region around current defun (@code{mark-defun}).
272@item C-x h 273@item C-x h
273Put region around the entire buffer (@code{mark-whole-buffer}). 274Put region around the entire buffer (@code{mark-whole-buffer}).
274@item C-x C-p 275@item C-x C-p
275Put region around the current page (@code{mark-page}). 276Put region around current page (@code{mark-page}).
276@end table 277@end table
277 278
278@kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next 279@kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next
@@ -289,14 +290,14 @@ the mark at the end of that paragraph (@pxref{Paragraphs}). It prepares
289the region so you can indent, case-convert, or kill a whole paragraph. 290the region so you can indent, case-convert, or kill a whole paragraph.
290 291
291 @kbd{C-M-h} (@code{mark-defun}) similarly puts point before, and the 292 @kbd{C-M-h} (@code{mark-defun}) similarly puts point before, and the
292mark after, the current or following major top-level definition, or 293mark after, the current (or following) major top-level definition, or
293defun (@pxref{Moving by Defuns}). @kbd{C-x C-p} (@code{mark-page}) 294defun (@pxref{Moving by Defuns}). @kbd{C-x C-p} (@code{mark-page})
294puts point before the current page, and mark at the end 295puts point before the current page, and mark at the end
295(@pxref{Pages}). The mark goes after the terminating page delimiter 296(@pxref{Pages}). The mark goes after the terminating page delimiter
296(to include it), while point goes after the preceding page delimiter 297(to include it in the region), while point goes after the preceding
297(to exclude it). A numeric argument specifies a later page (if 298page delimiter (to exclude it). A numeric argument specifies a later
298positive) or an earlier page (if negative) instead of the current 299page (if positive) or an earlier page (if negative) instead of the
299page. 300current page.
300 301
301 Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire 302 Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire
302buffer as the region, by putting point at the beginning and the mark at 303buffer as the region, by putting point at the beginning and the mark at
diff --git a/man/mini.texi b/man/mini.texi
index 7b557fbbce9..da4262bb789 100644
--- a/man/mini.texi
+++ b/man/mini.texi
@@ -147,13 +147,12 @@ with @kbd{C-x ^}.
147 147
148@vindex resize-mini-windows 148@vindex resize-mini-windows
149 The minibuffer window expands vertically as necessary to hold the 149 The minibuffer window expands vertically as necessary to hold the
150text that you put in the minibuffer if @code{resize-mini-windows} is 150text that you put in the minibuffer, if @code{resize-mini-windows} is
151non-@code{nil}. If @code{resize-mini-windows} is @code{t}, the window 151non-@code{nil}. If @code{resize-mini-windows} is @code{t}, the window
152is always resized to fit the size of the text it displays. If 152is always resized to fit the size of the text it displays. If
153@code{resize-mini-windows} is the symbol @code{grow-only}, the window 153@code{resize-mini-windows} is the symbol @code{grow-only}, the window
154is enlarged when the size of displayed text grows, but never reduced 154grows when the size of displayed text increases, but shrinks (back to
155in size until it becomes empty, at which point it shrinks back to its 155the normal size) only when the minibuffer becomes inactive.
156normal size.
157 156
158@vindex max-mini-window-height 157@vindex max-mini-window-height
159 The variable @code{max-mini-window-height} controls the maximum 158 The variable @code{max-mini-window-height} controls the maximum
@@ -165,8 +164,8 @@ window automatically. The default value is 0.25.
165 If while in the minibuffer you issue a command that displays help text 164 If while in the minibuffer you issue a command that displays help text
166of any sort in another window, you can use the @kbd{C-M-v} command while 165of any sort in another window, you can use the @kbd{C-M-v} command while
167in the minibuffer to scroll the help text. This lasts until you exit 166in the minibuffer to scroll the help text. This lasts until you exit
168the minibuffer. This feature is especially useful if the 167the minibuffer. This feature is especially useful when you display
169minibuffer gives you a list of possible completions. @xref{Other Window}. 168a buffer listing possible completions. @xref{Other Window}.
170 169
171@vindex enable-recursive-minibuffers 170@vindex enable-recursive-minibuffers
172 Emacs normally disallows most commands that use the minibuffer while 171 Emacs normally disallows most commands that use the minibuffer while
@@ -266,9 +265,8 @@ next hyphen or space. If you have @samp{auto-f} in the minibuffer and
266type @key{SPC}, it finds that the completion is @samp{auto-fill-mode}, 265type @key{SPC}, it finds that the completion is @samp{auto-fill-mode},
267but it stops completing after @samp{fill-}. This gives 266but it stops completing after @samp{fill-}. This gives
268@samp{auto-fill-}. Another @key{SPC} at this point completes all the 267@samp{auto-fill-}. Another @key{SPC} at this point completes all the
269way to @samp{auto-fill-mode}. Typing @key{SPC} in the minibuffer when 268way to @samp{auto-fill-mode}. The command that implements this
270completion is available runs the command 269behavior is called @code{minibuffer-complete-word}.
271@code{minibuffer-complete-word}.
272 270
273 Here are some commands you can use to choose a completion from a 271 Here are some commands you can use to choose a completion from a
274window that displays a list of completions: 272window that displays a list of completions:
@@ -366,11 +364,11 @@ strings, then they are not ignored. Ignored extensions do not apply to
366lists of completions---those always mention all possible completions. 364lists of completions---those always mention all possible completions.
367 365
368@vindex completion-auto-help 366@vindex completion-auto-help
369 Normally, a completion command that finds that the next character is 367 Normally, a completion command that cannot determine even one
370undetermined automatically displays a list of all possible 368additional character automatically displays a list of all possible
371completions. If the variable @code{completion-auto-help} is set to 369completions. If the variable @code{completion-auto-help} is set to
372@code{nil}, this does not happen, and you must type @kbd{?} to display 370@code{nil}, this automatic display is disabled, so you must type
373the possible completions. 371@kbd{?} to display the list of completions.
374 372
375@cindex Partial Completion mode 373@cindex Partial Completion mode
376@vindex partial-completion-mode 374@vindex partial-completion-mode
diff --git a/man/misc.texi b/man/misc.texi
index 8a7f5222a3d..df1ca152b6b 100644
--- a/man/misc.texi
+++ b/man/misc.texi
@@ -366,7 +366,7 @@ normally creates the file @file{foo} and produces no terminal output.
366 A numeric argument, as in @kbd{M-1 M-!}, says to insert terminal 366 A numeric argument, as in @kbd{M-1 M-!}, says to insert terminal
367output into the current buffer instead of a separate buffer. It puts 367output into the current buffer instead of a separate buffer. It puts
368point before the output, and sets the mark after the output. For 368point before the output, and sets the mark after the output. For
369instance, @kbd{M-1 M-! gunzip < foo.gz @key{RET}} would insert the 369instance, @kbd{M-1 M-! gunzip < foo.gz @key{RET}} would insert the
370uncompressed equivalent of @file{foo.gz} into the current buffer. 370uncompressed equivalent of @file{foo.gz} into the current buffer.
371 371
372 If the shell command line ends in @samp{&}, it runs asynchronously. 372 If the shell command line ends in @samp{&}, it runs asynchronously.
@@ -442,10 +442,13 @@ for time to elapse.
442face @code{comint-highlight-prompt}. This makes it easier to see 442face @code{comint-highlight-prompt}. This makes it easier to see
443previous input lines in the buffer. @xref{Faces}. 443previous input lines in the buffer. @xref{Faces}.
444 444
445 To make multiple subshells invoke @kbd{M-x shell} with a prefix 445 To make multiple subshells, you can invoke @kbd{M-x shell} with a
446argument (e.g. @kbd{C-u M-x shell}), which will cause it to prompt for 446prefix argument (e.g. @kbd{C-u M-x shell}), which will read a buffer
447a buffer name, and create (or reuse) a subshell in that buffer. All 447name and create (or reuse) a subshell in that buffer. You can also
448subshells in different buffers run independently and in parallel. 448rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely}, then
449then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
450All the subshells in different buffers run independently and in
451parallel.
449 452
450@vindex explicit-shell-file-name 453@vindex explicit-shell-file-name
451@cindex environment variables for subshells 454@cindex environment variables for subshells
@@ -1247,8 +1250,8 @@ emacsclient @r{@{}@r{[}+@var{line}@r{[}@var{column}@r{]}@r{]} @var{filename}@r{@
1247@noindent 1250@noindent
1248This tells Emacs to visit each of the specified files; if you specify a 1251This tells Emacs to visit each of the specified files; if you specify a
1249line number for a certain file, Emacs moves to that line in the file. 1252line number for a certain file, Emacs moves to that line in the file.
1250If you specify a column number for a file, Emacs moves to that column 1253If you specify a column number as well, Emacs puts point on that column
1251in the file. 1254in the line.
1252 1255
1253 Ordinarily, @code{emacsclient} does not return until you use the 1256 Ordinarily, @code{emacsclient} does not return until you use the
1254@kbd{C-x #} command on each of these buffers. When that happens, 1257@kbd{C-x #} command on each of these buffers. When that happens,
diff --git a/man/mule.texi b/man/mule.texi
index cd811722add..c9dc4a5bdab 100644
--- a/man/mule.texi
+++ b/man/mule.texi
@@ -302,7 +302,7 @@ preferred coding system as needed for the locale.
302 302
303 If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG} 303 If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG}
304environment variables while running Emacs, you may want to invoke the 304environment variables while running Emacs, you may want to invoke the
305@code{set-locale-environment} function afterwards to re-adjust the 305@code{set-locale-environment} function afterwards to readjust the
306language environment from the new locale. 306language environment from the new locale.
307 307
308@vindex locale-preferred-coding-systems 308@vindex locale-preferred-coding-systems
@@ -363,9 +363,9 @@ characters can share one input method. A few languages support several
363input methods. 363input methods.
364 364
365 The simplest kind of input method works by mapping ASCII letters 365 The simplest kind of input method works by mapping ASCII letters
366into another alphabet; this allows you to type characters that your 366into another alphabet; this allows you to use one other alphabet
367keyboard doesn't support directly. This is how the Greek and Russian 367instead of ASCII. The Greek and Russian input methods
368input methods work. 368work this way.
369 369
370 A more powerful technique is composition: converting sequences of 370 A more powerful technique is composition: converting sequences of
371characters into one letter. Many European input methods use composition 371characters into one letter. Many European input methods use composition
@@ -385,8 +385,8 @@ mapped into one syllable sign.
385methods, first you enter the phonetic spelling of a Chinese word (in 385methods, first you enter the phonetic spelling of a Chinese word (in
386input method @code{chinese-py}, among others), or a sequence of 386input method @code{chinese-py}, among others), or a sequence of
387portions of the character (input methods @code{chinese-4corner} and 387portions of the character (input methods @code{chinese-4corner} and
388@code{chinese-sw}, and others). One phonetic spelling typically 388@code{chinese-sw}, and others). One input sequence typically
389corresponds to many different Chinese characters. You select the one 389corresponds to many possible Chinese characters. You select the one
390you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n}, 390you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n},
391@kbd{C-p}, and digits, which have special meanings in this situation. 391@kbd{C-p}, and digits, which have special meanings in this situation.
392 392
@@ -408,9 +408,9 @@ alternative of the current row and uses it as input.
408 @key{TAB} in these Chinese input methods displays a buffer showing 408 @key{TAB} in these Chinese input methods displays a buffer showing
409all the possible characters at once; then clicking @kbd{Mouse-2} on 409all the possible characters at once; then clicking @kbd{Mouse-2} on
410one of them selects that alternative. The keys @kbd{C-f}, @kbd{C-b}, 410one of them selects that alternative. The keys @kbd{C-f}, @kbd{C-b},
411@kbd{C-n}, @kbd{C-p}, and digits continue to work also. When this 411@kbd{C-n}, @kbd{C-p}, and digits continue to work as usual, but they
412buffer is visible, @kbd{C-n} and @kbd{C-p} move the current 412do the highlighting in the buffer showing the possible characters,
413alternative to a different row. 413rather than in the echo area.
414 414
415 In Japanese input methods, first you input a whole word using 415 In Japanese input methods, first you input a whole word using
416phonetic spelling; then, after the word is in the buffer, Emacs 416phonetic spelling; then, after the word is in the buffer, Emacs
@@ -740,7 +740,7 @@ list.
740 If you use a coding system that specifies the end-of-line conversion 740 If you use a coding system that specifies the end-of-line conversion
741type, such as @code{iso-8859-1-dos}, what this means is that Emacs 741type, such as @code{iso-8859-1-dos}, what this means is that Emacs
742should attempt to recognize @code{iso-8859-1} with priority, and should 742should attempt to recognize @code{iso-8859-1} with priority, and should
743use DOS end-of-line conversion if it recognizes @code{iso-8859-1}. 743use DOS end-of-line conversion when it does recognize @code{iso-8859-1}.
744 744
745@vindex file-coding-system-alist 745@vindex file-coding-system-alist
746 Sometimes a file name indicates which coding system to use for the 746 Sometimes a file name indicates which coding system to use for the
@@ -801,9 +801,9 @@ escape sequence detection.
801local variables list at the end (@pxref{File Variables}). You do this 801local variables list at the end (@pxref{File Variables}). You do this
802by defining a value for the ``variable'' named @code{coding}. Emacs 802by defining a value for the ``variable'' named @code{coding}. Emacs
803does not really have a variable @code{coding}; instead of setting a 803does not really have a variable @code{coding}; instead of setting a
804variable, it uses the specified coding system for the file. For 804variable, this uses the specified coding system for the file. For
805example, @samp{-*-mode: C; coding: latin-1;-*-} specifies use of the 805example, @samp{-*-mode: C; coding: latin-1;-*-} specifies use of the
806Latin-1 coding system, as well as C mode. If you specify the coding 806Latin-1 coding system, as well as C mode. When you specify the coding
807explicitly in the file, that overrides 807explicitly in the file, that overrides
808@code{file-coding-system-alist}. 808@code{file-coding-system-alist}.
809 809
@@ -844,11 +844,10 @@ This means that it is possible for you to insert characters that
844cannot be encoded with the coding system that will be used to save the 844cannot be encoded with the coding system that will be used to save the
845buffer. For example, you could start with an ASCII file and insert a 845buffer. For example, you could start with an ASCII file and insert a
846few Latin-1 characters into it, or you could edit a text file in 846few Latin-1 characters into it, or you could edit a text file in
847Polish encoded in @code{iso-8859-2} and add to it translations of 847Polish encoded in @code{iso-8859-2} and add some Russian words to it.
848several Polish words into Russian. When you save the buffer, Emacs 848When you save the buffer, Emacs cannot use the current value of
849cannot use the current value of @code{buffer-file-coding-system}, 849@code{buffer-file-coding-system}, because the characters you added
850because the characters you added cannot be encoded by that coding 850cannot be encoded by that coding system.
851system.
852 851
853 When that happens, Emacs tries the most-preferred coding system (set 852 When that happens, Emacs tries the most-preferred coding system (set
854by @kbd{M-x prefer-coding-system} or @kbd{M-x 853by @kbd{M-x prefer-coding-system} or @kbd{M-x