aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAlan Mackenzie2010-01-19 11:43:25 +0000
committerAlan Mackenzie2010-01-19 11:43:25 +0000
commitf7247f5dfc26110d131b59158eb5dfa8de0d6f6e (patch)
treed09db2b166c3e06328404b7aba18221bff2cbc84 /doc
parent9c34521302b71eee8415a3e341870e2297b8381a (diff)
parent32d59dc3dbdc16c25f1f78659d3167c8f9670868 (diff)
downloademacs-f7247f5dfc26110d131b59158eb5dfa8de0d6f6e.tar.gz
emacs-f7247f5dfc26110d131b59158eb5dfa8de0d6f6e.zip
no message
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/ChangeLog26
-rw-r--r--doc/lispref/control.texi7
-rw-r--r--doc/lispref/display.texi3
-rw-r--r--doc/lispref/modes.texi4
-rw-r--r--doc/lispref/nonascii.texi54
-rw-r--r--doc/lispref/os.texi2
-rw-r--r--doc/lispref/positions.texi12
-rw-r--r--doc/lispref/text.texi13
-rw-r--r--doc/lispref/variables.texi3
-rw-r--r--doc/misc/ChangeLog12
-rw-r--r--doc/misc/calc.texi2
-rwxr-xr-xdoc/misc/eieio.texi12
-rw-r--r--doc/misc/gnus.texi5
13 files changed, 95 insertions, 60 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 0f4abc7a984..6dfc203f638 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,27 @@
12010-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 Avoid dubious uses of save-excursions.
4 * positions.texi (Excursions): Recommend the use of
5 save-current-buffer if applicable.
6 * text.texi (Clickable Text): Fix the example code which used
7 save-excursion in a naive way which sometimes preserves point and
8 sometimes not.
9 * variables.texi (Creating Buffer-Local):
10 * os.texi (Session Management):
11 * display.texi (GIF Images):
12 * control.texi (Cleanups): Use (save|with)-current-buffer.
13
142010-01-02 Eli Zaretskii <eliz@gnu.org>
15
16 * modes.texi (Example Major Modes): Fix indentation. (Bug#5195)
17
182010-01-02 Chong Yidong <cyd@stupidchicken.com>
19
20 * nonascii.texi (Text Representations, Character Codes)
21 (Converting Representations, Explicit Encoding)
22 (Translation of Characters): Use hex notation consistently.
23 (Character Sets): Fix map-charset-chars doc (Bug#5197).
24
12010-01-01 Chong Yidong <cyd@stupidchicken.com> 252010-01-01 Chong Yidong <cyd@stupidchicken.com>
2 26
3 * loading.texi (Where Defined): Make it clearer that these are 27 * loading.texi (Where Defined): Make it clearer that these are
@@ -8364,7 +8388,7 @@
8364;; End: 8388;; End:
8365 8389
8366 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 8390 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
8367 2007, 2008, 2009 Free Software Foundation, Inc. 8391 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
8368 8392
8369 This file is part of GNU Emacs. 8393 This file is part of GNU Emacs.
8370 8394
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 41f844b4e21..6d7c01d354b 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -1255,9 +1255,8 @@ make sure to kill it before finishing:
1255 1255
1256@smallexample 1256@smallexample
1257@group 1257@group
1258(save-excursion 1258(let ((buffer (get-buffer-create " *temp*")))
1259 (let ((buffer (get-buffer-create " *temp*"))) 1259 (with-current-buffer buffer
1260 (set-buffer buffer)
1261 (unwind-protect 1260 (unwind-protect
1262 @var{body-form} 1261 @var{body-form}
1263 (kill-buffer buffer)))) 1262 (kill-buffer buffer))))
@@ -1269,7 +1268,7 @@ You might think that we could just as well write @code{(kill-buffer
1269(current-buffer))} and dispense with the variable @code{buffer}. 1268(current-buffer))} and dispense with the variable @code{buffer}.
1270However, the way shown above is safer, if @var{body-form} happens to 1269However, the way shown above is safer, if @var{body-form} happens to
1271get an error after switching to a different buffer! (Alternatively, 1270get an error after switching to a different buffer! (Alternatively,
1272you could write another @code{save-excursion} around @var{body-form}, 1271you could write a @code{save-current-buffer} around @var{body-form},
1273to ensure that the temporary buffer becomes current again in time to 1272to ensure that the temporary buffer becomes current again in time to
1274kill it.) 1273kill it.)
1275 1274
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 8feb8ea8c81..512d7d53019 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -4394,8 +4394,7 @@ every 0.1 seconds.
4394 (when (= idx max) 4394 (when (= idx max)
4395 (setq idx 0)) 4395 (setq idx 0))
4396 (let ((img (create-image file nil :image idx))) 4396 (let ((img (create-image file nil :image idx)))
4397 (save-excursion 4397 (with-current-buffer buffer
4398 (set-buffer buffer)
4399 (goto-char (point-min)) 4398 (goto-char (point-min))
4400 (unless first-time (delete-char 1)) 4399 (unless first-time (delete-char 1))
4401 (insert-image img)) 4400 (insert-image img))
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 1e7ef76ed55..c78ced0d67b 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1062,8 +1062,8 @@ correspondingly more complicated. Here are excerpts from
1062 ;; @r{part of symbol names but not words.} 1062 ;; @r{part of symbol names but not words.}
1063 ;; @r{(The digit @samp{0} is @code{48} in the @acronym{ASCII} character set.)} 1063 ;; @r{(The digit @samp{0} is @code{48} in the @acronym{ASCII} character set.)}
1064 (while (< i ?0) 1064 (while (< i ?0)
1065 (modify-syntax-entry i "_ " table) 1065 (modify-syntax-entry i "_ " table)
1066 (setq i (1+ i))) 1066 (setq i (1+ i)))
1067 ;; @r{@dots{} similar code follows for other character ranges.} 1067 ;; @r{@dots{} similar code follows for other character ranges.}
1068@end group 1068@end group
1069@group 1069@group
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index d3bbc2c114f..59f790c90da 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -46,12 +46,12 @@ in most any known written language.
46follows the @dfn{Unicode Standard}. The Unicode Standard assigns a 46follows the @dfn{Unicode Standard}. The Unicode Standard assigns a
47unique number, called a @dfn{codepoint}, to each and every character. 47unique number, called a @dfn{codepoint}, to each and every character.
48The range of codepoints defined by Unicode, or the Unicode 48The range of codepoints defined by Unicode, or the Unicode
49@dfn{codespace}, is @code{0..10FFFF} (in hex), inclusive. Emacs 49@dfn{codespace}, is @code{0..#x10FFFF} (in hexadecimal notation),
50extends this range with codepoints in the range @code{110000..3FFFFF}, 50inclusive. Emacs extends this range with codepoints in the range
51which it uses for representing characters that are not unified with 51@code{#x110000..#x3FFFFF}, which it uses for representing characters
52Unicode and raw 8-bit bytes that cannot be interpreted as characters 52that are not unified with Unicode and @dfn{raw 8-bit bytes} that
53(the latter occupy the range @code{3FFF80..3FFFFF}). Thus, a 53cannot be interpreted as characters. Thus, a character codepoint in
54character codepoint in Emacs is a 22-bit integer number. 54Emacs is a 22-bit integer number.
55 55
56@cindex internal representation of characters 56@cindex internal representation of characters
57@cindex characters, representation in buffers and strings 57@cindex characters, representation in buffers and strings
@@ -189,8 +189,8 @@ of characters as @var{string}. If @var{string} is a multibyte string,
189it is returned unchanged. The function assumes that @var{string} 189it is returned unchanged. The function assumes that @var{string}
190includes only @acronym{ASCII} characters and raw 8-bit bytes; the 190includes only @acronym{ASCII} characters and raw 8-bit bytes; the
191latter are converted to their multibyte representation corresponding 191latter are converted to their multibyte representation corresponding
192to the codepoints in the @code{3FFF80..3FFFFF} area (@pxref{Text 192to the codepoints @code{#x3FFF80} through @code{#x3FFFFF}, inclusive
193Representations, codepoints}). 193(@pxref{Text Representations, codepoints}).
194@end defun 194@end defun
195 195
196@defun string-to-unibyte string 196@defun string-to-unibyte string
@@ -271,15 +271,19 @@ contains no text properties.
271 271
272 The unibyte and multibyte text representations use different 272 The unibyte and multibyte text representations use different
273character codes. The valid character codes for unibyte representation 273character codes. The valid character codes for unibyte representation
274range from 0 to 255---the values that can fit in one byte. The valid 274range from 0 to @code{#xFF} (255)---the values that can fit in one
275character codes for multibyte representation range from 0 to 4194303 275byte. The valid character codes for multibyte representation range
276(#x3FFFFF). In this code space, values 0 through 127 are for 276from 0 to @code{#x3FFFFF}. In this code space, values 0 through
277@acronym{ASCII} characters, and values 128 through 4194175 (#x3FFF7F) 277@code{#x7F} (127) are for @acronym{ASCII} characters, and values
278are for non-@acronym{ASCII} characters. Values 0 through 1114111 278@code{#x80} (128) through @code{#x3FFF7F} (4194175) are for
279(#10FFFF) correspond to Unicode characters of the same codepoint; 279non-@acronym{ASCII} characters.
280values 1114112 (#110000) through 4194175 (#x3FFF7F) represent 280
281characters that are not unified with Unicode; and values 4194176 281 Emacs character codes are a superset of the Unicode standard.
282(#x3FFF80) through 4194303 (#x3FFFFF) represent eight-bit raw bytes. 282Values 0 through @code{#x10FFFF} (1114111) correspond to Unicode
283characters of the same codepoint; values @code{#x110000} (1114112)
284through @code{#x3FFF7F} (4194175) represent characters that are not
285unified with Unicode; and values @code{#x3FFF80} (4194176) through
286@code{#x3FFFFF} (4194303) represent eight-bit raw bytes.
283 287
284@defun characterp charcode 288@defun characterp charcode
285This returns @code{t} if @var{charcode} is a valid character, and 289This returns @code{t} if @var{charcode} is a valid character, and
@@ -540,7 +544,7 @@ and strings.
540@cindex @code{eight-bit}, a charset 544@cindex @code{eight-bit}, a charset
541 Emacs defines several special character sets. The character set 545 Emacs defines several special character sets. The character set
542@code{unicode} includes all the characters whose Emacs code points are 546@code{unicode} includes all the characters whose Emacs code points are
543in the range @code{0..10FFFF}. The character set @code{emacs} 547in the range @code{0..#x10FFFF}. The character set @code{emacs}
544includes all @acronym{ASCII} and non-@acronym{ASCII} characters. 548includes all @acronym{ASCII} and non-@acronym{ASCII} characters.
545Finally, the @code{eight-bit} charset includes the 8-bit raw bytes; 549Finally, the @code{eight-bit} charset includes the 8-bit raw bytes;
546Emacs uses it to represent raw bytes encountered in text. 550Emacs uses it to represent raw bytes encountered in text.
@@ -628,12 +632,12 @@ that fits the second argument of @code{decode-char} above. If
628 The following function comes in handy for applying a certain 632 The following function comes in handy for applying a certain
629function to all or part of the characters in a charset: 633function to all or part of the characters in a charset:
630 634
631@defun map-charset-chars function charset &optional arg from to 635@defun map-charset-chars function charset &optional arg from-code to-code
632Call @var{function} for characters in @var{charset}. @var{function} 636Call @var{function} for characters in @var{charset}. @var{function}
633is called with two arguments. The first one is a cons cell 637is called with two arguments. The first one is a cons cell
634@code{(@var{from} . @var{to})}, where @var{from} and @var{to} 638@code{(@var{from} . @var{to})}, where @var{from} and @var{to}
635indicate a range of characters contained in charset. The second 639indicate a range of characters contained in charset. The second
636argument is the optional argument @var{arg}. 640argument passed to @var{function} is @var{arg}.
637 641
638By default, the range of codepoints passed to @var{function} includes 642By default, the range of codepoints passed to @var{function} includes
639all the characters in @var{charset}, but optional arguments 643all the characters in @var{charset}, but optional arguments
@@ -751,7 +755,7 @@ This variable automatically becomes buffer-local when set.
751 755
752@defun make-translation-table-from-vector vec 756@defun make-translation-table-from-vector vec
753This function returns a translation table made from @var{vec} that is 757This function returns a translation table made from @var{vec} that is
754an array of 256 elements to map byte values 0 through 255 to 758an array of 256 elements to map bytes (values 0 through #xFF) to
755characters. Elements may be @code{nil} for untranslated bytes. The 759characters. Elements may be @code{nil} for untranslated bytes. The
756returned table has a translation table for reverse mapping in the 760returned table has a translation table for reverse mapping in the
757first extra slot, and the value @code{1} in the second extra slot. 761first extra slot, and the value @code{1} in the second extra slot.
@@ -1562,10 +1566,10 @@ in this section.
1562text. They logically consist of a series of byte values; that is, a 1566text. They logically consist of a series of byte values; that is, a
1563series of @acronym{ASCII} and eight-bit characters. In unibyte 1567series of @acronym{ASCII} and eight-bit characters. In unibyte
1564buffers and strings, these characters have codes in the range 0 1568buffers and strings, these characters have codes in the range 0
1565through 255. In a multibyte buffer or string, eight-bit characters 1569through #xFF (255). In a multibyte buffer or string, eight-bit
1566have character codes higher than 255 (@pxref{Text Representations}), 1570characters have character codes higher than #xFF (@pxref{Text
1567but Emacs transparently converts them to their single-byte values when 1571Representations}), but Emacs transparently converts them to their
1568you encode or decode such text. 1572single-byte values when you encode or decode such text.
1569 1573
1570 The usual way to read a file into a buffer as a sequence of bytes, so 1574 The usual way to read a file into a buffer as a sequence of bytes, so
1571you can decode the contents explicitly, is with 1575you can decode the contents explicitly, is with
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index ded70f4927b..8d62ab87499 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -2182,7 +2182,7 @@ Emacs is restarted by the session manager.
2182 2182
2183@group 2183@group
2184(defun save-yourself-test () 2184(defun save-yourself-test ()
2185 (insert "(save-excursion 2185 (insert "(save-current-buffer
2186 (switch-to-buffer \"*scratch*\") 2186 (switch-to-buffer \"*scratch*\")
2187 (insert \"I am restored\"))") 2187 (insert \"I am restored\"))")
2188 nil) 2188 nil)
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index deded596f81..3897efc6f2b 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -806,7 +806,9 @@ after the completion of the excursion.
806 806
807 The forms for saving and restoring the configuration of windows are 807 The forms for saving and restoring the configuration of windows are
808described elsewhere (see @ref{Window Configurations}, and @pxref{Frame 808described elsewhere (see @ref{Window Configurations}, and @pxref{Frame
809Configurations}). 809Configurations}). When only the identity of the current buffer needs
810to be saved and restored, it is preferable to use
811@code{save-current-buffer} instead.
810 812
811@defspec save-excursion body@dots{} 813@defspec save-excursion body@dots{}
812@cindex mark excursion 814@cindex mark excursion
@@ -817,10 +819,10 @@ buffer and the values of point and the mark in it, evaluates
817point and the mark. All three saved values are restored even in case of 819point and the mark. All three saved values are restored even in case of
818an abnormal exit via @code{throw} or error (@pxref{Nonlocal Exits}). 820an abnormal exit via @code{throw} or error (@pxref{Nonlocal Exits}).
819 821
820The @code{save-excursion} special form is the standard way to switch 822The @code{save-excursion} special form is the standard way to move
821buffers or move point within one part of a program and avoid affecting 823point within one part of a program and avoid affecting the rest of the
822the rest of the program. It is used more than 4000 times in the Lisp 824program. It is used more than 4000 times in the Lisp sources
823sources of Emacs. 825of Emacs.
824 826
825@code{save-excursion} does not save the values of point and the mark for 827@code{save-excursion} does not save the values of point and the mark for
826other buffers, so changes in other buffers remain in effect after 828other buffers, so changes in other buffers remain in effect after
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 91b65017754..7c3f91c3fa8 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3524,13 +3524,12 @@ following command:
3524(defun dired-mouse-find-file-other-window (event) 3524(defun dired-mouse-find-file-other-window (event)
3525 "In Dired, visit the file or directory name you click on." 3525 "In Dired, visit the file or directory name you click on."
3526 (interactive "e") 3526 (interactive "e")
3527 (let (window pos file) 3527 (let ((window (posn-window (event-end event)))
3528 (save-excursion 3528 (pos (posn-point (event-end event)))
3529 (setq window (posn-window (event-end event)) 3529 file)
3530 pos (posn-point (event-end event))) 3530 (if (not (windowp window))
3531 (if (not (windowp window)) 3531 (error "No file chosen"))
3532 (error "No file chosen")) 3532 (with-current-buffer (window-buffer window)
3533 (set-buffer (window-buffer window))
3534 (goto-char pos) 3533 (goto-char pos)
3535 (setq file (dired-get-file-for-visit))) 3534 (setq file (dired-get-file-for-visit)))
3536 (if (file-directory-p file) 3535 (if (file-directory-p file)
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 4f9f9c17369..d8ab347eebf 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1240,8 +1240,7 @@ foo
1240 1240
1241@group 1241@group
1242;; @r{In buffer @samp{b2}, the value hasn't changed.} 1242;; @r{In buffer @samp{b2}, the value hasn't changed.}
1243(save-excursion 1243(with-current-buffer "b2"
1244 (set-buffer "b2")
1245 foo) 1244 foo)
1246 @result{} 5 1245 @result{} 5
1247@end group 1246@end group
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 75561a0ba21..cabec8f7fb1 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,13 @@
12010-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * gnus.texi (Posting Styles): Use with-current-buffer.
4 * calc.texi (Defining Simple Commands): Prefer save-current-buffer.
5
62010-01-02 Kevin Ryde <user42@zip.com.au>
7
8 * eieio.texi (Naming Conventions): Correction to xref on elisp
9 coding conventions, is "Tips" node not "Standards".
10
12009-12-24 Chong Yidong <cyd@stupidchicken.com> 112009-12-24 Chong Yidong <cyd@stupidchicken.com>
2 12
3 * calc.texi (General Mode Commands): Calc file should be in .emacs.d. 13 * calc.texi (General Mode Commands): Calc file should be in .emacs.d.
@@ -6507,7 +6517,7 @@
6507;; End: 6517;; End:
6508 6518
6509 Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 6519 Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
6510 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 6520 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
6511 6521
6512 This file is part of GNU Emacs. 6522 This file is part of GNU Emacs.
6513 6523
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index c88bb3e9ab8..e7c03197704 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -31968,7 +31968,7 @@ the function with code that looks roughly like this:
31968@smallexample 31968@smallexample
31969(let ((calc-command-flags nil)) 31969(let ((calc-command-flags nil))
31970 (unwind-protect 31970 (unwind-protect
31971 (save-excursion 31971 (save-current-buffer
31972 (calc-select-buffer) 31972 (calc-select-buffer)
31973 @emph{body of function} 31973 @emph{body of function}
31974 @emph{renumber stack} 31974 @emph{renumber stack}
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index c8a34bbd160..06ff1677f0f 100755
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -11,7 +11,7 @@
11@copying 11@copying
12This manual documents EIEIO, an object framework for Emacs Lisp. 12This manual documents EIEIO, an object framework for Emacs Lisp.
13 13
14Copyright @copyright{} 2007, 2008, 2009 Free Software Foundation, Inc. 14Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
15 15
16@quotation 16@quotation
17Permission is granted to copy, distribute and/or modify this document 17Permission is granted to copy, distribute and/or modify this document
@@ -1776,11 +1776,11 @@ This signal is called when an attempt to reference @var{slot} in
1776@comment node-name, next, previous, up 1776@comment node-name, next, previous, up
1777@chapter Naming Conventions 1777@chapter Naming Conventions
1778 1778
1779@pxref{Standards,,,elisp,GNU Emacs Lisp Reference Manual}, for a 1779@xref{Tips,,Tips and Conventions,elisp,GNU Emacs Lisp Reference
1780description of Emacs Lisp programming conventions. These conventions 1780Manual}, for a description of Emacs Lisp programming conventions.
1781help ensure that Emacs packages work nicely one another, so an 1781These conventions help ensure that Emacs packages work nicely one
1782@eieio{}-based program should follow them. Here are some conventions 1782another, so an @eieio{}-based program should follow them. Here are
1783that apply specifically to @eieio{}-based programs: 1783some conventions that apply specifically to @eieio{}-based programs:
1784 1784
1785@itemize 1785@itemize
1786 1786
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index e90789d2494..a33a91ba6f1 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -10,7 +10,7 @@
10 10
11@copying 11@copying
12Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 12Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
132003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 132003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
14 14
15@quotation 15@quotation
16Permission is granted to copy, distribute and/or modify this document 16Permission is granted to copy, distribute and/or modify this document
@@ -13449,8 +13449,7 @@ So here's a new example:
13449 (body "You are fired.\n\nSincerely, your boss.") 13449 (body "You are fired.\n\nSincerely, your boss.")
13450 (organization "Important Work, Inc")) 13450 (organization "Important Work, Inc"))
13451 ("nnml:.*" 13451 ("nnml:.*"
13452 (From (save-excursion 13452 (From (with-current-buffer gnus-article-buffer
13453 (set-buffer gnus-article-buffer)
13454 (message-fetch-field "to")))) 13453 (message-fetch-field "to"))))
13455 ("^nn.+:" 13454 ("^nn.+:"
13456 (signature-file "~/.mail-signature")))) 13455 (signature-file "~/.mail-signature"))))