annotate doc/misc/sc.texi @ 110787:1a4e0055489f

* epa.texi (Caching Passphrases): New section.
author Daiki Ueno <ueno@unixuser.org>
date Wed, 06 Oct 2010 16:12:42 +0900
parents bfaa9bd2f5f1
children 376148b31b5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 \input texinfo @comment -*-texinfo-*-
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @comment 3.48
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
3 @comment %**start of header (This is for running Texinfo on a region.)
84329
3d431f1997d8 (setfilename): Go up one more level to ../../info.
Glenn Morris <rgm@gnu.org>
parents: 84313
diff changeset
4 @setfilename ../../info/sc
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
5 @settitle Supercite User's Manual
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 @finalout
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 @end iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9
109264
f1266b2f017e Untabify doc/misc/*.texi.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
10 @c @setchapternewpage odd % For book style double sided manual.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11 @comment %**end of header (This is for running Texinfo on a region.)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13 @copying
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
14 This document describes Supercite, an Emacs package for citing and
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
15 attributing replies to mail and news messages.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16
105934
26b37c3219d1 (Hints to MUA Authors): MUA should do any decoding.
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
17 Copyright @copyright{} 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 105934
diff changeset
18 2008, 2009, 2010 Free Software Foundation, Inc.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 @quotation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 Permission is granted to copy, distribute and/or modify this document
99709
6de181810d0f Relicense all texi files under FDL 1.3 or later.
Glenn Morris <rgm@gnu.org>
parents: 95937
diff changeset
22 under the terms of the GNU Free Documentation License, Version 1.3 or
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 any later version published by the Free Software Foundation; with no
95937
6f0fce2c3559 Remove references to external license, since doclicense is included.
Glenn Morris <rgm@gnu.org>
parents: 95874
diff changeset
24 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
6f0fce2c3559 Remove references to external license, since doclicense is included.
Glenn Morris <rgm@gnu.org>
parents: 95874
diff changeset
25 and with the Back-Cover Texts as in (a) below. A copy of the license
6f0fce2c3559 Remove references to external license, since doclicense is included.
Glenn Morris <rgm@gnu.org>
parents: 95874
diff changeset
26 is included in the section entitled ``GNU Free Documentation License''.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27
95874
eafbd7a5c9be Update Back-Cover Text as per maintain.info.
Glenn Morris <rgm@gnu.org>
parents: 92246
diff changeset
28 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
eafbd7a5c9be Update Back-Cover Text as per maintain.info.
Glenn Morris <rgm@gnu.org>
parents: 92246
diff changeset
29 modify this GNU manual. Buying copies from the FSF supports it in
eafbd7a5c9be Update Back-Cover Text as per maintain.info.
Glenn Morris <rgm@gnu.org>
parents: 92246
diff changeset
30 developing GNU and promoting software freedom.''
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 @end quotation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 @end copying
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 @c @smallbook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 @dircategory Emacs
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 @direntry
109264
f1266b2f017e Untabify doc/misc/*.texi.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
38 * SC: (sc). Supercite lets you cite parts of messages
f1266b2f017e Untabify doc/misc/*.texi.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
39 you're replying to, in flexible ways.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 @end direntry
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 @titlepage
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
43 @title Supercite User's Manual
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
44 @subtitle cite and attribute mail and
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
45 @subtitle news, in flexible ways
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
46
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 @page
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 @vskip 0pt plus 1filll
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 @insertcopying
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 @end titlepage
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51
102059
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
52 @summarycontents
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
53 @contents
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
54
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55 @ifnottex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 @node Top, Introduction, (dir), (dir)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 @comment node-name, next, previous, up
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58
102059
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
59 @insertcopying
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
60
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
61 The manual is divided
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
62 into the following chapters.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 * Introduction::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 * Citations::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67 * Getting Connected::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 * Replying and Yanking::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69 * Selecting an Attribution::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 * Configuring the Citation Engine::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71 * Post-yank Formatting Commands::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 * Information Keys and the Info Alist::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 * Reference Headers::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 * Hints to MUA Authors::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75 * Thanks and History::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77 * GNU Free Documentation License::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 * Concept Index::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
79 * Command Index::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80 * Key Index::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 * Variable Index::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
82 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
83 @end ifnottex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
84
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
85
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
86 @node Introduction, Usage Overview, Top, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
87 @chapter Introduction
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
88
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
89 Supercite is a GNU Emacs package written entirely in Emacs Lisp. It
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
90 interfaces to most of the commonly used Emacs mail user agents
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91 (@dfn{MUAs}) and news user agents (@dfn{NUAs}), and provides
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
92 sophisticated facilities for the citing and attributing of message
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
93 replies. Supercite has a very specific and limited role in the process
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
94 of composing replies to both USENET network news and electronic mail.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
95
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
96 The preferred way to spell Supercite is with a capital @samp{S},
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
97 lowercase @samp{upercite}.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
98
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
99 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
100 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
101 * Usage Overview::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102 * What Supercite Does Not Do::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103 * What Supercite Does::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
105 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
107 @cindex MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
108 @cindex NUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109 Supercite is only useful in conjunction with MUAs and NUAs such as VM,
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
110 Gnus, RMAIL, MH-E, etc. Supercite is typically called by the MUA after a
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
111 reply buffer has been setup. Thereafter, Supercite's many commands and
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
112 formatting styles are available in that reply buffer until the reply is
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
113 sent. Supercite is re-initialized in each new reply buffer.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
114
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
115
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
116 @node Usage Overview, What Supercite Does Not Do, Introduction, Introduction
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
117 @kindex r
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
118 @kindex f
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
119 @kindex C-c C-y
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
120 @cindex yank
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
121 @cindex cite, citing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
122 @cindex attribute, attributing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
123 @section Usage Overview
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
124
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125 Typical usage is as follows. You want to reply or followup to a message
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 in your MUA. You will probably hit @kbd{r} (i.e., ``reply'') or @kbd{f}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
127 (i.e., ``forward'') to begin composing the reply. In response, the MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 will create a reply buffer and initialize the outgoing mail headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
129 appropriately. The body of the reply will usually be empty at this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
130 point. You now decide that you would like to include part of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
131 original message in your reply. To do this, you @dfn{yank} the original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132 message into the reply buffer, typically with a key stroke such as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133 @kbd{C-c C-y}. This sequence will invoke an MUA-specific function which
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
134 fills the body of the reply with the original message and then
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
135 @dfn{attributes} this text to its author. This is called @dfn{citing}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
136 and its effect is to prefix every line from the original message with a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
137 special text tag. Most MUAs provide some default style of citing; by
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
138 using Supercite you gain a wider flexibility in the look and style of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
139 citations. Supercite's only job is to cite the original message.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
140
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
141 @node What Supercite Does Not Do, What Supercite Does, Usage Overview, Introduction
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
142 @section What Supercite Doesn't Do
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
143
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144 Because of this clear division of labor, there are useful features which
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
145 are the sole responsibility of the MUA, even though it might seem that
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
146 Supercite should provide them. For example, many people would like to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
147 be able to yank (and cite) only a portion of the original message.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
148 Since Supercite only modifies the text it finds in the reply buffer as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
149 set up by the MUA, it is the MUA's responsibility to do partial yanking.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
150 @xref{Reply Buffer Initialization}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
151
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
152 @vindex mail-header-separator
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
153 Another potentially useful thing would be for Supercite to set up the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
154 outgoing mail headers with information it gleans from the reply buffer.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
155 But by previously agreed upon convention, any text above the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
156 @code{mail-header-separator} which separates mail headers from message
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
157 bodies cannot be modified by Supercite. Supercite, in fact, doesn't
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
158 know anything about the meaning of these headers, and never ventures
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
159 outside the designated region. @xref{Hints to MUA Authors}, for more
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
160 details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
161
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
162 @node What Supercite Does, Citations, What Supercite Does Not Do, Introduction
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163 @findex sc-cite-original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
164 @section What Supercite Does
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
165
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
166 Supercite is invoked for the first time on a reply buffer via your MUA's
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167 reply or forward command. This command will actually perform citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
168 by calling a hook variable to which Supercite's top-level function
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
169 @code{sc-cite-original} has been added. When @code{sc-cite-original} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
170 executed, the original message must be set up in a very specific way,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
171 but this is handled automatically by the MUA. @xref{Hints to MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
172 Authors}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
173
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
174 @cindex info alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
175 The first thing Supercite does, via @code{sc-cite-original}, is to parse
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
176 through the original message's mail headers. It saves this data in an
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177 @dfn{information association list}, or @dfn{info alist}. The information
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
178 in this list is used in a number of places throughout Supercite.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
179 @xref{Information Keys and the Info Alist}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
180
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
181 @cindex nuking mail headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
182 @cindex reference header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
183 After the mail header info is extracted, the headers are optionally
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
184 removed (@dfn{nuked}) from the reply. Supercite then writes a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
185 @dfn{reference header} into the buffer. This reference header is a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
186 string carrying details about the citation it is about to perform.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
187
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
188 @cindex modeline
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
189 Next, Supercite visits each line in the reply, transforming the line
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
190 according to a customizable ``script.'' Lines which were not previously
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
191 cited in the original message are given a citation, while already cited
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
192 lines remain untouched, or are coerced to your preferred style.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
193 Finally, Supercite installs a keymap into the reply buffer so that you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
194 have access to Supercite's post-yank formatting and reciting commands as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
195 you subsequently edit your reply. You can tell that Supercite has been
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
196 installed into the reply buffer because that buffer's modeline will
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
197 display the minor mode string @samp{SC}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
198
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
199 @cindex filladapt
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
200 @cindex gin-mode
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
201 @vindex fill-prefix
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
202 @findex fill-paragraph
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
203 When the original message is cited by @code{sc-cite-original}, it will
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
204 (optionally) be filled by Supercite. However, if you manually edit the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
205 cited text and want to re-fill it, you must use an add-on package such
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
206 as @cite{filladapt} or @cite{gin-mode}. These packages can recognize
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
207 Supercited text and will fill them appropriately. Emacs' built-in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
208 filling routines, e.g@. @code{fill-paragraph}, do not recognize cited
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
209 text and will not re-fill them properly because it cannot guess the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
210 @code{fill-prefix} being used.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
211 @xref{Post-yank Formatting Commands}, for details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
212
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
213 As mentioned above, Supercite provides commands to recite or uncite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
214 regions of text in the reply buffer, and commands to perform other
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
215 beautifications on the cited original text, maintaining consistent and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
216 informative citations throughout. Supercite tries to be as configurable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
217 as possible to allow for a wide range of personalized citation styles,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
218 but it is also immediately useful with the default configuration, once
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
219 it has been properly connected to your MUA. @xref{Getting Connected},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
220 for more details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
221
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
222 @node Citations, Citation Elements, What Supercite Does, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
223 @cindex nested citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
224 @cindex citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
225 @chapter Citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
226
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
227 A @dfn{citation} is the acknowledgement of the original author of a mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
228 message in the body of the reply. There are two basic citation styles
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
229 which Supercite supports. The first, called @dfn{nested citations} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
230 an anonymous form of citation; in other words, an indication is made
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
231 that the cited line was written by someone @emph{other} that the current
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
232 message author (i.e., other than you, the person composing the reply),
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
233 but no reference is made as to the identity of the original author.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
234 This style should look familiar since its use on the net is widespread.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
235 Here's an example of what a message buffer would look like using nested
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
236 citations after multiple replies:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
237
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
238 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
239 >> John originally wrote this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
240 >> and this as well
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241 > Jane said that John didn't know
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
242 > what he was talking about
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
243 And that's what I think too.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
244 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
245
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
246 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
247 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
248 * Citation Elements::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
249 * Recognizing Citations::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
250 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
251 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
252
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
253 Note that multiple inclusions of the original messages result in a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
254 nesting of the @samp{@code{>}} characters. This can sometimes be quite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
255 confusing when many levels of citations are included since it may be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
256 difficult or impossible to figure out who actually participated in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
257 thread, and multiple nesting of @samp{@code{>}} characters can sometimes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
258 make the message very difficult for the eye to scan.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
259
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
260 @cindex non-nested citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
261 In @dfn{non-nested citations}, each cited line begins with an
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
262 informative string attributing that line to the original author. Only
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
263 the first level of attribution will be shown; subsequent citations don't
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
264 nest the citation strings. The above dialog might look like this when
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
265 non-nested citations are used:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
266
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
267 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268 John> John originally wrote this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 John> and this as well
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
270 Jane> Jane said that John didn't know
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
271 Jane> what he was talking about
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
272 And that's what I think too.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
273 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
274
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
275 Notice here that my inclusion of Jane's inclusion of John's original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276 message did not result in a line cited with @samp{Jane>John>}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
277
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
278 @vindex sc-nested-citation-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
279 @vindex nested-citation-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
280 Supercite supports both styles of citation, and the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
281 @code{sc-nested-citation-p} controls which style it will use when citing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
282 previously uncited text. When this variable is @code{nil} (the default),
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
283 non-nested citations are used. When non-@code{nil}, nested citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284 are used.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
285
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
286
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
287 @node Citation Elements, Recognizing Citations, Citations, Citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
288 @cindex citation string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
289 @section Citation Elements
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
290
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
291 @dfn{Citation strings} are composed of one or more elements. Non-nested
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292 citations are composed of four elements, three of which are directly
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 user definable. The elements are concatenated together, in this order:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
295 @cindex citation leader
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
296 @vindex citation-leader (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
297 @vindex sc-citation-leader
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
298 @enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
299 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
300 The @dfn{citation leader}. The citation leader is contained in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
301 variable @code{sc-citation-leader}, and has the default value of a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
302 string containing four spaces.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
303
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
304 @cindex attribution string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
305 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
306 The @dfn{attribution string}. This element is supplied automatically by
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
307 Supercite, based on your preferences and the original message's mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
308 headers, though you may be asked to confirm Supercite's choice.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
309 @xref{Selecting an Attribution}, for more details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
310
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
311 @cindex citation delimiter
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
312 @vindex sc-citation-delimiter
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
313 @vindex citation-delimiter (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315 The @dfn{citation delimiter}. This string, contained in the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
316 @code{sc-citation-delimiter} visually separates the citation from the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
317 text of the line. This variable has a default value of @code{">"} and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318 for best results, the string should consist of only a single character.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320 @cindex citation separator
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 @vindex citation-separator (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322 @vindex sc-citation-separator
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
323 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
324 The @dfn{citation separator}. The citation separator is contained in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
325 the variable @code{sc-citation-separator}, and has the default value of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
326 a string containing a single space.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
327 @end enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
328
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
329 For example, suppose you were using the default values for the above
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
330 variables, and Supercite provided the attribution string @samp{Jane}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
331 In this case, the composed, non-nested citation string used might be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
332 something like
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
333 @code{@asis{" Jane> "}}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
334 This citation string will be inserted in front of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
335 every line in the original message that is not already cited.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
336
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
337 Nested citations, being simpler than non-nested citations, are composed
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
338 of the same elements, sans the attribution string. Supercite is smart
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
339 enough to not put additional spaces between citation delimiters for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
340 multi-level nested citations.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
341
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
342 @node Recognizing Citations, Getting Connected, Citation Elements, Citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
343 @section Recognizing Citations
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
344
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
345 Supercite also recognizes citations in the original article, and can
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
346 transform these already cited lines in a number of ways. This is how
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
347 Supercite suppresses the multiple citing of non-nested citations.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
348 Recognition of cited lines is controlled by variables analogous to those
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
349 that make up the citation string as mentioned previously.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
350
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
351 @vindex sc-citation-leader-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
352 @vindex citation-leader-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
353 @vindex sc-citation-delimiter-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
354 @vindex citation-delimiter-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
355 @vindex sc-citation-separator-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
356 @vindex citation-separator-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
357 @vindex sc-citation-root-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
358 @vindex citation-root-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
359 @vindex sc-citation-nonnested-root-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
360 @vindex citation-nonnested-root-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
361
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
362 The variable @code{sc-citation-leader-regexp} describes how citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
363 leaders can look, by default it matches any number of spaces or tabs.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
364 Note that since the lisp function @code{looking-at} is used to do the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
365 matching, if you change this variable it need not start with a leading
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
366 @code{"^"}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
367
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
368 Similarly, the variables @code{sc-citation-delimiter-regexp} and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
369 @code{sc-citation-separator-regexp} respectively describe how citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
370 delimiters and separators can look. They follow the same rule as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
371 @code{sc-citation-leader-regexp} above.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
372
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
373 When Supercite composes a citation string, it provides the attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
374 automatically. The analogous variable which handles recognition of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
375 attribution part of citation strings is @code{sc-citation-root-regexp}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
376 This variable describes the attribution root for both nested and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
377 non-nested citations. By default it can match zero-to-many alphanumeric
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
378 characters (also ``.'', ``-'', and ``_''). But in some situations,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
379 Supercite has to determine whether it is looking at a nested or
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
380 non-nested citation. Thus the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
381 @code{sc-citation-nonnested-root-regexp} is used to describe only
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
382 non-nested citation roots. It is important to remember that if you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
383 change @code{sc-citation-root-regexp} you should always also change
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
384 @code{sc-citation-nonnested-root-regexp}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
385
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
386 @node Information Keys and the Info Alist, Reference Headers, Miscellaneous Commands, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
387 @cindex information keys
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
388 @cindex Info Alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
389 @cindex information extracted from mail fields
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
390 @findex sc-mail-field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
391 @findex mail-field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
392 @chapter Information Keys and the Info Alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
393
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
394 @dfn{Mail header information keys} are nuggets of information that
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
395 Supercite extracts from the various mail headers of the original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
396 message, placed in the reply buffer by the MUA. Information is kept in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
397 the @dfn{Info Alist} as key-value pairs, and can be retrieved for use in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
398 various places within Supercite, such as in header rewrite functions and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
399 attribution selection. Other bits of data, composed and created by
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
400 Supercite, are also kept as key-value pairs in this alist. In the case
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
401 of mail fields, the key is the name of the field, omitting the trailing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
402 colon. Info keys are always case insensitive (as are mail headers), and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
403 the value for a corresponding key can be retrieved from the alist with
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
404 the @code{sc-mail-field} function. Thus, if the following fields were
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
405 present in the original article:@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
406
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
407 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
408 Date:@: 08 April 1991, 17:32:09 EST
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
409 Subject:@: Better get out your asbestos suit
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
410 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
411
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
412 @vindex sc-mumble
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
413 @vindex mumble (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
414 @noindent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
415 then, the following lisp constructs return:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
416
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
417 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
418 (sc-mail-field "date")
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
419 ==> "08 April 1991, 17:32:09 EST"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
420
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
421 (sc-mail-field "subject")
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
422 ==> "Better get out your asbestos suit"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
423 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
424
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
425 Since the argument to @code{sc-mail-field} can be any string, it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
426 possible that the mail field will not be present on the info alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
427 (possibly because the mail header was not present in the original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
428 message). In this case, @code{sc-mail-field} will return the value of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
429 the variable @code{sc-mumble}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
430
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
431 Supercite always places all mail fields found in the yanked original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
432 article into the info alist. If possible, Supercite will also places
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
433 the following keys into the info alist:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
434
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
435 @table @code
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
436 @cindex sc-attribution info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
437 @cindex attribution info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
438 @item "sc-attribution"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
439 the selected attribution string.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
440
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
441 @cindex sc-citation info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
442 @cindex citation info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
443 @item "sc-citation"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
444 the non-nested citation string.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
445
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
446 @cindex sc-from-address info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
447 @cindex from-address info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
448 @item "sc-from-address"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
449 email address extracted from the @samp{From:@:} field.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
450
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
451 @cindex sc-reply-address info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
452 @cindex reply-address info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
453 @item "sc-reply-address"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
454 email address extracted from the @samp{Reply-To:@:} field.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
455
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
456 @cindex sc-sender-address info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
457 @cindex sender-address info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
458 @item "sc-sender-address"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
459 email address extracted from the @samp{Sender:@:} field.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
460
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
461 @cindex sc-emailname info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
462 @cindex emailname info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
463 @item "sc-emailname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
464 email terminus extracted from the @samp{From:@:} field.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
465
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
466 @cindex sc-initials info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
467 @cindex initials info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
468 @item "sc-initials"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
469 the author's initials.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
470
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
471 @cindex sc-author info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
472 @cindex author info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
473 @item "sc-author"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
474 the author's full name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
475
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
476 @cindex sc-firstname info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
477 @cindex firstname info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
478 @item "sc-firstname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
479 the author's first name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
480
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
481 @cindex sc-lastname info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
482 @cindex lastname info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
483 @item "sc-lastname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
484 the author's last name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
485
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
486 @cindex sc-middlename-1 info field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
487 @cindex middlename-1 info field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
488 @item "sc-middlename-1"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
489 the author's first middle name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
490 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
491
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
492 If the author's name has more than one middle name, they will appear as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
493 info keys with the appropriate index (e.g., @code{"sc-middlename-2"},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
494 @dots{}). @xref{Selecting an Attribution}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
495
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
496 @node Reference Headers, The Built-in Header Rewrite Functions, Information Keys and the Info Alist, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
497 @cindex reference headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
498 @chapter Reference Headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
499
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
500 Supercite will insert an informative @dfn{reference header} at the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
501 beginning of the cited body of text, which display more detail about the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
502 original article and provides the mapping between the attribution and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
503 the original author in non-nested citations. Whereas the citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
504 string usually only contains a portion of the original author's name,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
505 the reference header can contain such information as the author's full
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
506 name, email address, the original article's subject, etc. In fact any
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
507 information contained in the info alist can be inserted into a reference
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
508 header.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
509
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
510 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
511 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
512 * The Built-in Header Rewrite Functions::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
513 * Electric References::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
514 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
515 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
516
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
517 @cindex header rewrite functions
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
518 @vindex sc-rewrite-header-list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
519 @vindex rewrite-header-list (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
520 There are a number of built-in @dfn{header rewrite functions} supplied
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
521 by Supercite, but you can write your own custom header rewrite functions
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
522 (perhaps using the built-in ones as examples). The variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
523 @code{sc-rewrite-header-list} contains the list of such header rewrite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
524 functions. This list is consulted both when inserting the initial
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
525 reference header, and when displaying @dfn{electric references}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
526 @xref{Electric References}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
527
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
528 @vindex sc-preferred-header-style
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
529 @vindex preferred-header-style (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
530 When Supercite is initially run on a reply buffer (via
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
531 @code{sc-cite-original}), it will automatically call one of these
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
532 functions. The one it uses is defined in the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
533 @code{sc-preferred-header-style}. The value of this variable is an
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
534 integer which is an index into the @code{sc-rewrite-header-list},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
535 beginning at zero.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
536
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
537 @node The Built-in Header Rewrite Functions, Electric References, Reference Headers, Reference Headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
538 @cindex header rewrite functions, built-in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
539 @section The Built-in Header Rewrite Functions
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
540
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
541 Below are examples of the various built-in header rewrite functions.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
542 Please note the following:@: first, the text which appears in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
543 examples below as @var{infokey} indicates that the corresponding value
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
544 of the info key from the info alist will be inserted there.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
545 (@pxref{Information Keys and the Info Alist}). For example, in @code{sc-header-on-said}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
546 below, @var{date} and @var{from} correspond to the values of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
547 @samp{Date:@:} and @samp{From:@:} mail headers respectively.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
548
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
549 @vindex sc-reference-tag-string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
550 @vindex reference-tag-string (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
551 Also, the string @code{">>>>>"} below is really the value of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
552 variable @code{sc-reference-tag-string}. This variable is used in all
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
553 built-in header rewrite functions, and you can customize its value to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
554 change the tag string globally.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
555
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
556 Finally, the references headers actually written may omit certain parts
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
557 of the header if the info key associated with @var{infokey} is not
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
558 present in the info alist. In fact, for all built-in headers, if the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
559 @samp{From:@:} field is not present in the mail headers, the entire
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
560 reference header will be omitted (but this usually signals a serious
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
561 problem either in your MUA or in Supercite's installation).
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
562
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
563 @table @code
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
564 @findex sc-no-header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
565 @findex no-header (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
566 @item sc-no-header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
567 This function produces no header. It should be used instead of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
568 @code{nil} to produce a blank header. This header can possibly contain
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
569 a blank line after the @code{mail-header-separator} line.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
570
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
571 @item sc-no-blank-line-or-header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
572 @findex sc-no-blank-line-or-header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
573 @findex no-blank-line-or-header (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
574 This function is similar to @code{sc-no-header} except that any blank
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
575 line after the @code{mail-header-separator} line will be removed.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
576
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
577 @item sc-header-on-said
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
578 @findex sc-header-on-said
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
579 @findex header-on-said (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
580 @code{>>>>> On @var{date}, @var{from} said:}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
581
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
582 @item sc-header-inarticle-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
583 @findex sc-header-inarticle-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
584 @findex header-inarticle-writes (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
585 @code{>>>>> In article @var{message-id}, @var{from} writes:}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
586
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
587 @item sc-header-regarding-adds
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
588 @findex sc-header-regarding-adds
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
589 @findex header-regarding-adds (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
590 @code{>>>>> Regarding @var{subject}; @var{from} adds:}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
591
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
592 @item sc-header-attributed-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
593 @findex sc-header-attributed-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
594 @findex header-attributed-writes (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
595 @code{>>>>> "@var{sc-attribution}" == @var{sc-author} <@var{sc-reply-address}> writes:}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
596
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
597 @item sc-header-author-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
598 @findex sc-header-author-writes
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
599 @findex header-author-writes (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
600 @code{>>>>> @var{sc-author} writes:}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
601
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
602 @item sc-header-verbose
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
603 @findex sc-header-verbose
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
604 @findex header-verbose (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
605 @code{>>>>> On @var{date},}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
606 @code{>>>>> @var{sc-author}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
607 @code{>>>>> from the organization of @var{organization}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
608 @code{>>>>> who can be reached at:@: @var{sc-reply-address}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
609 @code{>>>>> (whose comments are cited below with:@: "@var{sc-cite}")}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
610 @code{>>>>> had this to say in article @var{message-id}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
611 @code{>>>>> in newsgroups @var{newsgroups}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
612 @code{>>>>> concerning the subject of @var{subject}}@*
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
613 @code{>>>>> see @var{references} for more details}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
614 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
615
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
616 @node Electric References, Hints to MUA Authors, The Built-in Header Rewrite Functions, Reference Headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
617 @cindex electric references
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
618 @section Electric References
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
619
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
620 By default, when Supercite cites the original message for the first
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
621 time, it just goes ahead and inserts the reference header indexed by
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
622 @code{sc-preferred-header-style}. However, you may want to select
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
623 different reference headers based on the type of reply or forwarding you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
624 are doing. You may also want to preview the reference header before
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
625 deciding whether to insert it into the reply buffer or not. Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
626 provides an optional @dfn{electric reference} mode which you can drop
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
627 into to give you this functionality.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
628
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
629 @vindex sc-electric-references-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
630 @vindex electric-references-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
631 If the variable @code{sc-electric-references-p} is non-@code{nil},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
632 Supercite will bring up an electric reference mode buffer and place you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
633 into a recursive edit. The electric reference buffer is read-only, so
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
634 you cannot directly modify the reference text until you exit electric
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
635 references and insert the text into the reply buffer. But you can cycle
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
636 through all the reference header rewrite functions in your
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
637 @code{sc-rewrite-header-list}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
638
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
639 You can also set a new preferred header style, jump to any header, or
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
640 jump to the preferred header. The header will be shown in the electric
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
641 reference buffer and the header index and function name will appear in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
642 the echo area.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
643
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
644 The following commands are available while in electric reference mode
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
645 (shown here with their default key bindings):
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
646
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
647 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
648 @item @code{sc-eref-next} (@kbd{n})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
649 @findex sc-eref-next
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
650 @findex eref-next (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
651 @kindex n
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
652 @vindex sc-electric-circular-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
653 @vindex electric-circular-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
654 Displays the next reference header in the electric reference buffer. If
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
655 the variable @code{sc-electric-circular-p} is non-@code{nil}, invoking
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
656 @code{sc-eref-next} while viewing the last reference header in the list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
657 will wrap around to the first header.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
658
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
659 @item @code{sc-eref-prev} (@kbd{p})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
660 @findex sc-eref-prev
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
661 @findex eref-prev (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
662 @kindex p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
663 Displays the previous reference header in the electric reference buffer.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
664 If the variable @code{sc-electric-circular-p} is non-@code{nil},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
665 invoking @code{sc-eref-prev} will wrap around to the last header.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
666
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
667 @item @code{sc-eref-goto} (@kbd{g})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
668 @findex sc-eref-goto
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
669 @findex eref-goto (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
670 @kindex g
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
671 Goes to a specified reference header. The index (into the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
672 @code{sc-rewrite-header-list}) can be specified as a numeric argument to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
673 the command. Otherwise, Supercite will query you for the index in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
674 minibuffer.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
675
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
676 @item @code{sc-eref-jump} (@kbd{j})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
677 @findex sc-eref-jump
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
678 @findex eref-jump (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
679 @kindex j
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
680 Display the preferred reference header, i.e., the one indexed by the current
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
681 value of @code{sc-preferred-header-style}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
682
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
683 @item @code{sc-eref-setn} (@kbd{s})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
684 @findex sc-eref-setn
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
685 @findex eref-setn (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
686 @kindex s
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
687 Set the preferred reference header (i.e.,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
688 @code{sc-preferred-header-style}) to the currently displayed header.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
689
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
690 @item @code{sc-eref-exit} (@kbd{C-j}, @key{RET}, and @key{ESC C-c})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
691 @kindex RET
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
692 @kindex C-j
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
693 @kindex q
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
694 @findex sc-eref-exit
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
695 @findex eref-exit (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
696 Exit from electric reference mode and insert the current header into the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
697 reply buffer.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
698
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
699 @item @code{sc-eref-abort} (@kbd{q}, @kbd{x})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
700 @findex sc-eref-abort
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
701 @findex eref-abort (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
702 @kindex x
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
703 Exit from electric reference mode without inserting the current header.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
704 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
705
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
706 @vindex sc-electric-mode-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
707 @vindex electric-mode-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
708 @noindent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
709 Supercite will execute the hook @code{sc-electric-mode-hook} before
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
710 entering electric reference mode.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
711
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
712 @node Getting Connected, Replying and Yanking, Recognizing Citations, Top
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
713 @cindex citation interface specification
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
714 @chapter Getting Connected
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
715
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
716
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
717 @vindex mail-citation-hook
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
718 @cindex .emacs file
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
719 In most cases, all that is necessary to begin using Supercite is to add
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
720 the following to @file{~.emacs}:
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
721
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
722 @example
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
723 (add-hook 'mail-citation-hook 'sc-cite-original)
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
724 @end example
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
725
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
726 @noindent For more details of the process, read on@dots{}
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
727
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
728 Hitting @kbd{C-c C-y} in your MUA's reply buffer yanks and cites the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
729 original message into the reply buffer. In reality, the citation of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
730 original message is performed via a call through a configurable hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
731 variable. The name of this variable has been agreed to in advance as
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
732 part of the @dfn{citation interface specification}. By default this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
733 hook variable has a @code{nil} value, which the MUA recognizes to mean,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
734 ``use your default citation function.'' When you add Supercite's
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
735 citation function to the hook, thereby giving the variable a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
736 non-@code{nil} value, it tells the MUA to run the hook via
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
737 @code{run-hooks} instead of using the default citation.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
738
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
739 Early in Supercite's development, the Supercite author, a few MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
740 authors, and some early Supercite users got together and agreed upon a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
741 standard interface between MUAs and citation packages (of which
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
742 Supercite is currently the only known add-on @t{:-)}. Supercite can
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
743 probably be used with most Emacs MUAs, with a greater or lesser degree
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
744 of effort.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
745
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
746 To learn exactly how to connect Supercite to the software systems you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
747 are using, read the appropriate following sections. For details on the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
748 interface specifications, or if you are writing or maintaining an MUA,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
749 @pxref{Hints to MUA Authors}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
750
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
751 @cindex autoload
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
752 @cindex .emacs file
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
753 @findex sc-cite-original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
754 @findex cite-original (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
755 @findex sc-submit-bug-report
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
756 @findex submit-bug-report (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
757 The first thing that everyone should do, regardless of the MUA you are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
758 using is to set up Emacs so it will load Supercite at the appropriate
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
759 time. This happens automatically if Supercite is distributed with your
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
760 Emacs version. If not, you can set up an @dfn{autoload} for Supercite.
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
761
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
762 To do the latter, put the following in your @file{.emacs} file:
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
763
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
764 @example
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
765 (autoload 'sc-cite-original "supercite" nil t)
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
766 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
767
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
768 @cindex point
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
769 @cindex mark
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
770 The function @code{sc-cite-original} is the top-level Supercite function
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
771 designed to be run from the citation hook. It expects
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
772 @samp{point} and @samp{mark} to be set around the region to cite, and it
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
773 expects the original article's mail headers to be present within this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
774 region. Note that Supercite @emph{never} touches any text outside this
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
775 region. Note further that the region need not be active
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
776 for @code{sc-cite-original} to do its job.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
777 @xref{Hints to MUA Authors}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
778
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
779 The other step in the getting connected process is to make sure your
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
780 MUA calls @code{sc-cite-original} at the right time. As mentioned
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
781 above, some MUAs handle this differently. Read the sections that follow
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
782 pertaining to the MUAs you are using.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
783
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
784 @vindex sc-load-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
785 @vindex load-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
786 @vindex sc-pre-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
787 @vindex pre-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
788 One final note. After Supercite is loaded into your Emacs session, it
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
789 runs the hook @code{sc-load-hook}. You can put any customizations into
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
790 this hook since it is only run once. This will not work, however, if
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
791 your Emacs maintainer has put Supercite into your dumped Emacs' image.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
792 In that case, you can use the @code{sc-pre-hook} variable, but this will
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
793 get executed every time @code{sc-cite-original} is called. @xref{Reply
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
794 Buffer Initialization}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
795
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
796 @node Replying and Yanking, Reply Buffer Initialization, Getting Connected, Top
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
797 @chapter Replying and Yanking
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
798 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
799
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
800 This chapter explains what happens when you reply and yank an original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
801 message from an MUA.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
802
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
803 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
804 * Reply Buffer Initialization::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
805 * Filling Cited Text::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
806 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
807 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
808 @node Reply Buffer Initialization, Filling Cited Text, Replying and Yanking, Replying and Yanking
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
809 @findex sc-cite-original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
810 @findex cite-original (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
811 @section Reply Buffer Initialization
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
812
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
813 Executing @code{sc-cite-original} performs the following steps as it
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
814 initializes the reply buffer:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
815
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
816 @enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
817 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
818 @vindex sc-pre-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
819 @vindex pre-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
820 @emph{Runs @code{sc-pre-hook}.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
821 This hook variable is run before @code{sc-cite-original} does any other
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
822 work. You could conceivably use this hook to set certain Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
823 variables based on the reply buffer's mode or name (i.e., to do
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
824 something different based on whether you are replying or following up to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
825 an article).@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
826
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
827 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
828 @emph{Inserts Supercite's keymap.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
829 @vindex sc-mode-map-prefix
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
830 @vindex mode-map-prefix (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
831 @kindex C-c C-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
832 @cindex keymap prefix
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
833 Supercite provides a number of commands for performing post-yank
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
834 modifications to the reply buffer. These commands are installed on
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
835 Supercite's top-level keymap. Since Supercite has to interface with a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
836 wide variety of MUAs, it does not install all of its commands directly
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
837 into the reply buffer's keymap. Instead, it puts its commands on a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
838 keymap prefix, then installs this prefix onto the buffer's keymap. What
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
839 this means is that you typically have to type more characters to invoke
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
840 a Supercite command, but Supercite's key bindings can be made much more
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
841 consistent across MUAs.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
842
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
843 You can control what key Supercite uses as its keymap prefix by changing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
844 the variable @code{sc-mode-map-prefix}. By default, this variable is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
845 set to @code{C-c C-p}; a finger twister perhaps, but unfortunately the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
846 best default due to the scarcity of available key bindings in many MUAs.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
847
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
848 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
849 @emph{Turns on Supercite minor mode.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
850 @cindex modeline
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
851 The modeline of the reply buffer should indicate that Supercite is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
852 active in that buffer by displaying the string @samp{SC}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
853
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
854 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
855 @emph{Sets the ``Undo Boundary.''}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
856 @cindex undo boundary
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
857 Supercite sets an undo boundary before it begins to modify the original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
858 yanked text. This allows you to easily undo Supercite's changes to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
859 affect alternative citing styles.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
860
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
861 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
862 @emph{Processes the mail headers.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
863 @vindex sc-confirm-always-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
864 @vindex confirm-always-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
865 @vindex sc-mail-warn-if-non-rfc822-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
866 @vindex mail-warn-if-non-rfc822-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
867 All previously retrieved info key-value pairs are deleted from the info
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
868 alist, then the mail headers in the body of the yanked message are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
869 scanned. Info key-value pairs are created for each header found. Also,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
870 such useful information as the author's name and email address are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
871 extracted. If the variable @code{sc-mail-warn-if-non-rfc822-p} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
872 non-@code{nil}, then Supercite will warn you if it finds a mail header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
873 that does not conform to RFC822. This is rare and indicates a problem
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
874 either with your MUA or the original author's MUA, or some MTA (mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
875 transport agent) along the way.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
876
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
877 @vindex sc-nuke-mail-headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
878 @vindex sc-nuke-mail-header-list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
879 @vindex nuke-mail-headers (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
880 @vindex nuke-mail-header-list (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
881 Once the info keys have been extracted from the mail headers, the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
882 headers are nuked from the reply buffer. You can control exactly which
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
883 headers are removed or kept, but by default, all headers are removed.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
884
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
885 There are two variables which control mail header nuking. The variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
886 @code{sc-nuke-mail-headers} controls the overall behavior of the header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
887 nuking routines. By setting this variable to @code{'all}, you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
888 automatically nuke all mail headers. Likewise, setting this variable to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
889 @code{'none} inhibits nuking of any mail headers. In between these
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
890 extremes, you can tell Supercite to nuke only a specified list of mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
891 headers by setting this variable to @code{'specified}, or to keep only a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
892 specified list of headers by setting it to @code{'keep}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
893
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
894 If @code{sc-nuke-mail-headers} is set to @code{'specified} or
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
895 @code{'keep}, then the variable @code{sc-nuke-mail-header-list} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
896 consulted for the list of headers to nuke or keep. This variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
897 contains a list of regular expressions. If the mail header line matches
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
898 a regular expression in this list, the header will be nuked or kept.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
899 The line is matched against the regexp using @code{looking-at} rooted at
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
900 the beginning of the line.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
901
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
902 @vindex sc-blank-lines-after-headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
903 @vindex blank-lines-after-headers (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
904 If the variable @code{sc-blank-lines-after-headers} is non-@code{nil},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
905 it contains the number of blank lines remaining in the buffer after mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
906 headers are nuked. By default, only one blank line is left in the buffer.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
907
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
908 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
909 @emph{Selects the attribution and citation strings.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
910 Once the mail headers have been processed, Supercite selects a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
911 attribution string and a citation string which it will use to cite the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
912 original message. @xref{Selecting an Attribution}, for details.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
913
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
914 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
915 @emph{Cites the message body.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
916 @vindex sc-cite-region-limit
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
917 @vindex cite-region-limit (sc-)b
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
918 After the selection of the attribution and citation strings, Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
919 cites the original message by inserting the citation string prefix in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
920 front of every uncited line. You may not want Supercite to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
921 automatically cite very long messages however. For example, some email
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
922 could contain a smaller header section followed by a huge uuencoded
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
923 message. It wouldn't make sense to cite the uuencoded message part when
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
924 responding to the original author's short preface. For this reason,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
925 Supercite provides a variable which limits the automatic citation of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
926 long messages to a certain maximum number of lines. The variable is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
927 called @code{sc-cite-region-limit}. If this variable contains an
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
928 integer, messages with more lines that this will not be cited at all,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
929 and a warning message will be displayed. Supercite has performed
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
930 everything necessary, though, for you to manually cite only the small
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
931 portion of the original message that you want to use.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
932
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
933 If @code{sc-cite-region-limit} contains a non-@code{nil} value, the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
934 original message will always be cited, regardless of its size. If the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
935 variable contains the value @code{nil}, the region will never be cited
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
936 automatically. Use this if you always want to be able to edit and cite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
937 the message manually.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
938
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
939 @vindex sc-cite-blank-lines-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
940 @vindex cite-blank-lines-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
941 The variable @code{sc-cite-blank-lines-p} controls whether blank lines
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
942 in the original message should be cited or not. If this variable is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
943 non-@code{nil}, blank lines will be cited just like non-blank lines.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
944 Otherwise, blank lines will be treated as paragraph separators.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
945
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
946 Citing of the original message is highly configurable. Supercite's
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
947 default setup does a pretty good job of citing many common forms of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
948 previously cited messages. But there are as many citation styles out
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
949 there as people on the net, or just about! It would be impossible for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
950 Supercite to anticipate every style in existence, and you probably
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
951 wouldn't encounter them all anyway. But you can configure Supercite to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
952 recognize those styles you see often.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
953 @xref{Configuring the Citation Engine}, for details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
954
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
955 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
956 @emph{Runs @code{sc-post-hook}.}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
957 @vindex sc-post-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
958 @vindex post-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
959 This variable is very similar to @code{sc-pre-hook}, except that it runs
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
960 after @code{sc-cite-original} is finished. This hook is provided mostly
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
961 for completeness and backward compatibility. Perhaps it could be used to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
962 reset certain variables set in @code{sc-pre-hook}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
963 @end enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
964
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
965 @node Filling Cited Text, Selecting an Attribution, Reply Buffer Initialization, Replying and Yanking
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
966 @cindex filling paragraphs
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
967 @vindex sc-auto-fill-region-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
968 @vindex auto-fill-region-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
969 @cindex filladapt
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
970 @cindex gin-mode
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
971 @findex sc-setup-filladapt
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
972 @findex setup-filladapt (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
973 @vindex sc-load-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
974 @vindex load-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
975 @section Filling Cited Text
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
976
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
977 Supercite will automatically fill newly cited text from the original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
978 message unless the variable @code{sc-auto-fill-region-p} has a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
979 @code{nil} value. Supercite will also re-fill paragraphs when you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
980 manually cite or re-cite text.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
981
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
982 However, during normal editing, Supercite itself cannot be used to fill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
983 paragraphs. This is a change from version 2. There are other add-on
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
984 lisp packages which do filling much better than Supercite ever did. The
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
985 two best known are @dfn{filladapt} and @dfn{gin-mode}. Both work well
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
986 with Supercite and both are available at the normal Emacs Lisp archive
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
987 sites. @dfn{gin-mode} works pretty well out of the box, but if you use
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
988 @dfn{filladapt}, you may want to run the function
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
989 @code{sc-setup-filladapt} from your @code{sc-load-hook}. This simply
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
990 makes @dfn{filladapt} a little more Supercite savvy than its default
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
991 setup.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
992
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
993 @vindex sc-fixup-whitespace-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
994 @vindex fixup-whitespace-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
995 Also, Supercite will collapse leading whitespace between the citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
996 string and the text on a line when the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
997 @code{sc-fixup-whitespace-p} is non-@code{nil}. The default value for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
998 this variable is @code{nil}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
999
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1000 @vindex fill-prefix
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1001 Its important to understand that Supercite's automatic filling (during
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1002 the initial citation of the reply) is very fragile. That is because
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1003 figuring out the @code{fill-prefix} for a particular paragraph is a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1004 really hard thing to do automatically. This is especially the case when
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1005 the original message contains code or some other text where leading
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1006 whitespace is important to preserve. For this reason, many Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1007 users typically run with @code{sc-auto-fill-region-p} (and possibly also
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1008 @code{sc-fixup-whitespace-p}) set to @code{nil}. They then manually
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1009 fill each cited paragraph in the reply buffer.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1010
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1011 I usually run with both these variables containing their default values.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1012 When Supercite's automatic filling breaks on a particular message, I
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1013 will use Emacs' undo feature to undo back before the citation was
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1014 applied to the original message. Then I'll toggle the variables and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1015 manually cite those paragraphs that I don't want to fill or collapse
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1016 whitespace on. @xref{Variable Toggling Shortcuts}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1017
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1018 @kindex C-c C-p C-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1019 If you find that Supercite's automatic filling is just too fragile for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1020 your tastes, you might consider one of these alternate approaches.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1021 Also, to make life easier, a shortcut function to toggle the state of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1022 both of these variables is provided on the key binding
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1023 @kbd{C-c C-p C-p} (with the default value of @code{sc-mode-map-prefix};
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1024 @pxref{Post-yank Formatting Commands}).@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1025
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1026 You will noticed that the minor mode string will
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1027 show the state of these variables as qualifier characters. When both
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1028 variables are @code{nil}, the Supercite minor mode string will display
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1029 @samp{SC}. When just @code{sc-auto-fill-region-p} is non-@code{nil}, the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1030 string will display @samp{SC:f}, and when just
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1031 @code{sc-fixup-whitespace-p} is non-@code{nil}, the string will display
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1032 @samp{SC:w}. When both variables are non-@code{nil}, the string will
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1033 display @samp{SC:fw}. Note that the qualifiers chosen are mnemonics for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1034 the default bindings of the toggling function for each respective
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1035 variable.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1036 @xref{Variable Toggling Shortcuts}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1037
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1038 Why are these variables not set to @code{nil} by default? It is because
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1039 many users won't manually fill paragraphs that are Supercited, and there
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1040 have been widespread complaints on the net about mail and news messages
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1041 containing lines greater than about 72 characters. So the default is to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1042 fill cited text.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1043
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1044 @node Selecting an Attribution, Attribution Preferences, Filling Cited Text, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1045 @cindex attribution list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1046 @vindex sc-preferred-attribution-list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1047 @vindex preferred-attribution-list (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1048 @chapter Selecting an Attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1049
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1050 As you know, the attribution string is the part of the author's name
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1051 that will be used to composed a non-nested citation string. Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1052 scans the various mail headers present in the original article and uses
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1053 a number of heuristics to extract strings which it puts into the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1054 @dfn{attribution association list} or @dfn{attribution alist}. This is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1055 analogous, but different than, the info alist previously mentioned. Each
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1056 element in the attribution alist is a key-value pair containing such
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1057 information as the author's first name, middle names, and last name, the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1058 author's initials, and the author's email terminus.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1059
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1060 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1061 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1062 * Attribution Preferences::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1063 * Anonymous Attributions::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1064 * Author Names::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1065 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1066 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1067
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1068 @node Attribution Preferences, Anonymous Attributions, Selecting an Attribution, Selecting an Attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1069 @section Attribution Preferences
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1070
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1071 When you cite an original message, you can tell Supercite which part of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1072 the author's name you would prefer it to use as the attribution. The
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1073 variable @code{sc-preferred-attribution-list} controls this; it contains
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1074 keys which are matched against the attribution alist in the given order.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1075 The first value of a key that produces a non-@code{nil}, non-empty
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1076 string match is used as the attribution string, and if no keys match, a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1077 secondary mechanism is used to generate the attribution.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1078 @xref{Anonymous Attributions}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1079
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1080 The following preferences are always available in the attribution alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1081 (barring error):
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1082
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1083 @table @code
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1084 @item "emailname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1085 the author's email terminus.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1086
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1087 @item "initials"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1088 the author's initials.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1089
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1090 @item "firstname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1091 the author's first name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1092
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1093 @item "lastname"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1094 the author's last name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1095
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1096 @item "middlename-1"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1097 the author's first middle name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1098
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1099 @item "sc-lastchoice"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1100 the last attribution string you have selected. This is useful when you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1101 recite paragraphs in the reply.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1102
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1103 @item "sc-consult"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1104 @vindex sc-attrib-selection-list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1105 @vindex attrib-selection-list (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1106 consults the customizable list @code{sc-attrib-selection-list} which can
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1107 be used to select special attributions based on the value of any info
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1108 key. See below for details.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1109
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1110 @item "x-attribution"
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1111 the original author's suggestion for attribution string choice. See below
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1112 for details.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1113 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1114
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1115 Middle name indexes can be any positive integer greater than zero,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1116 though it is unlikely that many authors will have more than one middle
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1117 name, if that many.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1118
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1119 At this point, let me digress into a discussion of etiquette. It is my
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1120 belief that while the style of the citations is a reflection of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1121 personal tastes of the replier (i.e., you), the attribution selection is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1122 ultimately the personal choice of the original author. In a sense it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1123 his or her ``net nickname'', and therefore the author should have some
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1124 say in the selection of attribution string. Imagine how you would feel
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1125 if someone gave you a nickname that you didn't like?
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1126
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1127 For this reason, Supercite recognizes a special mail header,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1128 @samp{X-Attribution:}, which if present, tells Supercite the attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1129 string preferred by the original author. It is the value of this header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1130 that is associated with the @code{"x-attribution"} key in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1131 attribution alist. Currently, you can override the preference of this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1132 key by changing @code{sc-preferred-attribution-list}, but that isn't
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1133 polite, and in the future Supercite may hard-code this. For now, it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1134 suggested that if you change the order of the keys in this list, that
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1135 @code{"x-attribution"} always be first, or possible second behind only
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1136 @code{"sc-lastchoice"}. This latter is the default.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1137
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1138 @vindex sc-attrib-selection-list
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1139 @vindex attrib-selection-list (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1140 The value @code{"sc-consult"} in @code{sc-preferred-attribution-list}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1141 has a special meaning during attribution selection. When Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1142 encounters this preference, it begins processing a customizable list of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1143 attributions, contained in the variable @code{sc-attrib-selection-list}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1144 Each element in this list contains lists of the following form:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1145
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1146 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1147 @group
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1148 (@var{infokey} ((@var{regexp} @. @var{attribution})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1149 (@var{regexp} @. @var{attribution})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1150 (@dots{})))
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1151 @end group
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1152 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1153
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1154 @noindent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1155 @findex sc-mail-field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1156 @findex mail-field (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1157 where @var{infokey} is a key for @code{sc-mail-field} and @var{regexp}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1158 is a regular expression to match against the @var{infokey}'s value. If
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1159 @var{regexp} matches the @var{infokey}'s value, the @var{attribution} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1160 used as the attribution string. Actually, @var{attribution} can be a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1161 string or a list; if it is a list, it is @code{eval}uated and the return
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1162 value (which must be a string), is used as the attribution.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1163
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1164 This can be very useful for when you are replying to net acquaintances
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1165 who do not use the @samp{X-Attribution:@:} mail header. You may know
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1166 what nickname they would prefer to use, and you can set up this list to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1167 match against a specific mail field, e.g., @samp{From:@:}, allowing you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1168 to cite your friend's message with the appropriate attribution.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1169
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1170 @node Anonymous Attributions, Author Names, Attribution Preferences, Selecting an Attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1171 @vindex sc-default-author-name
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1172 @vindex default-author-name (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1173 @vindex sc-default-attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1174 @vindex default-attribution (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1175 @section Anonymous Attributions
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1176
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1177 When the author's name cannot be found in the @samp{From:@:} mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1178 header, a fallback author name and attribution string must be supplied.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1179 The fallback author name is contained in the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1180 @code{sc-default-author-name} and the fallback attribution string is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1181 contained in the variable @code{sc-default-attribution}. Default values
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1182 for these variables are @code{"Anonymous"} and @code{"Anon"},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1183 respectively. Note that in most circumstances, getting the default
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1184 author name or attribution is a sign that something is set up
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1185 incorrectly.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1186
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1187 @vindex sc-use-only-preference-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1188 @vindex use-only-preference-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1189 Also, if the preferred attribution, which you specified in your
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1190 @code{sc-preferred-attribution-list} variable cannot be found, a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1191 secondary method can be employed to find a valid attribution string. The
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1192 variable @code{sc-use-only-preference-p} controls what happens in this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1193 case. If the variable's value is non-@code{nil}, then
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1194 @code{sc-default-author-name} and @code{sc-default-attribution} are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1195 used, otherwise, the following steps are taken to find a valid
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1196 attribution string, and the first step to return a non-@code{nil},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1197 non-empty string becomes the attribution:@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1198
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1199 @enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1200 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1201 Use the last selected attribution, if there is one.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1202
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1203 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1204 Use the value of the @code{"x-attribution"} key.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1205
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1206 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1207 Use the author's first name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1208
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1209 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1210 Use the author's last name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1211
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1212 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1213 Use the author's initials.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1214
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1215 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1216 Find the first non-@code{nil}, non-empty attribution string in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1217 attribution alist.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1218
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1219 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1220 @code{sc-default-attribution} is used.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1221 @end enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1222
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1223 @vindex sc-confirm-always-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1224 @vindex confirm-always-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1225 Once the attribution string has been automatically selected, a number of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1226 things can happen. If the variable @code{sc-confirm-always-p} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1227 non-@code{nil}, you are queried for confirmation of the chosen
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1228 attribution string. The possible values for completion are those strings
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1229 in the attribution alist, however you are not limited to these choices.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1230 You can type any arbitrary string at the confirmation prompt. The string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1231 you enter becomes the value associated with the @code{"sc-lastchoice"}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1232 key in the attribution alist.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1233
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1234 @vindex sc-downcase-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1235 @vindex downcase-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1236 Once an attribution string has been selected, Supercite will force the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1237 string to lower case if the variable @code{sc-downcase-p} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1238 non-@code{nil}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1239
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1240 @vindex sc-attribs-preselect-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1241 @vindex attribs-preselect-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1242 @vindex sc-attribs-postselect-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1243 @vindex attribs-postselect-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1244
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1245 Two hook variables provide even greater control of the attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1246 selection process. The hook @code{sc-attribs-preselect-hook} is run
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1247 before any attribution is selected. Likewise, the hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1248 @code{sc-attribs-postselect-hook} is run after the attribution is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1249 selected (and the corresponding citation string is built), but before
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1250 these values are committed for use by Supercite. During the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1251 post-selection hook, the local variables @code{attribution} and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1252 @code{citation} are bound to the appropriate strings. By changing these
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1253 variables in your hook functions, you change the attribution and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1254 citation strings used by Supercite. One possible use of this would be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1255 to override any automatically derived attribution string when it is only
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1256 one character long; e.g. you prefer to use @code{"initials"} but the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1257 author only has one name.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1258
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1259 @node Author Names, Configuring the Citation Engine, Anonymous Attributions, Selecting an Attribution
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1260 @cindex author names
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1261 @section Author Names
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1262
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1263 Supercite employs a number of heuristics to decipher the author's name
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1264 based on value of the @samp{From:@:} mail field of the original message.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1265 Supercite can recognize almost all of the common @samp{From:@:} field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1266 formats in use. If you encounter a @samp{From:@:} field that Supercite
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1267 cannot parse, please report this bug using @kbd{M-x report-emacs-bug}.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1268
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1269 @vindex sc-titlecue-regexp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1270 @vindex titlecue-regexp (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1271 There are a number of Supercite variables that control how author names
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1272 are extracted from the @samp{From:@:} header. Some headers may contain a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1273 descriptive title as in:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1274
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1275 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1276 From:@: computer!speedy!doe (John Xavier-Doe -- Decent Hacker)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1277 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1278
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1279 Supercite knows which part of the @samp{From:@:} header is email address
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1280 and which part is author name, but in this case the string @code{"Decent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1281 Hacker"} is not part of the author's name. You can tell Supercite to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1282 ignore the title, while still recognizing hyphenated names through the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1283 use of a regular expression in the variable @code{sc-titlecue-regexp}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1284 This variable has the default value of @code{"\\\\s +-+\\\\s +"}. Any
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1285 text after this regexp is encountered is ignored as noise.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1286
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1287 @vindex sc-name-filter-alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1288 @vindex name-filter-alist (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1289 Some @samp{From:@:} headers may contain extra titles in the name fields
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1290 not separated by a title cue, but which are nonetheless not part of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1291 author's name proper. Examples include the titles ``Dr.'', ``Mr.'',
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1292 ``Ms.'', ``Jr.'', ``Sr.'', and ``III'' (e.g., Thurston Howe, the Third).
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1293 Also, some companies prepend or append the name of the division,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1294 organization, or project on the author's name. All of these titles are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1295 noise which should be ignored. The variable @code{sc-name-filter-alist}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1296 is used for this purpose. As implied by its name, this variable is an
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1297 association list, where each element is a cons cell of the form:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1298
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1299 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1300 (@var{regexp} @. @var{position})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1301 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1302
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1303 @noindent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1304 where @var{regexp} is a regular expression that is matched (using
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1305 @code{string-match}) against each element of the @samp{From:@:} field's
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1306 author name. @var{position} is a position indicator, starting at zero.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1307 Thus to strip out all titles of ``Dr.'', ``Mr.'', etc. from the name,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1308 @code{sc-name-filter-alist} would have an entry such as:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1309
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1310 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1311 ("^\\(Mr\\|Mrs\\|Ms\\|Dr\\)[.]?$" @. 0)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1312 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1314 @noindent
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1315 which only removes them if they appear as the first word in the name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1316 The position indicator is an integer, or one of the two special symbols
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1317 @code{last} or @code{any}. @code{last} always matches against the last
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1318 word in the name field, while @code{any} matches against every word in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1319 the name field.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1320
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1321 @node Configuring the Citation Engine, Using Regi, Author Names, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1322 @cindex Regi
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1323 @cindex frames (Regi)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1324 @cindex entries (Regi)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1325 @chapter Configuring the Citation Engine
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1326
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1327 At the heart of Supercite is a regular expression interpreting engine
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1328 called @dfn{Regi}. Regi operates by interpreting a data structure
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1329 called a Regi-frame (or just @dfn{frame}), which is a list of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1330 Regi-entries (or just @dfn{entry}). Each entry contains a predicate,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1331 typically a regular expression, which is matched against a line of text
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1332 in the current buffer. If the predicate matches true, an associated
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1333 expression is @code{eval}uated. In this way, an entire region of text
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1334 can be transformed in an @emph{awk}-like manner. Regi is used
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1335 throughout Supercite, from mail header information extraction, to header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1336 nuking, to citing text.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1337
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1338 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1339 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1340 * Using Regi::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1341 * Frames You Can Customize::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1342 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1343 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1344
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1345 While the details of Regi are discussed below (@pxref{Using Regi}), only
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1346 those who wish to customize certain aspects of Supercite need concern
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1347 themselves with it. It is important to understand though, that any
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1348 conceivable citation style that can be described by a regular expression
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1349 can be recognized by Supercite. This leads to some interesting
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1350 applications. For example, if you regularly receive email from a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1351 co-worker that uses an uncommon citation style (say one that employs a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1352 @samp{|} or @samp{@}} character at the front of the line), it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1353 possible for Supercite to recognize this and @emph{coerce} the citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1354 to your preferred style, for consistency. In theory, it is possible for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1355 Supercite to recognize such things as uuencoded messages or C code and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1356 cite or fill those differently than normal text. None of this is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1357 currently part of Supercite, but contributions are welcome!
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1358
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1359 @node Using Regi, Frames You Can Customize, Configuring the Citation Engine, Configuring the Citation Engine
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1360 @findex regi-interpret
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1361 @findex eval
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1362 @findex looking-at
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1363 @section Using Regi
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1364
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1365 Regi works by interpreting frames with the function
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1366 @code{regi-interpret}. A frame is a list of arbitrary size where each
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1367 element is a entry of the following form:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1368
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1369 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1370 (@var{pred} @var{func} [@var{negate-p} [@var{case-fold-search}]])
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1371 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1372
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1373 Regi starts with the first entry in a frame, evaluating the @var{pred}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1374 of that entry against the beginning of the line that @samp{point} is on.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1375 If the @var{pred} evaluates to true (or false if the optional
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1376 @var{negate-p} is non-@code{nil}), then the @var{func} for that entry is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1377 @code{eval}uated. How processing continues is determined by the return
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1378 value for @var{func}, and is described below. If @var{pred} was false
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1379 the next entry in the frame is checked until all entries have been
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1380 matched against the current line. If no entry matches, @samp{point} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1381 moved forward one line and the frame is reset to the first entry.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1382
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1383 @var{pred} can be a string, a variable, a list or one of the following
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1384 symbols: @code{t}, @code{begin}, @code{end}, or @code{every}. If
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1385 @var{pred} is a string, or a variable or list that @code{eval}uates to a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1386 string, it is interpreted as a regular expression. This regexp is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1387 matched against the current line, from the beginning, using
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1388 @code{looking-at}. This match folds case if the optional
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1389 @var{case-fold-search} is non-@code{nil}. If @var{pred} is not a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1390 string, or does not @code{eval}uate to a string, it is interpreted as a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1391 binary value (@code{nil} or non-@code{nil}).@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1392
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1393 The four special symbol values for @var{pred} are recognized:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1394
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1395 @table @code
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1396 @item t
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1397 Always produces a true outcome.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1398 @item begin
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1399 Always executed before the frame is interpreted. This can be used to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1400 initialize some global variables for example.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1401 @item end
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1402 Always executed after frame interpreting is completed. This can be used
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1403 to perform any necessary post-processing.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1404 @item every
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1405 Executes whenever the frame is reset, usually after the entire frame has
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1406 been matched against the current line.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1407 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1408
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1409 Note that @var{negate-p} and @var{case-fold-search} are ignored if
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1410 @var{pred} is one of these special symbols. Only the first occurrence of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1411 each symbol in a frame is used; any duplicates are ignored. Also
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1412 note that for performance reasons, the entries associated with these
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1413 symbols are removed from the frame during the main interpreting loop.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1414
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1415 Your @var{func} can return certain values which control continued Regi
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1416 processing. By default, if your @var{func} returns @code{nil} (as it
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1417 should be careful to do explicitly), Regi will reset the frame to the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1418 first entry, and advance @samp{point} to the beginning of the next line.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1419 If a list is returned from your function, it can contain any combination
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1420 of the following elements:@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1421
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1422 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1423 @item the symbol @code{continue}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1424 This tells Regi to continue processing entries after a match, instead of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1425 resetting the frame and moving @samp{point}. In this way, lines of text
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1426 can have multiple matches, but you have to be careful to avoid entering
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1427 infinite loops.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1428
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1429 @item the symbol @code{abort}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1430 This tells Regi to terminate frame processing. However, any @code{end}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1431 entry is still processed.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1432
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1433 @item the list @code{(frame . @var{newframe})}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1434 This tells Regi to substitute @var{newframe} as the frame it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1435 interpreting. In other words, your @var{func} can modify the Regi frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1436 on the fly. @var{newframe} can be a variable containing a frame, or it
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1437 can be the frame in-lined.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1438
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1439 @item the list @code{(step . @var{step})}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1440 Tells Regi to move @var{step} number of lines forward as it continues
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1441 processing. By default, Regi moves forward one line. @var{step} can be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1442 zero or negative of course, but watch out for infinite loops.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1443 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1444
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1445 During execution of your @var{func}, the following variables will be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1446 temporarily bound to some useful information:@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1447
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1448 @table @code
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1449 @item curline
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1450 The current line in the buffer that Regi is @code{looking-at}, as a string.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1451 @item curframe
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1452 The current frame being interpreted.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1453 @item curentry
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1454 The current frame entry being interpreted.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1455 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1456
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1457 @node Frames You Can Customize, Post-yank Formatting Commands, Using Regi, Configuring the Citation Engine
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1458 @vindex sc-nuke-mail-header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1459 @section Frames You Can Customize
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1460
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1461 As mentioned earlier, Supercite uses various frames to perform
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1462 certain jobs such as mail header information extraction and mail header
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1463 nuking. However, these frames are not available for you to customize,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1464 except through abstract interfaces such as @code{sc-nuke-mail-header},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1465 et al.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1466
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1467 @vindex sc-default-cite-frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1468 However, the citation frames Supercite uses provide a lot of customizing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1469 power and are thus available to you to change to suit your needs. The
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1470 workhorse of citation is the frame contained in the variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1471 @code{sc-default-cite-frame}. This frame recognizes many situations,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1472 such as blank lines, which it interprets as paragraph separators. It
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1473 also recognizes previously cited nested and non-nested citations in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1474 original message. By default it will coerce non-nested citations into
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1475 your preferred citation style, and it will add a level of citation to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1476 nested citations. It will also simply cite uncited lines in your
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1477 preferred style.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1478
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1479 @cindex unciting
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1480 @cindex reciting
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1481 @vindex sc-default-uncite-frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1482 @vindex sc-default-recite-frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1483 In a similar vein, there are default frames for @dfn{unciting} and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1484 @dfn{reciting}, contained in the variables
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1485 @code{sc-default-uncite-frame} and @code{sc-default-recite-frame}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1486 respectively.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1487
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1488 As mentioned earlier (@pxref{Recognizing Citations}), citations are
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1489 recognized through the values of the regular expressions
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1490 @code{sc-citation-root-regexp}, et al. To recognize odd styles, you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1491 could modify these variables, or you could modify the default citing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1492 frame. Alternatively, you could set up association lists of frames for
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1493 recognizing specific alternative forms.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1494
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1495 @vindex sc-cite-frame-alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1496 @vindex sc-uncite-frame-alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1497 @vindex sc-recite-frame-alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1498 For each of the actions -- citing, unciting, and reciting -- an alist is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1499 consulted to find the frame to use (@code{sc-cite-frame-alist},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1500 @code{sc-uncite-frame-alist}, and @code{sc-recite-frame-alist}
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1501 respectively). These frames can contain alists of the form:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1502
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1503 @example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1504 ((@var{infokey} (@var{regexp} @. @var{frame}) (@var{regexp} @. @var{frame}) @dots{})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1505 (@var{infokey} (@var{regexp} @. @var{frame}) (@var{regexp} @. @var{frame}) @dots{})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1506 (@dots{}))
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1507 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1508
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1509 @vindex sc-mail-field
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1510 @findex string-match
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1511 Where @var{infokey} is a key suitable for @code{sc-mail-field},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1512 @var{regexp} is a regular expression which is @code{string-match}'d
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1513 against the value of the @code{sc-mail-field} key, and @var{frame} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1514 the frame to use if a match occurred. @var{frame} can be a variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1515 containing a frame or a frame in-lined.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1516
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1517 When Supercite is about to cite, uncite, or recite a region, it consults
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1518 the appropriate alist and attempts to find a frame to use. If one
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1519 is not found from the alist, then the appropriate default frame is used.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1520
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1521 @node Post-yank Formatting Commands, Citing Commands, Frames You Can Customize, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1522 @vindex sc-mode-map-prefix
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1523 @vindex mode-map-prefix (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1524 @kindex C-c C-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1525 @chapter Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1526
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1527 Once the original message has been yanked into the reply buffer, and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1528 @code{sc-cite-original} has had a chance to do its thing, a number of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1529 useful Supercite commands will be available to you. Since there is wide
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1530 variety in the keymaps that MUAs set up in their reply buffers, it is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1531 next to impossible for Supercite to properly sprinkle its commands into
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1532 the existing keymap. For this reason Supercite places its commands on a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1533 separate keymap, putting this keymap onto a prefix key in the reply
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1534 buffer. You can customize the prefix key Supercite uses by changing the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1535 variable @code{sc-mode-map-prefix}. By default, the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1536 @code{sc-mode-map-prefix} is @kbd{C-c C-p}; granted, not a great choice,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1537 but unfortunately the best general solution so far. In the rest of this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1538 chapter, we'll assume you've installed Supercite's keymap on the default
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1539 prefix.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1540
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1541 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1542 @menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1543 * Citing Commands::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1544 * Insertion Commands::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1545 * Variable Toggling Shortcuts::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1546 * Mail Field Commands::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1547 * Miscellaneous Commands::
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1548 @end menu
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1549 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1550
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1551 @node Citing Commands, Insertion Commands, Post-yank Formatting Commands, Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1552 @vindex sc-cite-region-limit
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1553 @section Commands to Manually Cite, Recite, and Uncite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1554
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1555 Probably the three most common post-yank formatting operations that you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1556 will perform will be the manual citing, reciting, and unciting of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1557 regions of text in the reply buffer. Often you may want to recite a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1558 paragraph to use a nickname, or manually cite a message when setting
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1559 @code{sc-cite-region-limit} to @code{nil}. The following commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1560 perform these functions on the region of text between @samp{point} and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1561 @samp{mark}. Each of them sets the @dfn{undo boundary} before modifying
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1562 the region so that the command can be undone in the standard Emacs
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1563 way.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1564
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1565 Here is the list of Supercite citing commands:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1566
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1567 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1568 @findex sc-cite-region
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1569 @findex cite-region (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1570 @kindex C-c C-p c
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1571 @vindex sc-pre-cite-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1572 @vindex pre-cite-hook (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1573 @vindex sc-confirm-always-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1574 @vindex confirm-always-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1575 @kindex C-u
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1576 @item @code{sc-cite-region} (@kbd{C-c C-p c})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1577 This command cites each line in the region of text by interpreting the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1578 selected frame from @code{sc-cite-frame-alist}, or the default citing
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1579 frame @code{sc-default-cite-frame}. It runs the hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1580 @code{sc-pre-cite-hook} before interpreting the frame. With an optional
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1581 universal argument (@kbd{C-u}), it temporarily sets
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1582 @code{sc-confirm-always-p} to @code{t} so you can confirm the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1583 attribution string for a single manual citing.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1584 @xref{Configuring the Citation Engine}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1585
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1586 @findex sc-uncite-region
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1587 @findex uncite-region (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1588 @kindex C-c C-p u
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1589 @item @code{sc-uncite-region} (@kbd{C-c C-p u})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1590 This command removes any citation strings from the beginning of each
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1591 cited line in the region by interpreting the selected frame from
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1592 @code{sc-uncite-frame-alist}, or the default unciting frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1593 @code{sc-default-uncite-frame}. It runs the hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1594 @code{sc-pre-uncite-hook} before interpreting the frame.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1595 @xref{Configuring the Citation Engine}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1596
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1597 @findex sc-recite-region
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1598 @findex recite-region (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1599 @kindex C-c C-p r
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1600 @item @code{sc-recite-region} (@kbd{C-c C-p r})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1601 This command recites each line the region by interpreting the selected
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1602 frame from @code{sc-recite-frame-alist}, or the default reciting frame
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1603 @code{sc-default-recite-frame}. It runs the hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1604 @code{sc-pre-recite-hook} before interpreting the frame.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1605 @xref{Configuring the Citation Engine}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1606
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1607 @vindex sc-confirm-always-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1608 @vindex confirm-always-p (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1609 Supercite will always ask you to confirm the attribution when reciting a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1610 region, regardless of the value of @code{sc-confirm-always-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1611 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1612
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1613 @node Insertion Commands, Variable Toggling Shortcuts, Citing Commands, Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1614 @section Insertion Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1615
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1616 These two functions insert various strings into the reply buffer.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1617
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1618 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1619 @findex sc-insert-reference
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1620 @findex insert-reference (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1621 @kindex C-c C-p w
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1622 @item @code{sc-insert-reference} (@kbd{C-c C-p w})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1623 @vindex sc-preferred-header-style
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1624 @vindex preferred-header-style (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1625 Inserts a reference header into the reply buffer at @samp{point}. With
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1626 no arguments, the header indexed by @code{sc-preferred-header-style} is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1627 inserted. An optional numeric argument is the index into
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1628 @code{sc-rewrite-header-list} indicating which reference header to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1629 write.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1630
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1631 With just the universal argument (@kbd{C-u}), electric reference mode is
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1632 entered, regardless of the value of @code{sc-electric-references-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1633
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1634 @findex sc-insert-citation
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1635 @findex insert-citation (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1636 @kindex C-c C-p i
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1637 @item @code{sc-insert-citation} (@kbd{C-c C-p i})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1638 Inserts the current citation string at the beginning of the line that
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1639 @samp{point} is on. If the line is already cited, Supercite will issue
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1640 an error and will not cite the line.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1641 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1642
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1643 @node Variable Toggling Shortcuts, Mail Field Commands, Insertion Commands, Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1644 @cindex toggling variables
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1645 @section Variable Toggling Shortcuts
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1646
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1647 Supercite defines a number of commands that make it easier for you to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1648 toggle and set various Supercite variables as you are editing the reply
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1649 buffer. For example, you may want to turn off filling or whitespace
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1650 cleanup, but only temporarily. These toggling shortcut commands make
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1651 this easy to do.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1652
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1653 @kindex C-c C-p C-t
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1654 Like Supercite commands in general, the toggling commands are placed on
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1655 a keymap prefix within the greater Supercite keymap. For the default
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1656 value of @code{sc-mode-map-prefix}, this will be
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1657 @kbd{C-c C-p C-t}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1658
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1659 The following commands toggle the value of certain Supercite variables
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1660 which take only a binary value:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1661
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1662 @table @kbd
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1663 @item C-c C-p C-t b
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1664 Toggles the variable @code{sc-mail-nuke-blank-lines-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1665
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1666 @item C-c C-p C-t c
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1667 Toggles the variable @code{sc-confirm-always-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1668
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1669 @item C-c C-p C-t d
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1670 Toggles the variable @code{sc-downcase-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1671
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1672 @item C-c C-p C-t e
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1673 Toggles the variable @code{sc-electric-references-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1674
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1675 @item C-c C-p C-t f
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1676 Toggles the variable @code{sc-auto-fill-region-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1677
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1678 @item C-c C-p C-t o
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1679 Toggles the variable @code{sc-electric-circular-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1680
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1681 @item C-c C-p C-t s
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1682 Toggles the variable @code{sc-nested-citation-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1683
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1684 @item C-c C-p C-t u
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1685 Toggles the variable @code{sc-use-only-preferences-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1686
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1687 @item C-c C-p C-t w
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1688 Toggles the variable @code{sc-fixup-whitespace-p}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1689 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1690
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1691 @findex set-variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1692 The following commands let you set the value of multi-value variables,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1693 in the same way that Emacs' @code{set-variable} does:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1694
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1695 @table @kbd
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1696 @item C-c C-p C-t a
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1697 Sets the value of the variable @code{sc-preferred-attribution-list}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1698
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1699 @item C-c C-p C-t l
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1700 Sets the value of the variable @code{sc-cite-region-limit}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1701
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1702 @item C-c C-p C-t n
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1703 Sets the value of the variable @code{sc-mail-nuke-mail-headers}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1704
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1705 @item C-c C-p C-t N
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1706 Sets the value of the variable @code{sc-mail-header-nuke-list}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1707
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1708 @item C-c C-p C-t p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1709 Sets the value of the variable @code{sc-preferred-header-style}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1710 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1711
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1712 @kindex C-c C-p C-p
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1713 One special command is provided to toggle both
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1714 @code{sc-auto-fill-region-p} and @code{sc-fixup-whitespace-p} together.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1715 This is because you typically want to run Supercite with either variable
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1716 as @code{nil} or non-@code{nil}. The command to toggle these variables
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1717 together is bound on @kbd{C-c C-p C-p}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1718
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1719 Finally, the command @kbd{C-c C-p C-t h} (also @kbd{C-c C-p C-t ?})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1720 brings up a Help message on the toggling keymap.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1721
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1722
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1723 @node Mail Field Commands, Miscellaneous Commands, Variable Toggling Shortcuts, Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1724 @section Mail Field Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1725
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1726 These commands allow you to view, modify, add, and delete various bits
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1727 of information from the info alist.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1728 @xref{Information Keys and the Info Alist}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1729
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1730 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1731 @kindex C-c C-p f
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1732 @findex sc-mail-field-query
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1733 @findex mail-field-query (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1734 @kindex C-c C-p f
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1735 @item @code{sc-mail-field-query} (@kbd{C-c C-p f})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1736 Allows you to interactively view, modify, add, and delete info alist
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1737 key-value pairs. With no argument, you are prompted (with completion)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1738 for a info key. The value associated with that key is displayed in the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1739 minibuffer. With an argument, this command will first ask if you want
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1740 to view, modify, add, or delete an info key. Viewing is identical to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1741 running the command with no arguments.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1742
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1743 If you want to modify the value of a key, Supercite will first prompt
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1744 you (with completion) for the key of the value you want to change. It
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1745 will then put you in the minibuffer with the key's current value so you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1746 can edit the value as you wish. When you hit @key{RET}, the key's value
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1747 is changed. Minibuffer history is kept for the values.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1748
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1749 If you choose to delete a key-value pair, Supercite will prompt you (with
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1750 completion) for the key to delete.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1751
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1752 If you choose to add a new key-value pair, Supercite firsts prompts you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1753 for the key to add. Note that completion is turned on for this prompt,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1754 but you can type any key name here, even one that does not yet exist.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1755 After entering the key, Supercite prompts you for the key's value. It
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1756 is not an error to enter a key that already exists, but the new value
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1757 will override any old value. It will not replace it though; if you
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1758 subsequently delete the key-value pair, the old value will reappear.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1759
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1760 @findex sc-mail-process-headers
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1761 @findex mail-process-headers (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1762 @kindex C-c C-p g
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1763 @item @code{sc-mail-process-headers} (@kbd{C-c C-p g})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1764 This command lets you re-initialize Supercite's info alist from any set
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1765 of mail headers in the region between @samp{point} and @samp{mark}.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1766 This function is especially useful for replying to digest messages where
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1767 Supercite will initially set up its information for the digest
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1768 originator, but you want to cite each component article with the real
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1769 message author. Note that unless an error during processing occurs, any
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1770 old information is lost.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1771 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1772
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1773 @node Miscellaneous Commands, Information Keys and the Info Alist, Mail Field Commands, Post-yank Formatting Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1774 @section Miscellaneous Commands
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1775
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1776 @table @asis
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1777 @findex sc-open-line
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1778 @findex open-line (sc-)
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1779 @findex open-line
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1780 @kindex C-c C-p o
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1781 @item @code{sc-open-line} (@kbd{C-c C-p o})
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1782 Similar to Emacs' standard @code{open-line} commands, but inserts the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1783 citation string in front of the new line. As with @code{open-line},
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1784 an optional numeric argument inserts that many new lines.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1785 @end table
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1786
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1787 @node Hints to MUA Authors, Thanks and History, Electric References, Top
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1788 @chapter Hints to MUA Authors
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1789
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1790 In June of 1989, some discussion was held between the various MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1791 authors, the Supercite author, and other Supercite users. These
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1792 discussions centered around the need for a standard interface between
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1793 MUAs and Supercite (or any future Supercite-like packages). This
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1794 interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1795 a mail message to the Supercite mailing list:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1796
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1797 @example
109268
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1798 Martin> Each news/mail-reader should provide a form of
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1799 Martin> mail-yank-original that
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1800
109268
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1801 Martin> 1: inserts the original message incl. header into the
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1802 Martin> reply buffer; no indentation/prefixing is done, the header
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1803 Martin> tends to be a "full blown" version rather than to be
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1804 Martin> stripped down.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1805
109268
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1806 Martin> 2: `point' is at the start of the header, `mark' at the
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1807 Martin> end of the message body.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1808
109268
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1809 Martin> 3: (run-hooks 'mail-yank-hooks)
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1810
109268
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1811 Martin> [Supercite] should be run as such a hook and merely
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1812 Martin> rewrite the message. This way it isn't anymore
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1813 Martin> [Supercite]'s job to gather the original from obscure
bfaa9bd2f5f1 Remove some unimportant tabs from examples in some *.texi files.
Glenn Morris <rgm@gnu.org>
parents: 109264
diff changeset
1814 Martin> sources. [@dots{}]
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1815 @end example
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1816
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1817 @vindex mail-citation-hook
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1818 @vindex mail-yank-hooks
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1819 @cindex sendmail.el
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1820 @findex mail-yank-original
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1821 @findex defvar
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1822 This specification was adopted, but underwent a slight modification with
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1823 the release of Emacs 19. Instead of the variable
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1824 @code{mail-yank-hooks}, the hook variable that the MUA should provide is
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1825 @code{mail-citation-hook}. Richard Stallman suggests that the MUAs
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1826 should @code{defvar} @code{mail-citation-hook} to @code{nil} and perform
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1827 some default citing when that is the case.@refill
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1828
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1829 If you are writing a new MUA package, or maintaining an existing MUA
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1830 package, you should make it conform to this interface so that your users
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1831 will be able to link Supercite easily and seamlessly. To do this, when
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1832 setting up a reply or forward buffer, your MUA should follow these
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1833 steps:
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1834
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1835 @enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1836 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1837 Insert the original message, including the mail headers into the reply
105934
26b37c3219d1 (Hints to MUA Authors): MUA should do any decoding.
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
1838 buffer. At this point you should not modify the raw text in any way
26b37c3219d1 (Hints to MUA Authors): MUA should do any decoding.
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
1839 (except for any necessary decoding, e.g. of quoted-printable text), and
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1840 you should place all the original headers into the body of the reply.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1841 This means that many of the mail headers will be duplicated, one copy
105934
26b37c3219d1 (Hints to MUA Authors): MUA should do any decoding.
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
1842 above the @code{mail-header-separator} line and one copy below, however
26b37c3219d1 (Hints to MUA Authors): MUA should do any decoding.
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
1843 there will probably be more headers below this line.@refill
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1844
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1845 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1846 Set @samp{point} to the beginning of the line containing the first mail
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1847 header in the body of the reply. Set @samp{mark} at the end of the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1848 message text. It is very important that the region be set around the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1849 text Supercite is to modify and that the mail headers are within this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1850 region. Supercite will not venture outside the region for any reason,
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1851 and anything within the region is fair game, so don't put anything that
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1852 @strong{must} remain unchanged inside the region.@refill
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1853
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1854 @item
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1855 Run the hook @code{mail-citation-hook}. You will probably want to
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1856 provide some kind of default citation functions in cases where the user
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1857 does not have Supercite installed. By default, your MUA should
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1858 @code{defvar} @code{mail-citation-hook} to @code{nil}, and in your
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1859 yanking function, check its value. If it finds
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1860 @code{mail-citation-hook} to be @code{nil}, it should perform some
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1861 default citing behavior. User who want to connect to Supercite then
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1862 need only add @code{sc-cite-original} to this list of hooks using
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1863 @code{add-hook}.@refill
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1864 @end enumerate
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1865
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1866 If you do all this your MUA will join the ranks of those that conform to
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1867 this interface ``out of the box.''
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1868
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1869 @node Thanks and History, GNU Free Documentation License, Hints to MUA Authors, Top
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1870 @chapter Thanks and History
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1871
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1872 The Supercite package was derived from its predecessor Superyank 1.11
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1873 which was inspired by various bits of code and ideas from Martin Neitzel
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1874 and Ashwin Ram. They were the folks who came up with the idea of
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1875 non-nested citations and implemented some rough code to provide this
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1876 style. Superyank and Supercite version 2 evolved to the point where much
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1877 of the attribution selection mechanism was automatic, and features have
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1878 been continuously added through the comments and suggestions of the
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1879 Supercite mailing list participants.
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1880
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1881 With version 3, Supercite underwent an almost complete rewrite,
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1882 benefitting in a number of ways, including vast improvements in the
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1883 speed of performance, a big reduction in size of the code and in the use
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1884 of Emacs resources, and a much cleaner and flexible internal
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1885 architecture. Most of this work was internal and not of very great
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1886 importance to the casual user. There were some changes at the
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1887 user-visible level, but for the most part, the Supercite configuration
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1888 variables from version 2 should still be relevant to version 3.
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1889 Hopefully Supercite version 3 is faster, smaller, and much more flexible
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1890 than its predecessors.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1891
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1892 In the version 2 manual I thanked some specific people for their help in
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1893 developing Supercite 2. You folks know who you are and your continued
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1894 support is greatly appreciated. I wish to thank everyone on the
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1895 Supercite mailing list, especially the brave alpha testers, who helped
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1896 considerably in testing out the concepts and implementation of Supercite
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1897 version 3. Special thanks go out to the MUA and Emacs authors Kyle
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1898 Jones, Stephen Gildea, Richard Stallman, and Jamie Zawinski for coming
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1899 to a quick agreement on the new @code{mail-citation-hook} interface, and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1900 for adding the magic lisp to their code to support this.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1901
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1902 All who have helped and contributed have been greatly appreciated.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1903
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1904 Supercite was written by Barry Warsaw.
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1905
92246
6184e70102de Remove a lot of old and obsolete info.
Glenn Morris <rgm@gnu.org>
parents: 87903
diff changeset
1906 @node GNU Free Documentation License, Concept Index, Thanks and History, Top
84313
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1907 @appendix GNU Free Documentation License
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1908 @include doclicense.texi
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1909
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1910 @node Concept Index, Command Index, GNU Free Documentation License, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1911 @unnumbered Concept Index
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1912 @printindex cp
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1913
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1914 @node Command Index, Key Index, Concept Index, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1915 @unnumbered Command Index
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1916 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1917
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1918 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1919 Since all supercite commands are prepended with the string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1920 ``@code{sc-}'', each appears under its @code{sc-}@var{command} name and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1921 its @var{command} name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1922 @iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1923 @sp 2
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1924 @end iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1925 @printindex fn
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1926
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1927 @node Key Index, Variable Index, Command Index, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1928 @unnumbered Key Index
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1929 @printindex ky
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1930
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1931 @node Variable Index, , Key Index, Top
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1932 @unnumbered Variable Index
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1933 @ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1934
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1935 @end ifinfo
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1936 Since all supercite variables are prepended with the string
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1937 ``@code{sc-}'', each appears under its @code{sc-}@var{variable} name and
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1938 its @var{variable} name.
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1939 @iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1940 @sp 2
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1941 @end iftex
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1942 @printindex vr
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1943 @bye
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1944
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1945 @ignore
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1946 arch-tag: 0521847a-4680-44b6-ae6e-13ce20e18436
0ae78db27d60 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1947 @end ignore