aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorTom Tromey2013-08-19 21:53:07 -0600
committerTom Tromey2013-08-19 21:53:07 -0600
commit6d75555c5cc3d2a629646cee7629e67530fa7a36 (patch)
tree3852804dd234ad613ea8691332e10b92c027e87d /doc
parentcc231cbe45d27a1906d268fb72d3b4105a2e9c65 (diff)
parent8c2f38aaab7a7a2f0605416fc2ee38701e41ab61 (diff)
downloademacs-6d75555c5cc3d2a629646cee7629e67530fa7a36.tar.gz
emacs-6d75555c5cc3d2a629646cee7629e67530fa7a36.zip
merge from trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog68
-rw-r--r--doc/emacs/Makefile.in94
-rw-r--r--doc/emacs/cal-xtra.texi94
-rw-r--r--doc/emacs/calendar.texi88
-rw-r--r--doc/emacs/custom.texi5
-rw-r--r--doc/emacs/emacs.texi4
-rw-r--r--doc/emacs/files.texi1
-rw-r--r--doc/emacs/glossary.texi13
-rw-r--r--doc/emacs/killing.texi2
-rw-r--r--doc/emacs/macos.texi13
-rw-r--r--doc/emacs/maintaining.texi22
-rw-r--r--doc/emacs/mule.texi102
-rw-r--r--doc/emacs/rmail.texi11
-rw-r--r--doc/emacs/text.texi11
-rw-r--r--doc/emacs/trouble.texi46
-rw-r--r--doc/lispintro/ChangeLog36
-rw-r--r--doc/lispintro/Makefile.in91
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi30
-rw-r--r--doc/lispref/ChangeLog118
-rw-r--r--doc/lispref/Makefile.in90
-rw-r--r--doc/lispref/control.texi56
-rw-r--r--doc/lispref/display.texi14
-rw-r--r--doc/lispref/edebug.texi4
-rw-r--r--doc/lispref/elisp.texi1
-rw-r--r--doc/lispref/errors.texi11
-rw-r--r--doc/lispref/frames.texi6
-rw-r--r--doc/lispref/functions.texi1
-rw-r--r--doc/lispref/lists.texi15
-rw-r--r--doc/lispref/markers.texi26
-rw-r--r--doc/lispref/modes.texi6
-rw-r--r--doc/lispref/nonascii.texi51
-rw-r--r--doc/lispref/positions.texi21
-rw-r--r--doc/lispref/text.texi45
-rw-r--r--doc/lispref/variables.texi1
-rw-r--r--doc/lispref/windows.texi17
-rw-r--r--doc/misc/ChangeLog161
-rw-r--r--doc/misc/Makefile.in714
-rw-r--r--doc/misc/cc-mode.texi22
-rw-r--r--doc/misc/cl.texi5
-rw-r--r--doc/misc/edt.texi4
-rw-r--r--doc/misc/eieio.texi58
-rw-r--r--doc/misc/emacs-mime.texi20
-rw-r--r--doc/misc/epa.texi8
-rw-r--r--doc/misc/gnus.texi63
-rw-r--r--doc/misc/htmlfontify.texi30
-rw-r--r--doc/misc/ido.texi325
-rw-r--r--doc/misc/mairix-el.texi29
-rw-r--r--doc/misc/newsticker.texi6
-rw-r--r--doc/misc/reftex.texi117
-rw-r--r--doc/misc/sc.texi194
-rw-r--r--doc/misc/texinfo.tex10
-rw-r--r--doc/misc/todo-mode.texi1760
-rw-r--r--doc/misc/tramp.texi10
-rw-r--r--doc/misc/woman.texi5
54 files changed, 3850 insertions, 905 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index ad2f091f27f..f94db60f25f 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,71 @@
12013-08-17 Xue Fuqiao <xfq.free@gmail.com>
2
3 * text.texi (Enriched Justification): Minor fixes.
4
52013-08-14 Xue Fuqiao <xfq.free@gmail.com>
6
7 * files.texi (Filesets): Add an index.
8
92013-08-12 Glenn Morris <rgm@gnu.org>
10
11 * macos.texi (GNUstep Support):
12 * trouble.texi (Checklist, Contributing, Service):
13 Avoid mailto: in html output.
14
15 * Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
16 (docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
17 (INSTALL_DATA): New, set by configure.
18 (HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
19 New variables.
20 (.SUFFIXES): Add .ps and .dvi.
21 (.dvi.ps): New suffix rule.
22 (dvi, html, pdf, ps): Use *_TARGETS variables.
23 (emacs.ps, emacs-xtra.ps): Remove explicit rules.
24 (emacs.html): Use HTML_OPTS.
25 (clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
26 (.PHONY): install-dvi, install-html, install-pdf, install-ps
27 ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
28 uninstall-ps, and uninstall-doc.
29 (install-dvi, install-html, install-pdf, install-ps, install-doc)
30 (uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
31 (uninstall-doc): New rules.
32
332013-07-31 Eli Zaretskii <eliz@gnu.org>
34
35 * emacs.texi (Top): Remove menu item for the removed "Disabling
36 Multibyte" node.
37
382013-07-31 Xue Fuqiao <xfq.free@gmail.com>
39
40 * rmail.texi (Rmail Coding): Move here from mule.texi.
41
42 * custom.texi (Specifying File Variables): Fix cross-references.
43
44 * mule.texi (Unibyte Mode): Fix cross-references.
45 (Disabling Multibyte): Remove.
46
47 * macos.texi (Mac / GNUstep Basics): Mention `ns-alternate-modifier'.
48
49 * cal-xtra.texi (Advanced Calendar/Diary Usage): Update menu.
50 (Mayan Calendar): Move here from calendar.texi.
51 * emacs.texi (Top): Update menu.
52
532013-07-30 Xue Fuqiao <xfq.free@gmail.com>
54
55 * emacs.texi (Top): Add menu entry.
56
57 * maintaining.texi (VC Ignore): New node. Document vc-ignore.
58 (VC Directory Commands): Add vc-dir-ignore.
59
602013-07-28 Xue Fuqiao <xfq.free@gmail.com>
61
62 * glossary.texi (Glossary): Add some entries.
63
642013-07-27 Xue Fuqiao <xfq.free@gmail.com>
65
66 * maintaining.texi (VC Directory Commands): Mention `D' and `L' in
67 vc-dir. (Bug#14948)
68
12013-07-26 Eli Zaretskii <eliz@gnu.org> 692013-07-26 Eli Zaretskii <eliz@gnu.org>
2 70
3 * display.texi (Fringes): Document the variable fringe-mode. 71 * display.texi (Fringes): Document the variable fringe-mode.
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in
index 32bb39b127a..7aeead4e2f6 100644
--- a/doc/emacs/Makefile.in
+++ b/doc/emacs/Makefile.in
@@ -38,8 +38,22 @@ buildinfodir = $(srcdir)/../../info
38# Directory with the (customized) texinfo.tex file. 38# Directory with the (customized) texinfo.tex file.
39texinfodir = $(srcdir)/../misc 39texinfodir = $(srcdir)/../misc
40 40
41prefix = @prefix@
42datarootdir = @datarootdir@
43datadir = @datadir@
44PACKAGE_TARNAME = @PACKAGE_TARNAME@
45docdir = @docdir@
46dvidir = @dvidir@
47htmldir = @htmldir@
48pdfdir = @pdfdir@
49psdir = @psdir@
50
41MKDIR_P = @MKDIR_P@ 51MKDIR_P = @MKDIR_P@
42 52
53GZIP_PROG = @GZIP_PROG@
54
55HTML_OPTS = --no-split --html
56
43INFO_EXT=@INFO_EXT@ 57INFO_EXT=@INFO_EXT@
44# Options used only when making info output. 58# Options used only when making info output.
45# --no-split is only needed because of MS-DOS. 59# --no-split is only needed because of MS-DOS.
@@ -47,6 +61,9 @@ INFO_EXT=@INFO_EXT@
47# http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01182.html 61# http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01182.html
48INFO_OPTS=@INFO_OPTS@ 62INFO_OPTS=@INFO_OPTS@
49 63
64INSTALL = @INSTALL@
65INSTALL_DATA = @INSTALL_DATA@
66
50# The makeinfo program is part of the Texinfo distribution. 67# The makeinfo program is part of the Texinfo distribution.
51# Use --force so that it generates output even if there are errors. 68# Use --force so that it generates output even if there are errors.
52MAKEINFO = @MAKEINFO@ 69MAKEINFO = @MAKEINFO@
@@ -60,6 +77,10 @@ DVIPS = dvips
60ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \ 77ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
61 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" 78 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
62 79
80DVI_TARGETS = emacs.dvi emacs-xtra.dvi
81HTML_TARGETS = emacs.html
82PDF_TARGETS = emacs.pdf emacs-xtra.pdf
83PS_TARGETS = emacs.ps emacs-xtra.ps
63 84
64EMACS_XTRA= \ 85EMACS_XTRA= \
65 ${srcdir}/emacs-xtra.texi \ 86 ${srcdir}/emacs-xtra.texi \
@@ -128,11 +149,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
128 149
129.PHONY: info dvi html pdf ps 150.PHONY: info dvi html pdf ps
130 151
152.SUFFIXES: .ps .dvi
153
154.dvi.ps:
155 $(DVIPS) -o $@ $<
156
131info: $(buildinfodir)/emacs$(INFO_EXT) 157info: $(buildinfodir)/emacs$(INFO_EXT)
132dvi: emacs.dvi 158dvi: $(DVI_TARGETS)
133html: emacs.html 159html: $(HTML_TARGETS)
134pdf: emacs.pdf 160pdf: $(PDF_TARGETS)
135ps: emacs.ps 161ps: $(PS_TARGETS)
136 162
137# Note that all the Info targets build the Info files in srcdir. 163# Note that all the Info targets build the Info files in srcdir.
138# There is no provision for Info files to exist in the build directory. 164# There is no provision for Info files to exist in the build directory.
@@ -145,21 +171,15 @@ $(buildinfodir)/emacs$(INFO_EXT): ${EMACSSOURCES}
145emacs.dvi: ${EMACSSOURCES} 171emacs.dvi: ${EMACSSOURCES}
146 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi 172 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
147 173
148emacs.ps: emacs.dvi
149 $(DVIPS) -o $@ emacs.dvi
150
151emacs.pdf: ${EMACSSOURCES} 174emacs.pdf: ${EMACSSOURCES}
152 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi 175 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
153 176
154emacs.html: ${EMACSSOURCES} 177emacs.html: ${EMACSSOURCES}
155 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi 178 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs.texi
156 179
157emacs-xtra.dvi: $(EMACS_XTRA) 180emacs-xtra.dvi: $(EMACS_XTRA)
158 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi 181 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
159 182
160emacs-xtra.ps: emacs-xtra.dvi
161 $(DVIPS) -o $@ emacs-xtra.dvi
162
163emacs-xtra.pdf: $(EMACS_XTRA) 183emacs-xtra.pdf: $(EMACS_XTRA)
164 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi 184 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
165 185
@@ -172,9 +192,7 @@ mostlyclean:
172 192
173## Products not in the release tarfiles. 193## Products not in the release tarfiles.
174clean: mostlyclean 194clean: mostlyclean
175 rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \ 195 rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
176 emacs.ps emacs-xtra.ps
177 rm -rf emacs.html/
178 rm -f emacs-manual-${version}.tar* 196 rm -f emacs-manual-${version}.tar*
179 197
180distclean: clean 198distclean: clean
@@ -207,4 +225,52 @@ dist:
207 tar -cf emacs-manual-${version}.tar emacs-manual-${version} 225 tar -cf emacs-manual-${version}.tar emacs-manual-${version}
208 rm -rf emacs-manual-${version} 226 rm -rf emacs-manual-${version}
209 227
228
229.PHONY: install-dvi install-html install-pdf install-ps install-doc
230
231install-dvi: dvi
232 umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
233 $(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
234install-html: html
235 umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
236 $(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
237install-pdf: pdf
238 umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
239 $(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
240install-ps: ps
241 umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
242 for file in $(PS_TARGETS); do \
243 $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
244 [ -n "${GZIP_PROG}" ] || continue; \
245 rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
246 ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
247 done
248
249## Top-level Makefile installs the info pages.
250install-doc: install-dvi install-html install-pdf install-ps
251
252
253.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
254
255uninstall-dvi:
256 for file in $(DVI_TARGETS); do \
257 rm -f $(DESTDIR)$(dvidir)/$${file}; \
258 done
259uninstall-html:
260 for file in $(HTML_TARGETS); do \
261 rm -f $(DESTDIR)$(htmldir)/$${file}; \
262 done
263uninstall-ps:
264 ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
265 for file in $(PS_TARGETS); do \
266 rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
267 done
268uninstall-pdf:
269 for file in $(PDF_TARGETS); do \
270 rm -f $(DESTDIR)$(pdfdir)/$${file}; \
271 done
272
273uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
274
275
210### Makefile ends here 276### Makefile ends here
diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi
index 1b182327d33..5c964bbb369 100644
--- a/doc/emacs/cal-xtra.texi
+++ b/doc/emacs/cal-xtra.texi
@@ -17,6 +17,7 @@ your personal tastes.
17@menu 17@menu
18* Calendar Customizing:: Calendar layout and hooks. 18* Calendar Customizing:: Calendar layout and hooks.
19* Holiday Customizing:: Defining your own holidays. 19* Holiday Customizing:: Defining your own holidays.
20* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
20* Date Display Format:: Changing the format. 21* Date Display Format:: Changing the format.
21* Time Display Format:: Changing the format. 22* Time Display Format:: Changing the format.
22* Diary Customizing:: Defaults you can set. 23* Diary Customizing:: Defaults you can set.
@@ -260,6 +261,99 @@ visible in the calendar window, with descriptive strings, like this:
260(((6 4 2012) "Lunar Eclipse") ((11 13 2012) "Solar Eclipse") ... ) 261(((6 4 2012) "Lunar Eclipse") ((11 13 2012) "Solar Eclipse") ... )
261@end smallexample 262@end smallexample
262 263
264@node Mayan Calendar
265@subsection Converting from the Mayan Calendar
266@cindex Mayan calendar
267
268 Here are the commands to select dates based on the Mayan calendar:
269
270@table @kbd
271@item g m l
272Move to a date specified by the long count calendar
273(@code{calendar-mayan-goto-long-count-date}).
274@item g m n t
275Move to the next occurrence of a place in the
276tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
277@item g m p t
278Move to the previous occurrence of a place in the
279tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
280@item g m n h
281Move to the next occurrence of a place in the
282haab calendar (@code{calendar-mayan-next-haab-date}).
283@item g m p h
284Move to the previous occurrence of a place in the
285haab calendar (@code{calendar-mayan-previous-haab-date}).
286@item g m n c
287Move to the next occurrence of a place in the
288calendar round (@code{calendar-mayan-next-calendar-round-date}).
289@item g m p c
290Move to the previous occurrence of a place in the
291calendar round (@code{calendar-mayan-previous-calendar-round-date}).
292@end table
293
294@cindex Mayan long count
295 To understand these commands, you need to understand the Mayan calendars.
296The @dfn{long count} is a counting of days with these units:
297
298@display
2991 kin = 1 day@ @ @ 1 uinal = 20 kin@ @ @ 1 tun = 18 uinal
3001 katun = 20 tun@ @ @ 1 baktun = 20 katun
301@end display
302
303@kindex g m @r{(Calendar mode)}
304@findex calendar-mayan-goto-long-count-date
305@noindent
306Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
307tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
308count dates as early as 7.17.18.13.3, but no earlier. When you use the
309@kbd{g m l} command, type the Mayan long count date with the baktun,
310katun, tun, uinal, and kin separated by periods.
311
312@findex calendar-mayan-previous-tzolkin-date
313@findex calendar-mayan-next-tzolkin-date
314@cindex Mayan tzolkin calendar
315 The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
316independent cycles of 13 and 20 days. Since this cycle repeats
317endlessly, Emacs provides commands to move backward and forward to the
318previous or next point in the cycle. Type @kbd{g m p t} to go to the
319previous tzolkin date; Emacs asks you for a tzolkin date and moves point
320to the previous occurrence of that date. Similarly, type @kbd{g m n t}
321to go to the next occurrence of a tzolkin date.
322
323@findex calendar-mayan-previous-haab-date
324@findex calendar-mayan-next-haab-date
325@cindex Mayan haab calendar
326 The Mayan haab calendar is a cycle of 365 days arranged as 18 months
327of 20 days each, followed by a 5-day monthless period. Like the tzolkin
328cycle, this cycle repeats endlessly, and there are commands to move
329backward and forward to the previous or next point in the cycle. Type
330@kbd{g m p h} to go to the previous haab date; Emacs asks you for a haab
331date and moves point to the previous occurrence of that date.
332Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
333date.
334
335@c This is omitted because it is too long for smallbook format.
336@c @findex calendar-mayan-previous-calendar-round-date
337@findex calendar-mayan-next-calendar-round-date
338@cindex Mayan calendar round
339 The Maya also used the combination of the tzolkin date and the haab
340date. This combination is a cycle of about 52 years called a
341@emph{calendar round}. If you type @kbd{g m p c}, Emacs asks you for
342both a haab and a tzolkin date and then moves point to the previous
343occurrence of that combination. Use @kbd{g m n c} to move point to the
344next occurrence of a combination. These commands signal an error if the
345haab/tzolkin date combination you have typed is impossible.
346
347 Emacs uses strict completion
348@iftex
349(@pxref{Completion Exit,,, emacs, the Emacs Manual})
350@end iftex
351@ifnottex
352(@pxref{Completion Exit})
353@end ifnottex
354whenever it asks you to type a Mayan name, so you don't have to worry
355about spelling.
356
263@node Date Display Format 357@node Date Display Format
264@subsection Date Display Format 358@subsection Date Display Format
265@vindex calendar-date-display-form 359@vindex calendar-date-display-form
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index 075d753ae7a..88f46984207 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -678,7 +678,6 @@ and from several other calendars.
678 (aside from Gregorian). 678 (aside from Gregorian).
679* To Other Calendar:: Converting the selected date to various calendars. 679* To Other Calendar:: Converting the selected date to various calendars.
680* From Other Calendar:: Moving to a date specified in another calendar. 680* From Other Calendar:: Moving to a date specified in another calendar.
681* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
682@end menu 681@end menu
683 682
684@c FIXME perhaps most of the details should be moved to cal-xtra. 683@c FIXME perhaps most of the details should be moved to cal-xtra.
@@ -913,93 +912,6 @@ years for the date given by point. If you are not in the calendar,
913this command first asks you for the date of death and the range of 912this command first asks you for the date of death and the range of
914years, and then displays the list of yahrzeit dates. 913years, and then displays the list of yahrzeit dates.
915 914
916@c FIXME move to emacs-xtra.
917@node Mayan Calendar
918@subsection Converting from the Mayan Calendar
919
920 Here are the commands to select dates based on the Mayan calendar:
921
922@table @kbd
923@item g m l
924Move to a date specified by the long count calendar
925(@code{calendar-mayan-goto-long-count-date}).
926@item g m n t
927Move to the next occurrence of a place in the
928tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
929@item g m p t
930Move to the previous occurrence of a place in the
931tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
932@item g m n h
933Move to the next occurrence of a place in the
934haab calendar (@code{calendar-mayan-next-haab-date}).
935@item g m p h
936Move to the previous occurrence of a place in the
937haab calendar (@code{calendar-mayan-previous-haab-date}).
938@item g m n c
939Move to the next occurrence of a place in the
940calendar round (@code{calendar-mayan-next-calendar-round-date}).
941@item g m p c
942Move to the previous occurrence of a place in the
943calendar round (@code{calendar-mayan-previous-calendar-round-date}).
944@end table
945
946@cindex Mayan long count
947 To understand these commands, you need to understand the Mayan calendars.
948The @dfn{long count} is a counting of days with these units:
949
950@display
9511 kin = 1 day@ @ @ 1 uinal = 20 kin@ @ @ 1 tun = 18 uinal
9521 katun = 20 tun@ @ @ 1 baktun = 20 katun
953@end display
954
955@kindex g m @r{(Calendar mode)}
956@findex calendar-mayan-goto-long-count-date
957@noindent
958Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
959tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
960count dates as early as 7.17.18.13.3, but no earlier. When you use the
961@kbd{g m l} command, type the Mayan long count date with the baktun,
962katun, tun, uinal, and kin separated by periods.
963
964@findex calendar-mayan-previous-tzolkin-date
965@findex calendar-mayan-next-tzolkin-date
966@cindex Mayan tzolkin calendar
967 The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
968independent cycles of 13 and 20 days. Since this cycle repeats
969endlessly, Emacs provides commands to move backward and forward to the
970previous or next point in the cycle. Type @kbd{g m p t} to go to the
971previous tzolkin date; Emacs asks you for a tzolkin date and moves point
972to the previous occurrence of that date. Similarly, type @kbd{g m n t}
973to go to the next occurrence of a tzolkin date.
974
975@findex calendar-mayan-previous-haab-date
976@findex calendar-mayan-next-haab-date
977@cindex Mayan haab calendar
978 The Mayan haab calendar is a cycle of 365 days arranged as 18 months
979of 20 days each, followed by a 5-day monthless period. Like the tzolkin
980cycle, this cycle repeats endlessly, and there are commands to move
981backward and forward to the previous or next point in the cycle. Type
982@kbd{g m p h} to go to the previous haab date; Emacs asks you for a haab
983date and moves point to the previous occurrence of that date.
984Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
985date.
986
987@c This is omitted because it is too long for smallbook format.
988@c @findex calendar-mayan-previous-calendar-round-date
989@findex calendar-mayan-next-calendar-round-date
990@cindex Mayan calendar round
991 The Maya also used the combination of the tzolkin date and the haab
992date. This combination is a cycle of about 52 years called a
993@emph{calendar round}. If you type @kbd{g m p c}, Emacs asks you for
994both a haab and a tzolkin date and then moves point to the previous
995occurrence of that combination. Use @kbd{g m n c} to move point to the
996next occurrence of a combination. These commands signal an error if the
997haab/tzolkin date combination you have typed is impossible.
998
999 Emacs uses strict completion (@pxref{Completion Exit}) whenever it
1000asks you to type a Mayan name, so you don't have to worry about
1001spelling.
1002
1003@node Diary 915@node Diary
1004@section The Diary 916@section The Diary
1005@cindex diary 917@cindex diary
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 45fa45191f3..f3e07fd8ba0 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1166,7 +1166,10 @@ conversion of this file. @xref{Coding Systems}.
1166 1166
1167@item 1167@item
1168@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte 1168@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
1169mode, if the value is @code{t}. @xref{Disabling Multibyte}. 1169mode, if the value is @code{t}. @xref{Disabling Multibyte, ,
1170Disabling Multibyte Characters, elisp, GNU Emacs Lisp Reference
1171Manual}.
1172
1170@end itemize 1173@end itemize
1171 1174
1172@noindent 1175@noindent
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index e2d0b0eebf6..8a518b82abb 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -544,7 +544,6 @@ Frames and Graphical Displays
544International Character Set Support 544International Character Set Support
545 545
546* International Chars:: Basic concepts of multibyte characters. 546* International Chars:: Basic concepts of multibyte characters.
547* Disabling Multibyte:: Controlling whether to use multibyte characters.
548* Language Environments:: Setting things up for the language you use. 547* Language Environments:: Setting things up for the language you use.
549* Input Methods:: Entering text characters not on your keyboard. 548* Input Methods:: Entering text characters not on your keyboard.
550* Select Input Method:: Specifying your choice of input methods. 549* Select Input Method:: Specifying your choice of input methods.
@@ -798,6 +797,7 @@ Version Control
798* Old Revisions:: Examining and comparing old versions. 797* Old Revisions:: Examining and comparing old versions.
799* VC Change Log:: Viewing the VC Change Log. 798* VC Change Log:: Viewing the VC Change Log.
800* VC Undo:: Canceling changes before or after committing. 799* VC Undo:: Canceling changes before or after committing.
800* VC Ignore:: Ignore files under version control system.
801* VC Directory Mode:: Listing files managed by version control. 801* VC Directory Mode:: Listing files managed by version control.
802* Branches:: Multiple lines of development. 802* Branches:: Multiple lines of development.
803@ifnottex 803@ifnottex
@@ -956,7 +956,6 @@ Conversion To and From Other Calendars
956 (aside from Gregorian). 956 (aside from Gregorian).
957* To Other Calendar:: Converting the selected date to various calendars. 957* To Other Calendar:: Converting the selected date to various calendars.
958* From Other Calendar:: Moving to a date specified in another calendar. 958* From Other Calendar:: Moving to a date specified in another calendar.
959* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
960 959
961The Diary 960The Diary
962 961
@@ -971,6 +970,7 @@ More advanced features of the Calendar and Diary
971 970
972* Calendar Customizing:: Calendar layout and hooks. 971* Calendar Customizing:: Calendar layout and hooks.
973* Holiday Customizing:: Defining your own holidays. 972* Holiday Customizing:: Defining your own holidays.
973* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
974* Date Display Format:: Changing the format. 974* Date Display Format:: Changing the format.
975* Time Display Format:: Changing the format. 975* Time Display Format:: Changing the format.
976* Diary Customizing:: Defaults you can set. 976* Diary Customizing:: Defaults you can set.
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 7daeca3bf38..bff0926f347 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1982,6 +1982,7 @@ thumbnails. @xref{Image-Dired}.
1982@node Filesets 1982@node Filesets
1983@section Filesets 1983@section Filesets
1984@cindex filesets 1984@cindex filesets
1985@cindex sets of files
1985 1986
1986@findex filesets-init 1987@findex filesets-init
1987 If you regularly edit a certain group of files, you can define them 1988 If you regularly edit a certain group of files, you can define them
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index ee41313c10f..e4693a5293f 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -4,6 +4,7 @@
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Glossary 5@node Glossary
6@unnumbered Glossary 6@unnumbered Glossary
7@cindex glossary
7 8
8@table @asis 9@table @asis
9@anchor{Glossary---Abbrev} 10@anchor{Glossary---Abbrev}
@@ -18,7 +19,10 @@ Aborting means getting out of a recursive edit (q.v.). The
18commands @kbd{C-]} and @kbd{M-x top-level} are used for this. 19commands @kbd{C-]} and @kbd{M-x top-level} are used for this.
19@xref{Quitting}. 20@xref{Quitting}.
20 21
21@c FIXME? Active Region 22@item Active Region
23Setting the mark (q.v.@:) at a position in the text also activates it.
24When the mark is active, we call the region an active region.
25@xref{Mark}.
22 26
23@item Alt 27@item Alt
24Alt is the name of a modifier bit that a keyboard input character may 28Alt is the name of a modifier bit that a keyboard input character may
@@ -869,6 +873,7 @@ The Emacs major modes are a mutually exclusive set of options, each of
869which configures Emacs for editing a certain sort of text. Ideally, 873which configures Emacs for editing a certain sort of text. Ideally,
870each programming language has its own major mode. @xref{Major Modes}. 874each programming language has its own major mode. @xref{Major Modes}.
871 875
876@c FIXME: Mention margins for filling?
872@item Margin 877@item Margin
873The space between the usable part of a window (including the 878The space between the usable part of a window (including the
874fringe) and the window edge. 879fringe) and the window edge.
@@ -1365,7 +1370,11 @@ are not in a recursive editing level (q.v.@:) or the minibuffer
1365(q.v.), and not in the middle of a command. You can get back to top 1370(q.v.), and not in the middle of a command. You can get back to top
1366level by aborting (q.v.@:) and quitting (q.v.). @xref{Quitting}. 1371level by aborting (q.v.@:) and quitting (q.v.). @xref{Quitting}.
1367 1372
1368@c FIXME? Transient Mark Mode 1373@item Transient Mark Mode
1374The default behavior of the mark (q.v.@:) and region (q.v.), in which
1375setting the mark activates it and highlights the region, is called
1376Transient Mark mode. In GNU Emacs 23 and onwards, it is enabled by
1377default. @xref{Disabled Transient Mark}.
1369 1378
1370@item Transposition 1379@item Transposition
1371Transposing two units of text means putting each one into the place 1380Transposing two units of text means putting each one into the place
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 051bfe3eae8..cb33327faa1 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -109,6 +109,8 @@ number of characters. If the numeric argument is omitted or one, they
109delete all the text in the region if it is active (@pxref{Using 109delete all the text in the region if it is active (@pxref{Using
110Region}). 110Region}).
111 111
112@c FIXME: `cycle-spacing' should be documented, too. (Maybe not in
113@c this node, tho.) --xfq
112@kindex M-\ 114@kindex M-\
113@findex delete-horizontal-space 115@findex delete-horizontal-space
114@kindex M-SPC 116@kindex M-SPC
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 4483c91802d..50a7ea2c335 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -40,13 +40,16 @@ Emacs provides a set of key bindings using this modifier key that mimic
40other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You 40other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
41can change these bindings in the usual way (@pxref{Key Bindings}). 41can change these bindings in the usual way (@pxref{Key Bindings}).
42 42
43@c FIXME mention ns-alternate-modifier? 43@vindex ns-alternate-modifier
44@vindex ns-right-alternate-modifier
44 The variable @code{ns-right-alternate-modifier} controls the 45 The variable @code{ns-right-alternate-modifier} controls the
45behavior of the right @key{alt} and @key{option} keys. These keys 46behavior of the right @key{alt} and @key{option} keys. These keys
46behave like the left-hand keys if the value is @code{left} (the 47behave like the left-hand keys if the value is @code{left} (the
47default). A value of @code{control}, @code{meta}, @code{alt}, 48default). A value of @code{control}, @code{meta}, @code{alt},
48@code{super}, or @code{hyper} makes them behave like the corresponding 49@code{super}, or @code{hyper} makes them behave like the corresponding
49modifier keys; a value of @code{none} tells Emacs to ignore them. 50modifier keys; a value to @code{left} means be the same key as
51@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
52ignore them.
50 53
51 @kbd{S-Mouse-1} adjusts the region to the click position, 54 @kbd{S-Mouse-1} adjusts the region to the click position,
52just like @kbd{Mouse-3} (@code{mouse-save-then-kill}); it does not pop 55just like @kbd{Mouse-3} (@code{mouse-save-then-kill}); it does not pop
@@ -207,4 +210,10 @@ restart Emacs to access newly-available services.
207 210
208Emacs can be built and run under GNUstep, but there are still 211Emacs can be built and run under GNUstep, but there are still
209issues to be addressed. Interested developers should contact 212issues to be addressed. Interested developers should contact
213@ifnothtml
210@email{emacs-devel@@gnu.org}. 214@email{emacs-devel@@gnu.org}.
215@end ifnothtml
216@ifhtml
217@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, the
218emacs-devel mailing list}.
219@end ifhtml
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index e89660dfaf5..553375442d5 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1,4 +1,4 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual., Abbrevs, This is part of the Emacs manual., Top
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software 2@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software
3@c Foundation, Inc. 3@c Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
@@ -56,6 +56,7 @@ variable @code{vc-handled-backends} to @code{nil}
56* Old Revisions:: Examining and comparing old versions. 56* Old Revisions:: Examining and comparing old versions.
57* VC Change Log:: Viewing the VC Change Log. 57* VC Change Log:: Viewing the VC Change Log.
58* VC Undo:: Canceling changes before or after committing. 58* VC Undo:: Canceling changes before or after committing.
59* VC Ignore:: Ignore files under version control system.
59* VC Directory Mode:: Listing files managed by version control. 60* VC Directory Mode:: Listing files managed by version control.
60* Branches:: Multiple lines of development. 61* Branches:: Multiple lines of development.
61@ifnottex 62@ifnottex
@@ -1032,6 +1033,23 @@ unlocked; you must lock again to resume editing. You can also use
1032@kbd{C-x v u} to unlock a file if you lock it and then decide not to 1033@kbd{C-x v u} to unlock a file if you lock it and then decide not to
1033change it. 1034change it.
1034 1035
1036@node VC Ignore
1037@subsection Ignore Version Control Files
1038
1039@table @kbd
1040@item C-x v G
1041Ignore a file under current version control system. (@code{vc-ignore}).
1042@end table
1043
1044@kindex C-x v G
1045@findex vc-ignore
1046 Many source trees contain some files that do not need to be versioned,
1047such as editor backups, object or bytecode files, and built programs.
1048You can simply not add them, but then they’ll always crop up as
1049unknown files. You can also tell the version control system to ignore
1050these files by adding them to the ignore file at the top of the tree.
1051@kbd{C-x v G} (@code{vc-ignore}) can help you do this.
1052
1035@node VC Directory Mode 1053@node VC Directory Mode
1036@subsection VC Directory Mode 1054@subsection VC Directory Mode
1037 1055
@@ -1222,7 +1240,7 @@ Revisions}), and @w{@kbd{C-x v u}} (@pxref{VC Undo}).
1222 1240
1223 The VC Directory buffer also defines some single-key shortcuts for 1241 The VC Directory buffer also defines some single-key shortcuts for
1224VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l}, 1242VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l},
1225@kbd{i}, and @kbd{v}. 1243@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G} and @kbd{v}.
1226 1244
1227 For example, you can commit a set of edited files by opening a VC 1245 For example, you can commit a set of edited files by opening a VC
1228Directory buffer, where the files are listed with the @samp{edited} 1246Directory buffer, where the files are listed with the @samp{edited}
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index c8bd5027fa0..ebddc46be94 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -90,7 +90,6 @@ value to make sure Emacs interprets keyboard input correctly; see
90 90
91@menu 91@menu
92* International Chars:: Basic concepts of multibyte characters. 92* International Chars:: Basic concepts of multibyte characters.
93* Disabling Multibyte:: Controlling whether to use multibyte characters.
94* Language Environments:: Setting things up for the language you use. 93* Language Environments:: Setting things up for the language you use.
95* Input Methods:: Entering text characters not on your keyboard. 94* Input Methods:: Entering text characters not on your keyboard.
96* Select Input Method:: Specifying your choice of input methods. 95* Select Input Method:: Specifying your choice of input methods.
@@ -244,79 +243,6 @@ Character code properties: customize what to show
244 decomposition: (65 768) ('A' '`') 243 decomposition: (65 768) ('A' '`')
245@end smallexample 244@end smallexample
246 245
247@c FIXME? Does this section even belong in the user manual?
248@c Seems more appropriate to the lispref?
249@node Disabling Multibyte
250@section Disabling Multibyte Characters
251
252 By default, Emacs starts in multibyte mode: it stores the contents
253of buffers and strings using an internal encoding that represents
254non-@acronym{ASCII} characters using multi-byte sequences. Multibyte
255mode allows you to use all the supported languages and scripts without
256limitations.
257
258@cindex turn multibyte support on or off
259 Under very special circumstances, you may want to disable multibyte
260character support, for a specific buffer.
261When multibyte characters are disabled in a buffer, we call
262that @dfn{unibyte mode}. In unibyte mode, each character in the
263buffer has a character code ranging from 0 through 255 (0377 octal); 0
264through 127 (0177 octal) represent @acronym{ASCII} characters, and 128
265(0200 octal) through 255 (0377 octal) represent non-@acronym{ASCII}
266characters.
267
268 To edit a particular file in unibyte representation, visit it using
269@code{find-file-literally}. @xref{Visiting}. You can convert a
270multibyte buffer to unibyte by saving it to a file, killing the
271buffer, and visiting the file again with @code{find-file-literally}.
272Alternatively, you can use @kbd{C-x @key{RET} c}
273(@code{universal-coding-system-argument}) and specify @samp{raw-text}
274as the coding system with which to visit or save a file. @xref{Text
275Coding}. Unlike @code{find-file-literally}, finding a file as
276@samp{raw-text} doesn't disable format conversion, uncompression, or
277auto mode selection.
278
279@c Not a single file in Emacs uses this feature. Is it really worth
280@c mentioning in the _user_ manual? Also, this duplicates somewhat
281@c "Loading Non-ASCII" from the lispref.
282@cindex Lisp files, and multibyte operation
283@cindex multibyte operation, and Lisp files
284@cindex unibyte operation, and Lisp files
285@cindex init file, and non-@acronym{ASCII} characters
286 Emacs normally loads Lisp files as multibyte.
287This includes the Emacs initialization
288file, @file{.emacs}, and the initialization files of packages
289such as Gnus. However, you can specify unibyte loading for a
290particular Lisp file, by adding an entry @samp{coding: raw-text} in a file
291local variables section. @xref{Specify Coding}.
292Then that file is always loaded as unibyte text.
293@ignore
294@c I don't see the point of this statement:
295The motivation for these conventions is that it is more reliable to
296always load any particular Lisp file in the same way.
297@end ignore
298You can also load a Lisp file as unibyte, on any one occasion, by
299typing @kbd{C-x @key{RET} c raw-text @key{RET}} immediately before
300loading it.
301
302@c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
303@vindex enable-multibyte-characters
304The buffer-local variable @code{enable-multibyte-characters} is
305non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones.
306The mode line also indicates whether a buffer is multibyte or not.
307@xref{Mode Line}. With a graphical display, in a multibyte buffer,
308the portion of the mode line that indicates the character set has a
309tooltip that (amongst other things) says that the buffer is multibyte.
310In a unibyte buffer, the character set indicator is absent. Thus, in
311a unibyte buffer (when using a graphical display) there is normally
312nothing before the indication of the visited file's end-of-line
313convention (colon, backslash, etc.), unless you are using an input
314method.
315
316@findex toggle-enable-multibyte-characters
317You can turn off multibyte support in a specific buffer by invoking the
318command @code{toggle-enable-multibyte-characters} in that buffer.
319
320@node Language Environments 246@node Language Environments
321@section Language Environments 247@section Language Environments
322@cindex language environments 248@cindex language environments
@@ -919,18 +845,6 @@ pattern, are decoded correctly.
919Unlike the previous two, this variable does not override any 845Unlike the previous two, this variable does not override any
920@samp{-*-coding:-*-} tag. 846@samp{-*-coding:-*-} tag.
921 847
922@c FIXME? This seems somewhat out of place. Move to the Rmail section?
923@vindex rmail-file-coding-system
924 When you get new mail in Rmail, each message is translated
925automatically from the coding system it is written in, as if it were a
926separate file. This uses the priority list of coding systems that you
927have specified. If a MIME message specifies a character set, Rmail
928obeys that specification. For reading and saving Rmail files
929themselves, Emacs uses the coding system specified by the variable
930@code{rmail-file-coding-system}. The default value is @code{nil},
931which means that Rmail files are not translated (they are read and
932written in the Emacs internal character code).
933
934@node Specify Coding 848@node Specify Coding
935@section Specifying a File's Coding System 849@section Specifying a File's Coding System
936 850
@@ -1591,15 +1505,13 @@ the range 0240 to 0377 octal (160 to 255 decimal) to handle the
1591accented letters and punctuation needed by various European languages 1505accented letters and punctuation needed by various European languages
1592(and some non-European ones). Note that Emacs considers bytes with 1506(and some non-European ones). Note that Emacs considers bytes with
1593codes in this range as raw bytes, not as characters, even in a unibyte 1507codes in this range as raw bytes, not as characters, even in a unibyte
1594buffer, i.e., if you disable multibyte characters. However, Emacs 1508buffer, i.e., if you disable multibyte characters. However, Emacs can
1595can still handle these character codes as if they belonged to 1509still handle these character codes as if they belonged to @emph{one}
1596@emph{one} of the single-byte character sets at a time. To specify 1510of the single-byte character sets at a time. To specify @emph{which}
1597@emph{which} of these codes to use, invoke @kbd{M-x 1511of these codes to use, invoke @kbd{M-x set-language-environment} and
1598set-language-environment} and specify a suitable language environment 1512specify a suitable language environment such as @samp{Latin-@var{n}}.
1599such as @samp{Latin-@var{n}}. 1513@xref{Disabling Multibyte, , Disabling Multibyte Characters, elisp,
1600 1514GNU Emacs Lisp Reference Manual}.
1601 For more information about unibyte operation, see
1602@ref{Disabling Multibyte}.
1603 1515
1604@vindex unibyte-display-via-language-environment 1516@vindex unibyte-display-via-language-environment
1605 Emacs can also display bytes in the range 160 to 255 as readable 1517 Emacs can also display bytes in the range 160 to 255 as readable
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 62f35b2ee83..67afc29a277 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -1274,6 +1274,17 @@ It reads the name of a coding system, and then redecodes the message
1274using the coding system you specified. If you specified the right 1274using the coding system you specified. If you specified the right
1275coding system, the result should be readable. 1275coding system, the result should be readable.
1276 1276
1277@vindex rmail-file-coding-system
1278 When you get new mail in Rmail, each message is translated
1279automatically from the coding system it is written in, as if it were a
1280separate file. This uses the priority list of coding systems that you
1281have specified. If a MIME message specifies a character set, Rmail
1282obeys that specification. For reading and saving Rmail files
1283themselves, Emacs uses the coding system specified by the variable
1284@code{rmail-file-coding-system}. The default value is @code{nil},
1285which means that Rmail files are not translated (they are read and
1286written in the Emacs internal character code).
1287
1277@node Rmail Editing 1288@node Rmail Editing
1278@section Editing Within a Message 1289@section Editing Within a Message
1279 1290
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index d50a841d509..e5743b064fb 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -2255,6 +2255,7 @@ Prefix}.
2255 2255
2256@node Enriched Justification 2256@node Enriched Justification
2257@subsection Justification in Enriched Text 2257@subsection Justification in Enriched Text
2258@cindex justification style
2258 2259
2259 In Enriched mode, you can use the following commands to specify 2260 In Enriched mode, you can use the following commands to specify
2260various @dfn{justification styles} for filling. These commands apply 2261various @dfn{justification styles} for filling. These commands apply
@@ -2293,13 +2294,13 @@ commands do nothing on text with this setting. You can, however,
2293still indent the left margin. 2294still indent the left margin.
2294@end table 2295@end table
2295 2296
2297@c FIXME: We should explain the effect of these symbols. --xfq
2296@vindex default-justification 2298@vindex default-justification
2297 You can also specify justification styles using the Justification 2299 You can also specify justification styles using the Justification
2298submenu in the Text Properties menu. 2300submenu in the Text Properties menu. The default justification style
2299 The default justification style is specified by the per-buffer 2301is specified by the per-buffer variable @code{default-justification}.
2300variable @code{default-justification}. Its value should be one of the 2302Its value should be one of the symbols @code{left}, @code{right},
2301symbols @code{left}, @code{right}, @code{full}, @code{center}, or 2303@code{full}, @code{center}, or @code{none}.
2302@code{none}.
2303 2304
2304@node Enriched Properties 2305@node Enriched Properties
2305@subsection Setting Other Text Properties 2306@subsection Setting Other Text Properties
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index d0b6b5191c1..0d5ce6820c7 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -658,7 +658,13 @@ absolutely sure it is best to leave it, so that the developers can
658decide for themselves. 658decide for themselves.
659 659
660When you have finished writing your report, type @kbd{C-c C-c} and it 660When you have finished writing your report, type @kbd{C-c C-c} and it
661will be sent to the Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}. 661will be sent to the Emacs maintainers at
662@ifnothtml
663@email{bug-gnu-emacs@@gnu.org}.
664@end ifnothtml
665@ifhtml
666@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, bug-gnu-emacs}.
667@end ifhtml
662(If you want to suggest an improvement or new feature, use the same 668(If you want to suggest an improvement or new feature, use the same
663address.) If you cannot send mail from inside Emacs, you can copy the 669address.) If you cannot send mail from inside Emacs, you can copy the
664text of your report to your normal mail client (if your system 670text of your report to your normal mail client (if your system
@@ -1138,15 +1144,26 @@ form that is clearly safe to install.
1138@section Contributing to Emacs Development 1144@section Contributing to Emacs Development
1139@cindex contributing to Emacs 1145@cindex contributing to Emacs
1140 1146
1141If you would like to work on improving Emacs, please contact 1147If you would like to work on improving Emacs, please contact the maintainers at
1142the maintainers at @email{emacs-devel@@gnu.org}. You can ask for 1148@ifnothtml
1143suggested projects or suggest your own ideas. 1149@email{emacs-devel@@gnu.org}.
1150@end ifnothtml
1151@ifhtml
1152@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, the
1153emacs-devel mailing list}.
1154@end ifhtml
1155You can ask for suggested projects or suggest your own ideas.
1144 1156
1145If you have already written an improvement, please tell us about it. If 1157If you have already written an improvement, please tell us about it. If
1146you have not yet started work, it is useful to contact 1158you have not yet started work, it is useful to contact
1147@email{emacs-devel@@gnu.org} before you start; it might be 1159@ifnothtml
1148possible to suggest ways to make your extension fit in better with the 1160@email{emacs-devel@@gnu.org}
1149rest of Emacs. 1161@end ifnothtml
1162@ifhtml
1163@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, emacs-devel}
1164@end ifhtml
1165before you start; it might be possible to suggest ways to make your
1166extension fit in better with the rest of Emacs.
1150 1167
1151The development version of Emacs can be downloaded from the 1168The development version of Emacs can be downloaded from the
1152repository where it is actively maintained by a group of developers. 1169repository where it is actively maintained by a group of developers.
@@ -1164,10 +1181,17 @@ ways to find it:
1164 1181
1165@itemize @bullet 1182@itemize @bullet
1166@item 1183@item
1167Send a message to the mailing list 1184Send a message to
1168@email{help-gnu-emacs@@gnu.org}, or post your request on 1185@ifnothtml
1169newsgroup @code{gnu.emacs.help}. (This mailing list and newsgroup 1186the mailing list @email{help-gnu-emacs@@gnu.org},
1170interconnect, so it does not matter which one you use.) 1187@end ifnothtml
1188@ifhtml
1189@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, the
1190help-gnu-emacs mailing list},
1191@end ifhtml
1192or post your request on newsgroup @code{gnu.emacs.help}. (This
1193mailing list and newsgroup interconnect, so it does not matter which
1194one you use.)
1171 1195
1172@item 1196@item
1173Look in the service directory for someone who might help you for a fee. 1197Look in the service directory for someone who might help you for a fee.
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index 4182b6a3184..db02a257a3a 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,39 @@
12013-08-12 Glenn Morris <rgm@gnu.org>
2
3 * emacs-lisp-intro.texi (Complete copy-region-as-kill): Fix typo.
4
5 * emacs-lisp-intro.texi (Thank You): Avoid mailto: in html output.
6
7 * Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
8 (docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
9 (INSTALL_DATA): New, set by configure.
10 (HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
11 New variables.
12 (.SUFFIXES): Add .ps and .dvi.
13 (.dvi.ps): New suffix rule.
14 (dvi, html, pdf, ps): Use *_TARGETS variables.
15 (emacs-lisp-intro.ps): Remove explicit rule.
16 (emacs-lisp-intro.html): Use HTML_OPTS.
17 (clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
18 (.PHONY): install-dvi, install-html, install-pdf, install-ps
19 ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
20 uninstall-ps, and uninstall-doc.
21 (install-dvi, install-html, install-pdf, install-ps, install-doc)
22 (uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
23 (uninstall-doc): New rules.
24
252013-08-07 Eli Zaretskii <eliz@gnu.org>
26
27 * emacs-lisp-intro.texi (Beginning init File): Rename from
28 "Beginning a .emacs File", since a node name cannot include a
29 period.
30 (Top, Emacs Initialization, Change a defun): All references
31 changed. (Bug#15038)
32
332013-08-02 Xue Fuqiao <xfq.free@gmail.com>
34
35 * emacs-lisp-intro.texi (zap-to-char): Remove obsolete stuff.
36
12013-07-06 Glenn Morris <rgm@gnu.org> 372013-07-06 Glenn Morris <rgm@gnu.org>
2 38
3 * emacs-lisp-intro.texi (Top): 39 * emacs-lisp-intro.texi (Top):
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in
index d5462f9e70f..ad1b978f255 100644
--- a/doc/lispintro/Makefile.in
+++ b/doc/lispintro/Makefile.in
@@ -30,12 +30,29 @@ texinfodir = $(srcdir)/../misc
30# Directory with emacsver.texi. 30# Directory with emacsver.texi.
31emacsdir = $(srcdir)/../emacs 31emacsdir = $(srcdir)/../emacs
32 32
33prefix = @prefix@
34datarootdir = @datarootdir@
35datadir = @datadir@
36PACKAGE_TARNAME = @PACKAGE_TARNAME@
37docdir = @docdir@
38dvidir = @dvidir@
39htmldir = @htmldir@
40pdfdir = @pdfdir@
41psdir = @psdir@
42
33MKDIR_P = @MKDIR_P@ 43MKDIR_P = @MKDIR_P@
34 44
45GZIP_PROG = @GZIP_PROG@
46
47HTML_OPTS = --no-split --html
48
35INFO_EXT=@INFO_EXT@ 49INFO_EXT=@INFO_EXT@
36# Options used only when making info output. 50# Options used only when making info output.
37INFO_OPTS=@INFO_OPTS@ 51INFO_OPTS=@INFO_OPTS@
38 52
53INSTALL = @INSTALL@
54INSTALL_DATA = @INSTALL_DATA@
55
39MAKEINFO = @MAKEINFO@ 56MAKEINFO = @MAKEINFO@
40MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir) 57MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
41TEXI2DVI = texi2dvi 58TEXI2DVI = texi2dvi
@@ -45,6 +62,11 @@ DVIPS = dvips
45ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \ 62ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
46 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" 63 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
47 64
65DVI_TARGETS = emacs-lisp-intro.dvi
66HTML_TARGETS = emacs-lisp-intro.html
67PDF_TARGETS = emacs-lisp-intro.pdf
68PS_TARGETS = emacs-lisp-intro.ps
69
48mkinfodir = @${MKDIR_P} ${buildinfodir} 70mkinfodir = @${MKDIR_P} ${buildinfodir}
49 71
50srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \ 72srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
@@ -52,12 +74,17 @@ srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
52 74
53.PHONY: info dvi html pdf ps 75.PHONY: info dvi html pdf ps
54 76
77.SUFFIXES: .ps .dvi
78
79.dvi.ps:
80 $(DVIPS) -o $@ $<
81
55info: ${buildinfodir}/eintr$(INFO_EXT) 82info: ${buildinfodir}/eintr$(INFO_EXT)
56 83
57dvi: emacs-lisp-intro.dvi 84dvi: $(DVI_TARGETS)
58html: emacs-lisp-intro.html 85html: $(HTML_TARGETS)
59pdf: emacs-lisp-intro.pdf 86pdf: $(PDF_TARGETS)
60ps: emacs-lisp-intro.ps 87ps: $(PS_TARGETS)
61 88
62# The file name eintr must fit within 5 characters, to allow for 89# The file name eintr must fit within 5 characters, to allow for
63# -NN extensions to fit into DOS 8+3 limits without clashing. 90# -NN extensions to fit into DOS 8+3 limits without clashing.
@@ -69,14 +96,11 @@ ${buildinfodir}/eintr$(INFO_EXT): ${srcs}
69emacs-lisp-intro.dvi: ${srcs} 96emacs-lisp-intro.dvi: ${srcs}
70 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi 97 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
71 98
72emacs-lisp-intro.ps: emacs-lisp-intro.dvi
73 $(DVIPS) -o $@ emacs-lisp-intro.dvi
74
75emacs-lisp-intro.pdf: ${srcs} 99emacs-lisp-intro.pdf: ${srcs}
76 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi 100 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
77 101
78emacs-lisp-intro.html: ${srcs} 102emacs-lisp-intro.html: ${srcs}
79 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi 103 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
80 104
81.PHONY: mostlyclean clean distclean maintainer-clean infoclean 105.PHONY: mostlyclean clean distclean maintainer-clean infoclean
82 106
@@ -85,8 +109,7 @@ mostlyclean:
85 *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs 109 *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
86 110
87clean: mostlyclean 111clean: mostlyclean
88 rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps 112 rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
89 rm -rf emacs-lisp-intro.html/
90 rm -f emacs-lispintro-${version}.tar* 113 rm -f emacs-lispintro-${version}.tar*
91 114
92distclean: clean 115distclean: clean
@@ -118,4 +141,52 @@ dist:
118 tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version} 141 tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version}
119 rm -rf emacs-lispintro-${version} 142 rm -rf emacs-lispintro-${version}
120 143
144
145.PHONY: install-dvi install-html install-pdf install-ps install-doc
146
147install-dvi: dvi
148 umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
149 $(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
150install-html: html
151 umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
152 $(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
153install-pdf: pdf
154 umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
155 $(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
156install-ps: ps
157 umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
158 for file in $(PS_TARGETS); do \
159 $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
160 [ -n "${GZIP_PROG}" ] || continue; \
161 rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
162 ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
163 done
164
165## Top-level Makefile installs the info pages.
166install-doc: install-dvi install-html install-pdf install-ps
167
168
169.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
170
171uninstall-dvi:
172 for file in $(DVI_TARGETS); do \
173 rm -f $(DESTDIR)$(dvidir)/$${file}; \
174 done
175uninstall-html:
176 for file in $(HTML_TARGETS); do \
177 rm -f $(DESTDIR)$(htmldir)/$${file}; \
178 done
179uninstall-ps:
180 ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
181 for file in $(PS_TARGETS); do \
182 rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
183 done
184uninstall-pdf:
185 for file in $(PDF_TARGETS); do \
186 rm -f $(DESTDIR)$(pdfdir)/$${file}; \
187 done
188
189uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
190
191
121### Makefile ends here 192### Makefile ends here
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index dafee51a020..18ea8e87e19 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -648,7 +648,7 @@ Your @file{.emacs} File
648* Default Configuration:: 648* Default Configuration::
649* Site-wide Init:: You can write site-wide init files. 649* Site-wide Init:: You can write site-wide init files.
650* defcustom:: Emacs will write code for you. 650* defcustom:: Emacs will write code for you.
651* Beginning a .emacs File:: How to write a @code{.emacs file}. 651* Beginning init File:: How to write a @file{.emacs} init file.
652* Text and Auto-fill:: Automatically wrap lines. 652* Text and Auto-fill:: Automatically wrap lines.
653* Mail Aliases:: Use abbreviations for email addresses. 653* Mail Aliases:: Use abbreviations for email addresses.
654* Indent Tabs Mode:: Don't use tabs with @TeX{} 654* Indent Tabs Mode:: Don't use tabs with @TeX{}
@@ -954,7 +954,12 @@ encouragement. My mistakes are my own.
954 954
955@flushright 955@flushright
956Robert J. Chassell 956Robert J. Chassell
957@ifnothtml
957@email{bob@@gnu.org} 958@email{bob@@gnu.org}
959@end ifnothtml
960@ifhtml
961bob@@gnu.org
962@end ifhtml
958@end flushright 963@end flushright
959 964
960@c ================ Beginning of main text ================ 965@c ================ Beginning of main text ================
@@ -3260,7 +3265,7 @@ line that follows a semicolon is a comment. The end of the line is the
3260end of the comment. To stretch a comment over two or more lines, begin 3265end of the comment. To stretch a comment over two or more lines, begin
3261each line with a semicolon. 3266each line with a semicolon.
3262 3267
3263@xref{Beginning a .emacs File, , Beginning a @file{.emacs} 3268@xref{Beginning init File, , Beginning a @file{.emacs}
3264File}, and @ref{Comments, , Comments, elisp, The GNU Emacs Lisp 3269File}, and @ref{Comments, , Comments, elisp, The GNU Emacs Lisp
3265Reference Manual}, for more about comments. 3270Reference Manual}, for more about comments.
3266 3271
@@ -7537,20 +7542,7 @@ retrieved. @xref{Yanking, , Yanking Text Back}.
7537@section @code{zap-to-char} 7542@section @code{zap-to-char}
7538@findex zap-to-char 7543@findex zap-to-char
7539 7544
7540@c FIXME remove obsolete stuff 7545Let us look at the interactive @code{zap-to-char} function.
7541The @code{zap-to-char} function changed little between GNU Emacs
7542version 19 and GNU Emacs version 22. However, @code{zap-to-char}
7543calls another function, @code{kill-region}, which enjoyed a major
7544rewrite.
7545
7546The @code{kill-region} function in Emacs 19 is complex, but does not
7547use code that is important at this time. We will skip it.
7548
7549The @code{kill-region} function in Emacs 22 is easier to read than the
7550same function in Emacs 19 and introduces a very important concept,
7551that of error handling. We will walk through the function.
7552
7553But first, let us look at the interactive @code{zap-to-char} function.
7554 7546
7555@menu 7547@menu
7556* Complete zap-to-char:: The complete implementation. 7548* Complete zap-to-char:: The complete implementation.
@@ -8325,7 +8317,7 @@ As usual, this function can be divided into its component parts:
8325 8317
8326The arguments are @code{beg} and @code{end} and the function is 8318The arguments are @code{beg} and @code{end} and the function is
8327interactive with @code{"r"}, so the two arguments must refer to the 8319interactive with @code{"r"}, so the two arguments must refer to the
8328beginning and end of the region. If you have been reading though this 8320beginning and end of the region. If you have been reading through this
8329document from the beginning, understanding these parts of a function is 8321document from the beginning, understanding these parts of a function is
8330almost becoming routine. 8322almost becoming routine.
8331 8323
@@ -16719,7 +16711,7 @@ expressions in Emacs Lisp you can change or extend Emacs.
16719* Default Configuration:: 16711* Default Configuration::
16720* Site-wide Init:: You can write site-wide init files. 16712* Site-wide Init:: You can write site-wide init files.
16721* defcustom:: Emacs will write code for you. 16713* defcustom:: Emacs will write code for you.
16722* Beginning a .emacs File:: How to write a @code{.emacs file}. 16714* Beginning init File:: How to write a @file{.emacs} init file.
16723* Text and Auto-fill:: Automatically wrap lines. 16715* Text and Auto-fill:: Automatically wrap lines.
16724* Mail Aliases:: Use abbreviations for email addresses. 16716* Mail Aliases:: Use abbreviations for email addresses.
16725* Indent Tabs Mode:: Don't use tabs with @TeX{} 16717* Indent Tabs Mode:: Don't use tabs with @TeX{}
@@ -16990,7 +16982,7 @@ intent is that neither programs nor users should ever change a value
16990set by @code{defconst}. (You can change it; the value set is a 16982set by @code{defconst}. (You can change it; the value set is a
16991variable; but please do not.) 16983variable; but please do not.)
16992 16984
16993@node Beginning a .emacs File 16985@node Beginning init File
16994@section Beginning a @file{.emacs} File 16986@section Beginning a @file{.emacs} File
16995@cindex @file{.emacs} file, beginning of 16987@cindex @file{.emacs} file, beginning of
16996 16988
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 32717946b04..3f9d23a5476 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,121 @@
12013-08-18 Xue Fuqiao <xfq.free@gmail.com>
2
3 * positions.texi (Positions): Improve indexing.
4
52013-08-18 Eli Zaretskii <eliz@gnu.org>
6
7 * markers.texi (The Region): Improve indexing.
8
92013-08-17 Xue Fuqiao <xfq.free@gmail.com>
10
11 * modes.texi (SMIE, SMIE Grammar, SMIE Indentation): Add some indexes.
12
13 * text.texi (Maintaining Undo): Mention interactive call of
14 buffer-disable-undo.
15 (Filling): Add cross-reference for hard newlines.
16 (Sorting): Fix indentation.
17 (Columns): Comment out undefined behavior.
18 (Case Changes): Fix an `args-out-of-range' error in the example.
19
202013-08-16 Xue Fuqiao <xfq.free@gmail.com>
21
22 * text.texi (Insertion): Refine.
23 (Margins): Add an index.
24 (Undo): Doc fix for `buffer-undo-list'.
25
26 * positions.texi (Character Motion):
27 * markers.texi (Moving Markers):
28 (Creating Markers): Comment out undefined behavior.
29
302013-08-15 Xue Fuqiao <xfq.free@gmail.com>
31
32 * markers.texi (The Region): Add/move indexes.
33
342013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
35
36 * display.texi (ImageMagick Images): Mention :content-type and
37 `image-content-type-suffixes'.
38
392013-08-13 Xue Fuqiao <xfq.free@gmail.com>
40
41 * positions.texi (Word Motion): Remove redundant sentence.
42
432013-08-13 Glenn Morris <rgm@gnu.org>
44
45 * lists.texi (List Elements):
46 Undocument behavior of nth and nthcdr with n < 0. (Bug#15059)
47
482013-08-13 Xue Fuqiao <xfq.free@gmail.com>
49
50 * frames.texi (Display Feature Testing): Add indexes.
51
522013-08-12 Glenn Morris <rgm@gnu.org>
53
54 * Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
55 (docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
56 (INSTALL_DATA): New, set by configure.
57 (HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
58 New variables.
59 (.SUFFIXES): Add .ps and .dvi.
60 (.dvi.ps): New suffix rule.
61 (dvi, html, pdf, ps): Use *_TARGETS variables.
62 (elisp.html): Use HTML_OPTS.
63 (elisp.ps): Remove explicit rule.
64 (.PHONY): install-dvi, install-html, install-pdf, install-ps
65 ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
66 uninstall-ps, and uninstall-doc.
67 (install-dvi, install-html, install-pdf, install-ps, install-doc)
68 (uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
69 (uninstall-doc): New rules.
70 (clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
71
722013-08-10 Xue Fuqiao <xfq.free@gmail.com>
73
74 * edebug.texi (Instrumenting Macro Calls): Use @defmac for macros.
75
762013-08-09 Xue Fuqiao <xfq.free@gmail.com>
77
78 * control.texi (Error Symbols): Minor fix for previous change.
79
802013-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
81
82 * errors.texi (Standard Errors): Don't refer to `error-conditions'.
83
84 * control.texi (Signaling Errors): Refer to define-error.
85 (Error Symbols): Add `define-error'.
86
872013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
88
89 * positions.texi (Motion by Screen Lines):
90 * display.texi (Truncation): Rename `cache-long-line-scans'
91 to `cache-long-scans'.
92
932013-08-05 Xue Fuqiao <xfq.free@gmail.com>
94
95 * windows.texi (Window Start and End): Add an index.
96
972013-08-02 Xue Fuqiao <xfq.free@gmail.com>
98
99 * display.texi (Face Functions): Add an index.
100
101 * variables.texi (Variable Aliases): Add an index.
102
103 * functions.texi (Defining Functions): Add an index.
104
105 * nonascii.texi (Coding System Basics): Add an index.
106
1072013-07-31 Xue Fuqiao <xfq.free@gmail.com>
108
109 * nonascii.texi (Non-ASCII Characters): Update menu.
110 (Disabling Multibyte): Move here from doc/emacs/mule.texi. Fix cross-references.
111
112 * elisp.texi (Top): Update menu.
113
1142013-07-30 Xue Fuqiao <xfq.free@gmail.com>
115
116 * windows.texi (Window History): Mention the default value of
117 switch-to-visible-buffer. Add cross-references.
118
12013-07-24 Michael Albinus <michael.albinus@gmx.de> 1192013-07-24 Michael Albinus <michael.albinus@gmx.de>
2 120
3 * errors.texi (Standard Errors): Fix typo. 121 * errors.texi (Standard Errors): Fix typo.
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index 4c1d63ab5c8..675cac7949d 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -33,12 +33,29 @@ texinfodir = $(srcdir)/../misc
33# Directory with emacsver.texi. 33# Directory with emacsver.texi.
34emacsdir = $(srcdir)/../emacs 34emacsdir = $(srcdir)/../emacs
35 35
36prefix = @prefix@
37datarootdir = @datarootdir@
38datadir = @datadir@
39PACKAGE_TARNAME = @PACKAGE_TARNAME@
40docdir = @docdir@
41dvidir = @dvidir@
42htmldir = @htmldir@
43pdfdir = @pdfdir@
44psdir = @psdir@
45
36MKDIR_P = @MKDIR_P@ 46MKDIR_P = @MKDIR_P@
37 47
48GZIP_PROG = @GZIP_PROG@
49
50HTML_OPTS = --no-split --html
51
38INFO_EXT=@INFO_EXT@ 52INFO_EXT=@INFO_EXT@
39# Options used only when making info output. 53# Options used only when making info output.
40INFO_OPTS=@INFO_OPTS@ 54INFO_OPTS=@INFO_OPTS@
41 55
56INSTALL = @INSTALL@
57INSTALL_DATA = @INSTALL_DATA@
58
42MAKEINFO = @MAKEINFO@ 59MAKEINFO = @MAKEINFO@
43MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir) 60MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
44TEXI2DVI = texi2dvi 61TEXI2DVI = texi2dvi
@@ -48,6 +65,11 @@ DVIPS = dvips
48ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \ 65ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
49 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" 66 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
50 67
68DVI_TARGETS = elisp.dvi
69HTML_TARGETS = elisp.html
70PDF_TARGETS = elisp.pdf
71PS_TARGETS = elisp.ps
72
51# List of all the texinfo files in the manual: 73# List of all the texinfo files in the manual:
52 74
53srcs = \ 75srcs = \
@@ -109,11 +131,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
109 131
110.PHONY: info dvi pdf ps 132.PHONY: info dvi pdf ps
111 133
134.SUFFIXES: .ps .dvi
135
136.dvi.ps:
137 $(DVIPS) -o $@ $<
138
112info: $(buildinfodir)/elisp$(INFO_EXT) 139info: $(buildinfodir)/elisp$(INFO_EXT)
113dvi: elisp.dvi 140dvi: $(DVI_TARGETS)
114html: elisp.html 141html: $(HTML_TARGETS)
115pdf: elisp.pdf 142pdf: $(PDF_TARGETS)
116ps: elisp.ps 143ps: $(PS_TARGETS)
117 144
118## Note: "<" is not portable in ordinary make rules. 145## Note: "<" is not portable in ordinary make rules.
119$(buildinfodir)/elisp$(INFO_EXT): $(srcs) 146$(buildinfodir)/elisp$(INFO_EXT): $(srcs)
@@ -124,10 +151,7 @@ elisp.dvi: $(srcs)
124 $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi 151 $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
125 152
126elisp.html: $(srcs) 153elisp.html: $(srcs)
127 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi 154 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $(srcdir)/elisp.texi
128
129elisp.ps: elisp.dvi
130 $(DVIPS) -o $@ elisp.dvi
131 155
132elisp.pdf: $(srcs) 156elisp.pdf: $(srcs)
133 $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi 157 $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
@@ -141,9 +165,8 @@ mostlyclean:
141 rm -f elisp[12]* vol[12].tmp 165 rm -f elisp[12]* vol[12].tmp
142 166
143clean: mostlyclean 167clean: mostlyclean
144 rm -f elisp.dvi elisp.pdf elisp.ps 168 rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
145 rm -f vol[12].dvi vol[12].pdf vol[12].ps 169 rm -f vol[12].dvi vol[12].pdf vol[12].ps
146 rm -rf elisp.html
147 rm -f emacs-lispref-${version}.tar* 170 rm -f emacs-lispref-${version}.tar*
148 171
149distclean: clean 172distclean: clean
@@ -176,4 +199,51 @@ dist:
176 tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} 199 tar -cf emacs-lispref-${version}.tar emacs-lispref-${version}
177 rm -rf emacs-lispref-${version} 200 rm -rf emacs-lispref-${version}
178 201
202.PHONY: install-dvi install-html install-pdf install-ps install-doc
203
204install-dvi: dvi
205 umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
206 $(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
207install-html: html
208 umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
209 $(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
210install-pdf: pdf
211 umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
212 $(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
213install-ps: ps
214 umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
215 for file in $(PS_TARGETS); do \
216 $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
217 [ -n "${GZIP_PROG}" ] || continue; \
218 rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
219 ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
220 done
221
222## Top-level Makefile installs the info pages.
223install-doc: install-dvi install-html install-pdf install-ps
224
225
226.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
227
228uninstall-dvi:
229 for file in $(DVI_TARGETS); do \
230 rm -f $(DESTDIR)$(dvidir)/$${file}; \
231 done
232uninstall-html:
233 for file in $(HTML_TARGETS); do \
234 rm -f $(DESTDIR)$(htmldir)/$${file}; \
235 done
236uninstall-ps:
237 ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
238 for file in $(PS_TARGETS); do \
239 rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
240 done
241uninstall-pdf:
242 for file in $(PDF_TARGETS); do \
243 rm -f $(DESTDIR)$(pdfdir)/$${file}; \
244 done
245
246uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
247
248
179### Makefile ends here 249### Makefile ends here
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 9ee01299260..70eabcd84a4 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -890,9 +890,8 @@ argument @var{data} is a list of additional Lisp objects relevant to
890the circumstances of the error. 890the circumstances of the error.
891 891
892The argument @var{error-symbol} must be an @dfn{error symbol}---a symbol 892The argument @var{error-symbol} must be an @dfn{error symbol}---a symbol
893bearing a property @code{error-conditions} whose value is a list of 893defined with @code{define-error}. This is how Emacs Lisp classifies different
894condition names. This is how Emacs Lisp classifies different sorts of 894sorts of errors. @xref{Error Symbols}, for a description of error symbols,
895errors. @xref{Error Symbols}, for a description of error symbols,
896error conditions and condition names. 895error conditions and condition names.
897 896
898If the error is not handled, the two arguments are used in printing 897If the error is not handled, the two arguments are used in printing
@@ -1118,8 +1117,8 @@ Here are examples of handlers:
1118@end example 1117@end example
1119 1118
1120Each error that occurs has an @dfn{error symbol} that describes what 1119Each error that occurs has an @dfn{error symbol} that describes what
1121kind of error it is. The @code{error-conditions} property of this 1120kind of error it is, and which describes also a list of condition names
1122symbol is a list of condition names (@pxref{Error Symbols}). Emacs 1121(@pxref{Error Symbols}). Emacs
1123searches all the active @code{condition-case} forms for a handler that 1122searches all the active @code{condition-case} forms for a handler that
1124specifies one or more of these condition names; the innermost matching 1123specifies one or more of these condition names; the innermost matching
1125@code{condition-case} handles the error. Within this 1124@code{condition-case} handles the error. Within this
@@ -1259,6 +1258,7 @@ should be robust if one does occur. Note that this macro uses
1259@cindex condition name 1258@cindex condition name
1260@cindex user-defined error 1259@cindex user-defined error
1261@kindex error-conditions 1260@kindex error-conditions
1261@kindex define-error
1262 1262
1263 When you signal an error, you specify an @dfn{error symbol} to specify 1263 When you signal an error, you specify an @dfn{error symbol} to specify
1264the kind of error you have in mind. Each error has one and only one 1264the kind of error you have in mind. Each error has one and only one
@@ -1275,42 +1275,38 @@ Thus, each error has one or more condition names: @code{error}, the
1275error symbol if that is distinct from @code{error}, and perhaps some 1275error symbol if that is distinct from @code{error}, and perhaps some
1276intermediate classifications. 1276intermediate classifications.
1277 1277
1278 In order for a symbol to be an error symbol, it must have an 1278@defun define-error name message &optional parent
1279@code{error-conditions} property which gives a list of condition names. 1279 In order for a symbol to be an error symbol, it must be defined with
1280This list defines the conditions that this kind of error belongs to. 1280@code{define-error} which takes a parent condition (defaults to @code{error}).
1281(The error symbol itself, and the symbol @code{error}, should always be 1281This parent defines the conditions that this kind of error belongs to.
1282members of this list.) Thus, the hierarchy of condition names is 1282The transitive set of parents always includes the error symbol itself, and the
1283defined by the @code{error-conditions} properties of the error symbols. 1283symbol @code{error}. Because quitting is not considered an error, the set of
1284Because quitting is not considered an error, the value of the 1284parents of @code{quit} is just @code{(quit)}.
1285@code{error-conditions} property of @code{quit} is just @code{(quit)}. 1285@end defun
1286 1286
1287@cindex peculiar error 1287@cindex peculiar error
1288 In addition to the @code{error-conditions} list, the error symbol 1288 In addition to its parents, the error symbol has a @var{message} which
1289should have an @code{error-message} property whose value is a string to 1289is a string to be printed when that error is signaled but not handled. If that
1290be printed when that error is signaled but not handled. If the 1290message is not valid, the error message @samp{peculiar error} is used.
1291error symbol has no @code{error-message} property or if the 1291@xref{Definition of signal}.
1292@code{error-message} property exists, but is not a string, the error 1292
1293message @samp{peculiar error} is used. @xref{Definition of signal}. 1293Internally, the set of parents is stored in the @code{error-conditions}
1294property of the error symbol and the message is stored in the
1295@code{error-message} property of the error symbol.
1294 1296
1295 Here is how we define a new error symbol, @code{new-error}: 1297 Here is how we define a new error symbol, @code{new-error}:
1296 1298
1297@example 1299@example
1298@group 1300@group
1299(put 'new-error 1301(define-error 'new-error "A new error" 'my-own-errors)
1300 'error-conditions
1301 '(error my-own-errors new-error))
1302@result{} (error my-own-errors new-error)
1303@end group
1304@group
1305(put 'new-error 'error-message "A new error")
1306@result{} "A new error"
1307@end group 1302@end group
1308@end example 1303@end example
1309 1304
1310@noindent 1305@noindent
1311This error has three condition names: @code{new-error}, the narrowest 1306This error has several condition names: @code{new-error}, the narrowest
1312classification; @code{my-own-errors}, which we imagine is a wider 1307classification; @code{my-own-errors}, which we imagine is a wider
1313classification; and @code{error}, which is the widest of all. 1308classification; and all the conditions of @code{my-own-errors} which should
1309include @code{error}, which is the widest of all.
1314 1310
1315 The error string should start with a capital letter but it should 1311 The error string should start with a capital letter but it should
1316not end with a period. This is for consistency with the rest of Emacs. 1312not end with a period. This is for consistency with the rest of Emacs.
@@ -1326,7 +1322,7 @@ your code can do this:
1326@end group 1322@end group
1327@end example 1323@end example
1328 1324
1329 This error can be handled through any of the three condition names. 1325 This error can be handled through any of its condition names.
1330This example handles @code{new-error} and any other errors in the class 1326This example handles @code{new-error} and any other errors in the class
1331@code{my-own-errors}: 1327@code{my-own-errors}:
1332 1328
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 44fbc66a60e..ff9d98170d1 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -217,9 +217,9 @@ over the @code{line-prefix} variable. @xref{Special Properties}.
217continuation to display them, computing the continuation lines can 217continuation to display them, computing the continuation lines can
218make redisplay slow. The column computation and indentation functions 218make redisplay slow. The column computation and indentation functions
219also become slow. Then you might find it advisable to set 219also become slow. Then you might find it advisable to set
220@code{cache-long-line-scans} to @code{t}. 220@code{cache-long-scans} to @code{t}.
221 221
222@defvar cache-long-line-scans 222@defvar cache-long-scans
223If this variable is non-@code{nil}, various indentation and motion 223If this variable is non-@code{nil}, various indentation and motion
224functions, and Emacs redisplay, cache the results of scanning the 224functions, and Emacs redisplay, cache the results of scanning the
225buffer, and consult the cache to avoid rescanning regions of the buffer 225buffer, and consult the cache to avoid rescanning regions of the buffer
@@ -1243,6 +1243,7 @@ Type RET when done reading
1243@node Overlays 1243@node Overlays
1244@section Overlays 1244@section Overlays
1245@cindex overlays 1245@cindex overlays
1246@c FIXME: mention intervals in this section?
1246 1247
1247You can use @dfn{overlays} to alter the appearance of a buffer's text on 1248You can use @dfn{overlays} to alter the appearance of a buffer's text on
1248the screen, for the sake of presentation features. An overlay is an 1249the screen, for the sake of presentation features. An overlay is an
@@ -2738,6 +2739,7 @@ differently from the default face.
2738@end defun 2739@end defun
2739 2740
2740@cindex face alias 2741@cindex face alias
2742@cindex alias, for faces
2741A @dfn{face alias} provides an equivalent name for a face. You can 2743A @dfn{face alias} provides an equivalent name for a face. You can
2742define a face alias by giving the alias symbol the @code{face-alias} 2744define a face alias by giving the alias symbol the @code{face-alias}
2743property, with a value of the target face name. The following example 2745property, with a value of the target face name. The following example
@@ -4662,6 +4664,14 @@ and if @code{:height} is set it will have precedence over
4662wish. @code{:max-width} and @code{:max-height} will always preserve 4664wish. @code{:max-width} and @code{:max-height} will always preserve
4663the aspect ratio. 4665the aspect ratio.
4664 4666
4667@item :format
4668ImageMagick tries to auto-detect the image type, but it isn't always
4669able to. By using @code{:format-type}, we can give ImageMagick a hint
4670to try to help it. It's used in conjunction with the
4671@code{image-format-suffixes} variable, which provides a mapping from
4672content types to file name suffixes. This is then given to
4673ImageMagick as a file name hint.
4674
4665@item :rotation 4675@item :rotation
4666Specifies a rotation angle in degrees. 4676Specifies a rotation angle in degrees.
4667 4677
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 8e394b5d92d..8384c31a380 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -1132,14 +1132,14 @@ from the macro definition with @code{def-edebug-spec}. Adding
1132definitions in Lisp, but @code{def-edebug-spec} makes it possible to 1132definitions in Lisp, but @code{def-edebug-spec} makes it possible to
1133define Edebug specifications for special forms implemented in C. 1133define Edebug specifications for special forms implemented in C.
1134 1134
1135@deffn Macro def-edebug-spec macro specification 1135@defmac def-edebug-spec macro specification
1136Specify which expressions of a call to macro @var{macro} are forms to be 1136Specify which expressions of a call to macro @var{macro} are forms to be
1137evaluated. @var{specification} should be the edebug specification. 1137evaluated. @var{specification} should be the edebug specification.
1138Neither argument is evaluated. 1138Neither argument is evaluated.
1139 1139
1140The @var{macro} argument can actually be any symbol, not just a macro 1140The @var{macro} argument can actually be any symbol, not just a macro
1141name. 1141name.
1142@end deffn 1142@end defmac
1143 1143
1144Here is a table of the possibilities for @var{specification} and how each 1144Here is a table of the possibilities for @var{specification} and how each
1145directs processing of arguments. 1145directs processing of arguments.
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 9c013140999..e05253638d7 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -1195,6 +1195,7 @@ Text Properties
1195Non-@acronym{ASCII} Characters 1195Non-@acronym{ASCII} Characters
1196 1196
1197* Text Representations:: How Emacs represents text. 1197* Text Representations:: How Emacs represents text.
1198* Disabling Multibyte:: Controlling whether to use multibyte characters.
1198* Converting Representations:: Converting unibyte to multibyte and vice versa. 1199* Converting Representations:: Converting unibyte to multibyte and vice versa.
1199* Selecting a Representation:: Treating a byte sequence as unibyte or multi. 1200* Selecting a Representation:: Treating a byte sequence as unibyte or multi.
1200* Character Codes:: How unibyte and multibyte relate to 1201* Character Codes:: How unibyte and multibyte relate to
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index 87cfcfa532c..8a10fbf0c47 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -7,12 +7,11 @@
7@appendix Standard Errors 7@appendix Standard Errors
8@cindex standard errors 8@cindex standard errors
9 9
10 Here is a list of the more important error symbols in standard Emacs, 10 Here is a list of the more important error symbols in standard Emacs, grouped
11grouped by concept. The list includes each symbol's message (on the 11by concept. The list includes each symbol's message and a cross reference
12@code{error-message} property of the symbol) and a cross reference to a 12to a description of how the error can occur.
13description of how the error can occur.
14 13
15 Each error symbol has an @code{error-conditions} property that is a 14 Each error symbol has an set of parent error conditions that is a
16list of symbols. Normally this list includes the error symbol itself 15list of symbols. Normally this list includes the error symbol itself
17and the symbol @code{error}. Occasionally it includes additional 16and the symbol @code{error}. Occasionally it includes additional
18symbols, which are intermediate classifications, narrower than 17symbols, which are intermediate classifications, narrower than
@@ -24,8 +23,6 @@ conditions, that means it has none.
24 As a special exception, the error symbol @code{quit} does not have the 23 As a special exception, the error symbol @code{quit} does not have the
25condition @code{error}, because quitting is not considered an error. 24condition @code{error}, because quitting is not considered an error.
26 25
27@c You can grep for "(put 'foo 'error-conditions ...) to find
28@c examples defined in Lisp. E.g., soap-client.el, sasl.el.
29 Most of these error symbols are defined in C (mainly @file{data.c}), 26 Most of these error symbols are defined in C (mainly @file{data.c}),
30but some are defined in Lisp. For example, the file @file{userlock.el} 27but some are defined in Lisp. For example, the file @file{userlock.el}
31defines the @code{file-locked} and @code{file-supersession} errors. 28defines the @code{file-locked} and @code{file-supersession} errors.
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 01d2d1d6c45..370098c8b62 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -446,7 +446,7 @@ default parameters by supplying their own parameters.
446If you invoke Emacs with command-line options that specify frame 446If you invoke Emacs with command-line options that specify frame
447appearance, those options take effect by adding elements to either 447appearance, those options take effect by adding elements to either
448@code{initial-frame-alist} or @code{default-frame-alist}. Options 448@code{initial-frame-alist} or @code{default-frame-alist}. Options
449which affect just the initial frame, such as @samp{-geometry} and 449which affect just the initial frame, such as @samp{--geometry} and
450@samp{--maximized}, add to @code{initial-frame-alist}; the others add 450@samp{--maximized}, add to @code{initial-frame-alist}; the others add
451to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line 451to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line
452Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}. 452Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}.
@@ -1362,7 +1362,7 @@ Terminals}.
1362@node Input Focus 1362@node Input Focus
1363@section Input Focus 1363@section Input Focus
1364@cindex input focus 1364@cindex input focus
1365@c @cindex selected frame Duplicates selected-frame 1365@c @cindex selected frame Duplicates selected-frame, same for selected-window.
1366 1366
1367At any time, one frame in Emacs is the @dfn{selected frame}. The selected 1367At any time, one frame in Emacs is the @dfn{selected frame}. The selected
1368window always resides on the selected frame. 1368window always resides on the selected frame.
@@ -2391,6 +2391,7 @@ displays returned by @code{display-mm-height} and
2391@code{display-mm-width} in case the system provides incorrect values. 2391@code{display-mm-width} in case the system provides incorrect values.
2392@end defopt 2392@end defopt
2393 2393
2394@cindex backing store
2394@defun display-backing-store &optional display 2395@defun display-backing-store &optional display
2395This function returns the backing store capability of the display. 2396This function returns the backing store capability of the display.
2396Backing store means recording the pixels of windows (and parts of 2397Backing store means recording the pixels of windows (and parts of
@@ -2402,6 +2403,7 @@ Values can be the symbols @code{always}, @code{when-mapped}, or
2402when the question is inapplicable to a certain kind of display. 2403when the question is inapplicable to a certain kind of display.
2403@end defun 2404@end defun
2404 2405
2406@cindex SaveUnder feature
2405@defun display-save-under &optional display 2407@defun display-save-under &optional display
2406This function returns non-@code{nil} if the display supports the 2408This function returns non-@code{nil} if the display supports the
2407SaveUnder feature. That feature is used by pop-up windows 2409SaveUnder feature. That feature is used by pop-up windows
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index fcd345ef83b..39a9ff6b62c 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -580,6 +580,7 @@ redefinition from unintentional redefinition.
580@end defmac 580@end defmac
581 581
582@cindex function aliases 582@cindex function aliases
583@cindex alias, for functions
583@defun defalias name definition &optional doc 584@defun defalias name definition &optional doc
584@anchor{Definition of defalias} 585@anchor{Definition of defalias}
585This function defines the symbol @var{name} as a function, with 586This function defines the symbol @var{name} as a function, with
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index 14601de1814..9daf01cd0a2 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -270,8 +270,10 @@ are numbered starting with zero, so the @sc{car} of @var{list} is
270element number zero. If the length of @var{list} is @var{n} or less, 270element number zero. If the length of @var{list} is @var{n} or less,
271the value is @code{nil}. 271the value is @code{nil}.
272 272
273If @var{n} is negative, @code{nth} returns the first element of 273@c Behavior for -ve n undefined since 2013/08; see bug#15059.
274@var{list}. 274@ignore
275If @var{n} is negative, @code{nth} returns the first element of @var{list}.
276@end ignore
275 277
276@example 278@example
277@group 279@group
@@ -281,10 +283,6 @@ If @var{n} is negative, @code{nth} returns the first element of
281@group 283@group
282(nth 10 '(1 2 3 4)) 284(nth 10 '(1 2 3 4))
283 @result{} nil 285 @result{} nil
284@end group
285@group
286(nth -3 '(1 2 3 4))
287 @result{} 1
288 286
289(nth n x) @equiv{} (car (nthcdr n x)) 287(nth n x) @equiv{} (car (nthcdr n x))
290@end group 288@end group
@@ -300,7 +298,8 @@ This function returns the @var{n}th @sc{cdr} of @var{list}. In other
300words, it skips past the first @var{n} links of @var{list} and returns 298words, it skips past the first @var{n} links of @var{list} and returns
301what follows. 299what follows.
302 300
303If @var{n} is zero or negative, @code{nthcdr} returns all of 301@c "or negative" removed 2013/08; see bug#15059.
302If @var{n} is zero, @code{nthcdr} returns all of
304@var{list}. If the length of @var{list} is @var{n} or less, 303@var{list}. If the length of @var{list} is @var{n} or less,
305@code{nthcdr} returns @code{nil}. 304@code{nthcdr} returns @code{nil}.
306 305
@@ -314,7 +313,7 @@ If @var{n} is zero or negative, @code{nthcdr} returns all of
314 @result{} nil 313 @result{} nil
315@end group 314@end group
316@group 315@group
317(nthcdr -3 '(1 2 3 4)) 316(nthcdr 0 '(1 2 3 4))
318 @result{} (1 2 3 4) 317 @result{} (1 2 3 4)
319@end group 318@end group
320@end example 319@end example
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index cae14ab9a78..d94908994e9 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -216,11 +216,14 @@ new marker that points to the same place and the same buffer as does
216The new marker's insertion type is specified by the argument 216The new marker's insertion type is specified by the argument
217@var{insertion-type}. @xref{Marker Insertion Types}. 217@var{insertion-type}. @xref{Marker Insertion Types}.
218 218
219@c This behavior used to be documented until 2013/08.
220@ignore
219If passed an integer argument less than 1, @code{copy-marker} returns a 221If passed an integer argument less than 1, @code{copy-marker} returns a
220new marker that points to the beginning of the current buffer. If 222new marker that points to the beginning of the current buffer. If
221passed an integer argument greater than the length of the buffer, 223passed an integer argument greater than the length of the buffer,
222@code{copy-marker} returns a new marker that points to the end of the 224@code{copy-marker} returns a new marker that points to the end of the
223buffer. 225buffer.
226@end ignore
224 227
225@example 228@example
226@group 229@group
@@ -279,6 +282,8 @@ This function returns the position that @var{marker} points to, or
279This function returns the buffer that @var{marker} points into, or 282This function returns the buffer that @var{marker} points into, or
280@code{nil} if it points nowhere. 283@code{nil} if it points nowhere.
281 284
285@c FIXME: The `buffer' argument of `set-marker' already defaults to
286@c the current buffer, why use `(current-buffer)' explicitly here?
282@example 287@example
283@group 288@group
284(setq m (make-marker)) 289(setq m (make-marker))
@@ -349,11 +354,15 @@ This function moves @var{marker} to @var{position}
349in @var{buffer}. If @var{buffer} is not provided, it defaults to 354in @var{buffer}. If @var{buffer} is not provided, it defaults to
350the current buffer. 355the current buffer.
351 356
357@c This behavior used to be documented until 2013/08.
358@ignore
352If @var{position} is less than 1, @code{set-marker} moves @var{marker} 359If @var{position} is less than 1, @code{set-marker} moves @var{marker}
353to the beginning of the buffer. If @var{position} is greater than the 360to the beginning of the buffer. If @var{position} is greater than the
354size of the buffer (@pxref{Point}), @code{set-marker} moves marker to 361size of the buffer (@pxref{Point}), @code{set-marker} moves marker to
355the end of the buffer. If @var{position} is @code{nil} or a marker 362the end of the buffer.
356that points nowhere, then @var{marker} is set to point nowhere. 363@end ignore
364If @var{position} is @code{nil} or a marker that points nowhere, then
365@var{marker} is set to point nowhere.
357 366
358The value returned is @var{marker}. 367The value returned is @var{marker}.
359 368
@@ -384,7 +393,7 @@ This is another name for @code{set-marker}.
384@node The Mark 393@node The Mark
385@section The Mark 394@section The Mark
386@cindex mark, the 395@cindex mark, the
387@cindex mark ring 396@c @cindex the mark?
388 397
389 Each buffer has a special marker, which is designated @dfn{the 398 Each buffer has a special marker, which is designated @dfn{the
390mark}. When a buffer is newly created, this marker exists but does 399mark}. When a buffer is newly created, this marker exists but does
@@ -423,6 +432,7 @@ the mark is active. This is the main motivation for using Transient
423Mark mode. (Another is that this enables highlighting of the region 432Mark mode. (Another is that this enables highlighting of the region
424when the mark is active. @xref{Display}.) 433when the mark is active. @xref{Display}.)
425 434
435@cindex mark ring
426 In addition to the mark, each buffer has a @dfn{mark ring} which is a 436 In addition to the mark, each buffer has a @dfn{mark ring} which is a
427list of markers containing previous values of the mark. When editing 437list of markers containing previous values of the mark. When editing
428commands change the mark, they should normally save the old value of the 438commands change the mark, they should normally save the old value of the
@@ -644,7 +654,12 @@ more marks than this are pushed onto the @code{mark-ring},
644 654
645@node The Region 655@node The Region
646@section The Region 656@section The Region
647@cindex region (between point and mark) 657@c The index entry must be just ``region'' to make it the first hit
658@c when the user types ``i region RET'', because otherwise the Info
659@c reader will present substring matches in alphabetical order,
660@c putting this one near the end, with something utterly unrelated as
661@c the first hit.
662@cindex region
648 663
649 The text between point and the mark is known as @dfn{the region}. 664 The text between point and the mark is known as @dfn{the region}.
650Various functions operate on text delimited by point and the mark, but 665Various functions operate on text delimited by point and the mark, but
@@ -668,6 +683,7 @@ integer). This is the position of either point or the mark, whichever is
668larger. 683larger.
669@end defun 684@end defun
670 685
686@c FIXME: Mention it in tips.texi?
671 Instead of using @code{region-beginning} and @code{region-end}, a 687 Instead of using @code{region-beginning} and @code{region-end}, a
672command designed to operate on a region should normally use 688command designed to operate on a region should normally use
673@code{interactive} with the @samp{r} specification to find the 689@code{interactive} with the @samp{r} specification to find the
@@ -680,6 +696,8 @@ mark is active, and there is a valid region in the buffer. This
680function is intended to be used by commands that operate on the 696function is intended to be used by commands that operate on the
681region, instead of on text near point, when the mark is active. 697region, instead of on text near point, when the mark is active.
682 698
699@cindex empty region
700@vindex use-empty-active-region
683A region is valid if it has a non-zero size, or if the user option 701A region is valid if it has a non-zero size, or if the user option
684@code{use-empty-active-region} is non-@code{nil} (by default, it is 702@code{use-empty-active-region} is non-@code{nil} (by default, it is
685@code{nil}). The function @code{region-active-p} is similar to 703@code{nil}). The function @code{region-active-p} is similar to
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 59729380ea7..180fef7241d 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -3381,6 +3381,7 @@ of Lisp sexps and adapts it to non-Lisp languages.
3381 3381
3382@node SMIE 3382@node SMIE
3383@subsection Simple Minded Indentation Engine 3383@subsection Simple Minded Indentation Engine
3384@cindex SMIE
3384 3385
3385SMIE is a package that provides a generic navigation and indentation 3386SMIE is a package that provides a generic navigation and indentation
3386engine. Based on a very simple parser using an ``operator precedence 3387engine. Based on a very simple parser using an ``operator precedence
@@ -3548,6 +3549,8 @@ simply ignored.
3548 3549
3549@node SMIE Grammar 3550@node SMIE Grammar
3550@subsubsection Defining the Grammar of a Language 3551@subsubsection Defining the Grammar of a Language
3552@cindex SMIE grammar
3553@cindex grammar, SMIE
3551 3554
3552The usual way to define the SMIE grammar of a language is by 3555The usual way to define the SMIE grammar of a language is by
3553defining a new global variable that holds the precedence table by 3556defining a new global variable that holds the precedence table by
@@ -3623,6 +3626,8 @@ formally as left associative.
3623 3626
3624@node SMIE Lexer 3627@node SMIE Lexer
3625@subsubsection Defining Tokens 3628@subsubsection Defining Tokens
3629@cindex SMIE lexer
3630@cindex defining tokens, SMIE
3626 3631
3627SMIE comes with a predefined lexical analyzer which uses syntax tables 3632SMIE comes with a predefined lexical analyzer which uses syntax tables
3628in the following way: any sequence of characters that have word or 3633in the following way: any sequence of characters that have word or
@@ -3757,6 +3762,7 @@ surrounding text to find ad-hoc clues.
3757 3762
3758@node SMIE Indentation 3763@node SMIE Indentation
3759@subsubsection Specifying Indentation Rules 3764@subsubsection Specifying Indentation Rules
3765@cindex indentation rules, SMIE
3760 3766
3761Based on the provided grammar, SMIE will be able to provide automatic 3767Based on the provided grammar, SMIE will be able to provide automatic
3762indentation without any extra effort. But in practice, this default 3768indentation without any extra effort. But in practice, this default
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index b8b62325bb4..090310c5545 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -13,6 +13,7 @@ how they are stored in strings and buffers.
13 13
14@menu 14@menu
15* Text Representations:: How Emacs represents text. 15* Text Representations:: How Emacs represents text.
16* Disabling Multibyte:: Controlling whether to use multibyte characters.
16* Converting Representations:: Converting unibyte to multibyte and vice versa. 17* Converting Representations:: Converting unibyte to multibyte and vice versa.
17* Selecting a Representation:: Treating a byte sequence as unibyte or multi. 18* Selecting a Representation:: Treating a byte sequence as unibyte or multi.
18* Character Codes:: How unibyte and multibyte relate to 19* Character Codes:: How unibyte and multibyte relate to
@@ -140,6 +141,55 @@ This function concatenates all its argument @var{bytes} and makes the
140result a unibyte string. 141result a unibyte string.
141@end defun 142@end defun
142 143
144@node Disabling Multibyte
145@section Disabling Multibyte Characters
146@cindex disabling multibyte
147
148 By default, Emacs starts in multibyte mode: it stores the contents
149of buffers and strings using an internal encoding that represents
150non-@acronym{ASCII} characters using multi-byte sequences. Multibyte
151mode allows you to use all the supported languages and scripts without
152limitations.
153
154@cindex turn multibyte support on or off
155 Under very special circumstances, you may want to disable multibyte
156character support, for a specific buffer.
157When multibyte characters are disabled in a buffer, we call
158that @dfn{unibyte mode}. In unibyte mode, each character in the
159buffer has a character code ranging from 0 through 255 (0377 octal); 0
160through 127 (0177 octal) represent @acronym{ASCII} characters, and 128
161(0200 octal) through 255 (0377 octal) represent non-@acronym{ASCII}
162characters.
163
164 To edit a particular file in unibyte representation, visit it using
165@code{find-file-literally}. @xref{Visiting Functions}. You can
166convert a multibyte buffer to unibyte by saving it to a file, killing
167the buffer, and visiting the file again with
168@code{find-file-literally}. Alternatively, you can use @kbd{C-x
169@key{RET} c} (@code{universal-coding-system-argument}) and specify
170@samp{raw-text} as the coding system with which to visit or save a
171file. @xref{Text Coding, , Specifying a Coding System for File Text,
172emacs, GNU Emacs Manual}. Unlike @code{find-file-literally}, finding
173a file as @samp{raw-text} doesn't disable format conversion,
174uncompression, or auto mode selection.
175
176@c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
177@vindex enable-multibyte-characters
178The buffer-local variable @code{enable-multibyte-characters} is
179non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones.
180The mode line also indicates whether a buffer is multibyte or not.
181With a graphical display, in a multibyte buffer, the portion of the
182mode line that indicates the character set has a tooltip that (amongst
183other things) says that the buffer is multibyte. In a unibyte buffer,
184the character set indicator is absent. Thus, in a unibyte buffer
185(when using a graphical display) there is normally nothing before the
186indication of the visited file's end-of-line convention (colon,
187backslash, etc.), unless you are using an input method.
188
189@findex toggle-enable-multibyte-characters
190You can turn off multibyte support in a specific buffer by invoking the
191command @code{toggle-enable-multibyte-characters} in that buffer.
192
143@node Converting Representations 193@node Converting Representations
144@section Converting Text Representations 194@section Converting Text Representations
145 195
@@ -962,6 +1012,7 @@ The value of the @code{:mime-charset} property is also defined
962as an alias for the coding system. 1012as an alias for the coding system.
963@end defun 1013@end defun
964 1014
1015@cindex alias, for coding systems
965@defun coding-system-aliases coding-system 1016@defun coding-system-aliases coding-system
966This function returns the list of aliases of @var{coding-system}. 1017This function returns the list of aliases of @var{coding-system}.
967@end defun 1018@end defun
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index e8b6166f63c..69f1b80c431 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -5,6 +5,7 @@
5@node Positions 5@node Positions
6@chapter Positions 6@chapter Positions
7@cindex position (in buffer) 7@cindex position (in buffer)
8@cindex buffer position
8 9
9 A @dfn{position} is the index of a character in the text of a buffer. 10 A @dfn{position} is the index of a character in the text of a buffer.
10More precisely, a position identifies the place between two characters 11More precisely, a position identifies the place between two characters
@@ -146,9 +147,13 @@ that.
146 147
147@deffn Command goto-char position 148@deffn Command goto-char position
148This function sets point in the current buffer to the value 149This function sets point in the current buffer to the value
149@var{position}. If @var{position} is less than 1, it moves point to the 150@var{position}.
150beginning of the buffer. If @var{position} is greater than the length 151@c This behavior used to be documented until 2013/08.
151of the buffer, it moves point to the end. 152@ignore
153If @var{position} is less than 1, it moves point to the beginning of
154the buffer. If @var{position} is greater than the length of the
155buffer, it moves point to the end.
156@end ignore
152 157
153If narrowing is in effect, @var{position} still counts from the 158If narrowing is in effect, @var{position} still counts from the
154beginning of the buffer, but point cannot go outside the accessible 159beginning of the buffer, but point cannot go outside the accessible
@@ -191,8 +196,8 @@ whether a given character is part of a word. @xref{Syntax Tables}.
191 196
192@deffn Command forward-word &optional count 197@deffn Command forward-word &optional count
193This function moves point forward @var{count} words (or backward if 198This function moves point forward @var{count} words (or backward if
194@var{count} is negative). If @var{count} is @code{nil}, it moves 199@var{count} is negative). If @var{count} is omitted or @code{nil}, it
195forward one word. 200defaults to 1.
196 201
197``Moving one word'' means moving until point crosses a 202``Moving one word'' means moving until point crosses a
198word-constituent character and then encounters a word-separator 203word-constituent character and then encounters a word-separator
@@ -210,7 +215,7 @@ If @code{inhibit-field-text-motion} is non-@code{nil},
210this function ignores field boundaries. 215this function ignores field boundaries.
211 216
212In an interactive call, @var{count} is specified by the numeric prefix 217In an interactive call, @var{count} is specified by the numeric prefix
213argument. If @var{count} is omitted or @code{nil}, it defaults to 1. 218argument.
214@end deffn 219@end deffn
215 220
216@deffn Command backward-word &optional count 221@deffn Command backward-word &optional count
@@ -483,7 +488,7 @@ Display}.
483 These functions scan text to determine where screen lines break, and 488 These functions scan text to determine where screen lines break, and
484thus take time proportional to the distance scanned. If you intend to 489thus take time proportional to the distance scanned. If you intend to
485use them heavily, Emacs provides caches which may improve the 490use them heavily, Emacs provides caches which may improve the
486performance of your code. @xref{Truncation, cache-long-line-scans}. 491performance of your code. @xref{Truncation, cache-long-scans}.
487 492
488@defun vertical-motion count &optional window 493@defun vertical-motion count &optional window
489This function moves point to the start of the screen line @var{count} 494This function moves point to the start of the screen line @var{count}
@@ -805,7 +810,7 @@ thousands of times in the Lisp sources of Emacs.
805buffer, use @code{save-current-buffer} or @code{with-current-buffer} 810buffer, use @code{save-current-buffer} or @code{with-current-buffer}
806instead (@pxref{Current Buffer}). If you need to save or restore 811instead (@pxref{Current Buffer}). If you need to save or restore
807window configurations, see the forms described in @ref{Window 812window configurations, see the forms described in @ref{Window
808Configurations} and in @ref{Frame Configurations}. 813Configurations} and in @ref{Frame Configurations}. @c frameset?
809 814
810@defspec save-excursion body@dots{} 815@defspec save-excursion body@dots{}
811@cindex mark excursion 816@cindex mark excursion
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 7cace70ad07..c4250f2f0ba 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -240,6 +240,7 @@ Major and minor modes can add functions to
240copied out of the buffer. 240copied out of the buffer.
241@end defun 241@end defun
242 242
243@c FIXME: `filter-buffer-substring-function' should be documented.
243@defvar filter-buffer-substring-functions 244@defvar filter-buffer-substring-functions
244This variable is a wrapper hook (@pxref{Running Hooks}), whose members 245This variable is a wrapper hook (@pxref{Running Hooks}), whose members
245should be functions that accept four arguments: @var{fun}, 246should be functions that accept four arguments: @var{fun},
@@ -365,7 +366,8 @@ not relocate the marker, depending on the marker's insertion type
365the inserted text, regardless of the markers' insertion type. 366the inserted text, regardless of the markers' insertion type.
366 367
367 Insertion functions signal an error if the current buffer is 368 Insertion functions signal an error if the current buffer is
368read-only or if they insert within read-only text. 369read-only (@pxref{Read Only Buffers}) or if they insert within
370read-only text (@pxref{Special Properties}).
369 371
370 These functions copy text characters from strings and buffers along 372 These functions copy text characters from strings and buffers along
371with their properties. The inserted characters have exactly the same 373with their properties. The inserted characters have exactly the same
@@ -421,10 +423,10 @@ insertion point. @xref{Sticky Properties}.
421 423
422@defun insert-buffer-substring from-buffer-or-name &optional start end 424@defun insert-buffer-substring from-buffer-or-name &optional start end
423This function inserts a portion of buffer @var{from-buffer-or-name} 425This function inserts a portion of buffer @var{from-buffer-or-name}
424(which must already exist) into the current buffer before point. The 426into the current buffer before point. The text inserted is the region
425text inserted is the region between @var{start} and @var{end}. (These 427between @var{start} (inclusive) and @var{end} (exclusive). (These
426arguments default to the beginning and end of the accessible portion of 428arguments default to the beginning and end of the accessible portion
427that buffer.) This function returns @code{nil}. 429of that buffer.) This function returns @code{nil}.
428 430
429In this example, the form is executed with buffer @samp{bar} as the 431In this example, the form is executed with buffer @samp{bar} as the
430current buffer. We assume that buffer @samp{bar} is initially empty. 432current buffer. We assume that buffer @samp{bar} is initially empty.
@@ -482,6 +484,7 @@ it except to install it on a keymap.
482 484
483In an interactive call, @var{count} is the numeric prefix argument. 485In an interactive call, @var{count} is the numeric prefix argument.
484 486
487@c FIXME: This variable is obsolete since 23.1.
485Self-insertion translates the input character through 488Self-insertion translates the input character through
486@code{translation-table-for-input}. @xref{Translation of Characters}. 489@code{translation-table-for-input}. @xref{Translation of Characters}.
487 490
@@ -776,6 +779,7 @@ is deleted. If point is on a nonblank line, the command deletes all
776blank lines immediately following it. 779blank lines immediately following it.
777 780
778A blank line is defined as a line containing only tabs and spaces. 781A blank line is defined as a line containing only tabs and spaces.
782@c and the Newline character?
779 783
780@code{delete-blank-lines} returns @code{nil}. 784@code{delete-blank-lines} returns @code{nil}.
781@end deffn 785@end deffn
@@ -920,6 +924,7 @@ processes the text according to @code{yank-handled-properties} and
920text anyway.) 924text anyway.)
921@end defun 925@end defun
922 926
927@c FIXME: Add an index for yank-handler.
923 If you put a @code{yank-handler} text property on all or part of a 928 If you put a @code{yank-handler} text property on all or part of a
924string, that alters how @code{insert-for-yank} inserts the string. If 929string, that alters how @code{insert-for-yank} inserts the string. If
925different parts of the string have different @code{yank-handler} 930different parts of the string have different @code{yank-handler}
@@ -1284,8 +1289,8 @@ This is an extensible undo item, which is undone by calling
1284@item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args}) 1289@item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args})
1285This is an extensible undo item, which records a change limited to the 1290This is an extensible undo item, which records a change limited to the
1286range @var{beg} to @var{end}, which increased the size of the buffer 1291range @var{beg} to @var{end}, which increased the size of the buffer
1287by @var{delta}. It is undone by calling @var{funname} with arguments 1292by @var{delta} characters. It is undone by calling @var{funname} with
1288@var{args}. 1293arguments @var{args}.
1289 1294
1290This kind of element enables undo limited to a region to determine 1295This kind of element enables undo limited to a region to determine
1291whether the element pertains to that region. 1296whether the element pertains to that region.
@@ -1376,7 +1381,8 @@ possible to undo either previous changes or any subsequent changes. If
1376the undo list of @var{buffer-or-name} is already disabled, this function 1381the undo list of @var{buffer-or-name} is already disabled, this function
1377has no effect. 1382has no effect.
1378 1383
1379This function returns @code{nil}. 1384In an interactive call, BUFFER-OR-NAME is the current buffer. You
1385cannot specify any other buffer. This function returns @code{nil}.
1380@end deffn 1386@end deffn
1381 1387
1382 As editing continues, undo lists get longer and longer. To prevent 1388 As editing continues, undo lists get longer and longer. To prevent
@@ -1493,6 +1499,7 @@ the header lines. If @var{citation-regexp} is a string, it is used as
1493a regular expression; if it matches the beginning of a line, that line 1499a regular expression; if it matches the beginning of a line, that line
1494is treated as a citation marker. 1500is treated as a citation marker.
1495 1501
1502@c FIXME: "That mode" is confusing. It isn't a major/minor mode.
1496Ordinarily, @code{fill-individual-paragraphs} regards each change in 1503Ordinarily, @code{fill-individual-paragraphs} regards each change in
1497indentation as starting a new paragraph. If 1504indentation as starting a new paragraph. If
1498@code{fill-individual-varying-indent} is non-@code{nil}, then only 1505@code{fill-individual-varying-indent} is non-@code{nil}, then only
@@ -1606,11 +1613,13 @@ Manual}.
1606@defvar use-hard-newlines 1613@defvar use-hard-newlines
1607If this variable is non-@code{nil}, the filling functions do not delete 1614If this variable is non-@code{nil}, the filling functions do not delete
1608newlines that have the @code{hard} text property. These ``hard 1615newlines that have the @code{hard} text property. These ``hard
1609newlines'' act as paragraph separators. 1616newlines'' act as paragraph separators. @xref{Hard and Soft
1617Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}.
1610@end defvar 1618@end defvar
1611 1619
1612@node Margins 1620@node Margins
1613@section Margins for Filling 1621@section Margins for Filling
1622@cindex margins, filling
1614 1623
1615@defopt fill-prefix 1624@defopt fill-prefix
1616This buffer-local variable, if non-@code{nil}, specifies a string of 1625This buffer-local variable, if non-@code{nil}, specifies a string of
@@ -1800,6 +1809,7 @@ prefix or @code{nil}, meaning it has failed to determine a prefix.
1800@cindex filling, automatic 1809@cindex filling, automatic
1801@cindex Auto Fill mode 1810@cindex Auto Fill mode
1802 1811
1812@c FIXME: I don't think any of the variables below is a/an normal/abnormal hook.
1803 Auto Fill mode is a minor mode that fills lines automatically as text 1813 Auto Fill mode is a minor mode that fills lines automatically as text
1804is inserted. This section describes the hook used by Auto Fill mode. 1814is inserted. This section describes the hook used by Auto Fill mode.
1805For a description of functions that you can call explicitly to fill and 1815For a description of functions that you can call explicitly to fill and
@@ -1941,10 +1951,10 @@ its @code{sort-subr} call looks like this:
1941@group 1951@group
1942(sort-subr reverse 1952(sort-subr reverse
1943 (function 1953 (function
1944 (lambda () 1954 (lambda ()
1945 (while (and (not (eobp)) 1955 (while (and (not (eobp))
1946 (looking-at paragraph-separate)) 1956 (looking-at paragraph-separate))
1947 (forward-line 1)))) 1957 (forward-line 1))))
1948 'forward-paragraph) 1958 'forward-paragraph)
1949@end group 1959@end group
1950@end example 1960@end example
@@ -2130,9 +2140,12 @@ line and point.
2130When called interactively, @var{column} is the value of prefix numeric 2140When called interactively, @var{column} is the value of prefix numeric
2131argument. If @var{column} is not an integer, an error is signaled. 2141argument. If @var{column} is not an integer, an error is signaled.
2132 2142
2143@c This behavior used to be documented until 2013/08.
2144@ignore
2133If column @var{column} is beyond the end of the line, point moves to 2145If column @var{column} is beyond the end of the line, point moves to
2134the end of the line. If @var{column} is negative, point moves to the 2146the end of the line. If @var{column} is negative, point moves to the
2135beginning of the line. 2147beginning of the line.
2148@end ignore
2136 2149
2137If it is impossible to move to column @var{column} because that is in 2150If it is impossible to move to column @var{column} because that is in
2138the middle of a multicolumn character such as a tab, point moves to the 2151the middle of a multicolumn character such as a tab, point moves to the
@@ -2341,6 +2354,8 @@ code.
2341For example, if @var{count} is 3, this command adds 3 columns of 2354For example, if @var{count} is 3, this command adds 3 columns of
2342indentation to each of the lines beginning in the region specified. 2355indentation to each of the lines beginning in the region specified.
2343 2356
2357@c FIXME: I suggest using message-indent-citation as the example, or
2358@c just remove this paragraph. --xfq
2344In Mail mode, @kbd{C-c C-y} (@code{mail-yank-original}) uses 2359In Mail mode, @kbd{C-c C-y} (@code{mail-yank-original}) uses
2345@code{indent-rigidly} to indent the text copied from the message being 2360@code{indent-rigidly} to indent the text copied from the message being
2346replied to. 2361replied to.
@@ -2518,7 +2533,7 @@ This is the contents of the 5th foo.
2518@end group 2533@end group
2519 2534
2520@group 2535@group
2521(capitalize-region 1 44) 2536(capitalize-region 1 37)
2522@result{} nil 2537@result{} nil
2523 2538
2524---------- Buffer: foo ---------- 2539---------- Buffer: foo ----------
@@ -3024,6 +3039,7 @@ Point}.
3024 3039
3025@table @code 3040@table @code
3026@cindex property category of text character 3041@cindex property category of text character
3042@c FIXME: Isn't @kindex for keyboard commands?
3027@kindex category @r{(text property)} 3043@kindex category @r{(text property)}
3028@item category 3044@item category
3029If a character has a @code{category} property, we call it the 3045If a character has a @code{category} property, we call it the
@@ -4012,6 +4028,7 @@ A rectangle is represented by a list of strings.
4012This represents a window configuration to restore in one frame, and a 4028This represents a window configuration to restore in one frame, and a
4013position to jump to in the current buffer. 4029position to jump to in the current buffer.
4014 4030
4031@c FIXME: Mention frameset here.
4015@item @code{(@var{frame-configuration} @var{position})} 4032@item @code{(@var{frame-configuration} @var{position})}
4016This represents a frame configuration to restore, and a position 4033This represents a frame configuration to restore, and a position
4017to jump to in the current buffer. 4034to jump to in the current buffer.
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 4a38fa9ccd5..557add738ba 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1838,6 +1838,7 @@ updates this list.
1838@node Variable Aliases 1838@node Variable Aliases
1839@section Variable Aliases 1839@section Variable Aliases
1840@cindex variable aliases 1840@cindex variable aliases
1841@cindex alias, for variables
1841 1842
1842 It is sometimes useful to make two variables synonyms, so that both 1843 It is sometimes useful to make two variables synonyms, so that both
1843variables always have the same value, and changing either one also 1844variables always have the same value, and changing either one also
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 1f65f687014..13c9ca53222 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -2244,8 +2244,9 @@ window and defaults to the selected one.
2244 2244
2245Each list element has the form @code{(@var{buffer} @var{window-start} 2245Each list element has the form @code{(@var{buffer} @var{window-start}
2246@var{window-pos})}, where @var{buffer} is a buffer previously shown in 2246@var{window-pos})}, where @var{buffer} is a buffer previously shown in
2247the window, @var{window-start} is the window start position when that 2247the window, @var{window-start} is the window start position
2248buffer was last shown, and @var{window-pos} is the point position when 2248(@pxref{Window Start and End}) when that buffer was last shown, and
2249@var{window-pos} is the point position (@pxref{Window Point}) when
2249that buffer was last shown in @var{window}. 2250that buffer was last shown in @var{window}.
2250 2251
2251The list is ordered so that earlier elements correspond to more 2252The list is ordered so that earlier elements correspond to more
@@ -2328,10 +2329,11 @@ same frame. The following option can be used to override this behavior.
2328@defopt switch-to-visible-buffer 2329@defopt switch-to-visible-buffer
2329If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and 2330If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and
2330@code{switch-to-next-buffer} may switch to a buffer that is already 2331@code{switch-to-next-buffer} may switch to a buffer that is already
2331visible on the same frame, provided the buffer was shown in the relevant 2332visible on the same frame, provided the buffer was shown in the
2332window before. If it is @code{nil}, @code{switch-to-prev-buffer} and 2333relevant window before. If it is @code{nil},
2333@code{switch-to-next-buffer} always try to avoid switching to a buffer 2334@code{switch-to-prev-buffer} and @code{switch-to-next-buffer} always
2334that is already visible in another window on the same frame. 2335try to avoid switching to a buffer that is already visible in another
2336window on the same frame. The default is @code{t}.
2335@end defopt 2337@end defopt
2336 2338
2337 2339
@@ -2362,6 +2364,7 @@ showing another buffer in that frame's only window. The function
2362@code{replace-buffer-in-windows} (@pxref{Buffers and Windows}) which is 2364@code{replace-buffer-in-windows} (@pxref{Buffers and Windows}) which is
2363called when a buffer gets killed, deletes the window in case (1) and 2365called when a buffer gets killed, deletes the window in case (1) and
2364behaves like @code{delete-windows-on} otherwise. 2366behaves like @code{delete-windows-on} otherwise.
2367@c FIXME: Does replace-buffer-in-windows _delete_ a window in case (1)?
2365 2368
2366 When @code{bury-buffer} (@pxref{The Buffer List}) operates on the 2369 When @code{bury-buffer} (@pxref{The Buffer List}) operates on the
2367selected window (which shows the buffer that shall be buried), it 2370selected window (which shows the buffer that shall be buried), it
@@ -2566,6 +2569,7 @@ so @code{window-point} will stay behind text inserted there.
2566@node Window Start and End 2569@node Window Start and End
2567@section The Window Start and End Positions 2570@section The Window Start and End Positions
2568@cindex window start position 2571@cindex window start position
2572@cindex display-start position
2569 2573
2570 Each window maintains a marker used to keep track of a buffer position 2574 Each window maintains a marker used to keep track of a buffer position
2571that specifies where in the buffer display should start. This position 2575that specifies where in the buffer display should start. This position
@@ -3191,6 +3195,7 @@ The value returned is @var{columns}.
3191 Here is how you can determine whether a given position @var{position} 3195 Here is how you can determine whether a given position @var{position}
3192is off the screen due to horizontal scrolling: 3196is off the screen due to horizontal scrolling:
3193 3197
3198@c FIXME: Maybe hscroll-on-screen-p is a better name?
3194@example 3199@example
3195@group 3200@group
3196(defun hscroll-on-screen (window position) 3201(defun hscroll-on-screen (window position)
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index da2491cb94a..554580c769a 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,162 @@
12013-08-19 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * emacs-mime.texi (Encoding Customization): Exclude iso-2022-jp-2 and
4 shift_jis from the default value set to mm-coding-system-priorities for
5 Japanese users.
6
72013-08-13 Glenn Morris <rgm@gnu.org>
8
9 * reftex.texi (LaTeX xr Package, Options - Table of Contents)
10 (Options - Defining Label Environments, Options - Creating Labels)
11 (Options - Referencing Labels, Options - Creating Citations)
12 (Options - Index Support, Options - Viewing Cross-References)
13 (Options - Finding Files, Options - Optimizations)
14 (Options - Fontification, Options - Misc):
15 * cc-mode.texi (Sample Init File):
16 * edt.texi (Init file):
17 * epa.texi (Encrypting/decrypting gpg files):
18 * mairix-el.texi (About, Setting up the mairix interface, Using)
19 (Extending):
20 Rename nodes to avoid characters that can cause Texinfo problems.
21
222013-08-12 Katsumi Yamaoka <yamaoka@jpl.org>
23
24 * gnus.texi (Mail Source Specifiers): Fix description for pop3's :leave.
25
262013-08-12 Glenn Morris <rgm@gnu.org>
27
28 * Makefile.in (ada_mode_deps, auth_deps, autotype_deps)
29 (bovine_deps, calc_deps, ccmode_deps, cl_deps, dbus_deps)
30 (dired_x_deps, ebrowse_deps, ede_deps, ediff_deps, edt_deps)
31 (eieio_deps, emacs_gnutls_deps, emacs_mime_deps, epa_deps)
32 (erc_deps, ert_deps, eshell_deps, eudc_deps, faq_deps)
33 (flymake_deps, forms_deps, gnus_deps, htmlfontify_deps)
34 (idlwave_deps, ido_deps, info_deps, mairix_el_deps, message_deps)
35 (mh_e_deps, newsticker_deps, nxml_mode_deps, org_deps)
36 (pcl_cvs_deps, pgg_deps, rcirc_deps, reftex_deps, remember_deps)
37 (sasl_deps, sc_deps, semantic_deps, ses_deps, sieve_deps)
38 (smtpmail_deps, speedbar_deps, srecode_deps, todo_mode_deps)
39 (tramp_deps, url_deps, vip_deps, viper_deps, widget_deps)
40 (wisent_deps, woman_deps): New variables. Use to reduce duplication.
41
42 * woman.texi (Top): Avoid mailto: in html output.
43
44 * Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
45 (docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
46 (INSTALL_DATA): New, set by configure.
47 (HTML_OPTS, HTML_TARGETS, PS_TARGETS, DVIPS): New variables.
48 (.PHONY): Add html, ps, install-dvi, install-html, install-pdf,
49 install-ps ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
50 uninstall-ps, and uninstall-doc.
51 (.SUFFIXES): Add .ps and .dvi.
52 (.dvi.ps): New suffix rule.
53 (html, ps, ada-mode.html, auth.html, autotype.html, bovine.html)
54 (calc.html, cc-mode.html, cl.html, dbus.html, dired-x.html)
55 (ebrowse.html, ede.html, ediff.html, edt.html, eieio.html)
56 (emacs-gnutls.html, emacs-mime.html, epa.html, erc.html)
57 (ert.html, eshell.html, eudc.html, faq.html, flymake.html)
58 (forms.html, gnus.html, htmlfontify.html, idlwave.html)
59 (ido.html, mairix-el.html, message.html, mh-e.html)
60 (newsticker.html, nxml-mode.html, org.html, pgg.html)
61 (rcirc.html, reftex.html, remember.html, sasl.html, sc.html)
62 (semantic.html, sieve.html, smtpmail.html, speedbar.html)
63 (srecode.html, todo-mode.html, tramp.html, url.html, vip.html)
64 (viper.html, widget.html, wisent.html, woman.html, install-dvi)
65 (install-html, install-pdf, install-ps, install-doc, uninstall-dvi)
66 (uninstall-html, uninstall-ps, uninstall-pdf, uninstall-doc):
67 New rules.
68 (clean): Remove HTML_TARGETS and PS_TARGETS.
69
702013-08-10 Xue Fuqiao <xfq.free@gmail.com>
71
72 * ido.texi (Working Directories):
73 (Flexible Matching, Regexp Matching, Find File At Point)
74 (Ignoring, Misc Customization): Use @defopt for user options.
75
762013-08-09 Xue Fuqiao <xfq.free@gmail.com>
77
78 * htmlfontify.texi (Customization): Remove documentation of
79 `hfy-fast-lock-save'. Minor fixes.
80
812013-08-08 Xue Fuqiao <xfq.free@gmail.com>
82
83 * ido.texi (Top): Insert node "Working Directories" in menu.
84 (Working Directories): New node.
85 (Misc Customization): Add documentation of
86 `ido-confirm-unique-completion' and some other user options.
87
882013-08-07 Eli Zaretskii <eliz@gnu.org>
89
90 * todo-mode.texi: Update @dircategory.
91 (Overview, Todo Items as Diary Entries, Todo Mode Entry Points)
92 (File Editing, Marked Items, Item Prefix): Fix usage of @xref and
93 @ref.
94
952013-08-07 Xue Fuqiao <xfq.free@gmail.com>
96
97 * sc.texi (Introduction): Fix index.
98 (Usage Overview):
99 (Citations, Citation Elements, Recognizing Citations)
100 (Information Keys and the Info Alist, Reference Headers)
101 (The Built-in Header Rewrite Functions)
102 (Electric References, Reply Buffer Initialization)
103 (Filling Cited Text, Selecting an Attribution)
104 (Attribution Preferences)
105 (Anonymous Attributions, Author Names)
106 (Using Regi, Post-yank Formatting Commands)
107 (Citing Commands, Insertion Commands)
108 (Mail Field Commands)
109 (Hints to MUA Authors, Thanks and History): Change from one space
110 between sentences to two.
111 (What Supercite Does): Typo fix.
112
113 * newsticker.texi (Usage): Use @key for RET.
114
115 * cl.texi (Argument Lists):
116 (For Clauses):
117 (Macros): Add indexes.
118
1192013-08-05 Xue Fuqiao <xfq.free@gmail.com>
120
121 * cl.texi (Blocks and Exits): Add an index.
122
1232013-08-04 Stephen Berman <stephen.berman@gmx.net>
124
125 * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add todo-mode.
126 (todo-mode, $(buildinfodir)/todo-mode$(INFO_EXT)):
127 (todo-mode.dvi, todo-mode.pdf): New rules.
128
129 * todo-mode.texi: New file.
130
1312013-08-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
132
133 * gnus.texi (Basic Usage): Mention that warp means jump here.
134 (The notmuch Engine): Mention notmuch.
135
1362013-07-30 Tassilo Horn <tsdh@gnu.org>
137
138 * gnus.texi (Sorting the Summary Buffer): Document new defcustom
139 `gnus-subthread-sort-functions' and remove the obsolete documentation
140 of `gnus-sort-threads-recursively'.
141
1422013-07-29 David Engster <deng@randomsample.de>
143
144 * eieio.texi (top): Make clear that EIEIO is not a full CLOS
145 implementation.
146 (Introduction): Add further missing features.
147 (Building Classes): Add introductory paragraph.
148 (Wish List): Add metaclasses and EQL specialization.
149
1502013-07-29 Michael Albinus <michael.albinus@gmx.de>
151
152 * tramp.texi (Frequently Asked Questions): Mention
153 `tramp-use-ssh-controlmaster-options'.
154
1552013-07-26 Tassilo Horn <tsdh@gnu.org>
156
157 * gnus.texi (Sorting the Summary Buffer): Document new defcustom
158 `gnus-sort-threads-recursively'.
159
12013-07-25 Glenn Morris <rgm@gnu.org> 1602013-07-25 Glenn Morris <rgm@gnu.org>
2 161
3 * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add ido. 162 * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add ido.
@@ -156,7 +315,7 @@
156 315
1572013-05-25 Xue Fuqiao <xfq.free@gmail.com> 3162013-05-25 Xue Fuqiao <xfq.free@gmail.com>
158 317
159 * flymake.texi: Changing from one space between sentences to two. 318 * flymake.texi: Change from one space between sentences to two.
160 319
1612013-05-04 Stefan Monnier <monnier@iro.umontreal.ca> 3202013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
162 321
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 67a899af8ce..6618e125d7c 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -31,12 +31,29 @@ buildinfodir = $(srcdir)/../../info
31## Directory with emacsver.texi. 31## Directory with emacsver.texi.
32emacsdir = $(srcdir)/../emacs 32emacsdir = $(srcdir)/../emacs
33 33
34prefix = @prefix@
35datarootdir = @datarootdir@
36datadir = @datadir@
37PACKAGE_TARNAME = @PACKAGE_TARNAME@
38docdir = @docdir@
39dvidir = @dvidir@
40htmldir = @htmldir@
41pdfdir = @pdfdir@
42psdir = @psdir@
43
34MKDIR_P = @MKDIR_P@ 44MKDIR_P = @MKDIR_P@
35 45
46GZIP_PROG = @GZIP_PROG@
47
48HTML_OPTS = --no-split --html
49
36INFO_EXT=@INFO_EXT@ 50INFO_EXT=@INFO_EXT@
37# Options used only when making info output. 51# Options used only when making info output.
38INFO_OPTS=@INFO_OPTS@ 52INFO_OPTS=@INFO_OPTS@
39 53
54INSTALL = @INSTALL@
55INSTALL_DATA = @INSTALL_DATA@
56
40# The makeinfo program is part of the Texinfo distribution. 57# The makeinfo program is part of the Texinfo distribution.
41# Use --force so that it generates output even if there are errors. 58# Use --force so that it generates output even if there are errors.
42MAKEINFO = @MAKEINFO@ 59MAKEINFO = @MAKEINFO@
@@ -48,7 +65,7 @@ INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \
48 flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ 65 flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
49 mairix-el message mh-e newsticker nxml-mode \ 66 mairix-el message mh-e newsticker nxml-mode \
50 org pcl-cvs pgg rcirc remember reftex sasl \ 67 org pcl-cvs pgg rcirc remember reftex sasl \
51 sc semantic ses sieve smtpmail speedbar srecode tramp \ 68 sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \
52 url vip viper widget wisent woman 69 url vip viper widget wisent woman
53 70
54DVI_TARGETS = \ 71DVI_TARGETS = \
@@ -100,6 +117,7 @@ DVI_TARGETS = \
100 smtpmail.dvi \ 117 smtpmail.dvi \
101 speedbar.dvi \ 118 speedbar.dvi \
102 srecode.dvi \ 119 srecode.dvi \
120 todo-mode.dvi \
103 tramp.dvi \ 121 tramp.dvi \
104 url.dvi \ 122 url.dvi \
105 vip.dvi \ 123 vip.dvi \
@@ -108,6 +126,64 @@ DVI_TARGETS = \
108 wisent.dvi \ 126 wisent.dvi \
109 woman.dvi 127 woman.dvi
110 128
129HTML_TARGETS = \
130 ada-mode.html \
131 auth.html \
132 autotype.html \
133 bovine.html \
134 calc.html \
135 cc-mode.html \
136 cl.html \
137 dbus.html \
138 dired-x.html \
139 ebrowse.html \
140 ede.html \
141 ediff.html \
142 edt.html \
143 eieio.html \
144 emacs-mime.html \
145 epa.html \
146 erc.html \
147 ert.html \
148 eshell.html \
149 eudc.html \
150 faq.html \
151 flymake.html \
152 forms.html \
153 gnus.html \
154 emacs-gnutls.html \
155 htmlfontify.html \
156 idlwave.html \
157 ido.html \
158 info.html \
159 mairix-el.html \
160 message.html \
161 mh-e.html \
162 newsticker.html \
163 nxml-mode.html \
164 org.html \
165 pcl-cvs.html \
166 pgg.html \
167 rcirc.html \
168 reftex.html \
169 remember.html \
170 sasl.html \
171 sc.html \
172 semantic.html \
173 ses.html \
174 sieve.html \
175 smtpmail.html \
176 speedbar.html \
177 srecode.html \
178 todo-mode.html \
179 tramp.html \
180 url.html \
181 vip.html \
182 viper.html \
183 widget.html \
184 wisent.html \
185 woman.html
186
111PDF_TARGETS = \ 187PDF_TARGETS = \
112 ada-mode.pdf \ 188 ada-mode.pdf \
113 auth.pdf \ 189 auth.pdf \
@@ -157,6 +233,7 @@ PDF_TARGETS = \
157 smtpmail.pdf \ 233 smtpmail.pdf \
158 speedbar.pdf \ 234 speedbar.pdf \
159 srecode.pdf \ 235 srecode.pdf \
236 todo-mode.pdf \
160 tramp.pdf \ 237 tramp.pdf \
161 url.pdf \ 238 url.pdf \
162 vip.pdf \ 239 vip.pdf \
@@ -165,8 +242,67 @@ PDF_TARGETS = \
165 wisent.pdf \ 242 wisent.pdf \
166 woman.pdf 243 woman.pdf
167 244
245PS_TARGETS = \
246 ada-mode.ps \
247 auth.ps \
248 autotype.ps \
249 bovine.ps \
250 calc.ps \
251 cc-mode.ps \
252 cl.ps \
253 dbus.ps \
254 dired-x.ps \
255 ebrowse.ps \
256 ede.ps \
257 ediff.ps \
258 edt.ps \
259 eieio.ps \
260 emacs-mime.ps \
261 epa.ps \
262 erc.ps \
263 ert.ps \
264 eshell.ps \
265 eudc.ps \
266 faq.ps \
267 flymake.ps \
268 forms.ps \
269 gnus.ps \
270 htmlfontify.ps \
271 emacs-gnutls.ps \
272 idlwave.ps \
273 ido.ps \
274 info.ps \
275 mairix-el.ps \
276 message.ps \
277 mh-e.ps \
278 newsticker.ps \
279 nxml-mode.ps \
280 org.ps \
281 pcl-cvs.ps \
282 pgg.ps \
283 rcirc.ps \
284 reftex.ps \
285 remember.ps \
286 sasl.ps \
287 sc.ps \
288 semantic.ps \
289 ses.ps \
290 sieve.ps \
291 smtpmail.ps \
292 speedbar.ps \
293 srecode.ps \
294 todo-mode.ps \
295 tramp.ps \
296 url.ps \
297 vip.ps \
298 viper.ps \
299 widget.ps \
300 wisent.ps \
301 woman.ps
302
168TEXI2DVI = texi2dvi 303TEXI2DVI = texi2dvi
169TEXI2PDF = texi2pdf 304TEXI2PDF = texi2pdf
305DVIPS = dvips
170 306
171ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \ 307ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
172 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" 308 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
@@ -175,10 +311,15 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
175 311
176gfdl = ${srcdir}/doclicense.texi 312gfdl = ${srcdir}/doclicense.texi
177 313
178.PHONY: info dvi pdf echo-info 314.PHONY: info dvi html pdf ps echo-info
179## Prevent implicit rule triggering for foo.info. 315## Prevent implicit rule triggering for foo.info.
180.SUFFIXES: 316.SUFFIXES:
181 317
318.SUFFIXES: .ps .dvi
319
320.dvi.ps:
321 $(DVIPS) -o $@ $<
322
182# Default. 323# Default.
183info: $(INFO_TARGETS) 324info: $(INFO_TARGETS)
184 325
@@ -194,520 +335,700 @@ webhack: clean
194 335
195dvi: $(DVI_TARGETS) 336dvi: $(DVI_TARGETS)
196 337
338html: $(HTML_TARGETS)
339
197pdf: $(PDF_TARGETS) 340pdf: $(PDF_TARGETS)
198 341
342ps: $(PS_TARGETS)
343
199# Note that all the Info targets build the Info files in srcdir. 344# Note that all the Info targets build the Info files in srcdir.
200# There is no provision for Info files to exist in the build directory. 345# There is no provision for Info files to exist in the build directory.
201# In a distribution of Emacs, the Info files should be up to date. 346# In a distribution of Emacs, the Info files should be up to date.
202 347
203# Note: "<" is not portable in ordinary make rules. 348# Note: "<" is not portable in ordinary make rules.
204 349
350ada_mode_deps = ${srcdir}/ada-mode.texi ${gfdl}
205ada-mode : $(buildinfodir)/ada-mode$(INFO_EXT) 351ada-mode : $(buildinfodir)/ada-mode$(INFO_EXT)
206$(buildinfodir)/ada-mode$(INFO_EXT): ${srcdir}/ada-mode.texi ${gfdl} 352$(buildinfodir)/ada-mode$(INFO_EXT): $(ada_mode_deps)
207 $(mkinfodir) 353 $(mkinfodir)
208 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ada-mode.texi 354 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ada-mode.texi
209ada-mode.dvi: ${srcdir}/ada-mode.texi ${gfdl} 355ada-mode.dvi: $(ada_mode_deps)
210 $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi 356 $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
211ada-mode.pdf: ${srcdir}/ada-mode.texi ${gfdl} 357ada-mode.pdf: $(ada_mode_deps)
212 $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi 358 $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
359ada-mode.html: $(ada_mode_deps)
360 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ada-mode.texi
213 361
362auth_deps = ${srcdir}/auth.texi ${gfdl}
214auth : $(buildinfodir)/auth$(INFO_EXT) 363auth : $(buildinfodir)/auth$(INFO_EXT)
215$(buildinfodir)/auth$(INFO_EXT): ${srcdir}/auth.texi ${gfdl} 364$(buildinfodir)/auth$(INFO_EXT): $(auth_deps)
216 $(mkinfodir) 365 $(mkinfodir)
217 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/auth.texi 366 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/auth.texi
218auth.dvi: ${srcdir}/auth.texi ${gfdl} 367auth.dvi: $(auth_deps)
219 $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi 368 $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
220auth.pdf: ${srcdir}/auth.texi ${gfdl} 369auth.pdf: $(auth_deps)
221 $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi 370 $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
371auth.html: $(auth_deps)
372 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/auth.texi
222 373
374autotype_deps = ${srcdir}/autotype.texi ${gfdl}
223autotype : $(buildinfodir)/autotype$(INFO_EXT) 375autotype : $(buildinfodir)/autotype$(INFO_EXT)
224$(buildinfodir)/autotype$(INFO_EXT): ${srcdir}/autotype.texi ${gfdl} 376$(buildinfodir)/autotype$(INFO_EXT): $(autotype_deps)
225 $(mkinfodir) 377 $(mkinfodir)
226 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/autotype.texi 378 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/autotype.texi
227autotype.dvi: ${srcdir}/autotype.texi ${gfdl} 379autotype.dvi: $(autotype_deps)
228 $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi 380 $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
229autotype.pdf: ${srcdir}/autotype.texi ${gfdl} 381autotype.pdf: $(autotype_deps)
230 $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi 382 $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
383autotype.html: $(autotype_deps)
384 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/autotype.texi
231 385
386bovine_deps = ${srcdir}/bovine.texi ${gfdl}
232bovine : $(buildinfodir)/bovine$(INFO_EXT) 387bovine : $(buildinfodir)/bovine$(INFO_EXT)
233$(buildinfodir)/bovine$(INFO_EXT): ${srcdir}/bovine.texi ${gfdl} 388$(buildinfodir)/bovine$(INFO_EXT): $(bovine_deps)
234 $(mkinfodir) 389 $(mkinfodir)
235 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/bovine.texi 390 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/bovine.texi
236bovine.dvi: ${srcdir}/bovine.texi ${gfdl} 391bovine.dvi: $(bovine_deps)
237 $(ENVADD) $(TEXI2DVI) ${srcdir}/bovine.texi 392 $(ENVADD) $(TEXI2DVI) ${srcdir}/bovine.texi
238bovine.pdf: ${srcdir}/bovine.texi ${gfdl} 393bovine.pdf: $(bovine_deps)
239 $(ENVADD) $(TEXI2PDF) ${srcdir}/bovine.texi 394 $(ENVADD) $(TEXI2PDF) ${srcdir}/bovine.texi
395bovine.html: $(bovine_deps)
396 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/bovine.texi
240 397
398calc_deps = ${srcdir}/calc.texi $(emacsdir)/emacsver.texi ${gfdl}
241calc : $(buildinfodir)/calc$(INFO_EXT) 399calc : $(buildinfodir)/calc$(INFO_EXT)
242$(buildinfodir)/calc$(INFO_EXT): ${srcdir}/calc.texi $(emacsdir)/emacsver.texi ${gfdl} 400$(buildinfodir)/calc$(INFO_EXT): $(calc_deps)
243 $(mkinfodir) 401 $(mkinfodir)
244 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/calc.texi 402 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/calc.texi
245calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi ${gfdl} 403calc.dvi: $(calc_deps)
246 $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi 404 $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
247calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi ${gfdl} 405calc.pdf: $(calc_deps)
248 $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi 406 $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
407calc.html: $(calc_deps)
408 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/calc.texi
249 409
410ccmode_deps = ${srcdir}/cc-mode.texi ${gfdl}
250ccmode : $(buildinfodir)/ccmode$(INFO_EXT) 411ccmode : $(buildinfodir)/ccmode$(INFO_EXT)
251$(buildinfodir)/ccmode$(INFO_EXT): ${srcdir}/cc-mode.texi ${gfdl} 412$(buildinfodir)/ccmode$(INFO_EXT): $(cc_mode_deps)
252 $(mkinfodir) 413 $(mkinfodir)
253 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cc-mode.texi 414 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cc-mode.texi
254cc-mode.dvi: ${srcdir}/cc-mode.texi ${gfdl} 415cc-mode.dvi: $(cc_mode_deps)
255 $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi 416 $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
256cc-mode.pdf: ${srcdir}/cc-mode.texi ${gfdl} 417cc-mode.pdf: $(cc_mode_deps)
257 $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi 418 $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
419cc-mode.html: $(cc_mode_deps)
420 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/cc-mode.texi
258 421
422cl_deps = ${srcdir}/cl.texi $(emacsdir)/emacsver.texi ${gfdl}
259cl : $(buildinfodir)/cl$(INFO_EXT) 423cl : $(buildinfodir)/cl$(INFO_EXT)
260$(buildinfodir)/cl$(INFO_EXT): ${srcdir}/cl.texi $(emacsdir)/emacsver.texi ${gfdl} 424$(buildinfodir)/cl$(INFO_EXT): $(cl_deps)
261 $(mkinfodir) 425 $(mkinfodir)
262 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cl.texi 426 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cl.texi
263cl.dvi: ${srcdir}/cl.texi $(emacsdir)/emacsver.texi ${gfdl} 427cl.dvi: $(cl_deps)
264 $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi 428 $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
265cl.pdf: ${srcdir}/cl.texi $(emacsdir)/emacsver.texi ${gfdl} 429cl.pdf: $(cl_deps)
266 $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi 430 $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
431cl.html: $(cl_deps)
432 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/cl.texi
267 433
434dbus_deps = ${srcdir}/dbus.texi ${gfdl}
268dbus : $(buildinfodir)/dbus$(INFO_EXT) 435dbus : $(buildinfodir)/dbus$(INFO_EXT)
269$(buildinfodir)/dbus$(INFO_EXT): ${srcdir}/dbus.texi ${gfdl} 436$(buildinfodir)/dbus$(INFO_EXT): $(dbus_deps)
270 $(mkinfodir) 437 $(mkinfodir)
271 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dbus.texi 438 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dbus.texi
272dbus.dvi: ${srcdir}/dbus.texi ${gfdl} 439dbus.dvi: $(dbus_deps)
273 $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi 440 $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
274dbus.pdf: ${srcdir}/dbus.texi ${gfdl} 441dbus.pdf: $(dbus_deps)
275 $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi 442 $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
443dbus.html: $(dbus_deps)
444 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/dbus.texi
276 445
446dired_x_deps = ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi ${gfdl}
277dired-x : $(buildinfodir)/dired-x$(INFO_EXT) 447dired-x : $(buildinfodir)/dired-x$(INFO_EXT)
278$(buildinfodir)/dired-x$(INFO_EXT): ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi ${gfdl} 448$(buildinfodir)/dired-x$(INFO_EXT): $(dired_x_deps)
279 $(mkinfodir) 449 $(mkinfodir)
280 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dired-x.texi 450 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dired-x.texi
281dired-x.dvi: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi ${gfdl} 451dired-x.dvi: $(dired_x_deps)
282 $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi 452 $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
283dired-x.pdf: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi ${gfdl} 453dired-x.pdf: $(dired_x_deps)
284 $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi 454 $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
455dired-x.html: $(dired_x_deps)
456 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/dired-x.texi
285 457
458ebrowse_deps = ${srcdir}/ebrowse.texi ${gfdl}
286ebrowse : $(buildinfodir)/ebrowse$(INFO_EXT) 459ebrowse : $(buildinfodir)/ebrowse$(INFO_EXT)
287$(buildinfodir)/ebrowse$(INFO_EXT): ${srcdir}/ebrowse.texi ${gfdl} 460$(buildinfodir)/ebrowse$(INFO_EXT): $(ebrowse_deps)
288 $(mkinfodir) 461 $(mkinfodir)
289 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ebrowse.texi 462 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ebrowse.texi
290ebrowse.dvi: ${srcdir}/ebrowse.texi ${gfdl} 463ebrowse.dvi: $(ebrowse_deps)
291 $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi 464 $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
292ebrowse.pdf: ${srcdir}/ebrowse.texi ${gfdl} 465ebrowse.pdf: $(ebrowse_deps)
293 $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi 466 $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
467ebrowse.html: $(ebrowse_deps)
468 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ebrowse.texi
294 469
470ede_deps = ${srcdir}/ede.texi ${gfdl}
295ede : $(buildinfodir)/ede$(INFO_EXT) 471ede : $(buildinfodir)/ede$(INFO_EXT)
296$(buildinfodir)/ede$(INFO_EXT): ${srcdir}/ede.texi ${gfdl} 472$(buildinfodir)/ede$(INFO_EXT): $(ede_deps)
297 $(mkinfodir) 473 $(mkinfodir)
298 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ede.texi 474 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ede.texi
299ede.dvi: ${srcdir}/ede.texi ${gfdl} 475ede.dvi: $(ede_deps)
300 $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi 476 $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
301ede.pdf: ${srcdir}/ede.texi ${gfdl} 477ede.pdf: $(ede_deps)
302 $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi 478 $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
479ede.html: $(ede_deps)
480 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ede.texi
303 481
482ediff_deps = ${srcdir}/ediff.texi ${gfdl}
304ediff : $(buildinfodir)/ediff$(INFO_EXT) 483ediff : $(buildinfodir)/ediff$(INFO_EXT)
305$(buildinfodir)/ediff$(INFO_EXT): ${srcdir}/ediff.texi ${gfdl} 484$(buildinfodir)/ediff$(INFO_EXT): $(ediff_deps)
306 $(mkinfodir) 485 $(mkinfodir)
307 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ediff.texi 486 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ediff.texi
308ediff.dvi: ${srcdir}/ediff.texi ${gfdl} 487ediff.dvi: $(ediff_deps)
309 $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi 488 $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
310ediff.pdf: ${srcdir}/ediff.texi ${gfdl} 489ediff.pdf: $(ediff_deps)
311 $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi 490 $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
491ediff.html: $(ediff_deps)
492 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ediff.texi
312 493
494edt_deps = ${srcdir}/edt.texi ${gfdl}
313edt : $(buildinfodir)/edt$(INFO_EXT) 495edt : $(buildinfodir)/edt$(INFO_EXT)
314$(buildinfodir)/edt$(INFO_EXT): ${srcdir}/edt.texi ${gfdl} 496$(buildinfodir)/edt$(INFO_EXT): $(edt_deps)
315 $(mkinfodir) 497 $(mkinfodir)
316 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/edt.texi 498 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/edt.texi
317edt.dvi: ${srcdir}/edt.texi ${gfdl} 499edt.dvi: $(edt_deps)
318 $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi 500 $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
319edt.pdf: ${srcdir}/edt.texi ${gfdl} 501edt.pdf: $(edt_deps)
320 $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi 502 $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
503edt.html: $(edt_deps)
504 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/edt.texi
321 505
506eieio_deps = ${srcdir}/eieio.texi ${gfdl}
322eieio : $(buildinfodir)/eieio$(INFO_EXT) 507eieio : $(buildinfodir)/eieio$(INFO_EXT)
323$(buildinfodir)/eieio$(INFO_EXT): ${srcdir}/eieio.texi ${gfdl} 508$(buildinfodir)/eieio$(INFO_EXT): $(eieio_deps)
324 $(mkinfodir) 509 $(mkinfodir)
325 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eieio.texi 510 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eieio.texi
326eieio.dvi: ${srcdir}/eieio.texi ${gfdl} 511eieio.dvi: $(eieio_deps)
327 $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi 512 $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
328eieio.pdf: ${srcdir}/eieio.texi ${gfdl} 513eieio.pdf: $(eieio_deps)
329 $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi 514 $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
515eieio.html: $(eieio_deps)
516 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eieio.texi
330 517
518emacs_gnutls_deps = ${srcdir}/emacs-gnutls.texi ${gfdl}
331emacs-gnutls : $(buildinfodir)/emacs-gnutls$(INFO_EXT) 519emacs-gnutls : $(buildinfodir)/emacs-gnutls$(INFO_EXT)
332$(buildinfodir)/emacs-gnutls$(INFO_EXT): ${srcdir}/emacs-gnutls.texi ${gfdl} 520$(buildinfodir)/emacs-gnutls$(INFO_EXT): $(emacs_gnutls_deps)
333 $(mkinfodir) 521 $(mkinfodir)
334 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/emacs-gnutls.texi 522 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/emacs-gnutls.texi
335emacs-gnutls.dvi: ${srcdir}/emacs-gnutls.texi ${gfdl} 523emacs-gnutls.dvi: $(emacs_gnutls_deps)
336 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi 524 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi
337emacs-gnutls.pdf: ${srcdir}/emacs-gnutls.texi ${gfdl} 525emacs-gnutls.pdf: $(emacs_gnutls_deps)
338 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi 526 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi
527emacs-gnutls.html: $(emacs_gnutls_deps)
528 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-gnutls.texi
339 529
530emacs_mime_deps = ${srcdir}/emacs-mime.texi ${gfdl}
340emacs-mime : $(buildinfodir)/emacs-mime$(INFO_EXT) 531emacs-mime : $(buildinfodir)/emacs-mime$(INFO_EXT)
341$(buildinfodir)/emacs-mime$(INFO_EXT): ${srcdir}/emacs-mime.texi ${gfdl} 532$(buildinfodir)/emacs-mime$(INFO_EXT): $(emacs_mime_deps)
342 $(mkinfodir) 533 $(mkinfodir)
343 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) --enable-encoding -o $@ ${srcdir}/emacs-mime.texi 534 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) --enable-encoding -o $@ ${srcdir}/emacs-mime.texi
344emacs-mime.dvi: ${srcdir}/emacs-mime.texi ${gfdl} 535emacs-mime.dvi: $(emacs_mime_deps)
345 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi 536 $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
346emacs-mime.pdf: ${srcdir}/emacs-mime.texi ${gfdl} 537emacs-mime.pdf: $(emacs_mime_deps)
347 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi 538 $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
539emacs-mime.html: $(emacs_mime_deps)
540 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) --enable-encoding -o $@ ${srcdir}/emacs-mime.texi
348 541
542epa_deps = ${srcdir}/epa.texi ${gfdl}
349epa : $(buildinfodir)/epa$(INFO_EXT) 543epa : $(buildinfodir)/epa$(INFO_EXT)
350$(buildinfodir)/epa$(INFO_EXT): ${srcdir}/epa.texi ${gfdl} 544$(buildinfodir)/epa$(INFO_EXT): $(epa_deps)
351 $(mkinfodir) 545 $(mkinfodir)
352 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/epa.texi 546 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/epa.texi
353epa.dvi: ${srcdir}/epa.texi ${gfdl} 547epa.dvi: $(epa_deps)
354 $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi 548 $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
355epa.pdf: ${srcdir}/epa.texi ${gfdl} 549epa.pdf: $(epa_deps)
356 $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi 550 $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
551epa.html: $(epa_deps)
552 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/epa.texi
357 553
554erc_deps = ${srcdir}/erc.texi $(emacsdir)/emacsver.texi ${gfdl}
358erc : $(buildinfodir)/erc$(INFO_EXT) 555erc : $(buildinfodir)/erc$(INFO_EXT)
359$(buildinfodir)/erc$(INFO_EXT): ${srcdir}/erc.texi $(emacsdir)/emacsver.texi ${gfdl} 556$(buildinfodir)/erc$(INFO_EXT): $(erc_deps)
360 $(mkinfodir) 557 $(mkinfodir)
361 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/erc.texi 558 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/erc.texi
362erc.dvi: ${srcdir}/erc.texi $(emacsdir)/emacsver.texi ${gfdl} 559erc.dvi: $(erc_deps)
363 $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi 560 $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
364erc.pdf: ${srcdir}/erc.texi $(emacsdir)/emacsver.texi ${gfdl} 561erc.pdf: $(erc_deps)
365 $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi 562 $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
563erc.html: $(erc_deps)
564 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/erc.texi
366 565
566ert_deps = ${srcdir}/ert.texi ${gfdl}
367ert : $(buildinfodir)/ert$(INFO_EXT) 567ert : $(buildinfodir)/ert$(INFO_EXT)
368$(buildinfodir)/ert$(INFO_EXT): ${srcdir}/ert.texi ${gfdl} 568$(buildinfodir)/ert$(INFO_EXT): $(ert_deps)
369 $(mkinfodir) 569 $(mkinfodir)
370 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ert.texi 570 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ert.texi
371ert.dvi: ${srcdir}/ert.texi ${gfdl} 571ert.dvi: $(ert_deps)
372 $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi 572 $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi
373ert.pdf: ${srcdir}/ert.texi ${gfdl} 573ert.pdf: $(ert_deps)
374 $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi 574 $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi
575ert.html: $(ert_deps)
576 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ert.texi
375 577
578eshell_deps = ${srcdir}/eshell.texi ${gfdl}
376eshell : $(buildinfodir)/eshell$(INFO_EXT) 579eshell : $(buildinfodir)/eshell$(INFO_EXT)
377$(buildinfodir)/eshell$(INFO_EXT): ${srcdir}/eshell.texi ${gfdl} 580$(buildinfodir)/eshell$(INFO_EXT): $(eshell_deps)
378 $(mkinfodir) 581 $(mkinfodir)
379 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eshell.texi 582 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eshell.texi
380eshell.dvi: ${srcdir}/eshell.texi ${gfdl} 583eshell.dvi: $(eshell_deps)
381 $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi 584 $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
382eshell.pdf: ${srcdir}/eshell.texi ${gfdl} 585eshell.pdf: $(eshell_deps)
383 $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi 586 $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi
587eshell.html: $(eshell_deps)
588 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eshell.texi
384 589
590eudc_deps = ${srcdir}/eudc.texi ${gfdl}
385eudc : $(buildinfodir)/eudc$(INFO_EXT) 591eudc : $(buildinfodir)/eudc$(INFO_EXT)
386$(buildinfodir)/eudc$(INFO_EXT): ${srcdir}/eudc.texi ${gfdl} 592$(buildinfodir)/eudc$(INFO_EXT): $(eudc_deps)
387 $(mkinfodir) 593 $(mkinfodir)
388 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eudc.texi 594 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eudc.texi
389eudc.dvi: ${srcdir}/eudc.texi ${gfdl} 595eudc.dvi: $(eudc_deps)
390 $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi 596 $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
391eudc.pdf: ${srcdir}/eudc.texi ${gfdl} 597eudc.pdf: $(eudc_deps)
392 $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi 598 $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
599eudc.html: $(eudc_deps)
600 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi
393 601
394## No gfdl dependency. 602## No gfdl dependency.
603faq_deps = ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
395efaq : $(buildinfodir)/efaq$(INFO_EXT) 604efaq : $(buildinfodir)/efaq$(INFO_EXT)
396$(buildinfodir)/efaq$(INFO_EXT): ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 605$(buildinfodir)/efaq$(INFO_EXT): $(faq_deps)
397 $(mkinfodir) 606 $(mkinfodir)
398 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/faq.texi 607 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/faq.texi
399faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 608faq.dvi: $(faq_deps)
400 $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi 609 $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
401faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi 610faq.pdf: $(faq_deps)
402 $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi 611 $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi
612faq.html: $(faq_deps)
613 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/faq.texi
403 614
615flymake_deps = ${srcdir}/flymake.texi ${gfdl}
404flymake : $(buildinfodir)/flymake$(INFO_EXT) 616flymake : $(buildinfodir)/flymake$(INFO_EXT)
405$(buildinfodir)/flymake$(INFO_EXT): ${srcdir}/flymake.texi ${gfdl} 617$(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps)
406 $(mkinfodir) 618 $(mkinfodir)
407 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/flymake.texi 619 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/flymake.texi
408flymake.dvi: ${srcdir}/flymake.texi ${gfdl} 620flymake.dvi: $(flymake_deps)
409 $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi 621 $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
410flymake.pdf: ${srcdir}/flymake.texi ${gfdl} 622flymake.pdf: $(flymake_deps)
411 $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi 623 $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
624flymake.html: $(flymake_deps)
625 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/flymake.texi
412 626
627forms_deps = ${srcdir}/forms.texi ${gfdl}
413forms : $(buildinfodir)/forms$(INFO_EXT) 628forms : $(buildinfodir)/forms$(INFO_EXT)
414$(buildinfodir)/forms$(INFO_EXT): ${srcdir}/forms.texi ${gfdl} 629$(buildinfodir)/forms$(INFO_EXT): $(forms_deps)
415 $(mkinfodir) 630 $(mkinfodir)
416 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/forms.texi 631 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/forms.texi
417forms.dvi: ${srcdir}/forms.texi ${gfdl} 632forms.dvi: $(forms_deps)
418 $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi 633 $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
419forms.pdf: ${srcdir}/forms.texi ${gfdl} 634forms.pdf: $(forms_deps)
420 $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi 635 $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi
636forms.html: $(forms_deps)
637 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/forms.texi
421 638
422# gnus/message/emacs-mime/sieve/pgg are part of Gnus: 639## gnus/message/emacs-mime/sieve/pgg are part of Gnus.
640gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl}
423gnus : $(buildinfodir)/gnus$(INFO_EXT) 641gnus : $(buildinfodir)/gnus$(INFO_EXT)
424$(buildinfodir)/gnus$(INFO_EXT): ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} 642$(buildinfodir)/gnus$(INFO_EXT): $(gnus_deps)
425 $(mkinfodir) 643 $(mkinfodir)
426 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/gnus.texi 644 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/gnus.texi
427gnus.dvi: ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} 645gnus.dvi: $(gnus_deps)
428 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi 646 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
429 $(ENVADD) $(TEXI2DVI) gnustmp.texi 647 $(ENVADD) $(TEXI2DVI) gnustmp.texi
430 cp gnustmp.dvi $@ 648 cp gnustmp.dvi $@
431 rm gnustmp.* 649 rm gnustmp.*
432gnus.pdf: ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} 650gnus.pdf: $(gnus_deps)
433 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi 651 sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
434 $(ENVADD) $(TEXI2PDF) gnustmp.texi 652 $(ENVADD) $(TEXI2PDF) gnustmp.texi
435 cp gnustmp.pdf $@ 653 cp gnustmp.pdf $@
436 rm gnustmp.* 654 rm gnustmp.*
655gnus.html: $(gnus_deps)
656 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/gnus.texi
437 657
658htmlfontify_deps = ${srcdir}/htmlfontify.texi ${gfdl}
438htmlfontify : $(buildinfodir)/htmlfontify$(INFO_EXT) 659htmlfontify : $(buildinfodir)/htmlfontify$(INFO_EXT)
439$(buildinfodir)/htmlfontify$(INFO_EXT): ${srcdir}/htmlfontify.texi ${gfdl} 660$(buildinfodir)/htmlfontify$(INFO_EXT): $(htmlfontify_deps)
440 $(mkinfodir) 661 $(mkinfodir)
441 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/htmlfontify.texi 662 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/htmlfontify.texi
442htmlfontify.dvi: ${srcdir}/htmlfontify.texi ${gfdl} 663htmlfontify.dvi: $(htmlfontify_deps)
443 $(ENVADD) $(TEXI2DVI) ${srcdir}/htmlfontify.texi 664 $(ENVADD) $(TEXI2DVI) ${srcdir}/htmlfontify.texi
444htmlfontify.pdf: ${srcdir}/htmlfontify.texi ${gfdl} 665htmlfontify.pdf: $(htmlfontify_deps)
445 $(ENVADD) $(TEXI2PDF) ${srcdir}/htmlfontify.texi 666 $(ENVADD) $(TEXI2PDF) ${srcdir}/htmlfontify.texi
667htmlfontify.html: $(htmlfontify_deps)
668 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/htmlfontify.texi
446 669
447# NB this one needs --no-split even without a .info extension. 670idlwave_deps = ${srcdir}/idlwave.texi ${gfdl}
448idlwave : $(buildinfodir)/idlwave$(INFO_EXT) 671idlwave : $(buildinfodir)/idlwave$(INFO_EXT)
449$(buildinfodir)/idlwave$(INFO_EXT): ${srcdir}/idlwave.texi ${gfdl} 672# NB this one needs --no-split even without a .info extension.
673$(buildinfodir)/idlwave$(INFO_EXT): $(idlwave_deps)
450 $(mkinfodir) 674 $(mkinfodir)
451 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/idlwave.texi 675 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/idlwave.texi
452idlwave.dvi: ${srcdir}/idlwave.texi ${gfdl} 676idlwave.dvi: $(idlwave_deps)
453 $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi 677 $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
454idlwave.pdf: ${srcdir}/idlwave.texi ${gfdl} 678idlwave.pdf: $(idlwave_deps)
455 $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi 679 $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
680idlwave.html: $(idlwave_deps)
681 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/idlwave.texi
456 682
683ido_deps = ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl}
457ido : $(buildinfodir)/ido$(INFO_EXT) 684ido : $(buildinfodir)/ido$(INFO_EXT)
458$(buildinfodir)/ido$(INFO_EXT): ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl} 685$(buildinfodir)/ido$(INFO_EXT): $(ido_deps)
459 $(mkinfodir) 686 $(mkinfodir)
460 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ido.texi 687 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ido.texi
461ido.dvi: ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl} 688ido.dvi: $(ido_deps)
462 $(ENVADD) $(TEXI2DVI) ${srcdir}/ido.texi 689 $(ENVADD) $(TEXI2DVI) ${srcdir}/ido.texi
463ido.pdf: ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl} 690ido.pdf: $(ido_deps)
464 $(ENVADD) $(TEXI2PDF) ${srcdir}/ido.texi 691 $(ENVADD) $(TEXI2PDF) ${srcdir}/ido.texi
692ido.html: $(ido_deps)
693 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ido.texi
465 694
466# NB this one needs --no-split even without a .info extension. 695info_deps = ${srcdir}/info.texi ${gfdl}
467# Avoid name clash with overall "info" target. 696# Avoid name clash with overall "info" target.
468info.info : $(buildinfodir)/info$(INFO_EXT) 697info.info : $(buildinfodir)/info$(INFO_EXT)
469$(buildinfodir)/info$(INFO_EXT): ${srcdir}/info.texi ${gfdl} 698# NB this one needs --no-split even without a .info extension.
699$(buildinfodir)/info$(INFO_EXT): $(info_deps)
470 $(mkinfodir) 700 $(mkinfodir)
471 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/info.texi 701 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/info.texi
472info.dvi: ${srcdir}/info.texi ${gfdl} 702info.dvi: $(info_deps)
473 $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi 703 $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
474info.pdf: ${srcdir}/info.texi ${gfdl} 704info.pdf: $(info_deps)
475 $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi 705 $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
706info.html: $(info_deps)
707 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/info.texi
476 708
709mairix_el_deps = ${srcdir}/mairix-el.texi ${gfdl}
477mairix-el : $(buildinfodir)/mairix-el$(INFO_EXT) 710mairix-el : $(buildinfodir)/mairix-el$(INFO_EXT)
478$(buildinfodir)/mairix-el$(INFO_EXT): ${srcdir}/mairix-el.texi ${gfdl} 711$(buildinfodir)/mairix-el$(INFO_EXT): $(mairix_el_deps)
479 $(mkinfodir) 712 $(mkinfodir)
480 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mairix-el.texi 713 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mairix-el.texi
481mairix-el.dvi: ${srcdir}/mairix-el.texi ${gfdl} 714mairix-el.dvi: $(mairix_el_deps)
482 $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi 715 $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
483mairix-el.pdf: ${srcdir}/mairix-el.texi ${gfdl} 716mairix-el.pdf: $(mairix_el_deps)
484 $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi 717 $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
718mairix-el.html: $(mairix_el_deps)
719 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/mairix-el.texi
485 720
721message_deps = ${srcdir}/message.texi ${gfdl}
486message : $(buildinfodir)/message$(INFO_EXT) 722message : $(buildinfodir)/message$(INFO_EXT)
487$(buildinfodir)/message$(INFO_EXT): ${srcdir}/message.texi ${gfdl} 723$(buildinfodir)/message$(INFO_EXT): $(message_deps)
488 $(mkinfodir) 724 $(mkinfodir)
489 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/message.texi 725 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/message.texi
490message.dvi: ${srcdir}/message.texi ${gfdl} 726message.dvi: $(message_deps)
491 $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi 727 $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
492message.pdf: ${srcdir}/message.texi ${gfdl} 728message.pdf: $(message_deps)
493 $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi 729 $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
730message.html: $(message_deps)
731 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/message.texi
494 732
733mh_e_deps = ${srcdir}/mh-e.texi ${gfdl}
495mh-e : $(buildinfodir)/mh-e$(INFO_EXT) 734mh-e : $(buildinfodir)/mh-e$(INFO_EXT)
496$(buildinfodir)/mh-e$(INFO_EXT): ${srcdir}/mh-e.texi ${gfdl} 735$(buildinfodir)/mh-e$(INFO_EXT): $(mh_e_deps)
497 $(mkinfodir) 736 $(mkinfodir)
498 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mh-e.texi 737 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mh-e.texi
499mh-e.dvi: ${srcdir}/mh-e.texi ${gfdl} 738mh-e.dvi: $(mh_e_deps)
500 $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi 739 $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
501mh-e.pdf: ${srcdir}/mh-e.texi ${gfdl} 740mh-e.pdf: $(mh_e_deps)
502 $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi 741 $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
742mh-e.html: $(mh_e_deps)
743 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/mh-e.texi
503 744
745newsticker_deps = ${srcdir}/newsticker.texi ${gfdl}
504newsticker : $(buildinfodir)/newsticker$(INFO_EXT) 746newsticker : $(buildinfodir)/newsticker$(INFO_EXT)
505$(buildinfodir)/newsticker$(INFO_EXT): ${srcdir}/newsticker.texi ${gfdl} 747$(buildinfodir)/newsticker$(INFO_EXT): $(newsticker_deps)
506 $(mkinfodir) 748 $(mkinfodir)
507 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/newsticker.texi 749 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/newsticker.texi
508newsticker.dvi: ${srcdir}/newsticker.texi ${gfdl} 750newsticker.dvi: $(newsticker_deps)
509 $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi 751 $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
510newsticker.pdf: ${srcdir}/newsticker.texi ${gfdl} 752newsticker.pdf: $(newsticker_deps)
511 $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi 753 $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
754newsticker.html: $(newsticker_deps)
755 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/newsticker.texi
512 756
757nxml_mode_deps = ${srcdir}/nxml-mode.texi ${gfdl}
513nxml-mode : $(buildinfodir)/nxml-mode$(INFO_EXT) 758nxml-mode : $(buildinfodir)/nxml-mode$(INFO_EXT)
514$(buildinfodir)/nxml-mode$(INFO_EXT): ${srcdir}/nxml-mode.texi ${gfdl} 759$(buildinfodir)/nxml-mode$(INFO_EXT): $(nxml_mode_deps)
515 $(mkinfodir) 760 $(mkinfodir)
516 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/nxml-mode.texi 761 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/nxml-mode.texi
517nxml-mode.dvi: ${srcdir}/nxml-mode.texi ${gfdl} 762nxml-mode.dvi: $(nxml_mode_deps)
518 $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi 763 $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
519nxml-mode.pdf: ${srcdir}/nxml-mode.texi ${gfdl} 764nxml-mode.pdf: $(nxml_mode_deps)
520 $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi 765 $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
766nxml-mode.html: $(nxml_mode_deps)
767 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi
521 768
769org_deps = ${srcdir}/org.texi ${gfdl}
522org : $(buildinfodir)/org$(INFO_EXT) 770org : $(buildinfodir)/org$(INFO_EXT)
523$(buildinfodir)/org$(INFO_EXT): ${srcdir}/org.texi ${gfdl} 771$(buildinfodir)/org$(INFO_EXT): $(org_deps)
524 $(mkinfodir) 772 $(mkinfodir)
525 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/org.texi 773 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/org.texi
526org.dvi: ${srcdir}/org.texi ${gfdl} 774org.dvi: $(org_deps)
527 $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi 775 $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
528org.pdf: ${srcdir}/org.texi ${gfdl} 776org.pdf: $(org_deps)
529 $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi 777 $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
778org.html: $(org_deps)
779 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/org.texi
530 780
781pcl_cvs_deps = ${srcdir}/pcl-cvs.texi ${gfdl}
531pcl-cvs : $(buildinfodir)/pcl-cvs$(INFO_EXT) 782pcl-cvs : $(buildinfodir)/pcl-cvs$(INFO_EXT)
532$(buildinfodir)/pcl-cvs$(INFO_EXT): ${srcdir}/pcl-cvs.texi ${gfdl} 783$(buildinfodir)/pcl-cvs$(INFO_EXT): $(pcl_cvs_deps)
533 $(mkinfodir) 784 $(mkinfodir)
534 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pcl-cvs.texi 785 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pcl-cvs.texi
535pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi ${gfdl} 786pcl-cvs.dvi: $(pcl_cvs_deps)
536 $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi 787 $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
537pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi ${gfdl} 788pcl-cvs.pdf: $(pcl_cvs_deps)
538 $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi 789 $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
790pcl-cvs.html: $(pcl_cvs_deps)
791 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/pcl-cvs.texi
539 792
793pgg_deps = ${srcdir}/pgg.texi ${gfdl}
540pgg : $(buildinfodir)/pgg$(INFO_EXT) 794pgg : $(buildinfodir)/pgg$(INFO_EXT)
541$(buildinfodir)/pgg$(INFO_EXT): ${srcdir}/pgg.texi ${gfdl} 795$(buildinfodir)/pgg$(INFO_EXT): $(pgg_deps)
542 $(mkinfodir) 796 $(mkinfodir)
543 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pgg.texi 797 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pgg.texi
544pgg.dvi: ${srcdir}/pgg.texi ${gfdl} 798pgg.dvi: $(pgg_deps)
545 $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi 799 $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
546pgg.pdf: ${srcdir}/pgg.texi ${gfdl} 800pgg.pdf: $(pgg_deps)
547 $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi 801 $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
802pgg.html: $(pgg_deps)
803 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/pgg.texi
548 804
805rcirc_deps = ${srcdir}/rcirc.texi ${gfdl}
549rcirc : $(buildinfodir)/rcirc$(INFO_EXT) 806rcirc : $(buildinfodir)/rcirc$(INFO_EXT)
550$(buildinfodir)/rcirc$(INFO_EXT): ${srcdir}/rcirc.texi ${gfdl} 807$(buildinfodir)/rcirc$(INFO_EXT): $(rcirc_deps)
551 $(mkinfodir) 808 $(mkinfodir)
552 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/rcirc.texi 809 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/rcirc.texi
553rcirc.dvi: ${srcdir}/rcirc.texi ${gfdl} 810rcirc.dvi: $(rcirc_deps)
554 $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi 811 $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
555rcirc.pdf: ${srcdir}/rcirc.texi ${gfdl} 812rcirc.pdf: $(rcirc_deps)
556 $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi 813 $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
814rcirc.html: $(rcirc_deps)
815 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/rcirc.texi
557 816
817reftex_deps = ${srcdir}/reftex.texi $(emacsdir)/emacsver.texi ${gfdl}
558reftex : $(buildinfodir)/reftex$(INFO_EXT) 818reftex : $(buildinfodir)/reftex$(INFO_EXT)
559$(buildinfodir)/reftex$(INFO_EXT): ${srcdir}/reftex.texi $(emacsdir)/emacsver.texi ${gfdl} 819$(buildinfodir)/reftex$(INFO_EXT): $(reftex_deps)
560 $(mkinfodir) 820 $(mkinfodir)
561 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/reftex.texi 821 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/reftex.texi
562reftex.dvi: ${srcdir}/reftex.texi $(emacsdir)/emacsver.texi ${gfdl} 822reftex.dvi: $(reftex_deps)
563 $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi 823 $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
564reftex.pdf: ${srcdir}/reftex.texi $(emacsdir)/emacsver.texi ${gfdl} 824reftex.pdf: $(reftex_deps)
565 $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi 825 $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
826reftex.html: $(reftex_deps)
827 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/reftex.texi
566 828
829remember_deps = ${srcdir}/remember.texi ${gfdl}
567remember : $(buildinfodir)/remember$(INFO_EXT) 830remember : $(buildinfodir)/remember$(INFO_EXT)
568$(buildinfodir)/remember$(INFO_EXT): ${srcdir}/remember.texi ${gfdl} 831$(buildinfodir)/remember$(INFO_EXT): $(remember_deps)
569 $(mkinfodir) 832 $(mkinfodir)
570 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/remember.texi 833 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/remember.texi
571remember.dvi: ${srcdir}/remember.texi ${gfdl} 834remember.dvi: $(remember_deps)
572 $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi 835 $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
573remember.pdf: ${srcdir}/remember.texi ${gfdl} 836remember.pdf: $(remember_deps)
574 $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi 837 $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
838remember.html: $(remember_deps)
839 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/remember.texi
575 840
841sasl_deps = ${srcdir}/sasl.texi ${gfdl}
576sasl : $(buildinfodir)/sasl$(INFO_EXT) 842sasl : $(buildinfodir)/sasl$(INFO_EXT)
577$(buildinfodir)/sasl$(INFO_EXT): ${srcdir}/sasl.texi ${gfdl} 843$(buildinfodir)/sasl$(INFO_EXT): $(sasl_deps)
578 $(mkinfodir) 844 $(mkinfodir)
579 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sasl.texi 845 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sasl.texi
580sasl.dvi: ${srcdir}/sasl.texi ${gfdl} 846sasl.dvi: $(sasl_deps)
581 $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi 847 $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
582sasl.pdf: ${srcdir}/sasl.texi ${gfdl} 848sasl.pdf: $(sasl_deps)
583 $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi 849 $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
850sasl.html: $(sasl_deps)
851 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sasl.texi
584 852
853sc_deps = ${srcdir}/sc.texi ${gfdl}
585sc : $(buildinfodir)/sc$(INFO_EXT) 854sc : $(buildinfodir)/sc$(INFO_EXT)
586$(buildinfodir)/sc$(INFO_EXT): ${srcdir}/sc.texi ${gfdl} 855$(buildinfodir)/sc$(INFO_EXT): $(sc_deps)
587 $(mkinfodir) 856 $(mkinfodir)
588 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sc.texi 857 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sc.texi
589sc.dvi: ${srcdir}/sc.texi ${gfdl} 858sc.dvi: $(sc_deps)
590 $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi 859 $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
591sc.pdf: ${srcdir}/sc.texi ${gfdl} 860sc.pdf: $(sc_deps)
592 $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi 861 $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
862sc.html: $(sc_deps)
863 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sc.texi
593 864
865semantic_deps = ${srcdir}/semantic.texi ${srcdir}/sem-user.texi ${gfdl}
594semantic : $(buildinfodir)/semantic$(INFO_EXT) 866semantic : $(buildinfodir)/semantic$(INFO_EXT)
595$(buildinfodir)/semantic$(INFO_EXT): ${srcdir}/semantic.texi ${srcdir}/sem-user.texi ${gfdl} 867$(buildinfodir)/semantic$(INFO_EXT): $(semantic_deps)
596 $(mkinfodir) 868 $(mkinfodir)
597 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/semantic.texi 869 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/semantic.texi
598semantic.dvi: ${srcdir}/semantic.texi ${srcdir}/sem-user.texi ${gfdl} 870semantic.dvi: $(semantic_deps)
599 $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi 871 $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
600semantic.pdf: ${srcdir}/semantic.texi ${srcdir}/sem-user.texi ${gfdl} 872semantic.pdf: $(semantic_deps)
601 $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi 873 $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
874semantic.html: $(semantic_deps)
875 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/semantic.texi
602 876
877ses_deps = ${srcdir}/ses.texi ${gfdl}
603ses : $(buildinfodir)/ses$(INFO_EXT) 878ses : $(buildinfodir)/ses$(INFO_EXT)
604$(buildinfodir)/ses$(INFO_EXT): ${srcdir}/ses.texi ${gfdl} 879$(buildinfodir)/ses$(INFO_EXT): $(ses_deps)
605 $(mkinfodir) 880 $(mkinfodir)
606 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ses.texi 881 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ses.texi
607ses.dvi: ${srcdir}/ses.texi ${gfdl} 882ses.dvi: $(ses_deps)
608 $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi 883 $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
609ses.pdf: ${srcdir}/ses.texi ${gfdl} 884ses.pdf: $(ses_deps)
610 $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi 885 $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
886ses.html: $(ses_deps)
887 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ses.texi
611 888
889sieve_deps = ${srcdir}/sieve.texi ${gfdl}
612sieve : $(buildinfodir)/sieve$(INFO_EXT) 890sieve : $(buildinfodir)/sieve$(INFO_EXT)
613$(buildinfodir)/sieve$(INFO_EXT): ${srcdir}/sieve.texi ${gfdl} 891$(buildinfodir)/sieve$(INFO_EXT): $(sieve_deps)
614 $(mkinfodir) 892 $(mkinfodir)
615 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sieve.texi 893 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sieve.texi
616sieve.dvi: ${srcdir}/sieve.texi ${gfdl} 894sieve.dvi: $(sieve_deps)
617 $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi 895 $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
618sieve.pdf: ${srcdir}/sieve.texi ${gfdl} 896sieve.pdf: $(sieve_deps)
619 $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi 897 $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
898sieve.html: $(sieve_deps)
899 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sieve.texi
620 900
901smtpmail_deps = ${srcdir}/smtpmail.texi ${gfdl}
621smtpmail : $(buildinfodir)/smtpmail$(INFO_EXT) 902smtpmail : $(buildinfodir)/smtpmail$(INFO_EXT)
622$(buildinfodir)/smtpmail$(INFO_EXT): ${srcdir}/smtpmail.texi ${gfdl} 903$(buildinfodir)/smtpmail$(INFO_EXT): $(smtpmail_deps)
623 $(mkinfodir) 904 $(mkinfodir)
624 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/smtpmail.texi 905 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/smtpmail.texi
625smtpmail.dvi: ${srcdir}/smtpmail.texi ${gfdl} 906smtpmail.dvi: $(smtpmail_deps)
626 $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi 907 $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
627smtpmail.pdf: ${srcdir}/smtpmail.texi ${gfdl} 908smtpmail.pdf: $(smtpmail_deps)
628 $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi 909 $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
910smtpmail.html: $(smtpmail_deps)
911 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/smtpmail.texi
629 912
913speedbar_deps = ${srcdir}/speedbar.texi ${gfdl}
630speedbar : $(buildinfodir)/speedbar$(INFO_EXT) 914speedbar : $(buildinfodir)/speedbar$(INFO_EXT)
631$(buildinfodir)/speedbar$(INFO_EXT): ${srcdir}/speedbar.texi ${gfdl} 915$(buildinfodir)/speedbar$(INFO_EXT): $(speedbar_deps)
632 $(mkinfodir) 916 $(mkinfodir)
633 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/speedbar.texi 917 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/speedbar.texi
634speedbar.dvi: ${srcdir}/speedbar.texi ${gfdl} 918speedbar.dvi: $(speedbar_deps)
635 $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi 919 $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
636speedbar.pdf: ${srcdir}/speedbar.texi ${gfdl} 920speedbar.pdf: $(speedbar_deps)
637 $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi 921 $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
922speedbar.html: $(speedbar_deps)
923 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/speedbar.texi
638 924
925srecode_deps = ${srcdir}/srecode.texi ${gfdl}
639srecode : $(buildinfodir)/srecode$(INFO_EXT) 926srecode : $(buildinfodir)/srecode$(INFO_EXT)
640$(buildinfodir)/srecode$(INFO_EXT): ${srcdir}/srecode.texi ${gfdl} 927$(buildinfodir)/srecode$(INFO_EXT): $(srecode_deps)
641 $(mkinfodir) 928 $(mkinfodir)
642 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/srecode.texi 929 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/srecode.texi
643srecode.dvi: ${srcdir}/srecode.texi ${gfdl} 930srecode.dvi: $(srecode_deps)
644 $(ENVADD) $(TEXI2DVI) ${srcdir}/srecode.texi 931 $(ENVADD) $(TEXI2DVI) ${srcdir}/srecode.texi
645srecode.pdf: ${srcdir}/srecode.texi ${gfdl} 932srecode.pdf: $(srecode_deps)
646 $(ENVADD) $(TEXI2PDF) ${srcdir}/srecode.texi 933 $(ENVADD) $(TEXI2PDF) ${srcdir}/srecode.texi
934srecode.html: $(srecode_deps)
935 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/srecode.texi
647 936
937todo_mode_deps = ${srcdir}/todo-mode.texi ${gfdl}
938todo-mode : $(buildinfodir)/todo-mode$(INFO_EXT)
939$(buildinfodir)/todo-mode$(INFO_EXT): $(todo_mode_deps)
940 $(mkinfodir)
941 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/todo-mode.texi
942todo-mode.dvi: $(todo_mode_deps)
943 $(ENVADD) $(TEXI2DVI) ${srcdir}/todo-mode.texi
944todo-mode.pdf: $(todo_mode_deps)
945 $(ENVADD) $(TEXI2PDF) ${srcdir}/todo-mode.texi
946todo-mode.html: $(todo_mode_deps)
947 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/todo-mode.texi
948
949tramp_deps = ${srcdir}/tramp.texi ${srcdir}/trampver.texi ${gfdl}
648tramp : $(buildinfodir)/tramp$(INFO_EXT) 950tramp : $(buildinfodir)/tramp$(INFO_EXT)
649$(buildinfodir)/tramp$(INFO_EXT): ${srcdir}/tramp.texi ${srcdir}/trampver.texi ${gfdl} 951$(buildinfodir)/tramp$(INFO_EXT): $(tramp_deps)
650 $(mkinfodir) 952 $(mkinfodir)
651 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ -D emacs ${srcdir}/tramp.texi 953 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ -D emacs ${srcdir}/tramp.texi
652tramp.dvi: ${srcdir}/tramp.texi ${srcdir}/trampver.texi ${gfdl} 954tramp.dvi: $(tramp_deps)
653 $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi 955 $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
654tramp.pdf: ${srcdir}/tramp.texi ${srcdir}/trampver.texi ${gfdl} 956tramp.pdf: $(tramp_deps)
655 $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi 957 $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
958tramp.html: $(tramp_deps)
959 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ -D emacs ${srcdir}/tramp.texi
656 960
961url_deps = ${srcdir}/url.texi ${gfdl}
657url : $(buildinfodir)/url$(INFO_EXT) 962url : $(buildinfodir)/url$(INFO_EXT)
658$(buildinfodir)/url$(INFO_EXT): ${srcdir}/url.texi ${gfdl} 963$(buildinfodir)/url$(INFO_EXT): $(url_deps)
659 $(mkinfodir) 964 $(mkinfodir)
660 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/url.texi 965 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/url.texi
661url.dvi: ${srcdir}/url.texi ${gfdl} 966url.dvi: $(url_deps)
662 $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi 967 $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
663url.pdf: ${srcdir}/url.texi ${gfdl} 968url.pdf: $(url_deps)
664 $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi 969 $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
970url.html: $(url_deps)
971 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/url.texi
665 972
973vip_deps = ${srcdir}/vip.texi ${gfdl}
666vip : $(buildinfodir)/vip$(INFO_EXT) 974vip : $(buildinfodir)/vip$(INFO_EXT)
667$(buildinfodir)/vip$(INFO_EXT): ${srcdir}/vip.texi ${gfdl} 975$(buildinfodir)/vip$(INFO_EXT): $(vip_deps)
668 $(mkinfodir) 976 $(mkinfodir)
669 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/vip.texi 977 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/vip.texi
670vip.dvi: ${srcdir}/vip.texi ${gfdl} 978vip.dvi: $(vip_deps)
671 $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi 979 $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
672vip.pdf: ${srcdir}/vip.texi ${gfdl} 980vip.pdf: $(vip_deps)
673 $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi 981 $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
982vip.html: $(vip_deps)
983 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/vip.texi
674 984
985viper_deps = ${srcdir}/viper.texi ${gfdl}
675viper : $(buildinfodir)/viper$(INFO_EXT) 986viper : $(buildinfodir)/viper$(INFO_EXT)
676$(buildinfodir)/viper$(INFO_EXT): ${srcdir}/viper.texi ${gfdl} 987$(buildinfodir)/viper$(INFO_EXT): $(viper_deps)
677 $(mkinfodir) 988 $(mkinfodir)
678 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/viper.texi 989 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/viper.texi
679viper.dvi: ${srcdir}/viper.texi ${gfdl} 990viper.dvi: $(viper_deps)
680 $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi 991 $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
681viper.pdf: ${srcdir}/viper.texi ${gfdl} 992viper.pdf: $(viper_deps)
682 $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi 993 $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
994viper.html: $(viper_deps)
995 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/viper.texi
683 996
997widget_deps = ${srcdir}/wisent.texi ${gfdl}
684widget : $(buildinfodir)/widget$(INFO_EXT) 998widget : $(buildinfodir)/widget$(INFO_EXT)
685$(buildinfodir)/widget$(INFO_EXT): ${srcdir}/widget.texi ${gfdl} 999$(buildinfodir)/widget$(INFO_EXT): $(widget_deps)
686 $(mkinfodir) 1000 $(mkinfodir)
687 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/widget.texi 1001 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/widget.texi
688widget.dvi: ${srcdir}/widget.texi ${gfdl} 1002widget.dvi: $(widget_deps)
689 $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi 1003 $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
690widget.pdf: ${srcdir}/widget.texi ${gfdl} 1004widget.pdf: $(widget_deps)
691 $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi 1005 $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
1006widget.html: $(widget_deps)
1007 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/widget.texi
692 1008
1009wisent_deps = ${srcdir}/wisent.texi ${gfdl}
693wisent : $(buildinfodir)/wisent$(INFO_EXT) 1010wisent : $(buildinfodir)/wisent$(INFO_EXT)
694$(buildinfodir)/wisent$(INFO_EXT): ${srcdir}/wisent.texi ${gfdl} 1011$(buildinfodir)/wisent$(INFO_EXT): $(wisent_deps)
695 $(mkinfodir) 1012 $(mkinfodir)
696 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/wisent.texi 1013 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/wisent.texi
697wisent.dvi: ${srcdir}/wisent.texi ${gfdl} 1014wisent.dvi: $(wisent_deps)
698 $(ENVADD) $(TEXI2DVI) ${srcdir}/wisent.texi 1015 $(ENVADD) $(TEXI2DVI) ${srcdir}/wisent.texi
699wisent.pdf: ${srcdir}/wisent.texi ${gfdl} 1016wisent.pdf: $(wisent_deps)
700 $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi 1017 $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi
1018wisent.html: $(wisent_deps)
1019 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/wisent.texi
701 1020
1021woman_deps = ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl}
702woman : $(buildinfodir)/woman$(INFO_EXT) 1022woman : $(buildinfodir)/woman$(INFO_EXT)
703$(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} 1023$(buildinfodir)/woman$(INFO_EXT): $(woman_deps)
704 $(mkinfodir) 1024 $(mkinfodir)
705 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/woman.texi 1025 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/woman.texi
706woman.dvi: ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} 1026woman.dvi: $(woman_deps)
707 $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi 1027 $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
708woman.pdf: ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} 1028woman.pdf: $(woman_deps)
709 $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi 1029 $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi
710 1030woman.html: $(woman_deps)
1031 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/woman.texi
711 1032
712.PHONY: mostlyclean clean distclean maintainer-clean 1033.PHONY: mostlyclean clean distclean maintainer-clean
713 1034
@@ -718,7 +1039,7 @@ mostlyclean:
718 rm -f gnustmp.* 1039 rm -f gnustmp.*
719 1040
720clean: mostlyclean 1041clean: mostlyclean
721 rm -f $(DVI_TARGETS) $(PDF_TARGETS) 1042 rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
722 rm -f emacs-misc-${version}.tar* 1043 rm -f emacs-misc-${version}.tar*
723 1044
724distclean: clean 1045distclean: clean
@@ -753,4 +1074,53 @@ dist:
753 tar -cf emacs-misc-${version}.tar emacs-misc-${version} 1074 tar -cf emacs-misc-${version}.tar emacs-misc-${version}
754 rm -rf emacs-misc-${version} 1075 rm -rf emacs-misc-${version}
755 1076
1077
1078.PHONY: install-dvi install-html install-pdf install-ps install-doc
1079
1080install-dvi: dvi
1081 umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
1082 $(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
1083install-html: html
1084 umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
1085 $(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
1086install-pdf: pdf
1087 umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
1088 $(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
1089install-ps: ps
1090 umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
1091 for file in $(PS_TARGETS); do \
1092 $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
1093 [ -n "${GZIP_PROG}" ] || continue; \
1094 rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
1095 ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
1096 done
1097
1098## Top-level Makefile installs the info pages.
1099install-doc: install-dvi install-html install-pdf install-ps
1100
1101
1102
1103.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
1104
1105uninstall-dvi:
1106 for file in $(DVI_TARGETS); do \
1107 rm -f $(DESTDIR)$(dvidir)/$${file}; \
1108 done
1109uninstall-html:
1110 for file in $(HTML_TARGETS); do \
1111 rm -f $(DESTDIR)$(htmldir)/$${file}; \
1112 done
1113uninstall-ps:
1114 ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
1115 for file in $(PS_TARGETS); do \
1116 rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
1117 done
1118uninstall-pdf:
1119 for file in $(PDF_TARGETS); do \
1120 rm -f $(DESTDIR)$(pdfdir)/$${file}; \
1121 done
1122
1123uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
1124
1125
756### Makefile ends here 1126### Makefile ends here
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 4cc5d9c5767..c62d7026541 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -241,7 +241,7 @@ functions, classes, etc.; there are other packages for that.
241* Customizing Indentation:: 241* Customizing Indentation::
242* Custom Macros:: 242* Custom Macros::
243* Odds and Ends:: 243* Odds and Ends::
244* Sample .emacs File:: 244* Sample Init File::
245* Performance Issues:: 245* Performance Issues::
246* Limitations and Known Bugs:: 246* Limitations and Known Bugs::
247* FAQ:: 247* FAQ::
@@ -1113,7 +1113,7 @@ valid.}.
1113This function is not bound to a key by default, but it's intended to be 1113This function is not bound to a key by default, but it's intended to be
1114used on the @kbd{RET} key. If you like the behavior of 1114used on the @kbd{RET} key. If you like the behavior of
1115@code{newline-and-indent} on @kbd{RET}, you should consider switching to 1115@code{newline-and-indent} on @kbd{RET}, you should consider switching to
1116this function. @xref{Sample .emacs File}. 1116this function. @xref{Sample Init File}.
1117 1117
1118@item @kbd{M-x c-context-open-line} 1118@item @kbd{M-x c-context-open-line}
1119@findex c-context-open-line 1119@findex c-context-open-line
@@ -1170,7 +1170,7 @@ and @ref{Indentation Engine Basics}.
1170 1170
1171You can toggle each of these minor modes on and off, and you can 1171You can toggle each of these minor modes on and off, and you can
1172configure @ccmode{} so that it starts up with your favorite 1172configure @ccmode{} so that it starts up with your favorite
1173combination of them (@pxref{Sample .emacs File}). By default, when 1173combination of them (@pxref{Sample Init File}). By default, when
1174you initialize a buffer, electric mode and syntactic-indentation mode 1174you initialize a buffer, electric mode and syntactic-indentation mode
1175are enabled but the other two modes are disabled. 1175are enabled but the other two modes are disabled.
1176 1176
@@ -2378,7 +2378,7 @@ those set by @code{c-default-style}.
2378@vindex initialization-hook (c-) 2378@vindex initialization-hook (c-)
2379Hook run only once per Emacs session, when @ccmode{} is initialized. 2379Hook run only once per Emacs session, when @ccmode{} is initialized.
2380This is a good place to change key bindings (or add new ones) in any 2380This is a good place to change key bindings (or add new ones) in any
2381of the @ccmode{} key maps. @xref{Sample .emacs File}. 2381of the @ccmode{} key maps. @xref{Sample Init File}.
2382@end defvar 2382@end defvar
2383 2383
2384@defvar c-mode-common-hook 2384@defvar c-mode-common-hook
@@ -2406,7 +2406,7 @@ overwritten when @ccmode{} gets loaded.
2406Here's a simplified example of what you can add to your @file{.emacs} 2406Here's a simplified example of what you can add to your @file{.emacs}
2407file to do things whenever any @ccmode{} language is edited. See the 2407file to do things whenever any @ccmode{} language is edited. See the
2408Emacs manuals for more information on customizing Emacs via hooks. 2408Emacs manuals for more information on customizing Emacs via hooks.
2409@xref{Sample .emacs File}, for a more complete sample @file{.emacs} 2409@xref{Sample Init File}, for a more complete sample @file{.emacs}
2410file. 2410file.
2411 2411
2412@example 2412@example
@@ -2685,7 +2685,7 @@ create a new @dfn{style definition}, possibly based on an existing
2685style. To do this, put the new style's settings into a list with the 2685style. To do this, put the new style's settings into a list with the
2686following format; the list can then be passed as an argument to the 2686following format; the list can then be passed as an argument to the
2687function @code{c-add-style}. You can see an example of a style 2687function @code{c-add-style}. You can see an example of a style
2688definition in @ref{Sample .emacs File}. 2688definition in @ref{Sample Init File}.
2689 2689
2690@cindex style definition 2690@cindex style definition
2691@c @defvr {List} style definition 2691@c @defvr {List} style definition
@@ -2753,7 +2753,7 @@ deprecated and it might be removed from @ccmode{} in a future release.
2753You should use @code{c-set-style} instead. 2753You should use @code{c-set-style} instead.
2754 2754
2755The sample @file{.emacs} file provides a concrete example of how a new 2755The sample @file{.emacs} file provides a concrete example of how a new
2756style can be added and automatically set. @xref{Sample .emacs File}. 2756style can be added and automatically set. @xref{Sample Init File}.
2757@end defun 2757@end defun
2758 2758
2759@defvar c-style-alist 2759@defvar c-style-alist
@@ -6760,7 +6760,7 @@ initialization code.
6760@end defun 6760@end defun
6761 6761
6762@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6762@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6763@node Odds and Ends, Sample .emacs File, Custom Macros, Top 6763@node Odds and Ends, Sample Init File, Custom Macros, Top
6764@comment node-name, next, previous, up 6764@comment node-name, next, previous, up
6765@chapter Odds and Ends 6765@chapter Odds and Ends
6766@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6766@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -6804,9 +6804,9 @@ anchoring position to indent the line in that case.
6804 6804
6805 6805
6806@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6806@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6807@node Sample .emacs File, Performance Issues, Odds and Ends, Top 6807@node Sample Init File, Performance Issues, Odds and Ends, Top
6808@comment node-name, next, previous, up 6808@comment node-name, next, previous, up
6809@appendix Sample .emacs File 6809@appendix Sample Init File
6810@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6810@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6811 6811
6812Here's a sample .emacs file fragment that might help you along the way. 6812Here's a sample .emacs file fragment that might help you along the way.
@@ -6863,7 +6863,7 @@ to change some of the actual values.
6863@end verbatim 6863@end verbatim
6864 6864
6865@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6865@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6866@node Performance Issues, Limitations and Known Bugs, Sample .emacs File, Top 6866@node Performance Issues, Limitations and Known Bugs, Sample Init File, Top
6867@comment node-name, next, previous, up 6867@comment node-name, next, previous, up
6868@chapter Performance Issues 6868@chapter Performance Issues
6869@cindex performance 6869@cindex performance
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 90f8a258d23..6dfc41d83f3 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -461,6 +461,7 @@ matter of stylistic taste:
461 @var{body})) 461 @var{body}))
462@end example 462@end example
463 463
464@cindex destructuring, in argument list
464Argument lists support @dfn{destructuring}. In Common Lisp, 465Argument lists support @dfn{destructuring}. In Common Lisp,
465destructuring is only allowed with @code{defmacro}; this package 466destructuring is only allowed with @code{defmacro}; this package
466allows it with @code{cl-defun} and other argument lists as well. 467allows it with @code{cl-defun} and other argument lists as well.
@@ -1492,6 +1493,7 @@ simply returning @code{nil}.
1492 1493
1493@node Blocks and Exits 1494@node Blocks and Exits
1494@section Blocks and Exits 1495@section Blocks and Exits
1496@cindex block
1495 1497
1496@noindent 1498@noindent
1497Common Lisp @dfn{blocks} provide a non-local exit mechanism very 1499Common Lisp @dfn{blocks} provide a non-local exit mechanism very
@@ -2139,6 +2141,7 @@ that was just set by the previous clause; in the second loop,
2139based on the value of @code{x} left over from the previous time 2141based on the value of @code{x} left over from the previous time
2140through the loop. 2142through the loop.
2141 2143
2144@cindex destructuring, in cl-loop
2142Another feature of the @code{cl-loop} macro is @emph{destructuring}, 2145Another feature of the @code{cl-loop} macro is @emph{destructuring},
2143similar in concept to the destructuring provided by @code{defmacro} 2146similar in concept to the destructuring provided by @code{defmacro}
2144(@pxref{Argument Lists}). 2147(@pxref{Argument Lists}).
@@ -2503,6 +2506,8 @@ if @var{expr} returns a list of the wrong number of arguments
2503or with incorrect keyword arguments. 2506or with incorrect keyword arguments.
2504@end defmac 2507@end defmac
2505 2508
2509@cindex compiler macros
2510@cindex define compiler macros
2506This package also includes the Common Lisp @code{define-compiler-macro} 2511This package also includes the Common Lisp @code{define-compiler-macro}
2507facility, which allows you to define compile-time expansions and 2512facility, which allows you to define compile-time expansions and
2508optimizations for your functions. 2513optimizations for your functions.
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi
index 339d59bd123..40aeae836ef 100644
--- a/doc/misc/edt.texi
+++ b/doc/misc/edt.texi
@@ -789,13 +789,13 @@ so the above directions may need some modification if your site has such
789special needs. 789special needs.
790 790
791@menu 791@menu
792* edt-user.el:: Creating your own @file{edt-user.el} file. 792* Init file:: Creating your own @file{edt-user.el} file.
793* Words:: Specifying word entities. 793* Words:: Specifying word entities.
794* Control keys:: Enabling EDT control key sequence bindings. 794* Control keys:: Enabling EDT control key sequence bindings.
795* Scroll margins:: Setting scroll margins. 795* Scroll margins:: Setting scroll margins.
796@end menu 796@end menu
797 797
798@node edt-user.el 798@node Init file
799@section Creating your own @file{edt-user.el} File 799@section Creating your own @file{edt-user.el} File
800 800
801A sample @file{edt-user.el} file is provided in the Emacs @file{etc/} 801A sample @file{edt-user.el} file is provided in the Emacs @file{etc/}
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index b16144e98a2..e199417aa9d 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -46,10 +46,10 @@ modify this GNU manual.''
46@comment node-name, next, previous, up 46@comment node-name, next, previous, up
47@top EIEIO 47@top EIEIO
48 48
49@eieio{} (``Enhanced Implementation of Emacs Interpreted Objects'') is 49@eieio{} (``Enhanced Implementation of Emacs Interpreted Objects'')
50a CLOS (Common Lisp Object System) compatibility layer for Emacs Lisp. 50provides an Object Oriented layer for Emacs Lisp, following the basic
51It provides a framework for writing object-oriented applications in 51concepts of the Common Lisp Object System (CLOS). It provides a
52Emacs. 52framework for writing object-oriented applications in Emacs.
53 53
54@ifnottex 54@ifnottex
55@insertcopying 55@insertcopying
@@ -201,8 +201,6 @@ Byte compilation support of methods.
201@item 201@item
202Help system extensions for classes and methods. 202Help system extensions for classes and methods.
203@item 203@item
204Automatic texinfo documentation generator.
205@item
206Several base classes for interesting tasks. 204Several base classes for interesting tasks.
207@item 205@item
208Simple test suite. 206Simple test suite.
@@ -212,20 +210,31 @@ Public and private classifications for slots (extensions to CLOS)
212Customization support in a class (extension to CLOS) 210Customization support in a class (extension to CLOS)
213@end enumerate 211@end enumerate
214 212
215Here are some CLOS features that @eieio{} presently lacks: 213Here are some important CLOS features that @eieio{} presently lacks:
216 214
217@table @asis 215@table @asis
218@item Complete @code{defclass} tag support
219All CLOS tags are currently supported, but the following are not
220currently implemented correctly:
221 216
222@table @code 217@item Method dispatch
223@item :metaclass 218EIEO does not support method dispatch for built-in types and multiple
224There is only one base superclass for all @eieio{} classes, which is 219arguments types. In other words, method dispatch only looks at the
225the @code{eieio-default-superclass}. 220first argument, and this one must be an @eieio{} type.
226@item :default-initargs 221
222@item Support for metaclasses
223There is just one default metaclass, @code{eieio-default-superclass},
224and you cannot define your own. The @code{:metaclass} tag in
225@code{defclass} is ignored. Also, functions like `class-of' and
226`find-class', which should return instances of the metaclass, behave
227differently in @eieio{} in that they return symbols or plain structures
228instead.
229
230@item EQL specialization
231EIEIO does not support it.
232
233@item @code{:around} method tag
234This CLOS method tag is non-functional.
235
236@item :default-initargs in @code{defclass}
227Each slot has an @code{:initarg} tag, so this is not really necessary. 237Each slot has an @code{:initarg} tag, so this is not really necessary.
228@end table
229 238
230@item Mock object initializers 239@item Mock object initializers
231Each class contains a mock object used for fast initialization of 240Each class contains a mock object used for fast initialization of
@@ -233,15 +242,23 @@ instantiated objects. Using functions with side effects on object slot
233values can potentially cause modifications in the mock object. @eieio{} 242values can potentially cause modifications in the mock object. @eieio{}
234should use a deep copy but currently does not. 243should use a deep copy but currently does not.
235 244
236@item @code{:around} method tag
237This CLOS method tag is non-functional.
238
239@end table 245@end table
240 246
241@node Building Classes 247@node Building Classes
242@comment node-name, next, previous, up 248@comment node-name, next, previous, up
243@chapter Building Classes 249@chapter Building Classes
244 250
251First off, please note that this manual cannot serve as a complete
252introduction to object oriented programming and generic functions in
253LISP. Although EIEIO is not a complete CLOS implementation and also
254differs from CLOS in several aspects, it follows the same basic
255concepts. Therefore, it is highly recommended to learn these from a
256textbook or tutorial first, especially if you only know OOP from
257languages like C++ or Java. If on the other hand you are already
258familiar with CLOS, you should be aware that @eieio{} does not implement
259the full CLOS specification and also differs in some other aspects
260(@xref{Introduction}, and @ref{CLOS compatibility}).
261
245A @dfn{class} is a definition for organizing data and methods 262A @dfn{class} is a definition for organizing data and methods
246together. An @eieio{} class has structures similar to the classes 263together. An @eieio{} class has structures similar to the classes
247found in other object-oriented (OO) languages. 264found in other object-oriented (OO) languages.
@@ -1930,8 +1947,9 @@ Some important compatibility features that would be good to add are:
1930 1947
1931@enumerate 1948@enumerate
1932@item 1949@item
1950Support for metaclasses and EQL specialization.
1951@item
1933@code{:around} method key. 1952@code{:around} method key.
1934
1935@item 1953@item
1936Method dispatch for built-in types. 1954Method dispatch for built-in types.
1937@item 1955@item
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi
index cbb78af9d59..2c0e929e532 100644
--- a/doc/misc/emacs-mime.texi
+++ b/doc/misc/emacs-mime.texi
@@ -871,15 +871,15 @@ by using the @code{encoding} @acronym{MML} tag (@pxref{MML Definition}).
871@vindex mm-coding-system-priorities 871@vindex mm-coding-system-priorities
872Prioritize coding systems to use for outgoing messages. The default 872Prioritize coding systems to use for outgoing messages. The default
873is @code{nil}, which means to use the defaults in Emacs, but is 873is @code{nil}, which means to use the defaults in Emacs, but is
874@code{(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)} when 874@code{(iso-8859-1 iso-2022-jp utf-8)} when running Emacs in the Japanese
875running Emacs in the Japanese language environment. It is a list of 875language environment. It is a list of coding system symbols (aliases of
876coding system symbols (aliases of coding systems are also allowed, use 876coding systems are also allowed, use @kbd{M-x describe-coding-system} to
877@kbd{M-x describe-coding-system} to make sure you are specifying correct 877make sure you are specifying correct coding system names). For example,
878coding system names). For example, if you have configured Emacs 878if you have configured Emacs to prefer UTF-8, but wish that outgoing
879to prefer UTF-8, but wish that outgoing messages should be sent in 879messages should be sent in ISO-8859-1 if possible, you can set this
880ISO-8859-1 if possible, you can set this variable to 880variable to @code{(iso-8859-1)}. You can override this setting on a
881@code{(iso-8859-1)}. You can override this setting on a per-message 881per-message basis by using the @code{charset} @acronym{MML} tag
882basis by using the @code{charset} @acronym{MML} tag (@pxref{MML Definition}). 882(@pxref{MML Definition}).
883 883
884As different hierarchies prefer different charsets, you may want to set 884As different hierarchies prefer different charsets, you may want to set
885@code{mm-coding-system-priorities} according to the hierarchy in Gnus. 885@code{mm-coding-system-priorities} according to the hierarchy in Gnus.
@@ -904,7 +904,7 @@ Here's an example:
904 (mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8))) 904 (mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8)))
905 ("^fj\\." ;; Japanese 905 ("^fj\\." ;; Japanese
906 (mm-coding-system-priorities 906 (mm-coding-system-priorities
907 '(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8))) 907 '(iso-8859-1 iso-2022-jp utf-8)))
908 ("^ru\\." ;; Cyrillic 908 ("^ru\\." ;; Cyrillic
909 (mm-coding-system-priorities 909 (mm-coding-system-priorities
910 '(koi8-r iso-8859-5 iso-8859-1 utf-8)))) 910 '(koi8-r iso-8859-5 iso-8859-1 utf-8))))
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi
index adc63cc0bdb..bdba071be55 100644
--- a/doc/misc/epa.texi
+++ b/doc/misc/epa.texi
@@ -106,7 +106,7 @@ This chapter introduces various commands for typical use cases.
106* Cryptographic operations on files:: 106* Cryptographic operations on files::
107* Dired integration:: 107* Dired integration::
108* Mail-mode integration:: 108* Mail-mode integration::
109* Encrypting/decrypting *.gpg files:: 109* Encrypting/decrypting gpg files::
110@end menu 110@end menu
111 111
112@node Key management 112@node Key management
@@ -346,8 +346,8 @@ key in the recipient list, use @samp{encrypt-to} option in
346 346
347@end table 347@end table
348 348
349@node Encrypting/decrypting *.gpg files 349@node Encrypting/decrypting gpg files
350@section Encrypting/decrypting *.gpg files 350@section Encrypting/decrypting gpg files
351By default, every file whose name ends with @samp{.gpg} will be 351By default, every file whose name ends with @samp{.gpg} will be
352treated as encrypted. That is, when you open such a file, the 352treated as encrypted. That is, when you open such a file, the
353decrypted text is inserted in the buffer rather than encrypted one. 353decrypted text is inserted in the buffer rather than encrypted one.
@@ -464,7 +464,7 @@ To set up gpg-agent, follow the instruction in GnuPG manual.
464 464
465To set up elisp passphrase cache, set 465To set up elisp passphrase cache, set
466@code{epa-file-cache-passphrase-for-symmetric-encryption}. 466@code{epa-file-cache-passphrase-for-symmetric-encryption}.
467@xref{Encrypting/decrypting *.gpg files}. 467@xref{Encrypting/decrypting gpg files}.
468 468
469@node Bug Reports 469@node Bug Reports
470@chapter Bug Reports 470@chapter Bug Reports
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index be0425a679b..f7f373664c6 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -7394,6 +7394,14 @@ say something like:
7394 gnus-thread-sort-by-score)) 7394 gnus-thread-sort-by-score))
7395@end lisp 7395@end lisp
7396 7396
7397By default, threads including their subthreads are sorted according to
7398the value of @code{gnus-thread-sort-functions}. By customizing
7399@code{gnus-subthread-sort-functions} you can define a custom sorting
7400order for subthreads. This allows for example to sort threads from
7401high score to low score in the summary buffer, but to have subthreads
7402still sorted chronologically from old to new without taking their
7403score into account.
7404
7397@vindex gnus-thread-score-function 7405@vindex gnus-thread-score-function
7398The function in the @code{gnus-thread-score-function} variable (default 7406The function in the @code{gnus-thread-score-function} variable (default
7399@code{+}) is used for calculating the total score of a thread. Useful 7407@code{+}) is used for calculating the total score of a thread. Useful
@@ -14788,14 +14796,16 @@ and says what authentication scheme to use. The default is
14788 14796
14789@item :leave 14797@item :leave
14790Non-@code{nil} if the mail is to be left on the @acronym{POP} server 14798Non-@code{nil} if the mail is to be left on the @acronym{POP} server
14791after fetching. Mails once fetched will never be fetched again by the 14799after fetching. Only the built-in @code{pop3-movemail} program (the
14792@acronym{UIDL} control. Only the built-in @code{pop3-movemail} program 14800default) supports this keyword.
14793(the default) supports this keyword.
14794 14801
14795If this is neither @code{nil} nor a number, all mails will be left on 14802If this is a number, leave mails on the server for this many days since
14796the server. If this is a number, leave mails on the server for this 14803you first checked new mails. In that case, mails once fetched will
14797many days since you first checked new mails. If this is @code{nil} 14804never be fetched again by the @acronym{UIDL} control. If this is
14798(the default), mails will be deleted on the server right after fetching. 14805@code{nil} (the default), mails will be deleted on the server right
14806after fetching. If this is neither @code{nil} nor a number, all mails
14807will be left on the server, and you will end up getting the same mails
14808again and again.
14799 14809
14800@vindex pop3-uidl-file 14810@vindex pop3-uidl-file
14801The @code{pop3-uidl-file} variable specifies the file to which the 14811The @code{pop3-uidl-file} variable specifies the file to which the
@@ -21101,17 +21111,17 @@ the articles that match this query, and takes you to a summary buffer
21101showing these articles. Articles may then be read, moved and deleted 21111showing these articles. Articles may then be read, moved and deleted
21102using the usual commands. 21112using the usual commands.
21103 21113
21104The @code{nnir} group made in this way is an @code{ephemeral} group, and 21114The @code{nnir} group made in this way is an @code{ephemeral} group,
21105some changes are not permanent: aside from reading, moving, and 21115and some changes are not permanent: aside from reading, moving, and
21106deleting, you can't act on the original article. But there is an 21116deleting, you can't act on the original article. But there is an
21107alternative: you can @emph{warp} to the original group for the article 21117alternative: you can @emph{warp} (i.e., jump) to the original group
21108on the current line with @kbd{A W}, aka 21118for the article on the current line with @kbd{A W}, aka
21109@code{gnus-warp-to-article}. Even better, the function 21119@code{gnus-warp-to-article}. Even better, the function
21110@code{gnus-summary-refer-thread}, bound by default in summary buffers to 21120@code{gnus-summary-refer-thread}, bound by default in summary buffers
21111@kbd{A T}, will first warp to the original group before it works its 21121to @kbd{A T}, will first warp to the original group before it works
21112magic and includes all the articles in the thread. From here you can 21122its magic and includes all the articles in the thread. From here you
21113read, move and delete articles, but also copy them, alter article marks, 21123can read, move and delete articles, but also copy them, alter article
21114whatever. Go nuts. 21124marks, whatever. Go nuts.
21115 21125
21116You say you want to search more than just the group on the current line? 21126You say you want to search more than just the group on the current line?
21117No problem: just process-mark the groups you want to search. You want 21127No problem: just process-mark the groups you want to search. You want
@@ -21153,6 +21163,7 @@ query language anyway.
21153* The swish++ Engine:: Swish++ configuration and usage. 21163* The swish++ Engine:: Swish++ configuration and usage.
21154* The swish-e Engine:: Swish-e configuration and usage. 21164* The swish-e Engine:: Swish-e configuration and usage.
21155* The namazu Engine:: Namazu configuration and usage. 21165* The namazu Engine:: Namazu configuration and usage.
21166* The notmuch Engine:: Notmuch configuration and usage.
21156* The hyrex Engine:: Hyrex configuration and usage. 21167* The hyrex Engine:: Hyrex configuration and usage.
21157* Customizations:: User customizable settings. 21168* Customizations:: User customizable settings.
21158@end menu 21169@end menu
@@ -21382,6 +21393,26 @@ mknmz --mailnews ~/Mail/archive/ ~/Mail/mail/ ~/Mail/lists/
21382For maximum searching efficiency you might want to have a cron job run 21393For maximum searching efficiency you might want to have a cron job run
21383this command periodically, say every four hours. 21394this command periodically, say every four hours.
21384 21395
21396
21397@node The notmuch Engine
21398@subsubsection The notmuch Engine
21399
21400@table @code
21401@item nnir-notmuch-program
21402The name of the notmuch search executable. Defaults to
21403@samp{notmuch}.
21404
21405@item nnir-notmuch-additional-switches
21406A list of strings, to be given as additional arguments to notmuch.
21407
21408@item nnir-notmuch-remove-prefix
21409The prefix to remove from each file name returned by notmuch in order
21410to get a group name (albeit with @samp{/} instead of @samp{.}). This
21411is a regular expression.
21412
21413@end table
21414
21415
21385@node The hyrex Engine 21416@node The hyrex Engine
21386@subsubsection The hyrex Engine 21417@subsubsection The hyrex Engine
21387This engine is obsolete. 21418This engine is obsolete.
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index e45234872e2..4bb6a9d6900 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -1275,6 +1275,7 @@ normally be applied.
1275@vindex hfy-html-quote-regex 1275@vindex hfy-html-quote-regex
1276@anchor{hfy-html-quote-regex} 1276@anchor{hfy-html-quote-regex}
1277 1277
1278@c FIXME: the cross-reference below looks ugly
1278Regex to match (with a single back-reference per match) strings in HTML 1279Regex to match (with a single back-reference per match) strings in HTML
1279which should be quoted with @ref{hfy-html-quote} 1280which should be quoted with @ref{hfy-html-quote}
1280(and @pxref{hfy-html-quote-map}) to make them safe. 1281(and @pxref{hfy-html-quote-map}) to make them safe.
@@ -1340,31 +1341,6 @@ See also: @ref{hfy-page-footer}
1340 1341
1341String to add to the @samp{<style> a} variant of an Htmlfontify CSS class. 1342String to add to the @samp{<style> a} variant of an Htmlfontify CSS class.
1342 1343
1343@item hfy-fast-lock-save
1344@vindex hfy-fast-lock-save
1345@anchor{hfy-fast-lock-save}
1346
1347Minimum size of a buffer for cached fontification.
1348This value is temporarily assigned to @code{fast-lock-minimum-size} during
1349html-fontification.
1350
1351Only buffers more than this can have associated Font Lock cache files saved.
1352
1353If nil, means cache files are never created.
1354
1355If a list, each element should be a cons pair of the form
1356@code{(@var{major-mode} . @var{size})}, where @var{major-mode}
1357is a symbol or t (meaning the default). For example:
1358
1359@lisp
1360 ((c-mode . 25600 )
1361 (c++-mode . 25600 )
1362 (rmail-mode . 1048576))
1363@end lisp
1364
1365means that the minimum size is 25K for buffers in C or C++ modes, one megabyte
1366for buffers in Rmail mode, and size is irrelevant (i.e., no saves) otherwise.
1367
1368@item hfy-split-index 1344@item hfy-split-index
1369@vindex hfy-split-index 1345@vindex hfy-split-index
1370@anchor{hfy-split-index} 1346@anchor{hfy-split-index}
@@ -1383,7 +1359,7 @@ be large and take a long time to render or be difficult to navigate.
1383@vindex hfy-extn 1359@vindex hfy-extn
1384@anchor{hfy-extn} 1360@anchor{hfy-extn}
1385 1361
1386File extension used for output files 1362File extension used for output files.
1387 1363
1388@item hfy-default-face-def 1364@item hfy-default-face-def
1389@vindex hfy-default-face-def 1365@vindex hfy-default-face-def
@@ -1464,7 +1440,7 @@ which can never slow you down, but may result in incomplete fontification.
1464@vindex hfy-src-doc-link-unstyle 1440@vindex hfy-src-doc-link-unstyle
1465@anchor{hfy-src-doc-link-unstyle} 1441@anchor{hfy-src-doc-link-unstyle}
1466 1442
1467Regex to remove from the <style> a variant of an Htmlfontify CSS class. 1443Regex to remove from the @samp{<style> a} variant of an Htmlfontify CSS class.
1468 1444
1469@item hfy-link-extn 1445@item hfy-link-extn
1470@vindex hfy-link-extn 1446@vindex hfy-link-extn
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi
index e61a90463c5..623fb4bfa79 100644
--- a/doc/misc/ido.texi
+++ b/doc/misc/ido.texi
@@ -53,45 +53,46 @@ modify this GNU manual.''
53@end ifnottex 53@end ifnottex
54 54
55@menu 55@menu
56* Overview:: Basics, activation. 56* Overview:: Basics, activation.
57* Matching:: Interactivity, matching, scrolling. 57* Matching:: Interactivity, matching, scrolling.
58* Highlighting:: Highlighting of matching items. 58* Highlighting:: Highlighting of matching items.
59* Hidden Buffers and Files:: Hidden buffers, files, and directories. 59* Hidden Buffers and Files:: Hidden buffers, files, and directories.
60* Customization:: Change the Ido functionality. 60* Customization:: Change the Ido functionality.
61* Misc:: Various other features. 61* Misc:: Various other features.
62 62
63Appendices 63Appendices
64* GNU Free Documentation License:: The license for this documentation. 64* GNU Free Documentation License:: The license for this documentation.
65 65
66Indexes 66Indexes
67* Variable Index:: An entry for each documented variable. 67* Variable Index:: An entry for each documented variable.
68 68
69@detailmenu 69@detailmenu
70 --- The Detailed Node Listing --- 70 --- The Detailed Node Listing ---
71 71
72Overview 72Overview
73 73
74* Activation:: How to use this package. 74* Activation:: How to use this package.
75* Working Directories:: Where files have most recently been opened.
75 76
76Matching 77Matching
77 78
78* Interactive Substring Matching:: Interactivity, matching, scrolling. 79* Interactive Substring Matching:: Interactivity, matching, scrolling.
79* Prefix Matching:: Standard completion. 80* Prefix Matching:: Standard completion.
80* Flexible Matching:: More flexible matching. 81* Flexible Matching:: More flexible matching.
81* Regexp Matching:: Matching using regular expression. 82* Regexp Matching:: Matching using regular expression.
82 83
83Customization 84Customization
84 85
85* Changing List Order:: Changing the list of files. 86* Changing List Order:: Changing the list of files.
86* Find File At Point:: Make Ido guess the context. 87* Find File At Point:: Make Ido guess the context.
87* Ignoring:: Ignorance is bliss. 88* Ignoring:: Ignorance is bliss.
88* Misc Customization:: Miscellaneous customization for Ido. 89* Misc Customization:: Miscellaneous customization for Ido.
89 90
90Miscellaneous 91Miscellaneous
91 92
92* All Matching:: Seeing all the matching buffers or files. 93* All Matching:: Seeing all the matching buffers or files.
93* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}. 94* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}.
94* Other Packages:: Don't want to depend on @code{ido-everywhere}? 95* Other Packages:: Don't want to depend on @code{ido-everywhere}?
95 96
96@end detailmenu 97@end detailmenu
97@end menu 98@end menu
@@ -116,7 +117,8 @@ This package was originally written by Kim F. Storm, based on the
116 @file{iswitchb.el} package by Stephen Eglen. 117 @file{iswitchb.el} package by Stephen Eglen.
117 118
118@menu 119@menu
119* Activation:: How to use this package. 120* Activation:: How to use this package.
121* Working Directories:: Where files have most recently been opened.
120@end menu 122@end menu
121 123
122@node Activation 124@node Activation
@@ -140,9 +142,48 @@ package.
140(ido-mode t) 142(ido-mode t)
141@end example 143@end example
142 144
143@c @node Working Directories 145@node Working Directories
144@c @section Working Directories 146@section Working Directories
145@c @cindex working directories 147@cindex working directories
148
149@vindex ido-work-directory-list
150@noindent
151@dfn{Working directories} are directories where files have most
152recently been opened. The current directory is inserted at the front
153of this @code{ido-work-directory-list} whenever a file is opened with
154@code{ido-find-file} and other file-related functions.
155
156@c @cindex merge
157@c or maybe a new node for ``merge''
158
159@c @deffn Command ido-merge-work-directories
160
161@c @deffn Command ido-prev-work-directory
162
163@c @deffn Command ido-next-work-directory
164
165@c @deffn Command ido-forget-work-directory
166
167@c @defvar ido-use-merged-list
168@c @defvar ido-try-merged-list
169@c @defvar ido-pre-merge-state
170
171@defopt ido-max-work-directory-list
172This user option specifies maximum number of working directories to
173record.
174@end defopt
175
176@c see (info "(elisp) File Name Completion")
177@defopt ido-max-dir-file-cache
178This user option specifies maximum number of working directories to be
179cached. This is the size of the cache of
180@code{file-name-all-completions} results. Each cache entry is time
181stamped with the modification time of the directory. Some systems,
182like MS-Windows, have unreliable directory modification times, so you
183may choose to disable caching on such systems, or explicitly refresh
184the cache contents using the command @code{ido-reread-directory}
185(usually @kbd{C-l}) in the minibuffer.
186@end defopt
146 187
147@node Matching 188@node Matching
148@chapter Matching 189@chapter Matching
@@ -153,10 +194,10 @@ This section describes features of this package that have to
153do with various kinds of @emph{matching}: among buffers, files, and directories. 194do with various kinds of @emph{matching}: among buffers, files, and directories.
154 195
155@menu 196@menu
156* Interactive Substring Matching:: Interactivity, matching, scrolling. 197* Interactive Substring Matching:: Interactivity, matching, scrolling.
157* Prefix Matching:: Standard completion. 198* Prefix Matching:: Standard completion.
158* Flexible Matching:: More flexible matching. 199* Flexible Matching:: More flexible matching.
159* Regexp Matching:: Matching using regular expression. 200* Regexp Matching:: Matching using regular expression.
160@end menu 201@end menu
161 202
162@node Interactive Substring Matching 203@node Interactive Substring Matching
@@ -265,7 +306,7 @@ of the list and hit @key{RET}.
265To go up to the parent directory, delete any partial file name already 306To go up to the parent directory, delete any partial file name already
266specified (e.g. using @key{DEL}) and hit @key{DEL}. 307specified (e.g. using @key{DEL}) and hit @key{DEL}.
267 308
268@c @defun ido-delete-backward-updir 309@c @deffn Command ido-delete-backward-updir
269 310
270@cindex root directory 311@cindex root directory
271@cindex home directory 312@cindex home directory
@@ -273,17 +314,17 @@ To go to the root directory (on the current drive), enter two slashes.
273On MS-DOS or Windows, to select the root of another drive, enter 314On MS-DOS or Windows, to select the root of another drive, enter
274@samp{X:/} where @samp{X} is the drive letter. To go to the home 315@samp{X:/} where @samp{X} is the drive letter. To go to the home
275directory, enter @samp{~/}. To enter Dired for this directory, use 316directory, enter @samp{~/}. To enter Dired for this directory, use
276@kbd{C-d}. 317@kbd{C-d}.
277 318
278@c TODO: a new node for ftp hosts 319@c TODO: a new node for ftp hosts
279@cindex ftp hosts 320@cindex ftp hosts
280You can also visit files on other hosts using the ange-ftp 321You can also visit files on other hosts using the ange-ftp
281notations @samp{/host:} and @samp{/user@@host:}. 322notations @samp{/host:} and @samp{/user@@host:}.
282@c @defvr {User Option} ido-record-ftp-work-directories 323@c @defopt ido-record-ftp-work-directories
283@c @defvr {User Option} ido-merge-ftp-work-directories 324@c @defopt ido-merge-ftp-work-directories
284@c @defvr {User Option} ido-cache-ftp-work-directory-time 325@c @defopt ido-cache-ftp-work-directory-time
285@c @defvr {User Option} ido-slow-ftp-hosts 326@c @defopt ido-slow-ftp-hosts
286@c @defvr {User Option} ido-slow-ftp-host-regexps 327@c @defopt ido-slow-ftp-host-regexps
287 328
288You can type @kbd{M-p} and @kbd{M-n} to change to previous/next 329You can type @kbd{M-p} and @kbd{M-n} to change to previous/next
289directories from the history, @kbd{M-s} to search for a file matching 330directories from the history, @kbd{M-s} to search for a file matching
@@ -295,22 +336,20 @@ If for some reason you cannot specify the proper file using
295@code{ido-switch-buffer}. 336@code{ido-switch-buffer}.
296 337
297@c @kindex C-x b 338@c @kindex C-x b
298@c @findex ido-switch-buffer 339@c @deffn Command ido-switch-buffer
299@c @defun ido-switch-buffer
300@c This command switch to another buffer interactively. 340@c This command switch to another buffer interactively.
301@c @end defun 341@c @end deffn
302 342
303@c @kindex C-x C-f 343@c @kindex C-x C-f
304@c @findex ido-find-file 344@c @deffn Command ido-find-file
305@c @defun ido-find-file
306@c Edit file with name obtained via minibuffer. 345@c Edit file with name obtained via minibuffer.
307@c @end defun 346@c @end deffn
308 347
309@c @kindex C-x d 348@c @kindex C-x d
310@c @findex ido-dired 349@c @findex ido-dired
311@c @defun ido-dired 350@c @deffn Command ido-dired
312@c Call Dired the Ido way. 351@c Call Dired the Ido way.
313@c @end defun 352@c @end deffn
314 353
315@node Prefix Matching 354@node Prefix Matching
316@section Prefix Matching 355@section Prefix Matching
@@ -338,12 +377,12 @@ of the buffer names.
338@section Flexible Matching 377@section Flexible Matching
339@cindex flexible matching 378@cindex flexible matching
340 379
341@defvr {User Option} ido-enable-flex-matching 380@defopt ido-enable-flex-matching
342If non-@code{nil}, Ido will do flexible string matching. Flexible 381If non-@code{nil}, Ido will do flexible string matching. Flexible
343matching means that if the entered string does not match any item, any 382matching means that if the entered string does not match any item, any
344item containing the entered characters in the given sequence will 383item containing the entered characters in the given sequence will
345match. 384match.
346@end defvr 385@end defopt
347 386
348@noindent 387@noindent
349If @code{ido-enable-flex-matching} is non-@code{nil}, Ido will do a 388If @code{ido-enable-flex-matching} is non-@code{nil}, Ido will do a
@@ -371,11 +410,11 @@ through @code{ido-enable-regexp} (toggle with @kbd{C-t}). This allows
371you to type @samp{[ch]$} for example and see all file names ending in 410you to type @samp{[ch]$} for example and see all file names ending in
372@samp{c} or @samp{h}. 411@samp{c} or @samp{h}.
373 412
374@defvr {User Option} ido-enable-regexp 413@defopt ido-enable-regexp
375If the value of this user option is non-@code{nil}, Ido will do regexp 414If the value of this user option is non-@code{nil}, Ido will do regexp
376matching. The value of this user option can be toggled within 415matching. The value of this user option can be toggled within
377ido-mode using @code{ido-toggle-regexp}. 416ido-mode using @code{ido-toggle-regexp}.
378@end defvr 417@end defopt
379 418
380@strong{Please notice:} Ido-style completion is inhibited when you 419@strong{Please notice:} Ido-style completion is inhibited when you
381enable regexp matching. 420enable regexp matching.
@@ -405,7 +444,7 @@ buffers or files.
405You can toggle display of the hidden buffers and files with @kbd{C-a} 444You can toggle display of the hidden buffers and files with @kbd{C-a}
406(@code{ido-toggle-ignore}). 445(@code{ido-toggle-ignore}).
407 446
408@c @defun ido-toggle-ignore 447@c @deffn Command ido-toggle-ignore
409 448
410@node Customization 449@node Customization
411@chapter Customization 450@chapter Customization
@@ -435,6 +474,9 @@ To modify the keybindings, use the @code{ido-setup-hook}. For example:
435 (define-key ido-completion-map " " 'ido-next-match)) 474 (define-key ido-completion-map " " 'ido-next-match))
436@end example 475@end example
437 476
477@c @defopt ido-setup-hook
478@c a new node for Ido hooks?
479
438@menu 480@menu
439* Changing List Order:: Changing the list of files. 481* Changing List Order:: Changing the list of files.
440* Find File At Point:: Make Ido guess the context. 482* Find File At Point:: Make Ido guess the context.
@@ -479,17 +521,17 @@ The following expression will make Ido guess the context:
479(setq ido-use-filename-at-point 'guess) 521(setq ido-use-filename-at-point 'guess)
480@end example 522@end example
481 523
482@c @defvr {User Option} ido-use-filename-at-point 524@c @defopt ido-use-filename-at-point
483@c If the value of this user option is non-@code{nil}, ... 525@c If the value of this user option is non-@code{nil}, ...
484@c @end defvr 526@c @end defopt
485 527
486You can disable URL ffap support by toggling 528You can disable URL ffap support by toggling
487@code{ido-use-url-at-point}. 529@code{ido-use-url-at-point}.
488 530
489@defvr {User Option} ido-use-url-at-point 531@defopt ido-use-url-at-point
490If the value of this user option is non-@code{nil}, Ido will look for 532If the value of this user option is non-@code{nil}, Ido will look for
491a URL at point. If found, call @code{find-file-at-point} to visit it. 533a URL at point. If found, call @code{find-file-at-point} to visit it.
492@end defvr 534@end defopt
493 535
494@node Ignoring 536@node Ignoring
495@section Ignoring Buffers and Files 537@section Ignoring Buffers and Files
@@ -500,28 +542,29 @@ a URL at point. If found, call @code{find-file-at-point} to visit it.
500Ido is capable of ignoring buffers, directories, files and extensions 542Ido is capable of ignoring buffers, directories, files and extensions
501using regular expression. 543using regular expression.
502 544
503@defvr {User Option} ido-ignore-buffers 545@defopt ido-ignore-buffers
504This variable takes a list of regular expressions for buffers to 546This variable takes a list of regular expressions for buffers to
505ignore in @code{ido-switch-buffer}. 547ignore in @code{ido-switch-buffer}.
506@end defvr 548@end defopt
507 549
508@defvr {User Option} ido-ignore-directories 550@defopt ido-ignore-directories
509This variable takes a list of regular expressions for (sub)directories 551This variable takes a list of regular expressions for (sub)directories
510names to ignore in @code{ido-dired} and @code{ido-find-file}. 552names to ignore in @code{ido-dired} and @code{ido-find-file}.
511@end defvr 553@end defopt
512 554
513@defvr {User Option} ido-ignore-files 555@defopt ido-ignore-files
514This variable takes a list of regular expressions for files to ignore 556This variable takes a list of regular expressions for files to ignore
515in @code{ido-find-file}. 557in @code{ido-find-file}.
516@end defvr 558@end defopt
517 559
518@defvr {User Option} ido-ignore-unc-host-regexps 560@defopt ido-ignore-unc-host-regexps
519This variable takes a list of regular expressions matching UNC hosts 561This variable takes a list of regular expressions matching UNC hosts
520to ignore. The letter case will be ignored if 562to ignore. The letter case will be ignored if
521@code{ido-downcase-unc-hosts} is non-@code{nil}. 563@code{ido-downcase-unc-hosts} is non-@code{nil}.
522@end defvr 564@end defopt
523 565
524@c @defvr {User Option} ido-work-directory-list-ignore-regexps 566@c FIXME: Where to add this variable? This node or ``working directory''?
567@c @defopt ido-work-directory-list-ignore-regexps
525 568
526To make Ido use @code{completion-ignored-extensions} you need to 569To make Ido use @code{completion-ignored-extensions} you need to
527enable it: 570enable it:
@@ -542,69 +585,117 @@ the name of an ignored file, Ido will still let you open it just fine.
542@section Miscellaneous Customization 585@section Miscellaneous Customization
543@cindex miscellaneous customization for Ido 586@cindex miscellaneous customization for Ido
544 587
545@defvr {User Option} ido-mode 588@c Variables described in this sections may be moved to new nodes in
589@c the future.
590
591@defopt ido-mode
546This user option determines for which functional group (buffer and 592This user option determines for which functional group (buffer and
547files) Ido behavior should be enabled. 593files) Ido behavior should be enabled.
548@end defvr 594@end defopt
549 595
550@defvr {User Option} ido-case-fold 596@defopt ido-case-fold
551If the value of this user option is non-@code{nil}, searching of 597If the value of this user option is non-@code{nil}, searching of
552buffer and file names should ignore case. 598buffer and file names should ignore case.
553@end defvr 599@end defopt
554 600
555@defvr {User Option} ido-show-dot-for-dired 601@defopt ido-show-dot-for-dired
556If the value of this user option is non-@code{nil} , always put 602If the value of this user option is non-@code{nil}, always put
557@samp{.} as the first item in file name lists. This allows the 603@samp{.} as the first item in file name lists. This allows the
558current directory to be opened immediately with Dired 604current directory to be opened immediately with Dired
559@end defvr 605@end defopt
560 606
561@defvr {User Option} ido-enable-dot-prefix 607@defopt ido-enable-dot-prefix
562If the value of this user option is non-@code{nil}, Ido will match 608If the value of this user option is non-@code{nil}, Ido will match
563leading dot as prefix. I.e., hidden files and buffers will match only 609leading dot as prefix. I.e., hidden files and buffers will match only
564if you type a dot as first char (even if @code{ido-enable-prefix} is 610if you type a dot as first char (even if @code{ido-enable-prefix} is
565@code{nil}). 611@code{nil}).
566@end defvr 612@end defopt
567 613
568@c @defvr {User Option} ido-confirm-unique-completion 614@defopt ido-confirm-unique-completion
569@c @defvr {User Option} ido-cannot-complete-command 615If the value of this user option is non-@code{nil}, even a unique
570@c @defvr {User Option} ido-record-commands 616completion must be confirmed. This means that @code{ido-complete}
571@c @defvr {User Option} ido-max-file-prompt-width 617(@key{TAB}) must always be followed by @code{ido-exit-minibuffer}
572@c @defvr {User Option} ido-max-window-height 618(@key{RET}) even when there is only one unique completion.
573@c @defvr {User Option} ido-enable-last-directory-history 619@end defopt
574@c @defvr {User Option} ido-max-work-directory-list 620
575@c @defvr {User Option} ido-enable-tramp-completion 621@defopt ido-cannot-complete-command
576@c @defvr {User Option} ido-unc-hosts 622When @code{ido-complete} can't complete any more, it will run the
577@c @defvr {User Option} ido-downcase-unc-hosts 623command specified by this user option. The most useful values are
578@c @defvr {User Option} ido-cache-unc-host-shares-time 624@code{ido-completion-help}, which pops up a window with completion
579@c @defvr {User Option} ido-max-work-file-list 625alternatives, or @code{ido-next-match} or @code{ido-prev-match}, which
580@c @defvr {User Option} ido-work-directory-match-only 626cycle the buffer list.
581@c @defvr {User Option} ido-auto-merge-work-directories-length 627@end defopt
582@c @defvr {User Option} ido-auto-merge-delay-time 628
583@c @defvr {User Option} ido-auto-merge-inhibit-characters-regexp 629@defopt ido-max-file-prompt-width
584@c @defvr {User Option} ido-merged-indicator 630This user option specifies the upper limit of the prompt string. If
585@c @defvr {User Option} ido-max-dir-file-cache 631its value is an integer, it specifies the number of characters of the
586@c @defvr {User Option} ido-max-directory-size 632string. If its value is a floating point number, it specifies a
587@c @defvr {User Option} ido-rotate-file-list-default 633fraction of the frame width.
588@c @defvr {User Option} ido-enter-matching-directory 634@end defopt
589@c @defvr {User Option} ido-create-new-buffer 635
590@c @defvr {User Option} ido-setup-hook 636@defopt ido-max-window-height
591@c @defvr {User Option} ido-separator 637If the value of this user option is non-@code{nil}, its value will
592@c @defvr {User Option} ido-decorations 638override the variable @code{max-mini-window-height}, which is the
593@c @defvr {User Option} ido-use-virtual-buffers 639maximum height for resizing mini-windows (the minibuffer and the echo
594@c @defvr {User Option} ido-use-faces 640area). If it's a floating point number, it specifies a fraction of
595@c @defvr {User Option} ido-make-file-list-hook 641the mini-window frame's height. If it's an integer, it specifies the
596@c @defvr {User Option} ido-make-dir-list-hook 642number of lines.
597@c @defvr {User Option} ido-make-buffer-list-hook 643@end defopt
598@c @defvr {User Option} ido-rewrite-file-prompt-functions 644
599@c @defvr {User Option} ido-completion-buffer 645@defopt ido-record-commands
600@c @defvr {User Option} ido-completion-buffer-all-completions 646If the value of this user option is non-@code{nil}, Ido will record
601@c @defvr {User Option} ido-all-frames 647commands in the variable @code{command-history}. Note that non-Ido
602@c @defvr {User Option} ido-minibuffer-setup-hook 648equivalent is recorded.
603@c @defvr {User Option} ido-save-directory-list-file 649@end defopt
604@c @defvr {User Option} ido-read-file-name-as-directory-commands 650
605@c @defvr {User Option} ido-read-file-name-non-ido 651@defopt ido-all-frames
606@c @defvr {User Option} ido-before-fallback-functions 652This user option will be passed to @code{walk-windows} as its
607@c @defvr {User Option} ido-buffer-disable-smart-matches 653@var{all-frames} argument when Ido is finding buffers. @xref{Cyclic
654Window Ordering, , Cyclic Ordering of Windows, elisp, GNU Emacs Lisp
655Reference Manual}.
656@end defopt
657
658@defopt ido-minibuffer-setup-hook
659This hook variable contains Ido-specific customization of minibuffer
660setup. It is run during minibuffer setup if Ido is active, and is
661intended for use in customizing ido for interoperation with other
662packages.
663@end defopt
664
665@c @defopt ido-enable-tramp-completion
666@c cross-reference to tramp.texi
667
668@c @cindex UNC host names, completion
669@c @defopt ido-unc-hosts
670@c @defopt ido-downcase-unc-hosts
671@c @defopt ido-cache-unc-host-shares-time
672
673@c @defopt ido-enable-last-directory-history
674@c @defopt ido-max-work-file-list
675@c @defopt ido-work-directory-match-only
676@c @defopt ido-auto-merge-work-directories-length
677@c @defopt ido-auto-merge-delay-time
678@c @defopt ido-auto-merge-inhibit-characters-regexp
679@c @defopt ido-merged-indicator
680@c @defopt ido-max-directory-size
681@c @defopt ido-rotate-file-list-default
682@c @defopt ido-enter-matching-directory
683@c @defopt ido-create-new-buffer
684@c @defopt ido-separator
685@c @defopt ido-decorations
686@c @defopt ido-use-virtual-buffers
687@c @defopt ido-use-faces
688@c @defopt ido-make-file-list-hook
689@c @defopt ido-make-dir-list-hook
690@c @defopt ido-make-buffer-list-hook
691@c @defopt ido-rewrite-file-prompt-functions
692@c @defopt ido-completion-buffer
693@c @defopt ido-completion-buffer-all-completions
694@c @defopt ido-save-directory-list-file
695@c @defopt ido-read-file-name-as-directory-commands
696@c @defopt ido-read-file-name-non-ido
697@c @defopt ido-before-fallback-functions
698@c @defopt ido-buffer-disable-smart-matches
608 699
609@node Misc 700@node Misc
610@chapter Miscellaneous 701@chapter Miscellaneous
@@ -624,8 +715,8 @@ and you find that the file you are after is not in any buffer, you can
624press @kbd{C-f} to immediately drop into @code{ido-find-file}. And 715press @kbd{C-f} to immediately drop into @code{ido-find-file}. And
625you can switch back to buffer selection with @kbd{C-b}. 716you can switch back to buffer selection with @kbd{C-b}.
626 717
627@c @defun ido-magic-forward-char 718@c @deffn Command ido-magic-forward-char
628@c @defun ido-magic-backward-char 719@c @deffn Command ido-magic-backward-char
629 720
630You can also use Ido in your Emacs Lisp programs: 721You can also use Ido in your Emacs Lisp programs:
631 722
@@ -657,7 +748,7 @@ Also, to improve the responsiveness of Ido, the maximum number of
657matching items is limited to 12, but you can increase or removed this 748matching items is limited to 12, but you can increase or removed this
658limit via the @code{ido-max-prospects} user option. 749limit via the @code{ido-max-prospects} user option.
659 750
660@c @defvr {User Option} ido-max-prospects 751@c @defopt ido-max-prospects
661 752
662To see a full list of all matching buffers in a separate buffer, hit 753To see a full list of all matching buffers in a separate buffer, hit
663@kbd{?} or press @key{TAB} when there are no further completions to 754@kbd{?} or press @key{TAB} when there are no further completions to
@@ -675,8 +766,8 @@ functions @code{read-buffer} and @code{read-file-name}.
675To use ido for all buffer and file selections in Emacs, customize the 766To use ido for all buffer and file selections in Emacs, customize the
676variable @code{ido-everywhere}. 767variable @code{ido-everywhere}.
677 768
678@c @defun ido-everywhere 769@c @deffn Command ido-everywhere
679@c @defvr {User Option} ido-everywhere 770@c @defopt ido-everywhere
680 771
681@node Other Packages 772@node Other Packages
682@section Other Packages 773@section Other Packages
@@ -689,7 +780,7 @@ If you don't want to rely on the @code{ido-everywhere} functionality,
689@code{ido-read-directory-name} can be used by other packages to read a 780@code{ido-read-directory-name} can be used by other packages to read a
690buffer name, a file name, or a directory name in the @emph{Ido} way. 781buffer name, a file name, or a directory name in the @emph{Ido} way.
691 782
692@c @node Cheetsheet 783@c @node Cheatsheet
693 784
694@c * History and Acknowledgments:: How Ido came into being 785@c * History and Acknowledgments:: How Ido came into being
695@c @node History and Acknowledgments 786@c @node History and Acknowledgments
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi
index 73a1294d28d..210b709c1ea 100644
--- a/doc/misc/mairix-el.texi
+++ b/doc/misc/mairix-el.texi
@@ -55,15 +55,15 @@ database.
55@end ifnottex 55@end ifnottex
56 56
57@menu 57@menu
58* About mairix and mairix.el:: About the mairix search engine and mairix.el 58* About:: About the mairix search engine and mairix.el.
59* Configuring mairix:: How to configure mairix 59* Configuring mairix:: How to configure mairix.
60* Setting up mairix.el:: Set up mairix.el 60* Setting up the mairix interface:: Set up mairix.el.
61* Using mairix.el:: List of interactive functions 61* Using:: List of interactive functions
62* Extending mairix.el:: Support your favorite mail reader! 62* Extending:: Support your favorite mail reader!
63* GNU Free Documentation License:: The license for this documentation. 63* GNU Free Documentation License:: The license for this documentation.
64@end menu 64@end menu
65 65
66@node About mairix and mairix.el 66@node About
67@chapter About mairix and mairix.el 67@chapter About mairix and mairix.el
68 68
69Mairix is a tool for indexing and searching words in locally stored 69Mairix is a tool for indexing and searching words in locally stored
@@ -98,7 +98,7 @@ Currently, @code{mairix.el} is only tested with mbox output together
98with RMail, Gnus, or VM as the Emacs mail program. However, it should 98with RMail, Gnus, or VM as the Emacs mail program. However, it should
99also work with Maildir or MH, and it should be very easy to integrate 99also work with Maildir or MH, and it should be very easy to integrate
100other Emacs mail programs into @code{mairix.el} 100other Emacs mail programs into @code{mairix.el}
101(@pxref{Extending mairix.el}). 101(@pxref{Extending}).
102 102
103If you use Gnus with maildir or MH, you should really use the native 103If you use Gnus with maildir or MH, you should really use the native
104Gnus back end @code{nnmairix} instead, since it is more tightly 104Gnus back end @code{nnmairix} instead, since it is more tightly
@@ -165,8 +165,8 @@ Now simply call @code{mairix} to create the index for the first time.
165Note that this may take a few minutes, but every following index will do 165Note that this may take a few minutes, but every following index will do
166the updates incrementally and hence is very fast. 166the updates incrementally and hence is very fast.
167 167
168@node Setting up mairix.el 168@node Setting up the mairix interface
169@chapter Setting up mairix.el 169@chapter Setting up the mairix interface
170 170
171First, put @code{mairix.el} in your Emacs search path and put 171First, put @code{mairix.el} in your Emacs search path and put
172@code{(require 'mairix)} into your @file{.emacs} file. Then, use 172@code{(require 'mairix)} into your @file{.emacs} file. Then, use
@@ -179,13 +179,12 @@ If you use Gnus with maildir or mh, use the native Gnus back end
179nnmairix instead. 179nnmairix instead.
180 180
181If you use another Emacs mail program which is not yet supported by 181If you use another Emacs mail program which is not yet supported by
182mairix.el, it is pretty easy to integrate it. @xref{Extending 182mairix.el, it is pretty easy to integrate it. @xref{Extending},
183mairix.el}, on how to integrate it into mairix.el. 183on how to integrate it into mairix.el.
184 184
185Now you should be ready to go. @xref{Using mairix.el}, for the available 185Now you should be ready to go. @xref{Using}, for the available commands.
186commands.
187 186
188@node Using mairix.el 187@node Using
189@chapter Using mairix.el 188@chapter Using mairix.el
190 189
191There are currently no default key bindings for mairix.el, since those 190There are currently no default key bindings for mairix.el, since those
@@ -314,7 +313,7 @@ will still be usable while the update is done.
314@end table 313@end table
315 314
316 315
317@node Extending mairix.el 316@node Extending
318@chapter Extending mairix.el 317@chapter Extending mairix.el
319 318
320Your favorite Emacs mail program is not supported? Shame on me. But 319Your favorite Emacs mail program is not supported? Shame on me. But
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi
index ab3bffc2ce9..afb44a6a396 100644
--- a/doc/misc/newsticker.texi
+++ b/doc/misc/newsticker.texi
@@ -169,9 +169,9 @@ single buffer, called @samp{*newsticker*}. The modeline in the
169@samp{*newsticker*} buffer informs you whenever new headlines have 169@samp{*newsticker*} buffer informs you whenever new headlines have
170arrived. 170arrived.
171@end itemize 171@end itemize
172In both views clicking mouse-button 2 or pressing RET on a headline 172In both views clicking mouse-button 2 or pressing @key{RET} on a
173will call @code{browse-url} to load the corresponding news story in 173headline will call @code{browse-url} to load the corresponding news
174your favorite web browser. 174story in your favorite web browser.
175 175
176@findex newsticker-start-ticker 176@findex newsticker-start-ticker
177@findex newsticker-stop-ticker 177@findex newsticker-stop-ticker
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index b9cf2335647..ba83d8129a8 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -153,7 +153,7 @@ Labels and References
153* Defining Label Environments:: ... and environments it doesn't. 153* Defining Label Environments:: ... and environments it doesn't.
154* Reference Info:: View the label corresponding to a \ref. 154* Reference Info:: View the label corresponding to a \ref.
155* Reference Styles:: Macros to be used instead of \ref. 155* Reference Styles:: Macros to be used instead of \ref.
156* xr (LaTeX package):: References to external documents. 156* LaTeX xr Package:: References to external documents.
157 157
158Defining Label Environments 158Defining Label Environments
159 159
@@ -196,17 +196,17 @@ AUCTeX
196 196
197Options, Keymaps, Hooks 197Options, Keymaps, Hooks
198 198
199* Options (Table of Contents):: 199* Options - Table of Contents::
200* Options (Defining Label Environments):: 200* Options - Defining Label Environments::
201* Options (Creating Labels):: 201* Options - Creating Labels::
202* Options (Referencing Labels):: 202* Options - Referencing Labels::
203* Options (Creating Citations):: 203* Options - Creating Citations::
204* Options (Index Support):: 204* Options - Index Support::
205* Options (Viewing Cross-References):: 205* Options - Viewing Cross-References::
206* Options (Finding Files):: 206* Options - Finding Files::
207* Options (Optimizations):: 207* Options - Optimizations::
208* Options (Fontification):: 208* Options - Fontification::
209* Options (Misc):: 209* Options - Misc::
210 210
211@end detailmenu 211@end detailmenu
212@end menu 212@end menu
@@ -581,8 +581,8 @@ called.
581@item mouse-2 581@item mouse-2
582@vindex reftex-highlight-selection 582@vindex reftex-highlight-selection
583Clicking with mouse button 2 on a line has the same effect as @key{RET}. 583Clicking with mouse button 2 on a line has the same effect as @key{RET}.
584See also variable @code{reftex-highlight-selection}, @ref{Options 584See also variable @code{reftex-highlight-selection},
585(Fontification)}. 585@ref{Options - Fontification}.
586 586
587@item f 587@item f
588@vindex reftex-toc-follow-mode 588@vindex reftex-toc-follow-mode
@@ -701,9 +701,8 @@ buffer.
701 701
702@item x 702@item x
703Switch to the @file{*toc*} buffer of an external document. When the 703Switch to the @file{*toc*} buffer of an external document. When the
704current document is using the @code{xr} package (@pxref{xr (LaTeX 704current document is using the @code{xr} package (@pxref{LaTeX xr Package}),
705package)}), @RefTeX{} will switch to one of the external 705@RefTeX{} will switch to one of the external documents.
706documents.
707 706
708 707
709@tablesubheading{Automatic recentering} 708@tablesubheading{Automatic recentering}
@@ -796,7 +795,7 @@ equation counter.
796* Defining Label Environments:: ... and environments it doesn't. 795* Defining Label Environments:: ... and environments it doesn't.
797* Reference Info:: View the label corresponding to a \ref. 796* Reference Info:: View the label corresponding to a \ref.
798* Reference Styles:: Macros to be used instead of \ref. 797* Reference Styles:: Macros to be used instead of \ref.
799* xr (LaTeX package):: References to external documents. 798* LaTeX xr Package:: References to external documents.
800@end menu 799@end menu
801 800
802@node Creating Labels 801@node Creating Labels
@@ -859,8 +858,8 @@ this label later.
859 858
860@vindex reftex-insert-label-flags 859@vindex reftex-insert-label-flags
861If you want to change the way certain labels are created, check out the 860If you want to change the way certain labels are created, check out the
862variable @code{reftex-insert-label-flags} (@pxref{Options (Creating 861variable @code{reftex-insert-label-flags} (@pxref{Options - Creating
863Labels)}). 862Labels}).
864 863
865If you are using @AUCTeX{} to write your @LaTeX{} documents, you can 864If you are using @AUCTeX{} to write your @LaTeX{} documents, you can
866set it up to delegate the creation of labels to 865set it up to delegate the creation of labels to
@@ -981,7 +980,7 @@ references all marked labels.
981@vindex reftex-highlight-selection 980@vindex reftex-highlight-selection
982Clicking with mouse button 2 on a label will accept it like @key{RET} 981Clicking with mouse button 2 on a label will accept it like @key{RET}
983would. See also variable @code{reftex-highlight-selection}, 982would. See also variable @code{reftex-highlight-selection},
984@ref{Options (Misc)}. 983@ref{Options - Misc}.
985 984
986@vindex reftex-multiref-punctuation 985@vindex reftex-multiref-punctuation
987@item m - + , 986@item m - + ,
@@ -1034,7 +1033,7 @@ buffer.
1034@tablesubheading{Controlling what gets displayed} 1033@tablesubheading{Controlling what gets displayed}
1035@vindex reftex-label-menu-flags 1034@vindex reftex-label-menu-flags
1036The defaults for the following flags can be configured with the variable 1035The defaults for the following flags can be configured with the variable
1037@code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}). 1036@code{reftex-label-menu-flags} (@pxref{Options - Referencing Labels}).
1038 1037
1039@item c 1038@item c
1040Toggle the display of the one-line label definition context in the 1039Toggle the display of the one-line label definition context in the
@@ -1082,8 +1081,7 @@ a menu for that category will be shown.
1082Reference a label from an external document. With the @LaTeX{} package 1081Reference a label from an external document. With the @LaTeX{} package
1083@code{xr} it is possible to reference labels defined in another 1082@code{xr} it is possible to reference labels defined in another
1084document. This key will switch to the label menu of an external 1083document. This key will switch to the label menu of an external
1085document and let you select a label from there (@pxref{xr (LaTeX 1084document and let you select a label from there (@pxref{LaTeX xr Package,,xr}).
1086package),,xr}).
1087 1085
1088@end table 1086@end table
1089 1087
@@ -1203,8 +1201,8 @@ them (@pxref{Defining Label Environments}).
1203@vindex reftex-label-alist 1201@vindex reftex-label-alist
1204@RefTeX{} can be configured to recognize additional labeled 1202@RefTeX{} can be configured to recognize additional labeled
1205environments and macros. This is done with the variable 1203environments and macros. This is done with the variable
1206@code{reftex-label-alist} (@pxref{Options (Defining Label 1204@code{reftex-label-alist} (@pxref{Options - Defining Label
1207Environments)}). If you are not familiar with Lisp, you can use the 1205Environments}). If you are not familiar with Lisp, you can use the
1208@code{custom} library to configure this rather complex variable. To do 1206@code{custom} library to configure this rather complex variable. To do
1209this, use 1207this, use
1210 1208
@@ -1302,8 +1300,7 @@ a @code{\macro} or after the @code{\begin} statement). @code{t} is
1302@code{nil} means to use the text right after the label definition. 1300@code{nil} means to use the text right after the label definition.
1303@item 1301@item
1304For more complex ways of getting context, see the variable 1302For more complex ways of getting context, see the variable
1305@code{reftex-label-alist} (@ref{Options (Defining Label 1303@code{reftex-label-alist} (@ref{Options - Defining Label Environments}).
1306Environments)}).
1307@end itemize 1304@end itemize
1308 1305
1309The following list of strings is used to guess the correct label type 1306The following list of strings is used to guess the correct label type
@@ -1356,9 +1353,8 @@ Reftex Label Alist: [Hide]
1356Depending on how you would like the label insertion and selection for 1353Depending on how you would like the label insertion and selection for
1357the new environments to work, you might want to add the letters @samp{a} 1354the new environments to work, you might want to add the letters @samp{a}
1358and @samp{h} to some of the flags in the variables 1355and @samp{h} to some of the flags in the variables
1359@code{reftex-insert-label-flags} (@pxref{Options (Creating Labels)}) 1356@code{reftex-insert-label-flags} (@pxref{Options - Creating Labels})
1360and @code{reftex-label-menu-flags} (@pxref{Options (Referencing 1357and @code{reftex-label-menu-flags} (@pxref{Options - Referencing Labels}).
1361Labels)}).
1362 1358
1363 1359
1364@node Quick Equation 1360@node Quick Equation
@@ -1749,7 +1745,7 @@ and @code{reftex-fref-is-default} respectively. While still working,
1749these variables are deprecated now. Instead of setting them, the 1745these variables are deprecated now. Instead of setting them, the
1750variable @code{reftex-ref-style-default-list} should be adapted now. 1746variable @code{reftex-ref-style-default-list} should be adapted now.
1751 1747
1752@node xr (LaTeX package) 1748@node LaTeX xr Package
1753@section @code{xr}: Cross-Document References 1749@section @code{xr}: Cross-Document References
1754@cindex @code{xr}, LaTeX package 1750@cindex @code{xr}, LaTeX package
1755@cindex LaTeX packages, @code{xr} 1751@cindex LaTeX packages, @code{xr}
@@ -1883,8 +1879,8 @@ which the selection process was started.
1883@item mouse-2 1879@item mouse-2
1884@vindex reftex-highlight-selection 1880@vindex reftex-highlight-selection
1885Clicking with mouse button 2 on a citation will accept it like @key{RET} 1881Clicking with mouse button 2 on a citation will accept it like @key{RET}
1886would. See also variable @code{reftex-highlight-selection}, @ref{Options 1882would. See also variable @code{reftex-highlight-selection},
1887(Misc)}. 1883@ref{Options - Misc}.
1888 1884
1889@item m 1885@item m
1890Mark the current entry. When one or several entries are marked, 1886Mark the current entry. When one or several entries are marked,
@@ -2403,8 +2399,9 @@ Abort the indexing process.
2403 2399
2404The @samp{Find and Index in Document} menu in the phrases buffer also 2400The @samp{Find and Index in Document} menu in the phrases buffer also
2405lists a few options for the indexing process. The options have 2401lists a few options for the indexing process. The options have
2406associated customization variables to set the defaults (@pxref{Options 2402associated customization variables to set the defaults
2407(Index Support)}). Here is a short explanation of what the options do: 2403(@pxref{Options - Index Support}). Here is a short explanation of
2404what the options do:
2408 2405
2409@table @i 2406@table @i
2410@item Match Whole Words 2407@item Match Whole Words
@@ -2759,7 +2756,7 @@ variants@footnote{all macros that start with @samp{ref} or end with
2759@samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for 2756@samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for
2760cross-reference display. This works also for labels defined in an 2757cross-reference display. This works also for labels defined in an
2761external document when the current document refers to them through the 2758external document when the current document refers to them through the
2762@code{xr} interface (@pxref{xr (LaTeX package)}). 2759@code{xr} interface (@pxref{LaTeX xr Package}).
2763 2760
2764@item @code{\label} 2761@item @code{\label}
2765@cindex @code{\label} 2762@cindex @code{\label}
@@ -2908,7 +2905,7 @@ the ones defined in @file{font-lock.el}. Therefore, @RefTeX{} will
2908use faces only when @code{font-lock} is loaded. This seems to be 2905use faces only when @code{font-lock} is loaded. This seems to be
2909reasonable because people who like faces will very likely have it 2906reasonable because people who like faces will very likely have it
2910loaded. If you wish to turn off fontification or change the involved 2907loaded. If you wish to turn off fontification or change the involved
2911faces, see @ref{Options (Fontification)}. 2908faces, see @ref{Options - Fontification}.
2912 2909
2913@node Multifile Documents 2910@node Multifile Documents
2914@section Multifile Documents 2911@section Multifile Documents
@@ -3894,21 +3891,21 @@ Lisp (and even if you are) you might find it more comfortable to use
3894reftex-customize} will get you there. 3891reftex-customize} will get you there.
3895 3892
3896@menu 3893@menu
3897* Options (Table of Contents):: 3894* Options - Table of Contents::
3898* Options (Defining Label Environments):: 3895* Options - Defining Label Environments::
3899* Options (Creating Labels):: 3896* Options - Creating Labels::
3900* Options (Referencing Labels):: 3897* Options - Referencing Labels::
3901* Options (Creating Citations):: 3898* Options - Creating Citations::
3902* Options (Index Support):: 3899* Options - Index Support::
3903* Options (Viewing Cross-References):: 3900* Options - Viewing Cross-References::
3904* Options (Finding Files):: 3901* Options - Finding Files::
3905* Options (Optimizations):: 3902* Options - Optimizations::
3906* Options (Fontification):: 3903* Options - Fontification::
3907* Options (Misc):: 3904* Options - Misc::
3908* Keymaps and Hooks:: 3905* Keymaps and Hooks::
3909@end menu 3906@end menu
3910 3907
3911@node Options (Table of Contents) 3908@node Options - Table of Contents
3912@section Table of Contents 3909@section Table of Contents
3913@cindex Options, table of contents 3910@cindex Options, table of contents
3914@cindex Table of contents, options 3911@cindex Table of contents, options
@@ -4032,7 +4029,7 @@ The keymap which is active in the @file{*toc*} buffer.
4032(@pxref{Table of Contents}). 4029(@pxref{Table of Contents}).
4033@end deffn 4030@end deffn
4034 4031
4035@node Options (Defining Label Environments) 4032@node Options - Defining Label Environments
4036@section Defining Label Environments 4033@section Defining Label Environments
4037@cindex Options, defining label environments 4034@cindex Options, defining label environments
4038@cindex Defining label environments, options 4035@cindex Defining label environments, options
@@ -4259,7 +4256,7 @@ labels fn:xxx, you may want to set this variable to the value "^fn:$" or
4259non-footnote labels. 4256non-footnote labels.
4260@end defopt 4257@end defopt
4261 4258
4262@node Options (Creating Labels) 4259@node Options - Creating Labels
4263@section Creating Labels 4260@section Creating Labels
4264@cindex Options, creating labels 4261@cindex Options, creating labels
4265@cindex Creating labels, options 4262@cindex Creating labels, options
@@ -4375,7 +4372,7 @@ Character class after abbrev point in word.
4375@end table 4372@end table
4376@end defopt 4373@end defopt
4377 4374
4378@node Options (Referencing Labels) 4375@node Options - Referencing Labels
4379@section Referencing Labels 4376@section Referencing Labels
4380@cindex Options, referencing labels 4377@cindex Options, referencing labels
4381@cindex Referencing labels, options 4378@cindex Referencing labels, options
@@ -4497,7 +4494,7 @@ The keymap which is active in the labels selection process
4497(@pxref{Referencing Labels}). 4494(@pxref{Referencing Labels}).
4498@end deffn 4495@end deffn
4499 4496
4500@node Options (Creating Citations) 4497@node Options - Creating Citations
4501@section Creating Citations 4498@section Creating Citations
4502@cindex Options, creating citations 4499@cindex Options, creating citations
4503@cindex Creating citations, options 4500@cindex Creating citations, options
@@ -4676,7 +4673,7 @@ Footer to insert in BibTeX files generated by
4676@end defopt 4673@end defopt
4677 4674
4678 4675
4679@node Options (Index Support) 4676@node Options - Index Support, Options - Viewing Cross-References, Options - Creating Citations, Options
4680@section Index Support 4677@section Index Support
4681@cindex Options, Index support 4678@cindex Options, Index support
4682@cindex Index support, options 4679@cindex Index support, options
@@ -4896,7 +4893,7 @@ The keymap which is active in the @file{*Index*} buffer
4896(@pxref{Index Support}). 4893(@pxref{Index Support}).
4897@end deffn 4894@end deffn
4898 4895
4899@node Options (Viewing Cross-References) 4896@node Options - Viewing Cross-References
4900@section Viewing Cross-References 4897@section Viewing Cross-References
4901@cindex Options, viewing cross-references 4898@cindex Options, viewing cross-references
4902@cindex Viewing cross-references, options 4899@cindex Viewing cross-references, options
@@ -4955,7 +4952,7 @@ saved along with the parsing information. The cache survives document
4955scans. In order to clear it, use @kbd{M-x reftex-reset-mode}. 4952scans. In order to clear it, use @kbd{M-x reftex-reset-mode}.
4956@end defopt 4953@end defopt
4957 4954
4958@node Options (Finding Files) 4955@node Options - Finding Files
4959@section Finding Files 4956@section Finding Files
4960@cindex Options, Finding Files 4957@cindex Options, Finding Files
4961@cindex Finding files, options 4958@cindex Finding files, options
@@ -5045,7 +5042,7 @@ non-@code{nil}.
5045@end defopt 5042@end defopt
5046 5043
5047@page 5044@page
5048@node Options (Optimizations) 5045@node Options - Optimizations
5049@section Optimizations 5046@section Optimizations
5050@cindex Options, optimizations 5047@cindex Options, optimizations
5051@cindex Optimizations, options 5048@cindex Optimizations, options
@@ -5154,7 +5151,7 @@ effect when @code{reftex-use-multiple-selection-buffers} is
5154non-@code{nil}. 5151non-@code{nil}.
5155@end defopt 5152@end defopt
5156 5153
5157@node Options (Fontification) 5154@node Options - Fontification
5158@section Fontification 5155@section Fontification
5159@cindex Options, fontification 5156@cindex Options, fontification
5160@cindex Fontification, options 5157@cindex Fontification, options
@@ -5252,7 +5249,7 @@ Face name for index names (for multiple indices).
5252Face name for index entries. 5249Face name for index entries.
5253@end defopt 5250@end defopt
5254 5251
5255@node Options (Misc) 5252@node Options - Misc
5256@section Miscellaneous 5253@section Miscellaneous
5257@cindex Options, misc 5254@cindex Options, misc
5258 5255
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi
index cfd040f0e82..aa0752c80cd 100644
--- a/doc/misc/sc.texi
+++ b/doc/misc/sc.texi
@@ -84,12 +84,15 @@ into the following chapters.
84@node Introduction 84@node Introduction
85@chapter Introduction 85@chapter Introduction
86 86
87Supercite is a GNU Emacs package written entirely in Emacs Lisp. It 87@cindex MUA
88@cindex NUA
89Supercite is a GNU Emacs package written entirely in Emacs Lisp. It
88interfaces to most of the commonly used Emacs mail user agents 90interfaces to most of the commonly used Emacs mail user agents
89(@dfn{MUAs}) and news user agents (@dfn{NUAs}), and provides 91(@dfn{MUAs}) and news user agents (@dfn{NUAs}), and provides
90sophisticated facilities for the citing and attributing of message 92sophisticated facilities for the citing and attributing of message
91replies. Supercite has a very specific and limited role in the process 93replies. Supercite has a very specific and limited role in the
92of composing replies to both USENET network news and electronic mail. 94process of composing replies to both USENET network news and
95electronic mail.
93 96
94The preferred way to spell Supercite is with a capital @samp{S}, 97The preferred way to spell Supercite is with a capital @samp{S},
95lowercase @samp{upercite}. 98lowercase @samp{upercite}.
@@ -100,8 +103,7 @@ lowercase @samp{upercite}.
100* What Supercite Does:: 103* What Supercite Does::
101@end menu 104@end menu
102 105
103@cindex MUA 106@c FIXME: move it above the menu? --xfq
104@cindex NUA
105Supercite is only useful in conjunction with MUAs and NUAs such as VM, 107Supercite is only useful in conjunction with MUAs and NUAs such as VM,
106Gnus, RMAIL, MH-E, etc. Supercite is typically called by the MUA after a 108Gnus, RMAIL, MH-E, etc. Supercite is typically called by the MUA after a
107reply buffer has been setup. Thereafter, Supercite's many commands and 109reply buffer has been setup. Thereafter, Supercite's many commands and
@@ -118,21 +120,22 @@ sent. Supercite is re-initialized in each new reply buffer.
118@cindex cite, citing 120@cindex cite, citing
119@cindex attribute, attributing 121@cindex attribute, attributing
120 122
121Typical usage is as follows. You want to reply or followup to a message 123Typical usage is as follows. You want to reply or followup to a
122in your MUA@. You will probably hit @kbd{r} (i.e., ``reply'') or @kbd{f} 124message in your MUA@. You will probably hit @kbd{r} (i.e., ``reply'')
123(i.e., ``forward'') to begin composing the reply. In response, the MUA 125or @kbd{f} (i.e., ``forward'') to begin composing the reply. In
124will create a reply buffer and initialize the outgoing mail headers 126response, the MUA will create a reply buffer and initialize the
125appropriately. The body of the reply will usually be empty at this 127outgoing mail headers appropriately. The body of the reply will
126point. You now decide that you would like to include part of the 128usually be empty at this point. You now decide that you would like to
127original message in your reply. To do this, you @dfn{yank} the original 129include part of the original message in your reply. To do this, you
128message into the reply buffer, typically with a key stroke such as 130@dfn{yank} the original message into the reply buffer, typically with
129@kbd{C-c C-y}. This sequence will invoke an MUA-specific function which 131a key stroke such as @kbd{C-c C-y}. This sequence will invoke an
130fills the body of the reply with the original message and then 132MUA-specific function which fills the body of the reply with the
131@dfn{attributes} this text to its author. This is called @dfn{citing} 133original message and then @dfn{attributes} this text to its author.
132and its effect is to prefix every line from the original message with a 134This is called @dfn{citing} and its effect is to prefix every line
133special text tag. Most MUAs provide some default style of citing; by 135from the original message with a special text tag. Most MUAs provide
134using Supercite you gain a wider flexibility in the look and style of 136some default style of citing; by using Supercite you gain a wider
135citations. Supercite's only job is to cite the original message. 137flexibility in the look and style of citations. Supercite's only job
138is to cite the original message.
136 139
137@node What Supercite Does Not Do 140@node What Supercite Does Not Do
138@section What Supercite Doesn't Do 141@section What Supercite Doesn't Do
@@ -183,7 +186,7 @@ string carrying details about the citation it is about to perform.
183 186
184@cindex modeline 187@cindex modeline
185Next, Supercite visits each line in the reply, transforming the line 188Next, Supercite visits each line in the reply, transforming the line
186according to a customizable ``script.'' Lines which were not previously 189according to a customizable ``script''. Lines which were not previously
187cited in the original message are given a citation, while already cited 190cited in the original message are given a citation, while already cited
188lines remain untouched, or are coerced to your preferred style. 191lines remain untouched, or are coerced to your preferred style.
189Finally, Supercite installs a keymap into the reply buffer so that you 192Finally, Supercite installs a keymap into the reply buffer so that you
@@ -253,10 +256,10 @@ make the message very difficult for the eye to scan.
253 256
254@cindex non-nested citations 257@cindex non-nested citations
255In @dfn{non-nested citations}, each cited line begins with an 258In @dfn{non-nested citations}, each cited line begins with an
256informative string attributing that line to the original author. Only 259informative string attributing that line to the original author. Only
257the first level of attribution will be shown; subsequent citations don't 260the first level of attribution will be shown; subsequent citations
258nest the citation strings. The above dialog might look like this when 261don't nest the citation strings. The above dialog might look like
259non-nested citations are used: 262this when non-nested citations are used:
260 263
261@example 264@example
262John> John originally wrote this 265John> John originally wrote this
@@ -272,19 +275,20 @@ message did not result in a line cited with @samp{Jane>John>}.
272@vindex sc-nested-citation-p 275@vindex sc-nested-citation-p
273@vindex nested-citation-p (sc-) 276@vindex nested-citation-p (sc-)
274Supercite supports both styles of citation, and the variable 277Supercite supports both styles of citation, and the variable
275@code{sc-nested-citation-p} controls which style it will use when citing 278@code{sc-nested-citation-p} controls which style it will use when
276previously uncited text. When this variable is @code{nil} (the default), 279citing previously uncited text. When this variable is @code{nil} (the
277non-nested citations are used. When non-@code{nil}, nested citations 280default), non-nested citations are used. When non-@code{nil}, nested
278are used. 281citations are used.
279 282
280 283
281@node Citation Elements 284@node Citation Elements
282@section Citation Elements 285@section Citation Elements
283@cindex citation string 286@cindex citation string
284 287
285@dfn{Citation strings} are composed of one or more elements. Non-nested 288@dfn{Citation strings} are composed of one or more elements.
286citations are composed of four elements, three of which are directly 289Non-nested citations are composed of four elements, three of which are
287user definable. The elements are concatenated together, in this order: 290directly user definable. The elements are concatenated together, in
291this order:
288 292
289@cindex citation leader 293@cindex citation leader
290@vindex citation-leader (sc-) 294@vindex citation-leader (sc-)
@@ -337,10 +341,10 @@ multi-level nested citations.
337@section Recognizing Citations 341@section Recognizing Citations
338 342
339Supercite also recognizes citations in the original article, and can 343Supercite also recognizes citations in the original article, and can
340transform these already cited lines in a number of ways. This is how 344transform these already cited lines in a number of ways. This is how
341Supercite suppresses the multiple citing of non-nested citations. 345Supercite suppresses the multiple citing of non-nested citations.
342Recognition of cited lines is controlled by variables analogous to those 346Recognition of cited lines is controlled by variables analogous to
343that make up the citation string as mentioned previously. 347those that make up the citation string as mentioned previously.
344 348
345@vindex sc-citation-leader-regexp 349@vindex sc-citation-leader-regexp
346@vindex citation-leader-regexp (sc-) 350@vindex citation-leader-regexp (sc-)
@@ -387,16 +391,16 @@ change @code{sc-citation-root-regexp} you should always also change
387 391
388@dfn{Mail header information keys} are nuggets of information that 392@dfn{Mail header information keys} are nuggets of information that
389Supercite extracts from the various mail headers of the original 393Supercite extracts from the various mail headers of the original
390message, placed in the reply buffer by the MUA@. Information is kept in 394message, placed in the reply buffer by the MUA@. Information is kept
391the @dfn{Info Alist} as key-value pairs, and can be retrieved for use in 395in the @dfn{Info Alist} as key-value pairs, and can be retrieved for
392various places within Supercite, such as in header rewrite functions and 396use in various places within Supercite, such as in header rewrite
393attribution selection. Other bits of data, composed and created by 397functions and attribution selection. Other bits of data, composed and
394Supercite, are also kept as key-value pairs in this alist. In the case 398created by Supercite, are also kept as key-value pairs in this alist.
395of mail fields, the key is the name of the field, omitting the trailing 399In the case of mail fields, the key is the name of the field, omitting
396colon. Info keys are always case insensitive (as are mail headers), and 400the trailing colon. Info keys are always case insensitive (as are
397the value for a corresponding key can be retrieved from the alist with 401mail headers), and the value for a corresponding key can be retrieved
398the @code{sc-mail-field} function. Thus, if the following fields were 402from the alist with the @code{sc-mail-field} function. Thus, if the
399present in the original article:@refill 403following fields were present in the original article:@refill
400 404
401@example 405@example
402Date:@: 08 April 1991, 17:32:09 EST 406Date:@: 08 April 1991, 17:32:09 EST
@@ -419,7 +423,7 @@ then, the following lisp constructs return:
419Since the argument to @code{sc-mail-field} can be any string, it is 423Since the argument to @code{sc-mail-field} can be any string, it is
420possible that the mail field will not be present on the info alist 424possible that the mail field will not be present on the info alist
421(possibly because the mail header was not present in the original 425(possibly because the mail header was not present in the original
422message). In this case, @code{sc-mail-field} will return the value of 426message). In this case, @code{sc-mail-field} will return the value of
423the variable @code{sc-mumble}. 427the variable @code{sc-mumble}.
424 428
425Supercite always places all mail fields found in the yanked original 429Supercite always places all mail fields found in the yanked original
@@ -510,8 +514,8 @@ header.
510@vindex sc-rewrite-header-list 514@vindex sc-rewrite-header-list
511@vindex rewrite-header-list (sc-) 515@vindex rewrite-header-list (sc-)
512There are a number of built-in @dfn{header rewrite functions} supplied 516There are a number of built-in @dfn{header rewrite functions} supplied
513by Supercite, but you can write your own custom header rewrite functions 517by Supercite, but you can write your own custom header rewrite
514(perhaps using the built-in ones as examples). The variable 518functions (perhaps using the built-in ones as examples). The variable
515@code{sc-rewrite-header-list} contains the list of such header rewrite 519@code{sc-rewrite-header-list} contains the list of such header rewrite
516functions. This list is consulted both when inserting the initial 520functions. This list is consulted both when inserting the initial
517reference header, and when displaying @dfn{electric references}. 521reference header, and when displaying @dfn{electric references}.
@@ -521,7 +525,7 @@ reference header, and when displaying @dfn{electric references}.
521@vindex preferred-header-style (sc-) 525@vindex preferred-header-style (sc-)
522When Supercite is initially run on a reply buffer (via 526When Supercite is initially run on a reply buffer (via
523@code{sc-cite-original}), it will automatically call one of these 527@code{sc-cite-original}), it will automatically call one of these
524functions. The one it uses is defined in the variable 528functions. The one it uses is defined in the variable
525@code{sc-preferred-header-style}. The value of this variable is an 529@code{sc-preferred-header-style}. The value of this variable is an
526integer which is an index into the @code{sc-rewrite-header-list}, 530integer which is an index into the @code{sc-rewrite-header-list},
527beginning at zero. 531beginning at zero.
@@ -556,9 +560,9 @@ problem either in your MUA or in Supercite's installation).
556@findex sc-no-header 560@findex sc-no-header
557@findex no-header (sc-) 561@findex no-header (sc-)
558@item sc-no-header 562@item sc-no-header
559This function produces no header. It should be used instead of 563This function produces no header. It should be used instead of
560@code{nil} to produce a blank header. This header can possibly contain 564@code{nil} to produce a blank header. This header can possibly
561a blank line after the @code{mail-header-separator} line. 565contain a blank line after the @code{mail-header-separator} line.
562 566
563@item sc-no-blank-line-or-header 567@item sc-no-blank-line-or-header
564@findex sc-no-blank-line-or-header 568@findex sc-no-blank-line-or-header
@@ -612,11 +616,11 @@ line after the @code{mail-header-separator} line will be removed.
612By default, when Supercite cites the original message for the first 616By default, when Supercite cites the original message for the first
613time, it just goes ahead and inserts the reference header indexed by 617time, it just goes ahead and inserts the reference header indexed by
614@code{sc-preferred-header-style}. However, you may want to select 618@code{sc-preferred-header-style}. However, you may want to select
615different reference headers based on the type of reply or forwarding you 619different reference headers based on the type of reply or forwarding
616are doing. You may also want to preview the reference header before 620you are doing. You may also want to preview the reference header
617deciding whether to insert it into the reply buffer or not. Supercite 621before deciding whether to insert it into the reply buffer or
618provides an optional @dfn{electric reference} mode which you can drop 622not. Supercite provides an optional @dfn{electric reference} mode
619into to give you this functionality. 623which you can drop into to give you this functionality.
620 624
621@vindex sc-electric-references-p 625@vindex sc-electric-references-p
622@vindex electric-references-p (sc-) 626@vindex electric-references-p (sc-)
@@ -629,7 +633,7 @@ through all the reference header rewrite functions in your
629@code{sc-rewrite-header-list}. 633@code{sc-rewrite-header-list}.
630 634
631You can also set a new preferred header style, jump to any header, or 635You can also set a new preferred header style, jump to any header, or
632jump to the preferred header. The header will be shown in the electric 636jump to the preferred header. The header will be shown in the electric
633reference buffer and the header index and function name will appear in 637reference buffer and the header index and function name will appear in
634the echo area. 638the echo area.
635 639
@@ -643,7 +647,7 @@ The following commands are available while in electric reference mode
643@kindex n 647@kindex n
644@vindex sc-electric-circular-p 648@vindex sc-electric-circular-p
645@vindex electric-circular-p (sc-) 649@vindex electric-circular-p (sc-)
646Displays the next reference header in the electric reference buffer. If 650Displays the next reference header in the electric reference buffer. If
647the variable @code{sc-electric-circular-p} is non-@code{nil}, invoking 651the variable @code{sc-electric-circular-p} is non-@code{nil}, invoking
648@code{sc-eref-next} while viewing the last reference header in the list 652@code{sc-eref-next} while viewing the last reference header in the list
649will wrap around to the first header.@refill 653will wrap around to the first header.@refill
@@ -854,7 +858,7 @@ affect alternative citing styles.
854@vindex mail-warn-if-non-rfc822-p (sc-) 858@vindex mail-warn-if-non-rfc822-p (sc-)
855All previously retrieved info key-value pairs are deleted from the info 859All previously retrieved info key-value pairs are deleted from the info
856alist, then the mail headers in the body of the yanked message are 860alist, then the mail headers in the body of the yanked message are
857scanned. Info key-value pairs are created for each header found. Also, 861scanned. Info key-value pairs are created for each header found. Also,
858such useful information as the author's name and email address are 862such useful information as the author's name and email address are
859extracted. If the variable @code{sc-mail-warn-if-non-rfc822-p} is 863extracted. If the variable @code{sc-mail-warn-if-non-rfc822-p} is
860non-@code{nil}, then Supercite will warn you if it finds a mail header 864non-@code{nil}, then Supercite will warn you if it finds a mail header
@@ -931,7 +935,7 @@ in the original message should be cited or not. If this variable is
931non-@code{nil}, blank lines will be cited just like non-blank lines. 935non-@code{nil}, blank lines will be cited just like non-blank lines.
932Otherwise, blank lines will be treated as paragraph separators. 936Otherwise, blank lines will be treated as paragraph separators.
933 937
934Citing of the original message is highly configurable. Supercite's 938Citing of the original message is highly configurable. Supercite's
935default setup does a pretty good job of citing many common forms of 939default setup does a pretty good job of citing many common forms of
936previously cited messages. But there are as many citation styles out 940previously cited messages. But there are as many citation styles out
937there as people on the net, or just about! It would be impossible for 941there as people on the net, or just about! It would be impossible for
@@ -945,8 +949,8 @@ recognize those styles you see often.
945@vindex sc-post-hook 949@vindex sc-post-hook
946@vindex post-hook (sc-) 950@vindex post-hook (sc-)
947This variable is very similar to @code{sc-pre-hook}, except that it runs 951This variable is very similar to @code{sc-pre-hook}, except that it runs
948after @code{sc-cite-original} is finished. This hook is provided mostly 952after @code{sc-cite-original} is finished. This hook is provided mostly
949for completeness and backward compatibility. Perhaps it could be used to 953for completeness and backward compatibility. Perhaps it could be used to
950reset certain variables set in @code{sc-pre-hook}.@refill 954reset certain variables set in @code{sc-pre-hook}.@refill
951@end enumerate 955@end enumerate
952 956
@@ -1012,7 +1016,7 @@ both of these variables is provided on the key binding
1012@pxref{Post-yank Formatting Commands}).@refill 1016@pxref{Post-yank Formatting Commands}).@refill
1013 1017
1014You will noticed that the minor mode string will 1018You will noticed that the minor mode string will
1015show the state of these variables as qualifier characters. When both 1019show the state of these variables as qualifier characters. When both
1016variables are @code{nil}, the Supercite minor mode string will display 1020variables are @code{nil}, the Supercite minor mode string will display
1017@samp{SC}. When just @code{sc-auto-fill-region-p} is non-@code{nil}, the 1021@samp{SC}. When just @code{sc-auto-fill-region-p} is non-@code{nil}, the
1018string will display @samp{SC:f}, and when just 1022string will display @samp{SC:f}, and when just
@@ -1036,11 +1040,11 @@ fill cited text.
1036@vindex preferred-attribution-list (sc-) 1040@vindex preferred-attribution-list (sc-)
1037 1041
1038As you know, the attribution string is the part of the author's name 1042As you know, the attribution string is the part of the author's name
1039that will be used to composed a non-nested citation string. Supercite 1043that will be used to composed a non-nested citation string. Supercite
1040scans the various mail headers present in the original article and uses 1044scans the various mail headers present in the original article and uses
1041a number of heuristics to extract strings which it puts into the 1045a number of heuristics to extract strings which it puts into the
1042@dfn{attribution association list} or @dfn{attribution alist}. This is 1046@dfn{attribution association list} or @dfn{attribution alist}. This is
1043analogous, but different than, the info alist previously mentioned. Each 1047analogous, but different than, the info alist previously mentioned. Each
1044element in the attribution alist is a key-value pair containing such 1048element in the attribution alist is a key-value pair containing such
1045information as the author's first name, middle names, and last name, the 1049information as the author's first name, middle names, and last name, the
1046author's initials, and the author's email terminus. 1050author's initials, and the author's email terminus.
@@ -1083,7 +1087,7 @@ the author's last name.
1083the author's first middle name. 1087the author's first middle name.
1084 1088
1085@item "sc-lastchoice" 1089@item "sc-lastchoice"
1086the last attribution string you have selected. This is useful when you 1090the last attribution string you have selected. This is useful when you
1087recite paragraphs in the reply.@refill 1091recite paragraphs in the reply.@refill
1088 1092
1089@item "sc-consult" 1093@item "sc-consult"
@@ -1094,7 +1098,7 @@ be used to select special attributions based on the value of any info
1094key. See below for details. 1098key. See below for details.
1095 1099
1096@item "x-attribution" 1100@item "x-attribution"
1097the original author's suggestion for attribution string choice. See below 1101the original author's suggestion for attribution string choice. See below
1098for details.@refill 1102for details.@refill
1099@end table 1103@end table
1100 1104
@@ -1141,7 +1145,7 @@ Each element in this list contains lists of the following form:
1141@findex sc-mail-field 1145@findex sc-mail-field
1142@findex mail-field (sc-) 1146@findex mail-field (sc-)
1143where @var{infokey} is a key for @code{sc-mail-field} and @var{regexp} 1147where @var{infokey} is a key for @code{sc-mail-field} and @var{regexp}
1144is a regular expression to match against the @var{infokey}'s value. If 1148is a regular expression to match against the @var{infokey}'s value. If
1145@var{regexp} matches the @var{infokey}'s value, the @var{attribution} is 1149@var{regexp} matches the @var{infokey}'s value, the @var{attribution} is
1146used as the attribution string. Actually, @var{attribution} can be a 1150used as the attribution string. Actually, @var{attribution} can be a
1147string or a list; if it is a list, it is @code{eval}uated and the return 1151string or a list; if it is a list, it is @code{eval}uated and the return
@@ -1166,7 +1170,7 @@ The fallback author name is contained in the variable
1166@code{sc-default-author-name} and the fallback attribution string is 1170@code{sc-default-author-name} and the fallback attribution string is
1167contained in the variable @code{sc-default-attribution}. Default values 1171contained in the variable @code{sc-default-attribution}. Default values
1168for these variables are @code{"Anonymous"} and @code{"Anon"}, 1172for these variables are @code{"Anonymous"} and @code{"Anon"},
1169respectively. Note that in most circumstances, getting the default 1173respectively. Note that in most circumstances, getting the default
1170author name or attribution is a sign that something is set up 1174author name or attribution is a sign that something is set up
1171incorrectly. 1175incorrectly.
1172 1176
@@ -1174,7 +1178,7 @@ incorrectly.
1174@vindex use-only-preference-p (sc-) 1178@vindex use-only-preference-p (sc-)
1175Also, if the preferred attribution, which you specified in your 1179Also, if the preferred attribution, which you specified in your
1176@code{sc-preferred-attribution-list} variable cannot be found, a 1180@code{sc-preferred-attribution-list} variable cannot be found, a
1177secondary method can be employed to find a valid attribution string. The 1181secondary method can be employed to find a valid attribution string. The
1178variable @code{sc-use-only-preference-p} controls what happens in this 1182variable @code{sc-use-only-preference-p} controls what happens in this
1179case. If the variable's value is non-@code{nil}, then 1183case. If the variable's value is non-@code{nil}, then
1180@code{sc-default-author-name} and @code{sc-default-attribution} are 1184@code{sc-default-author-name} and @code{sc-default-attribution} are
@@ -1209,11 +1213,11 @@ attribution alist.
1209@vindex sc-confirm-always-p 1213@vindex sc-confirm-always-p
1210@vindex confirm-always-p (sc-) 1214@vindex confirm-always-p (sc-)
1211Once the attribution string has been automatically selected, a number of 1215Once the attribution string has been automatically selected, a number of
1212things can happen. If the variable @code{sc-confirm-always-p} is 1216things can happen. If the variable @code{sc-confirm-always-p} is
1213non-@code{nil}, you are queried for confirmation of the chosen 1217non-@code{nil}, you are queried for confirmation of the chosen
1214attribution string. The possible values for completion are those strings 1218attribution string. The possible values for completion are those strings
1215in the attribution alist, however you are not limited to these choices. 1219in the attribution alist, however you are not limited to these choices.
1216You can type any arbitrary string at the confirmation prompt. The string 1220You can type any arbitrary string at the confirmation prompt. The string
1217you enter becomes the value associated with the @code{"sc-lastchoice"} 1221you enter becomes the value associated with the @code{"sc-lastchoice"}
1218key in the attribution alist. 1222key in the attribution alist.
1219 1223
@@ -1279,7 +1283,7 @@ author's name proper. Examples include the titles ``Dr.'', ``Mr.'',
1279Also, some companies prepend or append the name of the division, 1283Also, some companies prepend or append the name of the division,
1280organization, or project on the author's name. All of these titles are 1284organization, or project on the author's name. All of these titles are
1281noise which should be ignored. The variable @code{sc-name-filter-alist} 1285noise which should be ignored. The variable @code{sc-name-filter-alist}
1282is used for this purpose. As implied by its name, this variable is an 1286is used for this purpose. As implied by its name, this variable is an
1283association list, where each element is a cons cell of the form: 1287association list, where each element is a cons cell of the form:
1284 1288
1285@example 1289@example
@@ -1290,7 +1294,7 @@ association list, where each element is a cons cell of the form:
1290where @var{regexp} is a regular expression that is matched (using 1294where @var{regexp} is a regular expression that is matched (using
1291@code{string-match}) against each element of the @samp{From:@:} field's 1295@code{string-match}) against each element of the @samp{From:@:} field's
1292author name. @var{position} is a position indicator, starting at zero. 1296author name. @var{position} is a position indicator, starting at zero.
1293Thus to strip out all titles of ``Dr.'', ``Mr.'', etc. from the name, 1297Thus to strip out all titles of ``Dr.'', ``Mr.'', etc. from the name,
1294@code{sc-name-filter-alist} would have an entry such as: 1298@code{sc-name-filter-alist} would have an entry such as:
1295 1299
1296@example 1300@example
@@ -1380,10 +1384,10 @@ The four special symbol values for @var{pred} are recognized:
1380@item t 1384@item t
1381Always produces a true outcome. 1385Always produces a true outcome.
1382@item begin 1386@item begin
1383Always executed before the frame is interpreted. This can be used to 1387Always executed before the frame is interpreted. This can be used to
1384initialize some global variables for example. 1388initialize some global variables for example.
1385@item end 1389@item end
1386Always executed after frame interpreting is completed. This can be used 1390Always executed after frame interpreting is completed. This can be used
1387to perform any necessary post-processing. 1391to perform any necessary post-processing.
1388@item every 1392@item every
1389Executes whenever the frame is reset, usually after the entire frame has 1393Executes whenever the frame is reset, usually after the entire frame has
@@ -1406,12 +1410,12 @@ of the following elements:@refill
1406@table @asis 1410@table @asis
1407@item the symbol @code{continue} 1411@item the symbol @code{continue}
1408This tells Regi to continue processing entries after a match, instead of 1412This tells Regi to continue processing entries after a match, instead of
1409resetting the frame and moving @samp{point}. In this way, lines of text 1413resetting the frame and moving @samp{point}. In this way, lines of text
1410can have multiple matches, but you have to be careful to avoid entering 1414can have multiple matches, but you have to be careful to avoid entering
1411infinite loops. 1415infinite loops.
1412 1416
1413@item the symbol @code{abort} 1417@item the symbol @code{abort}
1414This tells Regi to terminate frame processing. However, any @code{end} 1418This tells Regi to terminate frame processing. However, any @code{end}
1415entry is still processed. 1419entry is still processed.
1416 1420
1417@item the list @code{(frame . @var{newframe})} 1421@item the list @code{(frame . @var{newframe})}
@@ -1422,7 +1426,7 @@ can be the frame in-lined.@refill
1422 1426
1423@item the list @code{(step . @var{step})} 1427@item the list @code{(step . @var{step})}
1424Tells Regi to move @var{step} number of lines forward as it continues 1428Tells Regi to move @var{step} number of lines forward as it continues
1425processing. By default, Regi moves forward one line. @var{step} can be 1429processing. By default, Regi moves forward one line. @var{step} can be
1426zero or negative of course, but watch out for infinite loops.@refill 1430zero or negative of course, but watch out for infinite loops.@refill
1427@end table 1431@end table
1428 1432
@@ -1510,12 +1514,12 @@ is not found from the alist, then the appropriate default frame is used.
1510 1514
1511Once the original message has been yanked into the reply buffer, and 1515Once the original message has been yanked into the reply buffer, and
1512@code{sc-cite-original} has had a chance to do its thing, a number of 1516@code{sc-cite-original} has had a chance to do its thing, a number of
1513useful Supercite commands will be available to you. Since there is wide 1517useful Supercite commands will be available to you. Since there is wide
1514variety in the keymaps that MUAs set up in their reply buffers, it is 1518variety in the keymaps that MUAs set up in their reply buffers, it is
1515next to impossible for Supercite to properly sprinkle its commands into 1519next to impossible for Supercite to properly sprinkle its commands into
1516the existing keymap. For this reason Supercite places its commands on a 1520the existing keymap. For this reason Supercite places its commands on a
1517separate keymap, putting this keymap onto a prefix key in the reply 1521separate keymap, putting this keymap onto a prefix key in the reply
1518buffer. You can customize the prefix key Supercite uses by changing the 1522buffer. You can customize the prefix key Supercite uses by changing the
1519variable @code{sc-mode-map-prefix}. By default, the 1523variable @code{sc-mode-map-prefix}. By default, the
1520@code{sc-mode-map-prefix} is @kbd{C-c C-p}; granted, not a great choice, 1524@code{sc-mode-map-prefix} is @kbd{C-c C-p}; granted, not a great choice,
1521but unfortunately the best general solution so far. In the rest of this 1525but unfortunately the best general solution so far. In the rest of this
@@ -1536,7 +1540,7 @@ prefix.@refill
1536 1540
1537Probably the three most common post-yank formatting operations that you 1541Probably the three most common post-yank formatting operations that you
1538will perform will be the manual citing, reciting, and unciting of 1542will perform will be the manual citing, reciting, and unciting of
1539regions of text in the reply buffer. Often you may want to recite a 1543regions of text in the reply buffer. Often you may want to recite a
1540paragraph to use a nickname, or manually cite a message when setting 1544paragraph to use a nickname, or manually cite a message when setting
1541@code{sc-cite-region-limit} to @code{nil}. The following commands 1545@code{sc-cite-region-limit} to @code{nil}. The following commands
1542perform these functions on the region of text between @samp{point} and 1546perform these functions on the region of text between @samp{point} and
@@ -1582,7 +1586,7 @@ cited line in the region by interpreting the selected frame from
1582@item @code{sc-recite-region} (@kbd{C-c C-p r}) 1586@item @code{sc-recite-region} (@kbd{C-c C-p r})
1583This command recites each line the region by interpreting the selected 1587This command recites each line the region by interpreting the selected
1584frame from @code{sc-recite-frame-alist}, or the default reciting frame 1588frame from @code{sc-recite-frame-alist}, or the default reciting frame
1585@code{sc-default-recite-frame}. It runs the hook 1589@code{sc-default-recite-frame}. It runs the hook
1586@code{sc-pre-recite-hook} before interpreting the frame. 1590@code{sc-pre-recite-hook} before interpreting the frame.
1587@xref{Configuring the Citation Engine}.@refill 1591@xref{Configuring the Citation Engine}.@refill
1588 1592
@@ -1606,7 +1610,7 @@ These two functions insert various strings into the reply buffer.
1606@vindex preferred-header-style (sc-) 1610@vindex preferred-header-style (sc-)
1607Inserts a reference header into the reply buffer at @samp{point}. With 1611Inserts a reference header into the reply buffer at @samp{point}. With
1608no arguments, the header indexed by @code{sc-preferred-header-style} is 1612no arguments, the header indexed by @code{sc-preferred-header-style} is
1609inserted. An optional numeric argument is the index into 1613inserted. An optional numeric argument is the index into
1610@code{sc-rewrite-header-list} indicating which reference header to 1614@code{sc-rewrite-header-list} indicating which reference header to
1611write.@refill 1615write.@refill
1612 1616
@@ -1719,7 +1723,7 @@ Allows you to interactively view, modify, add, and delete info alist
1719key-value pairs. With no argument, you are prompted (with completion) 1723key-value pairs. With no argument, you are prompted (with completion)
1720for a info key. The value associated with that key is displayed in the 1724for a info key. The value associated with that key is displayed in the
1721minibuffer. With an argument, this command will first ask if you want 1725minibuffer. With an argument, this command will first ask if you want
1722to view, modify, add, or delete an info key. Viewing is identical to 1726to view, modify, add, or delete an info key. Viewing is identical to
1723running the command with no arguments. 1727running the command with no arguments.
1724 1728
1725If you want to modify the value of a key, Supercite will first prompt 1729If you want to modify the value of a key, Supercite will first prompt
@@ -1770,7 +1774,7 @@ an optional numeric argument inserts that many new lines.@refill
1770@chapter Hints to MUA Authors 1774@chapter Hints to MUA Authors
1771 1775
1772In June of 1989, some discussion was held between the various MUA 1776In June of 1989, some discussion was held between the various MUA
1773authors, the Supercite author, and other Supercite users. These 1777authors, the Supercite author, and other Supercite users. These
1774discussions centered around the need for a standard interface between 1778discussions centered around the need for a standard interface between
1775MUAs and Supercite (or any future Supercite-like packages). This 1779MUAs and Supercite (or any future Supercite-like packages). This
1776interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in 1780interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in
@@ -1810,14 +1814,14 @@ some default citing when that is the case.@refill
1810 1814
1811If you are writing a new MUA package, or maintaining an existing MUA 1815If you are writing a new MUA package, or maintaining an existing MUA
1812package, you should make it conform to this interface so that your users 1816package, you should make it conform to this interface so that your users
1813will be able to link Supercite easily and seamlessly. To do this, when 1817will be able to link Supercite easily and seamlessly. To do this, when
1814setting up a reply or forward buffer, your MUA should follow these 1818setting up a reply or forward buffer, your MUA should follow these
1815steps: 1819steps:
1816 1820
1817@enumerate 1821@enumerate
1818@item 1822@item
1819Insert the original message, including the mail headers into the reply 1823Insert the original message, including the mail headers into the reply
1820buffer. At this point you should not modify the raw text in any way 1824buffer. At this point you should not modify the raw text in any way
1821(except for any necessary decoding, e.g., of quoted-printable text), and 1825(except for any necessary decoding, e.g., of quoted-printable text), and
1822you should place all the original headers into the body of the reply. 1826you should place all the original headers into the body of the reply.
1823This means that many of the mail headers will be duplicated, one copy 1827This means that many of the mail headers will be duplicated, one copy
@@ -1826,7 +1830,7 @@ there will probably be more headers below this line.@refill
1826 1830
1827@item 1831@item
1828Set @samp{point} to the beginning of the line containing the first mail 1832Set @samp{point} to the beginning of the line containing the first mail
1829header in the body of the reply. Set @samp{mark} at the end of the 1833header in the body of the reply. Set @samp{mark} at the end of the
1830message text. It is very important that the region be set around the 1834message text. It is very important that the region be set around the
1831text Supercite is to modify and that the mail headers are within this 1835text Supercite is to modify and that the mail headers are within this
1832region. Supercite will not venture outside the region for any reason, 1836region. Supercite will not venture outside the region for any reason,
@@ -1834,7 +1838,7 @@ and anything within the region is fair game, so don't put anything that
1834@strong{must} remain unchanged inside the region.@refill 1838@strong{must} remain unchanged inside the region.@refill
1835 1839
1836@item 1840@item
1837Run the hook @code{mail-citation-hook}. You will probably want to 1841Run the hook @code{mail-citation-hook}. You will probably want to
1838provide some kind of default citation functions in cases where the user 1842provide some kind of default citation functions in cases where the user
1839does not have Supercite installed. By default, your MUA should 1843does not have Supercite installed. By default, your MUA should
1840@code{defvar} @code{mail-citation-hook} to @code{nil}, and in your 1844@code{defvar} @code{mail-citation-hook} to @code{nil}, and in your
@@ -1853,9 +1857,9 @@ this interface ``out of the box.''
1853 1857
1854The Supercite package was derived from its predecessor Superyank 1.11 1858The Supercite package was derived from its predecessor Superyank 1.11
1855which was inspired by various bits of code and ideas from Martin Neitzel 1859which was inspired by various bits of code and ideas from Martin Neitzel
1856and Ashwin Ram. They were the folks who came up with the idea of 1860and Ashwin Ram. They were the folks who came up with the idea of
1857non-nested citations and implemented some rough code to provide this 1861non-nested citations and implemented some rough code to provide this
1858style. Superyank and Supercite version 2 evolved to the point where much 1862style. Superyank and Supercite version 2 evolved to the point where much
1859of the attribution selection mechanism was automatic, and features have 1863of the attribution selection mechanism was automatic, and features have
1860been continuously added through the comments and suggestions of the 1864been continuously added through the comments and suggestions of the
1861Supercite mailing list participants. 1865Supercite mailing list participants.
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 3427d2ad0e3..e8fed290734 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2013-06-23.10} 6\def\texinfoversion{2013-08-09.09}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -2377,8 +2377,10 @@ end
2377 \ifx\next,% 2377 \ifx\next,%
2378 \else\ifx\next-% 2378 \else\ifx\next-%
2379 \else\ifx\next.% 2379 \else\ifx\next.%
2380 \else\ifx\next\.%
2381 \else\ifx\next\comma%
2380 \else\ptexslash 2382 \else\ptexslash
2381 \fi\fi\fi 2383 \fi\fi\fi\fi\fi
2382 \aftersmartic 2384 \aftersmartic
2383} 2385}
2384 2386
@@ -2519,7 +2521,9 @@ end
2519 \ifx\codedashprev\codedash 2521 \ifx\codedashprev\codedash
2520 \else \discretionary{}{}{}\fi 2522 \else \discretionary{}{}{}\fi
2521 \fi 2523 \fi
2522 \global\let\codedashprev=\next 2524 % we need the space after the = for the case when \next itself is a
2525 % space token; it would get swallowed otherwise. As in @code{- a}.
2526 \global\let\codedashprev= \next
2523 } 2527 }
2524} 2528}
2525\def\normaldash{-} 2529\def\normaldash{-}
diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi
new file mode 100644
index 00000000000..a622298ba12
--- /dev/null
+++ b/doc/misc/todo-mode.texi
@@ -0,0 +1,1760 @@
1\input texinfo.tex @c -*-texinfo-*-
2@c %**start of header
3@setfilename ../../info/todo-mode
4@settitle Todo Mode User Manual
5@syncodeindex fn cp
6@syncodeindex vr cp
7@syncodeindex ky cp
8@c %**end of header
9
10@copying
11Copyright @copyright{} 2013 Free Software Foundation, Inc.
12
13@quotation
14Permission is granted to copy, distribute and/or modify this document
15under the terms of the GNU Free Documentation License, Version 1.3 or
16any later version published by the Free Software Foundation; with no
17Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
18and with the Back-Cover Texts as in (a) below. A copy of the license
19is included in the section entitled ``GNU Free Documentation License''.
20
21(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
22modify this GNU manual.''
23@end quotation
24@end copying
25
26@dircategory Emacs misc features
27@direntry
28* Todo Mode: (todo-mode). Make and maintain todo lists.
29@end direntry
30
31@titlepage
32@title Todo Mode User Manual
33@subtitle Facilities for making and maintaining todo lists.
34
35@author Stephen Berman
36@page
37
38@vskip 0pt plus 1filll
39@insertcopying
40@end titlepage
41
42@contents
43
44@ifnottex
45
46@node Top
47@top Todo Mode User Manual
48
49This manual describes the version of Todo mode first appearing in
50Emacs 24.4.
51
52@insertcopying
53@end ifnottex
54
55@menu
56* Overview::
57* Todo Mode Entry Points::
58* Key Binding Conventions::
59* Navigation:: Moving within and between categories.
60* Editing:: Adding, deleting and changing todo
61 files, categories and items.
62* Todo Archives:: Files of done todo items.
63* Marked Items:: Acting on multiple items simultaneously.
64* Todo Categories Mode:: Table of categories and item counts.
65* Searching for Items::
66* Todo Filtered Items Mode:: Making virtual categories of items from
67 different categories and files.
68* Todo Display Features::
69* Printing Todo Buffers::
70* Legacy Todo Mode Files:: Converting old-style todo files.
71
72* GNU Free Documentation License::
73
74@detailmenu
75--- The Detailed Node Listing ---
76
77Overview
78
79* Levels of Organization::
80* Todo Items as Diary Entries::
81
82Editing
83
84* File Editing::
85* Category Editing::
86* Item Editing::
87
88Item Editing
89
90* Inserting New Items::
91* Editing Item Headers and Text::
92* Relocating and Removing Items::
93
94Relocating and Removing Items
95
96* Reprioritizing Items::
97* Moving and Deleting Items::
98* Done Items::
99
100Todo Archives
101
102* Creating and Visiting Archives::
103* Todo Archive Mode::
104
105Todo Categories Mode
106
107* Table of Item Counts::
108* Reordering Categories::
109
110Todo Filtered Items Mode
111
112* Filtering Items::
113* Todo Filtered Items Mode Commands::
114* Files of Filtered Items::
115
116Todo Display Features
117
118* Faces::
119* Item Prefix::
120* Other Display Commands and Options::
121@end detailmenu
122@end menu
123
124@node Overview, Todo Mode Entry Points, Top, Top
125@chapter Overview
126
127The Todo mode package provides facilities for making and maintaining
128todo lists. A todo list is a list of todo items---things to do (in the
129widest sense)---arranged in order of priority, with the highest priority
130item at the top of the list and the lowest priority item at the bottom.
131
132This manual describes the Todo mode user interface. Todo mode comprises
133a large number of commands and user options for creating, displaying,
134navigating and editing todo lists, distributed across five major modes.
135The principle major mode is Todo mode; the other four (Todo Edit mode,
136Todo Archive mode, Todo Categories mode, and Todo Filtered Items mode)
137are subsidiary to and accessible from Todo mode.
138
139This version of Todo mode greatly expands on, and in significant ways
140differs from, the original version; for details and consequences of the
141most important differences, @ref{Legacy Todo Mode Files}.
142
143@menu
144* Levels of Organization::
145* Todo Items as Diary Entries::
146@end menu
147
148@node Levels of Organization, Todo Items as Diary Entries, , Overview
149@section Levels of Organization
150
151In Todo mode each todo list is identified with a named category, so you
152can group together thematically related todo items. Each category is
153stored in a file, which thus provides a further level of organization.
154You can create as many todo files, and in each as many categories, as
155you want.
156
157All todo files reside in a single directory, whose location is specified
158by the user option @code{todo-directory}. This directory may also
159contain other types of Todo files, which are discussed later
160(@pxref{Todo Archive Mode} and @ref{Todo Filtered Items Mode}). Emacs
161recognizes Todo files by their extension, so when you visit the files
162the buffer is in the appropriate mode and the current category is
163correctly displayed.
164
165When you use a Todo mode command to create a todo file, the extension
166@samp{.todo} is automatically added to the base name you choose (as a
167rule, this name is also used for the other types of Todo files, which
168have their own extensions). As a user, you only have to deal with the
169base name of a Todo file.
170
171When you create a new todo file, you must also add at least one category
172to it, and each todo item belongs to a category. It is not possible to
173have an uncategorized todo list, but you can always make a catch-all
174category with a generic name like ``Todo'', which is in fact the default
175name assigned to the first category when you create a new todo file, if
176you don't provide a different name; you can change the default by
177customizing @code{todo-initial-category}.
178
179The most basic level of organization is the todo item itself, since it
180contains the information about what you want to do. As detailed in
181subsequent sections of this manual, most Todo mode commands and user
182options concern ways of classifying and deploying this information by
183associating various kinds of metadata with it, e.g., the category it
184belongs to, its priority, whether it is to be included in the Emacs
185diary, date and time stamps, whether it is done or still to do.
186
187@node Todo Items as Diary Entries, , Levels of Organization, Overview
188@section Todo Items as Diary Entries
189
190Each todo item is also a potential diary item: if you include a todo
191file in the Emacs diary file (@pxref{Fancy Diary Display,,, emacs}), the
192Fancy Diary display will show those todo items that are not marked with
193@code{todo-nondiary-marker}. This effectively augments the Emacs diary
194with categorized diary entries. For the various options available for
195making a todo item a diary entry, see @ref{Inserting New Items} and
196@ref{Editing Item Headers and Text}.
197
198To ensure the proper display of todo items in the Fancy Diary display,
199they must have the format of diary entries, i.e., they have to begin
200with a date string recognized by the Emacs diary,@footnote{Two types of
201dates recognized by the Emacs diary are not supported in the current
202Todo mode implementation: sexp diary entries and date strings in which
203the year is omitted (however, the latter type is equivalent to using
204@samp{*} for an arbitrary year, which Todo mode does support).} and if
205they are longer than one line, all lines but the first must begin with
206white space. Todo mode ensures that these requirements are satisfied
207(@pxref{Other Display Commands and Options}).
208
209The Fancy Diary display is also Todo mode aware: if it contains an item
210from a Todo mode file, clicking or typing @key{RET} on this item will
211switch to the buffer visiting that file and properly display the item's
212category, with point on the item.
213
214@node Todo Mode Entry Points, Key Binding Conventions, Overview, Top
215@chapter Todo Mode Entry Points
216
217To initialize your first todo file, invoke the command @code{todo-show}.
218This prompts you for a file name (defaulting to the value of
219@code{todo-initial-file}), prompts you for the name of the first
220category (defaulting to the value of @code{todo-initial-category}),
221creates and visits the file and displays the category in Todo mode, and
222then prompts you to enter the first item. If you choose not to enter an
223item now, simply type @kbd{C-g}, which leaves the category empty but
224otherwise well-formed. If you prefer not to be prompted to enter an
225item on adding a new category, disable the option
226@code{todo-add-item-if-new-category}.
227
228Once at least one todo file exists, invoking @code{todo-show} enters
229Todo mode. Invoked with a prefix argument, the command prompts for
230which todo file to visit. Otherwise, the first invocation of this
231command after loading the Todo mode package visits the default todo file
232(option @code{todo-default-todo-file}) and shows its first category.
233(You can get a different display with the first invocation of
234@code{todo-show} by customizing the option @code{todo-show-first};
235@pxref{Todo Categories Mode} and @ref{Files of Filtered Items}.)
236
237If you leave Todo mode and later invoke @code{todo-show} to re-enter it,
238by default this returns you to the current (i.e., last displayed)
239category of the current todo file, which is the one in the most recently
240selected and still live buffer visiting a todo file. If you disable the
241option @code{todo-show-current-file}, then non-initial invocations of
242@code{todo-show} always return to the first or current category of the
243default todo file.
244
245If you want to enter Todo mode and go directly to a specific category
246instead the first or current category in the current or default todo
247file, use the command @code{todo-jump-to-category}; @ref{Navigation}, for
248details. You can also enter Todo mode by invoking a todo item insertion
249command; @ref{Inserting New Items}, for details.
250
251The most convenient way to use these commands to enter Todo mode is to
252define global key bindings for them in your init file. Good choices are
253for @code{todo-show} and @code{todo-jump-to-category} are @kbd{C-c t}
254and @kbd{C-c j}, since these commands are bound to @kbd{t} and @kbd{j},
255respectively, in Todo mode. For invoking item insertion from outside of
256Todo mode, it is useful to bind @code{todo-insertion-map}, which is the
257key map containing the bindings of all Todo item insertion commands, to
258@kbd{C-c i}, since it is bound to @kbd{i} in Todo mode; to complete the
259invocation, supply the rest of the key sequence (@pxref{Inserting New
260Items}).
261
262You can also visit a Todo file via @code{find-file} or Dired, like any
263other file, and since Emacs recognizes it, the buffer will automatically
264be in the appropriate Todo mode. Moreover, as long as the command you
265use to visit the file is listed in the option
266@code{todo-visit-files-commands} (which by default contains
267@code{find-file} and @code{dired-find-file}), it will also correctly
268display the file's first category on first visiting the file (otherwise
269you have to use one of the commands for navigating between categories in
270order to get a proper display).
271
272You can leave Todo mode by typing @kbd{q} (@code{todo-quit}), which
273buries the current todo file buffer. Doing this also saves any changes
274you have made to the file, and leaves both the file and the category
275that was displayed on quitting current for subsequent Todo mode commands
276(unless the buffer made current by quitting is visiting another file and
277category in Todo mode, in which case the latter become current for Todo
278mode commands).
279
280@node Key Binding Conventions, Navigation, Todo Mode Entry Points, Top
281@chapter Key Binding Conventions
282
283For Todo mode commands to function properly, it is essential to maintain
284the correct format at all three levels of organization---item, category,
285and file. Todo mode tries to minimize the risk of format corruption by
286hiding certain parts of the format from the user, making the buffer
287read-only and suppressing the self-insertion keys. Consequently, it is
288normally impossible to make changes to your todo files without
289explicitly invoking Todo mode commands.
290
291A beneficial side effect of this restrictiveness is that you can invoke
292almost all Todo commands by typing ordinary printing characters, either
293singly or in specified sequences, without using modifier keys, except
294for the shift key for capitalization and the raw prefix argument
295@kbd{C-u}; numeric prefix arguments can be entered just by typing a
296number key.
297
298The predefined key bindings in Todo are more or less mnemonic. As a
299rule, key sequences beginning with @kbd{C} are bound to commands
300applying to categories, sequences beginning with @kbd{F} apply to
301(non-archive) file-level commands, and those beginning with @kbd{A}
302apply to archives (a special type of Todo file; @ref{Todo Archive
303Mode}). Todo commands applying to items, which constitute the majority,
304are bound to lower case key sequences.
305
306@node Navigation, Editing, Key Binding Conventions, Top
307@chapter Navigation
308
309The navigation commands are for making another todo file, category, or
310item the current one by moving point to it.@footnote{Many editing
311commands can also do this by side effect, but since that is not their
312main function, they are not included in this section.} Since these
313commands are likely to be used frequently and repetitively, it is
314convenient for their key bindings to be single lower case keys, even for
315navigation commands applying to categories and files.
316
317Two of the navigation commands were already mentioned in the section on
318Todo mode entry points:
319
320@table @kbd
321
322@item t
323Display another todo file in the selected window (@code{todo-show}).
324When you invoke this command in Todo mode, it prompts for a file name,
325which you can choose via minibuffer completion (like invoking
326@code{todo-show} with a prefix argument outside of Todo mode). If a
327buffer is already visiting that file, it displays its current category;
328if invoking @kbd{t} opens the file, it display its first category (by
329default; see the option @code{todo-show-first} for other possibilities).
330
331@item j
332Display another todo category in the selected window
333(@code{todo-jump-to-category}). When you invoke this command, it
334prompts for a category name, which you can choose via minibuffer
335completion. The candidates for completion include the categories in the
336current todo file as well as those in the files listed in the option
337@code{todo-category-completions-files}. If you type @key{RET} without
338choosing a category, the current category of the current todo file is
339automatically selected (this can be a useful shortcut when you invoke
340@code{todo-jump-to-category} outside of Todo mode). If you type the
341name of a non-existing category, you can add this to the file as a new
342category and jump to it. If you invoke this command with a prefix
343argument, it first you prompts for which todo file to jump to (which you
344can also choose with minibuffer completion) and then for which category
345from that file; in this case, completion is only against the categories
346in the selected file.
347@end table
348
349It is also convenient to navigate back and forth sequentially between
350the categories of a single todo file. The categories of a todo file are
351numbered consecutively starting with @samp{1}.@footnote{A category's
352number is automatically assigned when the category is created: the
353category is appended to the end of the file, so its number is simply the
354highest until another category is added. There is no command in Todo
355mode to reorder the numbering of the categories in a todo file, but this
356is possible from the file's table of categories; @ref{Todo Categories
357Mode}.} The current category's number and name appear in the mode line.
358
359@table @kbd
360
361@item f
362Move point to the first item of the category numerically directly
363following the current category (@code{todo-forward-category}).
364
365@item b
366Move point to the first item of the category numerically directly
367preceding the current category (@code{todo-backward-category}).
368@end table
369
370With @kbd{f} and @kbd{b} you can cycle through the categories, so for example,
371if the last category is current and you type @kbd{f}, then the first
372category becomes current.
373
374You can also navigate between the items in the current category:
375
376@table @kbd
377
378@item n
379Move point down to the next item below the current one (i.e., to the
380item with the next lower priority) (@code{todo-next-item}).
381
382@item p
383Move point up to the item directly above the current one (i.e., to the
384item with the next higher priority) (@code{todo-previous-item}).
385@end table
386
387These commands also accept a positive numeric prefix argument; e.g.,
388typing @kbd{5 n} or @kbd{5 p} navigates in one step to the item five items lower
389or higher than the current one.
390
391Navigation to other types of Todo files is discussed in the relevant
392sections below.
393
394@node Editing, Todo Archives, Navigation, Top
395@chapter Editing
396
397Editing in Todo mode means making structural or textual changes at one
398of the levels of organization (file, category, or item). Structural
399editing includes adding, relocating and removing, textual editing includes
400renaming files or categories and changing an item's content or date, or
401adding certain kinds of marks or tags to items. To save changes you
402make to the current todo file, type @kbd{s} (@code{todo-save}). Changes
403are also saved on quitting Todo mode with @kbd{q}.
404
405@menu
406* File Editing::
407* Category Editing::
408* Item Editing::
409@end menu
410
411@node File Editing, Category Editing, , Editing
412@section File Editing and Todo Edit Mode
413
414There are four file-level editing commands:
415
416@table @kbd
417
418@item F a
419Add a new todo file (@code{todo-add-file}). This command prompts for a
420name and creates the file in @code{todo-directory}, adding the
421@samp{.todo} extension (so you should not include the extension in the
422name you enter). The command also prompts for the file's first category and, if
423option @code{todo-add-item-if-new-category} is enabled (the default),
424for that category's first item.
425
426@item F r
427Rename the current todo file (@code{todo-rename-file}). If called with
428a prefix argument, prompt for a todo file and rename it. If the todo
429file has an archive (@pxref{Todo Archive Mode}) or there are
430corresponding filtered items files (@pxref{Todo Filtered Items Mode}),
431this command renames these accordingly. If there are live buffers
432visiting any of these files, the command also rename them accordingly.
433
434@item F k
435Delete the current todo file (@code{todo-delete-file}).@footnote{The key
436binding of this command is mnemonic for ``kill'' to parallel the binding
437@kbd{k} for item deletion, since @kbd{d} is bound to another item
438editing command (@pxref{Done Items}).} If the todo file has an archive
439(@pxref{Todo Archive Mode}), prompt whether to delete that as well.
440This command also kill the buffers visiting the deleted files.
441
442@item F e
443This command (@code{todo-edit-file}) changes the buffer's major mode to
444Todo Edit mode. In this mode the entire file is visible, the buffer is
445writeable and you can use the self-insertion keys and standard Emacs
446editing commands to make changes. To return to Todo mode, type @kbd{C-x
447C-q} (@code{todo-edit-quit}).
448
449The command @kbd{F e} is not intended for normal editing of items and
450categories, as it circumvents the restrictions that Todo imposes to
451protect against file format corruption (i.e., all categories, not just
452the current one, and all internal formatting are exposed and editable).
453It is provided primarily as a convenience for two types of use cases
454that are likely to arise infrequently. One is to be able to use
455standard Emacs commands like @code{query-replace} to replace a piece of
456text that occurs in different categories throughout the file. The other
457use case is to recover from a mistake, such as accidentally deleting an
458item, since this cannot be undone in Todo mode.
459
460Using @kbd{C-x C-q} to quit Todo Edit mode provides a measure of safety,
461since it runs a file format check, signaling an error if the format has
462become invalid. However, this check cannot tell if the number of items
463changed, which could result in the file containing inconsistent
464information (see the cautionary note in @ref{Reordering Categories}, for
465more details). For this reason @kbd{F e} should be used with caution.
466@end table
467
468@node Category Editing, Item Editing, File Editing, Editing
469@section Category Editing
470
471The following commands are available for editing at the category level
472(for additional category-editing commands, which are extensions of item
473commands, @pxref{Editing Item Headers and Text}):
474
475@table @kbd
476
477@item C a
478Add a new category to the current todo file and make that category
479current (@code{todo-add-category}). If called with a prefix argument,
480prompt for a file name and add the new category to that file. This
481command is similar to using @kbd{j}, but it only accepts category names
482that are not the name of an existing category in the file.
483
484@item C r
485Rename the current category (@code{todo-rename-category}). If this
486category's file has an archive (@pxref{Todo Archive Mode}) with a
487corresponding category, rename the category there as well.
488
489@item C m
490Move the current category (with all its items) to another todo file
491(@code{todo-move-category}). If this category's file has an archive
492(@pxref{Todo Archive Mode}) with a corresponding category, this command
493also moves that category to the archive file corresponding to the moved
494to todo file; if there is no such archive file, the command creates it
495and adds the category.
496
497@item C k
498Delete the current category (@code{todo-delete-category}).@footnote{This
499binding is mnemonic for ``kill'' to parallel the binding @kbd{k} for
500item deletion, since @kbd{d} is bound to another item editing command
501(@pxref{Done Items}).} To delete a category that contains items, you
502have to confirm your intent; if the category is empty, deletion is
503immediate.
504
505@item C g
506Merge the items of one category into another category, delete the first
507category and make the second category current
508(@code{todo-merge-category}). If both the first and second categories
509also have archived items (@pxref{Todo Archive Mode}), merge the former
510to the latter. If only the first category has archived items, rename
511the archive category to the merged to category. Minibuffer completion
512of the name of the category merged to works as with the navigation
513command @kbd{j}, and as with that command, passing a prefix argument,
514i.e., typing @kbd{C-u C g}, prompts for a file and confines merging to a
515category in that file.
516@end table
517
518@node Item Editing, , Category Editing, Editing
519@section Item Editing
520
521Todo mode provides a wide variety of commands for adding and textually
522changing items, as well as for deleting and relocating items.
523
524@menu
525* Inserting New Items::
526* Editing Item Headers and Text::
527* Relocating and Removing Items::
528@end menu
529
530@node Inserting New Items, Editing Item Headers and Text, , Item Editing
531@subsection Inserting New Items
532
533There are many commands for adding new todo items. The command names
534contain the word ``insert'' instead of ``add'' and their key bindings are
535sequences beginning with @kbd{i}. The motivation for this terminology is
536that speaking of adding an item to a category suggests appending it to
537the top or bottom, whereas you can insert an item into the category
538anywhere, giving each new item any priority in the list.
539
540@table @kbd
541
542@item i i
543This is the basic command for inserting new items into a category
544(@code{todo-insert-item}). Called without a prefix argument, it prompts
545for the text of the item and its priority (a number between 1 and one
546more than the number of items already in the category), both of which
547you enter in the minibuffer, and inserts the item into the current
548category of the current todo file at the position in the list
549corresponding to the priority you chose. Called with one prefix
550argument, it also prompts for a category, and called with two prefix
551arguments, it prompts for both a file and a category from that file, and
552inserts the item accordingly. Category name completion works as with
553the navigation command @kbd{j}.
554@end table
555
556Each invocation of @kbd{i i} adds a header string to the item, which
557includes at least the current date in the same format used by
558@code{diary-insert-entry} (@pxref{Date Formats,,, emacs}). You can
559control what other information is included in the header by customizing
560the following options:
561
562@itemize @bullet
563
564@item
565@code{todo-always-add-time-string} is for including or omitting the
566current time. The time string is omitted by default.
567
568@item
569@code{todo-include-in-diary} is for specifying whether the item appears
570in the Fancy Diary display by adding or omitting
571@code{todo-nondiary-marker}. By default, new todo items are marked for
572exclusion from the diary.
573
574@item
575@code{todo-diary-nonmarking} is for adding or omitting
576@code{diary-nonmarking-symbol} to items displayed in the diary, to
577control whether they are marked in the calendar (@pxref{Format of Diary
578File,,, emacs}). By default, todo items that are diary entries are
579marked in the calendar.
580@end itemize
581
582Instead of always adding the same header information to a new item, you
583can use more specific insertion commands that let you decide what to
584include in the item header each time you insert a new item. And instead
585of always being prompted to choose the new item's priority, you can
586invoke a command to insert it at the position (hence with the priority)
587of the item at point. Finally, instead of always typing the text of the
588new item in the minibuffer, you can invoke a command that makes the
589selected region in an Emacs buffer automatically become the new item's
590text. The following paragraphs discuss how to invoke these commands by
591typing certain key sequences.
592
593There are eight parameters of item insertion in Todo mode, six
594concerning the item header, and one each concerning its priority and its
595text. Each unique combination of these parameters produces a different
596insertion command. The command @kbd{i i} realizes one of these
597combinations. For the commands that realize the remaining combinations
598it is convenient to associate each parameter with a mnemonically chosen
599key. Then by typing certain sequences of these keys, you complete the
600insertion command invocation that realizes the specified combination.
601As with @kbd{i i}, the effect of many of these commands also depends on
602the values of the item insertion options mentioned above (see the
603examples below).
604
605Here is a list of the parameters and their associated keys, in the order
606in which you must type them when building a key sequence (this order
607roughly reflects the order in which the corresponding parts of the item
608occur in a category listing):
609
610@enumerate
611
612@item
613@kbd{y} for diary (non)inclusion;
614@item
615@kbd{k} for adding or omitting `diary-nonmarking-symbol';
616@item
617@kbd{c} for adding the date header by clicking a date in the Emacs
618calendar, or@*
619@kbd{d} for interactively entering the date header as a string of year,
620month and day number components in the minibuffer, or@*
621@kbd{n} for interactively entering the date header as a weekday name in
622the minibuffer;
623@item
624@kbd{t} for adding a time string to the header in the minibuffer
625(including the empty string, which amounts to omitting the time);
626@item
627@kbd{h} for inserting the new item in the position of the item at point
628(``here''), or@*
629@kbd{r} to use the text of the selected region as the item's text.
630@end enumerate
631
632Each insertion command key sequence begins (disregarding prefix
633arguments) with @kbd{i}, followed by one or more of these eight keys, in
634the order listed. But as you can see in the above table, since some of
635the insertion parameters are mutually exclusive, they occupy only five
636positions, so the complete (unprefixed) sequences are maximally six keys
637long. Shorter sequences are also possible, since a parameter may be
638omitted. But since the order in any key sequence is fixed, if the last
639key in the sequence could be followed by another insertion key, i.e., if
640the last key is not @kbd{h} or @kbd{r}, it has to be doubled to complete
641the sequence, otherwise it would be interpreted as a prefix sequence
642(this is why the binding for the basic item insertion command is @kbd{i
643i} and not @kbd{i}).
644
645Here are some examples of item insertion command key sequences:
646
647@itemize @bullet
648
649@item
650@kbd{i h} inserts a new item at the position of the item at point (pushing
651the latter down) with a header containing the current date and,
652depending on the values of the mentioned options, possibly the current
653time and diary-related markings.
654@item
655@kbd{i y h} does the same as the preceding command, except that
656@code{todo-nondiary-marker} is added if @code{todo-include-in-diary} is
657non-nil and omitted if that option is nil; that is, the diary key @kbd{y}
658overrides the setting of this option.
659@item
660@kbd{i y t h} does the same as the preceding command, except that it
661prompts for a time string instead of automatically inserting the
662current time; however, typing @key{RET} at the prompt returns the
663current time if @code{todo-always-add-time-string} is non-nil, otherwise
664the empty string (i.e., no time string).
665@item
666@kbd{i y t t} does the same as the preceding command, except that it
667prompts for the item's priority and inserts it accordingly.
668@end itemize
669
670Note that the commands whose key sequences include @kbd{y}, @kbd{k} or @kbd{t}
671reverse the effect of the options @code{todo-include-in-diary},
672@code{todo-diary-nonmarking} and @code{todo-always-add-time-string},
673respectively, thus temporarily overriding their values.
674
675The names of the item insertion commands correspond to their key
676bindings, e.g., @kbd{i h} is bound to @code{todo-insert-item-here}, @kbd{i y h} to
677@code{todo-insert-item-diary-here}, etc. But since there are so many
678combinations, instead of trying to memorize either the names or the key
679sequences, you can, as usual, just type an initial part of a key
680sequence (minimally @kbd{i}), followed by @kbd{C-h} to see the valid
681completions.
682
683An alternative to using the key @kbd{c} for choosing the item's date
684from the calendar is also available: if point is on a date in the
685calendar, typing @kbd{i t} (@code{todo-insert-item-from-calendar}) will
686prompt for a new item and its priority and insert it in the current
687category. Like @kbd{i i} and the other item insertion commands, this
688also accepts one or two prefix arguments for choosing the category via
689minibuffer completion. Note, however, that the key sequence @kbd{i t}
690is not defined in Todo mode but in the Calendar mode keymap. It is a
691convenient shortcut if you happen to be using the calendar when you
692decide to make a new todo item. (Contrast this with a command like
693@kbd{i c c}, which pops open the calendar after you have entered the
694item's text, and then you can choose a date from the calendar.)
695
696There is one more item insertion command, which does not derive from the
697item insertion parameters:
698
699@table @kbd
700
701@item i p
702This command (@code{todo-copy-item}) makes a complete copy of the item
703at point, including its header, prompts for its priority in the current
704category and inserts it accordingly.
705@end table
706
707@noindent
708This command is useful for quickly adding a todo item whose text or
709header you want to differ only partly from that of an existing item:
710after inserting the copy, you can quickly edit it as needed by using
711commands described in the next section.
712
713@node Editing Item Headers and Text, Relocating and Removing Items, Inserting New Items, Item Editing
714@subsection Editing Item Headers and Text
715
716There are a number of commands for editing an existing item's text or
717header; these commands are bound to key sequences with @kbd{e}.
718
719There are two commands for editing an item's text (and manually editing
720its header), one appropriate for short items and simple edits and one
721better suited for more complex changes or for editing lengthy items:
722
723@table @kbd
724
725@item e e
726Edit the text of the current item in the minibuffer
727(@code{todo-edit-item}). If called with a prefix argument (@kbd{C-u e
728e}), the item's header is also included in the minibuffer and so can be
729edited manually.
730
731@item e m
732Edit the text of the current item in a special buffer in Todo Edit mode
733(@code{todo-edit-multiline-item}). When you have finished editing, type
734@kbd{C-x C-q} to return to Todo mode; this runs a format check to ensure
735the item is well-formed.@footnote{Unlike the command @kbd{F e}
736(@pxref{File Editing}), @kbd{e m} does not expose you to the risk of
737putting the file in an inconsistent state, since it puts only the
738current item in Todo Edit mode.}
739@end table
740
741A number of commands are available for interactively editing all or part
742of the item header, permitting quick edits and helping avoid formatting
743errors.
744
745The following three commands are for editing any or all of the year,
746month and day components of a date header:
747
748@table @kbd
749
750@item e d t
751Successively prompt for changes to the date's year, month and
752day number, and if the option @code{todo-always-add-time-string} is
753non-nil, also for editing the time string (see also @kbd{e t} below).
754
755@item e d a
756Change the date to today's date.
757
758@item e d c
759This command pops up the Emacs calendar, and after you type @key{RET} on
760a date in the calendar makes that date the item's date.
761@end table
762
763@noindent
764You can also use these commands on items whose date header consists of a
765weekday name, which then changes to a header with year, month and day
766components.
767
768Each of the following three commands, in contrast to the preceding
769three, changes only a single date component and has no effect on a date
770header consisting of a weekday name:
771
772@table @kbd
773@item e d y
774@itemx e d m
775@itemx e d d
776Prompt for changing just the year, month or day number, respectively; if
777invoked with a positive or negative numeric prefix argument, directly
778increment or decrement the date component accordingly and automatically
779adjust the other date component if necessary. For example, if the date
780string is ``January 1, 2013'', typing @kbd{- 3 e d d} results in
781``December 29, 2012''.
782@end table
783
784@table @kbd
785@item e d n
786Prompt for a weekday name and make it the item's date header. Note that
787this replaces an existing date string, it does not add the day name to
788the date string.
789
790@item e t
791Edit just the item's time string. A time string can be added both to a
792date string and to a weekday name. If you type @key{RET} at the
793prompt, this omits a time string from the header, or deletes an existing
794time string.
795
796@item e y y
797Change the item's diary inclusion status by adding or removing
798@code{todo-nondiary-marker}.
799
800@item e y k
801Change the item's diary marking status by adding or removing
802@code{diary-nonmarking-symbol} (this command has an effect only if the
803item is not marked for exclusion from the diary).
804@end table
805
806@noindent
807Parallel to the latter two item-level commands are the
808following category-level commands:
809
810@table @kbd
811
812@item C e y
813@itemx C e k
814Add @code{todo-nondiary-marker} and @code{diary-nonmarking-symbol},
815respectively, to all todo items in the current category; if invoked with
816a prefix argument, these markings are removed from all items in the
817category.
818@end table
819
820@node Relocating and Removing Items, , Editing Item Headers and Text, Item Editing
821@subsection Relocating and Removing Items
822
823In addition to inserting a new todo item and changing the text or header
824of an existing item, you can also move an item to another category
825(i.e., recategorize it), change its priority within its category, delete
826it from the category and file, or mark it as a ``done'' item, which
827removes it from the todo list but does not delete it.
828
829@menu
830* Reprioritizing Items::
831* Moving and Deleting Items::
832* Done Items::
833@end menu
834
835@node Reprioritizing Items, Moving and Deleting Items, , Relocating and Removing Items
836@subsubsection Reprioritizing Items
837
838There are three ways to change a todo item's priority:
839
840@table @kbd
841
842@item r
843Raise the current item's priority by one, exchanging its position in the list
844with that of the item directly above it (@code{todo-raise-item-priority}).
845
846@item l
847Lower the current item's priority by one, exchanging its position in the list
848with that of the item directly below it (@code{todo-lower-item-priority}).
849
850@item #
851Prompt for a number and relocate the item to the corresponding position
852in the list (@code{todo-set-item-priority}). For example, entering
853@kbd{3} at the prompt makes the item the third in the category, i.e.,
854gives it third highest priority. You can also pass the desired priority
855as a numeric prefix argument, e.g., @kbd{3 #} gives the item third
856highest priority without prompting. (Prefix arguments have no effect
857with @kbd{r} or @kbd{l}.)
858@end table
859
860@node Moving and Deleting Items, Done Items, Reprioritizing Items, Relocating and Removing Items
861@subsubsection Moving and Deleting Items
862
863You can move an item to another category, thereby recategorizing it:
864
865@table @kbd
866
867@item m
868Move the item at point to another category (@code{todo-move-item}).
869This prompts for a category to move the item to, displays that category,
870prompts for the priority of the moved item in the category moved to and
871inserts the item accordingly. Minibuffer completion of the name of the
872category moved to works as with the navigation command @kbd{j}, and as
873with that command, passing a prefix argument prompts for a file and
874moves the item to a category in that file; and if the category name you
875enter is new, then you are asked whether to add the category to the
876file, and if you affirm, the item is moved to the new category.
877@end table
878
879You delete an item, thereby permanently removing it:
880
881@table @kbd
882
883@item k
884Delete the todo item at point (@code{todo-delete-item}; the binding is
885mnemonic for ``kill'', since @kbd{d} is used for marking items as done
886(@pxref{Done Items}); but note that @kbd{k} does not put the item into
887the kill ring). This command requires confirmation that you want to
888delete the item, since you cannot undo the deletion in Todo mode. (You
889could use @kbd{F e} to recover the item, but be aware that this would
890put the file in an inconsistent state, which you can recover from, but
891not without a risk; cf.@: the cautionary note in @ref{Reordering
892Categories}.)
893@end table
894
895@quotation Note
896Todo commands that require user confirmation, such as @kbd{k}, use a
897modified form of @code{y-or-n-p}, which by default only accepts @kbd{y}
898or @kbd{Y}, but not @key{SPC}, as an affirmative answer. This is to
899diminish the risk of unintentionally executing the command, which is
900especially important with commands that do deletion, since there is no
901Todo command to undo a deletion. If you want to be able to use SPC for
902confirmation, enable the option @code{todo-y-with-space}.
903@end quotation
904
905@node Done Items, , Moving and Deleting Items, Relocating and Removing Items
906@subsubsection Done Items
907
908When the activity or thing that a todo item is about has been done, it
909is natural to eliminate the item from the todo list. But instead of
910deleting it permanently, you may prefer to keep a record of your
911accomplishments by marking the item as done. In Todo mode, this removes
912the done item from the todo list, so as not to clutter it up, and stores
913it elsewhere. Such stored items form a record or diary of things done.
914The Todo package provides two such stores: the ``done items'' section of
915a Todo category, described here, and done item archives (@pxref{Todo
916Archive Mode}).
917
918@table @kbd
919
920@item d
921This command (@code{todo-item-done}) removes the todo item at point from
922the todo list, appends to the original header a header consisting of
923@code{todo-done-string} (by default ``DONE '') and the current date, and
924if @code{todo-always-add-time-string} is enabled, also the current time,
925and adds the resulting done item to the top of the done items section of
926the category. Invoked with a prefix argument, it also prompts you to
927enter a comment, which is appended to the end of the done item, prefixed
928with @code{todo-comment-string} (by default ``COMMENT: '').
929@end table
930
931A category's done items section is located below the last todo (i.e.,
932not done) item in the category. By default this section is hidden from
933view. There are two commands for viewing and hiding done items; since
934these are toggle commands, for convenience they also have a single key
935binding:
936
937@table @kbd
938
939@item C v
940@itemx v
941Make the done items section of the current category visible if it is
942hidden, or hide it if it is visible
943(@code{todo-toggle-view-done-items}). If you always want to see the
944done items section on entering a category, enable the option
945@code{todo-show-with-done}; you can still use @kbd{C v} or @kbd{v} to
946hide (and unhide) it.
947
948@item F V
949@itemx V
950Toggle the standard category display in the current todo file, i.e.,
951display only the done items section of each category in the file, or if
952this is visible, hide it again and display only the todo items section
953(@code{todo-toggle-view-done-only}).
954@end table
955
956Three editing commands for done items are available:
957
958@table @kbd
959
960@item e c
961If you type this command (@code{todo-edit-done-item-comment}) when point is
962on a done item that has a comment, you can edit the text of the
963comment. If you invoke it with a prefix argument (@kbd{C-u e c}), the
964comment is deleted on confirmation. If the done item does not have a
965comment, this command allows you to add one.
966
967@item m
968Move the done item at point to the top of the done items section of
969another category (@code{todo-move-item}). This is useful in case, after
970having relocated an item to its category's done items section, you
971create a category that is better suited to the content of the done item
972than its current category, so you can recategorize the done item.
973
974@item u
975If you decide the done item at point is not done after all, this command
976``undoes'' it, i.e., restores it to the todo list of its category, with
977the priority you choose for it (@code{todo-item-undone}). If the done
978item has a comment, you are asked whether to delete it from the restored
979item.
980@end table
981
982@node Todo Archives, Marked Items, Editing, Top
983@chapter Todo Archives
984
985When the done items section of a category itself starts to become
986cluttered, or if you just want to store some accomplished todo items in
987a separate file, you can move them to a Todo archive. This is a file
988with exactly the same structure as a todo file, i.e., divided into
989categories, but differs in that the categories contain only done items.
990Todo archives reside, like todo files, in @code{todo-directory} but have
991the extension @samp{.toda} instead of @samp{.todo}.
992
993@menu
994* Creating and Visiting Archives::
995* Todo Archive Mode::
996@end menu
997
998@node Creating and Visiting Archives, Todo Archive Mode, , Todo Archives
999@section Creating and Visiting Archives
1000
1001Todo mode provides the following command for archiving items:
1002
1003@table @kbd
1004
1005@item A d
1006This command (@code{todo-archive-done-item}) archives the done item at point.
1007Invoked with a prefix argument, it archives all done items in the
1008current todo category. If an archive for the current todo file
1009already exists and contains a category with the same name as the
1010current todo category, then this command moves the done item to the
1011top of the corresponding archive category. If the archive exists but
1012it does not have a corresponding category, this command creates the
1013category in the archive and moves the done item to it. If no archive
1014for the todo file exists, the command creates both the archive file,
1015using the same base name as that of the todo file, as well as the
1016category, and moves the done item to it.
1017@end table
1018
1019Typing @kbd{A d} is also the only way within the Todo mode package to
1020create an archive file and its categories. Consequently, as a rule each
1021archive file corresponds to exactly one todo file and has the same base
1022name as this file, and each category in an archive file corresponds to
1023and has the same name as a category in the corresponding todo file.
1024Exceptions can only arise if you delete a todo file but not the
1025corresponding archive, or if you delete a category in a todo file that
1026has a corresponding category in an archive.
1027
1028You might be inclined to do the latter if you have archived all the
1029items from a given todo category and you don't plan to add new items to
1030it. In particular, if you have numerous such empty categories in a todo
1031file, this can make sequential navigation in the file annoying. You can
1032avoid this annoyance by deleting these categories, but only at the cost
1033of putting the todo file out of synch with the archive file.
1034
1035You may find it preferable not to delete empty todo categories but to
1036enable the option @code{todo-skip-archived-categories}. When this is
1037non-nil, such empty todo categories are skipped over by the sequential
1038category navigation commands @kbd{f} and @kbd{b}, so they don't distract you
1039while navigating and you maintain the structural correspondence between
1040todo and archive files (you can also still jump to empty todo categories
1041with @kbd{j}).
1042
1043If you rename a todo category that has a corresponding category in an
1044archive, the archive category is also automatically identically renamed.
1045Likewise, if you move such a todo category to another file; in this
1046case, if there is no archive file corresponding to the todo file the
1047category is moved to, then the archive is automatically created and the
1048archived category is moved to it.
1049
1050There are two commands in Todo mode for visiting archive files:
1051
1052@table @kbd
1053
1054@item A f
1055Switch to a buffer displaying the archived category corresponding to the
1056current todo category (@code{todo-find-archive}). If the todo category
1057has no archived items, the command asks if you want to visit the archive
1058anyway. If there is no archive for this todo file, it asks if you want
1059to visit another archive, which you can select via minibuffer
1060completion.
1061
1062@item A c
1063Choose an archive to visit, whether or not the current todo file has an
1064archive (@code{todo-choose-archive}).
1065@end table
1066
1067As with todo files, you can also visit a Todo archive by invoking a
1068standard Emacs file-visiting command; this displays the first (on the
1069initial invocation) or current category of the archive.
1070
1071@node Todo Archive Mode, , Creating and Visiting Archives, Todo Archives
1072@section Todo Archive Mode
1073
1074When you visit a Todo archive, the buffer is in Todo Archive mode. It
1075displays categories just as in Todo mode, except that they only contain
1076done items. It provides the same sequential navigation commands as
1077Todo mode: @kbd{f} and @kbd{b} navigate between the categories of the current
1078archive, and @kbd{n} and @kbd{p} navigate between the done items of the current
1079archive category.
1080
1081The commands @kbd{t} and @kbd{j} are also available in Todo Archive
1082mode, and they work the same as in Todo mode, which means they can only
1083be used to return to Todo mode: @kbd{t} prompt for and switch to a todo
1084file, and with @kbd{j} you can only jump to a todo category. These
1085commands exclude archives because an archive file has the same base name
1086as the corresponding todo file, and category name completion uses only
1087the base names, so the commands cannot know which type of file you want
1088to visit. For this reason, there is a special command in Todo Archive
1089mode for jumping to another archive category or visiting another archive
1090file:
1091
1092@table @kbd
1093
1094@item a
1095This command (@code{todo-jump-to-archive-category}) prompts for a category in the
1096current archive and jumps to it. Called with a prefix argument, it
1097prompts for another archive, then for a category in it and jumps to
1098that category.
1099@end table
1100
1101None of the Todo mode editing commands are available in Todo Archive
1102mode, since archives are meant to be static records of accomplished todo
1103items. Should you, however, archive an item by mistake or simply change
1104your mind about the archival status of an item, you can ``unarchive'' it:
1105
1106@table @kbd
1107
1108@item u
1109Restore the done item at point to the top of the done items section of
1110the corresponding category in the corresponding todo file, i.e., an
1111unarchived item remains a done item (@code{todo-unarchive-items}). When
1112the last item in an archive category has been unarchived, the category
1113is automatically deleted from the archive. If this was the only
1114category in the archive, the archive file is also automatically deleted.
1115@end table
1116
1117Since it is natural to visit an archive from the corresponding todo
1118file, it would be convenient to easily return to the todo file when you
1119have finished browsing the archive. If you type `q' to quit Todo
1120Archive mode, this switches to the corresponding todo file and shows the
1121todo category corresponding to the archive category you were just
1122visiting.
1123
1124The command @kbd{F k} (@pxref{File Editing}) is also available in Todo
1125Archive mode. It deletes the current archive file and prompts you
1126whether to delete the corresponding todo file.
1127
1128@node Marked Items, Todo Categories Mode, Todo Archives, Top
1129@chapter Marked Items
1130
1131For many item editing commands it can make sense and be convenient to
1132apply them simultaneously to more than one item in the current category.
1133Todo facilitates this by means of marked items.
1134
1135@table @kbd
1136
1137@item *
1138Mark the item at point if it is unmarked, and remove the mark it is
1139already marked (@code{todo-toggle-mark-item}). The mark is a string
1140specified by the option @code{todo-item-mark} (by default @samp{*})
1141appended in front of the item header (more precisely, in front of the
1142item's priority number or prefix; see @ref{Todo Display Features}, for
1143details of the latter). After marking the current item, the command
1144advances point to the next item. It also accepts a numeric prefix
1145argument, which allows toggling the mark of multiple consecutive items.
1146
1147@item C *
1148Mark all todo items in the current category.
1149
1150@item C u
1151Unmark all todo item in the current category.
1152@end table
1153
1154You can also use the last two commands to mark or unmark all done items in
1155the category, but only when only the done items section is being
1156displayed, i.e., after invoking @kbd{C V} or @kbd{V}.
1157
1158The following commands operate on marked items: @kbd{k} (deleting), @kbd{m}
1159(moving to another category), @kbd{d} (moving to the done items section;
1160note that @kbd{C-u d} adds the same comment to all marked items), @kbd{A d}
1161(archiving), @kbd{u} (both in Todo mode for undoing a done item and in
1162Todo Archive mode for unarchiving an item), as well as the commands for
1163editing the item header (those beginning with the prefix @kbd{e d} as well
1164as @kbd{e t}, @kbd{e y y} and @kbd{e y k}). The item insertion, textual editing and
1165priority changing commands do not operate on marked items.
1166
1167If you use @kbd{m}, @kbd{d}, @kbd{A d} or @kbd{u} on multiple noncontiguous marked
1168items, the relocated items retain their relative order but are now
1169listed consecutively en bloc.
1170
1171You can mark both todo and done items, but note that only @kbd{m} can apply
1172to both; other commands only affect either marked todo or marked done
1173items, so if both types of items are marked, invoking these commands
1174has no effect and informs you of your erroneous attempt.
1175
1176@node Todo Categories Mode, Searching for Items, Marked Items, Top
1177@chapter Todo Categories Mode
1178
1179It can be helpful to have a compact overview of the categories in a todo
1180file and the types of items it contains; Todo provides a tabular view
1181of this information.
1182
1183@table @kbd
1184
1185@item F c
1186Typing this command (@code{todo-show-categories-table}) in Todo mode or Todo
1187Archive mode switches to a buffer displaying a table that gives an
1188overview of the categories in the current todo or archive file. This
1189buffer is in Todo Categories mode.
1190@end table
1191
1192The table consists of a column containing the names of the categories in
1193the file, followed by columns containing counts of certain types of
1194items in each category. With todo files there are four count types: all
1195todo (i.e., not done) items, diary items (i.e., those todo items lacking
1196the @code{todo-nondiary-marker}, which hence can appear in the Fancy Diary
1197display), done (but not archived) items, and archived items. With
1198archive files all items are done, so the table only has a column for
1199this count. The final row of the table gives total item counts across
1200all categories in the file.
1201
1202Aside from explicitly invoking @kbd{F c} to display the table of
1203categories, you can also arrange to have it displayed on the first
1204invocation of @code{todo-show} for a given file (i.e., either using
1205@code{todo-show} to initiate a Todo session, or calling it in Todo mode
1206to visit another todo file). To do this customize the option
1207@code{todo-show-first}.
1208
1209@menu
1210* Table of Item Counts::
1211* Reordering Categories::
1212@end menu
1213
1214@node Table of Item Counts, Reordering Categories, , Todo Categories Mode
1215@section Table of Item Counts
1216
1217Above each column of the table is a labeled button you can press by
1218clicking with the mouse or by typing @key{RET} on it. Pressing an item
1219count button sorts the table alternately in ascending or descending
1220order according to the type of count. Pressing the category button
1221alternates between the initial numerical order of the categories and
1222alphabetical order. In numerical order the column of category names is
1223preceded by a column containing the corresponding category numbers; this
1224column is not displayed in the alphabetical listing. Instead of
1225pressing the buttons, you can also sort the table by typing the
1226following keys:
1227
1228@itemize
1229
1230@item @kbd{c}
1231to sort by category numerically or alphabetically;
1232@item @kbd{t}
1233to sort by todo item counts;
1234@item @kbd{y}
1235to sort by diary item counts;
1236@item @kbd{d}
1237to sort by done item counts;
1238@item @kbd{a}
1239to sort by archived item counts.
1240@end itemize
1241
1242Each row of the table is also buttonized; pressing one of these exits
1243the buffer (killing it), returns to the buffer of the file from which
1244you had invoked `F c', and displays the category that was named in the
1245row button you pressed (i.e., pressing this button jumps to that
1246category). However, if the category named in the row is in a todo file
1247and all of its items have been archived, and you have enabled the option
1248@code{todo-skip-archived-categories}, then pressing the button jumps to
1249the archive category instead of the empty todo category. You can
1250recognize such categories by their items counts in the table---all
1251columns but the archived one have counts of zero---and in addition,
1252their lines in the table are also distinguished from the others by a
1253different face.
1254
1255You can navigate around the table:
1256
1257@table @kbd
1258
1259@item n
1260@itemx @key{TAB}
1261Advance point to the next button.
1262
1263@item p
1264@itemx S-@key{TAB}
1265Put point on the previous button.
1266@end table
1267
1268These commands are cyclic, e.g. when point is on the last button,
1269pressing @kbd{n} moves it to the first button.
1270
1271Typing @kbd{q} exits Todo Categories mode, killing the buffer and returning
1272to the current category in the Todo mode or Todo Archive mode buffer
1273from which you had invoked @kbd{F c}.
1274
1275@node Reordering Categories, , Table of Item Counts, Todo Categories Mode
1276@section Reordering Categories
1277
1278Todo Categories mode provide commands with which you can change the
1279numbering of the categories in the current file. This renumbering has
1280the effect of reordering the categories for sequential navigation by
1281@kbd{f} and @kbd{b} in Todo mode and Todo Archive mode. These commands
1282are only operative when the table displays the categories in their
1283numerical order. They work just like reprioritizing items in Todo mode,
1284hence have the same key bindings:
1285
1286@table @kbd
1287
1288@item r
1289Raise the current line of the table (the one the cursor is on),
1290decreasing the category's number by one (@code{todo-raise-category}).
1291This command exchanges lines, and hence the numbers, of the category at
1292point and the one above it before invoking the command.
1293
1294@item l
1295Lower the current line of the table, increasing the category's number by
1296one (@code{todo-lower-category}). This command exchanges lines, and
1297hence the numbers, of the category at point and the one below it before
1298invoking the command.
1299
1300@item #
1301Prompt for a number between 1 and the number of categories in the file
1302and reorder the table accordingly (@code{todo-set-category-number}). If
1303called with a numeric prefix argument within the allowed range, reorder
1304the table without prompting.
1305@end table
1306
1307The reordering done by these commands remains in effect when you return
1308to Todo mode or Todo Archive mode and, as long as you save the todo
1309or archive file after reordering, in subsequent sessions as well.
1310
1311@quotation @strong{Caution}
1312It is important to be aware that renumbering the categories does not
1313change the textual order of the categories in the file. This is
1314significant if you should invoke @kbd{F e} to edit the entire file
1315manually and in so doing alter the number of items in a category: this
1316will make the item count shown in the table of categories of this file
1317inconsistent with the actual number. You can repair this inconsistency
1318by invoking the command @code{todo-repair-categories-sexp} (which lacks
1319a key binding, since it is meant to be a rarely needed rescue
1320operation). But this will revert any renumbering of the categories you
1321have made, so you will have to renumber them again. This is the reason
1322why you should exercise caution when using @kbd{F e}.
1323@end quotation
1324
1325@node Searching for Items, Todo Filtered Items Mode, Todo Categories Mode, Top
1326@chapter Searching for Items
1327
1328It can be useful to be able to locate and examine all todo items that
1329fit certain criteria, regardless of which category they belong to. One
1330way to do this in Todo mode is by sequentially searching in the file:
1331
1332@table @kbd
1333
1334@item S
1335This command (@code{todo-search}; the key is capital @kbd{S}) prompts for a
1336regular expression, searches from the beginning of the current todo file
1337and displays the category containing the first match it finds, with the
1338match highlighted. If there are further matches, a message saying how
1339many are left is displayed and you are asked if you want to go to the
1340next match. When you reach the last match, or if you decide not to go
1341to further matches, you are asked whether the match highlighting should
1342be removed.
1343
1344@item X
1345This command (@code{todo-clear-matches}) removes any highlighting added by @kbd{S}.
1346This is so you can leave the matches highlighted at the end of the
1347search and remove the highlighting later.
1348@end table
1349
1350These commands are also available in Todo Archive mode.
1351
1352@node Todo Filtered Items Mode, Todo Display Features, Searching for Items, Top
1353@chapter Todo Filtered Items Mode
1354
1355A more powerful alternative to sequential searching is item filtering,
1356by which items from different categories that match specified criteria
1357are gathered and displayed in a new buffer as a kind of virtual
1358category in a distinct mode, Todo Filtered Items mode.
1359
1360@menu
1361* Filtering Items::
1362* Todo Filtered Items Mode Commands::
1363* Files of Filtered Items::
1364@end menu
1365
1366@node Filtering Items, Todo Filtered Items Mode Commands, , Todo Filtered Items Mode
1367@section Filtering Items
1368
1369Todo mode provides three ways to filter items: a general filter for
1370items matching a user-entered regular expression, as with the search
1371command; and two specific filters, one for diary-displayable items
1372(i.e., those lacking @code{todo-nondiary-marker}) and one for top
1373priority items (more on the latter below). The commands for each
1374filter come in pairs, one for filtering just the current todo file and
1375one for filtering a user-specified list of todo files. Thus, there
1376are six item filtering commands:@footnote{The use of @kbd{F} in the key
1377sequences of these commands naturally recalls ``filter'', but is also
1378consistent with the Todo mode mnemonic key binding convention, since the
1379commands involve one or more whole files.}
1380
1381@itemize @bullet
1382
1383@item
1384@kbd{F x x} (@code{todo-filter-regexp-items})
1385@item
1386@kbd{F x m} (@code{todo-filter-regexp-items-multifile})
1387@item
1388@kbd{F y y} (@code{todo-filter-diary-items})
1389@item
1390@kbd{F y m} (@code{todo-filter-diary-items-multifile})
1391@item
1392@kbd{F t t} (@code{todo-filter-top-priorities})
1393@item
1394@kbd{F t m} (@code{todo-filter-top-priorities-multifile})
1395@end itemize
1396
1397There are two ways to specify which files the multifile filtering
1398commands apply to. If there are files you want to filter every time you
1399use these commands, customize the option @code{todo-filter-files}. If you
1400leave this option empty (the default), invoking a multifile filtering
1401command pops up a buffer similar to the Customization buffer for
1402@code{todo-filter-files}, in which you can select files to filter just for
1403this invocation.
1404
1405Diary and top priority items are by definition non-done todo items, but
1406when filtering by regular expression, you can extend the scope of the
1407command to done items by enabling the option @code{todo-filter-done-items}.
1408Then @kbd{F x x} and @kbd{F x m} will gather both matching todo and matching
1409done items (including done items from any archive files corresponding to
1410the selected todo files) into the virtual category of filtered items.
1411
1412There are several ways to specify how many items in each category count
1413as top priorities and hence get filtered by @kbd{F t t} and @kbd{F t m}:
1414
1415@itemize @bullet
1416
1417@item
1418The option @code{todo-top-priorities} specifies a single default number
1419for all categories and all todo files; its default value is 1, which
1420means just the highest priority item in every category is filtered,
1421unless otherwise specified.
1422@item
1423The option @code{todo-top-priorities-overrides} lists file-wide overrides
1424of @code{todo-top-priorities} as well as category-specific overrides. It
1425is empty by default. However, using the Custom facility to set this
1426option would be tedious and error-prone, so instead you should use the
1427commands @kbd{F t s} and @kbd{C t s}. The former sets (i.e., overrides) the
1428default number of top priorities for all categories in the current
1429todo file, and the latter sets the number of top priorities for the
1430current category. To exclude a category or file from filtering by @kbd{F t t}
1431and @kbd{F t m}, set the number to @samp{0}.
1432@item
1433You can invoke `F t t' and `F t m' with a numeric prefix argument,
1434which specifies the number of top priorities in each category just for
1435this invocation, overriding both @code{todo-top-priorities-overrides} and
1436@code{todo-top-priorities}.
1437@end itemize
1438
1439@node Todo Filtered Items Mode Commands, Files of Filtered Items, Filtering Items, Todo Filtered Items Mode
1440@section Todo Filtered Items Mode Commands
1441
1442The output of the item filtering commands looks similar to a regular
1443Todo category, but it is not contained in any todo file and does not
1444have a name on being created, so it is not a ``real'' category but a
1445``virtual'' category. Another difference is the lack of a done items
1446section; either there are no done items in the list (when the filtered
1447items are diary or top priority items), or these are displayed in the
1448same list as todo items (if you filtered by regular expression and
1449allowed done items). A further difference is that the items have an
1450additional header, between the item's date/time header and its text,
1451specifying which category (and if you invoked a multifile command, also
1452which file) the item comes from, and if you filtered by regular
1453expression, also whether the item comes from a Todo archive.
1454
1455The sequential item navigation commands @kbd{n} and @kbd{p} work the same in
1456Todo Filtered Items mode as in Todo mode, as do the file and category
1457jumping commands @kbd{t} and @kbd{j}; however, the sequential category
1458navigation commands are unavailable, since virtual categories of
1459filtered items are not ordered with respect to ``real'' categories. In
1460addition, Todo Filtered Items mode provides a special navigation
1461command:
1462
1463@table @kbd
1464
1465@item g
1466@itemx @key{RET}
1467If you type this command (@code{todo-go-to-source-item}) with point on a
1468filtered item, the buffer switches to the item's source file (in Todo
1469mode or Todo Archive mode, as the case may be) and displays its
1470category, with point on the item.
1471@end table
1472
1473Filtered items cannot be textually edited, moved to another category,
1474marked done or archived like items in a real todo category, since these
1475would then be out of synch with each other. But there is one type of
1476editing command that does work in Todo Filtered Items mode: changing an
1477item's priority:
1478
1479@table @kbd
1480
1481@item r
1482@itemx l
1483@itemx #
1484These commands raise, lower, or set, respectively, the current item's
1485priority in the virtual category.
1486@end table
1487
1488@noindent
1489Using these commands, you can create a cross-category (and even
1490cross-file) prioritized list of filtered items. However, there is a
1491restriction on these commands in Todo Filtered Items mode: you cannot
1492change the relative priorities of items from the same real category,
1493since that would make the filtered list inconsistent with the source
1494todo list.
1495
1496@node Files of Filtered Items, , Todo Filtered Items Mode Commands, Todo Filtered Items Mode
1497@section Files of Filtered Items
1498
1499Typing @kbd{s} in Todo Filtered Items mode saves the buffer of filtered
1500items to a file in @code{todo-directory}. Files of items filtered by
1501regular expression have the extension @samp{.todr}, those with filtered
1502diary items have the extension @samp{.tody} and those with filtered top
1503priorities have the extension @samp{.todt}. The extensions are added
1504automatically the first time you save the buffer to a file.
1505
1506With filtered top priority or diary items, the file is automatically
1507named on first saving it, using as the base name either the same base
1508name as the single todo file it was generated from, or combining the
1509base names of the todo files used in multifile filtering commands.
1510With items filtered by regular expression, it can be useful to save
1511separate lists generated from the same file(s) using different regular
1512expressions, so when saving such a list, you are prompted for a short
1513identifying string to add to the file name.
1514
1515When you invoke one of the item filtering commands without a prefix
1516argument and a corresponding file already exists, the command visits
1517this file (if, for the current file or chosen files, there are multiple
1518files of items filtered by regular expression, you are prompted to
1519choose one). To force generation of a new filtered list, invoke the
1520command with a prefix argument (in the case of top priority items,
1521either numeric as described above, or the raw prefix argument @kbd{C-u} to
1522use the values of @code{todo-top-priorities-overrides} or
1523@code{todo-top-priorities}).
1524
1525Aside from explicitly invoking an item filtering command to display a
1526saved list of items filtered by a given method from given todo files,
1527there are two other ways to visit a saved file of filtered items:
1528
1529@table @kbd
1530@item F f
1531Visit a saved file of filtered items, which you choose via minibuffer
1532completion (@code{todo-find-filtered-items-file}).
1533@end table
1534
1535@itemize @bullet
1536@item
1537As with tables of categories, by customizing @code{todo-show-first} you
1538can have the first invocation of @code{todo-show} for a given todo file
1539display the corresponding saved file of filtered items. If there is
1540no saved filtered items list for the file, @code{todo-show} simply
1541defaults to visiting the file and displaying its first category, as
1542usual.
1543@end itemize
1544
1545The command @kbd{F k} (@pxref{File Editing}) is also available in Todo
1546Filtered Items mode. It deletes the current filtered items file.
1547
1548@node Todo Display Features, Printing Todo Buffers, Todo Filtered Items Mode, Top
1549@chapter Todo Display Features
1550
1551You can change the appearance of Todo mode buffers in a variety of ways.
1552
1553@menu
1554* Faces::
1555* Item Prefix::
1556* Other Display Commands and Options::
1557@end menu
1558
1559@node Faces, Item Prefix, , Todo Display Features
1560@section Faces
1561
1562Each of the Todo modes uses faces to distinguish various aspects of the
1563display, both structural and informational. For example, the faces for
1564the date and time strings of todo item headers by default inherit the
1565attributes of the corresponding faces used by the Emacs diary; but when
1566the date and time of a Todo diary item (i.e., an item lacking
1567@code{todo-nondiary-marker}) is earlier than the current date and time,
1568they are displayed in a different face. In this way, you can readily
1569recognize diary items that have ``expired'' and act accordingly (e.g.,
1570by tagging them as done or by updating the deadlines).
1571
1572Another example of an informational face is the face used to distinguish
1573top priority items. A third case is the face used in Todo Categories
1574mode to mark rows of the table containing categories with only archived
1575items.
1576
1577The @code{todo-faces} customization group contains a complete list of
1578Todo mode faces and brief descriptions of their use.
1579
1580
1581@node Item Prefix, Other Display Commands and Options, Faces, Todo Display Features
1582@section Item Prefix
1583
1584In the default display of (real or virtual) categories in Todo mode,
1585Todo Archive mode and Todo Filtered Item mode the items are visually
1586numbered in ascending order, starting with @samp{1} on the top item,
1587displayed to the left of its header (date/time string). With todo items
1588the numbers indicate each item's priority in the list, so when you
1589reprioritize an item with @kbd{#} or move it with @kbd{m}, these numbers make
1590it easier to choose the item's new priority. The numbering also lets
1591you to see at a glance how many items there are in the list. When an
1592item is inserted, deleted, or moved, the numbering is automatically
1593updated. In Todo mode, the todo and done items sections in each
1594category are separately numbered.
1595
1596If you prefer not to have item numbering displayed, disable the option
1597@code{todo-number-prefix}; then the display of each item starts by default
1598simply with its header. But you can also replace the numbering with a
1599visually distinctive string of your choice by customizing the option
1600@code{todo-prefix} (the empty string by default). Another alternative is to
1601temporarily hide the item numbering:
1602
1603@table @kbd
1604
1605@item F N
1606@itemx N
1607Toggle between displaying item numbering and displaying the
1608@code{todo-prefix} string in the current Todo file (todo, archive, or
1609saved virtual category of filtered items. This command also works in
1610buffers of filtered items that have not yet been written to a file.)
1611@end table
1612
1613In the todo items section of each Todo mode category, the item prefix
1614(whether a priority number or a fixed string) of the top priority items
1615(determined as specified in @pxref{Filtering Items}) is displayed in a
1616different face from the prefix of the other items, so you see at a
1617glance how many items in the category are top priorities.
1618
1619@node Other Display Commands and Options, , Item Prefix, Todo Display Features
1620@section Other Display Commands and Options
1621
1622There are two additional toggle commands that affect display in the
1623current file:
1624
1625@table @kbd
1626
1627@item F h
1628@itemx h
1629Hide the item headers if visible, or show them if they are hidden.
1630With done items, only the done header (i.e. the done tag and date-time
1631string inserted when the item was marked done) is hidden, the original
1632date-time string is not. With filtered items, the category (or
1633category-file) tag is not hidden.
1634
1635@item F H
1636@itemx H
1637Highlight the current item if unhighlighted, or remove its highlighting.
1638When item highlighting is enabled, it follows navigation by @kbd{n} or
1639@kbd{p}. If you want to have current item highlighting by default,
1640enable the option @code{todo-highlight-item}. @kbd{F H} or @kbd{H} will
1641still toggle it.
1642@end table
1643
1644There are two options which affect the display of items whose content is
1645longer than one screen line:
1646
1647@itemize @bullet{}
1648
1649@item
1650@code{todo-indent-to-here} sets the amount of indentation for all lines
1651after the first in multiline todo items, which is necessary in order
1652for todo diary items to be fully visible in the Fancy Diary display.
1653The default indentation is 3 spaces. For a uniform appearance this
1654option applies to all items, i.e., diary and nondiary todo items and
1655also done items.
1656
1657@item
1658@code{todo-wrap-lines} allows you to choose, for the purposes of
1659insertion and editing, between treating multiline todo items as
1660containing multiple logical lines with hard line breaks or as multiple
1661visual lines using Visual Line mode; the latter is the default. Since
1662multiparagraph items also contain hard line breaks in Visual Line mode,
1663for a uniform appearance this display shows indentation on wrapped lines
1664by using a wrap-prefix of @code{todo-indent-to-here} spaces.
1665@end itemize
1666
1667The indentation inserted after a hard newline is actually a tab
1668character, and the Todo modes that display items bind @code{tab-width} to
1669@code{todo-indent-to-here}, so if you change the default value of the
1670latter, the next time you visit a Todo file, the indentation will
1671reflect your change.
1672
1673By default, the todo and done items sections of a todo category are
1674visually separated by a line as wide as the window the buffer is
1675displayed in. You can change the appearance and width of the separator
1676by customizing @code{todo-done-separator-string}; you can also change the
1677face of the separator string.
1678
1679There are also several options for changing the appearance in Todo
1680Categories mode and Todo Filtered Items mode, beyond those mentioned
1681above in the sections on these modes; see the customization groups
1682@code{todo-categories} and @code{todo-filtered} for details.
1683
1684@node Printing Todo Buffers, Legacy Todo Mode Files, Todo Display Features, Top
1685@chapter Printing Todo Buffers
1686
1687If you print a Todo buffer using one of the standard Emacs printing
1688commands, it does not look exactly like what you see in the buffer.
1689This is because some of the display features are non-printable
1690(specifically, those using overlays, word-wrap and wrap-prefix). Todo
1691mode provides two print commands that produce output which includes
1692printable counterparts of such display features:
1693
1694@table @kbd
1695
1696@item P B
1697Send the printable buffer output directly to your printer.
1698
1699@item P F
1700Prompt for a file name and write the printable output to that file.
1701@end table
1702
1703By default, Todo uses @code{ps-print-buffer-with-faces} to make the
1704printable version; you can change this by setting the option
1705@code{todo-print-function}.
1706
1707@node Legacy Todo Mode Files, GNU Free Documentation License, Printing Todo Buffers, Top
1708@chapter Legacy Todo Mode Files
1709
1710Users of the original version of Todo mode will recognize from the
1711description in this user manual that, although the new version shares
1712with the original version the same basic user interface and handling of
1713todo items, there are some incompatible differences between them, such
1714as the done items sections (there are also other file format
1715incompatibilities behind the scenes that are normally not visible to
1716users).
1717
1718The most significant incompatibility concerns the item prefix. In the
1719earlier version of Todo mode the prefix was the initial part of the item
1720string itself, so in order for the item to be displayable in the Emacs
1721diary, the prefix had to be a date/time pattern recognizable by the
1722diary (although the todo item also has its own date/time header).
1723Moreover, since all items had the same prefix string in the original
1724version, this means that either only all or no items could appear in the
1725Fancy Diary display on any given date. This considerably restricts the
1726practicality of including todo items in the diary. In contrast, the
1727current version of Todo mode uses overlays for item priority numbering
1728or prefixes, and item-specific diary-compatible date/time headers and
1729special marks for todo items to be excluded from the diary, so you can
1730determine for each item whether and when it appears in the Fancy Diary
1731display.
1732
1733Due to these incompatibilities, files created with the original version
1734of Todo mode cannot be displayed or edited with the current version.
1735However, this version provides a function that converts the two main
1736types of files used by the original version into new-style valid todo
1737and archive files, respectively, and saves them in
1738@code{todo-directory}.@footnote{The original version of Todo mode also
1739allowed saving a file of top priority items, but since you can readily
1740create such a file with the new version, which is also more flexible,
1741no conversion is provided for this file.}
1742
1743This conversion function is automatically called the first time you
1744invoke @code{todo-show} (i.e., before you have created a todo file with
1745the new version), and if it finds the old-style files, it offers to
1746convert them, making them the first new-style todo and archive files.
1747If you choose not to convert the old-style files at this time, you can
1748do so later by invoking the command @code{todo-convert-legacy-files}
1749(there is no key binding for it, since it shouldn't be necessary to use
1750it often). (A delicate part of the conversion concerns the customizable
1751format of item date/time headers in the old-style; see the documentation
1752string of @code{todo-todo-mode-date-time-regexp} for details.)
1753
1754@node GNU Free Documentation License, , Legacy Todo Mode Files, Top
1755@appendix GNU Free Documentation License
1756@include doclicense.texi
1757
1758@bye
1759
1760@c End:
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 1121a450ebd..03c6da3b73f 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3186,13 +3186,13 @@ for example:
3186@end lisp 3186@end lisp
3187 3187
3188Note, that "%r", "%h" and "%p" must be encoded as "%%r", "%%h" and 3188Note, that "%r", "%h" and "%p" must be encoded as "%%r", "%%h" and
3189"%%p", respectively. The entries of @code{ControlPath}, 3189"%%p", respectively.
3190@code{ControlMaster} and @code{ControlPersist} can be removed from 3190
3191this setting, if they are configured properly in your 3191These settings can be suppressed, if they are configured properly in
3192@file{~/.ssh/config}: 3192your @file{~/.ssh/config}:
3193 3193
3194@lisp 3194@lisp
3195(setq tramp-ssh-controlmaster-options "") 3195(setq tramp-use-ssh-controlmaster-options nil)
3196@end lisp 3196@end lisp
3197 3197
3198 3198
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index 44a8b5573fa..8005d58ce8a 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -67,7 +67,12 @@ modify this GNU manual.''
67@display 67@display
68As distributed with Emacs @value{EMACSVER}. 68As distributed with Emacs @value{EMACSVER}.
69 69
70@ifnothtml
70@email{F.J.Wright@@qmw.ac.uk, Francis J. Wright} 71@email{F.J.Wright@@qmw.ac.uk, Francis J. Wright}
72@end ifnothtml
73@ifhtml
74Francis J. Wright
75@end ifhtml
71@uref{http://centaur.maths.qmw.ac.uk/, School of Mathematical Sciences} 76@uref{http://centaur.maths.qmw.ac.uk/, School of Mathematical Sciences}
72Queen Mary and Westfield College (University of London) 77Queen Mary and Westfield College (University of London)
73Mile End Road, London E1 4NS, UK 78Mile End Road, London E1 4NS, UK