diff options
| author | Stefan Monnier | 2011-02-01 12:09:25 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2011-02-01 12:09:25 -0500 |
| commit | 8f1d2ef658f95549eb33fe5265f8f11c5129bece (patch) | |
| tree | b7cd852a1adb423384532cfe22c31547160b22bc /doc | |
| parent | 590130fb19e1f433965c421d98fedeb2d7c33310 (diff) | |
| parent | 1dc4075fa8809805aed5092e93e225e889725c94 (diff) | |
| download | emacs-8f1d2ef658f95549eb33fe5265f8f11c5129bece.tar.gz emacs-8f1d2ef658f95549eb33fe5265f8f11c5129bece.zip | |
Merge from trunk
Diffstat (limited to 'doc')
206 files changed, 4585 insertions, 2664 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index e390c6cbc16..c5b31d70139 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,105 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (MAKEINFO): Remove options, leave only program name. | ||
| 4 | (MAKEINFO_OPTS): New variable. | ||
| 5 | (ENVADD, $(infodir)/emacs): Use $(MAKEINFO_OPTS). | ||
| 6 | (emacs.html): New target. | ||
| 7 | (clean): Remove emacs.html. | ||
| 8 | |||
| 9 | 2011-01-23 Werner Lemberg <wl@gnu.org> | ||
| 10 | |||
| 11 | * Makefile.in (MAKEINFO): Now controlled by `configure'. | ||
| 12 | (MAKEINFO_OPTS): New variable. Use it where appropriate. | ||
| 13 | (ENVADD): Updated. | ||
| 14 | |||
| 15 | 2011-01-18 Glenn Morris <rgm@gnu.org> | ||
| 16 | |||
| 17 | * ack.texi, emacs.texi (Acknowledgments): Update for ERT addition. | ||
| 18 | |||
| 19 | * ack.texi (Acknowledgments): Remove mention of replaced prolog.el. | ||
| 20 | |||
| 21 | 2011-01-15 Chong Yidong <cyd@stupidchicken.com> | ||
| 22 | |||
| 23 | * building.texi (Compilation): Improve instructions for running two | ||
| 24 | compilations (Bug#7573). | ||
| 25 | |||
| 26 | * files.texi (Backup Names): Document the new location of the | ||
| 27 | last-resort backup file. | ||
| 28 | |||
| 29 | * files.texi (File Aliases): Move directory-abbrev-alist doc from Lisp | ||
| 30 | manual. Explain why directory-abbrev-alist elements should be anchored | ||
| 31 | (Bug#7777). | ||
| 32 | |||
| 33 | 2011-01-15 Eli Zaretskii <eliz@gnu.org> | ||
| 34 | |||
| 35 | * msdog.texi (Windows Startup): Correct inaccurate description of | ||
| 36 | differences between emacsclient.exe and emacsclientw.exe. | ||
| 37 | |||
| 38 | 2011-01-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 39 | |||
| 40 | * rmail.texi (Rmail Display): Edit for grammar and conciseness. | ||
| 41 | |||
| 42 | 2011-01-02 Kenichi Handa <handa@m17n.org> | ||
| 43 | |||
| 44 | * rmail.texi (Rmail Display): Describe new features of Rmail in Info. | ||
| 45 | |||
| 46 | 2011-01-02 Eli Zaretskii <eliz@gnu.org> | ||
| 47 | |||
| 48 | * frames.texi (Cut and Paste): Modify the section's name and text: | ||
| 49 | don't mix "cut/paste" with "kill/yank". | ||
| 50 | (Cut/Paste Other App): Describe the per-session emulation of PRIMARY. | ||
| 51 | (Bug#7702) | ||
| 52 | |||
| 53 | * trouble.texi (Checklist): Mention debug-on-quit. (Bug#7667) | ||
| 54 | |||
| 55 | 2011-01-02 Glenn Morris <rgm@gnu.org> | ||
| 56 | |||
| 57 | * maintaining.texi: Move inclusion of emerge after EDE, so that it | ||
| 58 | matches its position in the menu. (Bug#7674) | ||
| 59 | |||
| 60 | 2011-01-02 Glenn Morris <rgm@gnu.org> | ||
| 61 | |||
| 62 | * trouble.texi (Checklist): Mention not replying via news either. | ||
| 63 | |||
| 64 | 2010-12-30 Tassilo Horn <tassilo@member.fsf.org> | ||
| 65 | |||
| 66 | * misc.texi (Document View): Update DocView section with newly | ||
| 67 | supported document formats. | ||
| 68 | |||
| 69 | 2010-12-21 Chong Yidong <cyd@stupidchicken.com> | ||
| 70 | |||
| 71 | * killing.texi: Resection the Info version to conform to the | ||
| 72 | printed manual, to avoid making sections on Accumulating Text, CUA | ||
| 73 | and Rectangles into full chapters. | ||
| 74 | |||
| 75 | 2010-12-13 Eli Zaretskii <eliz@gnu.org> | ||
| 76 | |||
| 77 | * custom.texi (Init Syntax): Add index entries for "character syntax". | ||
| 78 | (Bug#7576) | ||
| 79 | |||
| 80 | 2010-12-13 Karel Klíč <kklic@redhat.com> | ||
| 81 | |||
| 82 | * text.texi (HTML Mode): Small fixes. (Bug#7607) | ||
| 83 | |||
| 84 | 2010-12-13 Glenn Morris <rgm@gnu.org> | ||
| 85 | |||
| 86 | * trouble.texi (Checklist): Fix typo in newsgroup name. | ||
| 87 | |||
| 88 | 2010-12-13 Chong Yidong <cyd@stupidchicken.com> | ||
| 89 | |||
| 90 | * search.texi (Word Search): Note that the lazy highlight always | ||
| 91 | matches to whole words (Bug#7470). | ||
| 92 | |||
| 93 | 2010-12-13 Eli Zaretskii <eliz@gnu.org> | ||
| 94 | |||
| 95 | * display.texi (Optional Mode Line): Make the description of | ||
| 96 | load-average more accurate. | ||
| 97 | |||
| 98 | * msdog.texi (Windows HOME): Mention that HOME can also be set in the | ||
| 99 | registry, with a cross-reference. | ||
| 100 | (Windows Startup): New node. Move the stuff about the current | ||
| 101 | directory from "Windows HOME". | ||
| 102 | |||
| 1 | 2010-11-27 Bob Rogers <rogers-emacs@rgrjr.dyndns.org> | 103 | 2010-11-27 Bob Rogers <rogers-emacs@rgrjr.dyndns.org> |
| 2 | 104 | ||
| 3 | * maintaining.texi (VC With A Locking VCS, VC Directory Commands): | 105 | * maintaining.texi (VC With A Locking VCS, VC Directory Commands): |
| @@ -7474,9 +7576,7 @@ | |||
| 7474 | ;; coding: utf-8 | 7576 | ;; coding: utf-8 |
| 7475 | ;; End: | 7577 | ;; End: |
| 7476 | 7578 | ||
| 7477 | Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, | 7579 | Copyright (C) 1993-1999, 2001-2011 Free Software Foundation, Inc. |
| 7478 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 7479 | Free Software Foundation, Inc. | ||
| 7480 | 7580 | ||
| 7481 | This file is part of GNU Emacs. | 7581 | This file is part of GNU Emacs. |
| 7482 | 7582 | ||
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index cdbd718a58d..0ba396e6427 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | #### Makefile for the Emacs Manual | 1 | #### Makefile for the Emacs Manual |
| 2 | 2 | ||
| 3 | # Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, | 3 | # Copyright (C) 1994, 1996-2011 Free Software Foundation, Inc. |
| 4 | # 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | # Free Software Foundation, Inc. | ||
| 6 | 4 | ||
| 7 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 8 | 6 | ||
| @@ -39,14 +37,16 @@ texinfodir = $(srcdir)/../misc | |||
| 39 | 37 | ||
| 40 | # The makeinfo program is part of the Texinfo distribution. | 38 | # The makeinfo program is part of the Texinfo distribution. |
| 41 | # Use --force so that it generates output even if there are errors. | 39 | # Use --force so that it generates output even if there are errors. |
| 42 | MAKEINFO = makeinfo --force -I $(srcdir) | 40 | MAKEINFO = @MAKEINFO@ |
| 41 | MAKEINFO_OPTS = --force -I $(srcdir) | ||
| 43 | 42 | ||
| 44 | TEXI2DVI = texi2dvi | 43 | TEXI2DVI = texi2dvi |
| 45 | TEXI2PDF = texi2pdf | 44 | TEXI2PDF = texi2pdf |
| 46 | DVIPS = dvips | 45 | DVIPS = dvips |
| 47 | 46 | ||
| 48 | 47 | ||
| 49 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" | 48 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \ |
| 49 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" | ||
| 50 | 50 | ||
| 51 | 51 | ||
| 52 | EMACS_XTRA= \ | 52 | EMACS_XTRA= \ |
| @@ -129,7 +129,7 @@ ps: emacs.ps | |||
| 129 | 129 | ||
| 130 | $(infodir)/emacs: ${EMACSSOURCES} | 130 | $(infodir)/emacs: ${EMACSSOURCES} |
| 131 | $(mkinfodir) | 131 | $(mkinfodir) |
| 132 | $(MAKEINFO) -o $@ $< | 132 | $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< |
| 133 | 133 | ||
| 134 | emacs.dvi: ${EMACSSOURCES} | 134 | emacs.dvi: ${EMACSSOURCES} |
| 135 | $(ENVADD) $(TEXI2DVI) $< | 135 | $(ENVADD) $(TEXI2DVI) $< |
| @@ -141,7 +141,7 @@ emacs.pdf: ${EMACSSOURCES} | |||
| 141 | $(ENVADD) $(TEXI2PDF) $< | 141 | $(ENVADD) $(TEXI2PDF) $< |
| 142 | 142 | ||
| 143 | emacs.html: ${EMACSSOURCES} | 143 | emacs.html: ${EMACSSOURCES} |
| 144 | $(MAKEINFO) --html -o $@ $< | 144 | $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< |
| 145 | 145 | ||
| 146 | emacs-xtra.dvi: $(EMACS_XTRA) | 146 | emacs-xtra.dvi: $(EMACS_XTRA) |
| 147 | $(ENVADD) $(TEXI2DVI) $< | 147 | $(ENVADD) $(TEXI2DVI) $< |
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi index 9039ca662a0..d0833ea0854 100644 --- a/doc/emacs/abbrevs.texi +++ b/doc/emacs/abbrevs.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2003, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Abbrevs | 5 | @node Abbrevs |
| 6 | @chapter Abbrevs | 6 | @chapter Abbrevs |
| @@ -455,7 +455,3 @@ customize dynamic abbrev expansion to handle optional prefixes by setting | |||
| 455 | the variable @code{dabbrev-abbrev-skip-leading-regexp}. Its value | 455 | the variable @code{dabbrev-abbrev-skip-leading-regexp}. Its value |
| 456 | should be a regular expression that matches the optional prefix that | 456 | should be a regular expression that matches the optional prefix that |
| 457 | dynamic abbrev expression should ignore. | 457 | dynamic abbrev expression should ignore. |
| 458 | |||
| 459 | @ignore | ||
| 460 | arch-tag: 638e0079-9540-48ec-9166-414083e16445 | ||
| 461 | @end ignore | ||
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 3b22392b12e..d49fd7b7c60 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, | 2 | @c Copyright (C) 1994-1997, 1999-2011 Free Software Foundation, Inc. |
| 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | ||
| 5 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 6 | @c | 4 | @c |
| 7 | @node Acknowledgments, Screen, Concept Index, Top | 5 | @node Acknowledgments, Screen, Concept Index, Top |
| @@ -870,6 +868,10 @@ generating JSON files. | |||
| 870 | Kentaro Ohkouchi created the Emacs icons used beginning with Emacs 23. | 868 | Kentaro Ohkouchi created the Emacs icons used beginning with Emacs 23. |
| 871 | 869 | ||
| 872 | @item | 870 | @item |
| 871 | Christian Ohler wrote @file{ert.el}, a library for automated regression | ||
| 872 | testing. | ||
| 873 | |||
| 874 | @item | ||
| 873 | Alexandre Oliva wrote @file{gnus-mlspl.el}, a group params-based mail | 875 | Alexandre Oliva wrote @file{gnus-mlspl.el}, a group params-based mail |
| 874 | splitting mechanism. | 876 | splitting mechanism. |
| 875 | 877 | ||
| @@ -1239,12 +1241,12 @@ package, for GnuPG and PGP support. | |||
| 1239 | @item | 1241 | @item |
| 1240 | Masanobu Umeda wrote GNUS, a feature-rich reader for Usenet news that | 1242 | Masanobu Umeda wrote GNUS, a feature-rich reader for Usenet news that |
| 1241 | was the ancestor of the current Gnus package. He also wrote | 1243 | was the ancestor of the current Gnus package. He also wrote |
| 1242 | @file{prolog.el}, a mode for editing Prolog code; @file{rmailsort.el}, a | 1244 | @file{rmailsort.el}, a package for sorting messages in RMAIL folders; |
| 1243 | package for sorting messages in RMAIL folders; @file{metamail.el}, an | 1245 | @file{metamail.el}, an interface to the Metamail program; |
| 1244 | interface to the Metamail program; @file{gnus-kill.el}, the Kill File | 1246 | @file{gnus-kill.el}, the Kill File mode for Gnus; @file{gnus-mh.el}, an |
| 1245 | mode for Gnus; @file{gnus-mh.el}, an mh-e interface for Gnus; | 1247 | mh-e interface for Gnus; @file{gnus-msg.el}, a mail and post interface |
| 1246 | @file{gnus-msg.el}, a mail and post interface for Gnus; and | 1248 | for Gnus; and @file{timezone.el}, providing functions for dealing with |
| 1247 | @file{timezone.el}, providing functions for dealing with time zones. | 1249 | time zones. |
| 1248 | 1250 | ||
| 1249 | @item | 1251 | @item |
| 1250 | Neil W.@: Van Dyke wrote @file{webjump.el}, a ``hot links'' package. | 1252 | Neil W.@: Van Dyke wrote @file{webjump.el}, a ``hot links'' package. |
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index 748b43a17d7..1ee93362ae6 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Copyright (C) 2005-2011 Free Software Foundation, Inc. |
| 3 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 4 | 4 | ||
| 5 | @node Antinews, Mac OS / GNUstep, X Resources, Top | 5 | @node Antinews, Mac OS / GNUstep, X Resources, Top |
| @@ -135,7 +135,3 @@ Support for Sun windows has been added. | |||
| 135 | To keep up with decreasing computer memory capacity and disk space, many | 135 | To keep up with decreasing computer memory capacity and disk space, many |
| 136 | other functions and files have been eliminated in Emacs 22.3. | 136 | other functions and files have been eliminated in Emacs 22.3. |
| 137 | @end itemize | 137 | @end itemize |
| 138 | |||
| 139 | @ignore | ||
| 140 | arch-tag: 32932bd9-46f5-41b2-8a0e-fb0cc4caeb29 | ||
| 141 | @end ignore | ||
diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi index 098d0483e9a..374886cd956 100644 --- a/doc/emacs/arevert-xtra.texi +++ b/doc/emacs/arevert-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -186,7 +185,3 @@ should at the very least make clear whether enabling auto-reverting | |||
| 186 | for the buffer reliably assures that all information in the buffer is | 185 | for the buffer reliably assures that all information in the buffer is |
| 187 | completely up to date (or will be after @code{auto-revert-interval} | 186 | completely up to date (or will be after @code{auto-revert-interval} |
| 188 | seconds). | 187 | seconds). |
| 189 | |||
| 190 | @ignore | ||
| 191 | arch-tag: 2983e613-a272-45f6-9593-3010ad7f865e | ||
| 192 | @end ignore | ||
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 35c41a01097..edf07859e52 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Basic, Minibuffer, Exiting, Top | 5 | @node Basic, Minibuffer, Exiting, Top |
| @@ -744,4 +743,3 @@ characters. You can repeat that command (including its argument) three | |||
| 744 | additional times, to delete a total of 80 characters, by typing @kbd{C-x | 743 | additional times, to delete a total of 80 characters, by typing @kbd{C-x |
| 745 | z z z}. The first @kbd{C-x z} repeats the command once, and each | 744 | z z z}. The first @kbd{C-x z} repeats the command once, and each |
| 746 | subsequent @kbd{z} repeats it once again. | 745 | subsequent @kbd{z} repeats it once again. |
| 747 | |||
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index ca9279a9df4..ae0d85f249b 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Buffers, Windows, Files, Top | 5 | @node Buffers, Windows, Files, Top |
| @@ -674,7 +673,3 @@ provides a different and customizable mouse buffer menu which you may | |||
| 674 | prefer. It replaces the bindings of @code{mouse-buffer-menu}, | 673 | prefer. It replaces the bindings of @code{mouse-buffer-menu}, |
| 675 | normally on @kbd{C-Down-Mouse-1}, and the menu bar buffer menu. You | 674 | normally on @kbd{C-Down-Mouse-1}, and the menu bar buffer menu. You |
| 676 | can customize the menu in the @code{msb} Custom group. | 675 | can customize the menu in the @code{msb} Custom group. |
| 677 | |||
| 678 | @ignore | ||
| 679 | arch-tag: 08c43460-f4f4-4b43-9cb5-1ea9ad991695 | ||
| 680 | @end ignore | ||
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index dca76407e23..1a02e92b67f 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Building, Maintaining, Programs, Top | 5 | @node Building, Maintaining, Programs, Top |
| @@ -122,10 +121,10 @@ confirmation before actually killing a compilation that is running. | |||
| 122 | You can also kill the compilation process with @kbd{M-x | 121 | You can also kill the compilation process with @kbd{M-x |
| 123 | kill-compilation}. | 122 | kill-compilation}. |
| 124 | 123 | ||
| 125 | If you want to run two compilations at once, you should start the | 124 | To run two compilations at once, start the first one, then rename |
| 126 | first one, then rename the @samp{*compilation*} buffer (perhaps using | 125 | the @samp{*compilation*} buffer (perhaps using @code{rename-uniquely}; |
| 127 | @code{rename-uniquely}; @pxref{Misc Buffer}), and start the other | 126 | @pxref{Misc Buffer}), then switch buffers and start the other |
| 128 | compilation. That will create a new @samp{*compilation*} buffer. | 127 | compilation. This will create a new @samp{*compilation*} buffer. |
| 129 | 128 | ||
| 130 | Emacs does not expect a compiler process to launch asynchronous | 129 | Emacs does not expect a compiler process to launch asynchronous |
| 131 | subprocesses; if it does, and they keep running after the main | 130 | subprocesses; if it does, and they keep running after the main |
| @@ -1640,8 +1639,3 @@ editing Lisp programs to be run in Emacs; see @pxref{Lisp Eval}): in | |||
| 1640 | both modes it has the effect of installing the function definition | 1639 | both modes it has the effect of installing the function definition |
| 1641 | that point is in, but the way of doing so is different according to | 1640 | that point is in, but the way of doing so is different according to |
| 1642 | where the relevant Lisp environment is found. | 1641 | where the relevant Lisp environment is found. |
| 1643 | |||
| 1644 | |||
| 1645 | @ignore | ||
| 1646 | arch-tag: 9c3c2f71-b332-4144-8500-3ff9945a50ed | ||
| 1647 | @end ignore | ||
diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index de36ccc4f5f..b936636403a 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -900,7 +899,3 @@ for example in the European style to @var{day}, @var{month}, @var{year}.) | |||
| 900 | @var{mark} which specifies how to mark the date in the calendar display. | 899 | @var{mark} which specifies how to mark the date in the calendar display. |
| 901 | If one of these functions decides that it applies to a certain date, | 900 | If one of these functions decides that it applies to a certain date, |
| 902 | it returns a value that contains @var{mark}, as described above. | 901 | it returns a value that contains @var{mark}, as described above. |
| 903 | |||
| 904 | @ignore | ||
| 905 | arch-tag: 52cb299f-fd1f-4616-bfe6-91b988669431 | ||
| 906 | @end ignore | ||
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 89504764d7d..757dc3b4ac7 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Calendar/Diary, Document View, Dired, Top | 5 | @node Calendar/Diary, Document View, Dired, Top |
| @@ -1709,7 +1708,3 @@ data in Emacs from the file. | |||
| 1709 | @ifnottex | 1708 | @ifnottex |
| 1710 | @include cal-xtra.texi | 1709 | @include cal-xtra.texi |
| 1711 | @end ifnottex | 1710 | @end ifnottex |
| 1712 | |||
| 1713 | @ignore | ||
| 1714 | arch-tag: 4531ef09-9df3-449d-9c52-2b5a4a337f92 | ||
| 1715 | @end ignore | ||
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index ff8e4f84abd..12c1d9a8bfd 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Emacs Invocation, X Resources, GNU Free Documentation License, Top | 5 | @node Emacs Invocation, X Resources, GNU Free Documentation License, Top |
| 6 | @appendix Command Line Arguments for Emacs Invocation | 6 | @appendix Command Line Arguments for Emacs Invocation |
| @@ -1163,7 +1163,3 @@ test case that simplifies debugging of display problems. | |||
| 1163 | 1163 | ||
| 1164 | The @samp{--xrm} option (@pxref{Resources}) specifies additional | 1164 | The @samp{--xrm} option (@pxref{Resources}) specifies additional |
| 1165 | X resource values. | 1165 | X resource values. |
| 1166 | |||
| 1167 | @ignore | ||
| 1168 | arch-tag: fffecd9e-7329-4a51-a3cc-dd4a9889340e | ||
| 1169 | @end ignore | ||
diff --git a/doc/emacs/commands.texi b/doc/emacs/commands.texi index 5fdd4ce42a4..5f44e7cd076 100644 --- a/doc/emacs/commands.texi +++ b/doc/emacs/commands.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @iftex | 5 | @iftex |
| 6 | @chapter Characters, Keys and Commands | 6 | @chapter Characters, Keys and Commands |
| @@ -195,7 +195,3 @@ specific variables will make sense. | |||
| 195 | @ifnottex | 195 | @ifnottex |
| 196 | @lowersections | 196 | @lowersections |
| 197 | @end ifnottex | 197 | @end ifnottex |
| 198 | |||
| 199 | @ignore | ||
| 200 | arch-tag: 9be43eef-d1f4-4d03-a916-c741ea713a45 | ||
| 201 | @end ignore | ||
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 18fdb581210..3bce186b38e 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Customization, Quitting, Amusements, Top | 5 | @node Customization, Quitting, Amusements, Top |
| @@ -2234,6 +2233,8 @@ a Meta character, as in @samp{\M-a} for @kbd{Meta-A} or @samp{\M-\C-a} for | |||
| 2234 | non-@acronym{ASCII} in your init file. | 2233 | non-@acronym{ASCII} in your init file. |
| 2235 | 2234 | ||
| 2236 | @item Characters: | 2235 | @item Characters: |
| 2236 | @cindex Lisp character syntax | ||
| 2237 | @cindex character syntax | ||
| 2237 | Lisp character constant syntax consists of a @samp{?} followed by | 2238 | Lisp character constant syntax consists of a @samp{?} followed by |
| 2238 | either a character or an escape sequence starting with @samp{\}. | 2239 | either a character or an escape sequence starting with @samp{\}. |
| 2239 | Examples: @code{?x}, @code{?\n}, @code{?\"}, @code{?\)}. Note that | 2240 | Examples: @code{?x}, @code{?\n}, @code{?\"}, @code{?\)}. Note that |
| @@ -2250,6 +2251,7 @@ keys which send non-@acronym{ASCII} characters. | |||
| 2250 | @code{nil} stands for `false'. | 2251 | @code{nil} stands for `false'. |
| 2251 | 2252 | ||
| 2252 | @item Other Lisp objects: | 2253 | @item Other Lisp objects: |
| 2254 | @cindex Lisp object syntax | ||
| 2253 | Write a single-quote (@code{'}) followed by the Lisp object you want. | 2255 | Write a single-quote (@code{'}) followed by the Lisp object you want. |
| 2254 | @end table | 2256 | @end table |
| 2255 | 2257 | ||
| @@ -2602,7 +2604,3 @@ stop working. It is therefore advisable to use one and only one | |||
| 2602 | coding system, for your init file as well as the files you edit. For | 2604 | coding system, for your init file as well as the files you edit. For |
| 2603 | example, don't mix the @samp{latin-1} and @samp{latin-9} coding | 2605 | example, don't mix the @samp{latin-1} and @samp{latin-9} coding |
| 2604 | systems. | 2606 | systems. |
| 2605 | |||
| 2606 | @ignore | ||
| 2607 | arch-tag: c68abddb-4410-4fb5-925f-63394e971d93 | ||
| 2608 | @end ignore | ||
diff --git a/doc/emacs/dired-xtra.texi b/doc/emacs/dired-xtra.texi index ce49b4d0784..efb05226ba8 100644 --- a/doc/emacs/dired-xtra.texi +++ b/doc/emacs/dired-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -42,7 +41,3 @@ without explicitly assigned switches.) | |||
| 42 | You can make Dired forget about all subdirectory switches and relist | 41 | You can make Dired forget about all subdirectory switches and relist |
| 43 | all subdirectories with the buffer's default switches using | 42 | all subdirectories with the buffer's default switches using |
| 44 | @kbd{M-x dired-reset-subdir-switches}. This also reverts the Dired buffer. | 43 | @kbd{M-x dired-reset-subdir-switches}. This also reverts the Dired buffer. |
| 45 | |||
| 46 | @ignore | ||
| 47 | arch-tag: e3865701-9179-4ffb-bc34-d321111c688d | ||
| 48 | @end ignore | ||
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 4a5d52b64ad..914c9984c14 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Dired, Calendar/Diary, Rmail, Top | 5 | @node Dired, Calendar/Diary, Rmail, Top |
| @@ -1404,7 +1403,3 @@ it onto a Dired buffer; this either moves, copies, or creates a link | |||
| 1404 | to the file in that directory. Precisely which action is taken is | 1403 | to the file in that directory. Precisely which action is taken is |
| 1405 | determined by the originating program. Dragging files out of a Dired | 1404 | determined by the originating program. Dragging files out of a Dired |
| 1406 | buffer is currently not supported. | 1405 | buffer is currently not supported. |
| 1407 | |||
| 1408 | @ignore | ||
| 1409 | arch-tag: d105f9b9-fc1b-4c5f-a949-9b2cf3ca2fc1 | ||
| 1410 | @end ignore | ||
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index cd08a524f50..a21b660ee21 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | 4 | ||
| 6 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| @@ -1010,11 +1009,12 @@ their parentheses. It looks like this: | |||
| 1010 | @noindent | 1009 | @noindent |
| 1011 | @vindex display-time-24hr-format | 1010 | @vindex display-time-24hr-format |
| 1012 | Here @var{hh} and @var{mm} are the hour and minute, followed always by | 1011 | Here @var{hh} and @var{mm} are the hour and minute, followed always by |
| 1013 | @samp{am} or @samp{pm}. @var{l.ll} is the average number of running | 1012 | @samp{am} or @samp{pm}. @var{l.ll} is the average number, collected |
| 1014 | processes in the whole system recently. (Some fields may be missing if | 1013 | for the last few minutes, of processes in the whole system that were |
| 1015 | your operating system cannot support them.) If you prefer time display | 1014 | either running or ready to run (i.e.@: were waiting for an available |
| 1016 | in 24-hour format, set the variable @code{display-time-24hr-format} | 1015 | processor). (Some fields may be missing if your operating system |
| 1017 | to @code{t}. | 1016 | cannot support them.) If you prefer time display in 24-hour format, |
| 1017 | set the variable @code{display-time-24hr-format} to @code{t}. | ||
| 1018 | 1018 | ||
| 1019 | @cindex mail (on mode line) | 1019 | @cindex mail (on mode line) |
| 1020 | @vindex display-time-use-mail-icon | 1020 | @vindex display-time-use-mail-icon |
| @@ -1400,7 +1400,3 @@ page for other output. On such terminals, you might want to set the variable | |||
| 1400 | @code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to | 1400 | @code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to |
| 1401 | assume, when resumed, that the screen page it is using still contains | 1401 | assume, when resumed, that the screen page it is using still contains |
| 1402 | what Emacs last wrote there. | 1402 | what Emacs last wrote there. |
| 1403 | |||
| 1404 | @ignore | ||
| 1405 | arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4 | ||
| 1406 | @end ignore | ||
diff --git a/doc/emacs/doclicense.texi b/doc/emacs/doclicense.texi index 6e9f5a144b9..51342e96d60 100644 --- a/doc/emacs/doclicense.texi +++ b/doc/emacs/doclicense.texi | |||
| @@ -506,7 +506,3 @@ to permit their use in free software. | |||
| 506 | @c ispell-local-pdict: "ispell-dict" | 506 | @c ispell-local-pdict: "ispell-dict" |
| 507 | @c End: | 507 | @c End: |
| 508 | 508 | ||
| 509 | @ignore | ||
| 510 | arch-tag: d68e7b7a-0c7c-4c15-905b-a9482214e25a | ||
| 511 | @end ignore | ||
| 512 | |||
diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index f0c1ffb2408..f9d1c27fe55 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | @copying | 11 | @copying |
| 12 | This manual describes specialized features of Emacs. | 12 | This manual describes specialized features of Emacs. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 14 | Copyright @copyright{} 2004-2011 |
| 15 | Free Software Foundation, Inc. | 15 | Free Software Foundation, Inc. |
| 16 | 16 | ||
| 17 | @quotation | 17 | @quotation |
| @@ -136,7 +136,3 @@ the Emacs manual. | |||
| 136 | @printindex cp | 136 | @printindex cp |
| 137 | 137 | ||
| 138 | @bye | 138 | @bye |
| 139 | |||
| 140 | @ignore | ||
| 141 | arch-tag: 75c33f13-32c6-41b6-9537-847a312e2e49 | ||
| 142 | @end ignore | ||
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 65a565dbe8e..cd9a4602bf9 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -11,9 +11,7 @@ | |||
| 11 | This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@* | 11 | This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@* |
| 12 | updated for Emacs version @value{EMACSVER}. | 12 | updated for Emacs version @value{EMACSVER}. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, | 14 | Copyright @copyright{} 1985-1987, 1993-2011 Free Software Foundation, Inc. |
| 15 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | ||
| 16 | 2010 Free Software Foundation, Inc. | ||
| 17 | 15 | ||
| 18 | @quotation | 16 | @quotation |
| 19 | Permission is granted to copy, distribute and/or modify this document | 17 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1192,6 +1190,7 @@ Emacs and Mac OS / GNUstep | |||
| 1192 | 1190 | ||
| 1193 | Emacs and Microsoft Windows/MS-DOS | 1191 | Emacs and Microsoft Windows/MS-DOS |
| 1194 | 1192 | ||
| 1193 | * Windows Startup:: How to start Emacs on Windows. | ||
| 1195 | * Text and Binary:: Text files use CRLF to terminate lines. | 1194 | * Text and Binary:: Text files use CRLF to terminate lines. |
| 1196 | * Windows Files:: File-name conventions on Windows. | 1195 | * Windows Files:: File-name conventions on Windows. |
| 1197 | * ls in Lisp:: Emulation of @code{ls} for Dired. | 1196 | * ls in Lisp:: Emulation of @code{ls} for Dired. |
| @@ -1394,15 +1393,15 @@ Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan | |||
| 1394 | Monnier, Morioka Tomohiko, Keith Moore, Jan Moringen, Glenn Morris, | 1393 | Monnier, Morioka Tomohiko, Keith Moore, Jan Moringen, Glenn Morris, |
| 1395 | Diane Murray, Sen Nagata, Erik Naggum, Thomas Neumann, Thien-Thi Nguyen, | 1394 | Diane Murray, Sen Nagata, Erik Naggum, Thomas Neumann, Thien-Thi Nguyen, |
| 1396 | Mike Newton, Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff | 1395 | Mike Newton, Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff |
| 1397 | Norden, Andrew Norman, Alexandre Oliva, Bob Olson, Michael Olson, | 1396 | Norden, Andrew Norman, Christian Ohler, Alexandre Oliva, Bob Olson, |
| 1398 | Takaaki Ota, Pieter E.@: J.@: Pareit, Ross Patterson, David Pearson, | 1397 | Michael Olson, Takaaki Ota, Pieter E.@: J.@: Pareit, Ross Patterson, |
| 1399 | Jeff Peck, Damon Anton Permezel, Tom Perrine, William M.@: Perry, Per | 1398 | David Pearson, Jeff Peck, Damon Anton Permezel, Tom Perrine, William |
| 1400 | Persson, Jens Petersen, Daniel Pfeiffer, Richard L.@: Pieri, Fred | 1399 | M.@: Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Richard L.@: |
| 1401 | Pierresteguy, Christian Plaunt, David Ponce, Francesco A.@: Potorti, | 1400 | Pieri, Fred Pierresteguy, Christian Plaunt, David Ponce, Francesco A.@: |
| 1402 | Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin | 1401 | Potorti, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, |
| 1403 | Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, Alex Rezinsky, | 1402 | Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, Alex |
| 1404 | Rob Riepel, David Reitter, Adrian Robert, Nick Roberts, Roland B.@: | 1403 | Rezinsky, Rob Riepel, David Reitter, Adrian Robert, Nick Roberts, Roland |
| 1405 | Roberts, John Robinson, Danny Roozendaal, Sebastian Rose, William | 1404 | B.@: Roberts, John Robinson, Danny Roozendaal, Sebastian Rose, William |
| 1406 | Rosenblatt, Guillermo J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, | 1405 | Rosenblatt, Guillermo J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, |
| 1407 | Jason Rumney, Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko | 1406 | Jason Rumney, Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko |
| 1408 | Sato, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph | 1407 | Sato, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph |
diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi index f502d3f4728..b46868cf52b 100644 --- a/doc/emacs/emerge-xtra.texi +++ b/doc/emacs/emerge-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -412,7 +411,3 @@ commands. | |||
| 412 | @ifnottex | 411 | @ifnottex |
| 413 | @xref{Hooks}. | 412 | @xref{Hooks}. |
| 414 | @end ifnottex | 413 | @end ifnottex |
| 415 | |||
| 416 | @ignore | ||
| 417 | arch-tag: cda63f09-9c5f-4ea1-adb9-4a820fdfb24e | ||
| 418 | @end ignore | ||
diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi index 743688f3033..3c4a74c02b5 100644 --- a/doc/emacs/entering.texi +++ b/doc/emacs/entering.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 2001, 2002, 2003, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 2001-2011 |
| 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @iftex | 5 | @iftex |
| 6 | @chapter Entering and Exiting Emacs | 6 | @chapter Entering and Exiting Emacs |
| @@ -181,7 +181,3 @@ keys to run any commands of your choice (@pxref{Keymaps}). | |||
| 181 | @ifnottex | 181 | @ifnottex |
| 182 | @lowersections | 182 | @lowersections |
| 183 | @end ifnottex | 183 | @end ifnottex |
| 184 | |||
| 185 | @ignore | ||
| 186 | arch-tag: df798d8b-f253-4113-b585-f528f078a944 | ||
| 187 | @end ignore | ||
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 73c10ac834f..0ebf59a9f37 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011 |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Files, Buffers, Keyboard Macros, Top | 5 | @node Files, Buffers, Keyboard Macros, Top |
| @@ -568,10 +567,10 @@ another from the newly saved contents if you save again. | |||
| 568 | appending @samp{~} to the file name being edited; thus, the backup | 567 | appending @samp{~} to the file name being edited; thus, the backup |
| 569 | file for @file{eval.c} would be @file{eval.c~}. | 568 | file for @file{eval.c} would be @file{eval.c~}. |
| 570 | 569 | ||
| 571 | If access control stops Emacs from writing backup files under the usual | 570 | If access control stops Emacs from writing backup files under the |
| 572 | names, it writes the backup file as @file{%backup%~} in your home | 571 | usual names, it writes the backup file as @file{~/.emacs.d/%backup%~}. |
| 573 | directory. Only one such file can exist, so only the most recently | 572 | Only one such file can exist, so only the most recently made such |
| 574 | made such backup is available. | 573 | backup is available. |
| 575 | 574 | ||
| 576 | Emacs can also make @dfn{numbered backup files}. Numbered backup | 575 | Emacs can also make @dfn{numbered backup files}. Numbered backup |
| 577 | file names contain @samp{.~}, the number, and another @samp{~} after | 576 | file names contain @samp{.~}, the number, and another @samp{~} after |
| @@ -1160,7 +1159,6 @@ links point to directories. | |||
| 1160 | 1159 | ||
| 1161 | @vindex find-file-existing-other-name | 1160 | @vindex find-file-existing-other-name |
| 1162 | @vindex find-file-suppress-same-file-warnings | 1161 | @vindex find-file-suppress-same-file-warnings |
| 1163 | |||
| 1164 | Normally, if you visit a file which Emacs is already visiting under | 1162 | Normally, if you visit a file which Emacs is already visiting under |
| 1165 | a different name, Emacs displays a message in the echo area and uses | 1163 | a different name, Emacs displays a message in the echo area and uses |
| 1166 | the existing buffer visiting that file. This can happen on systems | 1164 | the existing buffer visiting that file. This can happen on systems |
| @@ -1182,6 +1180,31 @@ then the file name recorded for a buffer is the file's @dfn{truename} | |||
| 1182 | than the name you specify. Setting @code{find-file-visit-truename} also | 1180 | than the name you specify. Setting @code{find-file-visit-truename} also |
| 1183 | implies the effect of @code{find-file-existing-other-name}. | 1181 | implies the effect of @code{find-file-existing-other-name}. |
| 1184 | 1182 | ||
| 1183 | @cindex directory name abbreviation | ||
| 1184 | @vindex directory-abbrev-alist | ||
| 1185 | Sometimes, a directory is ordinarily accessed through a symbolic | ||
| 1186 | link, and you may want Emacs to preferentially display its ``linked'' | ||
| 1187 | name instead of its truename. To do this, customize the variable | ||
| 1188 | @code{directory-abbrev-alist}. Each element in this list should have | ||
| 1189 | the form @code{(@var{from} . @var{to})}, which says to replace | ||
| 1190 | @var{from} with @var{to} when it appears in a directory name. For | ||
| 1191 | this feature to work properly, @var{from} and @var{to} should point to | ||
| 1192 | the same file. The @var{from} string is actually a regular expression | ||
| 1193 | (@pxref{Regexps}); it should always start with @samp{\`}, to avoid | ||
| 1194 | matching to an incorrect part of the original directory name. The | ||
| 1195 | @var{to} string should be an ordinary absolute directory name. Do not | ||
| 1196 | use @samp{~} to stand for a home directory in the @var{to} string; | ||
| 1197 | Emacs performs these substitutions separately. | ||
| 1198 | |||
| 1199 | Here's an example, from a system on which file system | ||
| 1200 | @file{/home/fsf} and so on are normally accessed through symbolic | ||
| 1201 | links named @file{/fsf} and so on. | ||
| 1202 | |||
| 1203 | @example | ||
| 1204 | (("\\`/home/fsf" . "/fsf") | ||
| 1205 | ("\\`/home/gd" . "/gd")) | ||
| 1206 | @end example | ||
| 1207 | |||
| 1185 | @node Directories | 1208 | @node Directories |
| 1186 | @section File Directories | 1209 | @section File Directories |
| 1187 | 1210 | ||
| @@ -1974,7 +1997,3 @@ menu, where each existing fileset is represented by a submenu. | |||
| 1974 | Control} to describe sets of files to be treated as a group for | 1997 | Control} to describe sets of files to be treated as a group for |
| 1975 | purposes of version control operations. Those filesets are unnamed | 1998 | purposes of version control operations. Those filesets are unnamed |
| 1976 | and do not persist across Emacs sessions. | 1999 | and do not persist across Emacs sessions. |
| 1977 | |||
| 1978 | @ignore | ||
| 1979 | arch-tag: 768d32cb-e15a-4cc1-b7bf-62c00ee12250 | ||
| 1980 | @end ignore | ||
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi index e7b633769b9..72100f8cafb 100644 --- a/doc/emacs/fixit.texi +++ b/doc/emacs/fixit.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Fixit, Keyboard Macros, Search, Top | 5 | @node Fixit, Keyboard Macros, Search, Top |
| 6 | @chapter Commands for Fixing Typos | 6 | @chapter Commands for Fixing Typos |
| @@ -423,7 +423,3 @@ that it only checks words in comments and string constants. This | |||
| 423 | feature is useful for editing programs. Type @kbd{M-x | 423 | feature is useful for editing programs. Type @kbd{M-x |
| 424 | flyspell-prog-mode} to enable or disable this mode in the current | 424 | flyspell-prog-mode} to enable or disable this mode in the current |
| 425 | buffer. | 425 | buffer. |
| 426 | |||
| 427 | @ignore | ||
| 428 | arch-tag: 3359a443-96ed-448f-9f05-c8111ba8eac0 | ||
| 429 | @end ignore | ||
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index d875ed46812..8f92df3f3ae 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -582,7 +581,3 @@ to @samp{continue}, provided Abbrev mode is enabled.@refill | |||
| 582 | 581 | ||
| 583 | Type @samp{;?} or @samp{;C-h} to display a list of all the built-in | 582 | Type @samp{;?} or @samp{;C-h} to display a list of all the built-in |
| 584 | Fortran abbrevs and what they stand for. | 583 | Fortran abbrevs and what they stand for. |
| 585 | |||
| 586 | @ignore | ||
| 587 | arch-tag: 23ed7c36-1517-4646-9235-2d5ade5f06f6 | ||
| 588 | @end ignore | ||
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index df4f0beff9e..b952ef15aff 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011 |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Frames, International, Windows, Top | 5 | @node Frames, International, Windows, Top |
| @@ -58,10 +57,10 @@ so that you can use many of the features described in this chapter. | |||
| 58 | @end menu | 57 | @end menu |
| 59 | 58 | ||
| 60 | @node Cut and Paste | 59 | @node Cut and Paste |
| 61 | @section Killing and Yanking on Graphical Displays | 60 | @section Cutting and Pasting on Graphical Displays |
| 62 | 61 | ||
| 63 | This section describes commands for selecting a region, killing, and | 62 | This section describes commands for selecting a region, cutting, and |
| 64 | yanking using the mouse. | 63 | pasting using the mouse. |
| 65 | 64 | ||
| 66 | @menu | 65 | @menu |
| 67 | * Mouse Commands:: Moving, cutting, and pasting, with the mouse. | 66 | * Mouse Commands:: Moving, cutting, and pasting, with the mouse. |
| @@ -248,6 +247,14 @@ has no ``memory'': each time you save something in the primary | |||
| 248 | selection, either in Emacs or in another X application, the previous | 247 | selection, either in Emacs or in another X application, the previous |
| 249 | contents of the primary selection are lost. | 248 | contents of the primary selection are lost. |
| 250 | 249 | ||
| 250 | @cindex MS-Windows, and primary selection | ||
| 251 | MS-Windows provides no primary selection, but Emacs emulates it | ||
| 252 | within a single Emacs session, by storing the selected text | ||
| 253 | internally. Therefore, all the features and commands related to the | ||
| 254 | primary selection work on Windows as they do on X, for cutting and | ||
| 255 | pasting within the same session, but not across Emacs sessions or with | ||
| 256 | other applications. | ||
| 257 | |||
| 251 | Whenever you kill some text using a command such as @kbd{C-w} | 258 | Whenever you kill some text using a command such as @kbd{C-w} |
| 252 | (@code{kill-region}), or copy it into the kill ring using a command | 259 | (@code{kill-region}), or copy it into the kill ring using a command |
| 253 | such as @kbd{M-w} (@code{kill-ring-save}), that text is also saved in | 260 | such as @kbd{M-w} (@code{kill-ring-save}), that text is also saved in |
| @@ -1431,7 +1438,3 @@ again. | |||
| 1431 | In the console on GNU/Linux, you can use @kbd{M-x gpm-mouse-mode} to | 1438 | In the console on GNU/Linux, you can use @kbd{M-x gpm-mouse-mode} to |
| 1432 | enable terminal mouse support. You must have the gpm package | 1439 | enable terminal mouse support. You must have the gpm package |
| 1433 | installed and running on your system in order for this to work. | 1440 | installed and running on your system in order for this to work. |
| 1434 | |||
| 1435 | @ignore | ||
| 1436 | arch-tag: 7dcf3a31-a43b-45d4-a900-445b10d77e49 | ||
| 1437 | @end ignore | ||
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi index 2d6b7f295b6..3cf1cc522bf 100644 --- a/doc/emacs/glossary.texi +++ b/doc/emacs/glossary.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Glossary, Key Index, Intro, Top | 5 | @node Glossary, Key Index, Intro, Top |
| 6 | @unnumbered Glossary | 6 | @unnumbered Glossary |
| @@ -1372,7 +1372,3 @@ Yanking means reinserting text previously killed (q.v.@:). It can be | |||
| 1372 | used to undo a mistaken kill, or for copying or moving text. Some | 1372 | used to undo a mistaken kill, or for copying or moving text. Some |
| 1373 | other systems call this ``pasting.'' @xref{Yanking}. | 1373 | other systems call this ``pasting.'' @xref{Yanking}. |
| 1374 | @end table | 1374 | @end table |
| 1375 | |||
| 1376 | @ignore | ||
| 1377 | arch-tag: 0dd53ce1-5f09-4ac2-b13b-cf22b0f28d23 | ||
| 1378 | @end ignore | ||
diff --git a/doc/emacs/gnu.texi b/doc/emacs/gnu.texi index 8c2f0a740e9..dfdeedd65ec 100644 --- a/doc/emacs/gnu.texi +++ b/doc/emacs/gnu.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c Copyright (C) 1985, 1986, 1987, 1993, 1995, 2001, 2002, 2003, 2004, | 1 | @c Copyright (C) 1985-1987, 1993, 1995, 2001-2011 |
| 2 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Free Software Foundation, Inc. |
| 3 | @c | 3 | @c |
| 4 | @c Permission is granted to anyone to make or distribute verbatim copies | 4 | @c Permission is granted to anyone to make or distribute verbatim copies |
| 5 | @c of this document, in any medium, provided that the copyright notice and | 5 | @c of this document, in any medium, provided that the copyright notice and |
| @@ -549,7 +549,3 @@ this are bureaucracy and isometric struggles against competition. Free | |||
| 549 | software will greatly reduce these drains in the area of software | 549 | software will greatly reduce these drains in the area of software |
| 550 | production. We must do this, in order for technical gains in productivity | 550 | production. We must do this, in order for technical gains in productivity |
| 551 | to translate into less work for us. | 551 | to translate into less work for us. |
| 552 | |||
| 553 | @ignore | ||
| 554 | arch-tag: 21eb38f8-6fa0-480a-91cd-f3dab7148542 | ||
| 555 | @end ignore | ||
diff --git a/doc/emacs/gpl.texi b/doc/emacs/gpl.texi index 7fe5c3ebe40..1908d1f8f98 100644 --- a/doc/emacs/gpl.texi +++ b/doc/emacs/gpl.texi | |||
| @@ -715,7 +715,3 @@ library, you may consider it more useful to permit linking proprietary | |||
| 715 | applications with the library. If this is what you want to do, use | 715 | applications with the library. If this is what you want to do, use |
| 716 | the GNU Lesser General Public License instead of this License. But | 716 | the GNU Lesser General Public License instead of this License. But |
| 717 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. | 717 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. |
| 718 | |||
| 719 | @ignore | ||
| 720 | arch-tag: 8b9947e1-c830-4d70-8907-a97e556731ba | ||
| 721 | @end ignore | ||
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 3e298bb0f96..8c0d768939b 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Help, Mark, M-x, Top | 5 | @node Help, Mark, M-x, Top |
| @@ -677,7 +676,3 @@ help text for active buffer text using the keyboard. @kbd{C-h .} | |||
| 677 | character after point, using the echo area. To display help text | 676 | character after point, using the echo area. To display help text |
| 678 | automatically whenever it is available on the character after point, set | 677 | automatically whenever it is available on the character after point, set |
| 679 | the variable @code{help-at-pt-display-when-idle} to @code{t}. | 678 | the variable @code{help-at-pt-display-when-idle} to @code{t}. |
| 680 | |||
| 681 | @ignore | ||
| 682 | arch-tag: 6f33ab62-bc75-4367-8057-fd67cc15c3a1 | ||
| 683 | @end ignore | ||
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index 7ba3909e49f..c4ef4781aaf 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Indentation, Text, Major Modes, Top | 5 | @node Indentation, Text, Major Modes, Top |
| 6 | @chapter Indentation | 6 | @chapter Indentation |
| @@ -258,7 +258,3 @@ preserving the columns of all nonblank text. @kbd{M-x tabify} scans the | |||
| 258 | region for sequences of spaces, and converts sequences of at least two | 258 | region for sequences of spaces, and converts sequences of at least two |
| 259 | spaces to tabs if that can be done without changing indentation. @kbd{M-x | 259 | spaces to tabs if that can be done without changing indentation. @kbd{M-x |
| 260 | untabify} changes all tabs in the region to appropriate numbers of spaces. | 260 | untabify} changes all tabs in the region to appropriate numbers of spaces. |
| 261 | |||
| 262 | @ignore | ||
| 263 | arch-tag: acc07de7-ae11-4ee8-a159-cb59c473f0fb | ||
| 264 | @end ignore | ||
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 150f05b5994..41262e9c2d8 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi | |||
| @@ -1,16 +1,11 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | 5 | ||
| 7 | @node Killing, Yanking, Mark, Top | 6 | @node Killing, Registers, Mark, Top |
| 8 | @chapter Killing and Moving Text | 7 | @chapter Killing and Moving Text |
| 9 | 8 | ||
| 10 | @ifnottex | ||
| 11 | @raisesections | ||
| 12 | @end ifnottex | ||
| 13 | |||
| 14 | @dfn{Killing} means erasing text and copying it into the @dfn{kill | 9 | @dfn{Killing} means erasing text and copying it into the @dfn{kill |
| 15 | ring}, from which you can bring it back into the buffer by | 10 | ring}, from which you can bring it back into the buffer by |
| 16 | @dfn{yanking} it. (Some applications use the terms ``cutting'' and | 11 | @dfn{yanking} it. (Some applications use the terms ``cutting'' and |
| @@ -19,9 +14,16 @@ moving or copying text within Emacs. It is very versatile, because | |||
| 19 | there are commands for killing many different types of syntactic | 14 | there are commands for killing many different types of syntactic |
| 20 | units. | 15 | units. |
| 21 | 16 | ||
| 22 | @iftex | 17 | @menu |
| 18 | * Deletion and Killing:: Commands that remove text. | ||
| 19 | * Yanking:: Commands that insert text. | ||
| 20 | * Accumulating Text:: Other methods to add text to the buffer. | ||
| 21 | * Rectangles:: Operating on text in rectangular areas. | ||
| 22 | * CUA Bindings:: Using C-x/C-c/C-v to kill and yank. | ||
| 23 | @end menu | ||
| 24 | |||
| 25 | @node Deletion and Killing | ||
| 23 | @section Deletion and Killing | 26 | @section Deletion and Killing |
| 24 | @end iftex | ||
| 25 | 27 | ||
| 26 | @cindex killing text | 28 | @cindex killing text |
| 27 | @cindex cutting text | 29 | @cindex cutting text |
| @@ -233,7 +235,7 @@ explain why the text has not been erased. | |||
| 233 | non-@code{nil} value, identical subsequent kills yield a single | 235 | non-@code{nil} value, identical subsequent kills yield a single |
| 234 | kill-ring entry, without duplication. | 236 | kill-ring entry, without duplication. |
| 235 | 237 | ||
| 236 | @node Yanking, Accumulating Text, Killing, Top | 238 | @node Yanking |
| 237 | @section Yanking | 239 | @section Yanking |
| 238 | @cindex moving text | 240 | @cindex moving text |
| 239 | @cindex copying text | 241 | @cindex copying text |
| @@ -416,7 +418,7 @@ saved. | |||
| 416 | @code{kill-ring}; you can view the entire contents of the kill ring with | 418 | @code{kill-ring}; you can view the entire contents of the kill ring with |
| 417 | the command @kbd{C-h v kill-ring}. | 419 | the command @kbd{C-h v kill-ring}. |
| 418 | 420 | ||
| 419 | @node Accumulating Text, Rectangles, Yanking, Top | 421 | @node Accumulating Text |
| 420 | @section Accumulating Text | 422 | @section Accumulating Text |
| 421 | @findex append-to-buffer | 423 | @findex append-to-buffer |
| 422 | @findex prepend-to-buffer | 424 | @findex prepend-to-buffer |
| @@ -487,7 +489,7 @@ can lead to losing some of your editing. | |||
| 487 | Another way to move text around is to store it in a register. | 489 | Another way to move text around is to store it in a register. |
| 488 | @xref{Registers}. | 490 | @xref{Registers}. |
| 489 | 491 | ||
| 490 | @node Rectangles, CUA Bindings, Accumulating Text, Top | 492 | @node Rectangles |
| 491 | @section Rectangles | 493 | @section Rectangles |
| 492 | @cindex rectangle | 494 | @cindex rectangle |
| 493 | @cindex columns (and rectangles) | 495 | @cindex columns (and rectangles) |
| @@ -613,7 +615,7 @@ rectangle shifts right. | |||
| 613 | @code{string-rectangle}, but inserts the string on each line, | 615 | @code{string-rectangle}, but inserts the string on each line, |
| 614 | shifting the original text to the right. | 616 | shifting the original text to the right. |
| 615 | 617 | ||
| 616 | @node CUA Bindings, Registers, Rectangles, Top | 618 | @node CUA Bindings |
| 617 | @section CUA Bindings | 619 | @section CUA Bindings |
| 618 | @findex cua-mode | 620 | @findex cua-mode |
| 619 | @vindex cua-mode | 621 | @vindex cua-mode |
| @@ -664,11 +666,3 @@ navigate to each of the words you want in the list, mark it (e.g. with | |||
| 664 | @kbd{S-M-f}), copy it to the list with @kbd{C-c} or @kbd{M-w}, and | 666 | @kbd{S-M-f}), copy it to the list with @kbd{C-c} or @kbd{M-w}, and |
| 665 | insert a newline after the word in the target list by pressing | 667 | insert a newline after the word in the target list by pressing |
| 666 | @key{RET}. | 668 | @key{RET}. |
| 667 | |||
| 668 | @ifnottex | ||
| 669 | @lowersections | ||
| 670 | @end ifnottex | ||
| 671 | |||
| 672 | @ignore | ||
| 673 | arch-tag: d8da8f96-0928-449a-816e-ff2d3497866c | ||
| 674 | @end ignore | ||
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi index daab7abd161..c52381a663c 100644 --- a/doc/emacs/kmacro.texi +++ b/doc/emacs/kmacro.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Keyboard Macros, Files, Fixit, Top | 5 | @node Keyboard Macros, Files, Fixit, Top |
| 6 | @chapter Keyboard Macros | 6 | @chapter Keyboard Macros |
| @@ -569,7 +569,3 @@ including the final @kbd{C-j}), and appends them at the end of the | |||
| 569 | keyboard macro; it then terminates the step-editing and replaces the | 569 | keyboard macro; it then terminates the step-editing and replaces the |
| 570 | original keyboard macro with the edited macro. | 570 | original keyboard macro with the edited macro. |
| 571 | @end itemize | 571 | @end itemize |
| 572 | |||
| 573 | @ignore | ||
| 574 | arch-tag: c1b0dd3b-3159-4c08-928f-52e763953e9c | ||
| 575 | @end ignore | ||
diff --git a/doc/emacs/m-x.texi b/doc/emacs/m-x.texi index 393eb78a14e..cf55631e14e 100644 --- a/doc/emacs/m-x.texi +++ b/doc/emacs/m-x.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node M-x, Help, Minibuffer, Top | 5 | @node M-x, Help, Minibuffer, Top |
| 6 | @chapter Running Commands by Name | 6 | @chapter Running Commands by Name |
| @@ -69,7 +69,3 @@ the command is followed by arguments. | |||
| 69 | @kbd{M-x} works by running the command | 69 | @kbd{M-x} works by running the command |
| 70 | @code{execute-extended-command}, which is responsible for reading the | 70 | @code{execute-extended-command}, which is responsible for reading the |
| 71 | name of another command and invoking it. | 71 | name of another command and invoking it. |
| 72 | |||
| 73 | @ignore | ||
| 74 | arch-tag: b67bff53-9628-4666-b94e-eda972a7ba56 | ||
| 75 | @end ignore | ||
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index 044a722a07a..5d5705456f9 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 2 | @c Copyright (C) 2000-2011 Free Software Foundation, Inc. |
| 3 | @c 2009, 2010 Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @node Mac OS / GNUstep, Microsoft Windows, Antinews, Top | 4 | @node Mac OS / GNUstep, Microsoft Windows, Antinews, Top |
| 6 | @appendix Emacs and Mac OS / GNUstep | 5 | @appendix Emacs and Mac OS / GNUstep |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index cf504b6be2a..e1b8eef3828 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011 |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Maintaining, Abbrevs, Building, Top | 5 | @node Maintaining, Abbrevs, Building, Top |
| @@ -2288,10 +2287,6 @@ details. | |||
| 2288 | You can also use the collection of tag names to complete a symbol | 2287 | You can also use the collection of tag names to complete a symbol |
| 2289 | name in the buffer. @xref{Symbol Completion}. | 2288 | name in the buffer. @xref{Symbol Completion}. |
| 2290 | 2289 | ||
| 2291 | @ifnottex | ||
| 2292 | @include emerge-xtra.texi | ||
| 2293 | @end ifnottex | ||
| 2294 | |||
| 2295 | @node EDE | 2290 | @node EDE |
| 2296 | @section Emacs Development Environment | 2291 | @section Emacs Development Environment |
| 2297 | @cindex EDE (Emacs Development Environment) | 2292 | @cindex EDE (Emacs Development Environment) |
| @@ -2355,6 +2350,6 @@ To build all the targets in the project, type @kbd{C-c . C} | |||
| 2355 | (@code{ede-compile-project}). EDE uses the file types to guess how | 2350 | (@code{ede-compile-project}). EDE uses the file types to guess how |
| 2356 | the target should be built. | 2351 | the target should be built. |
| 2357 | 2352 | ||
| 2358 | @ignore | 2353 | @ifnottex |
| 2359 | arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb | 2354 | @include emerge-xtra.texi |
| 2360 | @end ignore | 2355 | @end ifnottex |
diff --git a/doc/emacs/major.texi b/doc/emacs/major.texi index d67bc4a13dd..9256c712f02 100644 --- a/doc/emacs/major.texi +++ b/doc/emacs/major.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Major Modes, Indentation, International, Top | 5 | @node Major Modes, Indentation, International, Top |
| 6 | @chapter Major Modes | 6 | @chapter Major Modes |
| @@ -235,7 +235,3 @@ However, this does not happen if the buffer contents specify a major | |||
| 235 | mode, and certain ``special'' major modes do not allow the mode to | 235 | mode, and certain ``special'' major modes do not allow the mode to |
| 236 | change. You can turn off this mode-changing feature by setting | 236 | change. You can turn off this mode-changing feature by setting |
| 237 | @code{change-major-mode-with-file-name} to @code{nil}. | 237 | @code{change-major-mode-with-file-name} to @code{nil}. |
| 238 | |||
| 239 | @ignore | ||
| 240 | arch-tag: f2558800-cf32-4839-8acb-7d3b4df2a155 | ||
| 241 | @end ignore | ||
diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in index 213077cbc8f..bbbcaf0528b 100644 --- a/doc/emacs/makefile.w32-in +++ b/doc/emacs/makefile.w32-in | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | #### -*- Makefile -*- for the Emacs Manual | 1 | #### -*- Makefile -*- for the Emacs Manual |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | # Copyright (C) 2003-2011 Free Software Foundation, Inc. |
| 4 | # Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -28,7 +27,8 @@ srcdir=. | |||
| 28 | infodir = $(srcdir)/../../info | 27 | infodir = $(srcdir)/../../info |
| 29 | 28 | ||
| 30 | # The makeinfo program is part of the Texinfo distribution. | 29 | # The makeinfo program is part of the Texinfo distribution. |
| 31 | MAKEINFO = makeinfo --force | 30 | MAKEINFO = makeinfo |
| 31 | MAKEINFO_OPTS = --force -I$(srcdir) | ||
| 32 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat | 32 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat |
| 33 | INFO_TARGETS = $(infodir)/emacs | 33 | INFO_TARGETS = $(infodir)/emacs |
| 34 | DVI_TARGETS = emacs.dvi | 34 | DVI_TARGETS = emacs.dvi |
| @@ -41,7 +41,7 @@ INFOSOURCES = info.texi | |||
| 41 | 41 | ||
| 42 | TEXI2DVI = texi2dvi | 42 | TEXI2DVI = texi2dvi |
| 43 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ | 43 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ |
| 44 | "MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C | 44 | "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C |
| 45 | 45 | ||
| 46 | EMACS_XTRA=\ | 46 | EMACS_XTRA=\ |
| 47 | $(srcdir)/arevert-xtra.texi \ | 47 | $(srcdir)/arevert-xtra.texi \ |
| @@ -114,11 +114,14 @@ $(infodir)/dir: | |||
| 114 | $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) | 114 | $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) |
| 115 | 115 | ||
| 116 | $(infodir)/emacs: $(EMACSSOURCES) | 116 | $(infodir)/emacs: $(EMACSSOURCES) |
| 117 | $(MAKEINFO) emacs.texi | 117 | $(MAKEINFO) $(MAKEINFO_OPTS) emacs.texi |
| 118 | 118 | ||
| 119 | emacs.dvi: $(EMACSSOURCES) | 119 | emacs.dvi: $(EMACSSOURCES) |
| 120 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs.texi | 120 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs.texi |
| 121 | 121 | ||
| 122 | emacs.html: $(EMACSSOURCES) | ||
| 123 | $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ emacs.texi | ||
| 124 | |||
| 122 | emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) | 125 | emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) |
| 123 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi | 126 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi |
| 124 | 127 | ||
| @@ -128,6 +131,7 @@ mostlyclean: | |||
| 128 | clean: mostlyclean | 131 | clean: mostlyclean |
| 129 | - $(DEL) *.dvi | 132 | - $(DEL) *.dvi |
| 130 | - $(DEL) $(infodir)/emacs* | 133 | - $(DEL) $(infodir)/emacs* |
| 134 | - $(DEL_TREE) emacs.html | ||
| 131 | 135 | ||
| 132 | distclean: clean | 136 | distclean: clean |
| 133 | - $(DEL) makefile | 137 | - $(DEL) makefile |
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 2ebab1daaeb..b426020b7c6 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Mark, Killing, Help, Top | 5 | @node Mark, Killing, Help, Top |
| @@ -447,7 +446,3 @@ mode only until the mark is deactivated. One reason you may want to | |||
| 447 | use them is that some commands operate on the entire buffer instead of | 446 | use them is that some commands operate on the entire buffer instead of |
| 448 | the region when Transient Mark mode is off. Enabling Transient Mark | 447 | the region when Transient Mark mode is off. Enabling Transient Mark |
| 449 | mode momentarily gives you a way to use these commands on the region. | 448 | mode momentarily gives you a way to use these commands on the region. |
| 450 | |||
| 451 | @ignore | ||
| 452 | arch-tag: f35e4d82-911b-4cfc-a3d7-3c87b2abba20 | ||
| 453 | @end ignore | ||
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index 3750e1d49e2..20086bd5e4a 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Minibuffer, M-x, Basic, Top | 5 | @node Minibuffer, M-x, Basic, Top |
| @@ -654,7 +653,3 @@ password (@pxref{Killing}). You may type either @key{RET} or | |||
| 654 | @key{ESC} to submit the password. Any other self-inserting character | 653 | @key{ESC} to submit the password. Any other self-inserting character |
| 655 | key inserts the associated character into the password, and all other | 654 | key inserts the associated character into the password, and all other |
| 656 | input is ignored. | 655 | input is ignored. |
| 657 | |||
| 658 | @ignore | ||
| 659 | arch-tag: ba913cfd-b70e-400f-b663-22b2c309227f | ||
| 660 | @end ignore | ||
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 11d6ad70e62..d7143d1498a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @iftex | 5 | @iftex |
| @@ -27,28 +26,39 @@ other editors, and various diversions and amusements. | |||
| 27 | @cindex PDF file | 26 | @cindex PDF file |
| 28 | @cindex PS file | 27 | @cindex PS file |
| 29 | @cindex Postscript file | 28 | @cindex Postscript file |
| 29 | @cindex OpenDocument file | ||
| 30 | @cindex Microsoft Office file | ||
| 30 | @cindex DocView mode | 31 | @cindex DocView mode |
| 31 | @cindex mode, DocView | 32 | @cindex mode, DocView |
| 32 | @cindex document viewer (DocView) | 33 | @cindex document viewer (DocView) |
| 33 | @findex doc-view-mode | 34 | @findex doc-view-mode |
| 34 | 35 | ||
| 35 | DocView mode (@code{doc-view-mode}) is a viewer for DVI, Postscript | 36 | DocView mode (@code{doc-view-mode}) is a viewer for DVI, Postscript |
| 36 | (PS), and PDF documents. It provides features such as slicing, | 37 | (PS), PDF, OpenDocument, and Microsoft Office documents. It provides |
| 37 | zooming, and searching inside documents. It works by converting the | 38 | features such as slicing, zooming, and searching inside documents. It |
| 38 | document to a set of images using the @command{gs} (GhostScript) | 39 | works by converting the document to a set of images using the |
| 39 | command, and displaying those images. | 40 | @command{gs} (GhostScript) command and other external tools |
| 41 | @footnote{@code{gs} is a hard requirement. For DVI files, | ||
| 42 | @code{dvipdf} or @code{dvipdfm} is needed. For OpenDocument and | ||
| 43 | Microsoft Office documents, the @code{unoconv} tool is needed.}, and | ||
| 44 | displaying those images. | ||
| 40 | 45 | ||
| 41 | @findex doc-view-toggle-display | 46 | @findex doc-view-toggle-display |
| 42 | @findex doc-view-toggle-display | 47 | @findex doc-view-toggle-display |
| 43 | @cindex doc-view-minor-mode | 48 | @cindex doc-view-minor-mode |
| 44 | When you visit a PDF or DVI file, Emacs automatically switches to | 49 | When you visit a document file with the exception of Postscript |
| 45 | DocView mode. When you visit a Postscript file, Emacs switches to PS | 50 | files, Emacs automatically switches to DocView mode if possible |
| 46 | mode, a major mode for editing Postscript files as text; however, it | 51 | @footnote{The needed external tools for this document type have to be |
| 47 | also enables DocView minor mode, so you can type @kbd{C-c C-c} to view | 52 | available, emacs needs to run in a graphical frame, and PNG image |
| 48 | the document with DocView. (PDF and DVI files, unlike Postscript | 53 | support has to be compiled into emacs. If any of these requirements |
| 49 | files, are not usually human-editable.) In either case, repeating | 54 | is not fulfilled, DocView falls back to an appropriate mode.}. When |
| 50 | @kbd{C-c C-c} (@code{doc-view-toggle-display}) toggles between DocView | 55 | you visit a Postscript file, Emacs switches to PS mode, a major mode |
| 51 | and the file text. | 56 | for editing Postscript files as text; however, it also enables DocView |
| 57 | minor mode, so you can type @kbd{C-c C-c} to view the document with | ||
| 58 | DocView. (PDF and DVI files, unlike Postscript files, are not usually | ||
| 59 | human-editable.) In either case, repeating @kbd{C-c C-c} | ||
| 60 | (@code{doc-view-toggle-display}) toggles between DocView and the file | ||
| 61 | text. | ||
| 52 | 62 | ||
| 53 | You can explicitly toggle DocView mode with the command @code{M-x | 63 | You can explicitly toggle DocView mode with the command @code{M-x |
| 54 | doc-view-mode}, and DocView minor mode with the command @code{M-x | 64 | doc-view-mode}, and DocView minor mode with the command @code{M-x |
| @@ -2872,7 +2882,3 @@ idle. | |||
| 2872 | @ifnottex | 2882 | @ifnottex |
| 2873 | @lowersections | 2883 | @lowersections |
| 2874 | @end ifnottex | 2884 | @end ifnottex |
| 2875 | |||
| 2876 | @ignore | ||
| 2877 | arch-tag: 8f094220-c0d5-4e9e-af7d-3e0da8187474 | ||
| 2878 | @end ignore | ||
diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi index 54b7e5d2100..095a0cdacbf 100644 --- a/doc/emacs/msdog-xtra.texi +++ b/doc/emacs/msdog-xtra.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 4 | @c | 4 | @c |
| 5 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -613,7 +613,3 @@ MS-DOS supports only some of the possible options you can mention in | |||
| 613 | the @code{dired-listing-switches} variable. The options that work are | 613 | the @code{dired-listing-switches} variable. The options that work are |
| 614 | @samp{-A}, @samp{-a}, @samp{-c}, @samp{-i}, @samp{-r}, @samp{-S}, | 614 | @samp{-A}, @samp{-a}, @samp{-c}, @samp{-i}, @samp{-r}, @samp{-S}, |
| 615 | @samp{-s}, @samp{-t}, and @samp{-u}. | 615 | @samp{-s}, @samp{-t}, and @samp{-u}. |
| 616 | |||
| 617 | @ignore | ||
| 618 | arch-tag: 868d50ff-07f8-4a13-a807-dab6f1cdb431 | ||
| 619 | @end ignore | ||
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 4be67aa31de..7358773485d 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top | 5 | @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top |
| @@ -28,6 +27,7 @@ However, a few special considerations apply, and they are described | |||
| 28 | here. | 27 | here. |
| 29 | 28 | ||
| 30 | @menu | 29 | @menu |
| 30 | * Windows Startup:: How to start Emacs on Windows. | ||
| 31 | * Text and Binary:: Text files use CRLF to terminate lines. | 31 | * Text and Binary:: Text files use CRLF to terminate lines. |
| 32 | * Windows Files:: File-name conventions on Windows. | 32 | * Windows Files:: File-name conventions on Windows. |
| 33 | * ls in Lisp:: Emulation of @code{ls} for Dired. | 33 | * ls in Lisp:: Emulation of @code{ls} for Dired. |
| @@ -44,6 +44,72 @@ here. | |||
| 44 | @end ifnottex | 44 | @end ifnottex |
| 45 | @end menu | 45 | @end menu |
| 46 | 46 | ||
| 47 | @node Windows Startup | ||
| 48 | @section How to Start Emacs on MS-Windows | ||
| 49 | @cindex starting Emacs on MS-Windows | ||
| 50 | |||
| 51 | There are several ways of starting Emacs on MS-Windows: | ||
| 52 | |||
| 53 | @enumerate | ||
| 54 | @item | ||
| 55 | @pindex runemacs.exe | ||
| 56 | @cindex desktop shortcut, MS-Windows | ||
| 57 | @cindex start directory, MS-Windows | ||
| 58 | @cindex directory where Emacs starts on MS-Windows | ||
| 59 | From the desktop shortcut icon: either double-click the left mouse | ||
| 60 | button on the icon, or click once, then press @key{RET}. The desktop | ||
| 61 | shortcut should specify as its ``Target'' (in the ``Properties'' of | ||
| 62 | the shortcut) the full absolute file name of @file{runemacs.exe}, | ||
| 63 | @emph{not} of @file{emacs.exe}. This is because @file{runemacs.exe} | ||
| 64 | hides the console window that would have been created if the target of | ||
| 65 | the shortcut were @file{emacs.exe} (which is a console program, as far | ||
| 66 | as Windows is concerned). If you use this method, Emacs starts in the | ||
| 67 | directory specified by the shortcut. To control where that is, | ||
| 68 | right-click on the shortcut, select ``Properties'', and in the | ||
| 69 | ``Shortcut'' tab modify the ``Start in'' field to your liking. | ||
| 70 | |||
| 71 | @item | ||
| 72 | From the Command Prompt window, by typing @kbd{emacs @key{RET}} at the | ||
| 73 | prompt. The Command Prompt window where you did that will not be | ||
| 74 | available for invoking other commands until Emacs exits. In this | ||
| 75 | case, Emacs will start in the current directory of the Windows shell. | ||
| 76 | |||
| 77 | @item | ||
| 78 | From the Command Prompt window, by typing @kbd{runemacs @key{RET}} at | ||
| 79 | the prompt. The Command Prompt window where you did that will be | ||
| 80 | immediately available for invoking other commands. In this case, | ||
| 81 | Emacs will start in the current directory of the Windows shell. | ||
| 82 | |||
| 83 | @item | ||
| 84 | @cindex invoking Emacs from Windows Explorer | ||
| 85 | @pindex emacsclient.exe | ||
| 86 | @pindex emacsclientw.exe | ||
| 87 | Via the Emacs client program, @file{emacsclient.exe} or | ||
| 88 | @file{emacsclientw.exe}. This allows to invoke Emacs from other | ||
| 89 | programs, and to reuse a running Emacs process for serving editing | ||
| 90 | jobs required by other programs. @xref{Emacs Server}. The difference | ||
| 91 | between @file{emacsclient.exe} and @file{emacsclientw.exe} is that the | ||
| 92 | former is a console program, while the latter is a Windows GUI | ||
| 93 | program. Both programs wait for Emacs to signal that the editing job | ||
| 94 | is finished, before they exit and return control to the program that | ||
| 95 | invoked them. Which one of them to use in each case depends on the | ||
| 96 | expectations of the program that needs editing services. If that | ||
| 97 | program is itself a console (text-mode) program, you should use | ||
| 98 | @file{emacsclient.exe}, so that any of its messages and prompts appear | ||
| 99 | in the same command window as those of the invoking program. By | ||
| 100 | contrast, if the invoking program is a GUI program, you will be better | ||
| 101 | off using @file{emacsclientw.exe}, because @file{emacsclient.exe} will | ||
| 102 | pop up a command window if it is invoked from a GUI program. A | ||
| 103 | notable situation where you would want @file{emacsclientw.exe} is when | ||
| 104 | you right-click on a file in the Windows Explorer and select ``Open | ||
| 105 | With'' from the pop-up menu. Use the @samp{--alternate-editor=} or | ||
| 106 | @samp{-a} options if Emacs might not be running (or not running as a | ||
| 107 | server) when @command{emacsclient} is invoked---that will always give | ||
| 108 | you an editor. When invoked via @command{emacsclient}, Emacs will | ||
| 109 | start in the current directory of the program that invoked | ||
| 110 | @command{emacsclient}. | ||
| 111 | @end enumerate | ||
| 112 | |||
| 47 | @node Text and Binary | 113 | @node Text and Binary |
| 48 | @section Text Files and Binary Files | 114 | @section Text Files and Binary Files |
| 49 | @cindex text and binary files on MS-DOS/MS-Windows | 115 | @cindex text and binary files on MS-DOS/MS-Windows |
| @@ -342,6 +408,9 @@ Windows 2K/XP and later, and either @file{C:\WINDOWS\Application Data} | |||
| 342 | or @file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the | 408 | or @file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the |
| 343 | older Windows 9X/ME systems. | 409 | older Windows 9X/ME systems. |
| 344 | 410 | ||
| 411 | @code{HOME} can also be set in the system registry, for details see | ||
| 412 | @ref{MS-Windows Registry}. | ||
| 413 | |||
| 345 | @cindex init file @file{.emacs} on MS-Windows | 414 | @cindex init file @file{.emacs} on MS-Windows |
| 346 | The home directory is where your init file @file{.emacs} is stored. | 415 | The home directory is where your init file @file{.emacs} is stored. |
| 347 | When Emacs starts, it first checks whether the environment variable | 416 | When Emacs starts, it first checks whether the environment variable |
| @@ -373,13 +442,6 @@ names, the Windows port of Emacs supports an alternative name | |||
| 373 | @file{_emacs} as a fallback, if such a file exists in the home | 442 | @file{_emacs} as a fallback, if such a file exists in the home |
| 374 | directory, whereas @file{.emacs} does not. | 443 | directory, whereas @file{.emacs} does not. |
| 375 | 444 | ||
| 376 | @cindex start directory, MS-Windows | ||
| 377 | @cindex directory where Emacs starts on MS-Windows | ||
| 378 | If you use a Windows desktop shortcut to start Emacs, it starts in | ||
| 379 | the directory specified by the shortcut. To control where that is, | ||
| 380 | right-click on the shortcut, select ``Properties'', and in the | ||
| 381 | ``Shortcut'' tab modify the ``Start in'' field to your liking. | ||
| 382 | |||
| 383 | @node Windows Keyboard | 445 | @node Windows Keyboard |
| 384 | @section Keyboard Usage on MS-Windows | 446 | @section Keyboard Usage on MS-Windows |
| 385 | @cindex keyboard, MS-Windows | 447 | @cindex keyboard, MS-Windows |
| @@ -925,4 +987,3 @@ click-to-focus policy. | |||
| 925 | @ifnottex | 987 | @ifnottex |
| 926 | @include msdog-xtra.texi | 988 | @include msdog-xtra.texi |
| 927 | @end ifnottex | 989 | @end ifnottex |
| 928 | |||
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index c8846b35e4b..f0facec86c1 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, | 2 | @c Copyright (C) 1997, 1999-2011 Free Software Foundation, Inc. |
| 3 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @node International, Major Modes, Frames, Top | 4 | @node International, Major Modes, Frames, Top |
| 6 | @chapter International Character Set Support | 5 | @chapter International Character Set Support |
| @@ -1745,7 +1744,3 @@ highlighted region covering a contiguous range of character positions | |||
| 1745 | may look discontinuous if the region spans reordered text. This is | 1744 | may look discontinuous if the region spans reordered text. This is |
| 1746 | normal and similar to behavior of other programs that support | 1745 | normal and similar to behavior of other programs that support |
| 1747 | bidirectional text. | 1746 | bidirectional text. |
| 1748 | |||
| 1749 | @ignore | ||
| 1750 | arch-tag: 310ba60d-31ef-4ce7-91f1-f282dd57b6b3 | ||
| 1751 | @end ignore | ||
diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi index 283bdea093b..7e72fb0acb6 100644 --- a/doc/emacs/picture-xtra.texi +++ b/doc/emacs/picture-xtra.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 4 | @c | 4 | @c |
| 5 | @c This file is included either in emacs-xtra.texi (when producing the | 5 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -285,7 +285,3 @@ other modes. @kbd{C-c C-y} (@code{picture-yank-rectangle}) inserts | |||
| 285 | (by overwriting) the rectangle that was most recently killed, while | 285 | (by overwriting) the rectangle that was most recently killed, while |
| 286 | @kbd{C-c C-x} (@code{picture-yank-rectangle-from-register}) does | 286 | @kbd{C-c C-x} (@code{picture-yank-rectangle-from-register}) does |
| 287 | likewise for the rectangle found in a specified register. | 287 | likewise for the rectangle found in a specified register. |
| 288 | |||
| 289 | @ignore | ||
| 290 | arch-tag: 10e423ad-d896-42f2-a7e8-7018adeaf8c2 | ||
| 291 | @end ignore | ||
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index b729df105e7..5b7322f214b 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011 |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Programs, Building, Text, Top | 5 | @node Programs, Building, Text, Top |
| @@ -1839,7 +1838,3 @@ starts comments in assembler syntax. | |||
| 1839 | @ifnottex | 1838 | @ifnottex |
| 1840 | @include fortran-xtra.texi | 1839 | @include fortran-xtra.texi |
| 1841 | @end ifnottex | 1840 | @end ifnottex |
| 1842 | |||
| 1843 | @ignore | ||
| 1844 | arch-tag: c7ee7409-40a4-45c7-bfb7-ae7f2c74d0c0 | ||
| 1845 | @end ignore | ||
diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 0303d3a829d..42ce85c7ee1 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Registers, Display, CUA Bindings, Top | 5 | @node Registers, Display, Killing, Top |
| 6 | @chapter Registers | 6 | @chapter Registers |
| 7 | @cindex registers | 7 | @cindex registers |
| 8 | 8 | ||
| @@ -330,7 +330,3 @@ points to. | |||
| 330 | Insert in the buffer the @emph{contents} of the file that bookmark | 330 | Insert in the buffer the @emph{contents} of the file that bookmark |
| 331 | @var{bookmark} points to. | 331 | @var{bookmark} points to. |
| 332 | @end table | 332 | @end table |
| 333 | |||
| 334 | @ignore | ||
| 335 | arch-tag: b00af991-ebc3-4b3a-8e82-a3ac81ff2e64 | ||
| 336 | @end ignore | ||
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index ddf68e62bbf..f1bb1f7aa9d 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Rmail, Dired, Sending Mail, Top | 5 | @node Rmail, Dired, Sending Mail, Top |
| @@ -1101,57 +1100,90 @@ buffer before sorting it. | |||
| 1101 | @node Rmail Display | 1100 | @node Rmail Display |
| 1102 | @section Display of Messages | 1101 | @section Display of Messages |
| 1103 | 1102 | ||
| 1104 | Rmail reformats the header of each message before displaying it for | 1103 | This section describes how Rmail displays mail headers, |
| 1105 | the first time. Reformatting hides uninteresting header fields to | 1104 | @acronym{MIME} sections and attachments, and URLs. |
| 1106 | reduce clutter. You can use the @kbd{t} command to show the entire | ||
| 1107 | header or to repeat the header reformatting operation. | ||
| 1108 | 1105 | ||
| 1109 | @table @kbd | 1106 | @table @kbd |
| 1110 | @item t | 1107 | @item t |
| 1111 | Toggle display of complete header (@code{rmail-toggle-header}). | 1108 | Toggle display of complete header (@code{rmail-toggle-header}). |
| 1112 | @end table | 1109 | @end table |
| 1113 | 1110 | ||
| 1114 | @vindex rmail-ignored-headers | ||
| 1115 | @vindex rmail-nonignored-headers | ||
| 1116 | Reformatting the header involves deleting most header fields, on the | ||
| 1117 | grounds that they are not interesting. The variable | ||
| 1118 | @code{rmail-ignored-headers} holds a regular expression that specifies | ||
| 1119 | which header fields to hide in this way---if it matches the beginning | ||
| 1120 | of a header field, that whole field is hidden. However, the variable | ||
| 1121 | @code{rmail-nonignored-headers} provides a further override: a header | ||
| 1122 | matching that regular expression is shown even if it matches | ||
| 1123 | @code{rmail-ignored-headers} too. | ||
| 1124 | |||
| 1125 | @vindex rmail-displayed-headers | ||
| 1126 | As an alternative to the previous two variables, you can set | ||
| 1127 | @code{rmail-displayed-headers} instead. If non-@code{nil}, this should | ||
| 1128 | be a regular expression specifying which headers to display. | ||
| 1129 | |||
| 1130 | @kindex t @r{(Rmail)} | 1111 | @kindex t @r{(Rmail)} |
| 1131 | @findex rmail-toggle-header | 1112 | @findex rmail-toggle-header |
| 1132 | To see the complete, original header, use the @kbd{t} command | 1113 | Before displaying each message for the first time, Rmail reformats |
| 1133 | (@code{rmail-toggle-header}). This discards the reformatted headers of | 1114 | its header, hiding uninteresting header fields to reduce clutter. The |
| 1134 | the current message and displays it with the original header. Repeating | 1115 | @kbd{t} (@code{rmail-toggle-header}) command toggles this, switching |
| 1135 | @kbd{t} reformats the message again, which shows only the interesting | 1116 | between showing the reformatted header fields and showing the |
| 1136 | headers according to the current values of the above variables. | 1117 | complete, original header. With a positive prefix argument, the |
| 1137 | Selecting the message again also reformats it if necessary. | 1118 | command shows the reformatted header; with a zero or negative prefix |
| 1119 | argument, it shows the full header. Selecting the message again also | ||
| 1120 | reformats it if necessary. | ||
| 1138 | 1121 | ||
| 1139 | When the @kbd{t} command has a prefix argument, a positive argument | 1122 | @vindex rmail-ignored-headers |
| 1140 | means to show the reformatted header, and a zero or negative argument | 1123 | @vindex rmail-displayed-headers |
| 1141 | means to show the full header. | 1124 | @vindex rmail-nonignored-headers |
| 1125 | The variable @code{rmail-ignored-headers} holds a regular expression | ||
| 1126 | specifying the header fields to hide; any matching header line will be | ||
| 1127 | hidden. The variable @code{rmail-nonignored-headers} overrides this: | ||
| 1128 | any header field matching that regular expression is shown even if it | ||
| 1129 | matches @code{rmail-ignored-headers} too. The variable | ||
| 1130 | @code{rmail-displayed-headers} is an alternative to these two | ||
| 1131 | variables; if non-@code{nil}, this should be a regular expression | ||
| 1132 | specifying which headers to display (the default is @code{nil}). | ||
| 1142 | 1133 | ||
| 1143 | @vindex rmail-highlighted-headers | 1134 | @vindex rmail-highlighted-headers |
| 1144 | Rmail highlights certain header fields that are especially | 1135 | Rmail highlights certain header fields that are especially |
| 1145 | interesting---by default, the @samp{From} and @samp{Subject} fields. | 1136 | interesting---by default, the @samp{From} and @samp{Subject} fields. |
| 1146 | The variable @code{rmail-highlighted-headers} holds a regular expression | 1137 | This highlighting uses the @code{rmail-highlight} face. The variable |
| 1147 | that specifies the header fields to highlight; if it matches the | 1138 | @code{rmail-highlighted-headers} holds a regular expression specifying |
| 1148 | beginning of a header field, that whole field is highlighted. To turn | 1139 | the header fields to highlight; if it matches the beginning of a |
| 1149 | off this feature, set @code{rmail-highlighted-headers} to @code{nil}. | 1140 | header field, that whole field is highlighted. To disable this |
| 1150 | Customize the face @code{rmail-highlight} to adjust the style of the | 1141 | feature, set @code{rmail-highlighted-headers} to @code{nil}. |
| 1151 | highlighting. | 1142 | |
| 1143 | @cindex MIME messages (Rmail) | ||
| 1144 | @vindex rmail-enable-mime | ||
| 1145 | By default, Rmail automatically decodes @acronym{MIME} (Multipurpose | ||
| 1146 | Internet Mail Extensions) messages. If the message contains multiple | ||
| 1147 | parts (@acronym{MIME} entities), each part is represented by a tagline | ||
| 1148 | in the Rmail buffer. The tagline summarizes the part's depth, index, | ||
| 1149 | and type, and may also contain a button for handling it, e.g. saving | ||
| 1150 | it to a file or displaying it as an image in the Rmail buffer. | ||
| 1152 | 1151 | ||
| 1153 | You can highlight and activate URLs in incoming messages using | 1152 | @table @kbd |
| 1154 | Goto Address mode: | 1153 | @findex rmail-mime-toggle-hidden |
| 1154 | @item @key{RET} | ||
| 1155 | Hide or show the @acronym{MIME} part at point | ||
| 1156 | (@code{rmail-mime-toggle-hidden}). | ||
| 1157 | |||
| 1158 | @findex rmail-mime-next-item | ||
| 1159 | @item @key{TAB} | ||
| 1160 | Move point to the next @acronym{MIME} part | ||
| 1161 | (@code{rmail-mime-next-item}). | ||
| 1162 | |||
| 1163 | @findex rmail-mime-previous-item | ||
| 1164 | @item @key{BackTab} | ||
| 1165 | Move point to the previous @acronym{MIME} part | ||
| 1166 | (@code{rmail-mime-previous-item}). | ||
| 1167 | |||
| 1168 | @findex rmail-mime | ||
| 1169 | @item v | ||
| 1170 | @kindex v @r{(Rmail)} | ||
| 1171 | Toggle between @acronym{MIME} display and raw message | ||
| 1172 | (@code{rmail-mime}). | ||
| 1173 | @end table | ||
| 1174 | |||
| 1175 | The @kbd{v} (@code{rmail-mime}) command toggles between the default | ||
| 1176 | @acronym{MIME} display described above, and a ``raw'' display showing | ||
| 1177 | the undecoded @acronym{MIME} data. With a prefix argument, this | ||
| 1178 | command toggles the display of only an entity at point. | ||
| 1179 | |||
| 1180 | To prevent Rmail from handling MIME decoded messages, change the | ||
| 1181 | variable @code{rmail-enable-mime} to @code{nil}. When this is the | ||
| 1182 | case, the @kbd{v} (@code{rmail-mime}) command instead creates a | ||
| 1183 | temporary buffer to display the current @acronym{MIME} message. | ||
| 1184 | |||
| 1185 | You can highlight and activate URLs in the Rmail buffer using Goto | ||
| 1186 | Address mode: | ||
| 1155 | 1187 | ||
| 1156 | @c FIXME goto-addr.el commentary says to use goto-address instead. | 1188 | @c FIXME goto-addr.el commentary says to use goto-address instead. |
| 1157 | @smallexample | 1189 | @smallexample |
| @@ -1163,13 +1195,6 @@ Then you can browse these URLs by clicking on them with @kbd{Mouse-2} | |||
| 1163 | (or @kbd{Mouse-1} quickly) or by moving to one and typing @kbd{C-c | 1195 | (or @kbd{Mouse-1} quickly) or by moving to one and typing @kbd{C-c |
| 1164 | @key{RET}}. @xref{Goto Address mode, Activating URLs, Activating URLs}. | 1196 | @key{RET}}. @xref{Goto Address mode, Activating URLs, Activating URLs}. |
| 1165 | 1197 | ||
| 1166 | @cindex MIME messages (Rmail) | ||
| 1167 | @findex rmail-mime | ||
| 1168 | @kindex v @r{(Rmail)} | ||
| 1169 | The @kbd{v} (@code{rmail-mime}) command creates a temporary buffer | ||
| 1170 | displaying the current MIME message. By default, it displays plain text | ||
| 1171 | and multipart messages, and offers buttons to save attachments. | ||
| 1172 | |||
| 1173 | @node Rmail Coding | 1198 | @node Rmail Coding |
| 1174 | @section Rmail and Coding Systems | 1199 | @section Rmail and Coding Systems |
| 1175 | 1200 | ||
| @@ -1480,7 +1505,3 @@ include the following in the Rmail inbox list: | |||
| 1480 | @smallexample | 1505 | @smallexample |
| 1481 | maildir://var/spool/mail/in | 1506 | maildir://var/spool/mail/in |
| 1482 | @end smallexample | 1507 | @end smallexample |
| 1483 | |||
| 1484 | @ignore | ||
| 1485 | arch-tag: 034965f6-38df-47a2-a9f1-b8bc8ab37e23 | ||
| 1486 | @end ignore | ||
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 88d248a93bf..45cbdac4b44 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Screen, User Input, Acknowledgments, Top | 5 | @node Screen, User Input, Acknowledgments, Top |
| @@ -320,7 +319,3 @@ items, and then you can type @key{RET} to select the item. | |||
| 320 | that item; it is usually the initial of some word in the item's name. | 319 | that item; it is usually the initial of some word in the item's name. |
| 321 | This letter or digit is separated from the item name by @samp{=>}. You | 320 | This letter or digit is separated from the item name by @samp{=>}. You |
| 322 | can type the item's letter or digit to select the item. | 321 | can type the item's letter or digit to select the item. |
| 323 | |||
| 324 | @ignore | ||
| 325 | arch-tag: 104ba40e-d972-4866-a542-a98be94bdf2f | ||
| 326 | @end ignore | ||
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 69532e6083d..99fde1d7a04 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Search, Fixit, Display, Top | 5 | @node Search, Fixit, Display, Top |
| @@ -459,11 +458,13 @@ for a forward search, or @kbd{M-s w C-r @key{RET}} for a backward search. | |||
| 459 | These run the commands @code{word-search-forward} and | 458 | These run the commands @code{word-search-forward} and |
| 460 | @code{word-search-backward} respectively. | 459 | @code{word-search-backward} respectively. |
| 461 | 460 | ||
| 462 | A nonincremental word search differs slightly from the incremental | 461 | Incremental and nonincremental word searches differ slightly in the |
| 463 | version in the way it finds a match: the last word in the search | 462 | way they find a match. In a nonincremental word search, the last word |
| 464 | string must be an exact match for a whole word. In an incremental | 463 | in the search string must exactly match a whole word. In an |
| 465 | word search, the last word in the search string can match part of a | 464 | incremental word search, the matching is more lax: the last word in |
| 466 | word; this allows the matching to proceed incrementally as you type. | 465 | the search string can match part of a word, so that the matching |
| 466 | proceeds incrementally as you type. This additional laxity does not | ||
| 467 | apply to the lazy highlight, which always matches whole words. | ||
| 467 | 468 | ||
| 468 | @node Regexp Search | 469 | @node Regexp Search |
| 469 | @section Regular Expression Search | 470 | @section Regular Expression Search |
| @@ -1376,7 +1377,3 @@ it never deletes lines that are only partially contained in the region | |||
| 1376 | 1377 | ||
| 1377 | If a match is split across lines, this command keeps all those lines. | 1378 | If a match is split across lines, this command keeps all those lines. |
| 1378 | @end table | 1379 | @end table |
| 1379 | |||
| 1380 | @ignore | ||
| 1381 | arch-tag: fd9d8e77-66af-491c-b212-d80999613e3e | ||
| 1382 | @end ignore | ||
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi index 95bf5873eb0..02857459cc1 100644 --- a/doc/emacs/sending.texi +++ b/doc/emacs/sending.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Sending Mail | 5 | @node Sending Mail |
| @@ -713,7 +712,3 @@ buffer, and their commands are different as well. | |||
| 713 | Similarly, to specify your preferred method for reading mail, | 712 | Similarly, to specify your preferred method for reading mail, |
| 714 | customize the variable @code{read-mail-command}. The default is | 713 | customize the variable @code{read-mail-command}. The default is |
| 715 | @code{rmail} (@pxref{Rmail}). | 714 | @code{rmail} (@pxref{Rmail}). |
| 716 | |||
| 717 | @ignore | ||
| 718 | arch-tag: d8a3dfc3-5d87-45c5-a7f2-69871b8e4fd6 | ||
| 719 | @end ignore | ||
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index a9faa420967..48f3bd15587 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @node Text, Programs, Indentation, Top | 5 | @node Text, Programs, Indentation, Top |
| @@ -1765,7 +1764,7 @@ variant of SGML mode. | |||
| 1765 | @kindex C-c C-n @r{(SGML mode)} | 1764 | @kindex C-c C-n @r{(SGML mode)} |
| 1766 | @findex sgml-name-char | 1765 | @findex sgml-name-char |
| 1767 | Interactively specify a special character and insert the SGML | 1766 | Interactively specify a special character and insert the SGML |
| 1768 | @samp{&}-command for that character. | 1767 | @samp{&}-command for that character (@code{sgml-name-char}). |
| 1769 | 1768 | ||
| 1770 | @item C-c C-t | 1769 | @item C-c C-t |
| 1771 | @kindex C-c C-t @r{(SGML mode)} | 1770 | @kindex C-c C-t @r{(SGML mode)} |
| @@ -1799,7 +1798,7 @@ A numeric argument acts as a repeat count. | |||
| 1799 | @findex sgml-skip-tag-backward | 1798 | @findex sgml-skip-tag-backward |
| 1800 | Skip backward across a balanced tag group (which extends from an | 1799 | Skip backward across a balanced tag group (which extends from an |
| 1801 | opening tag through its corresponding closing tag) | 1800 | opening tag through its corresponding closing tag) |
| 1802 | (@code{sgml-skip-tag-forward}). A numeric argument acts as a repeat | 1801 | (@code{sgml-skip-tag-backward}). A numeric argument acts as a repeat |
| 1803 | count. | 1802 | count. |
| 1804 | 1803 | ||
| 1805 | @item C-c C-d | 1804 | @item C-c C-d |
| @@ -1841,7 +1840,7 @@ buffer as SGML (@code{sgml-validate}). | |||
| 1841 | @kindex C-c TAB @r{(SGML mode)} | 1840 | @kindex C-c TAB @r{(SGML mode)} |
| 1842 | @findex sgml-tags-invisible | 1841 | @findex sgml-tags-invisible |
| 1843 | Toggle the visibility of existing tags in the buffer. This can be | 1842 | Toggle the visibility of existing tags in the buffer. This can be |
| 1844 | used as a cheap preview. | 1843 | used as a cheap preview (@code{sgml-tags-invisible}). |
| 1845 | @end table | 1844 | @end table |
| 1846 | 1845 | ||
| 1847 | @cindex nXML mode | 1846 | @cindex nXML mode |
| @@ -2925,7 +2924,3 @@ then inserts the generated table in the proper syntax into the | |||
| 2925 | destination buffer. The default destination buffer is | 2924 | destination buffer. The default destination buffer is |
| 2926 | @code{table.@var{lang}}, where @var{lang} is the language you | 2925 | @code{table.@var{lang}}, where @var{lang} is the language you |
| 2927 | specified. | 2926 | specified. |
| 2928 | |||
| 2929 | @ignore | ||
| 2930 | arch-tag: 8db54ed8-2036-49ca-b0df-23811d03dc70 | ||
| 2931 | @end ignore | ||
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 2f90b30bf83..a2b9b16bae6 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 5 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 6 | @iftex | 5 | @iftex |
| @@ -629,10 +628,11 @@ read the tracker's online documentation to see the various features | |||
| 629 | you can use. | 628 | you can use. |
| 630 | 629 | ||
| 631 | All mail sent to the @samp{bug-gnu-emacs} mailing list is also | 630 | All mail sent to the @samp{bug-gnu-emacs} mailing list is also |
| 632 | gatewayed to the @samp{bug.gnu.emacs} newsgroup. The reverse is also | 631 | gatewayed to the @samp{gnu.emacs.bug} newsgroup. The reverse is also |
| 633 | true, but we ask you not to post bug reports via the newsgroup. It | 632 | true, but we ask you not to post bug reports (or replies) via the |
| 634 | can make it much harder to contact you if we need to ask for more | 633 | newsgroup. It can make it much harder to contact you if we need to ask |
| 635 | information, and it does not integrate well with the bug tracker. | 634 | for more information, and it does not integrate well with the bug |
| 635 | tracker. | ||
| 636 | 636 | ||
| 637 | If your data is more than 500,000 bytes, please don't include it | 637 | If your data is more than 500,000 bytes, please don't include it |
| 638 | directly in the bug report; instead, offer to send it on request, or | 638 | directly in the bug report; instead, offer to send it on request, or |
| @@ -805,6 +805,13 @@ This use of the debugger is possible only if you know how to make the | |||
| 805 | bug happen again. If you can't make it happen again, at least copy | 805 | bug happen again. If you can't make it happen again, at least copy |
| 806 | the whole error message. | 806 | the whole error message. |
| 807 | 807 | ||
| 808 | @vindex debug-on-quit | ||
| 809 | If Emacs appears to be stuck in an infinite loop or in a very long | ||
| 810 | operation, typing @kbd{C-g} with the variable @code{debug-on-quit} | ||
| 811 | non-@code{nil} will start the Lisp debugger and show a backtrace. | ||
| 812 | This backtrace is useful for debugging such long loops, so if you can | ||
| 813 | produce it, copy it into the bug report. | ||
| 814 | |||
| 808 | @item | 815 | @item |
| 809 | Check whether any programs you have loaded into the Lisp world, | 816 | Check whether any programs you have loaded into the Lisp world, |
| 810 | including your @file{.emacs} file, set any variables that may affect the | 817 | including your @file{.emacs} file, set any variables that may affect the |
| @@ -1126,7 +1133,3 @@ Emacs distribution. | |||
| 1126 | @ifnottex | 1133 | @ifnottex |
| 1127 | @lowersections | 1134 | @lowersections |
| 1128 | @end ifnottex | 1135 | @end ifnottex |
| 1129 | |||
| 1130 | @ignore | ||
| 1131 | arch-tag: c9cba76d-b2cb-4e0c-ae3f-19d5ef35817c | ||
| 1132 | @end ignore | ||
diff --git a/doc/emacs/vc-xtra.texi b/doc/emacs/vc-xtra.texi index 8b874e309cb..978a2a31a2e 100644 --- a/doc/emacs/vc-xtra.texi +++ b/doc/emacs/vc-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included in emacs-xtra.texi when producing the printed | 5 | @c This file is included in emacs-xtra.texi when producing the printed |
| @@ -24,7 +23,3 @@ the Emacs Manual}). This chapter describes more advanced VC usage. | |||
| 24 | @iftex | 23 | @iftex |
| 25 | @include vc1-xtra.texi | 24 | @include vc1-xtra.texi |
| 26 | @end iftex | 25 | @end iftex |
| 27 | |||
| 28 | @ignore | ||
| 29 | arch-tag: 11a18d0e-1baf-49da-8e38-f61195ae4dc3 | ||
| 30 | @end ignore | ||
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi index 04d37719013..05e89e69f0e 100644 --- a/doc/emacs/vc1-xtra.texi +++ b/doc/emacs/vc1-xtra.texi | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 2 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 4 | @c |
| 6 | @c This file is included either in vc-xtra.texi (when producing the | 5 | @c This file is included either in vc-xtra.texi (when producing the |
| @@ -787,7 +786,3 @@ only for repositories from hosts that match the pattern. | |||
| 787 | operations in the variable @code{vc-cvs-global-switches}. These | 786 | operations in the variable @code{vc-cvs-global-switches}. These |
| 788 | switches are inserted immediately after the @code{cvs} command, before | 787 | switches are inserted immediately after the @code{cvs} command, before |
| 789 | the name of the operation to invoke. | 788 | the name of the operation to invoke. |
| 790 | |||
| 791 | @ignore | ||
| 792 | arch-tag: 8e8c2a01-ad41-4e61-a89a-60131ad67263 | ||
| 793 | @end ignore | ||
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index e161a23ca6c..ae9b69ef3f4 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Windows, Frames, Buffers, Top | 5 | @node Windows, Frames, Buffers, Top |
| 6 | @chapter Multiple Windows | 6 | @chapter Multiple Windows |
| @@ -397,7 +397,3 @@ windows together. You can also turn it on by customizing the variable | |||
| 397 | scroll-all-scroll-down-all}, @kbd{M-x scroll-all-page-down-all} and | 397 | scroll-all-scroll-down-all}, @kbd{M-x scroll-all-page-down-all} and |
| 398 | their corresponding ``up'' equivalents. To make this mode useful, | 398 | their corresponding ``up'' equivalents. To make this mode useful, |
| 399 | you should bind these commands to appropriate keys. | 399 | you should bind these commands to appropriate keys. |
| 400 | |||
| 401 | @ignore | ||
| 402 | arch-tag: 8bea7453-d4b1-49b1-9bf4-cfe4383e1113 | ||
| 403 | @end ignore | ||
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index ecf5c02f32b..1482bbd0469 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2003, | 2 | @c Copyright (C) 1987, 1993-1995, 1997, 2001-2011 |
| 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node X Resources, Antinews, Emacs Invocation, Top | 5 | @node X Resources, Antinews, Emacs Invocation, Top |
| 6 | @appendix X Options and Resources | 6 | @appendix X Options and Resources |
| @@ -1219,7 +1219,3 @@ family. It corresponds to the fifth part of an X font name. It is one of | |||
| 1219 | @noindent | 1219 | @noindent |
| 1220 | @var{size} is a decimal number that describes the font size in points. | 1220 | @var{size} is a decimal number that describes the font size in points. |
| 1221 | @end ifnottex | 1221 | @end ifnottex |
| 1222 | |||
| 1223 | @ignore | ||
| 1224 | arch-tag: 9b6ff773-48b6-41f6-b2f9-f114b8bdd97f | ||
| 1225 | @end ignore | ||
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index d75bb003279..a6897fc4ec9 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2011-01-23 Werner Lemberg <wl@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in (MAKEINFO): Now controlled by `configure'. | ||
| 4 | (MAKEINFO_OPTS): New variable. Use it where appropriate. | ||
| 5 | (ENVADD): New variable to control texi2dvi and texi2pdf. | ||
| 6 | |||
| 1 | 2010-11-13 Glenn Morris <rgm@gnu.org> | 7 | 2010-11-13 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * emacs-lisp-intro.texi: Rename the `count-words-region' example, | 9 | * emacs-lisp-intro.texi: Rename the `count-words-region' example, |
| @@ -449,8 +455,7 @@ | |||
| 449 | ;; coding: utf-8 | 455 | ;; coding: utf-8 |
| 450 | ;; End: | 456 | ;; End: |
| 451 | 457 | ||
| 452 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | 458 | Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 453 | 2010 Free Software Foundation, Inc. | ||
| 454 | 459 | ||
| 455 | This file is part of GNU Emacs. | 460 | This file is part of GNU Emacs. |
| 456 | 461 | ||
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index 366a0a10e5d..df356f1b132 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | #### Makefile for the Emacs Lisp Introduction manual | 1 | #### Makefile for the Emacs Lisp Introduction manual |
| 2 | 2 | ||
| 3 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, | 3 | # Copyright (C) 1994-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | # 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | # Free Software Foundation, Inc. | ||
| 6 | 4 | ||
| 7 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 8 | 6 | ||
| @@ -28,11 +26,15 @@ infodir = $(srcdir)/../../info | |||
| 28 | # Directory with the (customized) texinfo.tex file. | 26 | # Directory with the (customized) texinfo.tex file. |
| 29 | texinfodir = $(srcdir)/../misc | 27 | texinfodir = $(srcdir)/../misc |
| 30 | 28 | ||
| 31 | MAKEINFO = makeinfo --force -I $(srcdir) | 29 | MAKEINFO = @MAKEINFO@ |
| 30 | MAKEINFO_OPTS = --force -I $(srcdir) | ||
| 32 | TEXI2DVI = texi2dvi | 31 | TEXI2DVI = texi2dvi |
| 33 | TEXI2PDF = texi2pdf | 32 | TEXI2PDF = texi2pdf |
| 34 | DVIPS = dvips | 33 | DVIPS = dvips |
| 35 | 34 | ||
| 35 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \ | ||
| 36 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" | ||
| 37 | |||
| 36 | mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} | 38 | mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} |
| 37 | 39 | ||
| 38 | .PHONY: info dvi html pdf ps | 40 | .PHONY: info dvi html pdf ps |
| @@ -48,19 +50,19 @@ ps: emacs-lisp-intro.ps | |||
| 48 | # -NN extensions to fit into DOS 8+3 limits without clashing. | 50 | # -NN extensions to fit into DOS 8+3 limits without clashing. |
| 49 | ${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi | 51 | ${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi |
| 50 | $(mkinfodir) | 52 | $(mkinfodir) |
| 51 | $(MAKEINFO) -o $@ $< | 53 | $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< |
| 52 | 54 | ||
| 53 | emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi | 55 | emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi |
| 54 | $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $< | 56 | $(ENVADD) $(TEXI2DVI) $< |
| 55 | 57 | ||
| 56 | emacs-lisp-intro.ps: emacs-lisp-intro.dvi | 58 | emacs-lisp-intro.ps: emacs-lisp-intro.dvi |
| 57 | $(DVIPS) -o $@ $< | 59 | $(DVIPS) -o $@ $< |
| 58 | 60 | ||
| 59 | emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi | 61 | emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi |
| 60 | $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $< | 62 | $(ENVADD) $(TEXI2PDF) $< |
| 61 | 63 | ||
| 62 | emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi | 64 | emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi |
| 63 | $(MAKEINFO) --html -o $@ $< | 65 | $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< |
| 64 | 66 | ||
| 65 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean | 67 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean |
| 66 | 68 | ||
diff --git a/doc/lispintro/README b/doc/lispintro/README index 3135af64270..ba4e727cc8e 100644 --- a/doc/lispintro/README +++ b/doc/lispintro/README | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 1 | Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 2 | Free Software Foundation, Inc. | ||
| 3 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 4 | 3 | ||
| 5 | 4 | ||
diff --git a/doc/lispintro/cons-1.eps b/doc/lispintro/cons-1.eps index 42c350139da..a1fb08463b4 100644 --- a/doc/lispintro/cons-1.eps +++ b/doc/lispintro/cons-1.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:26:58 1995 | 4 | %%CreationDate: Wed Mar 8 14:26:58 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/cons-2.eps b/doc/lispintro/cons-2.eps index 8ae9d8a9190..a711b66ca2e 100644 --- a/doc/lispintro/cons-2.eps +++ b/doc/lispintro/cons-2.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:26:39 1995 | 4 | %%CreationDate: Wed Mar 8 14:26:39 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/cons-2a.eps b/doc/lispintro/cons-2a.eps index 916417adf9c..5612caa0717 100644 --- a/doc/lispintro/cons-2a.eps +++ b/doc/lispintro/cons-2a.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Tue Mar 14 15:09:30 1995 | 4 | %%CreationDate: Tue Mar 14 15:09:30 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/cons-3.eps b/doc/lispintro/cons-3.eps index f6fddf0a32a..a1de449373f 100644 --- a/doc/lispintro/cons-3.eps +++ b/doc/lispintro/cons-3.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:25:41 1995 | 4 | %%CreationDate: Wed Mar 8 14:25:41 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/cons-4.eps b/doc/lispintro/cons-4.eps index 77389632dfd..45882e815a7 100644 --- a/doc/lispintro/cons-4.eps +++ b/doc/lispintro/cons-4.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:25:06 1995 | 4 | %%CreationDate: Wed Mar 8 14:25:06 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/cons-5.eps b/doc/lispintro/cons-5.eps index 67423d5354e..b8bff1da573 100644 --- a/doc/lispintro/cons-5.eps +++ b/doc/lispintro/cons-5.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:27:28 1995 | 4 | %%CreationDate: Wed Mar 8 14:27:28 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/doclicense.texi b/doc/lispintro/doclicense.texi index 1aa76136110..51342e96d60 100644 --- a/doc/lispintro/doclicense.texi +++ b/doc/lispintro/doclicense.texi | |||
| @@ -506,7 +506,3 @@ to permit their use in free software. | |||
| 506 | @c ispell-local-pdict: "ispell-dict" | 506 | @c ispell-local-pdict: "ispell-dict" |
| 507 | @c End: | 507 | @c End: |
| 508 | 508 | ||
| 509 | @ignore | ||
| 510 | arch-tag: 839f250e-4800-4bc9-bd28-49ec7968331f | ||
| 511 | @end ignore | ||
| 512 | |||
diff --git a/doc/lispintro/drawers.eps b/doc/lispintro/drawers.eps index 218eedfeaa2..99e3581f38e 100644 --- a/doc/lispintro/drawers.eps +++ b/doc/lispintro/drawers.eps | |||
| @@ -9,8 +9,7 @@ | |||
| 9 | %%EndComments | 9 | %%EndComments |
| 10 | %%BeginProlog | 10 | %%BeginProlog |
| 11 | 11 | ||
| 12 | % Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 12 | % Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 13 | % Free Software Foundation, Inc. | ||
| 14 | % | 13 | % |
| 15 | % This file is part of GNU Emacs. | 14 | % This file is part of GNU Emacs. |
| 16 | % | 15 | % |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 50b11a62fa0..7b9ec75446b 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -228,9 +228,7 @@ people who are not programmers. | |||
| 228 | @sp 1 | 228 | @sp 1 |
| 229 | Edition @value{edition-number}, @value{update-date} | 229 | Edition @value{edition-number}, @value{update-date} |
| 230 | @sp 1 | 230 | @sp 1 |
| 231 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, | 231 | Copyright @copyright{} 1990-1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 232 | 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 233 | Free Software Foundation, Inc. | ||
| 234 | @sp 1 | 232 | @sp 1 |
| 235 | 233 | ||
| 236 | @iftex | 234 | @iftex |
diff --git a/doc/lispintro/lambda-1.eps b/doc/lispintro/lambda-1.eps index 3510c40e005..a9c3c530646 100644 --- a/doc/lispintro/lambda-1.eps +++ b/doc/lispintro/lambda-1.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:31:53 1995 | 4 | %%CreationDate: Wed Mar 8 14:31:53 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/lambda-2.eps b/doc/lispintro/lambda-2.eps index f60c2b56ad3..44238a1ad7d 100644 --- a/doc/lispintro/lambda-2.eps +++ b/doc/lispintro/lambda-2.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:33:09 1995 | 4 | %%CreationDate: Wed Mar 8 14:33:09 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/lambda-3.eps b/doc/lispintro/lambda-3.eps index 67c55093e7f..1c5cda046e0 100644 --- a/doc/lispintro/lambda-3.eps +++ b/doc/lispintro/lambda-3.eps | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | %%CreationDate: Wed Mar 8 14:33:49 1995 | 4 | %%CreationDate: Wed Mar 8 14:33:49 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | 6 | ||
| 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 7 | % Copyright (C) 1995, 1997, 2001-2011 Free Software Foundation, Inc. |
| 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | % | 8 | % |
| 10 | % This file is part of GNU Emacs. | 9 | % This file is part of GNU Emacs. |
| 11 | % | 10 | % |
diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in index 7e51a441fd4..7294d46b693 100644 --- a/doc/lispintro/makefile.w32-in +++ b/doc/lispintro/makefile.w32-in | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | #### -*- Makefile -*- for the Emacs Lisp Introduction manual. | 1 | #### -*- Makefile -*- for the Emacs Lisp Introduction manual. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | # Copyright (C) 2003-2011 Free Software Foundation, Inc. |
| 4 | # Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 7 | 6 | ||
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 36d85bc98ba..be8803d4cb2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,99 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (texinfodir): New variable. | ||
| 4 | (usermanualdir): Remove as redundant with $(emacsdir). | ||
| 5 | (MAKEINFO): Remove options, leave only program name. | ||
| 6 | (MAKEINFO_OPTS): New variable. | ||
| 7 | (texinputdir, $(infodir)/elisp): Use $(MAKEINFO_OPTS). | ||
| 8 | |||
| 9 | 2011-01-25 Chong Yidong <cyd@stupidchicken.com> | ||
| 10 | Richard Kim <emacs18@gmail.com> | ||
| 11 | |||
| 12 | * loading.texi (Library Search): Document list-load-path-shadows | ||
| 13 | (Bug#7757). | ||
| 14 | |||
| 15 | 2011-01-25 Chong Yidong <cyd@stupidchicken.com> | ||
| 16 | |||
| 17 | * searching.texi (Regexp Special): Remove outdated discussion of | ||
| 18 | character sets (Bug#7780). | ||
| 19 | |||
| 20 | * frames.texi (Pop-Up Menus): Document where menu title comes | ||
| 21 | from (Bug#7684). | ||
| 22 | |||
| 23 | 2011-01-25 Glenn Morris <rgm@gnu.org> | ||
| 24 | |||
| 25 | * display.texi (Making Buttons): Mention limitation of text buttons. | ||
| 26 | |||
| 27 | 2011-01-23 Werner Lemberg <wl@gnu.org> | ||
| 28 | |||
| 29 | * Makefile.in (MAKEINFO): Now controlled by `configure'. | ||
| 30 | (MAKEINFO_OPTS): New variable. Use it where appropriate. | ||
| 31 | (ENVADD): New variable to control texi2dvi and texi2pdf. | ||
| 32 | |||
| 33 | 2011-01-15 Chong Yidong <cyd@stupidchicken.com> | ||
| 34 | |||
| 35 | * files.texi (Directory Names): Move directory-abbrev-alist doc to | ||
| 36 | Emacs manual. | ||
| 37 | |||
| 38 | 2011-01-15 Eli Zaretskii <eliz@gnu.org> | ||
| 39 | |||
| 40 | * files.texi (Directory Names): Explain why FROM in | ||
| 41 | directory-abbrev-alist should begin with \`. (Bug#7777) | ||
| 42 | |||
| 43 | 2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 44 | |||
| 45 | * loading.texi (Hooks for Loading): Adjust doc of eval-after-load. | ||
| 46 | |||
| 47 | 2011-01-02 Eli Zaretskii <eliz@gnu.org> | ||
| 48 | |||
| 49 | * modes.texi (Emulating Mode Line): Fix last change. | ||
| 50 | |||
| 51 | 2011-01-02 Eli Zaretskii <eliz@gnu.org> | ||
| 52 | |||
| 53 | * modes.texi (Emulating Mode Line): Update documentation of | ||
| 54 | format-mode-line according to changes that fixed bug #7587. | ||
| 55 | |||
| 56 | 2010-12-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 57 | |||
| 58 | * modes.texi (Derived Modes): Mention prog-mode. | ||
| 59 | |||
| 60 | * keymaps.texi (Simple Menu Items, Extended Menu Items): Remove mention | ||
| 61 | of the key-binding-data cache since we don't use it any more. | ||
| 62 | |||
| 63 | 2010-12-13 Eli Zaretskii <eliz@gnu.org> | ||
| 64 | |||
| 65 | * processes.texi (Shell Arguments): | ||
| 66 | * strings.texi (Creating Strings): Don't mention "shell commands"; | ||
| 67 | make it explicit that `split-string-and-unquote' and | ||
| 68 | `combine-and-quote-strings' are mainly for working with arguments | ||
| 69 | to call-process and start-process. | ||
| 70 | |||
| 71 | * processes.texi (Shell Arguments): Fix documentation of | ||
| 72 | `split-string-and-unquote'. Add indexing. (Bug#7563) | ||
| 73 | |||
| 74 | 2010-12-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 75 | |||
| 76 | * modes.texi (Auto-Indentation): New section to document SMIE. | ||
| 77 | (Major Mode Conventions): | ||
| 78 | * text.texi (Mode-Specific Indent): Refer to it. | ||
| 79 | |||
| 80 | 2010-12-13 Eli Zaretskii <eliz@gnu.org> | ||
| 81 | |||
| 82 | * display.texi (Other Display Specs): Document left-fringe and | ||
| 83 | right-fringe display specs. | ||
| 84 | |||
| 85 | 2010-12-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 86 | |||
| 87 | * backups.texi (Making Backups): | ||
| 88 | * modes.texi (Example Major Modes): Use recommended coding style. | ||
| 89 | (Major Mode Basics, Derived Modes): Encourge more strongly use of | ||
| 90 | define-derived-mode. Mention completion-at-point-functions. | ||
| 91 | |||
| 92 | 2010-12-13 Chong Yidong <cyd@stupidchicken.com> | ||
| 93 | |||
| 94 | * nonascii.texi (Converting Representations): | ||
| 95 | Document byte-to-string. | ||
| 96 | |||
| 1 | 2010-12-08 Glenn Morris <rgm@gnu.org> | 97 | 2010-12-08 Glenn Morris <rgm@gnu.org> |
| 2 | 98 | ||
| 3 | * buffers.texi (Modification Time): | 99 | * buffers.texi (Modification Time): |
| @@ -42,8 +138,8 @@ | |||
| 42 | 138 | ||
| 43 | * customize.texi (Composite Types): Lower-case index entry. | 139 | * customize.texi (Composite Types): Lower-case index entry. |
| 44 | 140 | ||
| 45 | * loading.texi (How Programs Do Loading): Document | 141 | * loading.texi (How Programs Do Loading): |
| 46 | load-file-name. (Bug#7346) | 142 | Document load-file-name. (Bug#7346) |
| 47 | 143 | ||
| 48 | 2010-11-17 Glenn Morris <rgm@gnu.org> | 144 | 2010-11-17 Glenn Morris <rgm@gnu.org> |
| 49 | 145 | ||
| @@ -484,8 +580,8 @@ | |||
| 484 | * minibuf.texi (Basic Completion): 4th arg to all-completions is | 580 | * minibuf.texi (Basic Completion): 4th arg to all-completions is |
| 485 | obsolete. | 581 | obsolete. |
| 486 | 582 | ||
| 487 | * processes.texi (Process Buffers): Document | 583 | * processes.texi (Process Buffers): |
| 488 | process-kill-buffer-query-function. | 584 | Document process-kill-buffer-query-function. |
| 489 | 585 | ||
| 490 | 2009-12-05 Glenn Morris <rgm@gnu.org> | 586 | 2009-12-05 Glenn Morris <rgm@gnu.org> |
| 491 | 587 | ||
| @@ -932,8 +1028,8 @@ | |||
| 932 | (Suspending Emacs): Mark suspend-emacs as a command. | 1028 | (Suspending Emacs): Mark suspend-emacs as a command. |
| 933 | (Processor Run Time): Mark emacs-uptime and emacs-init-time as | 1029 | (Processor Run Time): Mark emacs-uptime and emacs-init-time as |
| 934 | commands. | 1030 | commands. |
| 935 | (Terminal Output): Remove obsolete function baud-rate. Document | 1031 | (Terminal Output): Remove obsolete function baud-rate. |
| 936 | TERMINAL arg for send-string-to-terminal. | 1032 | Document TERMINAL arg for send-string-to-terminal. |
| 937 | 1033 | ||
| 938 | * nonascii.texi (Terminal I/O Encoding): Document TERMINAL arg for | 1034 | * nonascii.texi (Terminal I/O Encoding): Document TERMINAL arg for |
| 939 | terminal-coding-system and set-terminal-coding-system. | 1035 | terminal-coding-system and set-terminal-coding-system. |
| @@ -1037,8 +1133,8 @@ | |||
| 1037 | 2009-05-09 Eli Zaretskii <eliz@gnu.org> | 1133 | 2009-05-09 Eli Zaretskii <eliz@gnu.org> |
| 1038 | 1134 | ||
| 1039 | * nonascii.texi (Default Coding Systems): Document | 1135 | * nonascii.texi (Default Coding Systems): Document |
| 1040 | find-auto-coding, set-auto-coding, and auto-coding-alist. Add | 1136 | find-auto-coding, set-auto-coding, and auto-coding-alist. |
| 1041 | indexing. | 1137 | Add indexing. |
| 1042 | (Lisp and Coding Systems): Add index entries. | 1138 | (Lisp and Coding Systems): Add index entries. |
| 1043 | 1139 | ||
| 1044 | 2009-05-09 Martin Rudalics <rudalics@gmx.at> | 1140 | 2009-05-09 Martin Rudalics <rudalics@gmx.at> |
| @@ -1080,8 +1176,8 @@ | |||
| 1080 | 1176 | ||
| 1081 | 2009-04-22 Chong Yidong <cyd@stupidchicken.com> | 1177 | 2009-04-22 Chong Yidong <cyd@stupidchicken.com> |
| 1082 | 1178 | ||
| 1083 | * os.texi (Command-Line Arguments): Document | 1179 | * os.texi (Command-Line Arguments): |
| 1084 | command-line-args-left. | 1180 | Document command-line-args-left. |
| 1085 | (Suspending Emacs): Adapt text to multi-tty case. Document use of | 1181 | (Suspending Emacs): Adapt text to multi-tty case. Document use of |
| 1086 | terminal objects for tty arguments. | 1182 | terminal objects for tty arguments. |
| 1087 | (Startup Summary): Add xref to Session Management. | 1183 | (Startup Summary): Add xref to Session Management. |
| @@ -1157,13 +1253,13 @@ | |||
| 1157 | 2009-04-09 Chong Yidong <cyd@stupidchicken.com> | 1253 | 2009-04-09 Chong Yidong <cyd@stupidchicken.com> |
| 1158 | 1254 | ||
| 1159 | * text.texi (Yank Commands): Note that yank uses push-mark. | 1255 | * text.texi (Yank Commands): Note that yank uses push-mark. |
| 1160 | (Filling): Clarify REGION argument of fill-paragraph. Document | 1256 | (Filling): Clarify REGION argument of fill-paragraph. |
| 1161 | fill-forward-paragraph-function. | 1257 | Document fill-forward-paragraph-function. |
| 1162 | (Special Properties): Remove "new in Emacs 22" declaration. | 1258 | (Special Properties): Remove "new in Emacs 22" declaration. |
| 1163 | (Clickable Text): Merge with Links and Mouse-1 node. | 1259 | (Clickable Text): Merge with Links and Mouse-1 node. |
| 1164 | 1260 | ||
| 1165 | * display.texi (Button Properties, Button Buffer Commands): Change | 1261 | * display.texi (Button Properties, Button Buffer Commands): |
| 1166 | xref to Clickable Text. | 1262 | Change xref to Clickable Text. |
| 1167 | 1263 | ||
| 1168 | * tips.texi (Key Binding Conventions): Change xref to Clickable | 1264 | * tips.texi (Key Binding Conventions): Change xref to Clickable |
| 1169 | Text. | 1265 | Text. |
| @@ -1225,8 +1321,8 @@ | |||
| 1225 | 1321 | ||
| 1226 | 2009-03-29 Chong Yidong <cyd@stupidchicken.com> | 1322 | 2009-03-29 Chong Yidong <cyd@stupidchicken.com> |
| 1227 | 1323 | ||
| 1228 | * help.texi (Accessing Documentation, Help Functions): Remove | 1324 | * help.texi (Accessing Documentation, Help Functions): |
| 1229 | information about long-obsolete Emacs versions. | 1325 | Remove information about long-obsolete Emacs versions. |
| 1230 | 1326 | ||
| 1231 | * modes.texi (Mode Line Variables): The default values of the mode | 1327 | * modes.texi (Mode Line Variables): The default values of the mode |
| 1232 | line variables are now more complicated. | 1328 | line variables are now more complicated. |
| @@ -1269,8 +1365,8 @@ | |||
| 1269 | 2009-03-23 Chong Yidong <cyd@stupidchicken.com> | 1365 | 2009-03-23 Chong Yidong <cyd@stupidchicken.com> |
| 1270 | 1366 | ||
| 1271 | * minibuf.texi (Intro to Minibuffers): Remove long-obsolete info | 1367 | * minibuf.texi (Intro to Minibuffers): Remove long-obsolete info |
| 1272 | about minibuffers in old Emacs versions. Copyedits. Emphasize | 1368 | about minibuffers in old Emacs versions. Copyedits. |
| 1273 | that enable-recursive-minibuffers defaults to nil. | 1369 | Emphasize that enable-recursive-minibuffers defaults to nil. |
| 1274 | (Text from Minibuffer): Simplify introduction. | 1370 | (Text from Minibuffer): Simplify introduction. |
| 1275 | 1371 | ||
| 1276 | 2009-03-22 Alan Mackenzie <acm@muc.de> | 1372 | 2009-03-22 Alan Mackenzie <acm@muc.de> |
| @@ -1324,8 +1420,8 @@ | |||
| 1324 | * customize.texi (Common Keywords): It's not necessary to use :tag | 1420 | * customize.texi (Common Keywords): It's not necessary to use :tag |
| 1325 | to remove hyphens, as custom-unlispify-tag-name does it | 1421 | to remove hyphens, as custom-unlispify-tag-name does it |
| 1326 | automatically. | 1422 | automatically. |
| 1327 | (Variable Definitions): Link to File Local Variables. Document | 1423 | (Variable Definitions): Link to File Local Variables. |
| 1328 | customized-value symbol property. | 1424 | Document customized-value symbol property. |
| 1329 | (Customization Types): Move menu to end of node. | 1425 | (Customization Types): Move menu to end of node. |
| 1330 | 1426 | ||
| 1331 | 2009-03-10 Chong Yidong <cyd@stupidchicken.com> | 1427 | 2009-03-10 Chong Yidong <cyd@stupidchicken.com> |
| @@ -1436,8 +1532,8 @@ | |||
| 1436 | * text.texi (Commands for Insertion): | 1532 | * text.texi (Commands for Insertion): |
| 1437 | * commands.texi (Event Mod): | 1533 | * commands.texi (Event Mod): |
| 1438 | * keymaps.texi (Searching Keymaps): | 1534 | * keymaps.texi (Searching Keymaps): |
| 1439 | * nonascii.texi (Translation of Characters): Reinstate | 1535 | * nonascii.texi (Translation of Characters): |
| 1440 | documentation of translation-table-for-input. | 1536 | Reinstate documentation of translation-table-for-input. |
| 1441 | (Explicit Encoding): Document the `charset' text property produced | 1537 | (Explicit Encoding): Document the `charset' text property produced |
| 1442 | by decode-coding-region and decode-coding-string. | 1538 | by decode-coding-region and decode-coding-string. |
| 1443 | 1539 | ||
| @@ -1466,8 +1562,8 @@ | |||
| 1466 | 2009-01-22 Chong Yidong <cyd@stupidchicken.com> | 1562 | 2009-01-22 Chong Yidong <cyd@stupidchicken.com> |
| 1467 | 1563 | ||
| 1468 | * files.texi (Format Conversion Piecemeal): Clarify behavior of | 1564 | * files.texi (Format Conversion Piecemeal): Clarify behavior of |
| 1469 | write-region-annotate-functions. Document | 1565 | write-region-annotate-functions. |
| 1470 | write-region-post-annotation-function. | 1566 | Document write-region-post-annotation-function. |
| 1471 | 1567 | ||
| 1472 | 2009-01-19 Chong Yidong <cyd@stupidchicken.com> | 1568 | 2009-01-19 Chong Yidong <cyd@stupidchicken.com> |
| 1473 | 1569 | ||
| @@ -1534,8 +1630,8 @@ | |||
| 1534 | 1630 | ||
| 1535 | * processes.texi (Serial Ports): Improve wording, suggested by RMS. | 1631 | * processes.texi (Serial Ports): Improve wording, suggested by RMS. |
| 1536 | 1632 | ||
| 1537 | * nonascii.texi (Lisp and Coding Systems): Document | 1633 | * nonascii.texi (Lisp and Coding Systems): |
| 1538 | inhibit-null-byte-detection and inhibit-iso-escape-detection. | 1634 | Document inhibit-null-byte-detection and inhibit-iso-escape-detection. |
| 1539 | (Character Properties): Improve wording. | 1635 | (Character Properties): Improve wording. |
| 1540 | 1636 | ||
| 1541 | 2009-01-09 Chong Yidong <cyd@stupidchicken.com> | 1637 | 2009-01-09 Chong Yidong <cyd@stupidchicken.com> |
| @@ -1543,8 +1639,8 @@ | |||
| 1543 | * display.texi (Font Lookup): Remove obsolete function | 1639 | * display.texi (Font Lookup): Remove obsolete function |
| 1544 | x-font-family-list. x-list-fonts accepts Fontconfig/GTK syntax. | 1640 | x-font-family-list. x-list-fonts accepts Fontconfig/GTK syntax. |
| 1545 | (Low-Level Font): Rename from Fonts, move to end of Faces section. | 1641 | (Low-Level Font): Rename from Fonts, move to end of Faces section. |
| 1546 | (Font Selection): Reorder order of variable descriptions. Minor | 1642 | (Font Selection): Reorder order of variable descriptions. |
| 1547 | clarifications. | 1643 | Minor clarifications. |
| 1548 | 1644 | ||
| 1549 | * elisp.texi (Top): Update node listing. | 1645 | * elisp.texi (Top): Update node listing. |
| 1550 | 1646 | ||
| @@ -1565,8 +1661,8 @@ | |||
| 1565 | * elisp.texi: Update node listing. | 1661 | * elisp.texi: Update node listing. |
| 1566 | 1662 | ||
| 1567 | * display.texi (Faces): Put Font Selection node after Auto Faces. | 1663 | * display.texi (Faces): Put Font Selection node after Auto Faces. |
| 1568 | (Face Attributes): Don't link to Font Lookup. Document | 1664 | (Face Attributes): Don't link to Font Lookup. |
| 1569 | font-family-list. | 1665 | Document font-family-list. |
| 1570 | (Fonts): New node. | 1666 | (Fonts): New node. |
| 1571 | 1667 | ||
| 1572 | 2009-01-08 Jason Rumney <jasonr@gnu.org> | 1668 | 2009-01-08 Jason Rumney <jasonr@gnu.org> |
| @@ -1794,8 +1890,8 @@ | |||
| 1794 | * windows.texi (Window Hooks): Remove *-end-trigger-functions | 1890 | * windows.texi (Window Hooks): Remove *-end-trigger-functions |
| 1795 | vars, which are obsolete. Mention jit-lock-register. | 1891 | vars, which are obsolete. Mention jit-lock-register. |
| 1796 | 1892 | ||
| 1797 | * modes.texi (Other Font Lock Variables): Document | 1893 | * modes.texi (Other Font Lock Variables): |
| 1798 | jit-lock-register and jit-lock-unregister. | 1894 | Document jit-lock-register and jit-lock-unregister. |
| 1799 | 1895 | ||
| 1800 | * frames.texi (Color Parameters): Document alpha parameter. | 1896 | * frames.texi (Color Parameters): Document alpha parameter. |
| 1801 | 1897 | ||
| @@ -1867,8 +1963,8 @@ | |||
| 1867 | 2008-11-01 Eli Zaretskii <eliz@gnu.org> | 1963 | 2008-11-01 Eli Zaretskii <eliz@gnu.org> |
| 1868 | 1964 | ||
| 1869 | * nonascii.texi (Text Representations): Rewrite to make consistent | 1965 | * nonascii.texi (Text Representations): Rewrite to make consistent |
| 1870 | with Emacs 23 internal representation of characters. Document | 1966 | with Emacs 23 internal representation of characters. |
| 1871 | `unibyte-string'. | 1967 | Document `unibyte-string'. |
| 1872 | 1968 | ||
| 1873 | 2008-10-28 Chong Yidong <cyd@stupidchicken.com> | 1969 | 2008-10-28 Chong Yidong <cyd@stupidchicken.com> |
| 1874 | 1970 | ||
| @@ -1981,8 +2077,8 @@ | |||
| 1981 | 2077 | ||
| 1982 | * processes.texi (Synchronous Processes): Document `process-lines'. | 2078 | * processes.texi (Synchronous Processes): Document `process-lines'. |
| 1983 | 2079 | ||
| 1984 | * customize.texi (Variable Definitions): Document | 2080 | * customize.texi (Variable Definitions): |
| 1985 | `custom-reevaluate-setting'. | 2081 | Document `custom-reevaluate-setting'. |
| 1986 | 2082 | ||
| 1987 | 2008-10-18 Martin Rudalics <rudalics@gmx.at> | 2083 | 2008-10-18 Martin Rudalics <rudalics@gmx.at> |
| 1988 | 2084 | ||
| @@ -1998,13 +2094,13 @@ | |||
| 1998 | * maps.texi (Standard Keymaps): Document `multi-query-replace-map' | 2094 | * maps.texi (Standard Keymaps): Document `multi-query-replace-map' |
| 1999 | and `search-map'. | 2095 | and `search-map'. |
| 2000 | 2096 | ||
| 2001 | * searching.texi (Search and Replace): Document | 2097 | * searching.texi (Search and Replace): |
| 2002 | `replace-search-function' and `replace-re-search-function'. | 2098 | Document `replace-search-function' and `replace-re-search-function'. |
| 2003 | Document `multi-query-replace-map'. | 2099 | Document `multi-query-replace-map'. |
| 2004 | 2100 | ||
| 2005 | * minibuf.texi (Text from Minibuffer): Document `read-regexp'. | 2101 | * minibuf.texi (Text from Minibuffer): Document `read-regexp'. |
| 2006 | (Completion Commands, Reading File Names): Rename | 2102 | (Completion Commands, Reading File Names): |
| 2007 | `minibuffer-local-must-match-filename-map' to | 2103 | Rename `minibuffer-local-must-match-filename-map' to |
| 2008 | `minibuffer-local-filename-must-match-map'. | 2104 | `minibuffer-local-filename-must-match-map'. |
| 2009 | (Minibuffer Completion): The `require-match' argument to | 2105 | (Minibuffer Completion): The `require-match' argument to |
| 2010 | `completing-read' can now have the value `confirm-only'. | 2106 | `completing-read' can now have the value `confirm-only'. |
| @@ -2349,7 +2445,7 @@ | |||
| 2349 | 2445 | ||
| 2350 | 2007-12-30 Richard Stallman <rms@gnu.org> | 2446 | 2007-12-30 Richard Stallman <rms@gnu.org> |
| 2351 | 2447 | ||
| 2352 | * commands.texi (Accessing Mouse): Renamed from Accessing Events. | 2448 | * commands.texi (Accessing Mouse): Rename from Accessing Events. |
| 2353 | (Accessing Scroll): New node broken out of Accessing Mouse. | 2449 | (Accessing Scroll): New node broken out of Accessing Mouse. |
| 2354 | 2450 | ||
| 2355 | 2007-12-28 Richard Stallman <rms@gnu.org> | 2451 | 2007-12-28 Richard Stallman <rms@gnu.org> |
| @@ -2393,8 +2489,8 @@ | |||
| 2393 | 2489 | ||
| 2394 | 2007-11-29 Glenn Morris <rgm@gnu.org> | 2490 | 2007-11-29 Glenn Morris <rgm@gnu.org> |
| 2395 | 2491 | ||
| 2396 | * functions.texi (Declaring Functions): Add findex. Mention | 2492 | * functions.texi (Declaring Functions): Add findex. |
| 2397 | `external' files. | 2493 | Mention `external' files. |
| 2398 | 2494 | ||
| 2399 | 2007-11-26 Juanma Barranquero <lekktu@gmail.com> | 2495 | 2007-11-26 Juanma Barranquero <lekktu@gmail.com> |
| 2400 | 2496 | ||
| @@ -2521,8 +2617,8 @@ | |||
| 2521 | * display.texi (Display Property): Explain some display specs | 2617 | * display.texi (Display Property): Explain some display specs |
| 2522 | don't let you move point in. | 2618 | don't let you move point in. |
| 2523 | 2619 | ||
| 2524 | * frames.texi (Cursor Parameters): Describe | 2620 | * frames.texi (Cursor Parameters): |
| 2525 | cursor-in-non-selected-windows here. Explain more values. | 2621 | Describe cursor-in-non-selected-windows here. Explain more values. |
| 2526 | 2622 | ||
| 2527 | * windows.texi (Basic Windows): Don't describe | 2623 | * windows.texi (Basic Windows): Don't describe |
| 2528 | cursor-in-non-selected-windows here. | 2624 | cursor-in-non-selected-windows here. |
| @@ -2601,8 +2697,8 @@ | |||
| 2601 | 2697 | ||
| 2602 | 2007-08-16 Richard Stallman <rms@gnu.org> | 2698 | 2007-08-16 Richard Stallman <rms@gnu.org> |
| 2603 | 2699 | ||
| 2604 | * processes.texi (Asynchronous Processes): Clarify | 2700 | * processes.texi (Asynchronous Processes): |
| 2605 | doc of start-file-process. | 2701 | Clarify doc of start-file-process. |
| 2606 | 2702 | ||
| 2607 | 2007-08-08 Martin Rudalics <rudalics@gmx.at> | 2703 | 2007-08-08 Martin Rudalics <rudalics@gmx.at> |
| 2608 | 2704 | ||
| @@ -2669,8 +2765,8 @@ | |||
| 2669 | 2765 | ||
| 2670 | 2007-06-27 Richard Stallman <rms@gnu.org> | 2766 | 2007-06-27 Richard Stallman <rms@gnu.org> |
| 2671 | 2767 | ||
| 2672 | * files.texi (Format Conversion Piecemeal): Clarify | 2768 | * files.texi (Format Conversion Piecemeal): |
| 2673 | `after-insert-file-functions' calling convention. | 2769 | Clarify `after-insert-file-functions' calling convention. |
| 2674 | 2770 | ||
| 2675 | 2007-06-27 Michael Albinus <michael.albinus@gmx.de> | 2771 | 2007-06-27 Michael Albinus <michael.albinus@gmx.de> |
| 2676 | 2772 | ||
| @@ -2725,8 +2821,8 @@ | |||
| 2725 | 2821 | ||
| 2726 | 2007-05-30 Nick Roberts <nickrob@snap.net.nz> | 2822 | 2007-05-30 Nick Roberts <nickrob@snap.net.nz> |
| 2727 | 2823 | ||
| 2728 | * commands.texi (Click Events): Layout more logically. Describe | 2824 | * commands.texi (Click Events): Layout more logically. |
| 2729 | width and height. | 2825 | Describe width and height. |
| 2730 | (Drag Events, Motion Events): Update to new format for position. | 2826 | (Drag Events, Motion Events): Update to new format for position. |
| 2731 | 2827 | ||
| 2732 | 2007-06-02 Richard Stallman <rms@gnu.org> | 2828 | 2007-06-02 Richard Stallman <rms@gnu.org> |
| @@ -3132,8 +3228,8 @@ | |||
| 3132 | 3228 | ||
| 3133 | 2007-03-05 Richard Stallman <rms@gnu.org> | 3229 | 2007-03-05 Richard Stallman <rms@gnu.org> |
| 3134 | 3230 | ||
| 3135 | * variables.texi (File Local Variables): Update | 3231 | * variables.texi (File Local Variables): |
| 3136 | enable-local-variables values. | 3232 | Update enable-local-variables values. |
| 3137 | 3233 | ||
| 3138 | 2007-03-04 Richard Stallman <rms@gnu.org> | 3234 | 2007-03-04 Richard Stallman <rms@gnu.org> |
| 3139 | 3235 | ||
| @@ -3204,8 +3300,8 @@ | |||
| 3204 | 2007-02-03 Eli Zaretskii <eliz@gnu.org> | 3300 | 2007-02-03 Eli Zaretskii <eliz@gnu.org> |
| 3205 | 3301 | ||
| 3206 | * elisp.texi (Top): Make the detailed menu headers compliant with | 3302 | * elisp.texi (Top): Make the detailed menu headers compliant with |
| 3207 | Texinfo guidelines and with what texnfo-upd.el expects. Add | 3303 | Texinfo guidelines and with what texnfo-upd.el expects. |
| 3208 | comments to prevent people from inadvertently modifying the key | 3304 | Add comments to prevent people from inadvertently modifying the key |
| 3209 | parts needed by `texinfo-multiple-files-update'. | 3305 | parts needed by `texinfo-multiple-files-update'. |
| 3210 | 3306 | ||
| 3211 | 2007-02-02 Eli Zaretskii <eliz@gnu.org> | 3307 | 2007-02-02 Eli Zaretskii <eliz@gnu.org> |
| @@ -3292,8 +3388,8 @@ | |||
| 3292 | 3388 | ||
| 3293 | 2006-12-24 Richard Stallman <rms@gnu.org> | 3389 | 2006-12-24 Richard Stallman <rms@gnu.org> |
| 3294 | 3390 | ||
| 3295 | * customize.texi (Variable Definitions): Document | 3391 | * customize.texi (Variable Definitions): |
| 3296 | new name custom-add-frequent-value. | 3392 | Document new name custom-add-frequent-value. |
| 3297 | 3393 | ||
| 3298 | 2006-12-19 Kim F. Storm <storm@cua.dk> | 3394 | 2006-12-19 Kim F. Storm <storm@cua.dk> |
| 3299 | 3395 | ||
| @@ -3592,8 +3688,8 @@ | |||
| 3592 | 3688 | ||
| 3593 | 2006-09-01 Chong Yidong <cyd@stupidchicken.com> | 3689 | 2006-09-01 Chong Yidong <cyd@stupidchicken.com> |
| 3594 | 3690 | ||
| 3595 | * buffers.texi (Buffer Modification): Document | 3691 | * buffers.texi (Buffer Modification): |
| 3596 | buffer-chars-modified-tick. | 3692 | Document buffer-chars-modified-tick. |
| 3597 | 3693 | ||
| 3598 | 2006-08-31 Richard Stallman <rms@gnu.org> | 3694 | 2006-08-31 Richard Stallman <rms@gnu.org> |
| 3599 | 3695 | ||
| @@ -3655,7 +3751,7 @@ | |||
| 3655 | 2006-08-12 Chong Yidong <cyd@stupidchicken.com> | 3751 | 2006-08-12 Chong Yidong <cyd@stupidchicken.com> |
| 3656 | 3752 | ||
| 3657 | * text.texi (Near Point): Say "cursor" not "terminal cursor". | 3753 | * text.texi (Near Point): Say "cursor" not "terminal cursor". |
| 3658 | (Commands for Insertion): Removed split-line since it's not | 3754 | (Commands for Insertion): Remove split-line since it's not |
| 3659 | relevant for Lisp programming. | 3755 | relevant for Lisp programming. |
| 3660 | (Yank Commands): Rewrite introduction. | 3756 | (Yank Commands): Rewrite introduction. |
| 3661 | (Undo): Clarify. | 3757 | (Undo): Clarify. |
| @@ -3686,7 +3782,7 @@ | |||
| 3686 | (Major Mode Basics): Mention define-derived-mode explicitly. | 3782 | (Major Mode Basics): Mention define-derived-mode explicitly. |
| 3687 | (Major Mode Conventions): Rebinding RET is OK for some modes. | 3783 | (Major Mode Conventions): Rebinding RET is OK for some modes. |
| 3688 | Mention change-major-mode-hook and after-change-major-mode-hook. | 3784 | Mention change-major-mode-hook and after-change-major-mode-hook. |
| 3689 | (Example Major Modes): Moved to end of Modes section. | 3785 | (Example Major Modes): Move to end of Modes section. |
| 3690 | (Mode Line Basics): Clarify. | 3786 | (Mode Line Basics): Clarify. |
| 3691 | (Mode Line Data): Mention help-echo and local-map in strings. | 3787 | (Mode Line Data): Mention help-echo and local-map in strings. |
| 3692 | Explain reason for treatment of non-risky variables. | 3788 | Explain reason for treatment of non-risky variables. |
| @@ -4185,7 +4281,7 @@ | |||
| 4185 | 4281 | ||
| 4186 | 2006-05-25 Chong Yidong <cyd@stupidchicken.com> | 4282 | 2006-05-25 Chong Yidong <cyd@stupidchicken.com> |
| 4187 | 4283 | ||
| 4188 | * keymaps.texi (Key Sequences): Renamed from Keymap Terminology. | 4284 | * keymaps.texi (Key Sequences): Rename from Keymap Terminology. |
| 4189 | Explain string and vector representations of key sequences. | 4285 | Explain string and vector representations of key sequences. |
| 4190 | 4286 | ||
| 4191 | * keymaps.texi (Changing Key Bindings): | 4287 | * keymaps.texi (Changing Key Bindings): |
| @@ -4234,8 +4330,8 @@ | |||
| 4234 | 4330 | ||
| 4235 | 2006-05-15 Oliver Scholz <epameinondas@gmx.de> (tiny change) | 4331 | 2006-05-15 Oliver Scholz <epameinondas@gmx.de> (tiny change) |
| 4236 | 4332 | ||
| 4237 | * nonascii.texi (Explicit Encoding): Fix | 4333 | * nonascii.texi (Explicit Encoding): |
| 4238 | typo (encoding<->decoding). | 4334 | Fix typo (encoding<->decoding). |
| 4239 | 4335 | ||
| 4240 | 2006-05-14 Richard Stallman <rms@gnu.org> | 4336 | 2006-05-14 Richard Stallman <rms@gnu.org> |
| 4241 | 4337 | ||
| @@ -4285,8 +4381,8 @@ | |||
| 4285 | 4381 | ||
| 4286 | 2006-05-09 Richard Stallman <rms@gnu.org> | 4382 | 2006-05-09 Richard Stallman <rms@gnu.org> |
| 4287 | 4383 | ||
| 4288 | * variables.texi (File Local Variables): Document | 4384 | * variables.texi (File Local Variables): |
| 4289 | safe-local-eval-forms and safe-local-eval-function. | 4385 | Document safe-local-eval-forms and safe-local-eval-function. |
| 4290 | 4386 | ||
| 4291 | 2006-05-07 Kim F. Storm <storm@cua.dk> | 4387 | 2006-05-07 Kim F. Storm <storm@cua.dk> |
| 4292 | 4388 | ||
| @@ -4770,8 +4866,8 @@ | |||
| 4770 | 4866 | ||
| 4771 | 2005-12-03 Eli Zaretskii <eliz@gnu.org> | 4867 | 2005-12-03 Eli Zaretskii <eliz@gnu.org> |
| 4772 | 4868 | ||
| 4773 | * hooks.texi (Standard Hooks): Add index entries. Mention | 4869 | * hooks.texi (Standard Hooks): Add index entries. |
| 4774 | `compilation-finish-functions'. | 4870 | Mention `compilation-finish-functions'. |
| 4775 | 4871 | ||
| 4776 | 2005-11-27 Richard M. Stallman <rms@gnu.org> | 4872 | 2005-11-27 Richard M. Stallman <rms@gnu.org> |
| 4777 | 4873 | ||
| @@ -4994,8 +5090,8 @@ | |||
| 4994 | buffer-local. | 5090 | buffer-local. |
| 4995 | (Undo): Note that buffer-undo-list is buffer-local. | 5091 | (Undo): Note that buffer-undo-list is buffer-local. |
| 4996 | 5092 | ||
| 4997 | * windows.texi (Buffers and Windows): Document | 5093 | * windows.texi (Buffers and Windows): |
| 4998 | buffer-display-count. | 5094 | Document buffer-display-count. |
| 4999 | 5095 | ||
| 5000 | 2005-09-06 Richard M. Stallman <rms@gnu.org> | 5096 | 2005-09-06 Richard M. Stallman <rms@gnu.org> |
| 5001 | 5097 | ||
| @@ -5236,7 +5332,7 @@ | |||
| 5236 | 5332 | ||
| 5237 | * display.texi (Displaying Messages): New node, with most | 5333 | * display.texi (Displaying Messages): New node, with most |
| 5238 | of what was in The Echo Area. | 5334 | of what was in The Echo Area. |
| 5239 | (Progress): Moved under The Echo Area. | 5335 | (Progress): Move under The Echo Area. |
| 5240 | (Logging Messages): New node with new text. | 5336 | (Logging Messages): New node with new text. |
| 5241 | (Echo Area Customization): New node, the rest of what was | 5337 | (Echo Area Customization): New node, the rest of what was |
| 5242 | in The Echo Area. Document message-truncate-lines with @defvar. | 5338 | in The Echo Area. Document message-truncate-lines with @defvar. |
| @@ -6551,8 +6647,8 @@ | |||
| 6551 | (Scroll Bars): Add scroll-bar-mode and scroll-bar-width. | 6647 | (Scroll Bars): Add scroll-bar-mode and scroll-bar-width. |
| 6552 | (Usual Display): Move tab-width up. | 6648 | (Usual Display): Move tab-width up. |
| 6553 | 6649 | ||
| 6554 | * customize.texi (Variable Definitions): Replace | 6650 | * customize.texi (Variable Definitions): |
| 6555 | show-paren-mode example with tooltip-mode. | 6651 | Replace show-paren-mode example with tooltip-mode. |
| 6556 | (Simple Types, Composite Types, Defining New Types): | 6652 | (Simple Types, Composite Types, Defining New Types): |
| 6557 | Minor cleanups. | 6653 | Minor cleanups. |
| 6558 | 6654 | ||
| @@ -6788,8 +6884,8 @@ | |||
| 6788 | (Display Fringe Bitmaps): New node. | 6884 | (Display Fringe Bitmaps): New node. |
| 6789 | (Images): Add 'Image Slices' to menu. | 6885 | (Images): Add 'Image Slices' to menu. |
| 6790 | (Image Descriptors): Add `:pointer' and `:map' properties. | 6886 | (Image Descriptors): Add `:pointer' and `:map' properties. |
| 6791 | (Showing Images): Add slice arg to `insert-image'. Add | 6887 | (Showing Images): Add slice arg to `insert-image'. |
| 6792 | 'insert-sliced-image'. | 6888 | Add 'insert-sliced-image'. |
| 6793 | 6889 | ||
| 6794 | 2004-09-20 Richard M. Stallman <rms@gnu.org> | 6890 | 2004-09-20 Richard M. Stallman <rms@gnu.org> |
| 6795 | 6891 | ||
| @@ -6802,8 +6898,8 @@ | |||
| 6802 | 6898 | ||
| 6803 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> | 6899 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> |
| 6804 | 6900 | ||
| 6805 | * locals.texi (Standard Buffer-Local Variables): Add | 6901 | * locals.texi (Standard Buffer-Local Variables): |
| 6806 | `buffer-auto-save-file-format'. | 6902 | Add `buffer-auto-save-file-format'. |
| 6807 | * internals.texi (Buffer Internals): Describe new | 6903 | * internals.texi (Buffer Internals): Describe new |
| 6808 | auto_save_file_format field of the buffer structure. | 6904 | auto_save_file_format field of the buffer structure. |
| 6809 | * files.texi (Format Conversion): `auto-save-file-format' has been | 6905 | * files.texi (Format Conversion): `auto-save-file-format' has been |
| @@ -7191,8 +7287,8 @@ | |||
| 7191 | 7287 | ||
| 7192 | 2004-04-05 Jesper Harder <harder@ifa.au.dk> | 7288 | 2004-04-05 Jesper Harder <harder@ifa.au.dk> |
| 7193 | 7289 | ||
| 7194 | * variables.texi (Variable Aliases): Mention | 7290 | * variables.texi (Variable Aliases): |
| 7195 | cyclic-variable-indirection. | 7291 | Mention cyclic-variable-indirection. |
| 7196 | 7292 | ||
| 7197 | * errors.texi (Standard Errors): Ditto. | 7293 | * errors.texi (Standard Errors): Ditto. |
| 7198 | 7294 | ||
| @@ -7371,7 +7467,7 @@ | |||
| 7371 | 7467 | ||
| 7372 | 2004-02-07 Jan Djärv <jan.h.d@swipnet.se> | 7468 | 2004-02-07 Jan Djärv <jan.h.d@swipnet.se> |
| 7373 | 7469 | ||
| 7374 | * positions.texi (Text Lines): Added missing end defun. | 7470 | * positions.texi (Text Lines): Add missing end defun. |
| 7375 | 7471 | ||
| 7376 | 2004-02-07 Kim F. Storm <storm@cua.dk> | 7472 | 2004-02-07 Kim F. Storm <storm@cua.dk> |
| 7377 | 7473 | ||
| @@ -7394,12 +7490,12 @@ | |||
| 7394 | read-minibuffer. | 7490 | read-minibuffer. |
| 7395 | (Minibuffer History): Clarify description of cons values for | 7491 | (Minibuffer History): Clarify description of cons values for |
| 7396 | HISTORY arguments. | 7492 | HISTORY arguments. |
| 7397 | (Basic Completion): Various corrections and clarifications. Add | 7493 | (Basic Completion): Various corrections and clarifications. |
| 7398 | completion-regexp-list. | 7494 | Add completion-regexp-list. |
| 7399 | (Minibuffer Completion): Correct and clarify description of | 7495 | (Minibuffer Completion): Correct and clarify description of |
| 7400 | completing-read. | 7496 | completing-read. |
| 7401 | (Completion Commands): Mention Partial Completion mode. Various | 7497 | (Completion Commands): Mention Partial Completion mode. |
| 7402 | other minor changes. | 7498 | Various other minor changes. |
| 7403 | (High-Level Completion): Various corrections and clarifications. | 7499 | (High-Level Completion): Various corrections and clarifications. |
| 7404 | (Reading File Names): Ditto. | 7500 | (Reading File Names): Ditto. |
| 7405 | (Minibuffer Misc): Ditto. | 7501 | (Minibuffer Misc): Ditto. |
| @@ -7474,8 +7570,8 @@ | |||
| 7474 | 7570 | ||
| 7475 | * functions.texi: Various small changes in addition to the | 7571 | * functions.texi: Various small changes in addition to the |
| 7476 | following. | 7572 | following. |
| 7477 | (What Is a Function): `functionp' returns nil for macros. Clarify | 7573 | (What Is a Function): `functionp' returns nil for macros. |
| 7478 | behavior of this and following functions for symbol arguments. | 7574 | Clarify behavior of this and following functions for symbol arguments. |
| 7479 | (Function Documentation): Add `\' in front of (fn @var{arglist}) | 7575 | (Function Documentation): Add `\' in front of (fn @var{arglist}) |
| 7480 | and explain why. | 7576 | and explain why. |
| 7481 | (Defining Functions): Mention DOCSTRING argument to `defalias'. | 7577 | (Defining Functions): Mention DOCSTRING argument to `defalias'. |
| @@ -8271,7 +8367,7 @@ | |||
| 8271 | 8367 | ||
| 8272 | 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com> | 8368 | 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com> |
| 8273 | 8369 | ||
| 8274 | * os.texi (System Environment): Added cygwin system-type. | 8370 | * os.texi (System Environment): Add cygwin system-type. |
| 8275 | 8371 | ||
| 8276 | 2003-01-25 Richard M. Stallman <rms@gnu.org> | 8372 | 2003-01-25 Richard M. Stallman <rms@gnu.org> |
| 8277 | 8373 | ||
| @@ -8304,7 +8400,7 @@ | |||
| 8304 | 8400 | ||
| 8305 | * README: Target for Info file is `make info'. | 8401 | * README: Target for Info file is `make info'. |
| 8306 | 8402 | ||
| 8307 | * files.texi (File Name Components): Fixed typos in | 8403 | * files.texi (File Name Components): Fix typos in |
| 8308 | `file-name-sans-extension'. | 8404 | `file-name-sans-extension'. |
| 8309 | (Magic File Names): Complete list of operations for magic file | 8405 | (Magic File Names): Complete list of operations for magic file |
| 8310 | name handlers. | 8406 | name handlers. |
| @@ -8320,7 +8416,7 @@ | |||
| 8320 | 8416 | ||
| 8321 | 2002-08-05 Per Abrahamsen <abraham@dina.kvl.dk> | 8417 | 2002-08-05 Per Abrahamsen <abraham@dina.kvl.dk> |
| 8322 | 8418 | ||
| 8323 | * customize.texi (Splicing into Lists): Fixed example. | 8419 | * customize.texi (Splicing into Lists): Fix example. |
| 8324 | Reported by Fabrice Bauzac <fabrice.bauzac@wanadoo.fr>. | 8420 | Reported by Fabrice Bauzac <fabrice.bauzac@wanadoo.fr>. |
| 8325 | 8421 | ||
| 8326 | 2002-06-17 Juanma Barranquero <lektu@terra.es> | 8422 | 2002-06-17 Juanma Barranquero <lektu@terra.es> |
| @@ -8360,8 +8456,8 @@ | |||
| 8360 | 8456 | ||
| 8361 | 2001-11-17 Eli Zaretskii <eliz@is.elta.co.il> | 8457 | 2001-11-17 Eli Zaretskii <eliz@is.elta.co.il> |
| 8362 | 8458 | ||
| 8363 | * permute-index: Don't depend on csh-specific features. Replace | 8459 | * permute-index: Don't depend on csh-specific features. |
| 8364 | the interpreter name with /bin/sh. | 8460 | Replace the interpreter name with /bin/sh. |
| 8365 | 8461 | ||
| 8366 | * two-volume-cross-refs.txt: New file. | 8462 | * two-volume-cross-refs.txt: New file. |
| 8367 | * two.el: New file. | 8463 | * two.el: New file. |
| @@ -8499,8 +8595,8 @@ | |||
| 8499 | * numbers.texi (Integer Basics): Document CL style read syntax for | 8595 | * numbers.texi (Integer Basics): Document CL style read syntax for |
| 8500 | integers in bases other than 10. | 8596 | integers in bases other than 10. |
| 8501 | 8597 | ||
| 8502 | * positions.texi (List Motion): Document | 8598 | * positions.texi (List Motion): |
| 8503 | open-paren-in-column-0-is-defun-start. | 8599 | Document open-paren-in-column-0-is-defun-start. |
| 8504 | 8600 | ||
| 8505 | * lists.texi (Sets And Lists): Document member-ignore-case. | 8601 | * lists.texi (Sets And Lists): Document member-ignore-case. |
| 8506 | 8602 | ||
| @@ -8695,7 +8791,7 @@ | |||
| 8695 | 1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> | 8791 | 1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| 8696 | 8792 | ||
| 8697 | * Makefile (VERSION): Update version number. | 8793 | * Makefile (VERSION): Update version number. |
| 8698 | (maintainer-clean): Renamed from realclean. | 8794 | (maintainer-clean): Rename from realclean. |
| 8699 | 8795 | ||
| 8700 | 1995-06-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> | 8796 | 1995-06-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> |
| 8701 | 8797 | ||
| @@ -8767,11 +8863,11 @@ | |||
| 8767 | 8863 | ||
| 8768 | 1991-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) | 8864 | 1991-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) |
| 8769 | 8865 | ||
| 8770 | * Makefile (srcs): Added index.perm. | 8866 | * Makefile (srcs): Add index.perm. |
| 8771 | (elisp.dvi): Remove erroneous shell comment. | 8867 | (elisp.dvi): Remove erroneous shell comment. |
| 8772 | Expect output of permute-index in permuted.fns. | 8868 | Expect output of permute-index in permuted.fns. |
| 8773 | Save old elisp.aux in elisp.oaux. | 8869 | Save old elisp.aux in elisp.oaux. |
| 8774 | (clean): Added index.texi to be deleted. | 8870 | (clean): Add index.texi to be deleted. |
| 8775 | 8871 | ||
| 8776 | 1990-08-11 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | 8872 | 1990-08-11 Richard Stallman (rms@sugar-bombs.ai.mit.edu) |
| 8777 | 8873 | ||
| @@ -8833,8 +8929,7 @@ | |||
| 8833 | ;; coding: utf-8 | 8929 | ;; coding: utf-8 |
| 8834 | ;; End: | 8930 | ;; End: |
| 8835 | 8931 | ||
| 8836 | Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 8932 | Copyright (C) 1998-2011 Free Software Foundation, Inc. |
| 8837 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 8838 | 8933 | ||
| 8839 | This file is part of GNU Emacs. | 8934 | This file is part of GNU Emacs. |
| 8840 | 8935 | ||
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index be8b6ca2c9e..a9664a4e197 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | # Makefile for the GNU Emacs Lisp Reference Manual. | 1 | # Makefile for the GNU Emacs Lisp Reference Manual. |
| 2 | 2 | ||
| 3 | # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, | 3 | # Copyright (C) 1990-1996, 1998-2011 Free Software Foundation, Inc. |
| 4 | # 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | # Free Software Foundation, Inc. | ||
| 6 | 4 | ||
| 7 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 8 | 6 | ||
| @@ -32,11 +30,15 @@ texinfodir = $(srcdir)/../misc | |||
| 32 | # Directory with emacsver.texi. | 30 | # Directory with emacsver.texi. |
| 33 | emacsdir = $(srcdir)/../emacs | 31 | emacsdir = $(srcdir)/../emacs |
| 34 | 32 | ||
| 35 | MAKEINFO = makeinfo --force -I $(emacsdir) -I $(srcdir) | 33 | MAKEINFO = @MAKEINFO@ |
| 34 | MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir) | ||
| 36 | TEXI2DVI = texi2dvi | 35 | TEXI2DVI = texi2dvi |
| 37 | TEXI2PDF = texi2pdf | 36 | TEXI2PDF = texi2pdf |
| 38 | DVIPS = dvips | 37 | DVIPS = dvips |
| 39 | 38 | ||
| 39 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \ | ||
| 40 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" | ||
| 41 | |||
| 40 | # List of all the texinfo files in the manual: | 42 | # List of all the texinfo files in the manual: |
| 41 | 43 | ||
| 42 | srcs = \ | 44 | srcs = \ |
| @@ -106,19 +108,19 @@ ps: elisp.ps | |||
| 106 | 108 | ||
| 107 | $(infodir)/elisp: $(srcs) | 109 | $(infodir)/elisp: $(srcs) |
| 108 | $(mkinfodir) | 110 | $(mkinfodir) |
| 109 | $(MAKEINFO) -o $@ $< | 111 | $(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $< |
| 110 | 112 | ||
| 111 | elisp.dvi: $(srcs) | 113 | elisp.dvi: $(srcs) |
| 112 | $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $< | 114 | $(ENVADD) $(TEXI2DVI) $< |
| 113 | 115 | ||
| 114 | elisp.html: $(srcs) | 116 | elisp.html: $(srcs) |
| 115 | $(MAKEINFO) --html -o $@ $< | 117 | $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $< |
| 116 | 118 | ||
| 117 | elisp.ps: elisp.dvi | 119 | elisp.ps: elisp.dvi |
| 118 | $(DVIPS) -o $@ $< | 120 | $(DVIPS) -o $@ $< |
| 119 | 121 | ||
| 120 | elisp.pdf: $(srcs) | 122 | elisp.pdf: $(srcs) |
| 121 | $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $< | 123 | $(ENVADD) $(TEXI2PDF) $< |
| 122 | 124 | ||
| 123 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean | 125 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean |
| 124 | 126 | ||
diff --git a/doc/lispref/README b/doc/lispref/README index 5b052b9d4b3..a9c0922640b 100644 --- a/doc/lispref/README +++ b/doc/lispref/README | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 1 | Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 2 | Free Software Foundation, Inc. | ||
| 3 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 4 | 3 | ||
| 5 | 4 | ||
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi index 90da5aaa488..57030559d0b 100644 --- a/doc/lispref/abbrevs.texi +++ b/doc/lispref/abbrevs.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1999, 2001, 2002, 2003, | 3 | @c Copyright (C) 1990-1994, 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/abbrevs | 5 | @setfilename ../../info/abbrevs |
| 7 | @node Abbrevs, Processes, Syntax Tables, Top | 6 | @node Abbrevs, Processes, Syntax Tables, Top |
| @@ -511,8 +510,3 @@ This property holds a counter incremented each time a new abbrev is | |||
| 511 | added to the table. | 510 | added to the table. |
| 512 | 511 | ||
| 513 | @end table | 512 | @end table |
| 514 | |||
| 515 | |||
| 516 | @ignore | ||
| 517 | arch-tag: 5ffdbe08-2cd4-48ec-a5a8-080f95756eec | ||
| 518 | @end ignore | ||
diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi index 70aa22c347d..29356381229 100644 --- a/doc/lispref/advice.texi +++ b/doc/lispref/advice.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/advising | 5 | @setfilename ../../info/advising |
| 7 | @node Advising Functions, Debugging, Byte Compilation, Top | 6 | @node Advising Functions, Debugging, Byte Compilation, Top |
| @@ -777,7 +776,3 @@ pieces of advice is the same. The only difference is that | |||
| 777 | executed even if some previous piece of advice had an error or a | 776 | executed even if some previous piece of advice had an error or a |
| 778 | non-local exit. If any around-advice is protected, then the whole | 777 | non-local exit. If any around-advice is protected, then the whole |
| 779 | around-advice onion is protected as a result. | 778 | around-advice onion is protected as a result. |
| 780 | |||
| 781 | @ignore | ||
| 782 | arch-tag: 80c135c2-f1c3-4f8d-aa85-f8d8770d307f | ||
| 783 | @end ignore | ||
diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi index 92e0432b842..bb1e42c9309 100644 --- a/doc/lispref/anti.texi +++ b/doc/lispref/anti.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 3 | @c Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc. |
| 4 | @c 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | 5 | ||
| 7 | @c This node must have no pointers. | 6 | @c This node must have no pointers. |
| @@ -154,7 +153,3 @@ Many variables have been removed, including @code{read-circle}, | |||
| 154 | @code{inhibit-changing-match-data}, @code{wrap-prefix}, and | 153 | @code{inhibit-changing-match-data}, @code{wrap-prefix}, and |
| 155 | @code{line-prefix}, | 154 | @code{line-prefix}, |
| 156 | @end itemize | 155 | @end itemize |
| 157 | |||
| 158 | @ignore | ||
| 159 | arch-tag: 1d0ef137-2bad-430e-ae8e-d820d569b5a6 | ||
| 160 | @end ignore | ||
diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi index 639ad27fd30..3add7b174d2 100644 --- a/doc/lispref/back.texi +++ b/doc/lispref/back.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | @c Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @c | 5 | @c |
| 7 | @c %**start of header | 6 | @c %**start of header |
| @@ -36,7 +35,3 @@ are peculiar to Emacs Lisp or relate specifically to editing. | |||
| 36 | 35 | ||
| 37 | @hfil | 36 | @hfil |
| 38 | @bye | 37 | @bye |
| 39 | |||
| 40 | @ignore | ||
| 41 | arch-tag: ac7694c8-1f02-4b42-9531-33ba13b179e1 | ||
| 42 | @end ignore | ||
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi index 7d6ae233f2b..aad0cbc146a 100644 --- a/doc/lispref/backups.texi +++ b/doc/lispref/backups.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2001, 2002, 2003, | 3 | @c Copyright (C) 1990-1995, 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/backups | 5 | @setfilename ../../info/backups |
| 7 | @node Backups and Auto-Saving, Buffers, Files, Top | 6 | @node Backups and Auto-Saving, Buffers, Files, Top |
| @@ -88,10 +87,8 @@ save disk space. (You would put this code in your init file.) | |||
| 88 | @smallexample | 87 | @smallexample |
| 89 | @group | 88 | @group |
| 90 | (add-hook 'rmail-mode-hook | 89 | (add-hook 'rmail-mode-hook |
| 91 | (function (lambda () | 90 | (lambda () |
| 92 | (make-local-variable | 91 | (set (make-local-variable 'make-backup-files) nil))) |
| 93 | 'make-backup-files) | ||
| 94 | (setq make-backup-files nil)))) | ||
| 95 | @end group | 92 | @end group |
| 96 | @end smallexample | 93 | @end smallexample |
| 97 | @end defopt | 94 | @end defopt |
| @@ -754,7 +751,3 @@ This normal hook is run by @code{revert-buffer} after inserting | |||
| 754 | the modified contents---but only if @code{revert-buffer-function} is | 751 | the modified contents---but only if @code{revert-buffer-function} is |
| 755 | @code{nil}. | 752 | @code{nil}. |
| 756 | @end defvar | 753 | @end defvar |
| 757 | |||
| 758 | @ignore | ||
| 759 | arch-tag: 295a6321-e5ab-46d5-aef5-0bb4f447a67f | ||
| 760 | @end ignore | ||
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 8811178fe92..07889cdbaa3 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/buffers | 6 | @setfilename ../../info/buffers |
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index d83396750ca..25fd50b1591 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/commands | 6 | @setfilename ../../info/commands |
| @@ -3386,7 +3385,3 @@ This normal hook (@pxref{Standard Hooks}) is run when a keyboard | |||
| 3386 | macro terminates, regardless of what caused it to terminate (reaching | 3385 | macro terminates, regardless of what caused it to terminate (reaching |
| 3387 | the macro end or an error which ended the macro prematurely). | 3386 | the macro end or an error which ended the macro prematurely). |
| 3388 | @end defvar | 3387 | @end defvar |
| 3389 | |||
| 3390 | @ignore | ||
| 3391 | arch-tag: e34944ad-7d5c-4980-be00-36a5fe54d4b1 | ||
| 3392 | @end ignore | ||
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index 69b57f19ea7..f9f0e6662cf 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1994, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/compile | 5 | @setfilename ../../info/compile |
| 7 | @node Byte Compilation, Advising Functions, Loading, Top | 6 | @node Byte Compilation, Advising Functions, Loading, Top |
| @@ -790,7 +789,3 @@ The @code{silly-loop} function is somewhat more complex: | |||
| 790 | @end group | 789 | @end group |
| 791 | @end example | 790 | @end example |
| 792 | 791 | ||
| 793 | |||
| 794 | @ignore | ||
| 795 | arch-tag: f78e3050-2f0a-4dee-be27-d9979a0a2289 | ||
| 796 | @end ignore | ||
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 16564677f32..b6fdb9dbcbd 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/control | 5 | @setfilename ../../info/control |
| 7 | @node Control Structures, Variables, Evaluation, Top | 6 | @node Control Structures, Variables, Evaluation, Top |
| @@ -1319,7 +1318,3 @@ quit, and the quit happens immediately after the function | |||
| 1319 | @code{ftp-setup-buffer} returns but before the variable @code{process} is | 1318 | @code{ftp-setup-buffer} returns but before the variable @code{process} is |
| 1320 | set, the process will not be killed. There is no easy way to fix this bug, | 1319 | set, the process will not be killed. There is no easy way to fix this bug, |
| 1321 | but at least it is very unlikely. | 1320 | but at least it is very unlikely. |
| 1322 | |||
| 1323 | @ignore | ||
| 1324 | arch-tag: 8abc30d4-4d3a-47f9-b908-e9e971c18c6d | ||
| 1325 | @end ignore | ||
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index bfd45518bc8..2f1ea055f82 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1997-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/customize | 5 | @setfilename ../../info/customize |
| 7 | @node Customization, Loading, Macros, Top | 6 | @node Customization, Loading, Macros, Top |
| @@ -1282,7 +1281,3 @@ the inferior widgets will convert @emph{their} inferior widgets. If | |||
| 1282 | the data structure is itself recursive, this conversion is an infinite | 1281 | the data structure is itself recursive, this conversion is an infinite |
| 1283 | recursion. The @code{lazy} widget prevents the recursion: it convert | 1282 | recursion. The @code{lazy} widget prevents the recursion: it convert |
| 1284 | its @code{:type} argument only when needed. | 1283 | its @code{:type} argument only when needed. |
| 1285 | |||
| 1286 | @ignore | ||
| 1287 | arch-tag: d1b8fad3-f48c-4ce4-a402-f73b5ef19bd2 | ||
| 1288 | @end ignore | ||
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 3d77a5fe0d5..ed146453df7 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2001, 2002, 2003, | 3 | @c Copyright (C) 1990-1994, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/debugging | 5 | @setfilename ../../info/debugging |
| 7 | @node Debugging, Read and Print, Advising Functions, Top | 6 | @node Debugging, Read and Print, Advising Functions, Top |
| @@ -817,7 +816,3 @@ the error. | |||
| 817 | successfully, then point is located at the end of the form. In this | 816 | successfully, then point is located at the end of the form. In this |
| 818 | case, this technique can't localize the error precisely, but can still | 817 | case, this technique can't localize the error precisely, but can still |
| 819 | show you which function to check. | 818 | show you which function to check. |
| 820 | |||
| 821 | @ignore | ||
| 822 | arch-tag: ddc57378-b0e6-4195-b7b6-43f8777395a7 | ||
| 823 | @end ignore | ||
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 6e872ad4233..9bc80a77742 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | ||
| 6 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/display | 5 | @setfilename ../../info/display |
| 8 | @node Display, System Interface, Processes, Top | 6 | @node Display, System Interface, Processes, Top |
| @@ -3892,6 +3890,13 @@ position as that text. It is equivalent to using just @var{string}, | |||
| 3892 | but it is done as a special case of marginal display (@pxref{Display | 3890 | but it is done as a special case of marginal display (@pxref{Display |
| 3893 | Margins}). | 3891 | Margins}). |
| 3894 | 3892 | ||
| 3893 | @item (left-fringe @var{bitmap} @r{[}@var{face}@r{]}) | ||
| 3894 | @itemx (right-fringe @var{bitmap} @r{[}@var{face}@r{]}) | ||
| 3895 | This display specification on any character of a line of text causes | ||
| 3896 | the specified @var{bitmap} be displayed in the left or right fringes | ||
| 3897 | for that line. The optional @var{face} specifies the colors to be | ||
| 3898 | used for the bitmap. @xref{Fringe Bitmaps}, for the details. | ||
| 3899 | |||
| 3895 | @item (space-width @var{factor}) | 3900 | @item (space-width @var{factor}) |
| 3896 | This display specification affects all the space characters within the | 3901 | This display specification affects all the space characters within the |
| 3897 | text that has the specification. It displays all of these spaces | 3902 | text that has the specification. It displays all of these spaces |
| @@ -5005,8 +5010,9 @@ and returns it. | |||
| 5005 | button actually part of the text instead of being a property of the | 5010 | button actually part of the text instead of being a property of the |
| 5006 | buffer. Buttons using text properties do not create markers into the | 5011 | buffer. Buttons using text properties do not create markers into the |
| 5007 | buffer, which is important for speed when you use extremely large | 5012 | buffer, which is important for speed when you use extremely large |
| 5008 | numbers of buttons. Both functions return the position of the start | 5013 | numbers of buttons. (However, if there is an existing face text |
| 5009 | of the new button: | 5014 | property at the site of the button, the button face may not be visible.) |
| 5015 | Both functions return the position of the start of the new button: | ||
| 5010 | 5016 | ||
| 5011 | @defun make-text-button beg end &rest properties | 5017 | @defun make-text-button beg end &rest properties |
| 5012 | This makes a button from @var{beg} to @var{end} in the current buffer, using | 5018 | This makes a button from @var{beg} to @var{end} in the current buffer, using |
| @@ -5947,7 +5953,3 @@ This hook is used for internal purposes: setting up communication with | |||
| 5947 | the window system, and creating the initial window. Users should not | 5953 | the window system, and creating the initial window. Users should not |
| 5948 | interfere with it. | 5954 | interfere with it. |
| 5949 | @end defvar | 5955 | @end defvar |
| 5950 | |||
| 5951 | @ignore | ||
| 5952 | arch-tag: ffdf5714-7ecf-415b-9023-fbc6b409c2c6 | ||
| 5953 | @end ignore | ||
diff --git a/doc/lispref/doclicense.texi b/doc/lispref/doclicense.texi index 9adddffba98..0c2d47827a9 100644 --- a/doc/lispref/doclicense.texi +++ b/doc/lispref/doclicense.texi | |||
| @@ -508,7 +508,3 @@ to permit their use in free software. | |||
| 508 | @c Local Variables: | 508 | @c Local Variables: |
| 509 | @c ispell-local-pdict: "ispell-dict" | 509 | @c ispell-local-pdict: "ispell-dict" |
| 510 | @c End: | 510 | @c End: |
| 511 | |||
| 512 | @ignore | ||
| 513 | arch-tag: 9014cf6e-f3c4-401d-b8da-4fe52723984c | ||
| 514 | @end ignore | ||
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 3733a8fb105..391c22ba098 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @comment -*-texinfo-*- | 1 | @comment -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1992, 1993, 1994, 1998, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1992-1994, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | 5 | ||
| 7 | @c This file can also be used by an independent Edebug User | 6 | @c This file can also be used by an independent Edebug User |
| @@ -1588,7 +1587,3 @@ If non-@code{nil}, an expression to test for at every stop point. If | |||
| 1588 | the result is non-@code{nil}, then break. Errors are ignored. | 1587 | the result is non-@code{nil}, then break. Errors are ignored. |
| 1589 | @xref{Global Break Condition}. | 1588 | @xref{Global Break Condition}. |
| 1590 | @end defopt | 1589 | @end defopt |
| 1591 | |||
| 1592 | @ignore | ||
| 1593 | arch-tag: 74842db8-019f-4818-b5a4-b2de878e57fd | ||
| 1594 | @end ignore | ||
diff --git a/doc/lispref/elisp-covers.texi b/doc/lispref/elisp-covers.texi index 6efc3e34129..92dfb7a074f 100644 --- a/doc/lispref/elisp-covers.texi +++ b/doc/lispref/elisp-covers.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | @c Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @c | 5 | @c |
| 7 | @comment %**start of header | 6 | @comment %**start of header |
| @@ -251,7 +250,3 @@ | |||
| 251 | 250 | ||
| 252 | @end titlepage | 251 | @end titlepage |
| 253 | @bye | 252 | @bye |
| 254 | |||
| 255 | @ignore | ||
| 256 | arch-tag: 02d65d63-3b64-49bc-a5c0-bfd5eabb6c98 | ||
| 257 | @end ignore | ||
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 252c6afb1bd..1f4409738e2 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -44,8 +44,7 @@ | |||
| 44 | This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@* | 44 | This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@* |
| 45 | corresponding to Emacs version @value{EMACSVER}. | 45 | corresponding to Emacs version @value{EMACSVER}. |
| 46 | 46 | ||
| 47 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, | 47 | Copyright @copyright{} 1990-1996, 1998-2011 Free Software |
| 48 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software | ||
| 49 | Foundation, Inc. | 48 | Foundation, Inc. |
| 50 | 49 | ||
| 51 | @quotation | 50 | @quotation |
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index b1b1747d86c..2c7549d0443 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1993, 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/errors | 5 | @setfilename ../../info/errors |
| 7 | @node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top | 6 | @node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top |
| @@ -203,7 +202,3 @@ This is a subcategory of @code{domain-error}.@* | |||
| 203 | This is a subcategory of @code{domain-error}.@* | 202 | This is a subcategory of @code{domain-error}.@* |
| 204 | @xref{Math Functions}. | 203 | @xref{Math Functions}. |
| 205 | @end table | 204 | @end table |
| 206 | |||
| 207 | @ignore | ||
| 208 | arch-tag: 717c6048-5d9d-4c7d-9a62-df57390b6f19 | ||
| 209 | @end ignore | ||
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index 6ed38f45dc8..d44fe5bb95b 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 2001, 2002, 2003, | 3 | @c Copyright (C) 1990-1994, 1998, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/eval | 5 | @setfilename ../../info/eval |
| 7 | @node Evaluation, Control Structures, Symbols, Top | 6 | @node Evaluation, Control Structures, Symbols, Top |
| @@ -748,7 +747,3 @@ particular elements, like this: | |||
| 748 | @end group | 747 | @end group |
| 749 | @end example | 748 | @end example |
| 750 | @end defvar | 749 | @end defvar |
| 751 | |||
| 752 | @ignore | ||
| 753 | arch-tag: f723a4e0-31b3-453f-8afc-0bf8fd276d57 | ||
| 754 | @end ignore | ||
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 2b539f00975..46ebced7a32 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/files | 6 | @setfilename ../../info/files |
| @@ -1906,51 +1905,22 @@ Don't try concatenating a slash by hand, as in | |||
| 1906 | because this is not portable. Always use | 1905 | because this is not portable. Always use |
| 1907 | @code{file-name-as-directory}. | 1906 | @code{file-name-as-directory}. |
| 1908 | 1907 | ||
| 1909 | @cindex directory name abbreviation | ||
| 1910 | Directory name abbreviations are useful for directories that are | ||
| 1911 | normally accessed through symbolic links. Sometimes the users recognize | ||
| 1912 | primarily the link's name as ``the name'' of the directory, and find it | ||
| 1913 | annoying to see the directory's ``real'' name. If you define the link | ||
| 1914 | name as an abbreviation for the ``real'' name, Emacs shows users the | ||
| 1915 | abbreviation instead. | ||
| 1916 | |||
| 1917 | @defopt directory-abbrev-alist | ||
| 1918 | The variable @code{directory-abbrev-alist} contains an alist of | ||
| 1919 | abbreviations to use for file directories. Each element has the form | ||
| 1920 | @code{(@var{from} . @var{to})}, and says to replace @var{from} with | ||
| 1921 | @var{to} when it appears in a directory name. The @var{from} string is | ||
| 1922 | actually a regular expression; it should always start with @samp{\`}. | ||
| 1923 | The @var{to} string should be an ordinary absolute directory name. Do | ||
| 1924 | not use @samp{~} to stand for a home directory in that string. The | ||
| 1925 | function @code{abbreviate-file-name} performs these substitutions. | ||
| 1926 | |||
| 1927 | You can set this variable in @file{site-init.el} to describe the | ||
| 1928 | abbreviations appropriate for your site. | ||
| 1929 | |||
| 1930 | Here's an example, from a system on which file system @file{/home/fsf} | ||
| 1931 | and so on are normally accessed through symbolic links named @file{/fsf} | ||
| 1932 | and so on. | ||
| 1933 | |||
| 1934 | @example | ||
| 1935 | (("\\`/home/fsf" . "/fsf") | ||
| 1936 | ("\\`/home/gp" . "/gp") | ||
| 1937 | ("\\`/home/gd" . "/gd")) | ||
| 1938 | @end example | ||
| 1939 | @end defopt | ||
| 1940 | |||
| 1941 | To convert a directory name to its abbreviation, use this | 1908 | To convert a directory name to its abbreviation, use this |
| 1942 | function: | 1909 | function: |
| 1943 | 1910 | ||
| 1944 | @defun abbreviate-file-name filename | 1911 | @defun abbreviate-file-name filename |
| 1945 | @anchor{Definition of abbreviate-file-name} | 1912 | @anchor{Definition of abbreviate-file-name} |
| 1946 | This function applies abbreviations from @code{directory-abbrev-alist} | 1913 | This function returns an abbreviated form of @var{filename}. It |
| 1947 | to its argument, and also substitutes @samp{~} for the user's home | 1914 | applies the abbreviations specified in @code{directory-abbrev-alist} |
| 1948 | directory if the argument names a file in the home directory or one of | 1915 | (@pxref{File Aliases,,File Aliases, emacs, The GNU Emacs Manual}), |
| 1949 | its subdirectories. (If the home directory is a root directory, it is | 1916 | then substitutes @samp{~} for the user's home directory if the |
| 1950 | not replaced with @samp{~}, because this does not make the result | 1917 | argument names a file in the home directory or one of its |
| 1951 | shorter on many systems.) You can use it for directory names and for | 1918 | subdirectories. If the home directory is a root directory, it is not |
| 1952 | file names, because it recognizes abbreviations even as part of the | 1919 | replaced with @samp{~}, because this does not make the result shorter |
| 1953 | name. | 1920 | on many systems. |
| 1921 | |||
| 1922 | You can use this function for directory names and for file names, | ||
| 1923 | because it recognizes abbreviations even as part of the name. | ||
| 1954 | @end defun | 1924 | @end defun |
| 1955 | 1925 | ||
| 1956 | @node File Name Expansion | 1926 | @node File Name Expansion |
| @@ -3187,7 +3157,3 @@ will produce good, general extensions we can install in Emacs. | |||
| 3187 | names or values---because a program that general is probably difficult | 3157 | names or values---because a program that general is probably difficult |
| 3188 | to write, and slow. Instead, choose a set of possible data types that | 3158 | to write, and slow. Instead, choose a set of possible data types that |
| 3189 | are reasonably flexible, and not too hard to encode. | 3159 | are reasonably flexible, and not too hard to encode. |
| 3190 | |||
| 3191 | @ignore | ||
| 3192 | arch-tag: 141f74ce-6ae3-40dc-a6c4-ef83fc4ec35c | ||
| 3193 | @end ignore | ||
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 4c44d0a6439..92969d8259c 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/frames | 6 | @setfilename ../../info/frames |
| @@ -1791,9 +1790,13 @@ without actually displaying or popping up the menu. | |||
| 1791 | The argument @var{menu} says what to display in the menu. It can be a | 1790 | The argument @var{menu} says what to display in the menu. It can be a |
| 1792 | keymap or a list of keymaps (@pxref{Menu Keymaps}). In this case, the | 1791 | keymap or a list of keymaps (@pxref{Menu Keymaps}). In this case, the |
| 1793 | return value is the list of events corresponding to the user's choice. | 1792 | return value is the list of events corresponding to the user's choice. |
| 1794 | (This list has more than one element if the choice occurred in a | 1793 | This list has more than one element if the choice occurred in a |
| 1795 | submenu.) Note that @code{x-popup-menu} does not actually execute the | 1794 | submenu. (Note that @code{x-popup-menu} does not actually execute the |
| 1796 | command bound to that sequence of events. | 1795 | command bound to that sequence of events.) On toolkits that support |
| 1796 | menu titles, the title is taken from the prompt string of @var{menu} | ||
| 1797 | if @var{menu} is a keymap, or from the prompt string of the first | ||
| 1798 | keymap in @var{menu} if it is a list of keymaps (@pxref{Defining | ||
| 1799 | Menus}). | ||
| 1797 | 1800 | ||
| 1798 | Alternatively, @var{menu} can have the following form: | 1801 | Alternatively, @var{menu} can have the following form: |
| 1799 | 1802 | ||
| @@ -2477,7 +2480,3 @@ The functions @code{x-pixel-width} and @code{x-pixel-height} return the | |||
| 2477 | width and height of an X Window frame, measured in pixels. | 2480 | width and height of an X Window frame, measured in pixels. |
| 2478 | @end ignore | 2481 | @end ignore |
| 2479 | 2482 | ||
| 2480 | |||
| 2481 | @ignore | ||
| 2482 | arch-tag: 94977df6-3dca-4730-b57b-c6329e9282ba | ||
| 2483 | @end ignore | ||
diff --git a/doc/lispref/front-cover-1.texi b/doc/lispref/front-cover-1.texi index 5c9f4351f42..56d0f2b1c2d 100644 --- a/doc/lispref/front-cover-1.texi +++ b/doc/lispref/front-cover-1.texi | |||
| @@ -50,7 +50,3 @@ | |||
| 50 | 50 | ||
| 51 | @end titlepage | 51 | @end titlepage |
| 52 | @bye | 52 | @bye |
| 53 | |||
| 54 | @ignore | ||
| 55 | arch-tag: 5182b306-c403-4e4f-ba24-e1911bc6da9d | ||
| 56 | @end ignore | ||
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index e9003601516..fc56e806cf7 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/functions | 6 | @setfilename ../../info/functions |
| @@ -1578,7 +1577,3 @@ See @ref{Mapping Functions}. | |||
| 1578 | @item undefined | 1577 | @item undefined |
| 1579 | See @ref{Functions for Key Lookup}. | 1578 | See @ref{Functions for Key Lookup}. |
| 1580 | @end table | 1579 | @end table |
| 1581 | |||
| 1582 | @ignore | ||
| 1583 | arch-tag: 39100cdf-8a55-4898-acba-595db619e8e2 | ||
| 1584 | @end ignore | ||
diff --git a/doc/lispref/gpl.texi b/doc/lispref/gpl.texi index 163af4627bb..244f3330d44 100644 --- a/doc/lispref/gpl.texi +++ b/doc/lispref/gpl.texi | |||
| @@ -721,7 +721,3 @@ library, you may consider it more useful to permit linking proprietary | |||
| 721 | applications with the library. If this is what you want to do, use | 721 | applications with the library. If this is what you want to do, use |
| 722 | the GNU Lesser General Public License instead of this License. But | 722 | the GNU Lesser General Public License instead of this License. But |
| 723 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. | 723 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. |
| 724 | |||
| 725 | @ignore | ||
| 726 | arch-tag: d00ac830-e120-41fb-bbc5-7ca3eeaa227f | ||
| 727 | @end ignore | ||
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 14e9accff71..0d77cba6fa6 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, | 3 | @c Copyright (C) 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/hash | 5 | @setfilename ../../info/hash |
| 7 | @node Hash Tables, Symbols, Sequences Arrays Vectors, Top | 6 | @node Hash Tables, Symbols, Sequences Arrays Vectors, Top |
| @@ -355,7 +354,3 @@ This returns the rehash threshold of @var{table}. | |||
| 355 | @defun hash-table-size table | 354 | @defun hash-table-size table |
| 356 | This returns the current nominal size of @var{table}. | 355 | This returns the current nominal size of @var{table}. |
| 357 | @end defun | 356 | @end defun |
| 358 | |||
| 359 | @ignore | ||
| 360 | arch-tag: 3b5107f9-d2f0-47d5-ad61-3498496bea0e | ||
| 361 | @end ignore | ||
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index f21e16e104a..e287e6fbad4 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/help | 6 | @setfilename ../../info/help |
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi index 4ef3f933770..6e2cac9c065 100644 --- a/doc/lispref/hooks.texi +++ b/doc/lispref/hooks.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1998, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1993, 1998, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/hooks | 5 | @setfilename ../../info/hooks |
| 7 | @node Standard Hooks, Index, Standard Keymaps, Top | 6 | @node Standard Hooks, Index, Standard Keymaps, Top |
| @@ -343,7 +342,3 @@ Manual}. | |||
| 343 | @item write-region-annotate-functions | 342 | @item write-region-annotate-functions |
| 344 | @xref{Format Conversion}. | 343 | @xref{Format Conversion}. |
| 345 | @end table | 344 | @end table |
| 346 | |||
| 347 | @ignore | ||
| 348 | arch-tag: 55fd0296-d906-4551-b300-979d3846aa88 | ||
| 349 | @end ignore | ||
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 2420e777fe8..5cdd983f40d 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1998, 1999, 2001, 2002, 2003, | 3 | @c Copyright (C) 1990-1993, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/internals | 5 | @setfilename ../../info/internals |
| 7 | @node GNU Emacs Internals, Standard Errors, Tips, Top | 6 | @node GNU Emacs Internals, Standard Errors, Tips, Top |
| @@ -1400,7 +1399,3 @@ Symbol indicating the type of process: @code{real}, @code{network}, | |||
| 1400 | @code{serial} | 1399 | @code{serial} |
| 1401 | 1400 | ||
| 1402 | @end table | 1401 | @end table |
| 1403 | |||
| 1404 | @ignore | ||
| 1405 | arch-tag: 4b2c33bc-d7e4-43f5-bc20-27c0db52a53e | ||
| 1406 | @end ignore | ||
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index a04dc93500f..baa184004e2 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1994, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/intro | 5 | @setfilename ../../info/intro |
| 7 | 6 | ||
| @@ -546,7 +545,3 @@ Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, | |||
| 546 | Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill | 545 | Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill |
| 547 | Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, | 546 | Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, |
| 548 | Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. | 547 | Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. |
| 549 | |||
| 550 | @ignore | ||
| 551 | arch-tag: d156593f-82f8-4708-a844-204e48f7f2aa | ||
| 552 | @end ignore | ||
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index e1052a9912e..a9a30abd1ed 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990-1994, 1998-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | ||
| 6 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/keymaps | 5 | @setfilename ../../info/keymaps |
| 8 | @node Keymaps, Modes, Command Loop, Top | 6 | @node Keymaps, Modes, Command Loop, Top |
| @@ -2072,21 +2070,6 @@ look at a menu. This is because the X toolkit requires the whole tree | |||
| 2072 | of menus in advance. To force recalculation of the menu bar, call | 2070 | of menus in advance. To force recalculation of the menu bar, call |
| 2073 | @code{force-mode-line-update} (@pxref{Mode Line Format}). | 2071 | @code{force-mode-line-update} (@pxref{Mode Line Format}). |
| 2074 | 2072 | ||
| 2075 | You've probably noticed that menu items show the equivalent keyboard key | ||
| 2076 | sequence (if any) to invoke the same command. To save time on | ||
| 2077 | recalculation, menu display caches this information in a sublist in the | ||
| 2078 | binding, like this: | ||
| 2079 | |||
| 2080 | @c This line is not too long--rms. | ||
| 2081 | @example | ||
| 2082 | (@var{item-string} @r{[}@var{help}@r{]} (@var{key-binding-data}) . @var{real-binding}) | ||
| 2083 | @end example | ||
| 2084 | |||
| 2085 | @noindent | ||
| 2086 | Don't put these sublists in the menu item yourself; menu display | ||
| 2087 | calculates them automatically. Don't mention keyboard equivalents in | ||
| 2088 | the item strings themselves, since that is redundant. | ||
| 2089 | |||
| 2090 | @node Extended Menu Items | 2073 | @node Extended Menu Items |
| 2091 | @subsubsection Extended Menu Items | 2074 | @subsubsection Extended Menu Items |
| 2092 | @kindex menu-item | 2075 | @kindex menu-item |
| @@ -2119,14 +2102,6 @@ string. Thus, the string need not be a constant. The third element, | |||
| 2119 | @var{item-property-list}, has the form of a property list which contains | 2102 | @var{item-property-list}, has the form of a property list which contains |
| 2120 | other information. | 2103 | other information. |
| 2121 | 2104 | ||
| 2122 | When an equivalent keyboard key binding is cached, the extended menu | ||
| 2123 | item binding looks like this: | ||
| 2124 | |||
| 2125 | @example | ||
| 2126 | (menu-item @var{item-name} @var{real-binding} (@var{key-binding-data}) | ||
| 2127 | . @var{item-property-list}) | ||
| 2128 | @end example | ||
| 2129 | |||
| 2130 | Here is a table of the properties that are supported: | 2105 | Here is a table of the properties that are supported: |
| 2131 | 2106 | ||
| 2132 | @table @code | 2107 | @table @code |
| @@ -2819,7 +2794,3 @@ menu of Shell mode, after the item @code{break}: | |||
| 2819 | [work] '("Work" . work-command) 'break) | 2794 | [work] '("Work" . work-command) 'break) |
| 2820 | @end example | 2795 | @end example |
| 2821 | @end defun | 2796 | @end defun |
| 2822 | |||
| 2823 | @ignore | ||
| 2824 | arch-tag: cfb87287-9364-4e46-9e93-6c2f7f6ae794 | ||
| 2825 | @end ignore | ||
diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi index affb9b89dfe..55973adac59 100644 --- a/doc/lispref/lay-flat.texi +++ b/doc/lispref/lay-flat.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | @c Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @c | 5 | @c |
| 7 | @comment %**start of header | 6 | @comment %**start of header |
| @@ -42,7 +41,3 @@ pushed or held down. | |||
| 42 | @end tex | 41 | @end tex |
| 43 | 42 | ||
| 44 | @bye | 43 | @bye |
| 45 | |||
| 46 | @ignore | ||
| 47 | arch-tag: 9e03a1c7-6f62-4346-85d9-ed5b79386e07 | ||
| 48 | @end ignore | ||
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 4eef54ba855..fa3fac814c1 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/lists | 5 | @setfilename ../../info/lists |
| 7 | @node Lists, Sequences Arrays Vectors, Strings and Characters, Top | 6 | @node Lists, Sequences Arrays Vectors, Strings and Characters, Top |
| @@ -1888,7 +1887,3 @@ use the ring as a first-in-first-out queue. For example: | |||
| 1888 | (ring-remove fifo))) | 1887 | (ring-remove fifo))) |
| 1889 | @result{} (0 t one t "two") | 1888 | @result{} (0 t one t "two") |
| 1890 | @end lisp | 1889 | @end lisp |
| 1891 | |||
| 1892 | @ignore | ||
| 1893 | arch-tag: 31fb8a4e-4aa8-4a74-a206-aa00451394d4 | ||
| 1894 | @end ignore | ||
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 05d836140c7..4e47647360f 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/loading | 6 | @setfilename ../../info/loading |
| @@ -363,6 +362,31 @@ interactively, the argument @var{interactive-call} is @code{t}, and this | |||
| 363 | tells @code{locate-library} to display the file name in the echo area. | 362 | tells @code{locate-library} to display the file name in the echo area. |
| 364 | @end deffn | 363 | @end deffn |
| 365 | 364 | ||
| 365 | @cindex shadowed Lisp files | ||
| 366 | @deffn Command list-load-path-shadows &optional stringp | ||
| 367 | This command shows a list of @dfn{shadowed} Emacs Lisp files. A | ||
| 368 | shadowed file is one that will not normally be loaded, despite being | ||
| 369 | in a directory on @code{load-path}, due to the existence of another | ||
| 370 | similarly-named file in a directory earlier on @code{load-path}. | ||
| 371 | |||
| 372 | For instance, suppose @code{load-path} is set to | ||
| 373 | |||
| 374 | @smallexample | ||
| 375 | ("/opt/emacs/site-lisp" "/usr/share/emacs/23.3/lisp") | ||
| 376 | @end smallexample | ||
| 377 | |||
| 378 | @noindent | ||
| 379 | and that both these directories contain a file named @file{foo.el}. | ||
| 380 | Then @code{(require 'foo)} never loads the file in the second | ||
| 381 | directory. Such a situation might indicate a problem in the way Emacs | ||
| 382 | was installed. | ||
| 383 | |||
| 384 | When called from Lisp, this function prints a message listing the | ||
| 385 | shadowed files, instead of displaying them in a buffer. If the | ||
| 386 | optional argument @code{stringp} is non-@code{nil}, it instead returns | ||
| 387 | the shadowed files as a string. | ||
| 388 | @end deffn | ||
| 389 | |||
| 366 | @node Loading Non-ASCII | 390 | @node Loading Non-ASCII |
| 367 | @section Loading Non-@acronym{ASCII} Characters | 391 | @section Loading Non-@acronym{ASCII} Characters |
| 368 | 392 | ||
| @@ -962,7 +986,8 @@ example, @file{my_inst.elc} or @file{my_inst.elc.gz} in some directory | |||
| 962 | @end example | 986 | @end example |
| 963 | 987 | ||
| 964 | @var{library} can also be a feature (i.e.@: a symbol), in which case | 988 | @var{library} can also be a feature (i.e.@: a symbol), in which case |
| 965 | @var{form} is evaluated when @code{(provide @var{library})} is called. | 989 | @var{form} is evaluated at the end of any file where |
| 990 | @code{(provide @var{library})} is called. | ||
| 966 | 991 | ||
| 967 | An error in @var{form} does not undo the load, but does prevent | 992 | An error in @var{form} does not undo the load, but does prevent |
| 968 | execution of the rest of @var{form}. | 993 | execution of the rest of @var{form}. |
| @@ -993,7 +1018,3 @@ symbol, and the value is a list of forms. The forms are evaluated | |||
| 993 | when the key matches the absolute true name or feature name of the | 1018 | when the key matches the absolute true name or feature name of the |
| 994 | library being loaded. | 1019 | library being loaded. |
| 995 | @end defvar | 1020 | @end defvar |
| 996 | |||
| 997 | @ignore | ||
| 998 | arch-tag: df731f89-0900-4389-a436-9105241b6f7a | ||
| 999 | @end ignore | ||
diff --git a/doc/lispref/locals.texi b/doc/lispref/locals.texi index 0bef9cb3554..a196efc9734 100644 --- a/doc/lispref/locals.texi +++ b/doc/lispref/locals.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1993, 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/locals | 5 | @setfilename ../../info/locals |
| 7 | @node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top | 6 | @node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top |
| @@ -216,8 +215,3 @@ Used for communication between mouse commands and scroll-bar commands. | |||
| 216 | @item write-contents-functions | 215 | @item write-contents-functions |
| 217 | @xref{Saving Buffers}. | 216 | @xref{Saving Buffers}. |
| 218 | @end table | 217 | @end table |
| 219 | |||
| 220 | |||
| 221 | @ignore | ||
| 222 | arch-tag: 6baae835-b667-4447-91e2-9829ae1cf543 | ||
| 223 | @end ignore | ||
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index c7672b93a74..c66feec08b7 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 2001, 2002, | 3 | @c Copyright (C) 1990-1995, 1998, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/macros | 5 | @setfilename ../../info/macros |
| 7 | @node Macros, Customization, Functions, Top | 6 | @node Macros, Customization, Functions, Top |
| @@ -732,7 +731,3 @@ indentation is being computed by @kbd{C-M-q}; if the value is a | |||
| 732 | number, @kbd{C-M-q} need not recalculate indentation for the following | 731 | number, @kbd{C-M-q} need not recalculate indentation for the following |
| 733 | lines until the end of the list. | 732 | lines until the end of the list. |
| 734 | @end table | 733 | @end table |
| 735 | |||
| 736 | @ignore | ||
| 737 | arch-tag: d4cce66d-1047-45c3-bfde-db6719d6e82b | ||
| 738 | @end ignore | ||
diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in index 86a0de33095..e0bcd21f2c0 100644 --- a/doc/lispref/makefile.w32-in +++ b/doc/lispref/makefile.w32-in | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | # -*- Makefile -*- for the GNU Emacs Lisp Reference Manual. | 1 | # -*- Makefile -*- for the GNU Emacs Lisp Reference Manual. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | # Copyright (C) 2003-2011 Free Software Foundation, Inc. |
| 4 | # Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -23,20 +22,24 @@ | |||
| 23 | srcdir = . | 22 | srcdir = . |
| 24 | 23 | ||
| 25 | infodir = $(srcdir)/../../info | 24 | infodir = $(srcdir)/../../info |
| 26 | usermanualdir = $(srcdir)/../emacs | ||
| 27 | 25 | ||
| 28 | # Directory with emacsver.texi. | 26 | # Directory with emacsver.texi. |
| 29 | emacsdir = $(srcdir)/../emacs | 27 | emacsdir = $(srcdir)/../emacs |
| 28 | # Directory with the (customized) texinfo.tex file. | ||
| 29 | texinfodir = $(srcdir)/../misc | ||
| 30 | 30 | ||
| 31 | # Redefine `TEX' if `tex' does not invoke plain TeX. For example: | 31 | # Redefine `TEX' if `tex' does not invoke plain TeX. For example: |
| 32 | # TEX=platex | 32 | # TEX=platex |
| 33 | TEX=tex | 33 | TEX=tex |
| 34 | INSTALL_INFO = install-info | 34 | INSTALL_INFO = install-info |
| 35 | MAKEINFO = makeinfo --force | 35 | MAKEINFO = makeinfo |
| 36 | MAKEINFO_OPTS = --force -I$(srcdir) -I$(emacsdir) | ||
| 36 | 37 | ||
| 37 | # The environment variable and its value to add $(srcdir) to the path | 38 | # The environment variable and its value to add $(srcdir) to the path |
| 38 | # searched for TeX input files. | 39 | # searched for TeX input files. |
| 39 | texinputdir = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" /C | 40 | texinputdir = $(srcdir)\..\..\nt\envadd.bat \ |
| 41 | "TEXINPUTS=$(srcdir);$(texinputdir);$(TEXINPUTS)" \ | ||
| 42 | "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C | ||
| 40 | 43 | ||
| 41 | # The name of the manual: | 44 | # The name of the manual: |
| 42 | VERSION=2.9 | 45 | VERSION=2.9 |
| @@ -111,12 +114,10 @@ $(infodir)/dir: | |||
| 111 | $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp | 114 | $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp |
| 112 | 115 | ||
| 113 | $(infodir)/elisp: $(srcs) | 116 | $(infodir)/elisp: $(srcs) |
| 114 | $(MAKEINFO) -I. -I$(srcdir) -I$(emacsdir) \ | 117 | $(MAKEINFO) $(MAKEINFO_OPTS) -o $(infodir)/elisp $(srcdir)/elisp.texi |
| 115 | -o $(infodir)/elisp $(srcdir)/elisp.texi | ||
| 116 | 118 | ||
| 117 | elisp.dvi: $(srcs) | 119 | elisp.dvi: $(srcs) |
| 118 | $(texinputdir) $(TEX) -I $(usermanualdir) -I$(emacsdir) \ | 120 | $(texinputdir) $(TEX) $(srcdir)/elisp.texi |
| 119 | $(srcdir)/elisp.texi | ||
| 120 | 121 | ||
| 121 | clean: | 122 | clean: |
| 122 | - $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \ | 123 | - $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \ |
diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi index 4b416a82d64..d235fee90ee 100644 --- a/doc/lispref/maps.texi +++ b/doc/lispref/maps.texi | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990-1993, 1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | ||
| 6 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/maps | 5 | @setfilename ../../info/maps |
| 8 | @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top | 6 | @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top |
| @@ -239,4 +237,3 @@ The keymap defining the contents of the tool bar. | |||
| 239 | @vindex view-mode-map | 237 | @vindex view-mode-map |
| 240 | A full keymap used by View mode. | 238 | A full keymap used by View mode. |
| 241 | @end table | 239 | @end table |
| 242 | |||
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi index be546fc3d16..7b73c454c87 100644 --- a/doc/lispref/markers.texi +++ b/doc/lispref/markers.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/markers | 5 | @setfilename ../../info/markers |
| 7 | @node Markers, Text, Positions, Top | 6 | @node Markers, Text, Positions, Top |
| @@ -674,7 +673,3 @@ mark is active, and there's a valid region in the buffer. Commands | |||
| 674 | that operate on the region (instead of on text near point) when | 673 | that operate on the region (instead of on text near point) when |
| 675 | there's an active mark should use this to test whether to do that. | 674 | there's an active mark should use this to test whether to do that. |
| 676 | @end defun | 675 | @end defun |
| 677 | |||
| 678 | @ignore | ||
| 679 | arch-tag: b1ba2e7a-a0f3-4c5e-875c-7d8e22d73299 | ||
| 680 | @end ignore | ||
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 9bc6be432ae..50324a91f5f 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/minibuf | 6 | @setfilename ../../info/minibuf |
| @@ -2202,7 +2201,3 @@ arrives, whichever comes first. If @var{args} is non-@code{nil}, the | |||
| 2202 | actual message is obtained by passing @var{string} and @var{args} | 2201 | actual message is obtained by passing @var{string} and @var{args} |
| 2203 | through @code{format}. @xref{Formatting Strings}. | 2202 | through @code{format}. @xref{Formatting Strings}. |
| 2204 | @end defun | 2203 | @end defun |
| 2205 | |||
| 2206 | @ignore | ||
| 2207 | arch-tag: bba7f945-9078-477f-a2ce-18818a6e1218 | ||
| 2208 | @end ignore | ||
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 12f16b67663..7cf319bc6c9 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/modes | 5 | @setfilename ../../info/modes |
| 7 | @node Modes, Documentation, Keymaps, Top | 6 | @node Modes, Documentation, Keymaps, Top |
| @@ -20,14 +19,15 @@ user. For related topics such as keymaps and syntax tables, see | |||
| 20 | @ref{Keymaps}, and @ref{Syntax Tables}. | 19 | @ref{Keymaps}, and @ref{Syntax Tables}. |
| 21 | 20 | ||
| 22 | @menu | 21 | @menu |
| 23 | * Hooks:: How to use hooks; how to write code that provides hooks. | 22 | * Hooks:: How to use hooks; how to write code that provides hooks. |
| 24 | * Major Modes:: Defining major modes. | 23 | * Major Modes:: Defining major modes. |
| 25 | * Minor Modes:: Defining minor modes. | 24 | * Minor Modes:: Defining minor modes. |
| 26 | * Mode Line Format:: Customizing the text that appears in the mode line. | 25 | * Mode Line Format:: Customizing the text that appears in the mode line. |
| 27 | * Imenu:: How a mode can provide a menu | 26 | * Imenu:: How a mode can provide a menu |
| 28 | of definitions in the buffer. | 27 | of definitions in the buffer. |
| 29 | * Font Lock Mode:: How modes can highlight text according to syntax. | 28 | * Font Lock Mode:: How modes can highlight text according to syntax. |
| 30 | * Desktop Save Mode:: How modes can have buffer state saved between | 29 | * Auto-Indentation:: How to teach Emacs to indent for a major mode. |
| 30 | * Desktop Save Mode:: How modes can have buffer state saved between | ||
| 31 | Emacs sessions. | 31 | Emacs sessions. |
| 32 | @end menu | 32 | @end menu |
| 33 | 33 | ||
| @@ -78,8 +78,8 @@ convention. | |||
| 78 | its value is just a single function, not a list of functions. | 78 | its value is just a single function, not a list of functions. |
| 79 | 79 | ||
| 80 | @menu | 80 | @menu |
| 81 | * Running Hooks:: How to run a hook. | 81 | * Running Hooks:: How to run a hook. |
| 82 | * Setting Hooks:: How to put functions on a hook, or remove them. | 82 | * Setting Hooks:: How to put functions on a hook, or remove them. |
| 83 | @end menu | 83 | @end menu |
| 84 | 84 | ||
| 85 | @node Running Hooks | 85 | @node Running Hooks |
| @@ -199,16 +199,16 @@ buffer, such as a local keymap. The effect lasts until you switch | |||
| 199 | to another major mode in the same buffer. | 199 | to another major mode in the same buffer. |
| 200 | 200 | ||
| 201 | @menu | 201 | @menu |
| 202 | * Major Mode Basics:: | 202 | * Major Mode Basics:: |
| 203 | * Major Mode Conventions:: Coding conventions for keymaps, etc. | 203 | * Major Mode Conventions:: Coding conventions for keymaps, etc. |
| 204 | * Auto Major Mode:: How Emacs chooses the major mode automatically. | 204 | * Auto Major Mode:: How Emacs chooses the major mode automatically. |
| 205 | * Mode Help:: Finding out how to use a mode. | 205 | * Mode Help:: Finding out how to use a mode. |
| 206 | * Derived Modes:: Defining a new major mode based on another major | 206 | * Derived Modes:: Defining a new major mode based on another major |
| 207 | mode. | 207 | mode. |
| 208 | * Generic Modes:: Defining a simple major mode that supports | 208 | * Generic Modes:: Defining a simple major mode that supports |
| 209 | comment syntax and Font Lock mode. | 209 | comment syntax and Font Lock mode. |
| 210 | * Mode Hooks:: Hooks run at the end of major mode functions. | 210 | * Mode Hooks:: Hooks run at the end of major mode functions. |
| 211 | * Example Major Modes:: Text mode and Lisp modes. | 211 | * Example Major Modes:: Text mode and Lisp modes. |
| 212 | @end menu | 212 | @end menu |
| 213 | 213 | ||
| 214 | @node Major Mode Basics | 214 | @node Major Mode Basics |
| @@ -238,9 +238,8 @@ mode except that it provides two additional commands. Its definition | |||
| 238 | is distinct from that of Text mode, but uses that of Text mode. | 238 | is distinct from that of Text mode, but uses that of Text mode. |
| 239 | 239 | ||
| 240 | Even if the new mode is not an obvious derivative of any other mode, | 240 | Even if the new mode is not an obvious derivative of any other mode, |
| 241 | it is convenient to use @code{define-derived-mode} with a @code{nil} | 241 | we recommend to use @code{define-derived-mode}, since it automatically |
| 242 | parent argument, since it automatically enforces the most important | 242 | enforces the most important coding conventions for you. |
| 243 | coding conventions for you. | ||
| 244 | 243 | ||
| 245 | For a very simple programming language major mode that handles | 244 | For a very simple programming language major mode that handles |
| 246 | comments and fontification, you can use @code{define-generic-mode}. | 245 | comments and fontification, you can use @code{define-generic-mode}. |
| @@ -333,7 +332,7 @@ In a major mode for editing some kind of structured text, such as a | |||
| 333 | programming language, indentation of text according to structure is | 332 | programming language, indentation of text according to structure is |
| 334 | probably useful. So the mode should set @code{indent-line-function} | 333 | probably useful. So the mode should set @code{indent-line-function} |
| 335 | to a suitable function, and probably customize other variables | 334 | to a suitable function, and probably customize other variables |
| 336 | for indentation. | 335 | for indentation. @xref{Auto-Indentation}. |
| 337 | 336 | ||
| 338 | @item | 337 | @item |
| 339 | @cindex keymaps in modes | 338 | @cindex keymaps in modes |
| @@ -429,6 +428,10 @@ The mode can specify a local value for | |||
| 429 | this mode. | 428 | this mode. |
| 430 | 429 | ||
| 431 | @item | 430 | @item |
| 431 | The mode can specify how to complete various keywords by adding | ||
| 432 | to the special hook @code{completion-at-point-functions}. | ||
| 433 | |||
| 434 | @item | ||
| 432 | Use @code{defvar} or @code{defcustom} to set mode-related variables, so | 435 | Use @code{defvar} or @code{defcustom} to set mode-related variables, so |
| 433 | that they are not reinitialized if they already have a value. (Such | 436 | that they are not reinitialized if they already have a value. (Such |
| 434 | reinitialization could discard customizations made by the user.) | 437 | reinitialization could discard customizations made by the user.) |
| @@ -492,7 +495,7 @@ The @code{define-derived-mode} macro automatically marks the derived | |||
| 492 | mode as special if the parent mode is special. The special mode | 495 | mode as special if the parent mode is special. The special mode |
| 493 | @code{special-mode} provides a convenient parent for other special | 496 | @code{special-mode} provides a convenient parent for other special |
| 494 | modes to inherit from; it sets @code{buffer-read-only} to @code{t}, | 497 | modes to inherit from; it sets @code{buffer-read-only} to @code{t}, |
| 495 | and does nothing else. | 498 | and does little else. |
| 496 | 499 | ||
| 497 | @item | 500 | @item |
| 498 | If you want to make the new mode the default for files with certain | 501 | If you want to make the new mode the default for files with certain |
| @@ -737,8 +740,11 @@ documentation of the major mode. | |||
| 737 | @subsection Defining Derived Modes | 740 | @subsection Defining Derived Modes |
| 738 | @cindex derived mode | 741 | @cindex derived mode |
| 739 | 742 | ||
| 740 | It's often useful to define a new major mode in terms of an existing | 743 | The recommended way to define a new major mode is to derive it |
| 741 | one. An easy way to do this is to use @code{define-derived-mode}. | 744 | from an existing one using @code{define-derived-mode}. If there is no |
| 745 | closely related mode, you can inherit from @code{text-mode}, | ||
| 746 | @code{special-mode}, @code{prog-mode}, or in the worst case | ||
| 747 | @code{fundamental-mode}. | ||
| 742 | 748 | ||
| 743 | @defmac define-derived-mode variant parent name docstring keyword-args@dots{} body@dots{} | 749 | @defmac define-derived-mode variant parent name docstring keyword-args@dots{} body@dots{} |
| 744 | This macro defines @var{variant} as a major mode command, using | 750 | This macro defines @var{variant} as a major mode command, using |
| @@ -979,8 +985,7 @@ You can thus get the full benefit of adaptive filling | |||
| 979 | Turning on Text mode runs the normal hook `text-mode-hook'." | 985 | Turning on Text mode runs the normal hook `text-mode-hook'." |
| 980 | @end group | 986 | @end group |
| 981 | @group | 987 | @group |
| 982 | (make-local-variable 'text-mode-variant) | 988 | (set (make-local-variable 'text-mode-variant) t) |
| 983 | (setq text-mode-variant t) | ||
| 984 | ;; @r{These two lines are a feature added recently.} | 989 | ;; @r{These two lines are a feature added recently.} |
| 985 | (set (make-local-variable 'require-final-newline) | 990 | (set (make-local-variable 'require-final-newline) |
| 986 | mode-require-final-newline) | 991 | mode-require-final-newline) |
| @@ -998,9 +1003,8 @@ the default value, and we'll delete it in a future version.) | |||
| 998 | @smallexample | 1003 | @smallexample |
| 999 | @group | 1004 | @group |
| 1000 | ;; @r{This isn't needed nowadays, since @code{define-derived-mode} does it.} | 1005 | ;; @r{This isn't needed nowadays, since @code{define-derived-mode} does it.} |
| 1001 | (defvar text-mode-abbrev-table nil | 1006 | (define-abbrev-table 'text-mode-abbrev-table () |
| 1002 | "Abbrev table used while in text mode.") | 1007 | "Abbrev table used while in text mode.") |
| 1003 | (define-abbrev-table 'text-mode-abbrev-table ()) | ||
| 1004 | @end group | 1008 | @end group |
| 1005 | 1009 | ||
| 1006 | @group | 1010 | @group |
| @@ -1022,12 +1026,10 @@ Turning on text-mode runs the hook `text-mode-hook'." | |||
| 1022 | ;; @r{These four lines are absent from the current version} | 1026 | ;; @r{These four lines are absent from the current version} |
| 1023 | ;; @r{not because this is done some other way, but rather} | 1027 | ;; @r{not because this is done some other way, but rather} |
| 1024 | ;; @r{because nowadays Text mode uses the normal definition of paragraphs.} | 1028 | ;; @r{because nowadays Text mode uses the normal definition of paragraphs.} |
| 1025 | (make-local-variable 'paragraph-start) | 1029 | (set (make-local-variable 'paragraph-start) |
| 1026 | (setq paragraph-start (concat "[ \t]*$\\|" page-delimiter)) | 1030 | (concat "[ \t]*$\\|" page-delimiter)) |
| 1027 | (make-local-variable 'paragraph-separate) | 1031 | (set (make-local-variable 'paragraph-separate) paragraph-start) |
| 1028 | (setq paragraph-separate paragraph-start) | 1032 | (set (make-local-variable 'indent-line-function) 'indent-relative-maybe) |
| 1029 | (make-local-variable 'indent-line-function) | ||
| 1030 | (setq indent-line-function 'indent-relative-maybe) | ||
| 1031 | @end group | 1033 | @end group |
| 1032 | @group | 1034 | @group |
| 1033 | (setq mode-name "Text") | 1035 | (setq mode-name "Text") |
| @@ -1115,15 +1117,12 @@ modes should understand the Lisp conventions for comments. The rest of | |||
| 1115 | 1117 | ||
| 1116 | @smallexample | 1118 | @smallexample |
| 1117 | @group | 1119 | @group |
| 1118 | (make-local-variable 'paragraph-start) | 1120 | (set (make-local-variable 'paragraph-start) (concat page-delimiter "\\|$" )) |
| 1119 | (setq paragraph-start (concat page-delimiter "\\|$" )) | 1121 | (set (make-local-variable 'paragraph-separate) paragraph-start) |
| 1120 | (make-local-variable 'paragraph-separate) | ||
| 1121 | (setq paragraph-separate paragraph-start) | ||
| 1122 | @dots{} | 1122 | @dots{} |
| 1123 | @end group | 1123 | @end group |
| 1124 | @group | 1124 | @group |
| 1125 | (make-local-variable 'comment-indent-function) | 1125 | (set (make-local-variable 'comment-indent-function) 'lisp-comment-indent)) |
| 1126 | (setq comment-indent-function 'lisp-comment-indent)) | ||
| 1127 | @dots{} | 1126 | @dots{} |
| 1128 | @end group | 1127 | @end group |
| 1129 | @end smallexample | 1128 | @end smallexample |
| @@ -1135,16 +1134,13 @@ common. The following code sets up the common commands: | |||
| 1135 | 1134 | ||
| 1136 | @smallexample | 1135 | @smallexample |
| 1137 | @group | 1136 | @group |
| 1138 | (defvar shared-lisp-mode-map () | 1137 | (defvar shared-lisp-mode-map |
| 1138 | (let ((map (make-sparse-keymap))) | ||
| 1139 | (define-key shared-lisp-mode-map "\e\C-q" 'indent-sexp) | ||
| 1140 | (define-key shared-lisp-mode-map "\177" | ||
| 1141 | 'backward-delete-char-untabify) | ||
| 1142 | map) | ||
| 1139 | "Keymap for commands shared by all sorts of Lisp modes.") | 1143 | "Keymap for commands shared by all sorts of Lisp modes.") |
| 1140 | |||
| 1141 | ;; @r{Putting this @code{if} after the @code{defvar} is an older style.} | ||
| 1142 | (if shared-lisp-mode-map | ||
| 1143 | () | ||
| 1144 | (setq shared-lisp-mode-map (make-sparse-keymap)) | ||
| 1145 | (define-key shared-lisp-mode-map "\e\C-q" 'indent-sexp) | ||
| 1146 | (define-key shared-lisp-mode-map "\177" | ||
| 1147 | 'backward-delete-char-untabify)) | ||
| 1148 | @end group | 1144 | @end group |
| 1149 | @end smallexample | 1145 | @end smallexample |
| 1150 | 1146 | ||
| @@ -1153,15 +1149,13 @@ And here is the code to set up the keymap for Lisp mode: | |||
| 1153 | 1149 | ||
| 1154 | @smallexample | 1150 | @smallexample |
| 1155 | @group | 1151 | @group |
| 1156 | (defvar lisp-mode-map () | 1152 | (defvar lisp-mode-map |
| 1153 | (let ((map (make-sparse-keymap))) | ||
| 1154 | (set-keymap-parent map shared-lisp-mode-map) | ||
| 1155 | (define-key map "\e\C-x" 'lisp-eval-defun) | ||
| 1156 | (define-key map "\C-c\C-z" 'run-lisp) | ||
| 1157 | map) | ||
| 1157 | "Keymap for ordinary Lisp mode...") | 1158 | "Keymap for ordinary Lisp mode...") |
| 1158 | |||
| 1159 | (if lisp-mode-map | ||
| 1160 | () | ||
| 1161 | (setq lisp-mode-map (make-sparse-keymap)) | ||
| 1162 | (set-keymap-parent lisp-mode-map shared-lisp-mode-map) | ||
| 1163 | (define-key lisp-mode-map "\e\C-x" 'lisp-eval-defun) | ||
| 1164 | (define-key lisp-mode-map "\C-c\C-z" 'run-lisp)) | ||
| 1165 | @end group | 1159 | @end group |
| 1166 | @end smallexample | 1160 | @end smallexample |
| 1167 | 1161 | ||
| @@ -1192,11 +1186,9 @@ if that value is non-nil." | |||
| 1192 | ; @r{finds out what to describe.} | 1186 | ; @r{finds out what to describe.} |
| 1193 | (setq mode-name "Lisp") ; @r{This goes into the mode line.} | 1187 | (setq mode-name "Lisp") ; @r{This goes into the mode line.} |
| 1194 | (lisp-mode-variables t) ; @r{This defines various variables.} | 1188 | (lisp-mode-variables t) ; @r{This defines various variables.} |
| 1195 | (make-local-variable 'comment-start-skip) | 1189 | (set (make-local-variable 'comment-start-skip) |
| 1196 | (setq comment-start-skip | 1190 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") |
| 1197 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") | 1191 | (set (make-local-variable 'font-lock-keywords-case-fold-search) t) |
| 1198 | (make-local-variable 'font-lock-keywords-case-fold-search) | ||
| 1199 | (setq font-lock-keywords-case-fold-search t) | ||
| 1200 | @end group | 1192 | @end group |
| 1201 | @group | 1193 | @group |
| 1202 | (setq imenu-case-fold-search t) | 1194 | (setq imenu-case-fold-search t) |
| @@ -1580,14 +1572,14 @@ information displayed in the mode line relates to the enabled major and | |||
| 1580 | minor modes. | 1572 | minor modes. |
| 1581 | 1573 | ||
| 1582 | @menu | 1574 | @menu |
| 1583 | * Base: Mode Line Basics. Basic ideas of mode line control. | 1575 | * Base: Mode Line Basics. Basic ideas of mode line control. |
| 1584 | * Data: Mode Line Data. The data structure that controls the mode line. | 1576 | * Data: Mode Line Data. The data structure that controls the mode line. |
| 1585 | * Top: Mode Line Top. The top level variable, mode-line-format. | 1577 | * Top: Mode Line Top. The top level variable, mode-line-format. |
| 1586 | * Mode Line Variables:: Variables used in that data structure. | 1578 | * Mode Line Variables:: Variables used in that data structure. |
| 1587 | * %-Constructs:: Putting information into a mode line. | 1579 | * %-Constructs:: Putting information into a mode line. |
| 1588 | * Properties in Mode:: Using text properties in the mode line. | 1580 | * Properties in Mode:: Using text properties in the mode line. |
| 1589 | * Header Lines:: Like a mode line, but at the top. | 1581 | * Header Lines:: Like a mode line, but at the top. |
| 1590 | * Emulating Mode Line:: Formatting text as the mode line would. | 1582 | * Emulating Mode Line:: Formatting text as the mode line would. |
| 1591 | @end menu | 1583 | @end menu |
| 1592 | 1584 | ||
| 1593 | @node Mode Line Basics | 1585 | @node Mode Line Basics |
| @@ -2119,29 +2111,38 @@ the text that would appear in a mode line or header line | |||
| 2119 | based on a certain mode-line specification. | 2111 | based on a certain mode-line specification. |
| 2120 | 2112 | ||
| 2121 | @defun format-mode-line format &optional face window buffer | 2113 | @defun format-mode-line format &optional face window buffer |
| 2122 | This function formats a line of text according to @var{format} as if | 2114 | This function formats a line of text according to @var{format} as if it |
| 2123 | it were generating the mode line for @var{window}, but instead of | 2115 | were generating the mode line for @var{window}, but it also returns the |
| 2124 | displaying the text in the mode line or the header line, it returns | 2116 | text as a string. The argument @var{window} defaults to the selected |
| 2125 | the text as a string. The argument @var{window} defaults to the | 2117 | window. If @var{buffer} is non-@code{nil}, all the information used is |
| 2126 | selected window. If @var{buffer} is non-@code{nil}, all the | 2118 | taken from @var{buffer}; by default, it comes from @var{window}'s |
| 2127 | information used is taken from @var{buffer}; by default, it comes from | 2119 | buffer. |
| 2128 | @var{window}'s buffer. | ||
| 2129 | 2120 | ||
| 2130 | The value string normally has text properties that correspond to the | 2121 | The value string normally has text properties that correspond to the |
| 2131 | faces, keymaps, etc., that the mode line would have. And any character | 2122 | faces, keymaps, etc., that the mode line would have. Any character for |
| 2132 | for which no @code{face} property is specified gets a default | 2123 | which no @code{face} property is specified by @var{format} gets a |
| 2133 | value which is usually @var{face}. (If @var{face} is @code{t}, | 2124 | default value determined by @var{face}. If @var{face} is @code{t}, that |
| 2134 | that stands for either @code{mode-line} if @var{window} is selected, | 2125 | stands for either @code{mode-line} if @var{window} is selected, |
| 2135 | otherwise @code{mode-line-inactive}. If @var{face} is @code{nil} or | 2126 | otherwise @code{mode-line-inactive}. If @var{face} is @code{nil} or |
| 2136 | omitted, that stands for no face property.) | 2127 | omitted, that stands for the default face. If @var{face} is an integer, |
| 2128 | the value returned by this function will have no text properties. | ||
| 2129 | |||
| 2130 | You can also specify other valid faces as the value of @var{face}. | ||
| 2131 | If specified, that face provides the @code{face} property for characters | ||
| 2132 | whose face is not specified by @var{format}. | ||
| 2137 | 2133 | ||
| 2138 | However, if @var{face} is an integer, the value has no text properties. | 2134 | Note that using @code{mode-line}, @code{mode-line-inactive}, or |
| 2135 | @code{header-line} as @var{face} will actually redisplay the mode line | ||
| 2136 | or the header line, respectively, using the current definitions of the | ||
| 2137 | corresponding face, in addition to returning the formatted string. | ||
| 2138 | (Other faces do not cause redisplay.) | ||
| 2139 | 2139 | ||
| 2140 | For example, @code{(format-mode-line header-line-format)} returns the | 2140 | For example, @code{(format-mode-line header-line-format)} returns the |
| 2141 | text that would appear in the selected window's header line (@code{""} | 2141 | text that would appear in the selected window's header line (@code{""} |
| 2142 | if it has no header line). @code{(format-mode-line header-line-format | 2142 | if it has no header line). @code{(format-mode-line header-line-format |
| 2143 | 'header-line)} returns the same text, with each character | 2143 | 'header-line)} returns the same text, with each character |
| 2144 | carrying the face that it will have in the header line itself. | 2144 | carrying the face that it will have in the header line itself, and also |
| 2145 | redraws the header line. | ||
| 2145 | @end defun | 2146 | @end defun |
| 2146 | 2147 | ||
| 2147 | @node Imenu | 2148 | @node Imenu |
| @@ -2361,7 +2362,7 @@ Search-based fontification happens second. | |||
| 2361 | * Other Font Lock Variables:: Additional customization facilities. | 2362 | * Other Font Lock Variables:: Additional customization facilities. |
| 2362 | * Levels of Font Lock:: Each mode can define alternative levels | 2363 | * Levels of Font Lock:: Each mode can define alternative levels |
| 2363 | so that the user can select more or less. | 2364 | so that the user can select more or less. |
| 2364 | * Precalculated Fontification:: How Lisp programs that produce the buffer | 2365 | * Precalculated Fontification:: How Lisp programs that produce the buffer |
| 2365 | contents can also specify how to fontify it. | 2366 | contents can also specify how to fontify it. |
| 2366 | * Faces for Font Lock:: Special faces specifically for Font Lock. | 2367 | * Faces for Font Lock:: Special faces specifically for Font Lock. |
| 2367 | * Syntactic Font Lock:: Fontification based on syntax tables. | 2368 | * Syntactic Font Lock:: Fontification based on syntax tables. |
| @@ -3223,6 +3224,659 @@ Since this function is called after every buffer change, it should be | |||
| 3223 | reasonably fast. | 3224 | reasonably fast. |
| 3224 | @end defvar | 3225 | @end defvar |
| 3225 | 3226 | ||
| 3227 | @node Auto-Indentation | ||
| 3228 | @section Auto-indention of code | ||
| 3229 | |||
| 3230 | For programming languages, an important feature of a major mode is to | ||
| 3231 | provide automatic indentation. This is controlled in Emacs by | ||
| 3232 | @code{indent-line-function} (@pxref{Mode-Specific Indent}). | ||
| 3233 | Writing a good indentation function can be difficult and to a large | ||
| 3234 | extent it is still a black art. | ||
| 3235 | |||
| 3236 | Many major mode authors will start by writing a simple indentation | ||
| 3237 | function that works for simple cases, for example by comparing with the | ||
| 3238 | indentation of the previous text line. For most programming languages | ||
| 3239 | that are not really line-based, this tends to scale very poorly: | ||
| 3240 | improving such a function to let it handle more diverse situations tends | ||
| 3241 | to become more and more difficult, resulting in the end with a large, | ||
| 3242 | complex, unmaintainable indentation function which nobody dares to touch. | ||
| 3243 | |||
| 3244 | A good indentation function will usually need to actually parse the | ||
| 3245 | text, according to the syntax of the language. Luckily, it is not | ||
| 3246 | necessary to parse the text in as much detail as would be needed | ||
| 3247 | for a compiler, but on the other hand, the parser embedded in the | ||
| 3248 | indentation code will want to be somewhat friendly to syntactically | ||
| 3249 | incorrect code. | ||
| 3250 | |||
| 3251 | Good maintainable indentation functions usually fall into 2 categories: | ||
| 3252 | either parsing forward from some ``safe'' starting point until the | ||
| 3253 | position of interest, or parsing backward from the position of interest. | ||
| 3254 | Neither of the two is a clearly better choice than the other: parsing | ||
| 3255 | backward is often more difficult than parsing forward because | ||
| 3256 | programming languages are designed to be parsed forward, but for the | ||
| 3257 | purpose of indentation it has the advantage of not needing to | ||
| 3258 | guess a ``safe'' starting point, and it generally enjoys the property | ||
| 3259 | that only a minimum of text will be analyzed to decide the indentation | ||
| 3260 | of a line, so indentation will tend to be unaffected by syntax errors in | ||
| 3261 | some earlier unrelated piece of code. Parsing forward on the other hand | ||
| 3262 | is usually easier and has the advantage of making it possible to | ||
| 3263 | reindent efficiently a whole region at a time, with a single parse. | ||
| 3264 | |||
| 3265 | Rather than write your own indentation function from scratch, it is | ||
| 3266 | often preferable to try and reuse some existing ones or to rely | ||
| 3267 | on a generic indentation engine. There are sadly few such | ||
| 3268 | engines. The CC-mode indentation code (used with C, C++, Java, Awk | ||
| 3269 | and a few other such modes) has been made more generic over the years, | ||
| 3270 | so if your language seems somewhat similar to one of those languages, | ||
| 3271 | you might try to use that engine. @c FIXME: documentation? | ||
| 3272 | Another one is SMIE which takes an approach in the spirit | ||
| 3273 | of Lisp sexps and adapts it to non-Lisp languages. | ||
| 3274 | |||
| 3275 | @menu | ||
| 3276 | * SMIE:: A simple minded indentation engine | ||
| 3277 | @end menu | ||
| 3278 | |||
| 3279 | @node SMIE | ||
| 3280 | @subsection Simple Minded Indentation Engine | ||
| 3281 | |||
| 3282 | SMIE is a package that provides a generic navigation and indentation | ||
| 3283 | engine. Based on a very simple parser using an ``operator precedence | ||
| 3284 | grammar'', it lets major modes extend the sexp-based navigation of Lisp | ||
| 3285 | to non-Lisp languages as well as provide a simple to use but reliable | ||
| 3286 | auto-indentation. | ||
| 3287 | |||
| 3288 | Operator precedence grammar is a very primitive technology for parsing | ||
| 3289 | compared to some of the more common techniques used in compilers. | ||
| 3290 | It has the following characteristics: its parsing power is very limited, | ||
| 3291 | and it is largely unable to detect syntax errors, but it has the | ||
| 3292 | advantage of being algorithmically efficient and able to parse forward | ||
| 3293 | just as well as backward. In practice that means that SMIE can use it | ||
| 3294 | for indentation based on backward parsing, that it can provide both | ||
| 3295 | @code{forward-sexp} and @code{backward-sexp} functionality, and that it | ||
| 3296 | will naturally work on syntactically incorrect code without any extra | ||
| 3297 | effort. The downside is that it also means that most programming | ||
| 3298 | languages cannot be parsed correctly using SMIE, at least not without | ||
| 3299 | resorting to some special tricks (@pxref{SMIE Tricks}). | ||
| 3300 | |||
| 3301 | @menu | ||
| 3302 | * SMIE setup:: SMIE setup and features | ||
| 3303 | * Operator Precedence Grammars:: A very simple parsing technique | ||
| 3304 | * SMIE Grammar:: Defining the grammar of a language | ||
| 3305 | * SMIE Lexer:: Defining tokens | ||
| 3306 | * SMIE Tricks:: Working around the parser's limitations | ||
| 3307 | * SMIE Indentation:: Specifying indentation rules | ||
| 3308 | * SMIE Indentation Helpers:: Helper functions for indentation rules | ||
| 3309 | * SMIE Indentation Example:: Sample indentation rules | ||
| 3310 | @end menu | ||
| 3311 | |||
| 3312 | @node SMIE setup | ||
| 3313 | @subsubsection SMIE Setup and Features | ||
| 3314 | |||
| 3315 | SMIE is meant to be a one-stop shop for structural navigation and | ||
| 3316 | various other features which rely on the syntactic structure of code, in | ||
| 3317 | particular automatic indentation. The main entry point is | ||
| 3318 | @code{smie-setup} which is a function typically called while setting | ||
| 3319 | up a major mode. | ||
| 3320 | |||
| 3321 | @defun smie-setup grammar rules-function &rest keywords | ||
| 3322 | Setup SMIE navigation and indentation. | ||
| 3323 | @var{grammar} is a grammar table generated by @code{smie-prec2->grammar}. | ||
| 3324 | @var{rules-function} is a set of indentation rules for use on | ||
| 3325 | @code{smie-rules-function}. | ||
| 3326 | @var{keywords} are additional arguments, which can include the following | ||
| 3327 | keywords: | ||
| 3328 | @itemize | ||
| 3329 | @item | ||
| 3330 | @code{:forward-token} @var{fun}: Specify the forward lexer to use. | ||
| 3331 | @item | ||
| 3332 | @code{:backward-token} @var{fun}: Specify the backward lexer to use. | ||
| 3333 | @end itemize | ||
| 3334 | @end defun | ||
| 3335 | |||
| 3336 | Calling this function is sufficient to make commands such as | ||
| 3337 | @code{forward-sexp}, @code{backward-sexp}, and @code{transpose-sexps} be | ||
| 3338 | able to properly handle structural elements other than just the paired | ||
| 3339 | parentheses already handled by syntax tables. For example, if the | ||
| 3340 | provided grammar is precise enough, @code{transpose-sexps} can correctly | ||
| 3341 | transpose the two arguments of a @code{+} operator, taking into account | ||
| 3342 | the precedence rules of the language. | ||
| 3343 | |||
| 3344 | Calling `smie-setup' is also sufficient to make TAB indentation work in | ||
| 3345 | the expected way, extends @code{blink-matching-paren} to apply to | ||
| 3346 | elements like @code{begin...end}, and provides some commands that you | ||
| 3347 | can bind in the major mode keymap. | ||
| 3348 | |||
| 3349 | @deffn Command smie-close-block | ||
| 3350 | This command closes the most recently opened (and not yet closed) block. | ||
| 3351 | @end deffn | ||
| 3352 | |||
| 3353 | @deffn Command smie-down-list &optional arg | ||
| 3354 | This command is like @code{down-list} but it also pays attention to | ||
| 3355 | nesting of tokens other than parentheses, such as @code{begin...end}. | ||
| 3356 | @end deffn | ||
| 3357 | |||
| 3358 | @node Operator Precedence Grammars | ||
| 3359 | @subsubsection Operator Precedence Grammars | ||
| 3360 | |||
| 3361 | SMIE's precedence grammars simply give to each token a pair of | ||
| 3362 | precedences: the left-precedence and the right-precedence. We say | ||
| 3363 | @code{T1 < T2} if the right-precedence of token @code{T1} is less than | ||
| 3364 | the left-precedence of token @code{T2}. A good way to read this | ||
| 3365 | @code{<} is as a kind of parenthesis: if we find @code{... T1 something | ||
| 3366 | T2 ...} then that should be parsed as @code{... T1 (something T2 ...} | ||
| 3367 | rather than as @code{... T1 something) T2 ...}. The latter | ||
| 3368 | interpretation would be the case if we had @code{T1 > T2}. If we have | ||
| 3369 | @code{T1 = T2}, it means that token T2 follows token T1 in the same | ||
| 3370 | syntactic construction, so typically we have @code{"begin" = "end"}. | ||
| 3371 | Such pairs of precedences are sufficient to express left-associativity | ||
| 3372 | or right-associativity of infix operators, nesting of tokens like | ||
| 3373 | parentheses and many other cases. | ||
| 3374 | |||
| 3375 | @c ¡Let's leave this undocumented to leave it more open for change! | ||
| 3376 | @c @defvar smie-grammar | ||
| 3377 | @c The value of this variable is an alist specifying the left and right | ||
| 3378 | @c precedence of each token. It is meant to be initialized by using one of | ||
| 3379 | @c the functions below. | ||
| 3380 | @c @end defvar | ||
| 3381 | |||
| 3382 | @defun smie-prec2->grammar table | ||
| 3383 | This function takes a @emph{prec2} grammar @var{table} and returns an | ||
| 3384 | alist suitable for use in @code{smie-setup}. The @emph{prec2} | ||
| 3385 | @var{table} is itself meant to be built by one of the functions below. | ||
| 3386 | @end defun | ||
| 3387 | |||
| 3388 | @defun smie-merge-prec2s &rest tables | ||
| 3389 | This function takes several @emph{prec2} @var{tables} and merges them | ||
| 3390 | into a new @emph{prec2} table. | ||
| 3391 | @end defun | ||
| 3392 | |||
| 3393 | @defun smie-precs->prec2 precs | ||
| 3394 | This function builds a @emph{prec2} table from a table of precedences | ||
| 3395 | @var{precs}. @var{precs} should be a list, sorted by precedence (for | ||
| 3396 | example @code{"+"} will come before @code{"*"}), of elements of the form | ||
| 3397 | @code{(@var{assoc} @var{op} ...)}, where each @var{op} is a token that | ||
| 3398 | acts as an operator; @var{assoc} is their associativity, which can be | ||
| 3399 | either @code{left}, @code{right}, @code{assoc}, or @code{nonassoc}. | ||
| 3400 | All operators in a given element share the same precedence level | ||
| 3401 | and associativity. | ||
| 3402 | @end defun | ||
| 3403 | |||
| 3404 | @defun smie-bnf->prec2 bnf &rest resolvers | ||
| 3405 | This function lets you specify the grammar using a BNF notation. | ||
| 3406 | It accepts a @var{bnf} description of the grammar along with a set of | ||
| 3407 | conflict resolution rules @var{resolvers}, and | ||
| 3408 | returns a @emph{prec2} table. | ||
| 3409 | |||
| 3410 | @var{bnf} is a list of nonterminal definitions of the form | ||
| 3411 | @code{(@var{nonterm} @var{rhs1} @var{rhs2} ...)} where each @var{rhs} | ||
| 3412 | is a (non-empty) list of terminals (aka tokens) or non-terminals. | ||
| 3413 | |||
| 3414 | Not all grammars are accepted: | ||
| 3415 | @itemize | ||
| 3416 | @item | ||
| 3417 | An @var{rhs} cannot be an empty list (an empty list is never needed, | ||
| 3418 | since SMIE allows all non-terminals to match the empty string anyway). | ||
| 3419 | @item | ||
| 3420 | An @var{rhs} cannot have 2 consecutive non-terminals: each pair of | ||
| 3421 | non-terminals needs to be separated by a terminal (aka token). | ||
| 3422 | This is a fundamental limitation of operator precedence grammars. | ||
| 3423 | @end itemize | ||
| 3424 | |||
| 3425 | Additionally, conflicts can occur: | ||
| 3426 | @itemize | ||
| 3427 | @item | ||
| 3428 | The returned @emph{prec2} table holds constraints between pairs of tokens, and | ||
| 3429 | for any given pair only one constraint can be present: T1 < T2, | ||
| 3430 | T1 = T2, or T1 > T2. | ||
| 3431 | @item | ||
| 3432 | A token can be an @code{opener} (something similar to an open-paren), | ||
| 3433 | a @code{closer} (like a close-paren), or @code{neither} of the two | ||
| 3434 | (e.g. an infix operator, or an inner token like @code{"else"}). | ||
| 3435 | @end itemize | ||
| 3436 | |||
| 3437 | Precedence conflicts can be resolved via @var{resolvers}, which | ||
| 3438 | is a list of @emph{precs} tables (see @code{smie-precs->prec2}): for | ||
| 3439 | each precedence conflict, if those @code{precs} tables | ||
| 3440 | specify a particular constraint, then the conflict is resolved by using | ||
| 3441 | this constraint instead, else a conflict is reported and one of the | ||
| 3442 | conflicting constraints is picked arbitrarily and the others are | ||
| 3443 | simply ignored. | ||
| 3444 | @end defun | ||
| 3445 | |||
| 3446 | @node SMIE Grammar | ||
| 3447 | @subsubsection Defining the Grammar of a Language | ||
| 3448 | |||
| 3449 | The usual way to define the SMIE grammar of a language is by | ||
| 3450 | defining a new global variable that holds the precedence table by | ||
| 3451 | giving a set of BNF rules. | ||
| 3452 | For example, the grammar definition for a small Pascal-like language | ||
| 3453 | could look like: | ||
| 3454 | @example | ||
| 3455 | @group | ||
| 3456 | (require 'smie) | ||
| 3457 | (defvar sample-smie-grammar | ||
| 3458 | (smie-prec2->grammar | ||
| 3459 | (smie-bnf->prec2 | ||
| 3460 | @end group | ||
| 3461 | @group | ||
| 3462 | '((id) | ||
| 3463 | (inst ("begin" insts "end") | ||
| 3464 | ("if" exp "then" inst "else" inst) | ||
| 3465 | (id ":=" exp) | ||
| 3466 | (exp)) | ||
| 3467 | (insts (insts ";" insts) (inst)) | ||
| 3468 | (exp (exp "+" exp) | ||
| 3469 | (exp "*" exp) | ||
| 3470 | ("(" exps ")")) | ||
| 3471 | (exps (exps "," exps) (exp))) | ||
| 3472 | @end group | ||
| 3473 | @group | ||
| 3474 | '((assoc ";")) | ||
| 3475 | '((assoc ",")) | ||
| 3476 | '((assoc "+") (assoc "*"))))) | ||
| 3477 | @end group | ||
| 3478 | @end example | ||
| 3479 | |||
| 3480 | @noindent | ||
| 3481 | A few things to note: | ||
| 3482 | |||
| 3483 | @itemize | ||
| 3484 | @item | ||
| 3485 | The above grammar does not explicitly mention the syntax of function | ||
| 3486 | calls: SMIE will automatically allow any sequence of sexps, such as | ||
| 3487 | identifiers, balanced parentheses, or @code{begin ... end} blocks | ||
| 3488 | to appear anywhere anyway. | ||
| 3489 | @item | ||
| 3490 | The grammar category @code{id} has no right hand side: this does not | ||
| 3491 | mean that it can match only the empty string, since as mentioned any | ||
| 3492 | sequence of sexps can appear anywhere anyway. | ||
| 3493 | @item | ||
| 3494 | Because non terminals cannot appear consecutively in the BNF grammar, it | ||
| 3495 | is difficult to correctly handle tokens that act as terminators, so the | ||
| 3496 | above grammar treats @code{";"} as a statement @emph{separator} instead, | ||
| 3497 | which SMIE can handle very well. | ||
| 3498 | @item | ||
| 3499 | Separators used in sequences (such as @code{","} and @code{";"} above) | ||
| 3500 | are best defined with BNF rules such as @code{(foo (foo "separator" foo) ...)} | ||
| 3501 | which generate precedence conflicts which are then resolved by giving | ||
| 3502 | them an explicit @code{(assoc "separator")}. | ||
| 3503 | @item | ||
| 3504 | The @code{("(" exps ")")} rule was not needed to pair up parens, since | ||
| 3505 | SMIE will pair up any characters that are marked as having paren syntax | ||
| 3506 | in the syntax table. What this rule does instead (together with the | ||
| 3507 | definition of @code{exps}) is to make it clear that @code{","} should | ||
| 3508 | not appear outside of parentheses. | ||
| 3509 | @item | ||
| 3510 | Rather than have a single @emph{precs} table to resolve conflicts, it is | ||
| 3511 | preferable to have several tables, so as to let the BNF part of the | ||
| 3512 | grammar specify relative precedences where possible. | ||
| 3513 | @item | ||
| 3514 | Unless there is a very good reason to prefer @code{left} or | ||
| 3515 | @code{right}, it is usually preferable to mark operators as associative, | ||
| 3516 | using @code{assoc}. For that reason @code{"+"} and @code{"*"} are | ||
| 3517 | defined above as @code{assoc}, although the language defines them | ||
| 3518 | formally as left associative. | ||
| 3519 | @end itemize | ||
| 3520 | |||
| 3521 | @node SMIE Lexer | ||
| 3522 | @subsubsection Defining Tokens | ||
| 3523 | |||
| 3524 | SMIE comes with a predefined lexical analyzer which uses syntax tables | ||
| 3525 | in the following way: any sequence of characters that have word or | ||
| 3526 | symbol syntax is considered a token, and so is any sequence of | ||
| 3527 | characters that have punctuation syntax. This default lexer is | ||
| 3528 | often a good starting point but is rarely actually correct for any given | ||
| 3529 | language. For example, it will consider @code{"2,+3"} to be composed | ||
| 3530 | of 3 tokens: @code{"2"}, @code{",+"}, and @code{"3"}. | ||
| 3531 | |||
| 3532 | To describe the lexing rules of your language to SMIE, you need | ||
| 3533 | 2 functions, one to fetch the next token, and another to fetch the | ||
| 3534 | previous token. Those functions will usually first skip whitespace and | ||
| 3535 | comments and then look at the next chunk of text to see if it | ||
| 3536 | is a special token. If so it should skip the token and | ||
| 3537 | return a description of this token. Usually this is simply the string | ||
| 3538 | extracted from the buffer, but it can be anything you want. | ||
| 3539 | For example: | ||
| 3540 | @example | ||
| 3541 | @group | ||
| 3542 | (defvar sample-keywords-regexp | ||
| 3543 | (regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "="))) | ||
| 3544 | @end group | ||
| 3545 | @group | ||
| 3546 | (defun sample-smie-forward-token () | ||
| 3547 | (forward-comment (point-max)) | ||
| 3548 | (cond | ||
| 3549 | ((looking-at sample-keywords-regexp) | ||
| 3550 | (goto-char (match-end 0)) | ||
| 3551 | (match-string-no-properties 0)) | ||
| 3552 | (t (buffer-substring-no-properties | ||
| 3553 | (point) | ||
| 3554 | (progn (skip-syntax-forward "w_") | ||
| 3555 | (point)))))) | ||
| 3556 | @end group | ||
| 3557 | @group | ||
| 3558 | (defun sample-smie-backward-token () | ||
| 3559 | (forward-comment (- (point))) | ||
| 3560 | (cond | ||
| 3561 | ((looking-back sample-keywords-regexp (- (point) 2) t) | ||
| 3562 | (goto-char (match-beginning 0)) | ||
| 3563 | (match-string-no-properties 0)) | ||
| 3564 | (t (buffer-substring-no-properties | ||
| 3565 | (point) | ||
| 3566 | (progn (skip-syntax-backward "w_") | ||
| 3567 | (point)))))) | ||
| 3568 | @end group | ||
| 3569 | @end example | ||
| 3570 | |||
| 3571 | Notice how those lexers return the empty string when in front of | ||
| 3572 | parentheses. This is because SMIE automatically takes care of the | ||
| 3573 | parentheses defined in the syntax table. More specifically if the lexer | ||
| 3574 | returns nil or an empty string, SMIE tries to handle the corresponding | ||
| 3575 | text as a sexp according to syntax tables. | ||
| 3576 | |||
| 3577 | @node SMIE Tricks | ||
| 3578 | @subsubsection Living With a Weak Parser | ||
| 3579 | |||
| 3580 | The parsing technique used by SMIE does not allow tokens to behave | ||
| 3581 | differently in different contexts. For most programming languages, this | ||
| 3582 | manifests itself by precedence conflicts when converting the | ||
| 3583 | BNF grammar. | ||
| 3584 | |||
| 3585 | Sometimes, those conflicts can be worked around by expressing the | ||
| 3586 | grammar slightly differently. For example, for Modula-2 it might seem | ||
| 3587 | natural to have a BNF grammar that looks like this: | ||
| 3588 | |||
| 3589 | @example | ||
| 3590 | ... | ||
| 3591 | (inst ("IF" exp "THEN" insts "ELSE" insts "END") | ||
| 3592 | ("CASE" exp "OF" cases "END") | ||
| 3593 | ...) | ||
| 3594 | (cases (cases "|" cases) (caselabel ":" insts) ("ELSE" insts)) | ||
| 3595 | ... | ||
| 3596 | @end example | ||
| 3597 | |||
| 3598 | But this will create conflicts for @code{"ELSE"}: on the one hand, the | ||
| 3599 | IF rule implies (among many other things) that @code{"ELSE" = "END"}; | ||
| 3600 | but on the other hand, since @code{"ELSE"} appears within @code{cases}, | ||
| 3601 | which appears left of @code{"END"}, we also have @code{"ELSE" > "END"}. | ||
| 3602 | We can solve the conflict either by using: | ||
| 3603 | @example | ||
| 3604 | ... | ||
| 3605 | (inst ("IF" exp "THEN" insts "ELSE" insts "END") | ||
| 3606 | ("CASE" exp "OF" cases "END") | ||
| 3607 | ("CASE" exp "OF" cases "ELSE" insts "END") | ||
| 3608 | ...) | ||
| 3609 | (cases (cases "|" cases) (caselabel ":" insts)) | ||
| 3610 | ... | ||
| 3611 | @end example | ||
| 3612 | or | ||
| 3613 | @example | ||
| 3614 | ... | ||
| 3615 | (inst ("IF" exp "THEN" else "END") | ||
| 3616 | ("CASE" exp "OF" cases "END") | ||
| 3617 | ...) | ||
| 3618 | (else (insts "ELSE" insts)) | ||
| 3619 | (cases (cases "|" cases) (caselabel ":" insts) (else)) | ||
| 3620 | ... | ||
| 3621 | @end example | ||
| 3622 | |||
| 3623 | Reworking the grammar to try and solve conflicts has its downsides, tho, | ||
| 3624 | because SMIE assumes that the grammar reflects the logical structure of | ||
| 3625 | the code, so it is preferable to keep the BNF closer to the intended | ||
| 3626 | abstract syntax tree. | ||
| 3627 | |||
| 3628 | Other times, after careful consideration you may conclude that those | ||
| 3629 | conflicts are not serious and simply resolve them via the | ||
| 3630 | @var{resolvers} argument of @code{smie-bnf->prec2}. Usually this is | ||
| 3631 | because the grammar is simply ambiguous: the conflict does not affect | ||
| 3632 | the set of programs described by the grammar, but only the way those | ||
| 3633 | programs are parsed. This is typically the case for separators and | ||
| 3634 | associative infix operators, where you want to add a resolver like | ||
| 3635 | @code{'((assoc "|"))}. Another case where this can happen is for the | ||
| 3636 | classic @emph{dangling else} problem, where you will use @code{'((assoc | ||
| 3637 | "else" "then"))}. It can also happen for cases where the conflict is | ||
| 3638 | real and cannot really be resolved, but it is unlikely to pose a problem | ||
| 3639 | in practice. | ||
| 3640 | |||
| 3641 | Finally, in many cases some conflicts will remain despite all efforts to | ||
| 3642 | restructure the grammar. Do not despair: while the parser cannot be | ||
| 3643 | made more clever, you can make the lexer as smart as you want. So, the | ||
| 3644 | solution is then to look at the tokens involved in the conflict and to | ||
| 3645 | split one of those tokens into 2 (or more) different tokens. E.g. if | ||
| 3646 | the grammar needs to distinguish between two incompatible uses of the | ||
| 3647 | token @code{"begin"}, make the lexer return different tokens (say | ||
| 3648 | @code{"begin-fun"} and @code{"begin-plain"}) depending on which kind of | ||
| 3649 | @code{"begin"} it finds. This pushes the work of distinguishing the | ||
| 3650 | different cases to the lexer, which will thus have to look at the | ||
| 3651 | surrounding text to find ad-hoc clues. | ||
| 3652 | |||
| 3653 | @node SMIE Indentation | ||
| 3654 | @subsubsection Specifying Indentation Rules | ||
| 3655 | |||
| 3656 | Based on the provided grammar, SMIE will be able to provide automatic | ||
| 3657 | indentation without any extra effort. But in practice, this default | ||
| 3658 | indentation style will probably not be good enough. You will want to | ||
| 3659 | tweak it in many different cases. | ||
| 3660 | |||
| 3661 | SMIE indentation is based on the idea that indentation rules should be | ||
| 3662 | as local as possible. To this end, it relies on the idea of | ||
| 3663 | @emph{virtual} indentation, which is the indentation that a particular | ||
| 3664 | program point would have if it were at the beginning of a line. | ||
| 3665 | Of course, if that program point is indeed at the beginning of a line, | ||
| 3666 | its virtual indentation is its current indentation. But if not, then | ||
| 3667 | SMIE uses the indentation algorithm to compute the virtual indentation | ||
| 3668 | of that point. Now in practice, the virtual indentation of a program | ||
| 3669 | point does not have to be identical to the indentation it would have if | ||
| 3670 | we inserted a newline before it. To see how this works, the SMIE rule | ||
| 3671 | for indentation after a @code{@{} in C does not care whether the | ||
| 3672 | @code{@{} is standing on a line of its own or is at the end of the | ||
| 3673 | preceding line. Instead, these different cases are handled in the | ||
| 3674 | indentation rule that decides how to indent before a @code{@{}. | ||
| 3675 | |||
| 3676 | Another important concept is the notion of @emph{parent}: The | ||
| 3677 | @emph{parent} of a token, is the head token of the nearest enclosing | ||
| 3678 | syntactic construct. For example, the parent of an @code{else} is the | ||
| 3679 | @code{if} to which it belongs, and the parent of an @code{if}, in turn, | ||
| 3680 | is the lead token of the surrounding construct. The command | ||
| 3681 | @code{backward-sexp} jumps from a token to its parent, but there are | ||
| 3682 | some caveats: for @emph{openers} (tokens which start a construct, like | ||
| 3683 | @code{if}), you need to start with point before the token, while for | ||
| 3684 | others you need to start with point after the token. | ||
| 3685 | @code{backward-sexp} stops with point before the parent token if that is | ||
| 3686 | the @emph{opener} of the token of interest, and otherwise it stops with | ||
| 3687 | point after the parent token. | ||
| 3688 | |||
| 3689 | SMIE indentation rules are specified using a function that takes two | ||
| 3690 | arguments @var{method} and @var{arg} where the meaning of @var{arg} and the | ||
| 3691 | expected return value depend on @var{method}. | ||
| 3692 | |||
| 3693 | @var{method} can be: | ||
| 3694 | @itemize | ||
| 3695 | @item | ||
| 3696 | @code{:after}, in which case @var{arg} is a token and the function | ||
| 3697 | should return the @var{offset} to use for indentation after @var{arg}. | ||
| 3698 | @item | ||
| 3699 | @code{:before}, in which case @var{arg} is a token and the function | ||
| 3700 | should return the @var{offset} to use to indent @var{arg} itself. | ||
| 3701 | @item | ||
| 3702 | @code{:elem}, in which case the function should return either the offset | ||
| 3703 | to use to indent function arguments (if @var{arg} is the symbol | ||
| 3704 | @code{arg}) or the basic indentation step (if @var{arg} is the symbol | ||
| 3705 | @code{basic}). | ||
| 3706 | @item | ||
| 3707 | @code{:list-intro}, in which case @var{arg} is a token and the function | ||
| 3708 | should return non-@code{nil} if the token is followed by a list of | ||
| 3709 | expressions (not separated by any token) rather than an expression. | ||
| 3710 | @end itemize | ||
| 3711 | |||
| 3712 | When @var{arg} is a token, the function is called with point just before | ||
| 3713 | that token. A return value of nil always means to fallback on the | ||
| 3714 | default behavior, so the function should return nil for arguments it | ||
| 3715 | does not expect. | ||
| 3716 | |||
| 3717 | @var{offset} can be: | ||
| 3718 | @itemize | ||
| 3719 | @item | ||
| 3720 | @code{nil}: use the default indentation rule. | ||
| 3721 | @item | ||
| 3722 | @code{(column . @var{column})}: indent to column @var{column}. | ||
| 3723 | @item | ||
| 3724 | @var{number}: offset by @var{number}, relative to a base token which is | ||
| 3725 | the current token for @code{:after} and its parent for @code{:before}. | ||
| 3726 | @end itemize | ||
| 3727 | |||
| 3728 | @node SMIE Indentation Helpers | ||
| 3729 | @subsubsection Helper Functions for Indentation Rules | ||
| 3730 | |||
| 3731 | SMIE provides various functions designed specifically for use in the | ||
| 3732 | indentation rules function (several of those functions break if used in | ||
| 3733 | another context). These functions all start with the prefix | ||
| 3734 | @code{smie-rule-}. | ||
| 3735 | |||
| 3736 | @defun smie-rule-bolp | ||
| 3737 | Return non-@code{nil} if the current token is the first on the line. | ||
| 3738 | @end defun | ||
| 3739 | |||
| 3740 | @defun smie-rule-hanging-p | ||
| 3741 | Return non-@code{nil} if the current token is @emph{hanging}. | ||
| 3742 | A token is @emph{hanging} if it is the last token on the line | ||
| 3743 | and if it is preceded by other tokens: a lone token on a line is not | ||
| 3744 | hanging. | ||
| 3745 | @end defun | ||
| 3746 | |||
| 3747 | @defun smie-rule-next-p &rest tokens | ||
| 3748 | Return non-@code{nil} if the next token is among @var{tokens}. | ||
| 3749 | @end defun | ||
| 3750 | |||
| 3751 | @defun smie-rule-prev-p &rest tokens | ||
| 3752 | Return non-@code{nil} if the previous token is among @var{tokens}. | ||
| 3753 | @end defun | ||
| 3754 | |||
| 3755 | @defun smie-rule-parent-p &rest parents | ||
| 3756 | Return non-@code{nil} if the current token's parent is among @var{parents}. | ||
| 3757 | @end defun | ||
| 3758 | |||
| 3759 | @defun smie-rule-sibling-p | ||
| 3760 | Return non-nil if the current token's parent is actually a sibling. | ||
| 3761 | This is the case for example when the parent of a @code{","} is just the | ||
| 3762 | previous @code{","}. | ||
| 3763 | @end defun | ||
| 3764 | |||
| 3765 | @defun smie-rule-parent &optional offset | ||
| 3766 | Return the proper offset to align the current token with the parent. | ||
| 3767 | If non-@code{nil}, @var{offset} should be an integer giving an | ||
| 3768 | additional offset to apply. | ||
| 3769 | @end defun | ||
| 3770 | |||
| 3771 | @defun smie-rule-separator method | ||
| 3772 | Indent current token as a @emph{separator}. | ||
| 3773 | |||
| 3774 | By @emph{separator}, we mean here a token whose sole purpose is to | ||
| 3775 | separate various elements within some enclosing syntactic construct, and | ||
| 3776 | which does not have any semantic significance in itself (i.e. it would | ||
| 3777 | typically not exist as a node in an abstract syntax tree). | ||
| 3778 | |||
| 3779 | Such a token is expected to have an associative syntax and be closely | ||
| 3780 | tied to its syntactic parent. Typical examples are @code{","} in lists | ||
| 3781 | of arguments (enclosed inside parentheses), or @code{";"} in sequences | ||
| 3782 | of instructions (enclosed in a @code{@{...@}} or @code{begin...end} | ||
| 3783 | block). | ||
| 3784 | |||
| 3785 | @var{method} should be the method name that was passed to | ||
| 3786 | `smie-rules-function'. | ||
| 3787 | @end defun | ||
| 3788 | |||
| 3789 | @node SMIE Indentation Example | ||
| 3790 | @subsubsection Sample Indentation Rules | ||
| 3791 | |||
| 3792 | Here is an example of an indentation function: | ||
| 3793 | |||
| 3794 | @example | ||
| 3795 | (defun sample-smie-rules (kind token) | ||
| 3796 | (pcase (cons kind token) | ||
| 3797 | (`(:elem . basic) sample-indent-basic) | ||
| 3798 | (`(,_ . ",") (smie-rule-separator kind)) | ||
| 3799 | (`(:after . ":=") sample-indent-basic) | ||
| 3800 | (`(:before . ,(or `"begin" `"(" `"@{"))) | ||
| 3801 | (if (smie-rule-hanging-p) (smie-rule-parent))) | ||
| 3802 | (`(:before . "if") | ||
| 3803 | (and (not (smie-rule-bolp)) (smie-rule-prev-p "else") | ||
| 3804 | (smie-rule-parent))))) | ||
| 3805 | @end example | ||
| 3806 | |||
| 3807 | @noindent | ||
| 3808 | A few things to note: | ||
| 3809 | |||
| 3810 | @itemize | ||
| 3811 | @item | ||
| 3812 | The first case indicates the basic indentation increment to use. | ||
| 3813 | If @code{sample-indent-basic} is nil, then SMIE uses the global | ||
| 3814 | setting @code{smie-indent-basic}. The major mode could have set | ||
| 3815 | @code{smie-indent-basic} buffer-locally instead, but that | ||
| 3816 | is discouraged. | ||
| 3817 | |||
| 3818 | @item | ||
| 3819 | The rule for the token @code{","} make SMIE try to be more clever when | ||
| 3820 | the comma separator is placed at the beginning of lines. It tries to | ||
| 3821 | outdent the separator so as to align the code after the comma; for | ||
| 3822 | example: | ||
| 3823 | |||
| 3824 | @example | ||
| 3825 | x = longfunctionname ( | ||
| 3826 | arg1 | ||
| 3827 | , arg2 | ||
| 3828 | ); | ||
| 3829 | @end example | ||
| 3830 | |||
| 3831 | @item | ||
| 3832 | The rule for indentation after @code{":="} exists because otherwise | ||
| 3833 | SMIE would treat @code{":="} as an infix operator and would align the | ||
| 3834 | right argument with the left one. | ||
| 3835 | |||
| 3836 | @item | ||
| 3837 | The rule for indentation before @code{"begin"} is an example of the use | ||
| 3838 | of virtual indentation: This rule is used only when @code{"begin"} is | ||
| 3839 | hanging, which can happen only when @code{"begin"} is not at the | ||
| 3840 | beginning of a line. So this is not used when indenting | ||
| 3841 | @code{"begin"} itself but only when indenting something relative to this | ||
| 3842 | @code{"begin"}. Concretely, this rule changes the indentation from: | ||
| 3843 | |||
| 3844 | @example | ||
| 3845 | if x > 0 then begin | ||
| 3846 | dosomething(x); | ||
| 3847 | end | ||
| 3848 | @end example | ||
| 3849 | to | ||
| 3850 | @example | ||
| 3851 | if x > 0 then begin | ||
| 3852 | dosomething(x); | ||
| 3853 | end | ||
| 3854 | @end example | ||
| 3855 | |||
| 3856 | @item | ||
| 3857 | The rule for indentation before @code{"if"} is similar to the one for | ||
| 3858 | @code{"begin"}, but where the purpose is to treat @code{"else if"} | ||
| 3859 | as a single unit, so as to align a sequence of tests rather than indent | ||
| 3860 | each test further to the right. This function does this only in the | ||
| 3861 | case where the @code{"if"} is not placed on a separate line, hence the | ||
| 3862 | @code{smie-rule-bolp} test. | ||
| 3863 | |||
| 3864 | If we know that the @code{"else"} is always aligned with its @code{"if"} | ||
| 3865 | and is always at the beginning of a line, we can use a more efficient | ||
| 3866 | rule: | ||
| 3867 | @example | ||
| 3868 | ((equal token "if") | ||
| 3869 | (and (not (smie-rule-bolp)) (smie-rule-prev-p "else") | ||
| 3870 | (save-excursion | ||
| 3871 | (sample-smie-backward-token) ;Jump before the "else". | ||
| 3872 | (cons 'column (current-column))))) | ||
| 3873 | @end example | ||
| 3874 | |||
| 3875 | The advantage of this formulation is that it reuses the indentation of | ||
| 3876 | the previous @code{"else"}, rather than going all the way back to the | ||
| 3877 | first @code{"if"} of the sequence. | ||
| 3878 | @end itemize | ||
| 3879 | |||
| 3226 | @node Desktop Save Mode | 3880 | @node Desktop Save Mode |
| 3227 | @section Desktop Save Mode | 3881 | @section Desktop Save Mode |
| 3228 | @cindex desktop save mode | 3882 | @cindex desktop save mode |
| @@ -3276,5 +3930,7 @@ optionally bound to @code{desktop-save-buffer}. | |||
| 3276 | @end defvar | 3930 | @end defvar |
| 3277 | 3931 | ||
| 3278 | @ignore | 3932 | @ignore |
| 3279 | arch-tag: 4c7bff41-36e6-4da6-9e7f-9b9289e27c8e | 3933 | Local Variables: |
| 3934 | fill-column: 72 | ||
| 3935 | End: | ||
| 3280 | @end ignore | 3936 | @end ignore |
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 1c196c93f27..409ecc7e20c 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/characters | 5 | @setfilename ../../info/characters |
| 7 | @node Non-ASCII Characters, Searching and Matching, Text, Top | 6 | @node Non-ASCII Characters, Searching and Matching, Text, Top |
| @@ -1921,7 +1920,3 @@ strings in the return value are decoded using | |||
| 1921 | @code{locale-coding-system}. @xref{Locales,,, libc, The GNU Libc Manual}, | 1920 | @code{locale-coding-system}. @xref{Locales,,, libc, The GNU Libc Manual}, |
| 1922 | for more information about locales and locale items. | 1921 | for more information about locales and locale items. |
| 1923 | @end defun | 1922 | @end defun |
| 1924 | |||
| 1925 | @ignore | ||
| 1926 | arch-tag: be705bf8-941b-4c35-84fc-ad7d20ddb7cb | ||
| 1927 | @end ignore | ||
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index e83da348e05..23150c2c937 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/numbers | 6 | @setfilename ../../info/numbers |
| @@ -1217,7 +1216,3 @@ On some machines, any integer representable in Lisp may be the result | |||
| 1217 | of @code{random}. On other machines, the result can never be larger | 1216 | of @code{random}. On other machines, the result can never be larger |
| 1218 | than a certain maximum or less than a certain (negative) minimum. | 1217 | than a certain maximum or less than a certain (negative) minimum. |
| 1219 | @end defun | 1218 | @end defun |
| 1220 | |||
| 1221 | @ignore | ||
| 1222 | arch-tag: 574e8dd2-d513-4616-9844-c9a27869782e | ||
| 1223 | @end ignore | ||
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 93776f3b4f0..a20c50b63d6 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/objects | 6 | @setfilename ../../info/objects |
| @@ -2143,7 +2142,3 @@ that for two strings to be equal, they have the same text properties. | |||
| 2143 | @end group | 2142 | @end group |
| 2144 | @end example | 2143 | @end example |
| 2145 | @end defun | 2144 | @end defun |
| 2146 | |||
| 2147 | @ignore | ||
| 2148 | arch-tag: 9711a66e-4749-4265-9e8c-972d55b67096 | ||
| 2149 | @end ignore | ||
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index e99e3fe89d8..576f847d98e 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/os | 6 | @setfilename ../../info/os |
| @@ -2237,7 +2236,3 @@ be loaded through it. | |||
| 2237 | This variable is ignored if the given @var{library} is statically | 2236 | This variable is ignored if the given @var{library} is statically |
| 2238 | linked into Emacs. | 2237 | linked into Emacs. |
| 2239 | @end defvar | 2238 | @end defvar |
| 2240 | |||
| 2241 | @ignore | ||
| 2242 | arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7 | ||
| 2243 | @end ignore | ||
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi index 138f8d934e6..373e1e2b5c7 100644 --- a/doc/lispref/package.texi +++ b/doc/lispref/package.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 2010 | 3 | @c Copyright (C) 2010-2011 Free Software Foundation, Inc. |
| 4 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/package | 5 | @setfilename ../../info/package |
| 7 | @node Packaging, Antinews, System Interface, Top | 6 | @node Packaging, Antinews, System Interface, Top |
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 3a6fc6fbc34..a44cd1fbcc7 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/positions | 5 | @setfilename ../../info/positions |
| 7 | @node Positions, Markers, Frames, Top | 6 | @node Positions, Markers, Frames, Top |
| @@ -985,7 +984,3 @@ This is the contents of foo@point{} | |||
| 985 | @end group | 984 | @end group |
| 986 | @end example | 985 | @end example |
| 987 | @end defspec | 986 | @end defspec |
| 988 | |||
| 989 | @ignore | ||
| 990 | arch-tag: 56e8ff26-4ffe-4832-a141-7e991a2d0f87 | ||
| 991 | @end ignore | ||
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 89f97f99de3..8a8de0e7fa8 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/processes | 6 | @setfilename ../../info/processes |
| @@ -195,10 +194,18 @@ a shell command: | |||
| 195 | @end example | 194 | @end example |
| 196 | @end defun | 195 | @end defun |
| 197 | 196 | ||
| 198 | @cindex quoting and unquoting shell command line | 197 | @cindex quoting and unquoting command-line arguments |
| 199 | The following two functions are useful for creating shell commands | 198 | @cindex minibuffer input, and command-line arguments |
| 200 | from individual argument strings, and taking shell command lines apart | 199 | @cindex @code{call-process}, command-line arguments from minibuffer |
| 201 | into individual arguments. | 200 | @cindex @code{start-process}, command-line arguments from minibuffer |
| 201 | The following two functions are useful for combining a list of | ||
| 202 | individual command-line argument strings into a single string, and | ||
| 203 | taking a string apart into a list of individual command-line | ||
| 204 | arguments. These functions are mainly intended to be used for | ||
| 205 | converting user input in the minibuffer, a Lisp string, into a list of | ||
| 206 | string arguments to be passed to @code{call-process} or | ||
| 207 | @code{start-process}, or for the converting such lists of arguments in | ||
| 208 | a single Lisp string to be presented in the minibuffer or echo area. | ||
| 202 | 209 | ||
| 203 | @defun split-string-and-unquote string &optional separators | 210 | @defun split-string-and-unquote string &optional separators |
| 204 | This function splits @var{string} into substrings at matches for the | 211 | This function splits @var{string} into substrings at matches for the |
| @@ -210,7 +217,7 @@ If @var{separators} is omitted or @code{nil}, it defaults to | |||
| 210 | @code{"\\s-+"}, which is a regular expression that matches one or more | 217 | @code{"\\s-+"}, which is a regular expression that matches one or more |
| 211 | characters with whitespace syntax (@pxref{Syntax Class Table}). | 218 | characters with whitespace syntax (@pxref{Syntax Class Table}). |
| 212 | 219 | ||
| 213 | This function performs two types of quoting: enclosing a whole string | 220 | This function supports two types of quoting: enclosing a whole string |
| 214 | in double quotes @code{"@dots{}"}, and quoting individual characters | 221 | in double quotes @code{"@dots{}"}, and quoting individual characters |
| 215 | with a backslash escape @samp{\}. The latter is also used in Lisp | 222 | with a backslash escape @samp{\}. The latter is also used in Lisp |
| 216 | strings, so this function can handle those as well. | 223 | strings, so this function can handle those as well. |
| @@ -226,9 +233,8 @@ resulting string. | |||
| 226 | The strings in @var{list-of-strings} that need quoting are those that | 233 | The strings in @var{list-of-strings} that need quoting are those that |
| 227 | include @var{separator} as their substring. Quoting a string encloses | 234 | include @var{separator} as their substring. Quoting a string encloses |
| 228 | it in double quotes @code{"@dots{}"}. In the simplest case, if you | 235 | it in double quotes @code{"@dots{}"}. In the simplest case, if you |
| 229 | are consing a shell command from the individual command-line | 236 | are consing a command from the individual command-line arguments, |
| 230 | arguments, every argument that includes embedded blanks will be | 237 | every argument that includes embedded blanks will be quoted. |
| 231 | quoted. | ||
| 232 | @end defun | 238 | @end defun |
| 233 | 239 | ||
| 234 | @node Synchronous Processes | 240 | @node Synchronous Processes |
| @@ -3011,7 +3017,3 @@ Fetching data from this structure: | |||
| 3011 | (bindat-get-field decoded 'item 1 'id) | 3017 | (bindat-get-field decoded 'item 1 'id) |
| 3012 | @result{} "BCDEFG" | 3018 | @result{} "BCDEFG" |
| 3013 | @end lisp | 3019 | @end lisp |
| 3014 | |||
| 3015 | @ignore | ||
| 3016 | arch-tag: ba9da253-e65f-4e7f-b727-08fba0a1df7a | ||
| 3017 | @end ignore | ||
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 6cc7d451a6e..27b089f75b6 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/searching | 6 | @setfilename ../../info/searching |
| @@ -386,15 +385,6 @@ matches both @samp{]} and @samp{-}. | |||
| 386 | To include @samp{^} in a character alternative, put it anywhere but at | 385 | To include @samp{^} in a character alternative, put it anywhere but at |
| 387 | the beginning. | 386 | the beginning. |
| 388 | 387 | ||
| 389 | The beginning and end of a range of multibyte characters must be in | ||
| 390 | the same character set (@pxref{Character Sets}). Thus, | ||
| 391 | @code{"[\x8e0-\x97c]"} is invalid because character 0x8e0 (@samp{a} | ||
| 392 | with grave accent) is in the Emacs character set for Latin-1 but the | ||
| 393 | character 0x97c (@samp{u} with diaeresis) is in the Emacs character | ||
| 394 | set for Latin-2. (We use Lisp string syntax to write that example, | ||
| 395 | and a few others in the next few paragraphs, in order to include hex | ||
| 396 | escape sequences in them.) | ||
| 397 | |||
| 398 | If a range starts with a unibyte character @var{c} and ends with a | 388 | If a range starts with a unibyte character @var{c} and ends with a |
| 399 | multibyte character @var{c2}, the range is divided into two parts: one | 389 | multibyte character @var{c2}, the range is divided into two parts: one |
| 400 | is @samp{@var{c}..?\377}, the other is @samp{@var{c1}..@var{c2}}, where | 390 | is @samp{@var{c}..?\377}, the other is @samp{@var{c1}..@var{c2}}, where |
| @@ -1831,7 +1821,3 @@ values of the variables @code{sentence-end-double-space} | |||
| 1831 | @code{sentence-end-without-period} and | 1821 | @code{sentence-end-without-period} and |
| 1832 | @code{sentence-end-without-space}. | 1822 | @code{sentence-end-without-space}. |
| 1833 | @end defun | 1823 | @end defun |
| 1834 | |||
| 1835 | @ignore | ||
| 1836 | arch-tag: c2573ca2-18aa-4839-93b8-924043ef831f | ||
| 1837 | @end ignore | ||
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index a73c4790b96..825dd976eac 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/sequences | 6 | @setfilename ../../info/sequences |
| @@ -729,7 +728,3 @@ bv | |||
| 729 | @noindent | 728 | @noindent |
| 730 | These results make sense because the binary codes for control-_ and | 729 | These results make sense because the binary codes for control-_ and |
| 731 | control-W are 11111 and 10111, respectively. | 730 | control-W are 11111 and 10111, respectively. |
| 732 | |||
| 733 | @ignore | ||
| 734 | arch-tag: fcf1084a-cd29-4adc-9f16-68586935b386 | ||
| 735 | @end ignore | ||
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 3722e7d33d3..9802c7485dd 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1994, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/streams | 5 | @setfilename ../../info/streams |
| 7 | @node Read and Print, Minibuffers, Debugging, Top | 6 | @node Read and Print, Minibuffers, Debugging, Top |
| @@ -837,7 +836,3 @@ variable. The string should hold a @samp{%}-specification to be used | |||
| 837 | in the C function @code{sprintf}. For further restrictions on what | 836 | in the C function @code{sprintf}. For further restrictions on what |
| 838 | you can use, see the variable's documentation string. | 837 | you can use, see the variable's documentation string. |
| 839 | @end defvar | 838 | @end defvar |
| 840 | |||
| 841 | @ignore | ||
| 842 | arch-tag: 07636b8c-c4e3-4735-9e06-2e864320b434 | ||
| 843 | @end ignore | ||
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 94d2765a833..ce080bc221f 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/strings | 6 | @setfilename ../../info/strings |
| @@ -348,9 +347,9 @@ practice: | |||
| 348 | @result{} ("o" "o" "o") | 347 | @result{} ("o" "o" "o") |
| 349 | @end example | 348 | @end example |
| 350 | 349 | ||
| 351 | If you need to split a string that is a shell command, where | 350 | If you need to split a string into a list of individual command-line |
| 352 | individual arguments could be quoted, see @ref{Shell Arguments, | 351 | arguments suitable for @code{call-process} or @code{start-process}, |
| 353 | split-string-and-unquote}. | 352 | see @ref{Shell Arguments, split-string-and-unquote}. |
| 354 | @end defun | 353 | @end defun |
| 355 | 354 | ||
| 356 | @defvar split-string-default-separators | 355 | @defvar split-string-default-separators |
| @@ -1142,7 +1141,3 @@ This function makes @var{char} case-invariant, with syntax | |||
| 1142 | This command displays a description of the contents of the current | 1141 | This command displays a description of the contents of the current |
| 1143 | buffer's case table. | 1142 | buffer's case table. |
| 1144 | @end deffn | 1143 | @end deffn |
| 1145 | |||
| 1146 | @ignore | ||
| 1147 | arch-tag: 700b8e95-7aa5-4b52-9eb3-8f2e1ea152b4 | ||
| 1148 | @end ignore | ||
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index ccf90e33cd0..60d14d567d4 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/symbols | 5 | @setfilename ../../info/symbols |
| 7 | @node Symbols, Evaluation, Hash Tables, Top | 6 | @node Symbols, Evaluation, Hash Tables, Top |
| @@ -590,7 +589,3 @@ between a missing property and a property with the value @code{nil}. | |||
| 590 | The value is actually the tail of @var{plist} whose @code{car} is | 589 | The value is actually the tail of @var{plist} whose @code{car} is |
| 591 | @var{property}. | 590 | @var{property}. |
| 592 | @end defun | 591 | @end defun |
| 593 | |||
| 594 | @ignore | ||
| 595 | arch-tag: 8750b7d2-de4c-4923-809a-d35fc39fd8ce | ||
| 596 | @end ignore | ||
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index a608db16f89..55ee2dec4a4 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/syntax | 6 | @setfilename ../../info/syntax |
| @@ -1192,7 +1191,3 @@ category table. It inserts the descriptions in a buffer, and then | |||
| 1192 | displays that buffer. If @var{buffer-or-name} is non-@code{nil}, it | 1191 | displays that buffer. If @var{buffer-or-name} is non-@code{nil}, it |
| 1193 | describes the category table of that buffer instead. | 1192 | describes the category table of that buffer instead. |
| 1194 | @end deffn | 1193 | @end deffn |
| 1195 | |||
| 1196 | @ignore | ||
| 1197 | arch-tag: 4d914e96-0283-445c-9233-75d33662908c | ||
| 1198 | @end ignore | ||
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 45d358366de..3ff2697dd37 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-2011 Free Software Foundation, Inc. |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | ||
| 6 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/text | 5 | @setfilename ../../info/text |
| 8 | @node Text, Non-ASCII Characters, Markers, Top | 6 | @node Text, Non-ASCII Characters, Markers, Top |
| @@ -2203,11 +2201,11 @@ The functions in this section return unpredictable values. | |||
| 2203 | @defvar indent-line-function | 2201 | @defvar indent-line-function |
| 2204 | This variable's value is the function to be used by @key{TAB} (and | 2202 | This variable's value is the function to be used by @key{TAB} (and |
| 2205 | various commands) to indent the current line. The command | 2203 | various commands) to indent the current line. The command |
| 2206 | @code{indent-according-to-mode} does no more than call this function. | 2204 | @code{indent-according-to-mode} does little more than call this function. |
| 2207 | 2205 | ||
| 2208 | In Lisp mode, the value is the symbol @code{lisp-indent-line}; in C | 2206 | In Lisp mode, the value is the symbol @code{lisp-indent-line}; in C |
| 2209 | mode, @code{c-indent-line}; in Fortran mode, @code{fortran-indent-line}. | 2207 | mode, @code{c-indent-line}; in Fortran mode, @code{fortran-indent-line}. |
| 2210 | The default value is @code{indent-relative}. | 2208 | The default value is @code{indent-relative}. @xref{Auto-Indentation}. |
| 2211 | @end defvar | 2209 | @end defvar |
| 2212 | 2210 | ||
| 2213 | @deffn Command indent-according-to-mode | 2211 | @deffn Command indent-according-to-mode |
diff --git a/doc/lispref/tindex.pl b/doc/lispref/tindex.pl index b4e39e37254..5c9b88f57b2 100755 --- a/doc/lispref/tindex.pl +++ b/doc/lispref/tindex.pl | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | #! /usr/bin/perl | 1 | #! /usr/bin/perl |
| 2 | 2 | ||
| 3 | # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 3 | # Copyright (C) 2000-2011 Free Software Foundation, Inc. |
| 4 | # 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -123,4 +122,3 @@ foreach $key (keys %removed) { | |||
| 123 | print " $key\n"; | 122 | print " $key\n"; |
| 124 | } | 123 | } |
| 125 | 124 | ||
| 126 | # arch-tag: f8460df6-6bef-4c98-8555-e2c63a88b0fa | ||
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index bf3afcf53ee..37fbe7eb2b4 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2011 |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/tips | 6 | @setfilename ../../info/tips |
| @@ -1115,7 +1114,3 @@ This is the @dfn{footer line}; it appears at the very end of the file. | |||
| 1115 | Its purpose is to enable people to detect truncated versions of the file | 1114 | Its purpose is to enable people to detect truncated versions of the file |
| 1116 | from the lack of a footer line. | 1115 | from the lack of a footer line. |
| 1117 | @end table | 1116 | @end table |
| 1118 | |||
| 1119 | @ignore | ||
| 1120 | arch-tag: 9ea911c2-6b1d-47dd-88b7-0a94e8b27c2e | ||
| 1121 | @end ignore | ||
diff --git a/doc/lispref/two-volume-cross-refs.txt b/doc/lispref/two-volume-cross-refs.txt index b427d31f647..99b48d342ab 100644 --- a/doc/lispref/two-volume-cross-refs.txt +++ b/doc/lispref/two-volume-cross-refs.txt | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 1 | Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 2 | Free Software Foundation, Inc. | 2 | See end for copying conditions. |
| 3 | See end for copying conditions. | ||
| 4 | 3 | ||
| 5 | Two Volume Cross References | 4 | Two Volume Cross References |
| 6 | =========================== | 5 | =========================== |
diff --git a/doc/lispref/two-volume.make b/doc/lispref/two-volume.make index 66b3bbbb201..8949bfe0157 100644 --- a/doc/lispref/two-volume.make +++ b/doc/lispref/two-volume.make | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 1 | # Copyright (C) 2007-2011 Free Software Foundation, Inc. |
| 2 | # See end for copying conditions. | 2 | # See end for copying conditions. |
| 3 | 3 | ||
| 4 | # although it would be nice to use tex rather than pdftex to avoid | 4 | # although it would be nice to use tex rather than pdftex to avoid |
| @@ -221,4 +221,3 @@ elisp2-init: vol2.texi | |||
| 221 | # You should have received a copy of the GNU General Public License | 221 | # You should have received a copy of the GNU General Public License |
| 222 | # along with this file. If not, see <http://www.gnu.org/licenses/>. | 222 | # along with this file. If not, see <http://www.gnu.org/licenses/>. |
| 223 | 223 | ||
| 224 | # arch-tag: 5c258a2e-d4a9-4d0e-b279-fb3a6faa27eb | ||
diff --git a/doc/lispref/two.el b/doc/lispref/two.el index 43c680a483d..b3a8666bcf2 100644 --- a/doc/lispref/two.el +++ b/doc/lispref/two.el | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | ;; Auxiliary functions for preparing a two volume manual. | 1 | ;; Auxiliary functions for preparing a two volume manual. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | ;; Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | ;; Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; --rjc 30mar92 | 5 | ;; --rjc 30mar92 |
| 7 | 6 | ||
| @@ -76,5 +75,4 @@ This is for the *Elisp Ref Manual*." | |||
| 76 | (defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I")) | 75 | (defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I")) |
| 77 | (defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II")) | 76 | (defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II")) |
| 78 | 77 | ||
| 79 | ;; arch-tag: 848955fe-e9cf-45e7-a2f1-570ef156d6a5 | ||
| 80 | ;;; two.el ends here | 78 | ;;; two.el ends here |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 20fe4dbc9fa..5b5f3365978 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, | 3 | @c Copyright (C) 1990-1995, 1998-2011 Free Software Foundation, Inc. |
| 4 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | ||
| 6 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/variables | 5 | @setfilename ../../info/variables |
| 8 | @node Variables, Functions, Control Structures, Top | 6 | @node Variables, Functions, Control Structures, Top |
| @@ -1929,7 +1927,3 @@ Attempting to assign them any other value will result in an error: | |||
| 1929 | (setq window-min-height 5.0) | 1927 | (setq window-min-height 5.0) |
| 1930 | @error{} Wrong type argument: integerp, 5.0 | 1928 | @error{} Wrong type argument: integerp, 5.0 |
| 1931 | @end example | 1929 | @end example |
| 1932 | |||
| 1933 | @ignore | ||
| 1934 | arch-tag: 5ff62c44-2b51-47bb-99d4-fea5aeec5d3e | ||
| 1935 | @end ignore | ||
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index 3ac3f58a330..ff0283e109a 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c This file is used for printing the GNU Emacs Lisp Reference Manual | 2 | @c This file is used for printing the GNU Emacs Lisp Reference Manual |
| 3 | @c in two volumes. It is a modified version of elisp.texi. | 3 | @c in two volumes. It is a modified version of elisp.texi. |
| 4 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 4 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 5 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 6 | @c Free Software Foundation, Inc. | 5 | @c Free Software Foundation, Inc. |
| 7 | @c %**start of header | 6 | @c %**start of header |
| 8 | @setfilename elisp | 7 | @setfilename elisp |
| @@ -69,7 +68,7 @@ This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@* | |||
| 69 | corresponding to Emacs version @value{EMACSVER}. | 68 | corresponding to Emacs version @value{EMACSVER}. |
| 70 | 69 | ||
| 71 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, | 70 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, |
| 72 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software | 71 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software |
| 73 | Foundation, Inc. | 72 | Foundation, Inc. |
| 74 | 73 | ||
| 75 | @quotation | 74 | @quotation |
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 59222ad00e2..cd10fea7d3e 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c This file is used for printing the GNU Emacs Lisp Reference Manual | 2 | @c This file is used for printing the GNU Emacs Lisp Reference Manual |
| 3 | @c in two volumes. It is a modified version of elisp.texi. | 3 | @c in two volumes. It is a modified version of elisp.texi. |
| 4 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 4 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 5 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 6 | @c Free Software Foundation, Inc. | 5 | @c Free Software Foundation, Inc. |
| 7 | @c %**start of header | 6 | @c %**start of header |
| 8 | @setfilename elisp | 7 | @setfilename elisp |
| @@ -69,7 +68,7 @@ This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@* | |||
| 69 | corresponding to Emacs version @value{EMACSVER}. | 68 | corresponding to Emacs version @value{EMACSVER}. |
| 70 | 69 | ||
| 71 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, | 70 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, |
| 72 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software | 71 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software |
| 73 | Foundation, Inc. | 72 | Foundation, Inc. |
| 74 | 73 | ||
| 75 | @quotation | 74 | @quotation |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 704f3ad3321..528930c0ff6 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990-1995, 1998-1999, 2001-2011 |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../../info/windows | 6 | @setfilename ../../info/windows |
| @@ -2607,7 +2606,3 @@ frame selected. | |||
| 2607 | Lock fontification function, which will be called whenever parts of a | 2606 | Lock fontification function, which will be called whenever parts of a |
| 2608 | buffer are (re)fontified because a window was scrolled or its size | 2607 | buffer are (re)fontified because a window was scrolled or its size |
| 2609 | changed. @xref{Other Font Lock Variables}. | 2608 | changed. @xref{Other Font Lock Variables}. |
| 2610 | |||
| 2611 | @ignore | ||
| 2612 | arch-tag: 3f6c36e8-df49-4986-b757-417feed88be3 | ||
| 2613 | @end ignore | ||
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index f2810be7f97..f65c440f55a 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-01-02 Jari Aalto <jari.aalto@cante.net> (tiny change) | ||
| 2 | |||
| 3 | * emacsclient.1: Arrange options alphabetically (Bug#7620). | ||
| 4 | |||
| 1 | 2010-10-12 Glenn Morris <rgm@gnu.org> | 5 | 2010-10-12 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * emacs.1: Small fixes. | 7 | * emacs.1: Small fixes. |
| @@ -106,7 +110,7 @@ | |||
| 106 | ;; add-log-time-zone-rule: t | 110 | ;; add-log-time-zone-rule: t |
| 107 | ;; End: | 111 | ;; End: |
| 108 | 112 | ||
| 109 | Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 113 | Copyright (C) 2007-2011 Free Software Foundation, Inc. |
| 110 | 114 | ||
| 111 | This file is part of GNU Emacs. | 115 | This file is part of GNU Emacs. |
| 112 | 116 | ||
| @@ -123,4 +127,3 @@ | |||
| 123 | You should have received a copy of the GNU General Public License | 127 | You should have received a copy of the GNU General Public License |
| 124 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 128 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 125 | 129 | ||
| 126 | ;; arch-tag: 2bd1112e-157f-4884-b0ca-0fb1057972d7 | ||
diff --git a/doc/man/ctags.1 b/doc/man/ctags.1 index 9a6505b020e..1eab02f2145 100644 --- a/doc/man/ctags.1 +++ b/doc/man/ctags.1 | |||
| @@ -1,3 +1 @@ | |||
| 1 | .so man1/etags.1 | .so man1/etags.1 | |
| 2 | |||
| 3 | .\" arch-tag: 54d4579b-9d66-4ba5-9fda-f01ec83612ad | ||
diff --git a/doc/man/ebrowse.1 b/doc/man/ebrowse.1 index b02b548244e..5afe59d6bc1 100644 --- a/doc/man/ebrowse.1 +++ b/doc/man/ebrowse.1 | |||
| @@ -85,7 +85,7 @@ was written by Gerd Moellmann. | |||
| 85 | Copyright | 85 | Copyright |
| 86 | .if t \(co | 86 | .if t \(co |
| 87 | .if n (C) | 87 | .if n (C) |
| 88 | 2008, 2009, 2010 Free Software Foundation, Inc. | 88 | 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
| 89 | .PP | 89 | .PP |
| 90 | Permission is granted to make and distribute verbatim copies of this | 90 | Permission is granted to make and distribute verbatim copies of this |
| 91 | document provided the copyright notice and this permission notice are | 91 | document provided the copyright notice and this permission notice are |
| @@ -101,4 +101,3 @@ document into another language, under the above conditions for | |||
| 101 | modified versions, except that this permission notice may be stated | 101 | modified versions, except that this permission notice may be stated |
| 102 | in a translation approved by the Free Software Foundation. | 102 | in a translation approved by the Free Software Foundation. |
| 103 | . | 103 | . |
| 104 | .\" arch-tag: b771158b-90cb-43a5-b9af-dbc506311817 | ||
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index ae2bc82c920..10fcc186fdd 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 | |||
| @@ -643,7 +643,7 @@ Copyright | |||
| 643 | .if t \(co | 643 | .if t \(co |
| 644 | .if n (C) | 644 | .if n (C) |
| 645 | 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 645 | 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 646 | 2009, 2010 | 646 | 2009, 2010, 2011 |
| 647 | Free Software Foundation, Inc. | 647 | Free Software Foundation, Inc. |
| 648 | .PP | 648 | .PP |
| 649 | Permission is granted to make and distribute verbatim copies of this | 649 | Permission is granted to make and distribute verbatim copies of this |
| @@ -660,4 +660,3 @@ document into another language, under the above conditions for | |||
| 660 | modified versions, except that this permission notice may be stated | 660 | modified versions, except that this permission notice may be stated |
| 661 | in a translation approved by the Free Software Foundation. | 661 | in a translation approved by the Free Software Foundation. |
| 662 | . | 662 | . |
| 663 | .\" arch-tag: 04dfd376-b46e-4924-919a-cecc3b257eaa | ||
diff --git a/doc/man/emacsclient.1 b/doc/man/emacsclient.1 index 16bfb73e16b..cae4d76634b 100644 --- a/doc/man/emacsclient.1 +++ b/doc/man/emacsclient.1 | |||
| @@ -49,36 +49,36 @@ If you set the variable `server-window' to a window or a frame, `C-x | |||
| 49 | The programs follow the usual GNU command line syntax, with long | 49 | The programs follow the usual GNU command line syntax, with long |
| 50 | options starting with two dashes (`-'). | 50 | options starting with two dashes (`-'). |
| 51 | .TP | 51 | .TP |
| 52 | .B \-nw, \-t, \-\-tty | 52 | .B \-a, \-\-alternate-editor=EDITOR |
| 53 | open a new Emacs frame on the current terminal | 53 | if the Emacs server is not running, run the specified editor instead. |
| 54 | This can also be specified via the `ALTERNATE_EDITOR' environment variable. | ||
| 55 | If the value of EDITOR is the empty string, then Emacs is started in | ||
| 56 | daemon mode and emacsclient will try to connect to it. | ||
| 54 | .TP | 57 | .TP |
| 55 | .B -c, \-\-create-frame | 58 | .B -c, \-\-create-frame |
| 56 | create a new frame instead of trying to use the current Emacs frame | 59 | create a new frame instead of trying to use the current Emacs frame |
| 57 | .TP | 60 | .TP |
| 61 | .B \-d, \-\-display=DISPLAY | ||
| 62 | tell the server to display the files on the given display. | ||
| 63 | .TP | ||
| 58 | .B \-e, \-\-eval | 64 | .B \-e, \-\-eval |
| 59 | do not visit files but instead evaluate the arguments as Emacs | 65 | do not visit files but instead evaluate the arguments as Emacs |
| 60 | Lisp expressions. | 66 | Lisp expressions. |
| 61 | .TP | 67 | .TP |
| 68 | .B \-f, \-\-server-file=FILENAME | ||
| 69 | use TCP configuration file FILENAME for communication. | ||
| 70 | This can also be specified via the `EMACS_SERVER_FILE' environment variable. | ||
| 71 | .TP | ||
| 62 | .B \-n, \-\-no-wait | 72 | .B \-n, \-\-no-wait |
| 63 | returns | 73 | returns |
| 64 | immediately without waiting for you to "finish" the buffer in Emacs. | 74 | immediately without waiting for you to "finish" the buffer in Emacs. |
| 65 | .TP | 75 | .TP |
| 76 | .B \-nw, \-t, \-\-tty | ||
| 77 | open a new Emacs frame on the current terminal | ||
| 78 | .TP | ||
| 66 | .B \-s, \-\-socket-name=FILENAME | 79 | .B \-s, \-\-socket-name=FILENAME |
| 67 | use socket named FILENAME for communication. | 80 | use socket named FILENAME for communication. |
| 68 | .TP | 81 | .TP |
| 69 | .B \-f, \-\-server-file=FILENAME | ||
| 70 | use TCP configuration file FILENAME for communication. | ||
| 71 | This can also be specified via the `EMACS_SERVER_FILE' environment variable. | ||
| 72 | .TP | ||
| 73 | .B \-a, \-\-alternate-editor=EDITOR | ||
| 74 | if the Emacs server is not running, run the specified editor instead. | ||
| 75 | This can also be specified via the `ALTERNATE_EDITOR' environment variable. | ||
| 76 | If the value of EDITOR is the empty string, then Emacs is started in | ||
| 77 | daemon mode and emacsclient will try to connect to it. | ||
| 78 | .TP | ||
| 79 | .B \-d, \-\-display=DISPLAY | ||
| 80 | tell the server to display the files on the given display. | ||
| 81 | .TP | ||
| 82 | .B \-V, \-\-version | 82 | .B \-V, \-\-version |
| 83 | print version information and exit | 83 | print version information and exit |
| 84 | .TP | 84 | .TP |
| @@ -94,4 +94,3 @@ for the Debian GNU/Linux system (but may be used by others). | |||
| 94 | .SH COPYING | 94 | .SH COPYING |
| 95 | This manual page is in the public domain. | 95 | This manual page is in the public domain. |
| 96 | 96 | ||
| 97 | .\" arch-tag: 2b35e723-b197-4073-8752-231bc8b3d3f3 | ||
diff --git a/doc/man/etags.1 b/doc/man/etags.1 index cddf7295595..f6b46add215 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 | |||
| @@ -268,7 +268,7 @@ Copyright | |||
| 268 | .if t \(co | 268 | .if t \(co |
| 269 | .if n (C) | 269 | .if n (C) |
| 270 | 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | 270 | 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
| 271 | 2010 Free Software Foundation, Inc. | 271 | 2010, 2011 Free Software Foundation, Inc. |
| 272 | .PP | 272 | .PP |
| 273 | Permission is granted to make and distribute verbatim copies of this | 273 | Permission is granted to make and distribute verbatim copies of this |
| 274 | document provided the copyright notice and this permission notice are | 274 | document provided the copyright notice and this permission notice are |
| @@ -284,4 +284,3 @@ document into another language, under the above conditions for | |||
| 284 | modified versions, except that this permission notice may be stated | 284 | modified versions, except that this permission notice may be stated |
| 285 | in a translation approved by the Free Software Foundation. | 285 | in a translation approved by the Free Software Foundation. |
| 286 | 286 | ||
| 287 | .\" arch-tag: 9534977f-af78-42f0-991d-1df6b6c05573 | ||
diff --git a/doc/man/grep-changelog.1 b/doc/man/grep-changelog.1 index 182e23b5ae8..45a6abfd579 100644 --- a/doc/man/grep-changelog.1 +++ b/doc/man/grep-changelog.1 | |||
| @@ -62,7 +62,7 @@ Display basic usage information. | |||
| 62 | Copyright | 62 | Copyright |
| 63 | .if t \(co | 63 | .if t \(co |
| 64 | .if n (C) | 64 | .if n (C) |
| 65 | 2008, 2009, 2010 Free Software Foundation, Inc. | 65 | 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
| 66 | .PP | 66 | .PP |
| 67 | Permission is granted to make and distribute verbatim copies of this | 67 | Permission is granted to make and distribute verbatim copies of this |
| 68 | document provided the copyright notice and this permission notice are | 68 | document provided the copyright notice and this permission notice are |
| @@ -78,4 +78,3 @@ document into another language, under the above conditions for | |||
| 78 | modified versions, except that this permission notice may be stated | 78 | modified versions, except that this permission notice may be stated |
| 79 | in a translation approved by the Free Software Foundation. | 79 | in a translation approved by the Free Software Foundation. |
| 80 | . | 80 | . |
| 81 | .\" arch-tag: c6df2aea-f3ac-49c7-981b-7b3aae648cda | ||
diff --git a/doc/man/rcs-checkin.1 b/doc/man/rcs-checkin.1 index b1c6062847d..545b128b40d 100644 --- a/doc/man/rcs-checkin.1 +++ b/doc/man/rcs-checkin.1 | |||
| @@ -69,7 +69,7 @@ by Eric S. Raymond. | |||
| 69 | Copyright | 69 | Copyright |
| 70 | .if t \(co | 70 | .if t \(co |
| 71 | .if n (C) | 71 | .if n (C) |
| 72 | 2008, 2009, 2010 Free Software Foundation, Inc. | 72 | 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
| 73 | .PP | 73 | .PP |
| 74 | Permission is granted to make and distribute verbatim copies of this | 74 | Permission is granted to make and distribute verbatim copies of this |
| 75 | document provided the copyright notice and this permission notice are | 75 | document provided the copyright notice and this permission notice are |
| @@ -85,4 +85,3 @@ document into another language, under the above conditions for | |||
| 85 | modified versions, except that this permission notice may be stated | 85 | modified versions, except that this permission notice may be stated |
| 86 | in a translation approved by the Free Software Foundation. | 86 | in a translation approved by the Free Software Foundation. |
| 87 | . | 87 | . |
| 88 | .\" arch-tag: d903862f-cc72-487c-8fd2-5c63677f325d | ||
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 174d3015291..de63af5a28c 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,132 @@ | |||
| 1 | 2011-01-31 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * gnus.texi (Customizing Articles): Document the new way of customizing | ||
| 4 | the date headers(s). | ||
| 5 | |||
| 6 | 2011-01-30 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * gnus.texi (Client-Side IMAP Splitting): Add a complete nnimap fancy | ||
| 9 | splitting example. | ||
| 10 | |||
| 11 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 12 | |||
| 13 | * makefile.w32-in (MAKEINFO): Remove options, leave only program name. | ||
| 14 | (MAKEINFO_OPTS): New variable. | ||
| 15 | (ENVADD, $(infodir)/emacs): Use $(MAKEINFO_OPTS). | ||
| 16 | ($(infodir)/info, $(infodir)/ccmode, $(infodir)/ada-mode) | ||
| 17 | ($(infodir)/pcl-cvs, $(infodir)/eshell, $(infodir)/cl) | ||
| 18 | ($(infodir)/dbus, $(infodir)/dired-x, $(infodir)/ediff) | ||
| 19 | ($(infodir)/flymake, $(infodir)/forms, $(infodir)/gnus) | ||
| 20 | ($(infodir)/message, $(infodir)/emacs-mime, $(infodir)/sieve) | ||
| 21 | ($(infodir)/pgg, $(infodir)/mh-e, $(infodir)/reftex) | ||
| 22 | ($(infodir)/remember, $(infodir)/sasl, $(infodir)/sc) | ||
| 23 | ($(infodir)/vip, $(infodir)/viper, $(infodir)/widget) | ||
| 24 | ($(infodir)/efaq, $(infodir)/autotype, $(infodir)/calc) | ||
| 25 | ($(infodir)/idlwave, $(infodir)/eudc, $(infodir)/ebrowse) | ||
| 26 | ($(infodir)/woman, $(infodir)/speedbar, $(infodir)/tramp) | ||
| 27 | ($(infodir)/ses, $(infodir)/smtpmail, $(infodir)/org) | ||
| 28 | ($(infodir)/url, $(infodir)/newsticker, $(infodir)/nxml-mode) | ||
| 29 | ($(infodir)/rcirc, $(infodir)/erc, $(infodir)/ert) | ||
| 30 | ($(infodir)/epa, $(infodir)/mairix-el, $(infodir)/auth) | ||
| 31 | ($(infodir)/eieio, $(infodir)/ede, $(infodir)/semantic) | ||
| 32 | ($(infodir)/edt): Use $(MAKEINFO_OPTS). | ||
| 33 | |||
| 34 | 2011-01-26 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 35 | |||
| 36 | * gnus.texi (Article Date): Document gnus-article-update-lapsed-header. | ||
| 37 | |||
| 38 | 2011-01-24 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 39 | |||
| 40 | * message.texi (IDNA): Explain what it is. | ||
| 41 | |||
| 42 | 2011-01-24 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 43 | |||
| 44 | * gnus.texi (The Empty Backend): Document nnnil (bug #7653). | ||
| 45 | |||
| 46 | 2011-01-23 Werner Lemberg <wl@gnu.org> | ||
| 47 | |||
| 48 | * Makefile.in (MAKEINFO): Now controlled by `configure'. | ||
| 49 | (MAKEINFO_OPTS): New variable. Use it where appropriate. | ||
| 50 | (ENVADD): Updated. | ||
| 51 | |||
| 52 | 2011-01-18 Glenn Morris <rgm@gnu.org> | ||
| 53 | |||
| 54 | * ert.texi: Relicense under GFDL 1.3+, and standardize license notice. | ||
| 55 | |||
| 56 | 2011-01-14 Eduard Wiebe <usenet@pusto.de> | ||
| 57 | |||
| 58 | * nxml-mode.texi (Introduction): Fix file name typos. | ||
| 59 | |||
| 60 | 2011-01-13 Christian Ohler <ohler@gnu.org> | ||
| 61 | |||
| 62 | * ert.texi: New file. | ||
| 63 | |||
| 64 | * Makefile.in: | ||
| 65 | * makefile.w32-in: Add ert.texi. | ||
| 66 | |||
| 67 | 2011-01-10 Jan Moringen <jan.moringen@uni-bielefeld.de> | ||
| 68 | |||
| 69 | * dbus.texi (Receiving Method Calls): New function | ||
| 70 | dbus-register-service. Rearrange node. | ||
| 71 | |||
| 72 | 2011-01-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 73 | |||
| 74 | * texinfo.tex: Update to version 2010-12-23.17 from gnulib, | ||
| 75 | which in turn is copied from ftp://tug.org/tex/. | ||
| 76 | |||
| 77 | 2011-01-04 Jan Moringen <jan.moringen@uni-bielefeld.de> | ||
| 78 | |||
| 79 | * dbus.texi (Receiving Method Calls): Describe new optional | ||
| 80 | parameter dont-register-service of dbus-register-{method,property}. | ||
| 81 | |||
| 82 | 2010-12-17 Daiki Ueno <ueno@unixuser.org> | ||
| 83 | |||
| 84 | * epa.texi (Encrypting/decrypting *.gpg files): Mention | ||
| 85 | epa-file-select-keys. | ||
| 86 | |||
| 87 | 2010-12-16 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 88 | |||
| 89 | * gnus.texi (Archived Messages): Remove outdated text. | ||
| 90 | |||
| 91 | 2010-12-16 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 92 | |||
| 93 | * gnus.texi (Foreign Groups): Added clarification of foreign groups. | ||
| 94 | |||
| 95 | 2010-12-15 Andrew Cohen <cohen@andy.bu.edu> | ||
| 96 | |||
| 97 | * gnus.texi (The hyrex Engine): Say that this engine is obsolete. | ||
| 98 | |||
| 99 | 2010-12-14 Andrew Cohen <cohen@andy.bu.edu> | ||
| 100 | |||
| 101 | * gnus.texi (The swish++ Engine): Add customizable parameters | ||
| 102 | descriptions. | ||
| 103 | (The swish-e Engine): Ditto. | ||
| 104 | |||
| 105 | 2010-12-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 106 | |||
| 107 | * tramp.texi (Inline methods): Add "ksu" method. | ||
| 108 | (Remote processes): Add example with remote `default-directory'. | ||
| 109 | |||
| 110 | 2010-12-14 Glenn Morris <rgm@gnu.org> | ||
| 111 | |||
| 112 | * faq.texi (Expanding aliases when sending mail): | ||
| 113 | Now build-mail-aliases is interactive. | ||
| 114 | |||
| 115 | 2010-12-13 Andrew Cohen <cohen@andy.bu.edu> | ||
| 116 | |||
| 117 | * gnus.texi: First pass at adding (rough) nnir documentation. | ||
| 118 | |||
| 119 | 2010-12-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 120 | |||
| 121 | * gnus.texi (Filtering New Groups): | ||
| 122 | Mention gnus-auto-subscribed-categories. | ||
| 123 | (The First Time): Remove, since default-subscribed-newsgroups has been | ||
| 124 | removed. | ||
| 125 | |||
| 126 | 2010-12-13 Glenn Morris <rgm@gnu.org> | ||
| 127 | |||
| 128 | * cl.texi (For Clauses): Small fixes for frames and windows. | ||
| 129 | |||
| 1 | 2010-12-11 Carsten Dominik <carsten.dominik@gmail.com> | 130 | 2010-12-11 Carsten Dominik <carsten.dominik@gmail.com> |
| 2 | 131 | ||
| 3 | * org.texi (Using capture): Document using prefix arguments for | 132 | * org.texi (Using capture): Document using prefix arguments for |
| @@ -7475,9 +7604,7 @@ | |||
| 7475 | ;; coding: utf-8 | 7604 | ;; coding: utf-8 |
| 7476 | ;; End: | 7605 | ;; End: |
| 7477 | 7606 | ||
| 7478 | Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, | 7607 | Copyright (C) 1993-1999, 2001-2011 Free Software Foundation, Inc. |
| 7479 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 7480 | Free Software Foundation, Inc. | ||
| 7481 | 7608 | ||
| 7482 | This file is part of GNU Emacs. | 7609 | This file is part of GNU Emacs. |
| 7483 | 7610 | ||
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index deeafa2c1b2..f1dbf3bcc08 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | #### Makefile for documentation other than the Emacs manual. | 1 | #### Makefile for documentation other than the Emacs manual. |
| 2 | 2 | ||
| 3 | # Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, | 3 | # Copyright (C) 1994, 1996-2011 Free Software Foundation, Inc. |
| 4 | # 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 5 | # Free Software Foundation, Inc. | ||
| 6 | 4 | ||
| 7 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 8 | 6 | ||
| @@ -42,7 +40,8 @@ emacsdir = $(srcdir)/../emacs | |||
| 42 | 40 | ||
| 43 | # The makeinfo program is part of the Texinfo distribution. | 41 | # The makeinfo program is part of the Texinfo distribution. |
| 44 | # Use --force so that it generates output even if there are errors. | 42 | # Use --force so that it generates output even if there are errors. |
| 45 | MAKEINFO = makeinfo --force -I$(emacsdir) | 43 | MAKEINFO = @MAKEINFO@ |
| 44 | MAKEINFO_OPTS = --force -I$(emacsdir) | ||
| 46 | 45 | ||
| 47 | # Also add new entries to INFO_FILES in the top-level Makefile.in. | 46 | # Also add new entries to INFO_FILES in the top-level Makefile.in. |
| 48 | INFO_TARGETS = \ | 47 | INFO_TARGETS = \ |
| @@ -62,6 +61,7 @@ INFO_TARGETS = \ | |||
| 62 | $(infodir)/emacs-mime \ | 61 | $(infodir)/emacs-mime \ |
| 63 | $(infodir)/epa \ | 62 | $(infodir)/epa \ |
| 64 | $(infodir)/erc \ | 63 | $(infodir)/erc \ |
| 64 | $(infodir)/ert \ | ||
| 65 | $(infodir)/eshell \ | 65 | $(infodir)/eshell \ |
| 66 | $(infodir)/eudc \ | 66 | $(infodir)/eudc \ |
| 67 | $(infodir)/efaq \ | 67 | $(infodir)/efaq \ |
| @@ -112,6 +112,7 @@ DVI_TARGETS = \ | |||
| 112 | emacs-mime.dvi \ | 112 | emacs-mime.dvi \ |
| 113 | epa.dvi \ | 113 | epa.dvi \ |
| 114 | erc.dvi \ | 114 | erc.dvi \ |
| 115 | ert.dvi \ | ||
| 115 | eshell.dvi \ | 116 | eshell.dvi \ |
| 116 | eudc.dvi \ | 117 | eudc.dvi \ |
| 117 | faq.dvi \ | 118 | faq.dvi \ |
| @@ -162,6 +163,7 @@ PDF_TARGETS = \ | |||
| 162 | emacs-mime.pdf \ | 163 | emacs-mime.pdf \ |
| 163 | epa.pdf \ | 164 | epa.pdf \ |
| 164 | erc.pdf \ | 165 | erc.pdf \ |
| 166 | ert.pdf \ | ||
| 165 | eshell.pdf \ | 167 | eshell.pdf \ |
| 166 | eudc.pdf \ | 168 | eudc.pdf \ |
| 167 | faq.pdf \ | 169 | faq.pdf \ |
| @@ -198,7 +200,8 @@ PDF_TARGETS = \ | |||
| 198 | TEXI2DVI = texi2dvi | 200 | TEXI2DVI = texi2dvi |
| 199 | TEXI2PDF = texi2pdf | 201 | TEXI2PDF = texi2pdf |
| 200 | 202 | ||
| 201 | ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" | 203 | ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \ |
| 204 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" | ||
| 202 | 205 | ||
| 203 | mkinfodir = @cd ${srcdir}; test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} | 206 | mkinfodir = @cd ${srcdir}; test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} |
| 204 | 207 | ||
| @@ -219,7 +222,7 @@ pdf: $(PDF_TARGETS) | |||
| 219 | ada-mode : $(infodir)/ada-mode | 222 | ada-mode : $(infodir)/ada-mode |
| 220 | $(infodir)/ada-mode: ada-mode.texi | 223 | $(infodir)/ada-mode: ada-mode.texi |
| 221 | $(mkinfodir) | 224 | $(mkinfodir) |
| 222 | cd $(srcdir); $(MAKEINFO) $< | 225 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 223 | ada-mode.dvi: ${srcdir}/ada-mode.texi | 226 | ada-mode.dvi: ${srcdir}/ada-mode.texi |
| 224 | $(ENVADD) $(TEXI2DVI) $< | 227 | $(ENVADD) $(TEXI2DVI) $< |
| 225 | ada-mode.pdf: ${srcdir}/ada-mode.texi | 228 | ada-mode.pdf: ${srcdir}/ada-mode.texi |
| @@ -228,7 +231,7 @@ ada-mode.pdf: ${srcdir}/ada-mode.texi | |||
| 228 | auth : $(infodir)/auth | 231 | auth : $(infodir)/auth |
| 229 | $(infodir)/auth: auth.texi | 232 | $(infodir)/auth: auth.texi |
| 230 | $(mkinfodir) | 233 | $(mkinfodir) |
| 231 | cd $(srcdir); $(MAKEINFO) $< | 234 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 232 | auth.dvi: ${srcdir}/auth.texi | 235 | auth.dvi: ${srcdir}/auth.texi |
| 233 | $(ENVADD) $(TEXI2DVI) $< | 236 | $(ENVADD) $(TEXI2DVI) $< |
| 234 | auth.pdf: ${srcdir}/auth.texi | 237 | auth.pdf: ${srcdir}/auth.texi |
| @@ -237,7 +240,7 @@ auth.pdf: ${srcdir}/auth.texi | |||
| 237 | autotype : $(infodir)/autotype | 240 | autotype : $(infodir)/autotype |
| 238 | $(infodir)/autotype: autotype.texi | 241 | $(infodir)/autotype: autotype.texi |
| 239 | $(mkinfodir) | 242 | $(mkinfodir) |
| 240 | cd $(srcdir); $(MAKEINFO) $< | 243 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 241 | autotype.dvi: ${srcdir}/autotype.texi | 244 | autotype.dvi: ${srcdir}/autotype.texi |
| 242 | $(ENVADD) $(TEXI2DVI) $< | 245 | $(ENVADD) $(TEXI2DVI) $< |
| 243 | autotype.pdf: ${srcdir}/autotype.texi | 246 | autotype.pdf: ${srcdir}/autotype.texi |
| @@ -246,7 +249,7 @@ autotype.pdf: ${srcdir}/autotype.texi | |||
| 246 | calc : $(infodir)/calc | 249 | calc : $(infodir)/calc |
| 247 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi | 250 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi |
| 248 | $(mkinfodir) | 251 | $(mkinfodir) |
| 249 | cd $(srcdir); $(MAKEINFO) $< | 252 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 250 | calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi | 253 | calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi |
| 251 | $(ENVADD) $(TEXI2DVI) $< | 254 | $(ENVADD) $(TEXI2DVI) $< |
| 252 | calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi | 255 | calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi |
| @@ -255,7 +258,7 @@ calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi | |||
| 255 | ccmode : $(infodir)/ccmode | 258 | ccmode : $(infodir)/ccmode |
| 256 | $(infodir)/ccmode: cc-mode.texi | 259 | $(infodir)/ccmode: cc-mode.texi |
| 257 | $(mkinfodir) | 260 | $(mkinfodir) |
| 258 | cd $(srcdir); $(MAKEINFO) $< | 261 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 259 | cc-mode.dvi: ${srcdir}/cc-mode.texi | 262 | cc-mode.dvi: ${srcdir}/cc-mode.texi |
| 260 | $(ENVADD) $(TEXI2DVI) $< | 263 | $(ENVADD) $(TEXI2DVI) $< |
| 261 | cc-mode.pdf: ${srcdir}/cc-mode.texi | 264 | cc-mode.pdf: ${srcdir}/cc-mode.texi |
| @@ -264,7 +267,7 @@ cc-mode.pdf: ${srcdir}/cc-mode.texi | |||
| 264 | cl : $(infodir)/cl | 267 | cl : $(infodir)/cl |
| 265 | $(infodir)/cl: cl.texi | 268 | $(infodir)/cl: cl.texi |
| 266 | $(mkinfodir) | 269 | $(mkinfodir) |
| 267 | cd $(srcdir); $(MAKEINFO) $< | 270 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 268 | cl.dvi: ${srcdir}/cl.texi | 271 | cl.dvi: ${srcdir}/cl.texi |
| 269 | $(ENVADD) $(TEXI2DVI) $< | 272 | $(ENVADD) $(TEXI2DVI) $< |
| 270 | cl.pdf: ${srcdir}/cl.texi | 273 | cl.pdf: ${srcdir}/cl.texi |
| @@ -273,7 +276,7 @@ cl.pdf: ${srcdir}/cl.texi | |||
| 273 | dbus : $(infodir)/dbus | 276 | dbus : $(infodir)/dbus |
| 274 | $(infodir)/dbus: dbus.texi | 277 | $(infodir)/dbus: dbus.texi |
| 275 | $(mkinfodir) | 278 | $(mkinfodir) |
| 276 | cd $(srcdir); $(MAKEINFO) $< | 279 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 277 | dbus.dvi: ${srcdir}/dbus.texi | 280 | dbus.dvi: ${srcdir}/dbus.texi |
| 278 | $(ENVADD) $(TEXI2DVI) $< | 281 | $(ENVADD) $(TEXI2DVI) $< |
| 279 | dbus.pdf: ${srcdir}/dbus.texi | 282 | dbus.pdf: ${srcdir}/dbus.texi |
| @@ -282,7 +285,7 @@ dbus.pdf: ${srcdir}/dbus.texi | |||
| 282 | dired-x : $(infodir)/dired-x | 285 | dired-x : $(infodir)/dired-x |
| 283 | $(infodir)/dired-x: dired-x.texi | 286 | $(infodir)/dired-x: dired-x.texi |
| 284 | $(mkinfodir) | 287 | $(mkinfodir) |
| 285 | cd $(srcdir); $(MAKEINFO) $< | 288 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 286 | dired-x.dvi: ${srcdir}/dired-x.texi | 289 | dired-x.dvi: ${srcdir}/dired-x.texi |
| 287 | $(ENVADD) $(TEXI2DVI) $< | 290 | $(ENVADD) $(TEXI2DVI) $< |
| 288 | dired-x.pdf: ${srcdir}/dired-x.texi | 291 | dired-x.pdf: ${srcdir}/dired-x.texi |
| @@ -291,7 +294,7 @@ dired-x.pdf: ${srcdir}/dired-x.texi | |||
| 291 | ebrowse : $(infodir)/ebrowse | 294 | ebrowse : $(infodir)/ebrowse |
| 292 | $(infodir)/ebrowse: ebrowse.texi | 295 | $(infodir)/ebrowse: ebrowse.texi |
| 293 | $(mkinfodir) | 296 | $(mkinfodir) |
| 294 | cd $(srcdir); $(MAKEINFO) $< | 297 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 295 | ebrowse.dvi: ${srcdir}/ebrowse.texi | 298 | ebrowse.dvi: ${srcdir}/ebrowse.texi |
| 296 | $(ENVADD) $(TEXI2DVI) $< | 299 | $(ENVADD) $(TEXI2DVI) $< |
| 297 | ebrowse.pdf: ${srcdir}/ebrowse.texi | 300 | ebrowse.pdf: ${srcdir}/ebrowse.texi |
| @@ -300,7 +303,7 @@ ebrowse.pdf: ${srcdir}/ebrowse.texi | |||
| 300 | ede : $(infodir)/ede | 303 | ede : $(infodir)/ede |
| 301 | $(infodir)/ede: ede.texi | 304 | $(infodir)/ede: ede.texi |
| 302 | $(mkinfodir) | 305 | $(mkinfodir) |
| 303 | cd $(srcdir); $(MAKEINFO) $< | 306 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 304 | ede.dvi: ${srcdir}/ede.texi | 307 | ede.dvi: ${srcdir}/ede.texi |
| 305 | $(ENVADD) $(TEXI2DVI) $< | 308 | $(ENVADD) $(TEXI2DVI) $< |
| 306 | ede.pdf: ${srcdir}/ede.texi | 309 | ede.pdf: ${srcdir}/ede.texi |
| @@ -309,7 +312,7 @@ ede.pdf: ${srcdir}/ede.texi | |||
| 309 | ediff : $(infodir)/ediff | 312 | ediff : $(infodir)/ediff |
| 310 | $(infodir)/ediff: ediff.texi | 313 | $(infodir)/ediff: ediff.texi |
| 311 | $(mkinfodir) | 314 | $(mkinfodir) |
| 312 | cd $(srcdir); $(MAKEINFO) $< | 315 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 313 | ediff.dvi: ${srcdir}/ediff.texi | 316 | ediff.dvi: ${srcdir}/ediff.texi |
| 314 | $(ENVADD) $(TEXI2DVI) $< | 317 | $(ENVADD) $(TEXI2DVI) $< |
| 315 | ediff.pdf: ${srcdir}/ediff.texi | 318 | ediff.pdf: ${srcdir}/ediff.texi |
| @@ -318,7 +321,7 @@ ediff.pdf: ${srcdir}/ediff.texi | |||
| 318 | edt : $(infodir)/edt | 321 | edt : $(infodir)/edt |
| 319 | $(infodir)/edt: edt.texi | 322 | $(infodir)/edt: edt.texi |
| 320 | $(mkinfodir) | 323 | $(mkinfodir) |
| 321 | cd $(srcdir); $(MAKEINFO) $< | 324 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 322 | edt.dvi: ${srcdir}/edt.texi | 325 | edt.dvi: ${srcdir}/edt.texi |
| 323 | $(ENVADD) $(TEXI2DVI) $< | 326 | $(ENVADD) $(TEXI2DVI) $< |
| 324 | edt.pdf: ${srcdir}/edt.texi | 327 | edt.pdf: ${srcdir}/edt.texi |
| @@ -327,7 +330,7 @@ edt.pdf: ${srcdir}/edt.texi | |||
| 327 | eieio : $(infodir)/eieio | 330 | eieio : $(infodir)/eieio |
| 328 | $(infodir)/eieio: eieio.texi | 331 | $(infodir)/eieio: eieio.texi |
| 329 | $(mkinfodir) | 332 | $(mkinfodir) |
| 330 | cd $(srcdir); $(MAKEINFO) $< | 333 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 331 | eieio.dvi: ${srcdir}/eieio.texi | 334 | eieio.dvi: ${srcdir}/eieio.texi |
| 332 | $(ENVADD) $(TEXI2DVI) $< | 335 | $(ENVADD) $(TEXI2DVI) $< |
| 333 | eieio.pdf: ${srcdir}/eieio.texi | 336 | eieio.pdf: ${srcdir}/eieio.texi |
| @@ -336,7 +339,7 @@ eieio.pdf: ${srcdir}/eieio.texi | |||
| 336 | emacs-mime : $(infodir)/emacs-mime | 339 | emacs-mime : $(infodir)/emacs-mime |
| 337 | $(infodir)/emacs-mime: emacs-mime.texi | 340 | $(infodir)/emacs-mime: emacs-mime.texi |
| 338 | $(mkinfodir) | 341 | $(mkinfodir) |
| 339 | cd $(srcdir); $(MAKEINFO) --enable-encoding $< | 342 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding $< |
| 340 | emacs-mime.dvi: ${srcdir}/emacs-mime.texi | 343 | emacs-mime.dvi: ${srcdir}/emacs-mime.texi |
| 341 | $(ENVADD) $(TEXI2DVI) $< | 344 | $(ENVADD) $(TEXI2DVI) $< |
| 342 | emacs-mime.pdf: ${srcdir}/emacs-mime.texi | 345 | emacs-mime.pdf: ${srcdir}/emacs-mime.texi |
| @@ -345,7 +348,7 @@ emacs-mime.pdf: ${srcdir}/emacs-mime.texi | |||
| 345 | epa : $(infodir)/epa | 348 | epa : $(infodir)/epa |
| 346 | $(infodir)/epa: epa.texi | 349 | $(infodir)/epa: epa.texi |
| 347 | $(mkinfodir) | 350 | $(mkinfodir) |
| 348 | cd $(srcdir); $(MAKEINFO) $< | 351 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 349 | epa.dvi: ${srcdir}/epa.texi | 352 | epa.dvi: ${srcdir}/epa.texi |
| 350 | $(ENVADD) $(TEXI2DVI) $< | 353 | $(ENVADD) $(TEXI2DVI) $< |
| 351 | epa.pdf: ${srcdir}/epa.texi | 354 | epa.pdf: ${srcdir}/epa.texi |
| @@ -354,16 +357,24 @@ epa.pdf: ${srcdir}/epa.texi | |||
| 354 | erc : $(infodir)/erc | 357 | erc : $(infodir)/erc |
| 355 | $(infodir)/erc: erc.texi | 358 | $(infodir)/erc: erc.texi |
| 356 | $(mkinfodir) | 359 | $(mkinfodir) |
| 357 | cd $(srcdir); $(MAKEINFO) $< | 360 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 358 | erc.dvi: ${srcdir}/erc.texi | 361 | erc.dvi: ${srcdir}/erc.texi |
| 359 | $(ENVADD) $(TEXI2DVI) $< | 362 | $(ENVADD) $(TEXI2DVI) $< |
| 360 | erc.pdf: ${srcdir}/erc.texi | 363 | erc.pdf: ${srcdir}/erc.texi |
| 361 | $(ENVADD) $(TEXI2PDF) $< | 364 | $(ENVADD) $(TEXI2PDF) $< |
| 362 | 365 | ||
| 366 | ert : $(infodir)/ert | ||
| 367 | $(infodir)/ert: ert.texi $(infodir) | ||
| 368 | cd $(srcdir); $(MAKEINFO) ert.texi | ||
| 369 | ert.dvi: ert.texi | ||
| 370 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi | ||
| 371 | ert.pdf: ert.texi | ||
| 372 | $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi | ||
| 373 | |||
| 363 | eshell : $(infodir)/eshell | 374 | eshell : $(infodir)/eshell |
| 364 | $(infodir)/eshell: eshell.texi | 375 | $(infodir)/eshell: eshell.texi |
| 365 | $(mkinfodir) | 376 | $(mkinfodir) |
| 366 | cd $(srcdir); $(MAKEINFO) $< | 377 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 367 | eshell.dvi: ${srcdir}/eshell.texi | 378 | eshell.dvi: ${srcdir}/eshell.texi |
| 368 | $(ENVADD) $(TEXI2DVI) $< | 379 | $(ENVADD) $(TEXI2DVI) $< |
| 369 | eshell.pdf: ${srcdir}/eshell.texi | 380 | eshell.pdf: ${srcdir}/eshell.texi |
| @@ -372,7 +383,7 @@ eshell.pdf: ${srcdir}/eshell.texi | |||
| 372 | eudc : $(infodir)/eudc | 383 | eudc : $(infodir)/eudc |
| 373 | $(infodir)/eudc: eudc.texi | 384 | $(infodir)/eudc: eudc.texi |
| 374 | $(mkinfodir) | 385 | $(mkinfodir) |
| 375 | cd $(srcdir); $(MAKEINFO) $< | 386 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 376 | eudc.dvi: ${srcdir}/eudc.texi | 387 | eudc.dvi: ${srcdir}/eudc.texi |
| 377 | $(ENVADD) $(TEXI2DVI) $< | 388 | $(ENVADD) $(TEXI2DVI) $< |
| 378 | eudc.pdf: ${srcdir}/eudc.texi | 389 | eudc.pdf: ${srcdir}/eudc.texi |
| @@ -381,7 +392,7 @@ eudc.pdf: ${srcdir}/eudc.texi | |||
| 381 | efaq : $(infodir)/efaq | 392 | efaq : $(infodir)/efaq |
| 382 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi | 393 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi |
| 383 | $(mkinfodir) | 394 | $(mkinfodir) |
| 384 | cd $(srcdir); $(MAKEINFO) $< | 395 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 385 | faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi | 396 | faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi |
| 386 | $(ENVADD) $(TEXI2DVI) $< | 397 | $(ENVADD) $(TEXI2DVI) $< |
| 387 | faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi | 398 | faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi |
| @@ -390,7 +401,7 @@ faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi | |||
| 390 | flymake : $(infodir)/flymake | 401 | flymake : $(infodir)/flymake |
| 391 | $(infodir)/flymake: flymake.texi | 402 | $(infodir)/flymake: flymake.texi |
| 392 | $(mkinfodir) | 403 | $(mkinfodir) |
| 393 | cd $(srcdir); $(MAKEINFO) $< | 404 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 394 | flymake.dvi: ${srcdir}/flymake.texi | 405 | flymake.dvi: ${srcdir}/flymake.texi |
| 395 | $(ENVADD) $(TEXI2DVI) $< | 406 | $(ENVADD) $(TEXI2DVI) $< |
| 396 | flymake.pdf: ${srcdir}/flymake.texi | 407 | flymake.pdf: ${srcdir}/flymake.texi |
| @@ -399,7 +410,7 @@ flymake.pdf: ${srcdir}/flymake.texi | |||
| 399 | forms : $(infodir)/forms | 410 | forms : $(infodir)/forms |
| 400 | $(infodir)/forms: forms.texi | 411 | $(infodir)/forms: forms.texi |
| 401 | $(mkinfodir) | 412 | $(mkinfodir) |
| 402 | cd $(srcdir); $(MAKEINFO) $< | 413 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 403 | forms.dvi: ${srcdir}/forms.texi | 414 | forms.dvi: ${srcdir}/forms.texi |
| 404 | $(ENVADD) $(TEXI2DVI) $< | 415 | $(ENVADD) $(TEXI2DVI) $< |
| 405 | forms.pdf: ${srcdir}/forms.texi | 416 | forms.pdf: ${srcdir}/forms.texi |
| @@ -409,7 +420,7 @@ forms.pdf: ${srcdir}/forms.texi | |||
| 409 | gnus : $(infodir)/gnus | 420 | gnus : $(infodir)/gnus |
| 410 | $(infodir)/gnus: gnus.texi gnus-faq.texi | 421 | $(infodir)/gnus: gnus.texi gnus-faq.texi |
| 411 | $(mkinfodir) | 422 | $(mkinfodir) |
| 412 | cd $(srcdir); $(MAKEINFO) $< | 423 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 413 | gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi | 424 | gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi |
| 414 | sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi | 425 | sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi |
| 415 | $(ENVADD) $(TEXI2DVI) gnustmp.texi | 426 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
| @@ -426,7 +437,7 @@ gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi | |||
| 426 | idlwave : $(infodir)/idlwave | 437 | idlwave : $(infodir)/idlwave |
| 427 | $(infodir)/idlwave: idlwave.texi | 438 | $(infodir)/idlwave: idlwave.texi |
| 428 | $(mkinfodir) | 439 | $(mkinfodir) |
| 429 | cd $(srcdir); $(MAKEINFO) --no-split $< | 440 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $< |
| 430 | idlwave.dvi: ${srcdir}/idlwave.texi | 441 | idlwave.dvi: ${srcdir}/idlwave.texi |
| 431 | $(ENVADD) $(TEXI2DVI) $< | 442 | $(ENVADD) $(TEXI2DVI) $< |
| 432 | idlwave.pdf: ${srcdir}/idlwave.texi | 443 | idlwave.pdf: ${srcdir}/idlwave.texi |
| @@ -438,7 +449,7 @@ idlwave.pdf: ${srcdir}/idlwave.texi | |||
| 438 | ###info : $(infodir)/info # circular! | 449 | ###info : $(infodir)/info # circular! |
| 439 | $(infodir)/info: info.texi | 450 | $(infodir)/info: info.texi |
| 440 | $(mkinfodir) | 451 | $(mkinfodir) |
| 441 | cd $(srcdir); $(MAKEINFO) --no-split $< -o $@ | 452 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) --no-split $< -o $@ |
| 442 | info.dvi: ${srcdir}/info.texi | 453 | info.dvi: ${srcdir}/info.texi |
| 443 | $(ENVADD) $(TEXI2DVI) $< | 454 | $(ENVADD) $(TEXI2DVI) $< |
| 444 | info.pdf: ${srcdir}/info.texi | 455 | info.pdf: ${srcdir}/info.texi |
| @@ -447,7 +458,7 @@ info.pdf: ${srcdir}/info.texi | |||
| 447 | mairix-el : $(infodir)/mairix-el | 458 | mairix-el : $(infodir)/mairix-el |
| 448 | $(infodir)/mairix-el: mairix-el.texi | 459 | $(infodir)/mairix-el: mairix-el.texi |
| 449 | $(mkinfodir) | 460 | $(mkinfodir) |
| 450 | cd $(srcdir); $(MAKEINFO) $< | 461 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 451 | mairix-el.dvi: ${srcdir}/mairix-el.texi | 462 | mairix-el.dvi: ${srcdir}/mairix-el.texi |
| 452 | $(ENVADD) $(TEXI2DVI) $< | 463 | $(ENVADD) $(TEXI2DVI) $< |
| 453 | mairix-el.pdf: ${srcdir}/mairix-el.texi | 464 | mairix-el.pdf: ${srcdir}/mairix-el.texi |
| @@ -456,7 +467,7 @@ mairix-el.pdf: ${srcdir}/mairix-el.texi | |||
| 456 | message : $(infodir)/message | 467 | message : $(infodir)/message |
| 457 | $(infodir)/message: message.texi | 468 | $(infodir)/message: message.texi |
| 458 | $(mkinfodir) | 469 | $(mkinfodir) |
| 459 | cd $(srcdir); $(MAKEINFO) $< | 470 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 460 | message.dvi: ${srcdir}/message.texi | 471 | message.dvi: ${srcdir}/message.texi |
| 461 | $(ENVADD) $(TEXI2DVI) $< | 472 | $(ENVADD) $(TEXI2DVI) $< |
| 462 | message.pdf: ${srcdir}/message.texi | 473 | message.pdf: ${srcdir}/message.texi |
| @@ -465,7 +476,7 @@ message.pdf: ${srcdir}/message.texi | |||
| 465 | mh-e : $(infodir)/mh-e | 476 | mh-e : $(infodir)/mh-e |
| 466 | $(infodir)/mh-e: mh-e.texi | 477 | $(infodir)/mh-e: mh-e.texi |
| 467 | $(mkinfodir) | 478 | $(mkinfodir) |
| 468 | cd $(srcdir); $(MAKEINFO) $< | 479 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 469 | mh-e.dvi: ${srcdir}/mh-e.texi | 480 | mh-e.dvi: ${srcdir}/mh-e.texi |
| 470 | $(ENVADD) $(TEXI2DVI) $< | 481 | $(ENVADD) $(TEXI2DVI) $< |
| 471 | mh-e.pdf: ${srcdir}/mh-e.texi | 482 | mh-e.pdf: ${srcdir}/mh-e.texi |
| @@ -474,7 +485,7 @@ mh-e.pdf: ${srcdir}/mh-e.texi | |||
| 474 | newsticker : $(infodir)/newsticker | 485 | newsticker : $(infodir)/newsticker |
| 475 | $(infodir)/newsticker: newsticker.texi | 486 | $(infodir)/newsticker: newsticker.texi |
| 476 | $(mkinfodir) | 487 | $(mkinfodir) |
| 477 | cd $(srcdir); $(MAKEINFO) $< | 488 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 478 | newsticker.dvi: ${srcdir}/newsticker.texi | 489 | newsticker.dvi: ${srcdir}/newsticker.texi |
| 479 | $(ENVADD) $(TEXI2DVI) $< | 490 | $(ENVADD) $(TEXI2DVI) $< |
| 480 | newsticker.pdf: ${srcdir}/newsticker.texi | 491 | newsticker.pdf: ${srcdir}/newsticker.texi |
| @@ -483,7 +494,7 @@ newsticker.pdf: ${srcdir}/newsticker.texi | |||
| 483 | nxml-mode : $(infodir)/nxml-mode | 494 | nxml-mode : $(infodir)/nxml-mode |
| 484 | $(infodir)/nxml-mode: nxml-mode.texi | 495 | $(infodir)/nxml-mode: nxml-mode.texi |
| 485 | $(mkinfodir) | 496 | $(mkinfodir) |
| 486 | cd $(srcdir); $(MAKEINFO) $< | 497 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 487 | nxml-mode.dvi: ${srcdir}/nxml-mode.texi | 498 | nxml-mode.dvi: ${srcdir}/nxml-mode.texi |
| 488 | $(ENVADD) $(TEXI2DVI) $< | 499 | $(ENVADD) $(TEXI2DVI) $< |
| 489 | nxml-mode.pdf: ${srcdir}/nxml-mode.texi | 500 | nxml-mode.pdf: ${srcdir}/nxml-mode.texi |
| @@ -492,7 +503,7 @@ nxml-mode.pdf: ${srcdir}/nxml-mode.texi | |||
| 492 | org : $(infodir)/org | 503 | org : $(infodir)/org |
| 493 | $(infodir)/org: org.texi | 504 | $(infodir)/org: org.texi |
| 494 | $(mkinfodir) | 505 | $(mkinfodir) |
| 495 | cd $(srcdir); $(MAKEINFO) $< | 506 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 496 | org.dvi: ${srcdir}/org.texi | 507 | org.dvi: ${srcdir}/org.texi |
| 497 | $(ENVADD) $(TEXI2DVI) $< | 508 | $(ENVADD) $(TEXI2DVI) $< |
| 498 | org.pdf: ${srcdir}/org.texi | 509 | org.pdf: ${srcdir}/org.texi |
| @@ -501,7 +512,7 @@ org.pdf: ${srcdir}/org.texi | |||
| 501 | pcl-cvs : $(infodir)/pcl-cvs | 512 | pcl-cvs : $(infodir)/pcl-cvs |
| 502 | $(infodir)/pcl-cvs: pcl-cvs.texi | 513 | $(infodir)/pcl-cvs: pcl-cvs.texi |
| 503 | $(mkinfodir) | 514 | $(mkinfodir) |
| 504 | cd $(srcdir); $(MAKEINFO) $< | 515 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 505 | pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi | 516 | pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi |
| 506 | $(ENVADD) $(TEXI2DVI) $< | 517 | $(ENVADD) $(TEXI2DVI) $< |
| 507 | pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi | 518 | pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi |
| @@ -510,7 +521,7 @@ pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi | |||
| 510 | pgg : $(infodir)/pgg | 521 | pgg : $(infodir)/pgg |
| 511 | $(infodir)/pgg: pgg.texi | 522 | $(infodir)/pgg: pgg.texi |
| 512 | $(mkinfodir) | 523 | $(mkinfodir) |
| 513 | cd $(srcdir); $(MAKEINFO) $< | 524 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 514 | pgg.dvi: ${srcdir}/pgg.texi | 525 | pgg.dvi: ${srcdir}/pgg.texi |
| 515 | $(ENVADD) $(TEXI2DVI) $< | 526 | $(ENVADD) $(TEXI2DVI) $< |
| 516 | pgg.pdf: ${srcdir}/pgg.texi | 527 | pgg.pdf: ${srcdir}/pgg.texi |
| @@ -519,7 +530,7 @@ pgg.pdf: ${srcdir}/pgg.texi | |||
| 519 | rcirc : $(infodir)/rcirc | 530 | rcirc : $(infodir)/rcirc |
| 520 | $(infodir)/rcirc: rcirc.texi | 531 | $(infodir)/rcirc: rcirc.texi |
| 521 | $(mkinfodir) | 532 | $(mkinfodir) |
| 522 | cd $(srcdir); $(MAKEINFO) $< | 533 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 523 | rcirc.dvi: ${srcdir}/rcirc.texi | 534 | rcirc.dvi: ${srcdir}/rcirc.texi |
| 524 | $(ENVADD) $(TEXI2DVI) $< | 535 | $(ENVADD) $(TEXI2DVI) $< |
| 525 | rcirc.pdf: ${srcdir}/rcirc.texi | 536 | rcirc.pdf: ${srcdir}/rcirc.texi |
| @@ -528,7 +539,7 @@ rcirc.pdf: ${srcdir}/rcirc.texi | |||
| 528 | reftex : $(infodir)/reftex | 539 | reftex : $(infodir)/reftex |
| 529 | $(infodir)/reftex: reftex.texi | 540 | $(infodir)/reftex: reftex.texi |
| 530 | $(mkinfodir) | 541 | $(mkinfodir) |
| 531 | cd $(srcdir); $(MAKEINFO) $< | 542 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 532 | reftex.dvi: ${srcdir}/reftex.texi | 543 | reftex.dvi: ${srcdir}/reftex.texi |
| 533 | $(ENVADD) $(TEXI2DVI) $< | 544 | $(ENVADD) $(TEXI2DVI) $< |
| 534 | reftex.pdf: ${srcdir}/reftex.texi | 545 | reftex.pdf: ${srcdir}/reftex.texi |
| @@ -537,7 +548,7 @@ reftex.pdf: ${srcdir}/reftex.texi | |||
| 537 | remember : $(infodir)/remember | 548 | remember : $(infodir)/remember |
| 538 | $(infodir)/remember: remember.texi | 549 | $(infodir)/remember: remember.texi |
| 539 | $(mkinfodir) | 550 | $(mkinfodir) |
| 540 | cd $(srcdir); $(MAKEINFO) $< | 551 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 541 | remember.dvi: ${srcdir}/remember.texi | 552 | remember.dvi: ${srcdir}/remember.texi |
| 542 | $(ENVADD) $(TEXI2DVI) $< | 553 | $(ENVADD) $(TEXI2DVI) $< |
| 543 | remember.pdf: ${srcdir}/remember.texi | 554 | remember.pdf: ${srcdir}/remember.texi |
| @@ -546,7 +557,7 @@ remember.pdf: ${srcdir}/remember.texi | |||
| 546 | sasl : $(infodir)/sasl | 557 | sasl : $(infodir)/sasl |
| 547 | $(infodir)/sasl: sasl.texi | 558 | $(infodir)/sasl: sasl.texi |
| 548 | $(mkinfodir) | 559 | $(mkinfodir) |
| 549 | cd $(srcdir); $(MAKEINFO) $< | 560 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 550 | sasl.dvi: ${srcdir}/sasl.texi | 561 | sasl.dvi: ${srcdir}/sasl.texi |
| 551 | $(ENVADD) $(TEXI2DVI) $< | 562 | $(ENVADD) $(TEXI2DVI) $< |
| 552 | sasl.pdf: ${srcdir}/sasl.texi | 563 | sasl.pdf: ${srcdir}/sasl.texi |
| @@ -555,7 +566,7 @@ sasl.pdf: ${srcdir}/sasl.texi | |||
| 555 | sc : $(infodir)/sc | 566 | sc : $(infodir)/sc |
| 556 | $(infodir)/sc: sc.texi | 567 | $(infodir)/sc: sc.texi |
| 557 | $(mkinfodir) | 568 | $(mkinfodir) |
| 558 | cd $(srcdir); $(MAKEINFO) $< | 569 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 559 | sc.dvi: ${srcdir}/sc.texi | 570 | sc.dvi: ${srcdir}/sc.texi |
| 560 | $(ENVADD) $(TEXI2DVI) $< | 571 | $(ENVADD) $(TEXI2DVI) $< |
| 561 | sc.pdf: ${srcdir}/sc.texi | 572 | sc.pdf: ${srcdir}/sc.texi |
| @@ -564,7 +575,7 @@ sc.pdf: ${srcdir}/sc.texi | |||
| 564 | semantic : $(infodir)/semantic | 575 | semantic : $(infodir)/semantic |
| 565 | $(infodir)/semantic: semantic.texi sem-user.texi | 576 | $(infodir)/semantic: semantic.texi sem-user.texi |
| 566 | $(mkinfodir) | 577 | $(mkinfodir) |
| 567 | cd $(srcdir); $(MAKEINFO) $< | 578 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 568 | semantic.dvi: ${srcdir}/semantic.texi sem-user.texi | 579 | semantic.dvi: ${srcdir}/semantic.texi sem-user.texi |
| 569 | $(ENVADD) $(TEXI2DVI) $< | 580 | $(ENVADD) $(TEXI2DVI) $< |
| 570 | semantic.pdf: ${srcdir}/semantic.texi sem-user.texi | 581 | semantic.pdf: ${srcdir}/semantic.texi sem-user.texi |
| @@ -573,7 +584,7 @@ semantic.pdf: ${srcdir}/semantic.texi sem-user.texi | |||
| 573 | ses : $(infodir)/ses | 584 | ses : $(infodir)/ses |
| 574 | $(infodir)/ses: ses.texi | 585 | $(infodir)/ses: ses.texi |
| 575 | $(mkinfodir) | 586 | $(mkinfodir) |
| 576 | cd $(srcdir); $(MAKEINFO) $< | 587 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 577 | ses.dvi: ${srcdir}/ses.texi | 588 | ses.dvi: ${srcdir}/ses.texi |
| 578 | $(ENVADD) $(TEXI2DVI) $< | 589 | $(ENVADD) $(TEXI2DVI) $< |
| 579 | ses.pdf: ${srcdir}/ses.texi | 590 | ses.pdf: ${srcdir}/ses.texi |
| @@ -582,7 +593,7 @@ ses.pdf: ${srcdir}/ses.texi | |||
| 582 | sieve : $(infodir)/sieve | 593 | sieve : $(infodir)/sieve |
| 583 | $(infodir)/sieve: sieve.texi | 594 | $(infodir)/sieve: sieve.texi |
| 584 | $(mkinfodir) | 595 | $(mkinfodir) |
| 585 | cd $(srcdir); $(MAKEINFO) $< | 596 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 586 | sieve.dvi: ${srcdir}/sieve.texi | 597 | sieve.dvi: ${srcdir}/sieve.texi |
| 587 | $(ENVADD) $(TEXI2DVI) $< | 598 | $(ENVADD) $(TEXI2DVI) $< |
| 588 | sieve.pdf: ${srcdir}/sieve.texi | 599 | sieve.pdf: ${srcdir}/sieve.texi |
| @@ -591,7 +602,7 @@ sieve.pdf: ${srcdir}/sieve.texi | |||
| 591 | smtpmail : $(infodir)/smtpmail | 602 | smtpmail : $(infodir)/smtpmail |
| 592 | $(infodir)/smtpmail: smtpmail.texi | 603 | $(infodir)/smtpmail: smtpmail.texi |
| 593 | $(mkinfodir) | 604 | $(mkinfodir) |
| 594 | cd $(srcdir); $(MAKEINFO) $< | 605 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 595 | smtpmail.dvi: ${srcdir}/smtpmail.texi | 606 | smtpmail.dvi: ${srcdir}/smtpmail.texi |
| 596 | $(ENVADD) $(TEXI2DVI) $< | 607 | $(ENVADD) $(TEXI2DVI) $< |
| 597 | smtpmail.pdf: ${srcdir}/smtpmail.texi | 608 | smtpmail.pdf: ${srcdir}/smtpmail.texi |
| @@ -600,7 +611,7 @@ smtpmail.pdf: ${srcdir}/smtpmail.texi | |||
| 600 | speedbar : $(infodir)/speedbar | 611 | speedbar : $(infodir)/speedbar |
| 601 | $(infodir)/speedbar: speedbar.texi | 612 | $(infodir)/speedbar: speedbar.texi |
| 602 | $(mkinfodir) | 613 | $(mkinfodir) |
| 603 | cd $(srcdir); $(MAKEINFO) $< | 614 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 604 | speedbar.dvi: ${srcdir}/speedbar.texi | 615 | speedbar.dvi: ${srcdir}/speedbar.texi |
| 605 | $(ENVADD) $(TEXI2DVI) $< | 616 | $(ENVADD) $(TEXI2DVI) $< |
| 606 | speedbar.pdf: ${srcdir}/speedbar.texi | 617 | speedbar.pdf: ${srcdir}/speedbar.texi |
| @@ -609,7 +620,7 @@ speedbar.pdf: ${srcdir}/speedbar.texi | |||
| 609 | tramp : $(infodir)/tramp | 620 | tramp : $(infodir)/tramp |
| 610 | $(infodir)/tramp: tramp.texi trampver.texi | 621 | $(infodir)/tramp: tramp.texi trampver.texi |
| 611 | $(mkinfodir) | 622 | $(mkinfodir) |
| 612 | cd $(srcdir); $(MAKEINFO) -D emacs $< | 623 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) -D emacs $< |
| 613 | tramp.dvi: ${srcdir}/tramp.texi trampver.texi | 624 | tramp.dvi: ${srcdir}/tramp.texi trampver.texi |
| 614 | $(ENVADD) $(TEXI2DVI) $< | 625 | $(ENVADD) $(TEXI2DVI) $< |
| 615 | tramp.pdf: ${srcdir}/tramp.texi trampver.texi | 626 | tramp.pdf: ${srcdir}/tramp.texi trampver.texi |
| @@ -618,7 +629,7 @@ tramp.pdf: ${srcdir}/tramp.texi trampver.texi | |||
| 618 | url : $(infodir)/url | 629 | url : $(infodir)/url |
| 619 | $(infodir)/url: url.texi | 630 | $(infodir)/url: url.texi |
| 620 | $(mkinfodir) | 631 | $(mkinfodir) |
| 621 | cd $(srcdir); $(MAKEINFO) $< | 632 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 622 | url.dvi: ${srcdir}/url.texi | 633 | url.dvi: ${srcdir}/url.texi |
| 623 | $(ENVADD) $(TEXI2DVI) $< | 634 | $(ENVADD) $(TEXI2DVI) $< |
| 624 | url.pdf: ${srcdir}/url.texi | 635 | url.pdf: ${srcdir}/url.texi |
| @@ -627,7 +638,7 @@ url.pdf: ${srcdir}/url.texi | |||
| 627 | vip : $(infodir)/vip | 638 | vip : $(infodir)/vip |
| 628 | $(infodir)/vip: vip.texi | 639 | $(infodir)/vip: vip.texi |
| 629 | $(mkinfodir) | 640 | $(mkinfodir) |
| 630 | cd $(srcdir); $(MAKEINFO) $< | 641 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 631 | vip.dvi: ${srcdir}/vip.texi | 642 | vip.dvi: ${srcdir}/vip.texi |
| 632 | $(ENVADD) $(TEXI2DVI) $< | 643 | $(ENVADD) $(TEXI2DVI) $< |
| 633 | vip.pdf: ${srcdir}/vip.texi | 644 | vip.pdf: ${srcdir}/vip.texi |
| @@ -636,7 +647,7 @@ vip.pdf: ${srcdir}/vip.texi | |||
| 636 | viper : $(infodir)/viper | 647 | viper : $(infodir)/viper |
| 637 | $(infodir)/viper: viper.texi | 648 | $(infodir)/viper: viper.texi |
| 638 | $(mkinfodir) | 649 | $(mkinfodir) |
| 639 | cd $(srcdir); $(MAKEINFO) $< | 650 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 640 | viper.dvi: ${srcdir}/viper.texi | 651 | viper.dvi: ${srcdir}/viper.texi |
| 641 | $(ENVADD) $(TEXI2DVI) $< | 652 | $(ENVADD) $(TEXI2DVI) $< |
| 642 | viper.pdf: ${srcdir}/viper.texi | 653 | viper.pdf: ${srcdir}/viper.texi |
| @@ -645,7 +656,7 @@ viper.pdf: ${srcdir}/viper.texi | |||
| 645 | widget : $(infodir)/widget | 656 | widget : $(infodir)/widget |
| 646 | $(infodir)/widget: widget.texi | 657 | $(infodir)/widget: widget.texi |
| 647 | $(mkinfodir) | 658 | $(mkinfodir) |
| 648 | cd $(srcdir); $(MAKEINFO) $< | 659 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 649 | widget.dvi: ${srcdir}/widget.texi | 660 | widget.dvi: ${srcdir}/widget.texi |
| 650 | $(ENVADD) $(TEXI2DVI) $< | 661 | $(ENVADD) $(TEXI2DVI) $< |
| 651 | widget.pdf: ${srcdir}/widget.texi | 662 | widget.pdf: ${srcdir}/widget.texi |
| @@ -654,7 +665,7 @@ widget.pdf: ${srcdir}/widget.texi | |||
| 654 | woman : $(infodir)/woman | 665 | woman : $(infodir)/woman |
| 655 | $(infodir)/woman: woman.texi | 666 | $(infodir)/woman: woman.texi |
| 656 | $(mkinfodir) | 667 | $(mkinfodir) |
| 657 | cd $(srcdir); $(MAKEINFO) $< | 668 | cd $(srcdir); $(MAKEINFO) $(MAKEINFO_OPTS) $< |
| 658 | woman.dvi: ${srcdir}/woman.texi | 669 | woman.dvi: ${srcdir}/woman.texi |
| 659 | $(ENVADD) $(TEXI2DVI) $< | 670 | $(ENVADD) $(TEXI2DVI) $< |
| 660 | woman.pdf: ${srcdir}/woman.texi | 671 | woman.pdf: ${srcdir}/woman.texi |
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index b746824df67..80949aefb33 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi | |||
| @@ -3,8 +3,7 @@ | |||
| 3 | @settitle Ada Mode | 3 | @settitle Ada Mode |
| 4 | 4 | ||
| 5 | @copying | 5 | @copying |
| 6 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 6 | Copyright @copyright{} 1999-2011 Free Software Foundation, Inc. |
| 7 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 8 | 7 | ||
| 9 | @quotation | 8 | @quotation |
| 10 | Permission is granted to copy, distribute and/or modify this document | 9 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1524,7 +1523,3 @@ autofill the current comment. | |||
| 1524 | @printindex fn | 1523 | @printindex fn |
| 1525 | 1524 | ||
| 1526 | @bye | 1525 | @bye |
| 1527 | |||
| 1528 | @ignore | ||
| 1529 | arch-tag: 68cf0d8a-55cc-4190-a28d-4984fa56ed1e | ||
| 1530 | @end ignore | ||
diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 2ab8fc18817..f19d6e28ddb 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @copying | 7 | @copying |
| 8 | This file describes the Emacs auth-source library. | 8 | This file describes the Emacs auth-source library. |
| 9 | 9 | ||
| 10 | Copyright @copyright{} 2008, 2009, 2010 Free Software Foundation, Inc. | 10 | Copyright @copyright{} 2008-2011 Free Software Foundation, Inc. |
| 11 | 11 | ||
| 12 | @quotation | 12 | @quotation |
| 13 | Permission is granted to copy, distribute and/or modify this document | 13 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 3f7ad21f1d3..bdf9ae7ab17 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi | |||
| @@ -10,8 +10,7 @@ | |||
| 10 | @c @cindex autotypist | 10 | @c @cindex autotypist |
| 11 | 11 | ||
| 12 | @copying | 12 | @copying |
| 13 | Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005, | 13 | Copyright @copyright{} 1994-1995, 1999, 2001-2011 Free Software Foundation, Inc. |
| 14 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 15 | 14 | ||
| 16 | @quotation | 15 | @quotation |
| 17 | Permission is granted to copy, distribute and/or modify this document | 16 | Permission is granted to copy, distribute and/or modify this document |
| @@ -664,7 +663,3 @@ of the expansion possibilities. | |||
| 664 | @printindex vr | 663 | @printindex vr |
| 665 | 664 | ||
| 666 | @bye | 665 | @bye |
| 667 | |||
| 668 | @ignore | ||
| 669 | arch-tag: 54001b27-5ef8-4a9d-a199-905d650fafba | ||
| 670 | @end ignore | ||
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 58de84b8194..755956a2999 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -94,8 +94,7 @@ This file documents Calc, the GNU Emacs calculator, included with | |||
| 94 | GNU Emacs @value{EMACSVER}. | 94 | GNU Emacs @value{EMACSVER}. |
| 95 | @end ifnotinfo | 95 | @end ifnotinfo |
| 96 | 96 | ||
| 97 | Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004, | 97 | Copyright @copyright{} 1990-1991, 2001-2011 Free Software Foundation, Inc. |
| 98 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 99 | 98 | ||
| 100 | @quotation | 99 | @quotation |
| 101 | Permission is granted to copy, distribute and/or modify this document | 100 | Permission is granted to copy, distribute and/or modify this document |
| @@ -36596,4 +36595,3 @@ the corresponding full Lisp name is derived by adding a prefix of | |||
| 36596 | @printindex fn | 36595 | @printindex fn |
| 36597 | 36596 | ||
| 36598 | @bye | 36597 | @bye |
| 36599 | |||
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index da8e7082909..d4a870346ce 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi | |||
| @@ -159,9 +159,7 @@ CC Mode | |||
| 159 | @copying | 159 | @copying |
| 160 | This manual is for CC Mode in Emacs. | 160 | This manual is for CC Mode in Emacs. |
| 161 | 161 | ||
| 162 | Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 162 | Copyright @copyright{} 1995-2011 Free Software Foundation, Inc. |
| 163 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 164 | Free Software Foundation, Inc. | ||
| 165 | 163 | ||
| 166 | @quotation | 164 | @quotation |
| 167 | Permission is granted to copy, distribute and/or modify this document | 165 | Permission is granted to copy, distribute and/or modify this document |
| @@ -7014,4 +7012,3 @@ Since most @ccmode{} variables are prepended with the string | |||
| 7014 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 7012 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 7015 | 7013 | ||
| 7016 | @bye | 7014 | @bye |
| 7017 | |||
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 79038792a3e..13fe9b570e2 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi | |||
| @@ -5,8 +5,7 @@ | |||
| 5 | @copying | 5 | @copying |
| 6 | This file documents the GNU Emacs Common Lisp emulation package. | 6 | This file documents the GNU Emacs Common Lisp emulation package. |
| 7 | 7 | ||
| 8 | Copyright @copyright{} 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 8 | Copyright @copyright{} 1993, 2001-2011 Free Software Foundation, Inc. |
| 9 | 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 10 | 9 | ||
| 11 | @quotation | 10 | @quotation |
| 12 | Permission is granted to copy, distribute and/or modify this document | 11 | Permission is granted to copy, distribute and/or modify this document |
| @@ -2494,15 +2493,18 @@ term restricts the search to just the specified property. The | |||
| 2494 | @code{of} term may specify either a buffer or a string. | 2493 | @code{of} term may specify either a buffer or a string. |
| 2495 | 2494 | ||
| 2496 | @item for @var{var} being the frames | 2495 | @item for @var{var} being the frames |
| 2497 | This clause iterates over all frames, i.e., X window system windows | 2496 | This clause iterates over all Emacs frames. The clause @code{screens} is |
| 2498 | open on Emacs files. The | 2497 | a synonym for @code{frames}. The frames are visited in |
| 2499 | clause @code{screens} is a synonym for @code{frames}. The frames | 2498 | @code{next-frame} order starting from @code{selected-frame}. |
| 2500 | are visited in @code{next-frame} order starting from | ||
| 2501 | @code{selected-frame}. | ||
| 2502 | 2499 | ||
| 2503 | @item for @var{var} being the windows [of @var{frame}] | 2500 | @item for @var{var} being the windows [of @var{frame}] |
| 2504 | This clause iterates over the windows (in the Emacs sense) of | 2501 | This clause iterates over the windows (in the Emacs sense) of |
| 2505 | the current frame, or of the specified @var{frame}. | 2502 | the current frame, or of the specified @var{frame}. It visits windows |
| 2503 | in @code{next-window} order starting from @code{selected-window} | ||
| 2504 | (or @code{frame-selected-window} if you specify @var{frame}). | ||
| 2505 | This clause treats the minibuffer window in the same way as | ||
| 2506 | @code{next-window} does. For greater flexibility, consider using | ||
| 2507 | @code{walk-windows} instead. | ||
| 2506 | 2508 | ||
| 2507 | @item for @var{var} being the buffers | 2509 | @item for @var{var} being the buffers |
| 2508 | This clause iterates over all buffers in Emacs. It is equivalent | 2510 | This clause iterates over all buffers in Emacs. It is equivalent |
| @@ -5322,6 +5324,3 @@ recursion. | |||
| 5322 | 5324 | ||
| 5323 | @bye | 5325 | @bye |
| 5324 | 5326 | ||
| 5325 | @ignore | ||
| 5326 | arch-tag: b61e7200-3bfa-4a70-a9d3-095e152696f8 | ||
| 5327 | @end ignore | ||
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 6f6a897e6dc..e50f48dcec1 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | @syncodeindex fn cp | 9 | @syncodeindex fn cp |
| 10 | 10 | ||
| 11 | @copying | 11 | @copying |
| 12 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 12 | Copyright @copyright{} 2007-2011 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1243,9 +1243,73 @@ message has been arrived, and @var{handler} is called. Example: | |||
| 1243 | @cindex method calls, returning | 1243 | @cindex method calls, returning |
| 1244 | @cindex returning method calls | 1244 | @cindex returning method calls |
| 1245 | 1245 | ||
| 1246 | Emacs can also offer own methods, which can be called by other | 1246 | In order to register methods on the D-Bus, Emacs has to request a well |
| 1247 | applications. These methods could be an implementation of an | 1247 | known name on the D-Bus under which it will be available for other |
| 1248 | interface of a well known service, like @samp{org.freedesktop.TextEditor}. | 1248 | clients. Names on the D-Bus can be registered and unregistered using |
| 1249 | the following functions: | ||
| 1250 | |||
| 1251 | @defun dbus-register-service bus service &rest flags | ||
| 1252 | Register the known name @var{service} on D-Bus @var{bus}. | ||
| 1253 | |||
| 1254 | @var{bus} is either the symbol @code{:system} or the symbol | ||
| 1255 | @code{:session}. | ||
| 1256 | |||
| 1257 | @var{service} is the service name to be registered on the D-Bus. It | ||
| 1258 | must be a known name. | ||
| 1259 | |||
| 1260 | @var{flags} is a subset of the following keywords: | ||
| 1261 | |||
| 1262 | @itemize | ||
| 1263 | @item @code{:allow-replacement}: Allow another service to become the primary | ||
| 1264 | owner if requested. | ||
| 1265 | |||
| 1266 | @item @code{:replace-existing}: Request to replace the current primary owner. | ||
| 1267 | |||
| 1268 | @item @code{:do-not-queue}: If we can not become the primary owner do not | ||
| 1269 | place us in the queue. | ||
| 1270 | @end itemize | ||
| 1271 | |||
| 1272 | One of the following keywords is returned: | ||
| 1273 | |||
| 1274 | @itemize | ||
| 1275 | |||
| 1276 | @item @code{:primary-owner}: We have become the primary owner of the name | ||
| 1277 | @var{service}. | ||
| 1278 | |||
| 1279 | @item @code{:in-queue}: We could not become the primary owner and | ||
| 1280 | have been placed in the queue. | ||
| 1281 | |||
| 1282 | @item @code{:exists}: We already are in the queue. | ||
| 1283 | |||
| 1284 | @item @code{:already-owner}: We already are the primary | ||
| 1285 | owner. | ||
| 1286 | @end itemize | ||
| 1287 | @end defun | ||
| 1288 | |||
| 1289 | @defun dbus-unregister-service bus service | ||
| 1290 | Unregister all objects from D-Bus @var{bus}, registered by Emacs for | ||
| 1291 | @var{service}. | ||
| 1292 | |||
| 1293 | @var{bus} is either the symbol @code{:system} or the symbol | ||
| 1294 | @code{:session}. | ||
| 1295 | |||
| 1296 | @var{service} is the D-Bus service name of the D-Bus. It must be a | ||
| 1297 | known name. Emacs releases its association to @var{service} from | ||
| 1298 | D-Bus. | ||
| 1299 | |||
| 1300 | One of the following keywords is returned: | ||
| 1301 | |||
| 1302 | @itemize | ||
| 1303 | @item @code{:released}: We successfully released the name @var{service}. | ||
| 1304 | @item @code{:non-existent}: The name @var{service} does not exist on the bus. | ||
| 1305 | @item @code{:not-owner}: We are not an owner of the name @var{service}. | ||
| 1306 | @end itemize | ||
| 1307 | @end defun | ||
| 1308 | |||
| 1309 | When a name has been chosen, Emacs can offer own methods, which can be | ||
| 1310 | called by other applications. These methods could be an | ||
| 1311 | implementation of an interface of a well known service, like | ||
| 1312 | @samp{org.freedesktop.TextEditor}. | ||
| 1249 | 1313 | ||
| 1250 | It could be also an implementation of an own interface. In this case, | 1314 | It could be also an implementation of an own interface. In this case, |
| 1251 | the service name must be @samp{org.gnu.Emacs}. The object path shall | 1315 | the service name must be @samp{org.gnu.Emacs}. The object path shall |
| @@ -1264,7 +1328,7 @@ paths, used by offered methods or signals, shall start with this | |||
| 1264 | string. | 1328 | string. |
| 1265 | @end deffn | 1329 | @end deffn |
| 1266 | 1330 | ||
| 1267 | @defun dbus-register-method bus service path interface method handler | 1331 | @defun dbus-register-method bus service path interface method handler dont-register-service |
| 1268 | With this function, an application registers @var{method} on the D-Bus | 1332 | With this function, an application registers @var{method} on the D-Bus |
| 1269 | @var{bus}. | 1333 | @var{bus}. |
| 1270 | 1334 | ||
| @@ -1272,10 +1336,11 @@ With this function, an application registers @var{method} on the D-Bus | |||
| 1272 | @code{:session}. | 1336 | @code{:session}. |
| 1273 | 1337 | ||
| 1274 | @var{service} is the D-Bus service name of the D-Bus object | 1338 | @var{service} is the D-Bus service name of the D-Bus object |
| 1275 | @var{method} is registered for. It must be a known name. | 1339 | @var{method} is registered for. It must be a known name (See |
| 1340 | discussion of @var{dont-register-service} below). | ||
| 1276 | 1341 | ||
| 1277 | @var{path} is the D-Bus object path @var{service} is | 1342 | @var{path} is the D-Bus object path @var{service} is registered (See |
| 1278 | registered. | 1343 | discussion of @var{dont-register-service} below). |
| 1279 | 1344 | ||
| 1280 | @var{interface} is the interface offered by @var{service}. It must | 1345 | @var{interface} is the interface offered by @var{service}. It must |
| 1281 | provide @var{method}. | 1346 | provide @var{method}. |
| @@ -1294,6 +1359,13 @@ returning a list containing the object. | |||
| 1294 | In case @var{handler} shall return a reply message with an empty | 1359 | In case @var{handler} shall return a reply message with an empty |
| 1295 | argument list, @var{handler} must return the symbol @code{:ignore}. | 1360 | argument list, @var{handler} must return the symbol @code{:ignore}. |
| 1296 | 1361 | ||
| 1362 | When @var{dont-register-service} is non-@code{nil}, the known name | ||
| 1363 | @var{service} is not registered. This means that other D-Bus clients | ||
| 1364 | have no way of noticing the newly registered method. When interfaces | ||
| 1365 | are constructed incrementally by adding single methods or properties | ||
| 1366 | at a time, @var{dont-register-service} can be used to prevent other | ||
| 1367 | clients from discovering the still incomplete interface. | ||
| 1368 | |||
| 1297 | The default D-Bus timeout when waiting for a message reply is 25 | 1369 | The default D-Bus timeout when waiting for a message reply is 25 |
| 1298 | seconds. This value could be even smaller, depending on the calling | 1370 | seconds. This value could be even smaller, depending on the calling |
| 1299 | client. Therefore, @var{handler} shall not last longer than | 1371 | client. Therefore, @var{handler} shall not last longer than |
| @@ -1368,7 +1440,7 @@ The test runs then | |||
| 1368 | @end example | 1440 | @end example |
| 1369 | @end defun | 1441 | @end defun |
| 1370 | 1442 | ||
| 1371 | @defun dbus-register-property bus service path interface property access value &optional emits-signal | 1443 | @defun dbus-register-property bus service path interface property access value &optional emits-signal dont-register-service |
| 1372 | With this function, an application declares a @var{property} on the D-Bus | 1444 | With this function, an application declares a @var{property} on the D-Bus |
| 1373 | @var{bus}. | 1445 | @var{bus}. |
| 1374 | 1446 | ||
| @@ -1378,8 +1450,8 @@ With this function, an application declares a @var{property} on the D-Bus | |||
| 1378 | @var{service} is the D-Bus service name of the D-Bus. It must be a | 1450 | @var{service} is the D-Bus service name of the D-Bus. It must be a |
| 1379 | known name. | 1451 | known name. |
| 1380 | 1452 | ||
| 1381 | @var{path} is the D-Bus object path @var{service} is | 1453 | @var{path} is the D-Bus object path @var{service} is registered (See |
| 1382 | registered. | 1454 | discussion of @var{dont-register-service} below). |
| 1383 | 1455 | ||
| 1384 | @var{interface} is the name of the interface used at @var{path}, | 1456 | @var{interface} is the name of the interface used at @var{path}, |
| 1385 | @var{property} is the name of the property of @var{interface}. | 1457 | @var{property} is the name of the property of @var{interface}. |
| @@ -1401,6 +1473,13 @@ The interface @samp{org.freedesktop.DBus.Properties} is added to | |||
| 1401 | @samp{PropertiesChanged} is sent when the property is changed by | 1473 | @samp{PropertiesChanged} is sent when the property is changed by |
| 1402 | @code{dbus-set-property}. | 1474 | @code{dbus-set-property}. |
| 1403 | 1475 | ||
| 1476 | When @var{dont-register-service} is non-@code{nil}, the known name | ||
| 1477 | @var{service} is not registered. This means that other D-Bus clients | ||
| 1478 | have no way of noticing the newly registered method. When interfaces | ||
| 1479 | are constructed incrementally by adding single methods or properties | ||
| 1480 | at a time, @var{dont-register-service} can be used to prevent other | ||
| 1481 | clients from discovering the still incomplete interface. | ||
| 1482 | |||
| 1404 | @noindent Example: | 1483 | @noindent Example: |
| 1405 | 1484 | ||
| 1406 | @lisp | 1485 | @lisp |
| @@ -1475,18 +1554,6 @@ registered for the respective service, Emacs releases its association | |||
| 1475 | to the service from D-Bus. | 1554 | to the service from D-Bus. |
| 1476 | @end defun | 1555 | @end defun |
| 1477 | 1556 | ||
| 1478 | @defun dbus-unregister-service bus service | ||
| 1479 | Unregister all objects from D-Bus @var{bus}, registered by Emacs for | ||
| 1480 | @var{service}. | ||
| 1481 | |||
| 1482 | @var{bus} is either the symbol @code{:system} or the symbol | ||
| 1483 | @code{:session}. | ||
| 1484 | |||
| 1485 | @var{service} is the D-Bus service name of the D-Bus. It must be a | ||
| 1486 | known name. Emacs releases its association to @var{service} from | ||
| 1487 | D-Bus. | ||
| 1488 | @end defun | ||
| 1489 | |||
| 1490 | 1557 | ||
| 1491 | @node Signals | 1558 | @node Signals |
| 1492 | @chapter Sending and receiving signals. | 1559 | @chapter Sending and receiving signals. |
| @@ -1772,7 +1839,3 @@ whether a given D-Bus error is related to them. | |||
| 1772 | @include doclicense.texi | 1839 | @include doclicense.texi |
| 1773 | 1840 | ||
| 1774 | @bye | 1841 | @bye |
| 1775 | |||
| 1776 | @ignore | ||
| 1777 | arch-tag: 2eeec19d-0caf-44e0-a193-329d7f9951d8 | ||
| 1778 | @end ignore | ||
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 0d05833d0ac..21f91c9125e 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi | |||
| @@ -18,8 +18,7 @@ | |||
| 18 | @comment %**end of header (This is for running Texinfo on a region.) | 18 | @comment %**end of header (This is for running Texinfo on a region.) |
| 19 | 19 | ||
| 20 | @copying | 20 | @copying |
| 21 | Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, | 21 | Copyright @copyright{} 1994-1995, 1999, 2001-2011 Free Software Foundation, Inc. |
| 22 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 23 | 22 | ||
| 24 | @quotation | 23 | @quotation |
| 25 | Permission is granted to copy, distribute and/or modify this document | 24 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1258,7 +1257,3 @@ Lawrence R. Dodd | |||
| 1258 | @printindex vr | 1257 | @printindex vr |
| 1259 | 1258 | ||
| 1260 | @bye | 1259 | @bye |
| 1261 | |||
| 1262 | @ignore | ||
| 1263 | arch-tag: 201727aa-9318-4c74-a0d7-4f51c550c4de | ||
| 1264 | @end ignore | ||
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 86cae35a6f4..66a5e38443d 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi | |||
| @@ -10,8 +10,7 @@ | |||
| 10 | @copying | 10 | @copying |
| 11 | This file documents Ebrowse, a C++ class browser for GNU Emacs. | 11 | This file documents Ebrowse, a C++ class browser for GNU Emacs. |
| 12 | 12 | ||
| 13 | Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 13 | Copyright @copyright{} 2000-2011 Free Software Foundation, Inc. |
| 14 | 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 15 | 14 | ||
| 16 | @quotation | 15 | @quotation |
| 17 | Permission is granted to copy, distribute and/or modify this document | 16 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1451,7 +1450,3 @@ in on with the command @kbd{C-c C-m m}. | |||
| 1451 | @printindex cp | 1450 | @printindex cp |
| 1452 | 1451 | ||
| 1453 | @bye | 1452 | @bye |
| 1454 | |||
| 1455 | @ignore | ||
| 1456 | arch-tag: 52fe78ac-a1c4-48e7-815e-0a31acfad4bf | ||
| 1457 | @end ignore | ||
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 7e1d6c7907a..86228a24d06 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi | |||
| @@ -5,8 +5,7 @@ | |||
| 5 | @copying | 5 | @copying |
| 6 | This file describes EDE, the Emacs Development Environment. | 6 | This file describes EDE, the Emacs Development Environment. |
| 7 | 7 | ||
| 8 | Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, | 8 | Copyright @copyright{} 1998-2001, 2004-2005, 2008-2011 Free Software Foundation, Inc. |
| 9 | 2010 Free Software Foundation, Inc. | ||
| 10 | 9 | ||
| 11 | @quotation | 10 | @quotation |
| 12 | Permission is granted to copy, distribute and/or modify this document | 11 | Permission is granted to copy, distribute and/or modify this document |
| @@ -3791,7 +3790,3 @@ For example, C code uses .o on unix, and Emacs Lisp uses .elc. | |||
| 3791 | @end table | 3790 | @end table |
| 3792 | 3791 | ||
| 3793 | @bye | 3792 | @bye |
| 3794 | |||
| 3795 | @ignore | ||
| 3796 | arch-tag: c9bfdc6e-e6e9-4e87-97f7-d8348342fbf4 | ||
| 3797 | @end ignore | ||
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index c2897e185bf..2a55541bbfd 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi | |||
| @@ -25,8 +25,7 @@ | |||
| 25 | This file documents Ediff, a comprehensive visual interface to Unix diff | 25 | This file documents Ediff, a comprehensive visual interface to Unix diff |
| 26 | and patch utilities. | 26 | and patch utilities. |
| 27 | 27 | ||
| 28 | Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 28 | Copyright @copyright{} 1995-2011 Free Software Foundation, Inc. |
| 29 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 30 | 29 | ||
| 31 | @quotation | 30 | @quotation |
| 32 | Permission is granted to copy, distribute and/or modify this document | 31 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index f3d0eacc0f3..e3117d65699 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi | |||
| @@ -5,8 +5,7 @@ | |||
| 5 | @copying | 5 | @copying |
| 6 | This file documents the EDT emulation package for Emacs. | 6 | This file documents the EDT emulation package for Emacs. |
| 7 | 7 | ||
| 8 | Copyright @copyright{} 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, | 8 | Copyright @copyright{} 1986, 1992, 1994-1995, 1999-2011 |
| 9 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 10 | Free Software Foundation, Inc. | 9 | Free Software Foundation, Inc. |
| 11 | 10 | ||
| 12 | @quotation | 11 | @quotation |
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 169e52c1bd0..1a22a15afba 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | @copying | 11 | @copying |
| 12 | This manual documents EIEIO, an object framework for Emacs Lisp. | 12 | This manual documents EIEIO, an object framework for Emacs Lisp. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 14 | Copyright @copyright{} 2007-2011 Free Software Foundation, Inc. |
| 15 | 15 | ||
| 16 | @quotation | 16 | @quotation |
| 17 | Permission is granted to copy, distribute and/or modify this document | 17 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1906,7 +1906,3 @@ Allow method overloading of method-like functions in Emacs. | |||
| 1906 | 1906 | ||
| 1907 | @contents | 1907 | @contents |
| 1908 | @bye | 1908 | @bye |
| 1909 | |||
| 1910 | @ignore | ||
| 1911 | arch-tag: 7225b7c7-2462-4563-99e7-836a20172178 | ||
| 1912 | @end ignore | ||
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 9511f6d10c0..62a43aa11bc 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi | |||
| @@ -9,8 +9,7 @@ | |||
| 9 | @copying | 9 | @copying |
| 10 | This file documents the Emacs MIME interface functionality. | 10 | This file documents the Emacs MIME interface functionality. |
| 11 | 11 | ||
| 12 | Copyright @copyright{} 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, | 12 | Copyright @copyright{} 1998-2011 Free Software Foundation, Inc. |
| 13 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 14 | 13 | ||
| 15 | @quotation | 14 | @quotation |
| 16 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 7afe9c0c9b8..ae194356c3f 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | @copying | 9 | @copying |
| 10 | This file describes EasyPG Assistant @value{VERSION}. | 10 | This file describes EasyPG Assistant @value{VERSION}. |
| 11 | 11 | ||
| 12 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 12 | Copyright @copyright{} 2007-2011 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -353,16 +353,21 @@ key in the recipient list, use @samp{encrypt-to} option in | |||
| 353 | 353 | ||
| 354 | @node Encrypting/decrypting *.gpg files | 354 | @node Encrypting/decrypting *.gpg files |
| 355 | @section Encrypting/decrypting *.gpg files | 355 | @section Encrypting/decrypting *.gpg files |
| 356 | By default, every file whose extension is @samp{.gpg} will be treated | 356 | By default, every file whose name ends with @samp{.gpg} will be |
| 357 | as encrypted. That is, when you attempt to open such a file which | 357 | treated as encrypted. That is, when you open such a file, the |
| 358 | already exists, the decrypted text is inserted in the buffer rather | 358 | decrypted text is inserted in the buffer rather than encrypted one. |
| 359 | than encrypted one. On the other hand, when you attempt to save the | 359 | Similarly, when you save the buffer to a @samp{foo.gpg} file, |
| 360 | buffer to a file whose extension is @samp{.gpg}, encrypted data is | 360 | encrypted data is written. |
| 361 | written. | ||
| 362 | 361 | ||
| 363 | If you want to temporarily disable this behavior, use @kbd{M-x | 362 | The file name pattern for encrypted files can be controlled by |
| 364 | epa-file-disable}, and then to enable this behavior use @kbd{M-x | 363 | @var{epa-file-name-regexp}. |
| 365 | epa-file-enable}. | 364 | |
| 365 | @defvar epa-file-name-regexp | ||
| 366 | Regexp which matches filenames treated as encrypted. | ||
| 367 | @end defvar | ||
| 368 | |||
| 369 | You can disable this behavior with @kbd{M-x epa-file-disable}, and | ||
| 370 | then get it back with @kbd{M-x epa-file-enable}. | ||
| 366 | 371 | ||
| 367 | @deffn Command epa-file-disable | 372 | @deffn Command epa-file-disable |
| 368 | Disable automatic encryption/decryption of *.gpg files. | 373 | Disable automatic encryption/decryption of *.gpg files. |
| @@ -373,23 +378,48 @@ Enable automatic encryption/decryption of *.gpg files. | |||
| 373 | @end deffn | 378 | @end deffn |
| 374 | 379 | ||
| 375 | @noindent | 380 | @noindent |
| 376 | @code{epa-file} will let you select recipients. If you want to | 381 | By default, @code{epa-file} will try to use symmetric encryption, aka |
| 377 | suppress this question, it might be a good idea to put the following | 382 | password-based encryption. If you want to use public key encryption |
| 378 | line on the first line of the text being encrypted. | 383 | instead, do @kbd{M-x epa-file-select-keys}, which will pops up the key |
| 384 | selection dialog. | ||
| 385 | |||
| 386 | @deffn Command epa-file-select-keys | ||
| 387 | Select recipient keys to encrypt the currently visiting file with | ||
| 388 | public key encryption. | ||
| 389 | @end deffn | ||
| 390 | |||
| 391 | You can also change the default behavior with the variable | ||
| 392 | @var{epa-file-select-keys}. | ||
| 393 | |||
| 394 | @defvar epa-file-select-keys | ||
| 395 | Control whether or not to pop up the key selection dialog. | ||
| 396 | @end defvar | ||
| 397 | |||
| 398 | For frequently visited files, it might be a good idea to tell Emacs | ||
| 399 | which encryption method should be used through @xref{File Variables, , | ||
| 400 | , emacs, the Emacs Manual}. Use the @code{epa-file-encrypt-to} local | ||
| 401 | variable for this. | ||
| 379 | @vindex epa-file-encrypt-to | 402 | @vindex epa-file-encrypt-to |
| 380 | 403 | ||
| 404 | For example, if you want an Elisp file should be encrypted with a | ||
| 405 | public key associated with an email address @samp{ueno@@unixuser.org}, | ||
| 406 | add the following line to the beginning of the file. | ||
| 407 | |||
| 381 | @cartouche | 408 | @cartouche |
| 382 | @lisp | 409 | @lisp |
| 383 | ;; -*- epa-file-encrypt-to: ("ueno@@unixuser.org") -*- | 410 | ;; -*- epa-file-encrypt-to: ("ueno@@unixuser.org") -*- |
| 384 | @end lisp | 411 | @end lisp |
| 385 | @end cartouche | 412 | @end cartouche |
| 386 | 413 | ||
| 387 | The file name extension of encrypted files can be controlled by | 414 | Instead, if you want the file always (regardless of the value of the |
| 388 | @var{epa-file-name-regexp}. | 415 | @code{epa-file-select-keys} variable) encrypted with symmetric |
| 416 | encryption, change the line as follows. | ||
| 389 | 417 | ||
| 390 | @defvar epa-file-name-regexp | 418 | @cartouche |
| 391 | Regexp which matches filenames treated as encrypted. | 419 | @lisp |
| 392 | @end defvar | 420 | ;; -*- epa-file-encrypt-to: nil -*- |
| 421 | @end lisp | ||
| 422 | @end cartouche | ||
| 393 | 423 | ||
| 394 | Other variables which control the automatic encryption/decryption | 424 | Other variables which control the automatic encryption/decryption |
| 395 | behavior are below. | 425 | behavior are below. |
| @@ -466,7 +496,3 @@ buffer name is a whitespace. | |||
| 466 | @bye | 496 | @bye |
| 467 | 497 | ||
| 468 | @c End: | 498 | @c End: |
| 469 | |||
| 470 | @ignore | ||
| 471 | arch-tag: 7404e246-7d4c-4db4-9332-c1293a455a4f | ||
| 472 | @end ignore | ||
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 1c547bf80e5..1ce6e949da5 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This manual is for ERC version 5.3. | 9 | This manual is for ERC version 5.3. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 | 11 | Copyright @copyright{} 2005-2011 |
| 12 | Free Software Foundation, Inc. | 12 | Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| @@ -1061,7 +1061,3 @@ We switched to using git for our version control system. | |||
| 1061 | @printindex cp | 1061 | @printindex cp |
| 1062 | 1062 | ||
| 1063 | @bye | 1063 | @bye |
| 1064 | |||
| 1065 | @ignore | ||
| 1066 | arch-tag: cf9cfaff-fc12-4297-ad15-ec2493002b1e | ||
| 1067 | @end ignore | ||
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi new file mode 100644 index 00000000000..978cac6992b --- /dev/null +++ b/doc/misc/ert.texi | |||
| @@ -0,0 +1,841 @@ | |||
| 1 | \input texinfo | ||
| 2 | @c %**start of header | ||
| 3 | @setfilename ../../info/ert | ||
| 4 | @settitle Emacs Lisp Regression Testing | ||
| 5 | @c %**end of header | ||
| 6 | |||
| 7 | @dircategory Emacs | ||
| 8 | @direntry | ||
| 9 | * ERT: (ert). Emacs Lisp Regression Testing. | ||
| 10 | @end direntry | ||
| 11 | |||
| 12 | @copying | ||
| 13 | Copyright @copyright{} 2008, 2010-2011 Free Software Foundation, Inc. | ||
| 14 | |||
| 15 | @quotation | ||
| 16 | Permission is granted to copy, distribute and/or modify this document | ||
| 17 | under the terms of the GNU Free Documentation License, Version 1.3 or | ||
| 18 | any later version published by the Free Software Foundation; with no | ||
| 19 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | ||
| 20 | and with the Back-Cover Texts as in (a) below. A copy of the license | ||
| 21 | is included in the section entitled ``GNU Free Documentation License'' | ||
| 22 | in the Emacs manual. | ||
| 23 | |||
| 24 | (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and | ||
| 25 | modify this GNU manual. Buying copies from the FSF supports it in | ||
| 26 | developing GNU and promoting software freedom.'' | ||
| 27 | |||
| 28 | This document is part of a collection distributed under the GNU Free | ||
| 29 | Documentation License. If you want to distribute this document | ||
| 30 | separately from the collection, you can do so by adding a copy of the | ||
| 31 | license to the document, as described in section 6 of the license. | ||
| 32 | @end quotation | ||
| 33 | @end copying | ||
| 34 | |||
| 35 | @node Top, Introduction, (dir), (dir) | ||
| 36 | @top ERT: Emacs Lisp Regression Testing | ||
| 37 | |||
| 38 | ERT is a tool for automated testing in Emacs Lisp. Its main features | ||
| 39 | are facilities for defining tests, running them and reporting the | ||
| 40 | results, and for debugging test failures interactively. | ||
| 41 | |||
| 42 | ERT is similar to tools for other environments such as JUnit, but has | ||
| 43 | unique features that take advantage of the dynamic and interactive | ||
| 44 | nature of Emacs. Despite its name, it works well both for test-driven | ||
| 45 | development (see | ||
| 46 | @url{http://en.wikipedia.org/wiki/Test-driven_development}) and for | ||
| 47 | traditional software development methods. | ||
| 48 | |||
| 49 | @menu | ||
| 50 | * Introduction:: A simple example of an ERT test. | ||
| 51 | * How to Run Tests:: Run tests in your Emacs or from the command line. | ||
| 52 | * How to Write Tests:: How to add tests to your Emacs Lisp code. | ||
| 53 | * How to Debug Tests:: What to do if a test fails. | ||
| 54 | * Extending ERT:: ERT is extensible in several ways. | ||
| 55 | * Other Testing Concepts:: Features not in ERT. | ||
| 56 | |||
| 57 | @detailmenu | ||
| 58 | --- The Detailed Node Listing --- | ||
| 59 | |||
| 60 | How to Run Tests | ||
| 61 | |||
| 62 | * Running Tests Interactively:: Run tests in your current Emacs. | ||
| 63 | * Running Tests in Batch Mode:: Run tests in emacs -Q. | ||
| 64 | * Test Selectors:: Choose which tests to run. | ||
| 65 | |||
| 66 | How to Write Tests | ||
| 67 | |||
| 68 | * The @code{should} Macro:: A powerful way to express assertions. | ||
| 69 | * Expected Failures:: Tests for known bugs. | ||
| 70 | * Tests and Their Environment:: Don't depend on customizations; no side effects. | ||
| 71 | * Useful Techniques:: Some examples. | ||
| 72 | |||
| 73 | How to Debug Tests | ||
| 74 | |||
| 75 | * Understanding Explanations:: How ERT gives details on why an assertion failed. | ||
| 76 | * Interactive Debugging:: Tools available in the ERT results buffer. | ||
| 77 | |||
| 78 | Extending ERT | ||
| 79 | |||
| 80 | * Defining Explanation Functions:: Teach ERT about more predicates. | ||
| 81 | * Low-Level Functions for Working with Tests:: Use ERT's data for your purposes. | ||
| 82 | |||
| 83 | Other Testing Concepts | ||
| 84 | |||
| 85 | * Mocks and Stubs:: Stubbing out code that is irrelevant to the test. | ||
| 86 | * Fixtures and Test Suites:: How ERT differs from tools for other languages. | ||
| 87 | |||
| 88 | @end detailmenu | ||
| 89 | @end menu | ||
| 90 | |||
| 91 | @node Introduction, How to Run Tests, Top, Top | ||
| 92 | @chapter Introduction | ||
| 93 | |||
| 94 | ERT allows you to define @emph{tests} in addition to functions, | ||
| 95 | macros, variables, and the other usual Lisp constructs. Tests are | ||
| 96 | simply Lisp code --- code that invokes other code and checks whether | ||
| 97 | it behaves as expected. | ||
| 98 | |||
| 99 | ERT keeps track of the tests that are defined and provides convenient | ||
| 100 | commands to run them to verify whether the definitions that are | ||
| 101 | currently loaded in Emacs pass the tests. | ||
| 102 | |||
| 103 | Some Lisp files have comments like the following (adapted from the | ||
| 104 | package @code{pp.el}): | ||
| 105 | |||
| 106 | @lisp | ||
| 107 | ;; (pp-to-string '(quote quote)) ; expected: "'quote" | ||
| 108 | ;; (pp-to-string '((quote a) (quote b))) ; expected: "('a 'b)\n" | ||
| 109 | ;; (pp-to-string '('a 'b)) ; same as above | ||
| 110 | @end lisp | ||
| 111 | |||
| 112 | The code contained in these comments can be evaluated from time to | ||
| 113 | time to compare the output with the expected output. ERT formalizes | ||
| 114 | this and introduces a common convention, which simplifies Emacs | ||
| 115 | development, since programmers no longer have to manually find and | ||
| 116 | evaluate such comments. | ||
| 117 | |||
| 118 | An ERT test definition equivalent to the above comments is this: | ||
| 119 | |||
| 120 | @lisp | ||
| 121 | (ert-deftest pp-test-quote () | ||
| 122 | "Tests the rendering of `quote' symbols in `pp-to-string'." | ||
| 123 | (should (equal (pp-to-string '(quote quote)) "'quote")) | ||
| 124 | (should (equal (pp-to-string '((quote a) (quote b))) "('a 'b)\n")) | ||
| 125 | (should (equal (pp-to-string '('a 'b)) "('a 'b)\n"))) | ||
| 126 | @end lisp | ||
| 127 | |||
| 128 | If you know @code{defun}, the syntax of @code{ert-deftest} should look | ||
| 129 | familiar: This example defines a test named @code{pp-test-quote} that | ||
| 130 | will pass if the three calls to @code{equal} all return true | ||
| 131 | (non-nil). | ||
| 132 | |||
| 133 | @code{should} is a macro with the same meaning as @code{assert} but | ||
| 134 | better error reporting. @xref{The @code{should} Macro}. | ||
| 135 | |||
| 136 | Each test should have a name that describes what functionality the | ||
| 137 | test tests. Test names can be chosen arbitrarily --- they are in a | ||
| 138 | namespace separate from functions and variables --- but should follow | ||
| 139 | the usual Emacs Lisp convention of having a prefix that indicates | ||
| 140 | which package they belong to. Test names are displayed by ERT when | ||
| 141 | reporting failures and can be used when selecting which tests to run. | ||
| 142 | |||
| 143 | The empty parentheses @code{()} in the first line don't currently have | ||
| 144 | any meaning and are reserved for future extension. They also make | ||
| 145 | @code{ert-deftest}'s syntax more similar to @code{defun}. | ||
| 146 | |||
| 147 | The docstring describes what feature this test tests. When running | ||
| 148 | tests interactively, the first line of the docstring is displayed for | ||
| 149 | tests that fail, so it is good if the first line makes sense on its | ||
| 150 | own. | ||
| 151 | |||
| 152 | The body of a test can be arbitrary Lisp code. It should have as few | ||
| 153 | side effects as possible; each test should be written to clean up | ||
| 154 | after itself, leaving Emacs in the same state as it was before the | ||
| 155 | test. Tests should clean up even if they fail. @xref{Tests and Their | ||
| 156 | Environment}. | ||
| 157 | |||
| 158 | |||
| 159 | @node How to Run Tests, How to Write Tests, Introduction, Top | ||
| 160 | @chapter How to Run Tests | ||
| 161 | |||
| 162 | You can run tests either in the Emacs you are working in, or on the | ||
| 163 | command line in a separate Emacs process in batch mode (i.e., with no | ||
| 164 | user interface). The former mode is convenient during interactive | ||
| 165 | development, the latter is useful to make sure that tests pass | ||
| 166 | independently of your customizations, allows tests to be invoked from | ||
| 167 | makefiles and scripts to be written that run tests in several | ||
| 168 | different Emacs versions. | ||
| 169 | |||
| 170 | @menu | ||
| 171 | * Running Tests Interactively:: Run tests in your current Emacs. | ||
| 172 | * Running Tests in Batch Mode:: Run tests in emacs -Q. | ||
| 173 | * Test Selectors:: Choose which tests to run. | ||
| 174 | @end menu | ||
| 175 | |||
| 176 | |||
| 177 | @node Running Tests Interactively, Running Tests in Batch Mode, How to Run Tests, How to Run Tests | ||
| 178 | @section Running Tests Interactively | ||
| 179 | |||
| 180 | You can run the tests that are currently defined in your Emacs with | ||
| 181 | the command @kbd{@kbd{M-x} ert @kbd{RET} t @kbd{RET}}. ERT will pop | ||
| 182 | up a new buffer, the ERT results buffer, showing the results of the | ||
| 183 | tests run. It looks like this: | ||
| 184 | |||
| 185 | @example | ||
| 186 | Selector: t | ||
| 187 | Passed: 31 | ||
| 188 | Failed: 2 (2 unexpected) | ||
| 189 | Total: 33/33 | ||
| 190 | |||
| 191 | Started at: 2008-09-11 08:39:25-0700 | ||
| 192 | Finished. | ||
| 193 | Finished at: 2008-09-11 08:39:27-0700 | ||
| 194 | |||
| 195 | FF............................... | ||
| 196 | |||
| 197 | F addition-test | ||
| 198 | (ert-test-failed | ||
| 199 | ((should | ||
| 200 | (= | ||
| 201 | (+ 1 2) | ||
| 202 | 4)) | ||
| 203 | :form | ||
| 204 | (= 3 4) | ||
| 205 | :value nil)) | ||
| 206 | |||
| 207 | F list-test | ||
| 208 | (ert-test-failed | ||
| 209 | ((should | ||
| 210 | (equal | ||
| 211 | (list 'a 'b 'c) | ||
| 212 | '(a b d))) | ||
| 213 | :form | ||
| 214 | (equal | ||
| 215 | (a b c) | ||
| 216 | (a b d)) | ||
| 217 | :value nil :explanation | ||
| 218 | (list-elt 2 | ||
| 219 | (different-atoms c d)))) | ||
| 220 | @end example | ||
| 221 | |||
| 222 | At the top, there is a summary of the results: We ran all tests in the | ||
| 223 | current Emacs (@code{Selector: t}), 31 of them passed, and 2 failed | ||
| 224 | unexpectedly. @xref{Expected Failures}, for an explanation of the | ||
| 225 | term @emph{unexpected} in this context. | ||
| 226 | |||
| 227 | The line of dots and @code{F}s is a progress bar where each character | ||
| 228 | represents one test; it fills while the tests are running. A dot | ||
| 229 | means that the test passed, an @code{F} means that it failed. Below | ||
| 230 | the progress bar, ERT shows details about each test that had an | ||
| 231 | unexpected result. In the example above, there are two failures, both | ||
| 232 | due to failed @code{should} forms. @xref{Understanding Explanations}, | ||
| 233 | for more details. | ||
| 234 | |||
| 235 | In the ERT results buffer, @kbd{TAB} and @kbd{S-TAB} cycle between | ||
| 236 | buttons. Each name of a function or macro in this buffer is a button; | ||
| 237 | moving point to it and typing @kbd{RET} jumps to its definition. | ||
| 238 | |||
| 239 | Pressing @kbd{r} re-runs the test near point on its own. Pressing | ||
| 240 | @kbd{d} re-runs it with the debugger enabled. @kbd{.} jumps to the | ||
| 241 | definition of the test near point (@kbd{RET} has the same effect if | ||
| 242 | point is on the name of the test). On a failed test, @kbd{b} shows | ||
| 243 | the backtrace of the failure. | ||
| 244 | |||
| 245 | @kbd{l} shows the list of @code{should} forms executed in the test. | ||
| 246 | If any messages were generated (with the Lisp function @code{message}) | ||
| 247 | in a test or any of the code that it invoked, @kbd{m} will show them. | ||
| 248 | |||
| 249 | By default, long expressions in the failure details are abbreviated | ||
| 250 | using @code{print-length} and @code{print-level}. Pressing @kbd{L} | ||
| 251 | while point is on a test failure will increase the limits to show more | ||
| 252 | of the expression. | ||
| 253 | |||
| 254 | |||
| 255 | @node Running Tests in Batch Mode, Test Selectors, Running Tests Interactively, How to Run Tests | ||
| 256 | @section Running Tests in Batch Mode | ||
| 257 | |||
| 258 | ERT supports automated invocations from the command line or from | ||
| 259 | scripts or makefiles. There are two functions for this purpose, | ||
| 260 | @code{ert-run-tests-batch} and @code{ert-run-tests-batch-and-exit}. | ||
| 261 | They can be used like this: | ||
| 262 | |||
| 263 | @example | ||
| 264 | emacs -batch -L /path/to/ert -l ert.el -l my-tests.el -f ert-run-tests-batch-and-exit | ||
| 265 | @end example | ||
| 266 | |||
| 267 | This command will start up Emacs in batch mode, load ERT, load | ||
| 268 | @code{my-tests.el}, and run all tests defined in it. It will exit | ||
| 269 | with a zero exit status if all tests passed, or nonzero if any tests | ||
| 270 | failed or if anything else went wrong. It will also print progress | ||
| 271 | messages and error diagnostics to standard output. | ||
| 272 | |||
| 273 | You may need additional @code{-L} flags to ensure that | ||
| 274 | @code{my-tests.el} and all the files that it requires are on your | ||
| 275 | @code{load-path}. | ||
| 276 | |||
| 277 | |||
| 278 | @node Test Selectors, , Running Tests in Batch Mode, How to Run Tests | ||
| 279 | @section Test Selectors | ||
| 280 | |||
| 281 | Functions like @code{ert} accept a @emph{test selector}, a Lisp | ||
| 282 | expression specifying a set of tests. Test selector syntax is similar | ||
| 283 | to Common Lisp's type specifier syntax: | ||
| 284 | |||
| 285 | @itemize | ||
| 286 | @item @code{nil} selects no tests. | ||
| 287 | @item @code{t} selects all tests. | ||
| 288 | @item @code{:new} selects all tests that have not been run yet. | ||
| 289 | @item @code{:failed} and @code{:passed} select tests according to their most recent result. | ||
| 290 | @item @code{:expected}, @code{:unexpected} select tests according to their most recent result. | ||
| 291 | @item A string selects all tests that have a name that matches the string, a regexp. | ||
| 292 | @item A test selects that test. | ||
| 293 | @item A symbol selects the test that the symbol names. | ||
| 294 | @item @code{(member TESTS...)} selects TESTS, a list of tests or symbols naming tests. | ||
| 295 | @item @code{(eql TEST)} selects TEST, a test or a symbol naming a test. | ||
| 296 | @item @code{(and SELECTORS...)} selects the tests that match all SELECTORS. | ||
| 297 | @item @code{(or SELECTORS...)} selects the tests that match any SELECTOR. | ||
| 298 | @item @code{(not SELECTOR)} selects all tests that do not match SELECTOR. | ||
| 299 | @item @code{(tag TAG)} selects all tests that have TAG on their tags list. | ||
| 300 | @item @code{(satisfies PREDICATE)} Selects all tests that satisfy PREDICATE. | ||
| 301 | @end itemize | ||
| 302 | |||
| 303 | Selectors that are frequently useful when selecting tests to run | ||
| 304 | include @code{t} to run all tests that are currently defined in Emacs, | ||
| 305 | @code{"^foo-"} to run all tests in package @code{foo} --- this assumes | ||
| 306 | that package @code{foo} uses the prefix @code{foo-} for its test names | ||
| 307 | ---, result-based selectors such as @code{(or :new :unexpected)} to | ||
| 308 | run all tests that have either not run yet or that had an unexpected | ||
| 309 | result in the last run, and tag-based selectors such as @code{(not | ||
| 310 | (tag :causes-redisplay))} to run all tests that are not tagged | ||
| 311 | @code{:causes-redisplay}. | ||
| 312 | |||
| 313 | |||
| 314 | @node How to Write Tests, How to Debug Tests, How to Run Tests, Top | ||
| 315 | @chapter How to Write Tests | ||
| 316 | |||
| 317 | ERT lets you define tests in the same way you define functions. You | ||
| 318 | can type @code{ert-deftest} forms in a buffer and evaluate them there | ||
| 319 | with @code{eval-defun} or @code{compile-defun}, or you can save the | ||
| 320 | file and load it, optionally byte-compiling it first. | ||
| 321 | |||
| 322 | Just like @code{find-function} is only able to find where a function | ||
| 323 | was defined if the function was loaded from a file, ERT is only able | ||
| 324 | to find where a test was defined if the test was loaded from a file. | ||
| 325 | |||
| 326 | |||
| 327 | @menu | ||
| 328 | * The @code{should} Macro:: A powerful way to express assertions. | ||
| 329 | * Expected Failures:: Tests for known bugs. | ||
| 330 | * Tests and Their Environment:: Don't depend on customizations; no side effects. | ||
| 331 | * Useful Techniques:: Some examples. | ||
| 332 | @end menu | ||
| 333 | |||
| 334 | @node The @code{should} Macro, Expected Failures, How to Write Tests, How to Write Tests | ||
| 335 | @section The @code{should} Macro | ||
| 336 | |||
| 337 | Test bodies can include arbitrary code; but to be useful, they need to | ||
| 338 | have checks whether the code being tested (or @emph{code under test}) | ||
| 339 | does what it is supposed to do. The macro @code{should} is similar to | ||
| 340 | @code{assert} from the cl package, but analyzes its argument form and | ||
| 341 | records information that ERT can display to help debugging. | ||
| 342 | |||
| 343 | This test definition | ||
| 344 | |||
| 345 | @lisp | ||
| 346 | (ert-deftest addition-test () | ||
| 347 | (should (= (+ 1 2) 4))) | ||
| 348 | @end lisp | ||
| 349 | |||
| 350 | will produce this output when run via @kbd{M-x ert}: | ||
| 351 | |||
| 352 | @example | ||
| 353 | F addition-test | ||
| 354 | (ert-test-failed | ||
| 355 | ((should | ||
| 356 | (= | ||
| 357 | (+ 1 2) | ||
| 358 | 4)) | ||
| 359 | :form | ||
| 360 | (= 3 4) | ||
| 361 | :value nil)) | ||
| 362 | @end example | ||
| 363 | |||
| 364 | In this example, @code{should} recorded the fact that (= (+ 1 2) 4) | ||
| 365 | reduced to (= 3 4) before it reduced to nil. When debugging why the | ||
| 366 | test failed, it helps to know that the function @code{+} returned 3 | ||
| 367 | here. ERT records the return value for any predicate called directly | ||
| 368 | within @code{should}. | ||
| 369 | |||
| 370 | In addition to @code{should}, ERT provides @code{should-not}, which | ||
| 371 | checks that the predicate returns nil, and @code{should-error}, which | ||
| 372 | checks that the form called within it signals an error. An example | ||
| 373 | use of @code{should-error}: | ||
| 374 | |||
| 375 | @lisp | ||
| 376 | (ert-deftest test-divide-by-zero () | ||
| 377 | (should-error (/ 1 0) | ||
| 378 | :type 'arith-error)) | ||
| 379 | @end lisp | ||
| 380 | |||
| 381 | This checks that dividing one by zero signals an error of type | ||
| 382 | @code{arith-error}. The @code{:type} argument to @code{should-error} | ||
| 383 | is optional; if absent, any type of error is accepted. | ||
| 384 | @code{should-error} returns an error description of the error that was | ||
| 385 | signalled, to allow additional checks to be made. The error | ||
| 386 | description has the format @code{(ERROR-SYMBOL . DATA)}. | ||
| 387 | |||
| 388 | There is no @code{should-not-error} macro since tests that signal an | ||
| 389 | error fail anyway, so @code{should-not-error} is effectively the | ||
| 390 | default. | ||
| 391 | |||
| 392 | @xref{Understanding Explanations}, for more details on what | ||
| 393 | @code{should} reports. | ||
| 394 | |||
| 395 | |||
| 396 | @node Expected Failures, Tests and Their Environment, The @code{should} Macro, How to Write Tests | ||
| 397 | @section Expected Failures | ||
| 398 | |||
| 399 | Some bugs are complicated to fix or not very important and are left as | ||
| 400 | @emph{known bugs}. If there is a test case that triggers the bug and | ||
| 401 | fails, ERT will alert you of this failure every time you run all | ||
| 402 | tests. For known bugs, this alert is a distraction. The way to | ||
| 403 | suppress it is to add @code{:expected-result :failed} to the test | ||
| 404 | definition: | ||
| 405 | |||
| 406 | @lisp | ||
| 407 | (ert-deftest future-bug () | ||
| 408 | "Test `time-forward' with negative arguments. | ||
| 409 | Since this functionality isn't implemented yet, the test is known to fail." | ||
| 410 | :expected-result :failed | ||
| 411 | (time-forward -1)) | ||
| 412 | @end lisp | ||
| 413 | |||
| 414 | ERT will still display a small @code{f} in the progress bar as a | ||
| 415 | reminder that there is a known bug, and will count the test as failed, | ||
| 416 | but it will be quiet about it otherwise. | ||
| 417 | |||
| 418 | An alternative to marking the test as a known failure this way is to | ||
| 419 | delete the test. This is a good idea if there is no intent to fix it, | ||
| 420 | i.e., if the behavior that was formerly considered a bug has become an | ||
| 421 | accepted feature. | ||
| 422 | |||
| 423 | In general, however, it can be useful to keep tests that are known to | ||
| 424 | fail. If someone wants to fix the bug, they will have a very good | ||
| 425 | starting point: an automated test case that reproduces the bug. This | ||
| 426 | makes it much easier to fix the bug, demonstrate that it is fixed, and | ||
| 427 | prevent future regressions. | ||
| 428 | |||
| 429 | ERT displays the same kind of alerts for tests that pass unexpectedly | ||
| 430 | that it displays for unexpected failures. This way, if you make code | ||
| 431 | changes that happen to fix a bug that you weren't aware of, you will | ||
| 432 | know to remove the @code{:expected-result} clause of that test and | ||
| 433 | close the corresponding bug report, if any. | ||
| 434 | |||
| 435 | Since @code{:expected-result} evaluates its argument when the test is | ||
| 436 | loaded, tests can be marked as known failures only on certain Emacs | ||
| 437 | versions, specific architectures, etc.: | ||
| 438 | |||
| 439 | @lisp | ||
| 440 | (ert-deftest foo () | ||
| 441 | "A test that is expected to fail on Emacs 23 but succeed elsewhere." | ||
| 442 | :expected-result (if (string-match "GNU Emacs 23[.]" (emacs-version)) | ||
| 443 | :failed | ||
| 444 | :passed) | ||
| 445 | ...) | ||
| 446 | @end lisp | ||
| 447 | |||
| 448 | |||
| 449 | @node Tests and Their Environment, Useful Techniques, Expected Failures, How to Write Tests | ||
| 450 | @section Tests and Their Environment | ||
| 451 | |||
| 452 | The outcome of running a test should not depend on the current state | ||
| 453 | of the environment, and each test should leave its environment in the | ||
| 454 | same state it found it in. In particular, a test should not depend on | ||
| 455 | any Emacs customization variables or hooks, and if it has to make any | ||
| 456 | changes to Emacs' state or state external to Emacs such as the file | ||
| 457 | system, it should undo these changes before it returns, regardless of | ||
| 458 | whether it passed or failed. | ||
| 459 | |||
| 460 | Tests should not depend on the environment because any such | ||
| 461 | dependencies can make the test brittle or lead to failures that occur | ||
| 462 | only under certain circumstances and are hard to reproduce. Of | ||
| 463 | course, the code under test may have settings that affect its | ||
| 464 | behavior. In that case, it is best to make the test @code{let}-bind | ||
| 465 | all such settings variables to set up a specific configuration for the | ||
| 466 | duration of the test. The test can also set up a number of different | ||
| 467 | configurations and run the code under test with each. | ||
| 468 | |||
| 469 | Tests that have side effects on their environment should restore it to | ||
| 470 | its original state because any side effects that persist after the | ||
| 471 | test can disrupt the workflow of the programmer running the tests. If | ||
| 472 | the code under test has side effects on Emacs' current state, such as | ||
| 473 | on the current buffer or window configuration, the test should create | ||
| 474 | a temporary buffer for the code to manipulate (using | ||
| 475 | @code{with-temp-buffer}), or save and restore the window configuration | ||
| 476 | (using @code{save-window-excursion}), respectively. For aspects of | ||
| 477 | the state that can not be preserved with such macros, cleanup should | ||
| 478 | be performed with @code{unwind-protect}, to ensure that the cleanup | ||
| 479 | occurs even if the test fails. | ||
| 480 | |||
| 481 | An exception to this are messages that the code under test prints with | ||
| 482 | @code{message} and similar logging; tests should not bother restoring | ||
| 483 | the @code{*Message*} buffer to its original state. | ||
| 484 | |||
| 485 | The above guidelines imply that tests should avoid calling highly | ||
| 486 | customizable commands such as @code{find-file}, except, of course, if | ||
| 487 | such commands are what they want to test. The exact behavior of | ||
| 488 | @code{find-file} depends on many settings such as | ||
| 489 | @code{find-file-wildcards}, @code{enable-local-variables}, and | ||
| 490 | @code{auto-mode-alist}. It is difficult to write a meaningful test if | ||
| 491 | its behavior can be affected by so many external factors. Also, | ||
| 492 | @code{find-file} has side effects that are hard to predict and thus | ||
| 493 | hard to undo: It may create a new buffer or may reuse an existing | ||
| 494 | buffer if one is already visiting the requested file; and it runs | ||
| 495 | @code{find-file-hook}, which can have arbitrary side effects. | ||
| 496 | |||
| 497 | Instead, it is better to use lower-level mechanisms with simple and | ||
| 498 | predictable semantics like @code{with-temp-buffer}, @code{insert} or | ||
| 499 | @code{insert-file-contents-literally}, and activating the desired mode | ||
| 500 | by calling the corresponding function directly --- after binding the | ||
| 501 | hook variables to nil. This avoids the above problems. | ||
| 502 | |||
| 503 | |||
| 504 | @node Useful Techniques, , Tests and Their Environment, How to Write Tests | ||
| 505 | @section Useful Techniques when Writing Tests | ||
| 506 | |||
| 507 | Testing simple functions that have no side effects and no dependencies | ||
| 508 | on their environment is easy. Such tests often look like this: | ||
| 509 | |||
| 510 | @lisp | ||
| 511 | (ert-deftest ert-test-mismatch () | ||
| 512 | (should (eql (ert--mismatch "" "") nil)) | ||
| 513 | (should (eql (ert--mismatch "" "a") 0)) | ||
| 514 | (should (eql (ert--mismatch "a" "a") nil)) | ||
| 515 | (should (eql (ert--mismatch "ab" "a") 1)) | ||
| 516 | (should (eql (ert--mismatch "Aa" "aA") 0)) | ||
| 517 | (should (eql (ert--mismatch '(a b c) '(a b d)) 2))) | ||
| 518 | @end lisp | ||
| 519 | |||
| 520 | This test calls the function @code{ert--mismatch} several times with | ||
| 521 | various combinations of arguments and compares the return value to the | ||
| 522 | expected return value. (Some programmers prefer @code{(should (eql | ||
| 523 | EXPECTED ACTUAL))} over the @code{(should (eql ACTUAL EXPECTED))} | ||
| 524 | shown here. ERT works either way.) | ||
| 525 | |||
| 526 | Here's a more complicated test: | ||
| 527 | |||
| 528 | @lisp | ||
| 529 | (ert-deftest ert-test-record-backtrace () | ||
| 530 | (let ((test (make-ert-test :body (lambda () (ert-fail "foo"))))) | ||
| 531 | (let ((result (ert-run-test test))) | ||
| 532 | (should (ert-test-failed-p result)) | ||
| 533 | (with-temp-buffer | ||
| 534 | (ert--print-backtrace (ert-test-failed-backtrace result)) | ||
| 535 | (goto-char (point-min)) | ||
| 536 | (end-of-line) | ||
| 537 | (let ((first-line (buffer-substring-no-properties (point-min) (point)))) | ||
| 538 | (should (equal first-line " signal(ert-test-failed (\"foo\"))"))))))) | ||
| 539 | @end lisp | ||
| 540 | |||
| 541 | This test creates a test object using @code{make-ert-test} whose body | ||
| 542 | will immediately signal failure. It then runs that test and asserts | ||
| 543 | that it fails. Then, it creates a temporary buffer and invokes | ||
| 544 | @code{ert--print-backtrace} to print the backtrace of the failed test | ||
| 545 | to the current buffer. Finally, it extracts the first line from the | ||
| 546 | buffer and asserts that it matches what we expect. It uses | ||
| 547 | @code{buffer-substring-no-properties} and @code{equal} to ignore text | ||
| 548 | properties; for a test that takes properties into account, | ||
| 549 | @code{buffer-substring} and @code{ert-equal-including-properties} | ||
| 550 | could be used instead. | ||
| 551 | |||
| 552 | The reason why this test only checks the first line of the backtrace | ||
| 553 | is that the remainder of the backtrace is dependent on ERT's internals | ||
| 554 | as well as whether the code is running interpreted or compiled. By | ||
| 555 | looking only at the first line, the test checks a useful property | ||
| 556 | --- that the backtrace correctly captures the call to @code{signal} that | ||
| 557 | results from the call to @code{ert-fail} --- without being brittle. | ||
| 558 | |||
| 559 | This example also shows that writing tests is much easier if the code | ||
| 560 | under test was structured with testing in mind. | ||
| 561 | |||
| 562 | For example, if @code{ert-run-test} accepted only symbols that name | ||
| 563 | tests rather than test objects, the test would need a name for the | ||
| 564 | failing test, which would have to be a temporary symbol generated with | ||
| 565 | @code{make-symbol}, to avoid side effects on Emacs' state. Choosing | ||
| 566 | the right interface for @code{ert-run-tests} allows the test to be | ||
| 567 | simpler. | ||
| 568 | |||
| 569 | Similarly, if @code{ert--print-backtrace} printed the backtrace to a | ||
| 570 | buffer with a fixed name rather than the current buffer, it would be | ||
| 571 | much harder for the test to undo the side effect. Of course, some | ||
| 572 | code somewhere needs to pick the buffer name. But that logic is | ||
| 573 | independent of the logic that prints backtraces, and keeping them in | ||
| 574 | separate functions allows us to test them independently. | ||
| 575 | |||
| 576 | A lot of code that you will encounter in Emacs was not written with | ||
| 577 | testing in mind. Sometimes, the easiest way to write tests for such | ||
| 578 | code is to restructure the code slightly to provide better interfaces | ||
| 579 | for testing. Usually, this makes the interfaces easier to use as | ||
| 580 | well. | ||
| 581 | |||
| 582 | |||
| 583 | @node How to Debug Tests, Extending ERT, How to Write Tests, Top | ||
| 584 | @chapter How to Debug Tests | ||
| 585 | |||
| 586 | This section describes how to use ERT's features to understand why | ||
| 587 | a test failed. | ||
| 588 | |||
| 589 | |||
| 590 | @menu | ||
| 591 | * Understanding Explanations:: How ERT gives details on why an assertion failed. | ||
| 592 | * Interactive Debugging:: Tools available in the ERT results buffer. | ||
| 593 | @end menu | ||
| 594 | |||
| 595 | |||
| 596 | @node Understanding Explanations, Interactive Debugging, How to Debug Tests, How to Debug Tests | ||
| 597 | @section Understanding Explanations | ||
| 598 | |||
| 599 | Failed @code{should} forms are reported like this: | ||
| 600 | |||
| 601 | @example | ||
| 602 | F addition-test | ||
| 603 | (ert-test-failed | ||
| 604 | ((should | ||
| 605 | (= | ||
| 606 | (+ 1 2) | ||
| 607 | 4)) | ||
| 608 | :form | ||
| 609 | (= 3 4) | ||
| 610 | :value nil)) | ||
| 611 | @end example | ||
| 612 | |||
| 613 | ERT shows what the @code{should} expression looked like and what | ||
| 614 | values its subexpressions had: The source code of the assertion was | ||
| 615 | @code{(should (= (+ 1 2) 4))}, which applied the function @code{=} to | ||
| 616 | the arguments @code{3} and @code{4}, resulting in the value | ||
| 617 | @code{nil}. In this case, the test is wrong; it should expect 3 | ||
| 618 | rather than 4. | ||
| 619 | |||
| 620 | If a predicate like @code{equal} is used with @code{should}, ERT | ||
| 621 | provides a so-called @emph{explanation}: | ||
| 622 | |||
| 623 | @example | ||
| 624 | F list-test | ||
| 625 | (ert-test-failed | ||
| 626 | ((should | ||
| 627 | (equal | ||
| 628 | (list 'a 'b 'c) | ||
| 629 | '(a b d))) | ||
| 630 | :form | ||
| 631 | (equal | ||
| 632 | (a b c) | ||
| 633 | (a b d)) | ||
| 634 | :value nil :explanation | ||
| 635 | (list-elt 2 | ||
| 636 | (different-atoms c d)))) | ||
| 637 | @end example | ||
| 638 | |||
| 639 | In this case, the function @code{equal} was applied to the arguments | ||
| 640 | @code{(a b c)} and @code{(a b d)}. ERT's explanation shows that | ||
| 641 | the item at index 2 differs between the two lists; in one list, it is | ||
| 642 | the atom c, in the other, it is the atom d. | ||
| 643 | |||
| 644 | In simple examples like the above, the explanation is unnecessary. | ||
| 645 | But in cases where the difference is not immediately apparent, it can | ||
| 646 | save time: | ||
| 647 | |||
| 648 | @example | ||
| 649 | F test1 | ||
| 650 | (ert-test-failed | ||
| 651 | ((should | ||
| 652 | (equal x y)) | ||
| 653 | :form | ||
| 654 | (equal a a) | ||
| 655 | :value nil :explanation | ||
| 656 | (different-symbols-with-the-same-name a a))) | ||
| 657 | @end example | ||
| 658 | |||
| 659 | ERT only provides explanations for predicates that have an explanation | ||
| 660 | function registered. @xref{Defining Explanation Functions}. | ||
| 661 | |||
| 662 | |||
| 663 | @node Interactive Debugging, , Understanding Explanations, How to Debug Tests | ||
| 664 | @section Interactive Debugging | ||
| 665 | |||
| 666 | Debugging failed tests works essentially the same way as debugging any | ||
| 667 | other problems with Lisp code. Here are a few tricks specific to | ||
| 668 | tests: | ||
| 669 | |||
| 670 | @itemize | ||
| 671 | @item Re-run the failed test a few times to see if it fails in the same way | ||
| 672 | each time. It's good to find out whether the behavior is | ||
| 673 | deterministic before spending any time looking for a cause. In the | ||
| 674 | ERT results buffer, @kbd{r} re-runs the selected test. | ||
| 675 | |||
| 676 | @item Use @kbd{.} to jump to the source code of the test to find out what | ||
| 677 | exactly it does. Perhaps the test is broken rather than the code | ||
| 678 | under test. | ||
| 679 | |||
| 680 | @item If the test contains a series of @code{should} forms and you can't | ||
| 681 | tell which one failed, use @kbd{l}, which shows you the list of all | ||
| 682 | @code{should} forms executed during the test before it failed. | ||
| 683 | |||
| 684 | @item Use @kbd{b} to view the backtrace. You can also use @kbd{d} to re-run | ||
| 685 | the test with debugging enabled, this will enter the debugger and show | ||
| 686 | the backtrace as well; but the top few frames shown there will not be | ||
| 687 | relevant to you since they are ERT's own debugger hook. @kbd{b} | ||
| 688 | strips them out, so it is more convenient. | ||
| 689 | |||
| 690 | @item If the test or the code under testing prints messages using | ||
| 691 | @code{message}, use @kbd{m} to see what messages it printed before it | ||
| 692 | failed. This can be useful to figure out how far it got. | ||
| 693 | |||
| 694 | @item You can instrument tests for debugging the same way you instrument | ||
| 695 | @code{defun}s for debugging --- go to the source code of the test and | ||
| 696 | type @kbd{@kbd{C-u} @kbd{C-M-x}}. Then, go back to the ERT buffer and | ||
| 697 | re-run the test with @kbd{r} or @kbd{d}. | ||
| 698 | |||
| 699 | @item If you have been editing and rearranging tests, it is possible that | ||
| 700 | ERT remembers an old test that you have since renamed or removed --- | ||
| 701 | renamings or removals of definitions in the source code leave around a | ||
| 702 | stray definition under the old name in the running process, this is a | ||
| 703 | common problem in Lisp. In such a situation, hit @kbd{D} to let ERT | ||
| 704 | forget about the obsolete test. | ||
| 705 | @end itemize | ||
| 706 | |||
| 707 | |||
| 708 | @node Extending ERT, Other Testing Concepts, How to Debug Tests, Top | ||
| 709 | @chapter Extending ERT | ||
| 710 | |||
| 711 | There are several ways to add functionality to ERT. | ||
| 712 | |||
| 713 | @menu | ||
| 714 | * Defining Explanation Functions:: Teach ERT about more predicates. | ||
| 715 | * Low-Level Functions for Working with Tests:: Use ERT's data for your purposes. | ||
| 716 | @end menu | ||
| 717 | |||
| 718 | |||
| 719 | @node Defining Explanation Functions, Low-Level Functions for Working with Tests, Extending ERT, Extending ERT | ||
| 720 | @section Defining Explanation Functions | ||
| 721 | |||
| 722 | The explanation function for a predicate is a function that takes the | ||
| 723 | same arguments as the predicate and returns an @emph{explanation}. | ||
| 724 | The explanation should explain why the predicate, when invoked with | ||
| 725 | the arguments given to the explanation function, returns the value | ||
| 726 | that it returns. The explanation can be any object but should have a | ||
| 727 | comprehensible printed representation. If the return value of the | ||
| 728 | predicate needs no explanation for a given list of arguments, the | ||
| 729 | explanation function should return nil. | ||
| 730 | |||
| 731 | To associate an explanation function with a predicate, add the | ||
| 732 | property @code{ert-explainer} to the symbol that names the predicate. | ||
| 733 | The value of the property should be the symbol that names the | ||
| 734 | explanation function. | ||
| 735 | |||
| 736 | |||
| 737 | @node Low-Level Functions for Working with Tests, , Defining Explanation Functions, Extending ERT | ||
| 738 | @section Low-Level Functions for Working with Tests | ||
| 739 | |||
| 740 | Both @code{ert-run-tests-interactively} and @code{ert-run-tests-batch} | ||
| 741 | are implemented on top of the lower-level test handling code in the | ||
| 742 | sections named ``Facilities for running a single test'', ``Test | ||
| 743 | selectors'', and ``Facilities for running a whole set of tests''. | ||
| 744 | |||
| 745 | If you want to write code that works with ERT tests, you should take a | ||
| 746 | look at this lower-level code. Symbols that start with @code{ert--} | ||
| 747 | are internal to ERT, those that start with @code{ert-} but not | ||
| 748 | @code{ert--} are meant to be usable by other code. But there is no | ||
| 749 | mature API yet. | ||
| 750 | |||
| 751 | Contributions to ERT are welcome. | ||
| 752 | |||
| 753 | |||
| 754 | @node Other Testing Concepts, , Extending ERT, Top | ||
| 755 | @chapter Other Testing Concepts | ||
| 756 | |||
| 757 | For information on mocks, stubs, fixtures, or test suites, see below. | ||
| 758 | |||
| 759 | |||
| 760 | @menu | ||
| 761 | * Mocks and Stubs:: Stubbing out code that is irrelevant to the test. | ||
| 762 | * Fixtures and Test Suites:: How ERT differs from tools for other languages. | ||
| 763 | @end menu | ||
| 764 | |||
| 765 | @node Mocks and Stubs, Fixtures and Test Suites, Other Testing Concepts, Other Testing Concepts | ||
| 766 | @section Other Tools for Emacs Lisp | ||
| 767 | |||
| 768 | Stubbing out functions or using so-called @emph{mocks} can make it | ||
| 769 | easier to write tests. See | ||
| 770 | @url{http://en.wikipedia.org/wiki/Mock_object} for an explanation of | ||
| 771 | the corresponding concepts in object-oriented languages. | ||
| 772 | |||
| 773 | ERT does not have built-in support for mocks or stubs. The package | ||
| 774 | @code{el-mock} (see @url{http://www.emacswiki.org/emacs/el-mock.el}) | ||
| 775 | offers mocks for Emacs Lisp and can be used in conjunction with ERT. | ||
| 776 | |||
| 777 | |||
| 778 | @node Fixtures and Test Suites, , Mocks and Stubs, Other Testing Concepts | ||
| 779 | @section Fixtures and Test Suites | ||
| 780 | |||
| 781 | In many ways, ERT is similar to frameworks for other languages like | ||
| 782 | SUnit or JUnit. However, two features commonly found in such | ||
| 783 | frameworks are notably absent from ERT: fixtures and test suites. | ||
| 784 | |||
| 785 | Fixtures, as used e.g. in SUnit or JUnit, are mainly used to provide | ||
| 786 | an environment for a set of tests, and consist of set-up and tear-down | ||
| 787 | functions. | ||
| 788 | |||
| 789 | While fixtures are a useful syntactic simplification in other | ||
| 790 | languages, this does not apply to Lisp, where higher-order functions | ||
| 791 | and `unwind-protect' are available. One way to implement and use a | ||
| 792 | fixture in ERT is | ||
| 793 | |||
| 794 | @lisp | ||
| 795 | (defun my-fixture (body) | ||
| 796 | (unwind-protect | ||
| 797 | (progn [set up] | ||
| 798 | (funcall body)) | ||
| 799 | [tear down])) | ||
| 800 | |||
| 801 | (ert-deftest my-test () | ||
| 802 | (my-fixture | ||
| 803 | (lambda () | ||
| 804 | [test code]))) | ||
| 805 | @end lisp | ||
| 806 | |||
| 807 | (Another way would be a @code{with-my-fixture} macro.) This solves | ||
| 808 | the set-up and tear-down part, and additionally allows any test | ||
| 809 | to use any combination of fixtures, so it is more flexible than what | ||
| 810 | other tools typically allow. | ||
| 811 | |||
| 812 | If the test needs access to the environment the fixture sets up, the | ||
| 813 | fixture can be modified to pass arguments to the body. | ||
| 814 | |||
| 815 | These are well-known Lisp techniques. Special syntax for them could | ||
| 816 | be added but would provide only a minor simplification. | ||
| 817 | |||
| 818 | (If you are interested in such syntax, note that splitting set-up and | ||
| 819 | tear-down into separate functions, like *Unit tools usually do, makes | ||
| 820 | it impossible to establish dynamic `let' bindings as part of the | ||
| 821 | fixture. So, blindly imitating the way fixtures are implemented in | ||
| 822 | other languages would be counter-productive in Lisp.) | ||
| 823 | |||
| 824 | The purpose of test suites is to group related tests together. | ||
| 825 | |||
| 826 | The most common use of this is to run just the tests for one | ||
| 827 | particular module. Since symbol prefixes are the usual way of | ||
| 828 | separating module namespaces in Emacs Lisp, test selectors already | ||
| 829 | solve this by allowing regexp matching on test names; e.g., the | ||
| 830 | selector "^ert-" selects ERT's self-tests. | ||
| 831 | |||
| 832 | Other uses include grouping tests by their expected execution time to | ||
| 833 | run quick tests during interactive development and slow tests less | ||
| 834 | frequently. This can be achieved with the @code{:tag} argument to | ||
| 835 | @code{ert-deftest} and @code{tag} test selectors. | ||
| 836 | |||
| 837 | @bye | ||
| 838 | |||
| 839 | @c LocalWords: ERT Hagelberg Ohler JUnit namespace docstring ERT's | ||
| 840 | @c LocalWords: backtrace makefiles workflow backtraces API SUnit | ||
| 841 | @c LocalWords: subexpressions | ||
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 6ec431dccfd..51031e219ff 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi | |||
| @@ -8,8 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This manual is for Eshell, the Emacs shell. | 9 | This manual is for Eshell, the Emacs shell. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 11 | Copyright @copyright{} 1999-2011 Free Software Foundation, Inc. |
| 12 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 13 | 12 | ||
| 14 | @quotation | 13 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1015,7 +1014,3 @@ Since it keeps the cursor up where the command was invoked. | |||
| 1015 | 1014 | ||
| 1016 | @printindex ky | 1015 | @printindex ky |
| 1017 | @bye | 1016 | @bye |
| 1018 | |||
| 1019 | @ignore | ||
| 1020 | arch-tag: 776409ba-cb15-42b9-b2b6-d2bdc7ebad01 | ||
| 1021 | @end ignore | ||
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index b62c0ed75ea..b0652ab3f10 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi | |||
| @@ -12,8 +12,7 @@ EUDC is the Emacs Unified Directory Client, a common interface to | |||
| 12 | directory servers using various protocols such as LDAP or the CCSO white | 12 | directory servers using various protocols such as LDAP or the CCSO white |
| 13 | pages directory system (PH/QI) | 13 | pages directory system (PH/QI) |
| 14 | 14 | ||
| 15 | Copyright @copyright{} 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 15 | Copyright @copyright{} 1998, 2000-2011 Free Software Foundation, Inc. |
| 16 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 17 | 16 | ||
| 18 | @quotation | 17 | @quotation |
| 19 | Permission is granted to copy, distribute and/or modify this document | 18 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index ee5f72ac300..3c98588a7d5 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi | |||
| @@ -11,8 +11,7 @@ | |||
| 11 | @c appreciate a notice if you do). | 11 | @c appreciate a notice if you do). |
| 12 | 12 | ||
| 13 | @copying | 13 | @copying |
| 14 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 14 | Copyright @copyright{} 2001-2011 Free Software Foundation, Inc.@* |
| 15 | 2009, 2010 Free Software Foundation, Inc.@* | ||
| 16 | Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000 | 15 | Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000 |
| 17 | Reuven M. Lerner@* | 16 | Reuven M. Lerner@* |
| 18 | Copyright @copyright{} 1992, 1993 Steven Byrnes@* | 17 | Copyright @copyright{} 1992, 1993 Steven Byrnes@* |
| @@ -4299,12 +4298,12 @@ file. | |||
| 4299 | Normally, Emacs expands aliases when you send the message. | 4298 | Normally, Emacs expands aliases when you send the message. |
| 4300 | To expand them before this, use @kbd{M-x expand-mail-aliases}. | 4299 | To expand them before this, use @kbd{M-x expand-mail-aliases}. |
| 4301 | 4300 | ||
| 4302 | @c FIXME there should be an interactive rebuild command for this. | ||
| 4303 | @item | 4301 | @item |
| 4304 | Emacs normally only reads the @file{.mailrc} file once per session, | 4302 | Emacs normally only reads the @file{.mailrc} file once per session, when |
| 4305 | when you start to compose your first mail message. If you edit | 4303 | you start to compose your first mail message. If you edit the file |
| 4306 | @file{.mailrc}, you can type @kbd{M-: (build-mail-aliases) @key{RET}} to | 4304 | after this, you can use @kbd{M-x build-mail-aliases} to make Emacs |
| 4307 | make Emacs reread @file{~/.mailrc}. | 4305 | reread it. Prior to Emacs 24.1, this is not an interactive command, so |
| 4306 | you must instead type @kbd{M-: (build-mail-aliases) @key{RET}}. | ||
| 4308 | 4307 | ||
| 4309 | @item | 4308 | @item |
| 4310 | If you like, you can expand mail aliases as abbrevs, as soon as you | 4309 | If you like, you can expand mail aliases as abbrevs, as soon as you |
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 0606fcc134d..7f0cd77de59 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), | 11 | This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), |
| 12 | which is a universal on-the-fly syntax checker for GNU Emacs. | 12 | which is a universal on-the-fly syntax checker for GNU Emacs. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 14 | Copyright @copyright{} 2004-2011 |
| 15 | Free Software Foundation, Inc. | 15 | Free Software Foundation, Inc. |
| 16 | 16 | ||
| 17 | @quotation | 17 | @quotation |
| @@ -749,7 +749,3 @@ It just kills all the active syntax check processes before calling | |||
| 749 | @printindex cp | 749 | @printindex cp |
| 750 | 750 | ||
| 751 | @bye | 751 | @bye |
| 752 | |||
| 753 | @ignore | ||
| 754 | arch-tag: 9f0db077-5598-49ab-90b9-8df9248a63ec | ||
| 755 | @end ignore | ||
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index a7779763c3f..f58e8d8f969 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi | |||
| @@ -18,8 +18,7 @@ | |||
| 18 | @copying | 18 | @copying |
| 19 | This file documents Forms mode, a form-editing major mode for GNU Emacs. | 19 | This file documents Forms mode, a form-editing major mode for GNU Emacs. |
| 20 | 20 | ||
| 21 | Copyright @copyright{} 1989, 1997, 2001, 2002, 2003, 2004, | 21 | Copyright @copyright{} 1989, 1997, 2001-2011 Free Software Foundation, Inc. |
| 22 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 23 | 22 | ||
| 24 | @quotation | 23 | @quotation |
| 25 | Permission is granted to copy, distribute and/or modify this document | 24 | Permission is granted to copy, distribute and/or modify this document |
| @@ -976,7 +975,3 @@ Software Foundation. Thanks, Richard! | |||
| 976 | @printindex cp | 975 | @printindex cp |
| 977 | 976 | ||
| 978 | @bye | 977 | @bye |
| 979 | |||
| 980 | @ignore | ||
| 981 | arch-tag: 2ac9810b-aa49-4ea6-8030-d7f1ecd467ed | ||
| 982 | @end ignore | ||
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index f513bc15a24..ab9c0232d3d 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @syncodeindex pg cp | 7 | @syncodeindex pg cp |
| 8 | 8 | ||
| 9 | @copying | 9 | @copying |
| 10 | Copyright @copyright{} 2004, 2005, 2007, 2008, 2009, 2010 Free Software | 10 | Copyright @copyright{} 2004-2005, 2007-2011 Free Software |
| 11 | Foundation, Inc. | 11 | Foundation, Inc. |
| 12 | 12 | ||
| 13 | @quotation | 13 | @quotation |
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index d9df9c8db18..e8e89ed2a30 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | @c \input texinfo @c -*-texinfo-*- | 1 | @c \input texinfo @c -*-texinfo-*- |
| 2 | @c Uncomment 1st line before texing this file alone. | 2 | @c Uncomment 1st line before texing this file alone. |
| 3 | @c %**start of header | 3 | @c %**start of header |
| 4 | @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 4 | @c Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc. |
| 5 | @c 2009, 2010 Free Software Foundation, Inc. | ||
| 6 | @c | 5 | @c |
| 7 | @setfilename gnus-faq.info | 6 | @setfilename gnus-faq.info |
| 8 | @settitle Frequently Asked Questions | 7 | @settitle Frequently Asked Questions |
diff --git a/doc/misc/gnus-news.el b/doc/misc/gnus-news.el index e31cca9f37f..485e7ce4646 100644 --- a/doc/misc/gnus-news.el +++ b/doc/misc/gnus-news.el | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source | 1 | ;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source |
| 2 | ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | ;; Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | ;; Author: Reiner Steib <Reiner.Steib@gmx.de> | 4 | ;; Author: Reiner Steib <Reiner.Steib@gmx.de> |
| 5 | ;; Keywords: tools | 5 | ;; Keywords: tools |
| @@ -26,8 +26,7 @@ | |||
| 26 | (defvar gnus-news-header-disclaimer | 26 | (defvar gnus-news-header-disclaimer |
| 27 | "GNUS NEWS -- history of user-visible changes. | 27 | "GNUS NEWS -- history of user-visible changes. |
| 28 | 28 | ||
| 29 | Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, | 29 | Copyright (C) 1999-2011 Free Software Foundation, Inc. |
| 30 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 31 | See the end of the file for license conditions. | 30 | See the end of the file for license conditions. |
| 32 | 31 | ||
| 33 | Please send Gnus bug reports to bugs@gnus.org. | 32 | Please send Gnus bug reports to bugs@gnus.org. |
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 6037a979acb..62c1663508b 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | 2 | ||
| 3 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c Copyright (C) 2004-2011 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | @c Permission is granted to anyone to make or distribute verbatim copies | 5 | @c Permission is granted to anyone to make or distribute verbatim copies |
| 6 | @c of this document as received, in any medium, provided that the | 6 | @c of this document as received, in any medium, provided that the |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 9f4d1f75ede..1dd3efd17d8 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -9,8 +9,7 @@ | |||
| 9 | @documentencoding ISO-8859-1 | 9 | @documentencoding ISO-8859-1 |
| 10 | 10 | ||
| 11 | @copying | 11 | @copying |
| 12 | Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 12 | Copyright @copyright{} 1995-2011 Free Software Foundation, Inc. |
| 13 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 14 | 13 | ||
| 15 | @quotation | 14 | @quotation |
| 16 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -407,6 +406,7 @@ This manual corresponds to Gnus v5.13 | |||
| 407 | * Composing Messages:: Information on sending mail and news. | 406 | * Composing Messages:: Information on sending mail and news. |
| 408 | * Select Methods:: Gnus reads all messages from various select methods. | 407 | * Select Methods:: Gnus reads all messages from various select methods. |
| 409 | * Scoring:: Assigning values to articles. | 408 | * Scoring:: Assigning values to articles. |
| 409 | * Searching:: Mail and News search engines. | ||
| 410 | * Various:: General purpose settings. | 410 | * Various:: General purpose settings. |
| 411 | * The End:: Farewell and goodbye. | 411 | * The End:: Farewell and goodbye. |
| 412 | * Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals. | 412 | * Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals. |
| @@ -428,7 +428,6 @@ Other related manuals | |||
| 428 | Starting Gnus | 428 | Starting Gnus |
| 429 | 429 | ||
| 430 | * Finding the News:: Choosing a method for getting news. | 430 | * Finding the News:: Choosing a method for getting news. |
| 431 | * The First Time:: What does Gnus do the first time you start it? | ||
| 432 | * The Server is Down:: How can I read my mail then? | 431 | * The Server is Down:: How can I read my mail then? |
| 433 | * Slave Gnusae:: You can have more than one Gnus active at a time. | 432 | * Slave Gnusae:: You can have more than one Gnus active at a time. |
| 434 | * Fetching a Group:: Starting Gnus just to read a group. | 433 | * Fetching a Group:: Starting Gnus just to read a group. |
| @@ -704,6 +703,7 @@ Other Sources | |||
| 704 | * Anything Groups:: Dired? Who needs dired? | 703 | * Anything Groups:: Dired? Who needs dired? |
| 705 | * Document Groups:: Single files can be the basis of a group. | 704 | * Document Groups:: Single files can be the basis of a group. |
| 706 | * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. | 705 | * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. |
| 706 | * The Empty Backend:: The backend that never has any news. | ||
| 707 | 707 | ||
| 708 | Document Groups | 708 | Document Groups |
| 709 | 709 | ||
| @@ -786,6 +786,21 @@ Advanced Scoring | |||
| 786 | * Advanced Scoring Examples:: What they look like. | 786 | * Advanced Scoring Examples:: What they look like. |
| 787 | * Advanced Scoring Tips:: Getting the most out of it. | 787 | * Advanced Scoring Tips:: Getting the most out of it. |
| 788 | 788 | ||
| 789 | Searching | ||
| 790 | |||
| 791 | * nnir:: Searching with various engines. | ||
| 792 | * nnmairix:: Searching with Mairix. | ||
| 793 | |||
| 794 | nnir | ||
| 795 | |||
| 796 | * What is nnir?:: What does nnir do. | ||
| 797 | * Basic Usage:: How to perform simple searches. | ||
| 798 | * Setting up nnir:: How to set up nnir. | ||
| 799 | |||
| 800 | Setting up nnir | ||
| 801 | |||
| 802 | * Associating Engines:: How to associate engines. | ||
| 803 | |||
| 789 | Various | 804 | Various |
| 790 | 805 | ||
| 791 | * Process/Prefix:: A convention used by many treatment commands. | 806 | * Process/Prefix:: A convention used by many treatment commands. |
| @@ -959,7 +974,6 @@ terminology section (@pxref{Terminology}). | |||
| 959 | 974 | ||
| 960 | @menu | 975 | @menu |
| 961 | * Finding the News:: Choosing a method for getting news. | 976 | * Finding the News:: Choosing a method for getting news. |
| 962 | * The First Time:: What does Gnus do the first time you start it? | ||
| 963 | * The Server is Down:: How can I read my mail then? | 977 | * The Server is Down:: How can I read my mail then? |
| 964 | * Slave Gnusae:: You can have more than one Gnus active at a time. | 978 | * Slave Gnusae:: You can have more than one Gnus active at a time. |
| 965 | * New Groups:: What is Gnus supposed to do with new groups? | 979 | * New Groups:: What is Gnus supposed to do with new groups? |
| @@ -1052,31 +1066,6 @@ several Gnus installations, but may slow down things a bit when fetching | |||
| 1052 | new articles. @xref{NNTP marks}, for more information. | 1066 | new articles. @xref{NNTP marks}, for more information. |
| 1053 | 1067 | ||
| 1054 | 1068 | ||
| 1055 | @node The First Time | ||
| 1056 | @section The First Time | ||
| 1057 | @cindex first time usage | ||
| 1058 | |||
| 1059 | If no startup files exist (@pxref{Startup Files}), Gnus will try to | ||
| 1060 | determine what groups should be subscribed by default. | ||
| 1061 | |||
| 1062 | @vindex gnus-default-subscribed-newsgroups | ||
| 1063 | If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus | ||
| 1064 | will subscribe you to just those groups in that list, leaving the rest | ||
| 1065 | killed. Your system administrator should have set this variable to | ||
| 1066 | something useful. | ||
| 1067 | |||
| 1068 | Since she hasn't, Gnus will just subscribe you to a few arbitrarily | ||
| 1069 | picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is defined | ||
| 1070 | here as @dfn{whatever Lars thinks you should read}.) | ||
| 1071 | |||
| 1072 | You'll also be subscribed to the Gnus documentation group, which should | ||
| 1073 | help you with most common problems. | ||
| 1074 | |||
| 1075 | If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just | ||
| 1076 | use the normal functions for handling new groups, and not do anything | ||
| 1077 | special. | ||
| 1078 | |||
| 1079 | |||
| 1080 | @node The Server is Down | 1069 | @node The Server is Down |
| 1081 | @section The Server is Down | 1070 | @section The Server is Down |
| 1082 | @cindex server errors | 1071 | @cindex server errors |
| @@ -1321,11 +1310,18 @@ but I thought it would be nice to have two of these. This variable is | |||
| 1321 | more meant for setting some ground rules, while the other variable is | 1310 | more meant for setting some ground rules, while the other variable is |
| 1322 | used more for user fiddling. By default this variable makes all new | 1311 | used more for user fiddling. By default this variable makes all new |
| 1323 | groups that come from mail back ends (@code{nnml}, @code{nnbabyl}, | 1312 | groups that come from mail back ends (@code{nnml}, @code{nnbabyl}, |
| 1324 | @code{nnfolder}, @code{nnmbox}, @code{nnmh}, and @code{nnmaildir}) | 1313 | @code{nnfolder}, @code{nnmbox}, @code{nnmh}, @code{nnimap}, and |
| 1325 | subscribed. If you don't like that, just set this variable to | 1314 | @code{nnmaildir}) subscribed. If you don't like that, just set this |
| 1326 | @code{nil}. | 1315 | variable to @code{nil}. |
| 1327 | 1316 | ||
| 1328 | New groups that match this regexp are subscribed using | 1317 | @vindex gnus-auto-subscribed-categories |
| 1318 | As if that wasn't enough, @code{gnus-auto-subscribed-categories} also | ||
| 1319 | allows you to specify that new groups should be subcribed based on the | ||
| 1320 | category their select methods belong to. The default is @samp{(mail | ||
| 1321 | post-mail)}, meaning that all new groups from mail-like backends | ||
| 1322 | should be subscribed automatically. | ||
| 1323 | |||
| 1324 | New groups that match these variables are subscribed using | ||
| 1329 | @code{gnus-subscribe-options-newsgroup-method}. | 1325 | @code{gnus-subscribe-options-newsgroup-method}. |
| 1330 | 1326 | ||
| 1331 | 1327 | ||
| @@ -1680,7 +1676,6 @@ long as Gnus is active. | |||
| 1680 | * Exiting Gnus:: Stop reading news and get some work done. | 1676 | * Exiting Gnus:: Stop reading news and get some work done. |
| 1681 | * Group Topics:: A folding group mode divided into topics. | 1677 | * Group Topics:: A folding group mode divided into topics. |
| 1682 | * Non-ASCII Group Names:: Accessing groups of non-English names. | 1678 | * Non-ASCII Group Names:: Accessing groups of non-English names. |
| 1683 | * Searching:: Mail search engines. | ||
| 1684 | * Misc Group Stuff:: Other stuff that you can to do. | 1679 | * Misc Group Stuff:: Other stuff that you can to do. |
| 1685 | @end menu | 1680 | @end menu |
| 1686 | 1681 | ||
| @@ -2517,6 +2512,15 @@ the command to be executed. | |||
| 2517 | @section Foreign Groups | 2512 | @section Foreign Groups |
| 2518 | @cindex foreign groups | 2513 | @cindex foreign groups |
| 2519 | 2514 | ||
| 2515 | If you recall how to subscribe to servers (@pxref{Finding the News}) | ||
| 2516 | you will remember that @code{gnus-secondary-select-methods} and | ||
| 2517 | @code{gnus-select-method} let you write a definition in Emacs Lisp of | ||
| 2518 | what servers you want to see when you start up. The alternate | ||
| 2519 | approach is to use foreign servers and groups. ``Foreign'' here means | ||
| 2520 | they are not coming from the select methods. All foreign server | ||
| 2521 | configuration and subscriptions are stored only in the | ||
| 2522 | @file{~/.newsrc.eld} file. | ||
| 2523 | |||
| 2520 | Below are some group mode commands for making and editing general foreign | 2524 | Below are some group mode commands for making and editing general foreign |
| 2521 | groups, as well as commands to ease the creation of a few | 2525 | groups, as well as commands to ease the creation of a few |
| 2522 | special-purpose groups. All these commands insert the newly created | 2526 | special-purpose groups. All these commands insert the newly created |
| @@ -4302,712 +4306,6 @@ names should be the same in both groups. Otherwise the Newsgroups | |||
| 4302 | header will be displayed incorrectly in the article buffer. | 4306 | header will be displayed incorrectly in the article buffer. |
| 4303 | 4307 | ||
| 4304 | 4308 | ||
| 4305 | @node Searching | ||
| 4306 | @section Searching | ||
| 4307 | |||
| 4308 | @menu | ||
| 4309 | * nnir:: Searching on IMAP, with swish, namazu, etc. | ||
| 4310 | * nnmairix:: Searching maildir, MH or mbox with Mairix. | ||
| 4311 | @end menu | ||
| 4312 | |||
| 4313 | @cindex Searching | ||
| 4314 | |||
| 4315 | FIXME: This node is a stub. | ||
| 4316 | |||
| 4317 | FIXME: Add a brief overview of Gnus search capabilities. A brief | ||
| 4318 | comparison of nnir, nnmairix, contrib/gnus-namazu would be nice | ||
| 4319 | as well. | ||
| 4320 | |||
| 4321 | FIXME: Explain difference to @ref{Searching for Articles}, add reference | ||
| 4322 | and back-reference. | ||
| 4323 | |||
| 4324 | @node nnir | ||
| 4325 | @subsection nnir | ||
| 4326 | |||
| 4327 | FIXME: As a first step, convert the commentary of @file{nnir} to texi. | ||
| 4328 | @cindex nnir | ||
| 4329 | |||
| 4330 | @node nnmairix | ||
| 4331 | @subsection nnmairix | ||
| 4332 | |||
| 4333 | @cindex mairix | ||
| 4334 | @cindex nnmairix | ||
| 4335 | This paragraph describes how to set up mairix and the back end | ||
| 4336 | @code{nnmairix} for indexing and searching your mail from within | ||
| 4337 | Gnus. Additionally, you can create permanent ``smart'' groups which are | ||
| 4338 | bound to mairix searches and are automatically updated. | ||
| 4339 | |||
| 4340 | @menu | ||
| 4341 | * About mairix:: About the mairix mail search engine | ||
| 4342 | * nnmairix requirements:: What you will need for using nnmairix | ||
| 4343 | * What nnmairix does:: What does nnmairix actually do? | ||
| 4344 | * Setting up mairix:: Set up your mairix installation | ||
| 4345 | * Configuring nnmairix:: Set up the nnmairix back end | ||
| 4346 | * nnmairix keyboard shortcuts:: List of available keyboard shortcuts | ||
| 4347 | * Propagating marks:: How to propagate marks from nnmairix groups | ||
| 4348 | * nnmairix tips and tricks:: Some tips, tricks and examples | ||
| 4349 | * nnmairix caveats:: Some more stuff you might want to know | ||
| 4350 | @end menu | ||
| 4351 | |||
| 4352 | @c FIXME: The markup in this section might need improvement. | ||
| 4353 | @c E.g. adding @samp, @var, @file, @command, etc. | ||
| 4354 | @c Cf. (info "(texinfo)Indicating") | ||
| 4355 | |||
| 4356 | @node About mairix | ||
| 4357 | @subsubsection About mairix | ||
| 4358 | |||
| 4359 | Mairix is a tool for indexing and searching words in locally stored | ||
| 4360 | mail. It was written by Richard Curnow and is licensed under the | ||
| 4361 | GPL. Mairix comes with most popular GNU/Linux distributions, but it also | ||
| 4362 | runs under Windows (with cygwin), Mac OS X and Solaris. The homepage can | ||
| 4363 | be found at | ||
| 4364 | @uref{http://www.rpcurnow.force9.co.uk/mairix/index.html} | ||
| 4365 | |||
| 4366 | Though mairix might not be as flexible as other search tools like | ||
| 4367 | swish++ or namazu, which you can use via the @code{nnir} back end, it | ||
| 4368 | has the prime advantage of being incredibly fast. On current systems, it | ||
| 4369 | can easily search through headers and message bodies of thousands and | ||
| 4370 | thousands of mails in well under a second. Building the database | ||
| 4371 | necessary for searching might take a minute or two, but only has to be | ||
| 4372 | done once fully. Afterwards, the updates are done incrementally and | ||
| 4373 | therefore are really fast, too. Additionally, mairix is very easy to set | ||
| 4374 | up. | ||
| 4375 | |||
| 4376 | For maximum speed though, mairix should be used with mails stored in | ||
| 4377 | @code{Maildir} or @code{MH} format (this includes the @code{nnml} back | ||
| 4378 | end), although it also works with mbox. Mairix presents the search | ||
| 4379 | results by populating a @emph{virtual} maildir/MH folder with symlinks | ||
| 4380 | which point to the ``real'' message files (if mbox is used, copies are | ||
| 4381 | made). Since mairix already presents search results in such a virtual | ||
| 4382 | mail folder, it is very well suited for using it as an external program | ||
| 4383 | for creating @emph{smart} mail folders, which represent certain mail | ||
| 4384 | searches. | ||
| 4385 | |||
| 4386 | @node nnmairix requirements | ||
| 4387 | @subsubsection nnmairix requirements | ||
| 4388 | |||
| 4389 | Mairix searches local mail---that means, mairix absolutely must have | ||
| 4390 | direct access to your mail folders. If your mail resides on another | ||
| 4391 | server (e.g. an @acronym{IMAP} server) and you happen to have shell | ||
| 4392 | access, @code{nnmairix} supports running mairix remotely, e.g. via ssh. | ||
| 4393 | |||
| 4394 | Additionally, @code{nnmairix} only supports the following Gnus back | ||
| 4395 | ends: @code{nnml}, @code{nnmaildir}, and @code{nnimap}. You must use | ||
| 4396 | one of these back ends for using @code{nnmairix}. Other back ends, like | ||
| 4397 | @code{nnmbox}, @code{nnfolder} or @code{nnmh}, won't work. | ||
| 4398 | |||
| 4399 | If you absolutely must use mbox and still want to use @code{nnmairix}, | ||
| 4400 | you can set up a local @acronym{IMAP} server, which you then access via | ||
| 4401 | @code{nnimap}. This is a rather massive setup for accessing some mbox | ||
| 4402 | files, so just change to MH or Maildir already... However, if you're | ||
| 4403 | really, really passionate about using mbox, you might want to look into | ||
| 4404 | the package @file{mairix.el}, which comes with Emacs 23. | ||
| 4405 | |||
| 4406 | @node What nnmairix does | ||
| 4407 | @subsubsection What nnmairix does | ||
| 4408 | |||
| 4409 | The back end @code{nnmairix} enables you to call mairix from within Gnus, | ||
| 4410 | either to query mairix with a search term or to update the | ||
| 4411 | database. While visiting a message in the summary buffer, you can use | ||
| 4412 | several pre-defined shortcuts for calling mairix, e.g. to quickly | ||
| 4413 | search for all mails from the sender of the current message or to | ||
| 4414 | display the whole thread associated with the message, even if the | ||
| 4415 | mails are in different folders. | ||
| 4416 | |||
| 4417 | Additionally, you can create permanent @code{nnmairix} groups which are bound | ||
| 4418 | to certain mairix searches. This way, you can easily create a group | ||
| 4419 | containing mails from a certain sender, with a certain subject line or | ||
| 4420 | even for one specific thread based on the Message-ID. If you check for | ||
| 4421 | new mail in these folders (e.g. by pressing @kbd{g} or @kbd{M-g}), they | ||
| 4422 | automatically update themselves by calling mairix. | ||
| 4423 | |||
| 4424 | You might ask why you need @code{nnmairix} at all, since mairix already | ||
| 4425 | creates the group, populates it with links to the mails so that you can | ||
| 4426 | then access it with Gnus, right? Well, this @emph{might} work, but often | ||
| 4427 | does not---at least not without problems. Most probably you will get | ||
| 4428 | strange article counts, and sometimes you might see mails which Gnus | ||
| 4429 | claims have already been canceled and are inaccessible. This is due to | ||
| 4430 | the fact that Gnus isn't really amused when things are happening behind | ||
| 4431 | its back. Another problem can be the mail back end itself, e.g. if you | ||
| 4432 | use mairix with an @acronym{IMAP} server (I had Dovecot complaining | ||
| 4433 | about corrupt index files when mairix changed the contents of the search | ||
| 4434 | group). Using @code{nnmairix} should circumvent these problems. | ||
| 4435 | |||
| 4436 | @code{nnmairix} is not really a mail back end---it's actually more like | ||
| 4437 | a wrapper, sitting between a ``real'' mail back end where mairix stores | ||
| 4438 | the searches and the Gnus front end. You can choose between three | ||
| 4439 | different mail back ends for the mairix folders: @code{nnml}, | ||
| 4440 | @code{nnmaildir} or @code{nnimap}. @code{nnmairix} will call the mairix | ||
| 4441 | binary so that the search results are stored in folders named | ||
| 4442 | @code{zz_mairix-<NAME>-<NUMBER>} on this mail back end, but it will | ||
| 4443 | present these folders in the Gnus front end only with @code{<NAME>}. | ||
| 4444 | You can use an existing mail back end where you already store your mail, | ||
| 4445 | but if you're uncomfortable with @code{nnmairix} creating new mail | ||
| 4446 | groups alongside your other mail, you can also create e.g. a new | ||
| 4447 | @code{nnmaildir} or @code{nnml} server exclusively for mairix, but then | ||
| 4448 | make sure those servers do not accidentally receive your new mail | ||
| 4449 | (@pxref{nnmairix caveats}). A special case exists if you want to use | ||
| 4450 | mairix remotely on an IMAP server with @code{nnimap}---here the mairix | ||
| 4451 | folders and your other mail must be on the same @code{nnimap} back end. | ||
| 4452 | |||
| 4453 | @node Setting up mairix | ||
| 4454 | @subsubsection Setting up mairix | ||
| 4455 | |||
| 4456 | First: create a backup of your mail folders (@pxref{nnmairix caveats}). | ||
| 4457 | |||
| 4458 | Setting up mairix is easy: simply create a @file{.mairixrc} file with | ||
| 4459 | (at least) the following entries: | ||
| 4460 | |||
| 4461 | @example | ||
| 4462 | # Your Maildir/MH base folder | ||
| 4463 | base=~/Maildir | ||
| 4464 | @end example | ||
| 4465 | |||
| 4466 | This is the base folder for your mails. All the following directories | ||
| 4467 | are relative to this base folder. If you want to use @code{nnmairix} | ||
| 4468 | with @code{nnimap}, this base directory has to point to the mail | ||
| 4469 | directory where the @acronym{IMAP} server stores the mail folders! | ||
| 4470 | |||
| 4471 | @example | ||
| 4472 | maildir= ... your maildir folders which should be indexed ... | ||
| 4473 | mh= ... your nnml/mh folders which should be indexed ... | ||
| 4474 | mbox = ... your mbox files which should be indexed ... | ||
| 4475 | @end example | ||
| 4476 | |||
| 4477 | This specifies all your mail folders and mbox files (relative to the | ||
| 4478 | base directory!) you want to index with mairix. Note that the | ||
| 4479 | @code{nnml} back end saves mails in MH format, so you have to put those | ||
| 4480 | directories in the @code{mh} line. See the example at the end of this | ||
| 4481 | section and mairixrc's man-page for further details. | ||
| 4482 | |||
| 4483 | @example | ||
| 4484 | omit=zz_mairix-* | ||
| 4485 | @end example | ||
| 4486 | |||
| 4487 | @vindex nnmairix-group-prefix | ||
| 4488 | This should make sure that you don't accidentally index the mairix | ||
| 4489 | search results. You can change the prefix of these folders with the | ||
| 4490 | variable @code{nnmairix-group-prefix}. | ||
| 4491 | |||
| 4492 | @example | ||
| 4493 | mformat= ... 'maildir' or 'mh' ... | ||
| 4494 | database= ... location of database file ... | ||
| 4495 | @end example | ||
| 4496 | |||
| 4497 | The @code{format} setting specifies the output format for the mairix | ||
| 4498 | search folder. Set this to @code{mh} if you want to access search results | ||
| 4499 | with @code{nnml}. Otherwise choose @code{maildir}. | ||
| 4500 | |||
| 4501 | To summarize, here is my shortened @file{.mairixrc} file as an example: | ||
| 4502 | |||
| 4503 | @example | ||
| 4504 | base=~/Maildir | ||
| 4505 | maildir=.personal:.work:.logcheck:.sent | ||
| 4506 | mh=../Mail/nnml/*... | ||
| 4507 | mbox=../mboxmail/mailarchive_year* | ||
| 4508 | mformat=maildir | ||
| 4509 | omit=zz_mairix-* | ||
| 4510 | database=~/.mairixdatabase | ||
| 4511 | @end example | ||
| 4512 | |||
| 4513 | In this case, the base directory is @file{~/Maildir}, where all my Maildir | ||
| 4514 | folders are stored. As you can see, the folders are separated by | ||
| 4515 | colons. If you wonder why every folder begins with a dot: this is | ||
| 4516 | because I use Dovecot as @acronym{IMAP} server, which again uses | ||
| 4517 | @code{Maildir++} folders. For testing nnmairix, I also have some | ||
| 4518 | @code{nnml} mail, which is saved in @file{~/Mail/nnml}. Since this has | ||
| 4519 | to be specified relative to the @code{base} directory, the @code{../Mail} | ||
| 4520 | notation is needed. Note that the line ends in @code{*...}, which means | ||
| 4521 | to recursively scan all files under this directory. Without the three | ||
| 4522 | dots, the wildcard @code{*} will not work recursively. I also have some | ||
| 4523 | old mbox files with archived mail lying around in @file{~/mboxmail}. | ||
| 4524 | The other lines should be obvious. | ||
| 4525 | |||
| 4526 | See the man page for @code{mairixrc} for details and further options, | ||
| 4527 | especially regarding wildcard usage, which may be a little different | ||
| 4528 | than you are used to. | ||
| 4529 | |||
| 4530 | Now simply call @code{mairix} to create the index for the first time. | ||
| 4531 | Note that this may take a few minutes, but every following index will do | ||
| 4532 | the updates incrementally and hence is very fast. | ||
| 4533 | |||
| 4534 | @node Configuring nnmairix | ||
| 4535 | @subsubsection Configuring nnmairix | ||
| 4536 | |||
| 4537 | In group mode, type @kbd{G b c} | ||
| 4538 | (@code{nnmairix-create-server-and-default-group}). This will ask you for all | ||
| 4539 | necessary information and create a @code{nnmairix} server as a foreign | ||
| 4540 | server. You will have to specify the following: | ||
| 4541 | |||
| 4542 | @itemize @bullet | ||
| 4543 | |||
| 4544 | @item | ||
| 4545 | The @strong{name} of the @code{nnmairix} server---choose whatever you | ||
| 4546 | want. | ||
| 4547 | |||
| 4548 | @item | ||
| 4549 | The name of the @strong{back end server} where mairix should store its | ||
| 4550 | searches. This must be a full server name, like @code{nnml:mymail}. | ||
| 4551 | Just hit @kbd{TAB} to see the available servers. Currently, servers | ||
| 4552 | which are accessed through @code{nnmaildir}, @code{nnimap} and | ||
| 4553 | @code{nnml} are supported. As explained above, for locally stored | ||
| 4554 | mails, this can be an existing server where you store your mails. | ||
| 4555 | However, you can also create e.g. a new @code{nnmaildir} or @code{nnml} | ||
| 4556 | server exclusively for @code{nnmairix} in your secondary select methods | ||
| 4557 | (@pxref{Finding the News}). If you use a secondary @code{nnml} server | ||
| 4558 | just for mairix, make sure that you explicitly set the server variable | ||
| 4559 | @code{nnml-get-new-mail} to @code{nil}, or you might lose mail | ||
| 4560 | (@pxref{nnmairix caveats}). If you want to use mairix remotely on an | ||
| 4561 | @acronym{IMAP} server, you have to choose the corresponding | ||
| 4562 | @code{nnimap} server here. | ||
| 4563 | |||
| 4564 | @item | ||
| 4565 | @vindex nnmairix-mairix-search-options | ||
| 4566 | The @strong{command} to call the mairix binary. This will usually just | ||
| 4567 | be @code{mairix}, but you can also choose something like @code{ssh | ||
| 4568 | SERVER mairix} if you want to call mairix remotely, e.g. on your | ||
| 4569 | @acronym{IMAP} server. If you want to add some default options to | ||
| 4570 | mairix, you could do this here, but better use the variable | ||
| 4571 | @code{nnmairix-mairix-search-options} instead. | ||
| 4572 | |||
| 4573 | @item | ||
| 4574 | The name of the @strong{default search group}. This will be the group | ||
| 4575 | where all temporary mairix searches are stored, i.e. all searches which | ||
| 4576 | are not bound to permanent @code{nnmairix} groups. Choose whatever you | ||
| 4577 | like. | ||
| 4578 | |||
| 4579 | @item | ||
| 4580 | If the mail back end is @code{nnimap} or @code{nnmaildir}, you will be | ||
| 4581 | asked if you work with @strong{Maildir++}, i.e. with hidden maildir | ||
| 4582 | folders (=beginning with a dot). For example, you have to answer | ||
| 4583 | @samp{yes} here if you work with the Dovecot @acronym{IMAP} | ||
| 4584 | server. Otherwise, you should answer @samp{no} here. | ||
| 4585 | |||
| 4586 | @end itemize | ||
| 4587 | |||
| 4588 | @node nnmairix keyboard shortcuts | ||
| 4589 | @subsubsection nnmairix keyboard shortcuts | ||
| 4590 | |||
| 4591 | In group mode: | ||
| 4592 | |||
| 4593 | @table @kbd | ||
| 4594 | |||
| 4595 | @item G b c | ||
| 4596 | @kindex G b c (Group) | ||
| 4597 | @findex nnmairix-create-server-and-default-group | ||
| 4598 | Creates @code{nnmairix} server and default search group for this server | ||
| 4599 | (@code{nnmairix-create-server-and-default-group}). You should have done | ||
| 4600 | this by now (@pxref{Configuring nnmairix}). | ||
| 4601 | |||
| 4602 | @item G b s | ||
| 4603 | @kindex G b s (Group) | ||
| 4604 | @findex nnmairix-search | ||
| 4605 | Prompts for query which is then sent to the mairix binary. Search | ||
| 4606 | results are put into the default search group which is automatically | ||
| 4607 | displayed (@code{nnmairix-search}). | ||
| 4608 | |||
| 4609 | @item G b m | ||
| 4610 | @kindex G b m (Group) | ||
| 4611 | @findex nnmairix-widget-search | ||
| 4612 | Allows you to create a mairix search or a permanent group more | ||
| 4613 | comfortably using graphical widgets, similar to a customization | ||
| 4614 | group. Just try it to see how it works (@code{nnmairix-widget-search}). | ||
| 4615 | |||
| 4616 | @item G b i | ||
| 4617 | @kindex G b i (Group) | ||
| 4618 | @findex nnmairix-search-interactive | ||
| 4619 | Another command for creating a mairix query more comfortably, but uses | ||
| 4620 | only the minibuffer (@code{nnmairix-search-interactive}). | ||
| 4621 | |||
| 4622 | @item G b g | ||
| 4623 | @kindex G b g (Group) | ||
| 4624 | @findex nnmairix-create-search-group | ||
| 4625 | Creates a permanent group which is associated with a search query | ||
| 4626 | (@code{nnmairix-create-search-group}). The @code{nnmairix} back end | ||
| 4627 | automatically calls mairix when you update this group with @kbd{g} or | ||
| 4628 | @kbd{M-g}. | ||
| 4629 | |||
| 4630 | @item G b q | ||
| 4631 | @kindex G b q (Group) | ||
| 4632 | @findex nnmairix-group-change-query-this-group | ||
| 4633 | Changes the search query for the @code{nnmairix} group under cursor | ||
| 4634 | (@code{nnmairix-group-change-query-this-group}). | ||
| 4635 | |||
| 4636 | @item G b t | ||
| 4637 | @kindex G b t (Group) | ||
| 4638 | @findex nnmairix-group-toggle-threads-this-group | ||
| 4639 | Toggles the 'threads' parameter for the @code{nnmairix} group under cursor, | ||
| 4640 | i.e. if you want see the whole threads of the found messages | ||
| 4641 | (@code{nnmairix-group-toggle-threads-this-group}). | ||
| 4642 | |||
| 4643 | @item G b u | ||
| 4644 | @kindex G b u (Group) | ||
| 4645 | @findex nnmairix-update-database | ||
| 4646 | @vindex nnmairix-mairix-update-options | ||
| 4647 | Calls mairix binary for updating the database | ||
| 4648 | (@code{nnmairix-update-database}). The default parameters are @code{-F} | ||
| 4649 | and @code{-Q} for making this as fast as possible (see variable | ||
| 4650 | @code{nnmairix-mairix-update-options} for defining these default | ||
| 4651 | options). | ||
| 4652 | |||
| 4653 | @item G b r | ||
| 4654 | @kindex G b r (Group) | ||
| 4655 | @findex nnmairix-group-toggle-readmarks-this-group | ||
| 4656 | Keep articles in this @code{nnmairix} group always read or unread, or leave the | ||
| 4657 | marks unchanged (@code{nnmairix-group-toggle-readmarks-this-group}). | ||
| 4658 | |||
| 4659 | @item G b d | ||
| 4660 | @kindex G b d (Group) | ||
| 4661 | @findex nnmairix-group-delete-recreate-this-group | ||
| 4662 | Recreate @code{nnmairix} group on the ``real'' mail back end | ||
| 4663 | (@code{nnmairix-group-delete-recreate-this-group}). You can do this if | ||
| 4664 | you always get wrong article counts with a @code{nnmairix} group. | ||
| 4665 | |||
| 4666 | @item G b a | ||
| 4667 | @kindex G b a (Group) | ||
| 4668 | @findex nnmairix-group-toggle-allowfast-this-group | ||
| 4669 | Toggles the @code{allow-fast} parameters for group under cursor | ||
| 4670 | (@code{nnmairix-group-toggle-allowfast-this-group}). The default | ||
| 4671 | behavior of @code{nnmairix} is to do a mairix search every time you | ||
| 4672 | update or enter the group. With the @code{allow-fast} parameter set, | ||
| 4673 | mairix will only be called when you explicitly update the group, but not | ||
| 4674 | upon entering. This makes entering the group faster, but it may also | ||
| 4675 | lead to dangling symlinks if something changed between updating and | ||
| 4676 | entering the group which is not yet in the mairix database. | ||
| 4677 | |||
| 4678 | @item G b p | ||
| 4679 | @kindex G b p (Group) | ||
| 4680 | @findex nnmairix-group-toggle-propmarks-this-group | ||
| 4681 | Toggle marks propagation for this group | ||
| 4682 | (@code{nnmairix-group-toggle-propmarks-this-group}). (@pxref{Propagating | ||
| 4683 | marks}). | ||
| 4684 | |||
| 4685 | @item G b o | ||
| 4686 | @kindex G b o (Group) | ||
| 4687 | @findex nnmairix-propagate-marks | ||
| 4688 | Manually propagate marks (@code{nnmairix-propagate-marks}); needed only when | ||
| 4689 | @code{nnmairix-propagate-marks-upon-close} is set to @code{nil}. | ||
| 4690 | |||
| 4691 | @end table | ||
| 4692 | |||
| 4693 | In summary mode: | ||
| 4694 | |||
| 4695 | @table @kbd | ||
| 4696 | |||
| 4697 | @item $ m | ||
| 4698 | @kindex $ m (Summary) | ||
| 4699 | @findex nnmairix-widget-search-from-this-article | ||
| 4700 | Allows you to create a mairix query or group based on the current | ||
| 4701 | message using graphical widgets (same as @code{nnmairix-widget-search}) | ||
| 4702 | (@code{nnmairix-widget-search-from-this-article}). | ||
| 4703 | |||
| 4704 | @item $ g | ||
| 4705 | @kindex $ g (Summary) | ||
| 4706 | @findex nnmairix-create-search-group-from-message | ||
| 4707 | Interactively creates a new search group with query based on the current | ||
| 4708 | message, but uses the minibuffer instead of graphical widgets | ||
| 4709 | (@code{nnmairix-create-search-group-from-message}). | ||
| 4710 | |||
| 4711 | @item $ t | ||
| 4712 | @kindex $ t (Summary) | ||
| 4713 | @findex nnmairix-search-thread-this-article | ||
| 4714 | Searches thread for the current article | ||
| 4715 | (@code{nnmairix-search-thread-this-article}). This is effectively a | ||
| 4716 | shortcut for calling @code{nnmairix-search} with @samp{m:msgid} of the | ||
| 4717 | current article and enabled threads. | ||
| 4718 | |||
| 4719 | @item $ f | ||
| 4720 | @kindex $ f (Summary) | ||
| 4721 | @findex nnmairix-search-from-this-article | ||
| 4722 | Searches all messages from sender of the current article | ||
| 4723 | (@code{nnmairix-search-from-this-article}). This is a shortcut for | ||
| 4724 | calling @code{nnmairix-search} with @samp{f:From}. | ||
| 4725 | |||
| 4726 | @item $ o | ||
| 4727 | @kindex $ o (Summary) | ||
| 4728 | @findex nnmairix-goto-original-article | ||
| 4729 | (Only in @code{nnmairix} groups!) Tries determine the group this article | ||
| 4730 | originally came from and displays the article in this group, so that | ||
| 4731 | e.g. replying to this article the correct posting styles/group | ||
| 4732 | parameters are applied (@code{nnmairix-goto-original-article}). This | ||
| 4733 | function will use the registry if available, but can also parse the | ||
| 4734 | article file name as a fallback method. | ||
| 4735 | |||
| 4736 | @item $ u | ||
| 4737 | @kindex $ u (Summary) | ||
| 4738 | @findex nnmairix-remove-tick-mark-original-article | ||
| 4739 | Remove possibly existing tick mark from original article | ||
| 4740 | (@code{nnmairix-remove-tick-mark-original-article}). (@pxref{nnmairix | ||
| 4741 | tips and tricks}). | ||
| 4742 | |||
| 4743 | @end table | ||
| 4744 | |||
| 4745 | @node Propagating marks | ||
| 4746 | @subsubsection Propagating marks | ||
| 4747 | |||
| 4748 | First of: you really need a patched mairix binary for using the marks | ||
| 4749 | propagation feature efficiently. Otherwise, you would have to update | ||
| 4750 | the mairix database all the time. You can get the patch at | ||
| 4751 | |||
| 4752 | @uref{http://www.randomsample.de/mairix-maildir-patch.tar} | ||
| 4753 | |||
| 4754 | You need the mairix v0.21 source code for this patch; everything else | ||
| 4755 | is explained in the accompanied readme file. If you don't want to use | ||
| 4756 | marks propagation, you don't have to apply these patches, but they also | ||
| 4757 | fix some annoyances regarding changing maildir flags, so it might still | ||
| 4758 | be useful to you. | ||
| 4759 | |||
| 4760 | With the patched mairix binary, you can use @code{nnmairix} as an | ||
| 4761 | alternative to mail splitting (@pxref{Fancy Mail Splitting}). For | ||
| 4762 | example, instead of splitting all mails from @samp{david@@foobar.com} | ||
| 4763 | into a group, you can simply create a search group with the query | ||
| 4764 | @samp{f:david@@foobar.com}. This is actually what ``smart folders'' are | ||
| 4765 | all about: simply put everything in one mail folder and dynamically | ||
| 4766 | create searches instead of splitting. This is more flexible, since you | ||
| 4767 | can dynamically change your folders any time you want to. This also | ||
| 4768 | implies that you will usually read your mails in the @code{nnmairix} | ||
| 4769 | groups instead of your ``real'' mail groups. | ||
| 4770 | |||
| 4771 | There is one problem, though: say you got a new mail from | ||
| 4772 | @samp{david@@foobar.com}; it will now show up in two groups, the | ||
| 4773 | ``real'' group (your INBOX, for example) and in the @code{nnmairix} | ||
| 4774 | search group (provided you have updated the mairix database). Now you | ||
| 4775 | enter the @code{nnmairix} group and read the mail. The mail will be | ||
| 4776 | marked as read, but only in the @code{nnmairix} group---in the ``real'' | ||
| 4777 | mail group it will be still shown as unread. | ||
| 4778 | |||
| 4779 | You could now catch up the mail group (@pxref{Group Data}), but this is | ||
| 4780 | tedious and error prone, since you may overlook mails you don't have | ||
| 4781 | created @code{nnmairix} groups for. Of course, you could first use | ||
| 4782 | @code{nnmairix-goto-original-article} (@pxref{nnmairix keyboard | ||
| 4783 | shortcuts}) and then read the mail in the original group, but that's | ||
| 4784 | even more cumbersome. | ||
| 4785 | |||
| 4786 | Clearly, the easiest way would be if marks could somehow be | ||
| 4787 | automatically set for the original article. This is exactly what | ||
| 4788 | @emph{marks propagation} is about. | ||
| 4789 | |||
| 4790 | Marks propagation is deactivated by default. You can activate it for a | ||
| 4791 | certain @code{nnmairix} group with | ||
| 4792 | @code{nnmairix-group-toggle-propmarks-this-group} (bound to @kbd{G b | ||
| 4793 | p}). This function will warn you if you try to use it with your default | ||
| 4794 | search group; the reason is that the default search group is used for | ||
| 4795 | temporary searches, and it's easy to accidentally propagate marks from | ||
| 4796 | this group. However, you can ignore this warning if you really want to. | ||
| 4797 | |||
| 4798 | With marks propagation enabled, all the marks you set in a @code{nnmairix} | ||
| 4799 | group should now be propagated to the original article. For example, | ||
| 4800 | you can now tick an article (by default with @kbd{!}) and this mark should | ||
| 4801 | magically be set for the original article, too. | ||
| 4802 | |||
| 4803 | A few more remarks which you may or may not want to know: | ||
| 4804 | |||
| 4805 | @vindex nnmairix-propagate-marks-upon-close | ||
| 4806 | Marks will not be set immediately, but only upon closing a group. This | ||
| 4807 | not only makes marks propagation faster, it also avoids problems with | ||
| 4808 | dangling symlinks when dealing with maildir files (since changing flags | ||
| 4809 | will change the file name). You can also control when to propagate marks | ||
| 4810 | via @code{nnmairix-propagate-marks-upon-close} (see the doc-string for | ||
| 4811 | details). | ||
| 4812 | |||
| 4813 | Obviously, @code{nnmairix} will have to look up the original group for every | ||
| 4814 | article you want to set marks for. If available, @code{nnmairix} will first use | ||
| 4815 | the registry for determining the original group. The registry is very | ||
| 4816 | fast, hence you should really, really enable the registry when using | ||
| 4817 | marks propagation. If you don't have to worry about RAM and disc space, | ||
| 4818 | set @code{gnus-registry-max-entries} to a large enough value; to be on | ||
| 4819 | the safe side, choose roughly the amount of mails you index with mairix. | ||
| 4820 | |||
| 4821 | @vindex nnmairix-only-use-registry | ||
| 4822 | If you don't want to use the registry or the registry hasn't seen the | ||
| 4823 | original article yet, @code{nnmairix} will use an additional mairix | ||
| 4824 | search for determining the file name of the article. This, of course, is | ||
| 4825 | way slower than the registry---if you set hundreds or even thousands of | ||
| 4826 | marks this way, it might take some time. You can avoid this situation by | ||
| 4827 | setting @code{nnmairix-only-use-registry} to t. | ||
| 4828 | |||
| 4829 | Maybe you also want to propagate marks the other way round, i.e. if you | ||
| 4830 | tick an article in a "real" mail group, you'd like to have the same | ||
| 4831 | article in a @code{nnmairix} group ticked, too. For several good | ||
| 4832 | reasons, this can only be done efficiently if you use maildir. To | ||
| 4833 | immediately contradict myself, let me mention that it WON'T work with | ||
| 4834 | @code{nnmaildir}, since @code{nnmaildir} stores the marks externally and | ||
| 4835 | not in the file name. Therefore, propagating marks to @code{nnmairix} | ||
| 4836 | groups will usually only work if you use an IMAP server which uses | ||
| 4837 | maildir as its file format. | ||
| 4838 | |||
| 4839 | @vindex nnmairix-propagate-marks-to-nnmairix-groups | ||
| 4840 | If you work with this setup, just set | ||
| 4841 | @code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t} and see what | ||
| 4842 | happens. If you don't like what you see, just set it to @code{nil} again. One | ||
| 4843 | problem might be that you get a wrong number of unread articles; this | ||
| 4844 | usually happens when you delete or expire articles in the original | ||
| 4845 | groups. When this happens, you can recreate the @code{nnmairix} group on the | ||
| 4846 | back end using @kbd{G b d}. | ||
| 4847 | |||
| 4848 | @node nnmairix tips and tricks | ||
| 4849 | @subsubsection nnmairix tips and tricks | ||
| 4850 | |||
| 4851 | @itemize | ||
| 4852 | @item | ||
| 4853 | Checking Mail | ||
| 4854 | |||
| 4855 | @findex nnmairix-update-groups | ||
| 4856 | I put all my important mail groups at group level 1. The mairix groups | ||
| 4857 | have group level 5, so they do not get checked at start up (@pxref{Group | ||
| 4858 | Levels}). | ||
| 4859 | |||
| 4860 | I use the following to check for mails: | ||
| 4861 | |||
| 4862 | @lisp | ||
| 4863 | (defun my-check-mail-mairix-update (level) | ||
| 4864 | (interactive "P") | ||
| 4865 | ;; if no prefix given, set level=1 | ||
| 4866 | (gnus-group-get-new-news (or level 1)) | ||
| 4867 | (nnmairix-update-groups "mairixsearch" t t) | ||
| 4868 | (gnus-group-list-groups)) | ||
| 4869 | |||
| 4870 | (define-key gnus-group-mode-map "g" 'my-check-mail-mairix-update) | ||
| 4871 | @end lisp | ||
| 4872 | |||
| 4873 | Instead of @samp{"mairixsearch"} use the name of your @code{nnmairix} | ||
| 4874 | server. See the doc string for @code{nnmairix-update-groups} for | ||
| 4875 | details. | ||
| 4876 | |||
| 4877 | @item | ||
| 4878 | Example: search group for ticked articles | ||
| 4879 | |||
| 4880 | For example, you can create a group for all ticked articles, where the | ||
| 4881 | articles always stay unread: | ||
| 4882 | |||
| 4883 | Hit @kbd{G b g}, enter group name (e.g. @samp{important}), use | ||
| 4884 | @samp{F:f} as query and do not include threads. | ||
| 4885 | |||
| 4886 | Now activate marks propagation for this group by using @kbd{G b p}. Then | ||
| 4887 | activate the always-unread feature by using @kbd{G b r} twice. | ||
| 4888 | |||
| 4889 | So far so good---but how do you remove the tick marks in the @code{nnmairix} | ||
| 4890 | group? There are two options: You may simply use | ||
| 4891 | @code{nnmairix-remove-tick-mark-original-article} (bound to @kbd{$ u}) to remove | ||
| 4892 | tick marks from the original article. The other possibility is to set | ||
| 4893 | @code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t}, but see the above | ||
| 4894 | comments about this option. If it works for you, the tick marks should | ||
| 4895 | also exist in the @code{nnmairix} group and you can remove them as usual, | ||
| 4896 | e.g. by marking an article as read. | ||
| 4897 | |||
| 4898 | When you have removed a tick mark from the original article, this | ||
| 4899 | article should vanish from the @code{nnmairix} group after you have updated the | ||
| 4900 | mairix database and updated the group. Fortunately, there is a function | ||
| 4901 | for doing exactly that: @code{nnmairix-update-groups}. See the previous code | ||
| 4902 | snippet and the doc string for details. | ||
| 4903 | |||
| 4904 | @item | ||
| 4905 | Dealing with auto-subscription of mail groups | ||
| 4906 | |||
| 4907 | As described before, all @code{nnmairix} groups are in fact stored on | ||
| 4908 | the mail back end in the form @samp{zz_mairix-<NAME>-<NUMBER>}. You can | ||
| 4909 | see them when you enter the back end server in the server buffer. You | ||
| 4910 | should not subscribe these groups! Unfortunately, these groups will | ||
| 4911 | usually get @emph{auto-subscribed} when you use @code{nnmaildir} or | ||
| 4912 | @code{nnml}, i.e. you will suddenly see groups of the form | ||
| 4913 | @samp{zz_mairix*} pop up in your group buffer. If this happens to you, | ||
| 4914 | simply kill these groups with C-k. For avoiding this, turn off | ||
| 4915 | auto-subscription completely by setting the variable | ||
| 4916 | @code{gnus-auto-subscribed-groups} to @code{nil} (@pxref{Filtering New | ||
| 4917 | Groups}), or if you like to keep this feature use the following kludge | ||
| 4918 | for turning it off for all groups beginning with @samp{zz_}: | ||
| 4919 | |||
| 4920 | @lisp | ||
| 4921 | (setq gnus-auto-subscribed-groups | ||
| 4922 | "^\\(nnml\\|nnfolder\\|nnmbox\\|nnmh\\|nnbabyl\\|nnmaildir\\).*:\\([^z]\\|z$\\|\\z[^z]\\|zz$\\|zz[^_]\\|zz_$\\).*") | ||
| 4923 | @end lisp | ||
| 4924 | |||
| 4925 | @end itemize | ||
| 4926 | |||
| 4927 | @node nnmairix caveats | ||
| 4928 | @subsubsection nnmairix caveats | ||
| 4929 | |||
| 4930 | @itemize | ||
| 4931 | @item | ||
| 4932 | You can create a secondary @code{nnml} server just for nnmairix, but then | ||
| 4933 | you have to explicitly set the corresponding server variable | ||
| 4934 | @code{nnml-get-new-mail} to @code{nil}. Otherwise, new mail might get | ||
| 4935 | put into this secondary server (and would never show up again). Here's | ||
| 4936 | an example server definition: | ||
| 4937 | |||
| 4938 | @lisp | ||
| 4939 | (nnml "mairix" (nnml-directory "mairix") (nnml-get-new-mail nil)) | ||
| 4940 | @end lisp | ||
| 4941 | |||
| 4942 | (The @code{nnmaildir} back end also has a server variabe | ||
| 4943 | @code{get-new-mail}, but its default value is @code{nil}, so you don't | ||
| 4944 | have to explicitly set it if you use a @code{nnmaildir} server just for | ||
| 4945 | mairix.) | ||
| 4946 | |||
| 4947 | @item | ||
| 4948 | If you use the Gnus registry: don't use the registry with | ||
| 4949 | @code{nnmairix} groups (put them in | ||
| 4950 | @code{gnus-registry-unfollowed-groups}). Be @emph{extra careful} if | ||
| 4951 | you use @code{gnus-registry-split-fancy-with-parent}; mails which are | ||
| 4952 | split into @code{nnmairix} groups are usually gone for good as soon as | ||
| 4953 | you check the group for new mail (yes, it has happened to me...). | ||
| 4954 | |||
| 4955 | @item | ||
| 4956 | Therefore: @emph{Never ever} put ``real'' mails into @code{nnmairix} | ||
| 4957 | groups (you shouldn't be able to, anyway). | ||
| 4958 | |||
| 4959 | @item | ||
| 4960 | If you use the Gnus agent (@pxref{Gnus Unplugged}): don't agentize | ||
| 4961 | @code{nnmairix} groups (though I have no idea what happens if you do). | ||
| 4962 | |||
| 4963 | @item | ||
| 4964 | mairix does only support us-ascii characters. | ||
| 4965 | |||
| 4966 | @item | ||
| 4967 | @code{nnmairix} uses a rather brute force method to force Gnus to | ||
| 4968 | completely reread the group on the mail back end after mairix was | ||
| 4969 | called---it simply deletes and re-creates the group on the mail | ||
| 4970 | back end. So far, this has worked for me without any problems, and I | ||
| 4971 | don't see how @code{nnmairix} could delete other mail groups than its | ||
| 4972 | own, but anyway: you really should have a backup of your mail | ||
| 4973 | folders. | ||
| 4974 | |||
| 4975 | @item | ||
| 4976 | All necessary information is stored in the group parameters | ||
| 4977 | (@pxref{Group Parameters}). This has the advantage that no active file | ||
| 4978 | is needed, but also implies that when you kill a @code{nnmairix} group, | ||
| 4979 | it is gone for good. | ||
| 4980 | |||
| 4981 | @item | ||
| 4982 | @findex nnmairix-purge-old-groups | ||
| 4983 | If you create and kill a lot of @code{nnmairix} groups, the | ||
| 4984 | ``zz_mairix-*'' groups will accumulate on the mail back end server. To | ||
| 4985 | delete old groups which are no longer needed, call | ||
| 4986 | @code{nnmairix-purge-old-groups}. Note that this assumes that you don't | ||
| 4987 | save any ``real'' mail in folders of the form | ||
| 4988 | @code{zz_mairix-<NAME>-<NUMBER>}. You can change the prefix of | ||
| 4989 | @code{nnmairix} groups by changing the variable | ||
| 4990 | @code{nnmairix-group-prefix}. | ||
| 4991 | |||
| 4992 | @item | ||
| 4993 | The following only applies if you @emph{don't} use the mentioned patch | ||
| 4994 | for mairix (@pxref{Propagating marks}): | ||
| 4995 | |||
| 4996 | A problem can occur when using @code{nnmairix} with maildir folders and | ||
| 4997 | comes with the fact that maildir stores mail flags like @samp{Seen} or | ||
| 4998 | @samp{Replied} by appending chars @samp{S} and @samp{R} to the message | ||
| 4999 | file name, respectively. This implies that currently you would have to | ||
| 5000 | update the mairix database not only when new mail arrives, but also when | ||
| 5001 | mail flags are changing. The same applies to new mails which are indexed | ||
| 5002 | while they are still in the @samp{new} folder but then get moved to | ||
| 5003 | @samp{cur} when Gnus has seen the mail. If you don't update the database | ||
| 5004 | after this has happened, a mairix query can lead to symlinks pointing to | ||
| 5005 | non-existing files. In Gnus, these messages will usually appear with | ||
| 5006 | ``(none)'' entries in the header and can't be accessed. If this happens | ||
| 5007 | to you, using @kbd{G b u} and updating the group will usually fix this. | ||
| 5008 | |||
| 5009 | @end itemize | ||
| 5010 | |||
| 5011 | @node Misc Group Stuff | 4309 | @node Misc Group Stuff |
| 5012 | @section Misc Group Stuff | 4310 | @section Misc Group Stuff |
| 5013 | 4311 | ||
| @@ -10194,26 +9492,19 @@ Say how much time has elapsed between the article was posted and now | |||
| 10194 | (@code{gnus-article-date-lapsed}). It looks something like: | 9492 | (@code{gnus-article-date-lapsed}). It looks something like: |
| 10195 | 9493 | ||
| 10196 | @example | 9494 | @example |
| 10197 | X-Sent: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago | 9495 | Date: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago |
| 10198 | @end example | 9496 | @end example |
| 10199 | 9497 | ||
| 10200 | @vindex gnus-article-date-lapsed-new-header | 9498 | This line is updated continually by default. If you wish to switch |
| 10201 | The value of @code{gnus-article-date-lapsed-new-header} determines | 9499 | that off, say: |
| 10202 | whether this header will just be added below the old Date one, or will | ||
| 10203 | replace it. | ||
| 10204 | |||
| 10205 | An advantage of using Gnus to read mail is that it converts simple bugs | ||
| 10206 | into wonderful absurdities. | ||
| 10207 | |||
| 10208 | If you want to have this line updated continually, you can put | ||
| 10209 | 9500 | ||
| 9501 | @vindex gnus-article-update-date-headers | ||
| 10210 | @lisp | 9502 | @lisp |
| 10211 | (gnus-start-date-timer) | 9503 | (setq gnus-article-update-date-headers nil) |
| 10212 | @end lisp | 9504 | @end lisp |
| 10213 | 9505 | ||
| 10214 | in your @file{~/.gnus.el} file, or you can run it off of some hook. If | 9506 | in your @file{~/.gnus.el} file. If you want to stop the updating |
| 10215 | you want to stop the timer, you can use the @code{gnus-stop-date-timer} | 9507 | dynamically, you can use the @code{gnus-stop-date-timer} command. |
| 10216 | command. | ||
| 10217 | 9508 | ||
| 10218 | @item W T o | 9509 | @item W T o |
| 10219 | @kindex W T o (Summary) | 9510 | @kindex W T o (Summary) |
| @@ -12579,13 +11870,7 @@ controlling variable is a predicate list, as described above. | |||
| 12579 | @vindex gnus-treat-strip-trailing-blank-lines | 11870 | @vindex gnus-treat-strip-trailing-blank-lines |
| 12580 | @vindex gnus-treat-unsplit-urls | 11871 | @vindex gnus-treat-unsplit-urls |
| 12581 | @vindex gnus-treat-wash-html | 11872 | @vindex gnus-treat-wash-html |
| 12582 | @vindex gnus-treat-date-english | 11873 | @vindex gnus-treat-date |
| 12583 | @vindex gnus-treat-date-iso8601 | ||
| 12584 | @vindex gnus-treat-date-lapsed | ||
| 12585 | @vindex gnus-treat-date-local | ||
| 12586 | @vindex gnus-treat-date-original | ||
| 12587 | @vindex gnus-treat-date-user-defined | ||
| 12588 | @vindex gnus-treat-date-ut | ||
| 12589 | @vindex gnus-treat-from-picon | 11874 | @vindex gnus-treat-from-picon |
| 12590 | @vindex gnus-treat-mail-picon | 11875 | @vindex gnus-treat-mail-picon |
| 12591 | @vindex gnus-treat-newsgroups-picon | 11876 | @vindex gnus-treat-newsgroups-picon |
| @@ -12640,13 +11925,39 @@ possible but those listed are probably sufficient for most people. | |||
| 12640 | 11925 | ||
| 12641 | @xref{Article Washing}. | 11926 | @xref{Article Washing}. |
| 12642 | 11927 | ||
| 12643 | @item gnus-treat-date-english (head) | 11928 | @item gnus-treat-date (head) |
| 12644 | @item gnus-treat-date-iso8601 (head) | 11929 | |
| 12645 | @item gnus-treat-date-lapsed (head) | 11930 | This will transform/add date headers according to the |
| 12646 | @item gnus-treat-date-local (head) | 11931 | @code{gnus-article-date-headers} variable. This is a list of Date |
| 12647 | @item gnus-treat-date-original (head) | 11932 | headers to display. The formats available are: |
| 12648 | @item gnus-treat-date-user-defined (head) | 11933 | |
| 12649 | @item gnus-treat-date-ut (head) | 11934 | @table @code |
| 11935 | @item ut | ||
| 11936 | Universal time, aka GMT, aka ZULU. | ||
| 11937 | |||
| 11938 | @item local | ||
| 11939 | The user's local time zone. | ||
| 11940 | |||
| 11941 | @item english | ||
| 11942 | A semi-readable English sentence. | ||
| 11943 | |||
| 11944 | @item lapsed | ||
| 11945 | The time elapsed since the message was posted. | ||
| 11946 | |||
| 11947 | @item combined-elapsed | ||
| 11948 | Both the original date header and a (shortened) elapsed time. | ||
| 11949 | |||
| 11950 | @item original | ||
| 11951 | The original date header. | ||
| 11952 | |||
| 11953 | @item iso8601 | ||
| 11954 | ISO8601 format, i.e., ``2010-11-23T22:05:21''. | ||
| 11955 | |||
| 11956 | @item user-defined | ||
| 11957 | A format done according to the @code{gnus-article-time-format} | ||
| 11958 | variable. | ||
| 11959 | |||
| 11960 | @end table | ||
| 12650 | 11961 | ||
| 12651 | @xref{Article Date}. | 11962 | @xref{Article Date}. |
| 12652 | 11963 | ||
| @@ -13322,9 +12633,6 @@ messages in one file per month: | |||
| 13322 | (concat "mail." (format-time-string "%Y-%m"))))) | 12633 | (concat "mail." (format-time-string "%Y-%m"))))) |
| 13323 | @end lisp | 12634 | @end lisp |
| 13324 | 12635 | ||
| 13325 | @c (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to | ||
| 13326 | @c use a different value for @code{gnus-message-archive-group} there.) | ||
| 13327 | |||
| 13328 | Now, when you send a message off, it will be stored in the appropriate | 12636 | Now, when you send a message off, it will be stored in the appropriate |
| 13329 | group. (If you want to disable storing for just one particular message, | 12637 | group. (If you want to disable storing for just one particular message, |
| 13330 | you can just remove the @code{Gcc} header that has been inserted.) The | 12638 | you can just remove the @code{Gcc} header that has been inserted.) The |
| @@ -13336,11 +12644,6 @@ if (using @kbd{G r} in the group buffer) to something | |||
| 13336 | nice---@samp{misc-mail-september-1995}, or whatever. New messages will | 12644 | nice---@samp{misc-mail-september-1995}, or whatever. New messages will |
| 13337 | continue to be stored in the old (now empty) group. | 12645 | continue to be stored in the old (now empty) group. |
| 13338 | 12646 | ||
| 13339 | That's the default method of archiving sent messages. Gnus offers a | ||
| 13340 | different way for the people who don't like the default method. In that | ||
| 13341 | case you should set @code{gnus-message-archive-group} to @code{nil}; | ||
| 13342 | this will disable archiving. | ||
| 13343 | |||
| 13344 | @table @code | 12647 | @table @code |
| 13345 | @item gnus-gcc-mark-as-read | 12648 | @item gnus-gcc-mark-as-read |
| 13346 | @vindex gnus-gcc-mark-as-read | 12649 | @vindex gnus-gcc-mark-as-read |
| @@ -14953,6 +14256,18 @@ The default is @samp{(%Deleted %Seen)}. | |||
| 14953 | 14256 | ||
| 14954 | @end table | 14257 | @end table |
| 14955 | 14258 | ||
| 14259 | Here's a complete example @code{nnimap} backend with a client-side | ||
| 14260 | ``fancy'' splitting method: | ||
| 14261 | |||
| 14262 | @example | ||
| 14263 | (nnimap "imap.example.com" | ||
| 14264 | (nnimap-inbox "INBOX") | ||
| 14265 | (nnimap-split-methods | ||
| 14266 | (| ("MailScanner-SpamCheck" "spam" "spam.detected") | ||
| 14267 | (to "foo@@bar.com" "foo") | ||
| 14268 | "undecided"))) | ||
| 14269 | @end example | ||
| 14270 | |||
| 14956 | 14271 | ||
| 14957 | @node Getting Mail | 14272 | @node Getting Mail |
| 14958 | @section Getting Mail | 14273 | @section Getting Mail |
| @@ -17837,6 +17152,7 @@ newsgroups. | |||
| 17837 | * Anything Groups:: Dired? Who needs dired? | 17152 | * Anything Groups:: Dired? Who needs dired? |
| 17838 | * Document Groups:: Single files can be the basis of a group. | 17153 | * Document Groups:: Single files can be the basis of a group. |
| 17839 | * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. | 17154 | * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. |
| 17155 | * The Empty Backend:: The backend that never has any news. | ||
| 17840 | @end menu | 17156 | @end menu |
| 17841 | 17157 | ||
| 17842 | 17158 | ||
| @@ -18284,6 +17600,22 @@ So, to use this, simply say something like: | |||
| 18284 | @end lisp | 17600 | @end lisp |
| 18285 | 17601 | ||
| 18286 | 17602 | ||
| 17603 | @node The Empty Backend | ||
| 17604 | @subsection The Empty Backend | ||
| 17605 | @cindex nnnil | ||
| 17606 | |||
| 17607 | @code{nnnil} is a backend that can be used as a placeholder if you | ||
| 17608 | have to specify a backend somewhere, but don't really want to. The | ||
| 17609 | classical example is if you don't want to have a primary select | ||
| 17610 | methods, but want to only use secondary ones: | ||
| 17611 | |||
| 17612 | @lisp | ||
| 17613 | (setq gnus-select-method '(nnnil "")) | ||
| 17614 | (setq gnus-secondary-select-methods | ||
| 17615 | '((nnimap "foo") | ||
| 17616 | (nnml ""))) | ||
| 17617 | @end lisp | ||
| 17618 | |||
| 18287 | 17619 | ||
| 18288 | @node Combined Groups | 17620 | @node Combined Groups |
| 18289 | @section Combined Groups | 17621 | @section Combined Groups |
| @@ -21711,6 +21043,1071 @@ the new score, which should be an integer. | |||
| 21711 | Gnus will try to decay scores once a day. If you haven't run Gnus for | 21043 | Gnus will try to decay scores once a day. If you haven't run Gnus for |
| 21712 | four days, Gnus will decay the scores four times, for instance. | 21044 | four days, Gnus will decay the scores four times, for instance. |
| 21713 | 21045 | ||
| 21046 | @node Searching | ||
| 21047 | @chapter Searching | ||
| 21048 | @cindex searching | ||
| 21049 | |||
| 21050 | FIXME: Add a brief overview of Gnus search capabilities. A brief | ||
| 21051 | comparison of nnir, nnmairix, contrib/gnus-namazu would be nice | ||
| 21052 | as well. | ||
| 21053 | |||
| 21054 | This chapter describes tools for searching groups and servers for | ||
| 21055 | articles matching a query and then retrieving those articles. Gnus | ||
| 21056 | provides a simpler mechanism for searching through articles in a summary buffer | ||
| 21057 | to find those matching a pattern. @xref{Searching for Articles}. | ||
| 21058 | |||
| 21059 | @menu | ||
| 21060 | * nnir:: Searching with various engines. | ||
| 21061 | * nnmairix:: Searching with Mairix. | ||
| 21062 | @end menu | ||
| 21063 | |||
| 21064 | @node nnir | ||
| 21065 | @section nnir | ||
| 21066 | @cindex nnir | ||
| 21067 | |||
| 21068 | This section describes how to use @code{nnir} to search for articles | ||
| 21069 | within gnus. | ||
| 21070 | |||
| 21071 | @menu | ||
| 21072 | * What is nnir?:: What does @code{nnir} do? | ||
| 21073 | * Basic Usage:: How to perform simple searches. | ||
| 21074 | * Setting up nnir:: How to set up @code{nnir}. | ||
| 21075 | @end menu | ||
| 21076 | |||
| 21077 | @node What is nnir? | ||
| 21078 | @subsection What is nnir? | ||
| 21079 | |||
| 21080 | @code{nnir} is a Gnus interface to a number of tools for searching | ||
| 21081 | through mail and news repositories. Different backends (like | ||
| 21082 | @code{nnimap} and @code{nntp}) work with different tools (called | ||
| 21083 | @dfn{engines} in @code{nnir} lingo), but all use the same basic search | ||
| 21084 | interface. | ||
| 21085 | |||
| 21086 | The @code{nnimap} and @code{gmane} search engines should work with no | ||
| 21087 | configuration. Other engines require a local index that needs to be | ||
| 21088 | created and maintained outside of Gnus. | ||
| 21089 | |||
| 21090 | |||
| 21091 | @node Basic Usage | ||
| 21092 | @subsection Basic Usage | ||
| 21093 | |||
| 21094 | In the group buffer typing @kbd{G G} will search the group on the | ||
| 21095 | current line by calling @code{gnus-group-make-nnir-group}. This prompts | ||
| 21096 | for a query string, creates an ephemeral @code{nnir} group containing | ||
| 21097 | the articles that match this query, and takes you to a summary buffer | ||
| 21098 | showing these articles. Articles may then be read, moved and deleted | ||
| 21099 | using the usual commands. | ||
| 21100 | |||
| 21101 | The @code{nnir} group made in this way is an @code{ephemeral} group, and | ||
| 21102 | some changes are not permanent: aside from reading, moving, and | ||
| 21103 | deleting, you can't act on the original article. But there is an | ||
| 21104 | alternative: you can @emph{warp} to the original group for the article | ||
| 21105 | on the current line with @kbd{A W}, aka | ||
| 21106 | @code{gnus-warp-to-article}. Even better, the function | ||
| 21107 | @code{gnus-summary-refer-thread}, bound by default in summary buffers to | ||
| 21108 | @kbd{A T}, will first warp to the original group before it works its | ||
| 21109 | magic and includes all the articles in the thread. From here you can | ||
| 21110 | read, move and delete articles, but also copy them, alter article marks, | ||
| 21111 | whatever. Go nuts. | ||
| 21112 | |||
| 21113 | You say you want to search more than just the group on the current line? | ||
| 21114 | No problem: just process-mark the groups you want to search. You want | ||
| 21115 | even more? Calling for an nnir search with the cursor on a topic heading | ||
| 21116 | will search all the groups under that heading. | ||
| 21117 | |||
| 21118 | Still not enough? OK, in the server buffer | ||
| 21119 | @code{gnus-group-make-nnir-group} (now bound to @kbd{G}) will search all | ||
| 21120 | groups from the server on the current line. Too much? Want to ignore | ||
| 21121 | certain groups when searching, like spam groups? Just customize | ||
| 21122 | @code{nnir-ignored-newsgroups}. | ||
| 21123 | |||
| 21124 | One more thing: individual search engines may have special search | ||
| 21125 | features. You can access these special features by giving a prefix-arg | ||
| 21126 | to @code{gnus-group-make-nnir-group}. If you are searching multiple | ||
| 21127 | groups with different search engines you will be prompted for the | ||
| 21128 | special search features for each engine separately. | ||
| 21129 | |||
| 21130 | |||
| 21131 | @node Setting up nnir | ||
| 21132 | @subsection Setting up nnir | ||
| 21133 | |||
| 21134 | To set up nnir you may need to do some prep work. Firstly, you may need | ||
| 21135 | to configure the search engines you plan to use. Some of them, like | ||
| 21136 | @code{imap} and @code{gmane}, need no special configuration. Others, | ||
| 21137 | like @code{namazu} and @code{swish}, require configuration as described | ||
| 21138 | below. Secondly, you need to associate a search engine with a server or | ||
| 21139 | a backend. | ||
| 21140 | |||
| 21141 | If you just want to use the @code{imap} engine to search @code{nnimap} | ||
| 21142 | servers, and the @code{gmane} engine to search @code{gmane} then you | ||
| 21143 | don't have to do anything. But you might want to read the details of the | ||
| 21144 | query language anyway. | ||
| 21145 | |||
| 21146 | @menu | ||
| 21147 | * Associating Engines:: How to associate engines. | ||
| 21148 | * The imap Engine:: Imap configuration and usage. | ||
| 21149 | * The gmane Engine:: Gmane configuration and usage. | ||
| 21150 | * The swish++ Engine:: Swish++ configuration and usage. | ||
| 21151 | * The swish-e Engine:: Swish-e configuration and usage. | ||
| 21152 | * The namazu Engine:: Namazu configuration and usage. | ||
| 21153 | * The hyrex Engine:: Hyrex configuration and usage. | ||
| 21154 | * Customizations:: User customizable settings. | ||
| 21155 | @end menu | ||
| 21156 | |||
| 21157 | @node Associating Engines | ||
| 21158 | @subsubsection Associating Engines | ||
| 21159 | |||
| 21160 | |||
| 21161 | When searching a group, @code{nnir} needs to know which search engine to | ||
| 21162 | use. You can configure a given server to use a particular engine by | ||
| 21163 | setting the server variable @code{nnir-search-engine} to the engine | ||
| 21164 | name. For example to use the @code{namazu} engine to search the server | ||
| 21165 | named @code{home} you can use | ||
| 21166 | |||
| 21167 | @lisp | ||
| 21168 | (setq gnus-secondary-select-methods | ||
| 21169 | '((nnml "home" | ||
| 21170 | (nnimap-address "localhost") | ||
| 21171 | (nnir-search-engine namazu)))) | ||
| 21172 | @end lisp | ||
| 21173 | |||
| 21174 | Alternatively you might want to use a particular engine for all servers | ||
| 21175 | with a given backend. For example, you might want to use the @code{imap} | ||
| 21176 | engine for all servers using the @code{nnimap} backend. In this case you | ||
| 21177 | can customize the variable @code{nnir-method-default-engines}. This is | ||
| 21178 | an alist of pairs of the form @code{(backend . engine)}. By default this | ||
| 21179 | variable is set to use the @code{imap} engine for all servers using the | ||
| 21180 | @code{nnimap} backend, and the @code{gmane} backend for @code{nntp} | ||
| 21181 | servers. (Don't worry, the @code{gmane} search engine won't actually try | ||
| 21182 | to search non-gmane @code{nntp} servers.) But if you wanted to use | ||
| 21183 | @code{namazu} for all your servers with an @code{nnimap} backend you | ||
| 21184 | could change this to | ||
| 21185 | |||
| 21186 | @lisp | ||
| 21187 | '((nnimap . namazu) | ||
| 21188 | (nntp . gmane)) | ||
| 21189 | @end lisp | ||
| 21190 | |||
| 21191 | @node The imap Engine | ||
| 21192 | @subsubsection The imap Engine | ||
| 21193 | |||
| 21194 | The @code{imap} engine requires no configuration. | ||
| 21195 | |||
| 21196 | Queries using the @code{imap} engine follow a simple query language. | ||
| 21197 | The search is always case-insensitive and supports the following | ||
| 21198 | features (inspired by the Google search input language): | ||
| 21199 | |||
| 21200 | @table @samp | ||
| 21201 | |||
| 21202 | @item Boolean query operators | ||
| 21203 | AND, OR, and NOT are supported, and parentheses can be used to control | ||
| 21204 | operator precedence, e.g. (emacs OR xemacs) AND linux. Note that | ||
| 21205 | operators must be written with all capital letters to be | ||
| 21206 | recognised. Also preceding a term with a - sign is equivalent to NOT | ||
| 21207 | term. | ||
| 21208 | |||
| 21209 | @item Automatic AND queries | ||
| 21210 | If you specify multiple words then they will be treated as an AND | ||
| 21211 | expression intended to match all components. | ||
| 21212 | |||
| 21213 | @item Phrase searches | ||
| 21214 | If you wrap your query in double-quotes then it will be treated as a | ||
| 21215 | literal string. | ||
| 21216 | |||
| 21217 | @end table | ||
| 21218 | |||
| 21219 | By default the whole message will be searched. The query can be limited | ||
| 21220 | to a specific part of a message by using a prefix-arg. After inputting | ||
| 21221 | the query this will prompt (with completion) for a message part. | ||
| 21222 | Choices include ``Whole message'', ``Subject'', ``From'', and | ||
| 21223 | ``To''. Any unrecognized input is interpreted as a header name. For | ||
| 21224 | example, typing @kbd{Message-ID} in response to this prompt will limit | ||
| 21225 | the query to the Message-ID header. | ||
| 21226 | |||
| 21227 | Finally selecting ``Imap'' will interpret the query as a raw | ||
| 21228 | @acronym{IMAP} search query. The format of such queries can be found in | ||
| 21229 | RFC3501. | ||
| 21230 | |||
| 21231 | If you don't like the default of searching whole messages you can | ||
| 21232 | customize @code{nnir-imap-default-search-key}. For example to use | ||
| 21233 | @acronym{IMAP} queries by default | ||
| 21234 | |||
| 21235 | @lisp | ||
| 21236 | (setq nnir-imap-default-search-key "Imap") | ||
| 21237 | @end lisp | ||
| 21238 | |||
| 21239 | @node The gmane Engine | ||
| 21240 | @subsubsection The gmane Engine | ||
| 21241 | |||
| 21242 | The @code{gmane} engine requires no configuration. | ||
| 21243 | |||
| 21244 | Gmane queries follow a simple query language: | ||
| 21245 | |||
| 21246 | @table @samp | ||
| 21247 | @item Boolean query operators | ||
| 21248 | AND, OR, NOT (or AND NOT), and XOR are supported, and brackets can be | ||
| 21249 | used to control operator precedence, e.g. (emacs OR xemacs) AND linux. | ||
| 21250 | Note that operators must be written with all capital letters to be | ||
| 21251 | recognised. | ||
| 21252 | |||
| 21253 | @item Required and excluded terms | ||
| 21254 | + and - can be used to require or exclude terms, e.g. football -american | ||
| 21255 | |||
| 21256 | @item Unicode handling | ||
| 21257 | The search engine converts all text to utf-8, so searching should work | ||
| 21258 | in any language. | ||
| 21259 | |||
| 21260 | @item Stopwords | ||
| 21261 | Common English words (like 'the' and 'a') are ignored by default. You | ||
| 21262 | can override this by prefixing such words with a + (e.g. +the) or | ||
| 21263 | enclosing the word in quotes (e.g. "the"). | ||
| 21264 | |||
| 21265 | @end table | ||
| 21266 | |||
| 21267 | The query can be limited to articles by a specific author using a | ||
| 21268 | prefix-arg. After inputting the query this will prompt for an author | ||
| 21269 | name (or part of a name) to match. | ||
| 21270 | |||
| 21271 | @node The swish++ Engine | ||
| 21272 | @subsubsection The swish++ Engine | ||
| 21273 | |||
| 21274 | FIXEM: Say something more here. | ||
| 21275 | |||
| 21276 | Documentation for swish++ may be found at the swish++ sourceforge page: | ||
| 21277 | @uref{http://swishplusplus.sourceforge.net} | ||
| 21278 | |||
| 21279 | @table @code | ||
| 21280 | |||
| 21281 | @item nnir-swish++-program | ||
| 21282 | The name of the swish++ executable. Defaults to @code{search} | ||
| 21283 | |||
| 21284 | @item nnir-swish++-additional-switches | ||
| 21285 | A list of strings to be given as additional arguments to | ||
| 21286 | swish++. @code{nil} by default. | ||
| 21287 | |||
| 21288 | @item nnir-swish++-remove-prefix | ||
| 21289 | The prefix to remove from each file name returned by swish++ in order | ||
| 21290 | to get a group name. By default this is @code{$HOME/Mail}. | ||
| 21291 | |||
| 21292 | @end table | ||
| 21293 | |||
| 21294 | @node The swish-e Engine | ||
| 21295 | @subsubsection The swish-e Engine | ||
| 21296 | |||
| 21297 | FIXEM: Say something more here. | ||
| 21298 | |||
| 21299 | Documentation for swish-e may be found at the swish-e homepage | ||
| 21300 | @uref{http://swish-e.org} | ||
| 21301 | |||
| 21302 | @table @code | ||
| 21303 | |||
| 21304 | @item nnir-swish-e-program | ||
| 21305 | The name of the swish-e search program. Defaults to @code{swish-e}. | ||
| 21306 | |||
| 21307 | @item nnir-swish-e-additional-switches | ||
| 21308 | A list of strings to be given as additional arguments to | ||
| 21309 | swish-e. @code{nil} by default. | ||
| 21310 | |||
| 21311 | @item nnir-swish-e-remove-prefix | ||
| 21312 | The prefix to remove from each file name returned by swish-e in order | ||
| 21313 | to get a group name. By default this is @code{$HOME/Mail}. | ||
| 21314 | |||
| 21315 | @end table | ||
| 21316 | |||
| 21317 | @node The namazu Engine | ||
| 21318 | @subsubsection The namazu Engine | ||
| 21319 | |||
| 21320 | Using the namazu engine requires creating and maintaining index files. | ||
| 21321 | One directory should contain all the index files, and nnir must be told | ||
| 21322 | where to find them by setting the @code{nnir-namazu-index-directory} | ||
| 21323 | variable. | ||
| 21324 | |||
| 21325 | To work correctly the @code{nnir-namazu-remove-prefix} variable must | ||
| 21326 | also be correct. This is the prefix to remove from each file name | ||
| 21327 | returned by Namazu in order to get a proper group name (albeit with `/' | ||
| 21328 | instead of `.'). | ||
| 21329 | |||
| 21330 | For example, suppose that Namazu returns file names such as | ||
| 21331 | @samp{/home/john/Mail/mail/misc/42}. For this example, use the | ||
| 21332 | following setting: @code{(setq nnir-namazu-remove-prefix | ||
| 21333 | "/home/john/Mail/")} Note the trailing slash. Removing this prefix from | ||
| 21334 | the directory gives @samp{mail/misc/42}. @code{nnir} knows to remove | ||
| 21335 | the @samp{/42} and to replace @samp{/} with @samp{.} to arrive at the | ||
| 21336 | correct group name @samp{mail.misc}. | ||
| 21337 | |||
| 21338 | Extra switches may be passed to the namazu search command by setting the | ||
| 21339 | variable @code{nnir-namazu-additional-switches}. It is particularly | ||
| 21340 | important not to pass any any switches to namazu that will change the | ||
| 21341 | output format. Good switches to use include `--sort', `--ascending', | ||
| 21342 | `--early' and `--late'. Refer to the Namazu documentation for further | ||
| 21343 | information on valid switches. | ||
| 21344 | |||
| 21345 | Mail must first be indexed with the `mknmz' program. Read the documentation | ||
| 21346 | for namazu to create a configuration file. Here is an example: | ||
| 21347 | |||
| 21348 | @cartouche | ||
| 21349 | @example | ||
| 21350 | package conf; # Don't remove this line! | ||
| 21351 | |||
| 21352 | # Paths which will not be indexed. Don't use `^' or `$' anchors. | ||
| 21353 | $EXCLUDE_PATH = "spam|sent"; | ||
| 21354 | |||
| 21355 | # Header fields which should be searchable. case-insensitive | ||
| 21356 | $REMAIN_HEADER = "from|date|message-id|subject"; | ||
| 21357 | |||
| 21358 | # Searchable fields. case-insensitive | ||
| 21359 | $SEARCH_FIELD = "from|date|message-id|subject"; | ||
| 21360 | |||
| 21361 | # The max length of a word. | ||
| 21362 | $WORD_LENG_MAX = 128; | ||
| 21363 | |||
| 21364 | # The max length of a field. | ||
| 21365 | $MAX_FIELD_LENGTH = 256; | ||
| 21366 | @end example | ||
| 21367 | @end cartouche | ||
| 21368 | |||
| 21369 | For this example, mail is stored in the directories @samp{~/Mail/mail/}, | ||
| 21370 | @samp{~/Mail/lists/} and @samp{~/Mail/archive/}, so to index them go to | ||
| 21371 | the index directory set in @code{nnir-namazu-index-directory} and issue | ||
| 21372 | the following command: | ||
| 21373 | |||
| 21374 | @example | ||
| 21375 | mknmz --mailnews ~/Mail/archive/ ~/Mail/mail/ ~/Mail/lists/ | ||
| 21376 | @end example | ||
| 21377 | |||
| 21378 | For maximum searching efficiency you might want to have a cron job run | ||
| 21379 | this command periodically, say every four hours. | ||
| 21380 | |||
| 21381 | @node The hyrex Engine | ||
| 21382 | @subsubsection The hyrex Engine | ||
| 21383 | This engine is obsolete. | ||
| 21384 | |||
| 21385 | @node Customizations | ||
| 21386 | @subsubsection Custimozations | ||
| 21387 | |||
| 21388 | @table @code | ||
| 21389 | |||
| 21390 | @item nnir-method-default-engines | ||
| 21391 | Alist of server backend - search engine pairs. The default associations | ||
| 21392 | are | ||
| 21393 | @example | ||
| 21394 | (nnimap . imap) | ||
| 21395 | (nntp . gmane) | ||
| 21396 | @end example | ||
| 21397 | |||
| 21398 | @item nnir-ignored-newsgroups | ||
| 21399 | A regexp to match newsgroups in the active file that should be skipped | ||
| 21400 | when searching all groups on a server. | ||
| 21401 | |||
| 21402 | @item nnir-summary-line-format | ||
| 21403 | The format specification to be used for lines in an nnir summary buffer. | ||
| 21404 | All the items from `gnus-summary-line-format' are available, along with | ||
| 21405 | three items unique to nnir summary buffers: | ||
| 21406 | |||
| 21407 | @example | ||
| 21408 | %Z Search retrieval score value (integer) | ||
| 21409 | %G Article original full group name (string) | ||
| 21410 | %g Article original short group name (string) | ||
| 21411 | @end example | ||
| 21412 | |||
| 21413 | If nil (the default) this will use @code{gnus-summary-line-format}. | ||
| 21414 | |||
| 21415 | @item nnir-retrieve-headers-override-function | ||
| 21416 | If non-nil, a function that retrieves article headers rather than using | ||
| 21417 | the gnus built-in function. This function takes an article list and | ||
| 21418 | group as arguments and populates the `nntp-server-buffer' with the | ||
| 21419 | retrieved headers. It should then return either 'nov or 'headers | ||
| 21420 | indicating the retrieved header format. Failure to retrieve headers | ||
| 21421 | should return @code{nil} | ||
| 21422 | |||
| 21423 | If this variable is nil, or if the provided function returns nil for a | ||
| 21424 | search result, @code{gnus-retrieve-headers} will be called instead." | ||
| 21425 | |||
| 21426 | |||
| 21427 | @end table | ||
| 21428 | |||
| 21429 | |||
| 21430 | @node nnmairix | ||
| 21431 | @section nnmairix | ||
| 21432 | |||
| 21433 | @cindex mairix | ||
| 21434 | @cindex nnmairix | ||
| 21435 | This paragraph describes how to set up mairix and the back end | ||
| 21436 | @code{nnmairix} for indexing and searching your mail from within | ||
| 21437 | Gnus. Additionally, you can create permanent ``smart'' groups which are | ||
| 21438 | bound to mairix searches and are automatically updated. | ||
| 21439 | |||
| 21440 | @menu | ||
| 21441 | * About mairix:: About the mairix mail search engine | ||
| 21442 | * nnmairix requirements:: What you will need for using nnmairix | ||
| 21443 | * What nnmairix does:: What does nnmairix actually do? | ||
| 21444 | * Setting up mairix:: Set up your mairix installation | ||
| 21445 | * Configuring nnmairix:: Set up the nnmairix back end | ||
| 21446 | * nnmairix keyboard shortcuts:: List of available keyboard shortcuts | ||
| 21447 | * Propagating marks:: How to propagate marks from nnmairix groups | ||
| 21448 | * nnmairix tips and tricks:: Some tips, tricks and examples | ||
| 21449 | * nnmairix caveats:: Some more stuff you might want to know | ||
| 21450 | @end menu | ||
| 21451 | |||
| 21452 | @c FIXME: The markup in this section might need improvement. | ||
| 21453 | @c E.g. adding @samp, @var, @file, @command, etc. | ||
| 21454 | @c Cf. (info "(texinfo)Indicating") | ||
| 21455 | |||
| 21456 | @node About mairix | ||
| 21457 | @subsection About mairix | ||
| 21458 | |||
| 21459 | Mairix is a tool for indexing and searching words in locally stored | ||
| 21460 | mail. It was written by Richard Curnow and is licensed under the | ||
| 21461 | GPL. Mairix comes with most popular GNU/Linux distributions, but it also | ||
| 21462 | runs under Windows (with cygwin), Mac OS X and Solaris. The homepage can | ||
| 21463 | be found at | ||
| 21464 | @uref{http://www.rpcurnow.force9.co.uk/mairix/index.html} | ||
| 21465 | |||
| 21466 | Though mairix might not be as flexible as other search tools like | ||
| 21467 | swish++ or namazu, which you can use via the @code{nnir} back end, it | ||
| 21468 | has the prime advantage of being incredibly fast. On current systems, it | ||
| 21469 | can easily search through headers and message bodies of thousands and | ||
| 21470 | thousands of mails in well under a second. Building the database | ||
| 21471 | necessary for searching might take a minute or two, but only has to be | ||
| 21472 | done once fully. Afterwards, the updates are done incrementally and | ||
| 21473 | therefore are really fast, too. Additionally, mairix is very easy to set | ||
| 21474 | up. | ||
| 21475 | |||
| 21476 | For maximum speed though, mairix should be used with mails stored in | ||
| 21477 | @code{Maildir} or @code{MH} format (this includes the @code{nnml} back | ||
| 21478 | end), although it also works with mbox. Mairix presents the search | ||
| 21479 | results by populating a @emph{virtual} maildir/MH folder with symlinks | ||
| 21480 | which point to the ``real'' message files (if mbox is used, copies are | ||
| 21481 | made). Since mairix already presents search results in such a virtual | ||
| 21482 | mail folder, it is very well suited for using it as an external program | ||
| 21483 | for creating @emph{smart} mail folders, which represent certain mail | ||
| 21484 | searches. | ||
| 21485 | |||
| 21486 | @node nnmairix requirements | ||
| 21487 | @subsection nnmairix requirements | ||
| 21488 | |||
| 21489 | Mairix searches local mail---that means, mairix absolutely must have | ||
| 21490 | direct access to your mail folders. If your mail resides on another | ||
| 21491 | server (e.g. an @acronym{IMAP} server) and you happen to have shell | ||
| 21492 | access, @code{nnmairix} supports running mairix remotely, e.g. via ssh. | ||
| 21493 | |||
| 21494 | Additionally, @code{nnmairix} only supports the following Gnus back | ||
| 21495 | ends: @code{nnml}, @code{nnmaildir}, and @code{nnimap}. You must use | ||
| 21496 | one of these back ends for using @code{nnmairix}. Other back ends, like | ||
| 21497 | @code{nnmbox}, @code{nnfolder} or @code{nnmh}, won't work. | ||
| 21498 | |||
| 21499 | If you absolutely must use mbox and still want to use @code{nnmairix}, | ||
| 21500 | you can set up a local @acronym{IMAP} server, which you then access via | ||
| 21501 | @code{nnimap}. This is a rather massive setup for accessing some mbox | ||
| 21502 | files, so just change to MH or Maildir already... However, if you're | ||
| 21503 | really, really passionate about using mbox, you might want to look into | ||
| 21504 | the package @file{mairix.el}, which comes with Emacs 23. | ||
| 21505 | |||
| 21506 | @node What nnmairix does | ||
| 21507 | @subsection What nnmairix does | ||
| 21508 | |||
| 21509 | The back end @code{nnmairix} enables you to call mairix from within Gnus, | ||
| 21510 | either to query mairix with a search term or to update the | ||
| 21511 | database. While visiting a message in the summary buffer, you can use | ||
| 21512 | several pre-defined shortcuts for calling mairix, e.g. to quickly | ||
| 21513 | search for all mails from the sender of the current message or to | ||
| 21514 | display the whole thread associated with the message, even if the | ||
| 21515 | mails are in different folders. | ||
| 21516 | |||
| 21517 | Additionally, you can create permanent @code{nnmairix} groups which are bound | ||
| 21518 | to certain mairix searches. This way, you can easily create a group | ||
| 21519 | containing mails from a certain sender, with a certain subject line or | ||
| 21520 | even for one specific thread based on the Message-ID. If you check for | ||
| 21521 | new mail in these folders (e.g. by pressing @kbd{g} or @kbd{M-g}), they | ||
| 21522 | automatically update themselves by calling mairix. | ||
| 21523 | |||
| 21524 | You might ask why you need @code{nnmairix} at all, since mairix already | ||
| 21525 | creates the group, populates it with links to the mails so that you can | ||
| 21526 | then access it with Gnus, right? Well, this @emph{might} work, but often | ||
| 21527 | does not---at least not without problems. Most probably you will get | ||
| 21528 | strange article counts, and sometimes you might see mails which Gnus | ||
| 21529 | claims have already been canceled and are inaccessible. This is due to | ||
| 21530 | the fact that Gnus isn't really amused when things are happening behind | ||
| 21531 | its back. Another problem can be the mail back end itself, e.g. if you | ||
| 21532 | use mairix with an @acronym{IMAP} server (I had Dovecot complaining | ||
| 21533 | about corrupt index files when mairix changed the contents of the search | ||
| 21534 | group). Using @code{nnmairix} should circumvent these problems. | ||
| 21535 | |||
| 21536 | @code{nnmairix} is not really a mail back end---it's actually more like | ||
| 21537 | a wrapper, sitting between a ``real'' mail back end where mairix stores | ||
| 21538 | the searches and the Gnus front end. You can choose between three | ||
| 21539 | different mail back ends for the mairix folders: @code{nnml}, | ||
| 21540 | @code{nnmaildir} or @code{nnimap}. @code{nnmairix} will call the mairix | ||
| 21541 | binary so that the search results are stored in folders named | ||
| 21542 | @code{zz_mairix-<NAME>-<NUMBER>} on this mail back end, but it will | ||
| 21543 | present these folders in the Gnus front end only with @code{<NAME>}. | ||
| 21544 | You can use an existing mail back end where you already store your mail, | ||
| 21545 | but if you're uncomfortable with @code{nnmairix} creating new mail | ||
| 21546 | groups alongside your other mail, you can also create e.g. a new | ||
| 21547 | @code{nnmaildir} or @code{nnml} server exclusively for mairix, but then | ||
| 21548 | make sure those servers do not accidentally receive your new mail | ||
| 21549 | (@pxref{nnmairix caveats}). A special case exists if you want to use | ||
| 21550 | mairix remotely on an IMAP server with @code{nnimap}---here the mairix | ||
| 21551 | folders and your other mail must be on the same @code{nnimap} back end. | ||
| 21552 | |||
| 21553 | @node Setting up mairix | ||
| 21554 | @subsection Setting up mairix | ||
| 21555 | |||
| 21556 | First: create a backup of your mail folders (@pxref{nnmairix caveats}). | ||
| 21557 | |||
| 21558 | Setting up mairix is easy: simply create a @file{.mairixrc} file with | ||
| 21559 | (at least) the following entries: | ||
| 21560 | |||
| 21561 | @example | ||
| 21562 | # Your Maildir/MH base folder | ||
| 21563 | base=~/Maildir | ||
| 21564 | @end example | ||
| 21565 | |||
| 21566 | This is the base folder for your mails. All the following directories | ||
| 21567 | are relative to this base folder. If you want to use @code{nnmairix} | ||
| 21568 | with @code{nnimap}, this base directory has to point to the mail | ||
| 21569 | directory where the @acronym{IMAP} server stores the mail folders! | ||
| 21570 | |||
| 21571 | @example | ||
| 21572 | maildir= ... your maildir folders which should be indexed ... | ||
| 21573 | mh= ... your nnml/mh folders which should be indexed ... | ||
| 21574 | mbox = ... your mbox files which should be indexed ... | ||
| 21575 | @end example | ||
| 21576 | |||
| 21577 | This specifies all your mail folders and mbox files (relative to the | ||
| 21578 | base directory!) you want to index with mairix. Note that the | ||
| 21579 | @code{nnml} back end saves mails in MH format, so you have to put those | ||
| 21580 | directories in the @code{mh} line. See the example at the end of this | ||
| 21581 | section and mairixrc's man-page for further details. | ||
| 21582 | |||
| 21583 | @example | ||
| 21584 | omit=zz_mairix-* | ||
| 21585 | @end example | ||
| 21586 | |||
| 21587 | @vindex nnmairix-group-prefix | ||
| 21588 | This should make sure that you don't accidentally index the mairix | ||
| 21589 | search results. You can change the prefix of these folders with the | ||
| 21590 | variable @code{nnmairix-group-prefix}. | ||
| 21591 | |||
| 21592 | @example | ||
| 21593 | mformat= ... 'maildir' or 'mh' ... | ||
| 21594 | database= ... location of database file ... | ||
| 21595 | @end example | ||
| 21596 | |||
| 21597 | The @code{format} setting specifies the output format for the mairix | ||
| 21598 | search folder. Set this to @code{mh} if you want to access search results | ||
| 21599 | with @code{nnml}. Otherwise choose @code{maildir}. | ||
| 21600 | |||
| 21601 | To summarize, here is my shortened @file{.mairixrc} file as an example: | ||
| 21602 | |||
| 21603 | @example | ||
| 21604 | base=~/Maildir | ||
| 21605 | maildir=.personal:.work:.logcheck:.sent | ||
| 21606 | mh=../Mail/nnml/*... | ||
| 21607 | mbox=../mboxmail/mailarchive_year* | ||
| 21608 | mformat=maildir | ||
| 21609 | omit=zz_mairix-* | ||
| 21610 | database=~/.mairixdatabase | ||
| 21611 | @end example | ||
| 21612 | |||
| 21613 | In this case, the base directory is @file{~/Maildir}, where all my Maildir | ||
| 21614 | folders are stored. As you can see, the folders are separated by | ||
| 21615 | colons. If you wonder why every folder begins with a dot: this is | ||
| 21616 | because I use Dovecot as @acronym{IMAP} server, which again uses | ||
| 21617 | @code{Maildir++} folders. For testing nnmairix, I also have some | ||
| 21618 | @code{nnml} mail, which is saved in @file{~/Mail/nnml}. Since this has | ||
| 21619 | to be specified relative to the @code{base} directory, the @code{../Mail} | ||
| 21620 | notation is needed. Note that the line ends in @code{*...}, which means | ||
| 21621 | to recursively scan all files under this directory. Without the three | ||
| 21622 | dots, the wildcard @code{*} will not work recursively. I also have some | ||
| 21623 | old mbox files with archived mail lying around in @file{~/mboxmail}. | ||
| 21624 | The other lines should be obvious. | ||
| 21625 | |||
| 21626 | See the man page for @code{mairixrc} for details and further options, | ||
| 21627 | especially regarding wildcard usage, which may be a little different | ||
| 21628 | than you are used to. | ||
| 21629 | |||
| 21630 | Now simply call @code{mairix} to create the index for the first time. | ||
| 21631 | Note that this may take a few minutes, but every following index will do | ||
| 21632 | the updates incrementally and hence is very fast. | ||
| 21633 | |||
| 21634 | @node Configuring nnmairix | ||
| 21635 | @subsection Configuring nnmairix | ||
| 21636 | |||
| 21637 | In group mode, type @kbd{G b c} | ||
| 21638 | (@code{nnmairix-create-server-and-default-group}). This will ask you for all | ||
| 21639 | necessary information and create a @code{nnmairix} server as a foreign | ||
| 21640 | server. You will have to specify the following: | ||
| 21641 | |||
| 21642 | @itemize @bullet | ||
| 21643 | |||
| 21644 | @item | ||
| 21645 | The @strong{name} of the @code{nnmairix} server---choose whatever you | ||
| 21646 | want. | ||
| 21647 | |||
| 21648 | @item | ||
| 21649 | The name of the @strong{back end server} where mairix should store its | ||
| 21650 | searches. This must be a full server name, like @code{nnml:mymail}. | ||
| 21651 | Just hit @kbd{TAB} to see the available servers. Currently, servers | ||
| 21652 | which are accessed through @code{nnmaildir}, @code{nnimap} and | ||
| 21653 | @code{nnml} are supported. As explained above, for locally stored | ||
| 21654 | mails, this can be an existing server where you store your mails. | ||
| 21655 | However, you can also create e.g. a new @code{nnmaildir} or @code{nnml} | ||
| 21656 | server exclusively for @code{nnmairix} in your secondary select methods | ||
| 21657 | (@pxref{Finding the News}). If you use a secondary @code{nnml} server | ||
| 21658 | just for mairix, make sure that you explicitly set the server variable | ||
| 21659 | @code{nnml-get-new-mail} to @code{nil}, or you might lose mail | ||
| 21660 | (@pxref{nnmairix caveats}). If you want to use mairix remotely on an | ||
| 21661 | @acronym{IMAP} server, you have to choose the corresponding | ||
| 21662 | @code{nnimap} server here. | ||
| 21663 | |||
| 21664 | @item | ||
| 21665 | @vindex nnmairix-mairix-search-options | ||
| 21666 | The @strong{command} to call the mairix binary. This will usually just | ||
| 21667 | be @code{mairix}, but you can also choose something like @code{ssh | ||
| 21668 | SERVER mairix} if you want to call mairix remotely, e.g. on your | ||
| 21669 | @acronym{IMAP} server. If you want to add some default options to | ||
| 21670 | mairix, you could do this here, but better use the variable | ||
| 21671 | @code{nnmairix-mairix-search-options} instead. | ||
| 21672 | |||
| 21673 | @item | ||
| 21674 | The name of the @strong{default search group}. This will be the group | ||
| 21675 | where all temporary mairix searches are stored, i.e. all searches which | ||
| 21676 | are not bound to permanent @code{nnmairix} groups. Choose whatever you | ||
| 21677 | like. | ||
| 21678 | |||
| 21679 | @item | ||
| 21680 | If the mail back end is @code{nnimap} or @code{nnmaildir}, you will be | ||
| 21681 | asked if you work with @strong{Maildir++}, i.e. with hidden maildir | ||
| 21682 | folders (=beginning with a dot). For example, you have to answer | ||
| 21683 | @samp{yes} here if you work with the Dovecot @acronym{IMAP} | ||
| 21684 | server. Otherwise, you should answer @samp{no} here. | ||
| 21685 | |||
| 21686 | @end itemize | ||
| 21687 | |||
| 21688 | @node nnmairix keyboard shortcuts | ||
| 21689 | @subsection nnmairix keyboard shortcuts | ||
| 21690 | |||
| 21691 | In group mode: | ||
| 21692 | |||
| 21693 | @table @kbd | ||
| 21694 | |||
| 21695 | @item G b c | ||
| 21696 | @kindex G b c (Group) | ||
| 21697 | @findex nnmairix-create-server-and-default-group | ||
| 21698 | Creates @code{nnmairix} server and default search group for this server | ||
| 21699 | (@code{nnmairix-create-server-and-default-group}). You should have done | ||
| 21700 | this by now (@pxref{Configuring nnmairix}). | ||
| 21701 | |||
| 21702 | @item G b s | ||
| 21703 | @kindex G b s (Group) | ||
| 21704 | @findex nnmairix-search | ||
| 21705 | Prompts for query which is then sent to the mairix binary. Search | ||
| 21706 | results are put into the default search group which is automatically | ||
| 21707 | displayed (@code{nnmairix-search}). | ||
| 21708 | |||
| 21709 | @item G b m | ||
| 21710 | @kindex G b m (Group) | ||
| 21711 | @findex nnmairix-widget-search | ||
| 21712 | Allows you to create a mairix search or a permanent group more | ||
| 21713 | comfortably using graphical widgets, similar to a customization | ||
| 21714 | group. Just try it to see how it works (@code{nnmairix-widget-search}). | ||
| 21715 | |||
| 21716 | @item G b i | ||
| 21717 | @kindex G b i (Group) | ||
| 21718 | @findex nnmairix-search-interactive | ||
| 21719 | Another command for creating a mairix query more comfortably, but uses | ||
| 21720 | only the minibuffer (@code{nnmairix-search-interactive}). | ||
| 21721 | |||
| 21722 | @item G b g | ||
| 21723 | @kindex G b g (Group) | ||
| 21724 | @findex nnmairix-create-search-group | ||
| 21725 | Creates a permanent group which is associated with a search query | ||
| 21726 | (@code{nnmairix-create-search-group}). The @code{nnmairix} back end | ||
| 21727 | automatically calls mairix when you update this group with @kbd{g} or | ||
| 21728 | @kbd{M-g}. | ||
| 21729 | |||
| 21730 | @item G b q | ||
| 21731 | @kindex G b q (Group) | ||
| 21732 | @findex nnmairix-group-change-query-this-group | ||
| 21733 | Changes the search query for the @code{nnmairix} group under cursor | ||
| 21734 | (@code{nnmairix-group-change-query-this-group}). | ||
| 21735 | |||
| 21736 | @item G b t | ||
| 21737 | @kindex G b t (Group) | ||
| 21738 | @findex nnmairix-group-toggle-threads-this-group | ||
| 21739 | Toggles the 'threads' parameter for the @code{nnmairix} group under cursor, | ||
| 21740 | i.e. if you want see the whole threads of the found messages | ||
| 21741 | (@code{nnmairix-group-toggle-threads-this-group}). | ||
| 21742 | |||
| 21743 | @item G b u | ||
| 21744 | @kindex G b u (Group) | ||
| 21745 | @findex nnmairix-update-database | ||
| 21746 | @vindex nnmairix-mairix-update-options | ||
| 21747 | Calls mairix binary for updating the database | ||
| 21748 | (@code{nnmairix-update-database}). The default parameters are @code{-F} | ||
| 21749 | and @code{-Q} for making this as fast as possible (see variable | ||
| 21750 | @code{nnmairix-mairix-update-options} for defining these default | ||
| 21751 | options). | ||
| 21752 | |||
| 21753 | @item G b r | ||
| 21754 | @kindex G b r (Group) | ||
| 21755 | @findex nnmairix-group-toggle-readmarks-this-group | ||
| 21756 | Keep articles in this @code{nnmairix} group always read or unread, or leave the | ||
| 21757 | marks unchanged (@code{nnmairix-group-toggle-readmarks-this-group}). | ||
| 21758 | |||
| 21759 | @item G b d | ||
| 21760 | @kindex G b d (Group) | ||
| 21761 | @findex nnmairix-group-delete-recreate-this-group | ||
| 21762 | Recreate @code{nnmairix} group on the ``real'' mail back end | ||
| 21763 | (@code{nnmairix-group-delete-recreate-this-group}). You can do this if | ||
| 21764 | you always get wrong article counts with a @code{nnmairix} group. | ||
| 21765 | |||
| 21766 | @item G b a | ||
| 21767 | @kindex G b a (Group) | ||
| 21768 | @findex nnmairix-group-toggle-allowfast-this-group | ||
| 21769 | Toggles the @code{allow-fast} parameters for group under cursor | ||
| 21770 | (@code{nnmairix-group-toggle-allowfast-this-group}). The default | ||
| 21771 | behavior of @code{nnmairix} is to do a mairix search every time you | ||
| 21772 | update or enter the group. With the @code{allow-fast} parameter set, | ||
| 21773 | mairix will only be called when you explicitly update the group, but not | ||
| 21774 | upon entering. This makes entering the group faster, but it may also | ||
| 21775 | lead to dangling symlinks if something changed between updating and | ||
| 21776 | entering the group which is not yet in the mairix database. | ||
| 21777 | |||
| 21778 | @item G b p | ||
| 21779 | @kindex G b p (Group) | ||
| 21780 | @findex nnmairix-group-toggle-propmarks-this-group | ||
| 21781 | Toggle marks propagation for this group | ||
| 21782 | (@code{nnmairix-group-toggle-propmarks-this-group}). (@pxref{Propagating | ||
| 21783 | marks}). | ||
| 21784 | |||
| 21785 | @item G b o | ||
| 21786 | @kindex G b o (Group) | ||
| 21787 | @findex nnmairix-propagate-marks | ||
| 21788 | Manually propagate marks (@code{nnmairix-propagate-marks}); needed only when | ||
| 21789 | @code{nnmairix-propagate-marks-upon-close} is set to @code{nil}. | ||
| 21790 | |||
| 21791 | @end table | ||
| 21792 | |||
| 21793 | In summary mode: | ||
| 21794 | |||
| 21795 | @table @kbd | ||
| 21796 | |||
| 21797 | @item $ m | ||
| 21798 | @kindex $ m (Summary) | ||
| 21799 | @findex nnmairix-widget-search-from-this-article | ||
| 21800 | Allows you to create a mairix query or group based on the current | ||
| 21801 | message using graphical widgets (same as @code{nnmairix-widget-search}) | ||
| 21802 | (@code{nnmairix-widget-search-from-this-article}). | ||
| 21803 | |||
| 21804 | @item $ g | ||
| 21805 | @kindex $ g (Summary) | ||
| 21806 | @findex nnmairix-create-search-group-from-message | ||
| 21807 | Interactively creates a new search group with query based on the current | ||
| 21808 | message, but uses the minibuffer instead of graphical widgets | ||
| 21809 | (@code{nnmairix-create-search-group-from-message}). | ||
| 21810 | |||
| 21811 | @item $ t | ||
| 21812 | @kindex $ t (Summary) | ||
| 21813 | @findex nnmairix-search-thread-this-article | ||
| 21814 | Searches thread for the current article | ||
| 21815 | (@code{nnmairix-search-thread-this-article}). This is effectively a | ||
| 21816 | shortcut for calling @code{nnmairix-search} with @samp{m:msgid} of the | ||
| 21817 | current article and enabled threads. | ||
| 21818 | |||
| 21819 | @item $ f | ||
| 21820 | @kindex $ f (Summary) | ||
| 21821 | @findex nnmairix-search-from-this-article | ||
| 21822 | Searches all messages from sender of the current article | ||
| 21823 | (@code{nnmairix-search-from-this-article}). This is a shortcut for | ||
| 21824 | calling @code{nnmairix-search} with @samp{f:From}. | ||
| 21825 | |||
| 21826 | @item $ o | ||
| 21827 | @kindex $ o (Summary) | ||
| 21828 | @findex nnmairix-goto-original-article | ||
| 21829 | (Only in @code{nnmairix} groups!) Tries determine the group this article | ||
| 21830 | originally came from and displays the article in this group, so that | ||
| 21831 | e.g. replying to this article the correct posting styles/group | ||
| 21832 | parameters are applied (@code{nnmairix-goto-original-article}). This | ||
| 21833 | function will use the registry if available, but can also parse the | ||
| 21834 | article file name as a fallback method. | ||
| 21835 | |||
| 21836 | @item $ u | ||
| 21837 | @kindex $ u (Summary) | ||
| 21838 | @findex nnmairix-remove-tick-mark-original-article | ||
| 21839 | Remove possibly existing tick mark from original article | ||
| 21840 | (@code{nnmairix-remove-tick-mark-original-article}). (@pxref{nnmairix | ||
| 21841 | tips and tricks}). | ||
| 21842 | |||
| 21843 | @end table | ||
| 21844 | |||
| 21845 | @node Propagating marks | ||
| 21846 | @subsection Propagating marks | ||
| 21847 | |||
| 21848 | First of: you really need a patched mairix binary for using the marks | ||
| 21849 | propagation feature efficiently. Otherwise, you would have to update | ||
| 21850 | the mairix database all the time. You can get the patch at | ||
| 21851 | |||
| 21852 | @uref{http://www.randomsample.de/mairix-maildir-patch.tar} | ||
| 21853 | |||
| 21854 | You need the mairix v0.21 source code for this patch; everything else | ||
| 21855 | is explained in the accompanied readme file. If you don't want to use | ||
| 21856 | marks propagation, you don't have to apply these patches, but they also | ||
| 21857 | fix some annoyances regarding changing maildir flags, so it might still | ||
| 21858 | be useful to you. | ||
| 21859 | |||
| 21860 | With the patched mairix binary, you can use @code{nnmairix} as an | ||
| 21861 | alternative to mail splitting (@pxref{Fancy Mail Splitting}). For | ||
| 21862 | example, instead of splitting all mails from @samp{david@@foobar.com} | ||
| 21863 | into a group, you can simply create a search group with the query | ||
| 21864 | @samp{f:david@@foobar.com}. This is actually what ``smart folders'' are | ||
| 21865 | all about: simply put everything in one mail folder and dynamically | ||
| 21866 | create searches instead of splitting. This is more flexible, since you | ||
| 21867 | can dynamically change your folders any time you want to. This also | ||
| 21868 | implies that you will usually read your mails in the @code{nnmairix} | ||
| 21869 | groups instead of your ``real'' mail groups. | ||
| 21870 | |||
| 21871 | There is one problem, though: say you got a new mail from | ||
| 21872 | @samp{david@@foobar.com}; it will now show up in two groups, the | ||
| 21873 | ``real'' group (your INBOX, for example) and in the @code{nnmairix} | ||
| 21874 | search group (provided you have updated the mairix database). Now you | ||
| 21875 | enter the @code{nnmairix} group and read the mail. The mail will be | ||
| 21876 | marked as read, but only in the @code{nnmairix} group---in the ``real'' | ||
| 21877 | mail group it will be still shown as unread. | ||
| 21878 | |||
| 21879 | You could now catch up the mail group (@pxref{Group Data}), but this is | ||
| 21880 | tedious and error prone, since you may overlook mails you don't have | ||
| 21881 | created @code{nnmairix} groups for. Of course, you could first use | ||
| 21882 | @code{nnmairix-goto-original-article} (@pxref{nnmairix keyboard | ||
| 21883 | shortcuts}) and then read the mail in the original group, but that's | ||
| 21884 | even more cumbersome. | ||
| 21885 | |||
| 21886 | Clearly, the easiest way would be if marks could somehow be | ||
| 21887 | automatically set for the original article. This is exactly what | ||
| 21888 | @emph{marks propagation} is about. | ||
| 21889 | |||
| 21890 | Marks propagation is deactivated by default. You can activate it for a | ||
| 21891 | certain @code{nnmairix} group with | ||
| 21892 | @code{nnmairix-group-toggle-propmarks-this-group} (bound to @kbd{G b | ||
| 21893 | p}). This function will warn you if you try to use it with your default | ||
| 21894 | search group; the reason is that the default search group is used for | ||
| 21895 | temporary searches, and it's easy to accidentally propagate marks from | ||
| 21896 | this group. However, you can ignore this warning if you really want to. | ||
| 21897 | |||
| 21898 | With marks propagation enabled, all the marks you set in a @code{nnmairix} | ||
| 21899 | group should now be propagated to the original article. For example, | ||
| 21900 | you can now tick an article (by default with @kbd{!}) and this mark should | ||
| 21901 | magically be set for the original article, too. | ||
| 21902 | |||
| 21903 | A few more remarks which you may or may not want to know: | ||
| 21904 | |||
| 21905 | @vindex nnmairix-propagate-marks-upon-close | ||
| 21906 | Marks will not be set immediately, but only upon closing a group. This | ||
| 21907 | not only makes marks propagation faster, it also avoids problems with | ||
| 21908 | dangling symlinks when dealing with maildir files (since changing flags | ||
| 21909 | will change the file name). You can also control when to propagate marks | ||
| 21910 | via @code{nnmairix-propagate-marks-upon-close} (see the doc-string for | ||
| 21911 | details). | ||
| 21912 | |||
| 21913 | Obviously, @code{nnmairix} will have to look up the original group for every | ||
| 21914 | article you want to set marks for. If available, @code{nnmairix} will first use | ||
| 21915 | the registry for determining the original group. The registry is very | ||
| 21916 | fast, hence you should really, really enable the registry when using | ||
| 21917 | marks propagation. If you don't have to worry about RAM and disc space, | ||
| 21918 | set @code{gnus-registry-max-entries} to a large enough value; to be on | ||
| 21919 | the safe side, choose roughly the amount of mails you index with mairix. | ||
| 21920 | |||
| 21921 | @vindex nnmairix-only-use-registry | ||
| 21922 | If you don't want to use the registry or the registry hasn't seen the | ||
| 21923 | original article yet, @code{nnmairix} will use an additional mairix | ||
| 21924 | search for determining the file name of the article. This, of course, is | ||
| 21925 | way slower than the registry---if you set hundreds or even thousands of | ||
| 21926 | marks this way, it might take some time. You can avoid this situation by | ||
| 21927 | setting @code{nnmairix-only-use-registry} to t. | ||
| 21928 | |||
| 21929 | Maybe you also want to propagate marks the other way round, i.e. if you | ||
| 21930 | tick an article in a "real" mail group, you'd like to have the same | ||
| 21931 | article in a @code{nnmairix} group ticked, too. For several good | ||
| 21932 | reasons, this can only be done efficiently if you use maildir. To | ||
| 21933 | immediately contradict myself, let me mention that it WON'T work with | ||
| 21934 | @code{nnmaildir}, since @code{nnmaildir} stores the marks externally and | ||
| 21935 | not in the file name. Therefore, propagating marks to @code{nnmairix} | ||
| 21936 | groups will usually only work if you use an IMAP server which uses | ||
| 21937 | maildir as its file format. | ||
| 21938 | |||
| 21939 | @vindex nnmairix-propagate-marks-to-nnmairix-groups | ||
| 21940 | If you work with this setup, just set | ||
| 21941 | @code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t} and see what | ||
| 21942 | happens. If you don't like what you see, just set it to @code{nil} again. One | ||
| 21943 | problem might be that you get a wrong number of unread articles; this | ||
| 21944 | usually happens when you delete or expire articles in the original | ||
| 21945 | groups. When this happens, you can recreate the @code{nnmairix} group on the | ||
| 21946 | back end using @kbd{G b d}. | ||
| 21947 | |||
| 21948 | @node nnmairix tips and tricks | ||
| 21949 | @subsection nnmairix tips and tricks | ||
| 21950 | |||
| 21951 | @itemize | ||
| 21952 | @item | ||
| 21953 | Checking Mail | ||
| 21954 | |||
| 21955 | @findex nnmairix-update-groups | ||
| 21956 | I put all my important mail groups at group level 1. The mairix groups | ||
| 21957 | have group level 5, so they do not get checked at start up (@pxref{Group | ||
| 21958 | Levels}). | ||
| 21959 | |||
| 21960 | I use the following to check for mails: | ||
| 21961 | |||
| 21962 | @lisp | ||
| 21963 | (defun my-check-mail-mairix-update (level) | ||
| 21964 | (interactive "P") | ||
| 21965 | ;; if no prefix given, set level=1 | ||
| 21966 | (gnus-group-get-new-news (or level 1)) | ||
| 21967 | (nnmairix-update-groups "mairixsearch" t t) | ||
| 21968 | (gnus-group-list-groups)) | ||
| 21969 | |||
| 21970 | (define-key gnus-group-mode-map "g" 'my-check-mail-mairix-update) | ||
| 21971 | @end lisp | ||
| 21972 | |||
| 21973 | Instead of @samp{"mairixsearch"} use the name of your @code{nnmairix} | ||
| 21974 | server. See the doc string for @code{nnmairix-update-groups} for | ||
| 21975 | details. | ||
| 21976 | |||
| 21977 | @item | ||
| 21978 | Example: search group for ticked articles | ||
| 21979 | |||
| 21980 | For example, you can create a group for all ticked articles, where the | ||
| 21981 | articles always stay unread: | ||
| 21982 | |||
| 21983 | Hit @kbd{G b g}, enter group name (e.g. @samp{important}), use | ||
| 21984 | @samp{F:f} as query and do not include threads. | ||
| 21985 | |||
| 21986 | Now activate marks propagation for this group by using @kbd{G b p}. Then | ||
| 21987 | activate the always-unread feature by using @kbd{G b r} twice. | ||
| 21988 | |||
| 21989 | So far so good---but how do you remove the tick marks in the @code{nnmairix} | ||
| 21990 | group? There are two options: You may simply use | ||
| 21991 | @code{nnmairix-remove-tick-mark-original-article} (bound to @kbd{$ u}) to remove | ||
| 21992 | tick marks from the original article. The other possibility is to set | ||
| 21993 | @code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t}, but see the above | ||
| 21994 | comments about this option. If it works for you, the tick marks should | ||
| 21995 | also exist in the @code{nnmairix} group and you can remove them as usual, | ||
| 21996 | e.g. by marking an article as read. | ||
| 21997 | |||
| 21998 | When you have removed a tick mark from the original article, this | ||
| 21999 | article should vanish from the @code{nnmairix} group after you have updated the | ||
| 22000 | mairix database and updated the group. Fortunately, there is a function | ||
| 22001 | for doing exactly that: @code{nnmairix-update-groups}. See the previous code | ||
| 22002 | snippet and the doc string for details. | ||
| 22003 | |||
| 22004 | @item | ||
| 22005 | Dealing with auto-subscription of mail groups | ||
| 22006 | |||
| 22007 | As described before, all @code{nnmairix} groups are in fact stored on | ||
| 22008 | the mail back end in the form @samp{zz_mairix-<NAME>-<NUMBER>}. You can | ||
| 22009 | see them when you enter the back end server in the server buffer. You | ||
| 22010 | should not subscribe these groups! Unfortunately, these groups will | ||
| 22011 | usually get @emph{auto-subscribed} when you use @code{nnmaildir} or | ||
| 22012 | @code{nnml}, i.e. you will suddenly see groups of the form | ||
| 22013 | @samp{zz_mairix*} pop up in your group buffer. If this happens to you, | ||
| 22014 | simply kill these groups with C-k. For avoiding this, turn off | ||
| 22015 | auto-subscription completely by setting the variable | ||
| 22016 | @code{gnus-auto-subscribed-groups} to @code{nil} (@pxref{Filtering New | ||
| 22017 | Groups}), or if you like to keep this feature use the following kludge | ||
| 22018 | for turning it off for all groups beginning with @samp{zz_}: | ||
| 22019 | |||
| 22020 | @lisp | ||
| 22021 | (setq gnus-auto-subscribed-groups | ||
| 22022 | "^\\(nnml\\|nnfolder\\|nnmbox\\|nnmh\\|nnbabyl\\|nnmaildir\\).*:\\([^z]\\|z$\\|\\z[^z]\\|zz$\\|zz[^_]\\|zz_$\\).*") | ||
| 22023 | @end lisp | ||
| 22024 | |||
| 22025 | @end itemize | ||
| 22026 | |||
| 22027 | @node nnmairix caveats | ||
| 22028 | @subsection nnmairix caveats | ||
| 22029 | |||
| 22030 | @itemize | ||
| 22031 | @item | ||
| 22032 | You can create a secondary @code{nnml} server just for nnmairix, but then | ||
| 22033 | you have to explicitly set the corresponding server variable | ||
| 22034 | @code{nnml-get-new-mail} to @code{nil}. Otherwise, new mail might get | ||
| 22035 | put into this secondary server (and would never show up again). Here's | ||
| 22036 | an example server definition: | ||
| 22037 | |||
| 22038 | @lisp | ||
| 22039 | (nnml "mairix" (nnml-directory "mairix") (nnml-get-new-mail nil)) | ||
| 22040 | @end lisp | ||
| 22041 | |||
| 22042 | (The @code{nnmaildir} back end also has a server variabe | ||
| 22043 | @code{get-new-mail}, but its default value is @code{nil}, so you don't | ||
| 22044 | have to explicitly set it if you use a @code{nnmaildir} server just for | ||
| 22045 | mairix.) | ||
| 22046 | |||
| 22047 | @item | ||
| 22048 | If you use the Gnus registry: don't use the registry with | ||
| 22049 | @code{nnmairix} groups (put them in | ||
| 22050 | @code{gnus-registry-unfollowed-groups}). Be @emph{extra careful} if | ||
| 22051 | you use @code{gnus-registry-split-fancy-with-parent}; mails which are | ||
| 22052 | split into @code{nnmairix} groups are usually gone for good as soon as | ||
| 22053 | you check the group for new mail (yes, it has happened to me...). | ||
| 22054 | |||
| 22055 | @item | ||
| 22056 | Therefore: @emph{Never ever} put ``real'' mails into @code{nnmairix} | ||
| 22057 | groups (you shouldn't be able to, anyway). | ||
| 22058 | |||
| 22059 | @item | ||
| 22060 | If you use the Gnus agent (@pxref{Gnus Unplugged}): don't agentize | ||
| 22061 | @code{nnmairix} groups (though I have no idea what happens if you do). | ||
| 22062 | |||
| 22063 | @item | ||
| 22064 | mairix does only support us-ascii characters. | ||
| 22065 | |||
| 22066 | @item | ||
| 22067 | @code{nnmairix} uses a rather brute force method to force Gnus to | ||
| 22068 | completely reread the group on the mail back end after mairix was | ||
| 22069 | called---it simply deletes and re-creates the group on the mail | ||
| 22070 | back end. So far, this has worked for me without any problems, and I | ||
| 22071 | don't see how @code{nnmairix} could delete other mail groups than its | ||
| 22072 | own, but anyway: you really should have a backup of your mail | ||
| 22073 | folders. | ||
| 22074 | |||
| 22075 | @item | ||
| 22076 | All necessary information is stored in the group parameters | ||
| 22077 | (@pxref{Group Parameters}). This has the advantage that no active file | ||
| 22078 | is needed, but also implies that when you kill a @code{nnmairix} group, | ||
| 22079 | it is gone for good. | ||
| 22080 | |||
| 22081 | @item | ||
| 22082 | @findex nnmairix-purge-old-groups | ||
| 22083 | If you create and kill a lot of @code{nnmairix} groups, the | ||
| 22084 | ``zz_mairix-*'' groups will accumulate on the mail back end server. To | ||
| 22085 | delete old groups which are no longer needed, call | ||
| 22086 | @code{nnmairix-purge-old-groups}. Note that this assumes that you don't | ||
| 22087 | save any ``real'' mail in folders of the form | ||
| 22088 | @code{zz_mairix-<NAME>-<NUMBER>}. You can change the prefix of | ||
| 22089 | @code{nnmairix} groups by changing the variable | ||
| 22090 | @code{nnmairix-group-prefix}. | ||
| 22091 | |||
| 22092 | @item | ||
| 22093 | The following only applies if you @emph{don't} use the mentioned patch | ||
| 22094 | for mairix (@pxref{Propagating marks}): | ||
| 22095 | |||
| 22096 | A problem can occur when using @code{nnmairix} with maildir folders and | ||
| 22097 | comes with the fact that maildir stores mail flags like @samp{Seen} or | ||
| 22098 | @samp{Replied} by appending chars @samp{S} and @samp{R} to the message | ||
| 22099 | file name, respectively. This implies that currently you would have to | ||
| 22100 | update the mairix database not only when new mail arrives, but also when | ||
| 22101 | mail flags are changing. The same applies to new mails which are indexed | ||
| 22102 | while they are still in the @samp{new} folder but then get moved to | ||
| 22103 | @samp{cur} when Gnus has seen the mail. If you don't update the database | ||
| 22104 | after this has happened, a mairix query can lead to symlinks pointing to | ||
| 22105 | non-existing files. In Gnus, these messages will usually appear with | ||
| 22106 | ``(none)'' entries in the header and can't be accessed. If this happens | ||
| 22107 | to you, using @kbd{G b u} and updating the group will usually fix this. | ||
| 22108 | |||
| 22109 | @end itemize | ||
| 22110 | |||
| 21714 | @iftex | 22111 | @iftex |
| 21715 | @iflatex | 22112 | @iflatex |
| 21716 | @chapter Message | 22113 | @chapter Message |
diff --git a/doc/misc/gpl.texi b/doc/misc/gpl.texi index 5b416d3cb41..1908d1f8f98 100644 --- a/doc/misc/gpl.texi +++ b/doc/misc/gpl.texi | |||
| @@ -715,7 +715,3 @@ library, you may consider it more useful to permit linking proprietary | |||
| 715 | applications with the library. If this is what you want to do, use | 715 | applications with the library. If this is what you want to do, use |
| 716 | the GNU Lesser General Public License instead of this License. But | 716 | the GNU Lesser General Public License instead of this License. But |
| 717 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. | 717 | first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}. |
| 718 | |||
| 719 | @ignore | ||
| 720 | arch-tag: 0c4a2556-f87e-464f-9b1d-efd920fcaf67 | ||
| 721 | @end ignore | ||
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index 0618f110c30..be518db6463 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi | |||
| @@ -22,8 +22,7 @@ Emacs, and interacting with an IDL shell run as a subprocess. | |||
| 22 | This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE | 22 | This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE |
| 23 | @value{VERSION}. | 23 | @value{VERSION}. |
| 24 | 24 | ||
| 25 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 25 | Copyright @copyright{} 1999-2011 Free Software Foundation, Inc. |
| 26 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 27 | 26 | ||
| 28 | @quotation | 27 | @quotation |
| 29 | Permission is granted to copy, distribute and/or modify this document | 28 | Permission is granted to copy, distribute and/or modify this document |
| @@ -4295,7 +4294,3 @@ IDLWAVE is @samp{fsf-compat, xemacs-base, mail-lib}. | |||
| 4295 | @printindex cp | 4294 | @printindex cp |
| 4296 | 4295 | ||
| 4297 | @bye | 4296 | @bye |
| 4298 | |||
| 4299 | @ignore | ||
| 4300 | arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492 | ||
| 4301 | @end ignore | ||
diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 97cc17812e4..68390a2f0cc 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi | |||
| @@ -14,8 +14,7 @@ | |||
| 14 | This file describes how to use Info, the on-line, menu-driven GNU | 14 | This file describes how to use Info, the on-line, menu-driven GNU |
| 15 | documentation system. | 15 | documentation system. |
| 16 | 16 | ||
| 17 | Copyright @copyright{} 1989, 1992, 1996, 1997, 1998, 1999, 2000, 2001, | 17 | Copyright @copyright{} 1989, 1992, 1996-2011 |
| 18 | 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 19 | Free Software Foundation, Inc. | 18 | Free Software Foundation, Inc. |
| 20 | 19 | ||
| 21 | @quotation | 20 | @quotation |
| @@ -1508,7 +1507,3 @@ topics discussed in this document. | |||
| 1508 | @printindex cp | 1507 | @printindex cp |
| 1509 | 1508 | ||
| 1510 | @bye | 1509 | @bye |
| 1511 | |||
| 1512 | @ignore | ||
| 1513 | arch-tag: 965c1638-01d6-4156-9227-b10418b9d8e8 | ||
| 1514 | @end ignore | ||
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index 578164e8e57..4235e825fb6 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | @documentencoding ISO-8859-1 | 6 | @documentencoding ISO-8859-1 |
| 7 | 7 | ||
| 8 | @copying | 8 | @copying |
| 9 | Copyright @copyright{} 2008, 2009, 2010 Free Software Foundation, Inc. | 9 | Copyright @copyright{} 2008-2011 Free Software Foundation, Inc. |
| 10 | 10 | ||
| 11 | @quotation | 11 | @quotation |
| 12 | Permission is granted to copy, distribute and/or modify this document | 12 | Permission is granted to copy, distribute and/or modify this document |
| @@ -349,7 +349,3 @@ And that's it! | |||
| 349 | 349 | ||
| 350 | 350 | ||
| 351 | @bye | 351 | @bye |
| 352 | |||
| 353 | @ignore | ||
| 354 | arch-tag: cb81470f-e080-489d-bb67-0d11516b63b9 | ||
| 355 | @end ignore | ||
diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in index fd3b1476b55..1e497fe309f 100644 --- a/doc/misc/makefile.w32-in +++ b/doc/misc/makefile.w32-in | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | #### -*- Makefile -*- for documentation other than the Emacs manual. | 1 | #### -*- Makefile -*- for documentation other than the Emacs manual. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | # Copyright (C) 2003-2011 Free Software Foundation, Inc. |
| 4 | # Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -32,7 +31,8 @@ infodir = $(srcdir)/../../info | |||
| 32 | emacsdir = $(srcdir)/../emacs | 31 | emacsdir = $(srcdir)/../emacs |
| 33 | 32 | ||
| 34 | # The makeinfo program is part of the Texinfo distribution. | 33 | # The makeinfo program is part of the Texinfo distribution. |
| 35 | MAKEINFO = makeinfo --force -I$(emacsdir) | 34 | MAKEINFO = makeinfo |
| 35 | MAKEINFO_OPTS = --force -I$(emacsdir) | ||
| 36 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat | 36 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat |
| 37 | INFO_TARGETS = $(infodir)/ccmode \ | 37 | INFO_TARGETS = $(infodir)/ccmode \ |
| 38 | $(infodir)/cl $(infodir)/dbus $(infodir)/dired-x \ | 38 | $(infodir)/cl $(infodir)/dbus $(infodir)/dired-x \ |
| @@ -47,7 +47,8 @@ INFO_TARGETS = $(infodir)/ccmode \ | |||
| 47 | $(infodir)/org $(infodir)/url $(infodir)/speedbar \ | 47 | $(infodir)/org $(infodir)/url $(infodir)/speedbar \ |
| 48 | $(infodir)/tramp $(infodir)/ses $(infodir)/smtpmail \ | 48 | $(infodir)/tramp $(infodir)/ses $(infodir)/smtpmail \ |
| 49 | $(infodir)/flymake $(infodir)/newsticker $(infodir)/rcirc \ | 49 | $(infodir)/flymake $(infodir)/newsticker $(infodir)/rcirc \ |
| 50 | $(infodir)/erc $(infodir)/remember $(infodir)/nxml-mode \ | 50 | $(infodir)/erc $(infodir)/ert \ |
| 51 | $(infodir)/remember $(infodir)/nxml-mode \ | ||
| 51 | $(infodir)/epa $(infodir)/mairix-el $(infodir)/sasl \ | 52 | $(infodir)/epa $(infodir)/mairix-el $(infodir)/sasl \ |
| 52 | $(infodir)/auth $(infodir)/eieio $(infodir)/ede \ | 53 | $(infodir)/auth $(infodir)/eieio $(infodir)/ede \ |
| 53 | $(infodir)/semantic $(infodir)/edt | 54 | $(infodir)/semantic $(infodir)/edt |
| @@ -58,7 +59,8 @@ DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ | |||
| 58 | ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \ | 59 | ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \ |
| 59 | pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \ | 60 | pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \ |
| 60 | speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ | 61 | speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ |
| 61 | newsticker.dvi rcirc.dvi erc.dvi remember.dvi nxml-mode.dvi \ | 62 | newsticker.dvi rcirc.dvi erc.dvi ert.dvi \ |
| 63 | remember.dvi nxml-mode.dvi \ | ||
| 62 | epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ | 64 | epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ |
| 63 | semantic.dvi edt.dvi | 65 | semantic.dvi edt.dvi |
| 64 | INFOSOURCES = info.texi | 66 | INFOSOURCES = info.texi |
| @@ -70,7 +72,7 @@ INFOSOURCES = info.texi | |||
| 70 | 72 | ||
| 71 | TEXI2DVI = texi2dvi | 73 | TEXI2DVI = texi2dvi |
| 72 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ | 74 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ |
| 73 | "MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C | 75 | "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C |
| 74 | 76 | ||
| 75 | 77 | ||
| 76 | info: $(INFO_TARGETS) | 78 | info: $(INFO_TARGETS) |
| @@ -92,65 +94,65 @@ $(infodir)/dir: | |||
| 92 | # texi filename, contrary to GNU standards. | 94 | # texi filename, contrary to GNU standards. |
| 93 | 95 | ||
| 94 | $(infodir)/info: $(INFOSOURCES) | 96 | $(infodir)/info: $(INFOSOURCES) |
| 95 | $(MAKEINFO) --no-split -o $@ info.texi | 97 | $(MAKEINFO) $(MAKEINFO_OPTS) --no-split -o $@ info.texi |
| 96 | 98 | ||
| 97 | info.dvi: $(INFOSOURCES) | 99 | info.dvi: $(INFOSOURCES) |
| 98 | $(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi | 100 | $(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi |
| 99 | 101 | ||
| 100 | 102 | ||
| 101 | $(infodir)/ccmode: cc-mode.texi | 103 | $(infodir)/ccmode: cc-mode.texi |
| 102 | $(MAKEINFO) cc-mode.texi | 104 | $(MAKEINFO) $(MAKEINFO_OPTS) cc-mode.texi |
| 103 | cc-mode.dvi: cc-mode.texi | 105 | cc-mode.dvi: cc-mode.texi |
| 104 | $(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi | 106 | $(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi |
| 105 | 107 | ||
| 106 | $(infodir)/ada-mode: ada-mode.texi | 108 | $(infodir)/ada-mode: ada-mode.texi |
| 107 | $(MAKEINFO) ada-mode.texi | 109 | $(MAKEINFO) $(MAKEINFO_OPTS) ada-mode.texi |
| 108 | ada-mode.dvi: ada-mode.texi | 110 | ada-mode.dvi: ada-mode.texi |
| 109 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi | 111 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi |
| 110 | 112 | ||
| 111 | $(infodir)/pcl-cvs: pcl-cvs.texi | 113 | $(infodir)/pcl-cvs: pcl-cvs.texi |
| 112 | $(MAKEINFO) pcl-cvs.texi | 114 | $(MAKEINFO) $(MAKEINFO_OPTS) pcl-cvs.texi |
| 113 | pcl-cvs.dvi: pcl-cvs.texi | 115 | pcl-cvs.dvi: pcl-cvs.texi |
| 114 | $(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi | 116 | $(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi |
| 115 | 117 | ||
| 116 | $(infodir)/eshell: eshell.texi | 118 | $(infodir)/eshell: eshell.texi |
| 117 | $(MAKEINFO) eshell.texi | 119 | $(MAKEINFO) $(MAKEINFO_OPTS) eshell.texi |
| 118 | eshell.dvi: eshell.texi | 120 | eshell.dvi: eshell.texi |
| 119 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi | 121 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi |
| 120 | 122 | ||
| 121 | $(infodir)/cl: cl.texi | 123 | $(infodir)/cl: cl.texi |
| 122 | $(MAKEINFO) cl.texi | 124 | $(MAKEINFO) $(MAKEINFO_OPTS) cl.texi |
| 123 | cl.dvi: cl.texi | 125 | cl.dvi: cl.texi |
| 124 | $(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi | 126 | $(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi |
| 125 | 127 | ||
| 126 | $(infodir)/dbus: dbus.texi | 128 | $(infodir)/dbus: dbus.texi |
| 127 | $(MAKEINFO) dbus.texi | 129 | $(MAKEINFO) $(MAKEINFO_OPTS) dbus.texi |
| 128 | dbus.dvi: dbus.texi | 130 | dbus.dvi: dbus.texi |
| 129 | $(ENVADD) $(TEXI2DVI) $(srcdir)/dbus.texi | 131 | $(ENVADD) $(TEXI2DVI) $(srcdir)/dbus.texi |
| 130 | 132 | ||
| 131 | $(infodir)/dired-x: dired-x.texi | 133 | $(infodir)/dired-x: dired-x.texi |
| 132 | $(MAKEINFO) dired-x.texi | 134 | $(MAKEINFO) $(MAKEINFO_OPTS) dired-x.texi |
| 133 | dired-x.dvi: dired-x.texi | 135 | dired-x.dvi: dired-x.texi |
| 134 | $(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi | 136 | $(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi |
| 135 | 137 | ||
| 136 | $(infodir)/ediff: ediff.texi | 138 | $(infodir)/ediff: ediff.texi |
| 137 | $(MAKEINFO) ediff.texi | 139 | $(MAKEINFO) $(MAKEINFO_OPTS) ediff.texi |
| 138 | ediff.dvi: ediff.texi | 140 | ediff.dvi: ediff.texi |
| 139 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi | 141 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi |
| 140 | 142 | ||
| 141 | $(infodir)/flymake: flymake.texi | 143 | $(infodir)/flymake: flymake.texi |
| 142 | $(MAKEINFO) flymake.texi | 144 | $(MAKEINFO) $(MAKEINFO_OPTS) flymake.texi |
| 143 | flymake.dvi: flymake.texi | 145 | flymake.dvi: flymake.texi |
| 144 | $(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi | 146 | $(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi |
| 145 | 147 | ||
| 146 | $(infodir)/forms: forms.texi | 148 | $(infodir)/forms: forms.texi |
| 147 | $(MAKEINFO) forms.texi | 149 | $(MAKEINFO) $(MAKEINFO_OPTS) forms.texi |
| 148 | forms.dvi: forms.texi | 150 | forms.dvi: forms.texi |
| 149 | $(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi | 151 | $(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi |
| 150 | 152 | ||
| 151 | # gnus/message/emacs-mime/sieve/pgg are part of Gnus: | 153 | # gnus/message/emacs-mime/sieve/pgg are part of Gnus: |
| 152 | $(infodir)/gnus: gnus.texi | 154 | $(infodir)/gnus: gnus.texi |
| 153 | $(MAKEINFO) gnus.texi | 155 | $(MAKEINFO) $(MAKEINFO_OPTS) gnus.texi |
| 154 | gnus.dvi: gnus.texi | 156 | gnus.dvi: gnus.texi |
| 155 | sed -e "/@iflatex/,/@end iflatex/d" $(srcdir)/gnus.texi > gnustmp.texi | 157 | sed -e "/@iflatex/,/@end iflatex/d" $(srcdir)/gnus.texi > gnustmp.texi |
| 156 | $(ENVADD) $(TEXI2DVI) gnustmp.texi | 158 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
| @@ -158,77 +160,77 @@ gnus.dvi: gnus.texi | |||
| 158 | rm gnustmp.* | 160 | rm gnustmp.* |
| 159 | # | 161 | # |
| 160 | $(infodir)/message: message.texi | 162 | $(infodir)/message: message.texi |
| 161 | $(MAKEINFO) message.texi | 163 | $(MAKEINFO) $(MAKEINFO_OPTS) message.texi |
| 162 | message.dvi: message.texi | 164 | message.dvi: message.texi |
| 163 | $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi | 165 | $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi |
| 164 | # | 166 | # |
| 165 | $(infodir)/emacs-mime: emacs-mime.texi | 167 | $(infodir)/emacs-mime: emacs-mime.texi |
| 166 | $(MAKEINFO) --enable-encoding emacs-mime.texi | 168 | $(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding emacs-mime.texi |
| 167 | emacs-mime.dvi: emacs-mime.texi | 169 | emacs-mime.dvi: emacs-mime.texi |
| 168 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi | 170 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi |
| 169 | # | 171 | # |
| 170 | $(infodir)/sieve: sieve.texi | 172 | $(infodir)/sieve: sieve.texi |
| 171 | $(MAKEINFO) sieve.texi | 173 | $(MAKEINFO) $(MAKEINFO_OPTS) sieve.texi |
| 172 | sieve.dvi: sieve.texi | 174 | sieve.dvi: sieve.texi |
| 173 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi | 175 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi |
| 174 | # | 176 | # |
| 175 | $(infodir)/pgg: pgg.texi | 177 | $(infodir)/pgg: pgg.texi |
| 176 | $(MAKEINFO) pgg.texi | 178 | $(MAKEINFO) $(MAKEINFO_OPTS) pgg.texi |
| 177 | pgg.dvi: pgg.texi | 179 | pgg.dvi: pgg.texi |
| 178 | $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi | 180 | $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi |
| 179 | 181 | ||
| 180 | $(infodir)/mh-e: mh-e.texi | 182 | $(infodir)/mh-e: mh-e.texi |
| 181 | $(MAKEINFO) mh-e.texi | 183 | $(MAKEINFO) $(MAKEINFO_OPTS) mh-e.texi |
| 182 | mh-e.dvi: mh-e.texi | 184 | mh-e.dvi: mh-e.texi |
| 183 | $(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi | 185 | $(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi |
| 184 | 186 | ||
| 185 | $(infodir)/reftex: reftex.texi | 187 | $(infodir)/reftex: reftex.texi |
| 186 | $(MAKEINFO) reftex.texi | 188 | $(MAKEINFO) $(MAKEINFO_OPTS) reftex.texi |
| 187 | reftex.dvi: reftex.texi | 189 | reftex.dvi: reftex.texi |
| 188 | $(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi | 190 | $(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi |
| 189 | 191 | ||
| 190 | $(infodir)/remember: remember.texi | 192 | $(infodir)/remember: remember.texi |
| 191 | $(MAKEINFO) remember.texi | 193 | $(MAKEINFO) $(MAKEINFO_OPTS) remember.texi |
| 192 | remember.dvi: remember.texi | 194 | remember.dvi: remember.texi |
| 193 | $(ENVADD) $(TEXI2DVI) $(srcdir)/remember.texi | 195 | $(ENVADD) $(TEXI2DVI) $(srcdir)/remember.texi |
| 194 | 196 | ||
| 195 | $(infodir)/sasl: sasl.texi | 197 | $(infodir)/sasl: sasl.texi |
| 196 | $(MAKEINFO) sasl.texi | 198 | $(MAKEINFO) $(MAKEINFO_OPTS) sasl.texi |
| 197 | sasl.dvi: sasl.texi | 199 | sasl.dvi: sasl.texi |
| 198 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sasl.texi | 200 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sasl.texi |
| 199 | 201 | ||
| 200 | $(infodir)/sc: sc.texi | 202 | $(infodir)/sc: sc.texi |
| 201 | $(MAKEINFO) sc.texi | 203 | $(MAKEINFO) $(MAKEINFO_OPTS) sc.texi |
| 202 | sc.dvi: sc.texi | 204 | sc.dvi: sc.texi |
| 203 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi | 205 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi |
| 204 | 206 | ||
| 205 | $(infodir)/vip: vip.texi | 207 | $(infodir)/vip: vip.texi |
| 206 | $(MAKEINFO) vip.texi | 208 | $(MAKEINFO) $(MAKEINFO_OPTS) vip.texi |
| 207 | vip.dvi: vip.texi | 209 | vip.dvi: vip.texi |
| 208 | $(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi | 210 | $(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi |
| 209 | 211 | ||
| 210 | $(infodir)/viper: viper.texi | 212 | $(infodir)/viper: viper.texi |
| 211 | $(MAKEINFO) viper.texi | 213 | $(MAKEINFO) $(MAKEINFO_OPTS) viper.texi |
| 212 | viper.dvi: viper.texi | 214 | viper.dvi: viper.texi |
| 213 | $(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi | 215 | $(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi |
| 214 | 216 | ||
| 215 | $(infodir)/widget: widget.texi | 217 | $(infodir)/widget: widget.texi |
| 216 | $(MAKEINFO) widget.texi | 218 | $(MAKEINFO) $(MAKEINFO_OPTS) widget.texi |
| 217 | widget.dvi: widget.texi | 219 | widget.dvi: widget.texi |
| 218 | $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi | 220 | $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi |
| 219 | 221 | ||
| 220 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi | 222 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi |
| 221 | $(MAKEINFO) faq.texi | 223 | $(MAKEINFO) $(MAKEINFO_OPTS) faq.texi |
| 222 | faq.dvi: faq.texi $(emacsdir)/emacsver.texi | 224 | faq.dvi: faq.texi $(emacsdir)/emacsver.texi |
| 223 | $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi | 225 | $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi |
| 224 | 226 | ||
| 225 | $(infodir)/autotype: autotype.texi | 227 | $(infodir)/autotype: autotype.texi |
| 226 | $(MAKEINFO) autotype.texi | 228 | $(MAKEINFO) $(MAKEINFO_OPTS) autotype.texi |
| 227 | autotype.dvi: autotype.texi | 229 | autotype.dvi: autotype.texi |
| 228 | $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi | 230 | $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi |
| 229 | 231 | ||
| 230 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi | 232 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi |
| 231 | $(MAKEINFO) calc.texi | 233 | $(MAKEINFO) $(MAKEINFO_OPTS) calc.texi |
| 232 | 234 | ||
| 233 | calc.dvi: calc.texi $(emacsdir)/emacsver.texi | 235 | calc.dvi: calc.texi $(emacsdir)/emacsver.texi |
| 234 | $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi | 236 | $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi |
| @@ -236,107 +238,112 @@ calc.dvi: calc.texi $(emacsdir)/emacsver.texi | |||
| 236 | # This is produced with --no-split to avoid making files whose | 238 | # This is produced with --no-split to avoid making files whose |
| 237 | # names clash on DOS 8+3 filesystems | 239 | # names clash on DOS 8+3 filesystems |
| 238 | $(infodir)/idlwave: idlwave.texi | 240 | $(infodir)/idlwave: idlwave.texi |
| 239 | $(MAKEINFO) --no-split idlwave.texi | 241 | $(MAKEINFO) $(MAKEINFO_OPTS) --no-split idlwave.texi |
| 240 | idlwave.dvi: idlwave.texi | 242 | idlwave.dvi: idlwave.texi |
| 241 | $(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi | 243 | $(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi |
| 242 | 244 | ||
| 243 | $(infodir)/eudc: eudc.texi | 245 | $(infodir)/eudc: eudc.texi |
| 244 | $(MAKEINFO) eudc.texi | 246 | $(MAKEINFO) $(MAKEINFO_OPTS) eudc.texi |
| 245 | eudc.dvi: eudc.texi | 247 | eudc.dvi: eudc.texi |
| 246 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi | 248 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi |
| 247 | 249 | ||
| 248 | $(infodir)/ebrowse: ebrowse.texi | 250 | $(infodir)/ebrowse: ebrowse.texi |
| 249 | $(MAKEINFO) ebrowse.texi | 251 | $(MAKEINFO) $(MAKEINFO_OPTS) ebrowse.texi |
| 250 | ebrowse.dvi: ebrowse.texi | 252 | ebrowse.dvi: ebrowse.texi |
| 251 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi | 253 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi |
| 252 | 254 | ||
| 253 | $(infodir)/woman: woman.texi | 255 | $(infodir)/woman: woman.texi |
| 254 | $(MAKEINFO) woman.texi | 256 | $(MAKEINFO) $(MAKEINFO_OPTS) woman.texi |
| 255 | woman.dvi: woman.texi | 257 | woman.dvi: woman.texi |
| 256 | $(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi | 258 | $(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi |
| 257 | 259 | ||
| 258 | $(infodir)/speedbar: speedbar.texi | 260 | $(infodir)/speedbar: speedbar.texi |
| 259 | $(MAKEINFO) speedbar.texi | 261 | $(MAKEINFO) $(MAKEINFO_OPTS) speedbar.texi |
| 260 | speedbar.dvi: speedbar.texi | 262 | speedbar.dvi: speedbar.texi |
| 261 | $(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi | 263 | $(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi |
| 262 | 264 | ||
| 263 | $(infodir)/tramp: tramp.texi | 265 | $(infodir)/tramp: tramp.texi |
| 264 | $(MAKEINFO) tramp.texi | 266 | $(MAKEINFO) $(MAKEINFO_OPTS) tramp.texi |
| 265 | tramp.dvi: tramp.texi | 267 | tramp.dvi: tramp.texi |
| 266 | $(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi | 268 | $(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi |
| 267 | 269 | ||
| 268 | $(infodir)/ses: ses.texi | 270 | $(infodir)/ses: ses.texi |
| 269 | $(MAKEINFO) ses.texi | 271 | $(MAKEINFO) $(MAKEINFO_OPTS) ses.texi |
| 270 | ses.dvi: ses.texi | 272 | ses.dvi: ses.texi |
| 271 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi | 273 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi |
| 272 | 274 | ||
| 273 | $(infodir)/smtpmail: smtpmail.texi | 275 | $(infodir)/smtpmail: smtpmail.texi |
| 274 | $(MAKEINFO) smtpmail.texi | 276 | $(MAKEINFO) $(MAKEINFO_OPTS) smtpmail.texi |
| 275 | smtpmail.dvi: smtpmail.texi | 277 | smtpmail.dvi: smtpmail.texi |
| 276 | $(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi | 278 | $(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi |
| 277 | 279 | ||
| 278 | $(infodir)/org: org.texi | 280 | $(infodir)/org: org.texi |
| 279 | $(MAKEINFO) org.texi | 281 | $(MAKEINFO) $(MAKEINFO_OPTS) org.texi |
| 280 | org.dvi: org.texi | 282 | org.dvi: org.texi |
| 281 | $(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi | 283 | $(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi |
| 282 | 284 | ||
| 283 | $(infodir)/url: url.texi | 285 | $(infodir)/url: url.texi |
| 284 | $(MAKEINFO) url.texi | 286 | $(MAKEINFO) $(MAKEINFO_OPTS) url.texi |
| 285 | url.dvi: url.texi | 287 | url.dvi: url.texi |
| 286 | $(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi | 288 | $(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi |
| 287 | 289 | ||
| 288 | $(infodir)/newsticker: newsticker.texi | 290 | $(infodir)/newsticker: newsticker.texi |
| 289 | $(MAKEINFO) newsticker.texi | 291 | $(MAKEINFO) $(MAKEINFO_OPTS) newsticker.texi |
| 290 | newsticker.dvi: newsticker.texi | 292 | newsticker.dvi: newsticker.texi |
| 291 | $(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi | 293 | $(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi |
| 292 | 294 | ||
| 293 | $(infodir)/nxml-mode: nxml-mode.texi | 295 | $(infodir)/nxml-mode: nxml-mode.texi |
| 294 | $(MAKEINFO) nxml-mode.texi | 296 | $(MAKEINFO) $(MAKEINFO_OPTS) nxml-mode.texi |
| 295 | nxml-mod.dvi: nxml-mode.texi | 297 | nxml-mod.dvi: nxml-mode.texi |
| 296 | $(ENVADD) $(TEXI2DVI) $(srcdir)/nxml-mode.texi | 298 | $(ENVADD) $(TEXI2DVI) $(srcdir)/nxml-mode.texi |
| 297 | 299 | ||
| 298 | $(infodir)/rcirc: rcirc.texi | 300 | $(infodir)/rcirc: rcirc.texi |
| 299 | $(MAKEINFO) rcirc.texi | 301 | $(MAKEINFO) $(MAKEINFO_OPTS) rcirc.texi |
| 300 | rcirc.dvi: rcirc.texi | 302 | rcirc.dvi: rcirc.texi |
| 301 | $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi | 303 | $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi |
| 302 | 304 | ||
| 303 | $(infodir)/erc: erc.texi | 305 | $(infodir)/erc: erc.texi |
| 304 | $(MAKEINFO) erc.texi | 306 | $(MAKEINFO) $(MAKEINFO_OPTS) erc.texi |
| 305 | erc.dvi: erc.texi | 307 | erc.dvi: erc.texi |
| 306 | $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi | 308 | $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi |
| 307 | 309 | ||
| 310 | $(infodir)/ert: ert.texi | ||
| 311 | $(MAKEINFO) $(MAKEINFO_OPTS) ert.texi | ||
| 312 | ert.dvi: ert.texi | ||
| 313 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ert.texi | ||
| 314 | |||
| 308 | $(infodir)/epa: epa.texi | 315 | $(infodir)/epa: epa.texi |
| 309 | $(MAKEINFO) epa.texi | 316 | $(MAKEINFO) $(MAKEINFO_OPTS) epa.texi |
| 310 | epa.dvi: epa.texi | 317 | epa.dvi: epa.texi |
| 311 | $(ENVADD) $(TEXI2DVI) $(srcdir)/epa.texi | 318 | $(ENVADD) $(TEXI2DVI) $(srcdir)/epa.texi |
| 312 | 319 | ||
| 313 | $(infodir)/mairix-el: mairix-el.texi | 320 | $(infodir)/mairix-el: mairix-el.texi |
| 314 | $(MAKEINFO) mairix-el.texi | 321 | $(MAKEINFO) $(MAKEINFO_OPTS) mairix-el.texi |
| 315 | mairix-el.dvi: mairix-el.texi | 322 | mairix-el.dvi: mairix-el.texi |
| 316 | $(ENVADD) $(TEXI2DVI) $(srcdir)/mairix-el.texi | 323 | $(ENVADD) $(TEXI2DVI) $(srcdir)/mairix-el.texi |
| 317 | 324 | ||
| 318 | $(infodir)/auth: auth.texi | 325 | $(infodir)/auth: auth.texi |
| 319 | $(MAKEINFO) auth.texi | 326 | $(MAKEINFO) $(MAKEINFO_OPTS) auth.texi |
| 320 | auth.dvi: auth.texi | 327 | auth.dvi: auth.texi |
| 321 | $(ENVADD) $(TEXI2DVI) $(srcdir)/auth.texi | 328 | $(ENVADD) $(TEXI2DVI) $(srcdir)/auth.texi |
| 322 | 329 | ||
| 323 | $(infodir)/eieio: eieio.texi | 330 | $(infodir)/eieio: eieio.texi |
| 324 | $(MAKEINFO) eieio.texi | 331 | $(MAKEINFO) $(MAKEINFO_OPTS) eieio.texi |
| 325 | eieio.dvi: eieio.texi | 332 | eieio.dvi: eieio.texi |
| 326 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eieio.texi | 333 | $(ENVADD) $(TEXI2DVI) $(srcdir)/eieio.texi |
| 327 | 334 | ||
| 328 | $(infodir)/ede: ede.texi | 335 | $(infodir)/ede: ede.texi |
| 329 | $(MAKEINFO) ede.texi | 336 | $(MAKEINFO) $(MAKEINFO_OPTS) ede.texi |
| 330 | ede.dvi: ede.texi | 337 | ede.dvi: ede.texi |
| 331 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ede.texi | 338 | $(ENVADD) $(TEXI2DVI) $(srcdir)/ede.texi |
| 332 | 339 | ||
| 333 | $(infodir)/semantic: semantic.texi | 340 | $(infodir)/semantic: semantic.texi |
| 334 | $(MAKEINFO) semantic.texi | 341 | $(MAKEINFO) $(MAKEINFO_OPTS) semantic.texi |
| 335 | semantic.dvi: semantic.texi | 342 | semantic.dvi: semantic.texi |
| 336 | $(ENVADD) $(TEXI2DVI) $(srcdir)/semantic.texi | 343 | $(ENVADD) $(TEXI2DVI) $(srcdir)/semantic.texi |
| 337 | 344 | ||
| 338 | $(infodir)/edt: edt.texi | 345 | $(infodir)/edt: edt.texi |
| 339 | $(MAKEINFO) edt.texi | 346 | $(MAKEINFO) $(MAKEINFO_OPTS) edt.texi |
| 340 | edt.dvi: edt.texi | 347 | edt.dvi: edt.texi |
| 341 | $(ENVADD) $(TEXI2DVI) $(srcdir)/edt.texi | 348 | $(ENVADD) $(TEXI2DVI) $(srcdir)/edt.texi |
| 342 | 349 | ||
| @@ -362,7 +369,7 @@ clean: mostlyclean | |||
| 362 | $(infodir)/url* $(infodir)/org* \ | 369 | $(infodir)/url* $(infodir)/org* \ |
| 363 | $(infodir)/flymake* $(infodir)/newsticker* \ | 370 | $(infodir)/flymake* $(infodir)/newsticker* \ |
| 364 | $(infodir)/sieve* $(infodir)/pgg* \ | 371 | $(infodir)/sieve* $(infodir)/pgg* \ |
| 365 | $(infodir)/erc* $(infodir)/rcirc* \ | 372 | $(infodir)/erc* $(infodir)/ert* $(infodir)/rcirc* \ |
| 366 | $(infodir)/remember* $(infodir)/nxml-mode* \ | 373 | $(infodir)/remember* $(infodir)/nxml-mode* \ |
| 367 | $(infodir)/epa* $(infodir)/sasl* \ | 374 | $(infodir)/epa* $(infodir)/sasl* \ |
| 368 | $(infodir)/mairix-el* $(infodir)/auth* \ | 375 | $(infodir)/mairix-el* $(infodir)/auth* \ |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 1fec34f147b..34bd14f2a82 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -8,8 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This file documents Message, the Emacs message composition mode. | 9 | This file documents Message, the Emacs message composition mode. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, | 11 | Copyright @copyright{} 1996-2011 Free Software Foundation, Inc. |
| 12 | 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 13 | 12 | ||
| 14 | @quotation | 13 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
| @@ -886,6 +885,10 @@ Manual}). | |||
| 886 | @cindex internationalized domain names | 885 | @cindex internationalized domain names |
| 887 | @cindex non-ascii domain names | 886 | @cindex non-ascii domain names |
| 888 | 887 | ||
| 888 | @acronym{IDNA} is a standard way to encode non-@acronym{ASCII} domain | ||
| 889 | names into a readable @acronym{ASCII} string. The details can be | ||
| 890 | found in RFC 3490. | ||
| 891 | |||
| 889 | Message is a @acronym{IDNA}-compliant posting agent. The user | 892 | Message is a @acronym{IDNA}-compliant posting agent. The user |
| 890 | generally doesn't have to do anything to make the @acronym{IDNA} | 893 | generally doesn't have to do anything to make the @acronym{IDNA} |
| 891 | happen---Message will encode non-@acronym{ASCII} domain names in @code{From}, | 894 | happen---Message will encode non-@acronym{ASCII} domain names in @code{From}, |
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index a06a7231112..546f9e629fe 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi | |||
| @@ -24,8 +24,7 @@ | |||
| 24 | This is version @value{VERSION}@value{EDITION} of @cite{The MH-E | 24 | This is version @value{VERSION}@value{EDITION} of @cite{The MH-E |
| 25 | Manual}, last updated @value{UPDATED}. | 25 | Manual}, last updated @value{UPDATED}. |
| 26 | 26 | ||
| 27 | Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, | 27 | Copyright @copyright{} 1995, 2001-2003, 2005-2011 Free Software Foundation, Inc. |
| 28 | 2009, 2010 Free Software Foundation, Inc. | ||
| 29 | 28 | ||
| 30 | @c This dual license has been agreed upon by the FSF. | 29 | @c This dual license has been agreed upon by the FSF. |
| 31 | 30 | ||
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index 5c975772139..fadcf1ea17b 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | This manual is for Newsticker (version @value{VERSION}, @value{UPDATED}). | 13 | This manual is for Newsticker (version @value{VERSION}, @value{UPDATED}). |
| 14 | 14 | ||
| 15 | @noindent | 15 | @noindent |
| 16 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 16 | Copyright @copyright{} 2004-2011 |
| 17 | Free Software Foundation, Inc. | 17 | Free Software Foundation, Inc. |
| 18 | 18 | ||
| 19 | @quotation | 19 | @quotation |
| @@ -315,7 +315,3 @@ Byte-compiling newsticker.el is recommended. | |||
| 315 | @bye | 315 | @bye |
| 316 | 316 | ||
| 317 | 317 | ||
| 318 | |||
| 319 | @ignore | ||
| 320 | arch-tag: 7a4de539-117c-4658-b799-0b9e3d0ccec0 | ||
| 321 | @end ignore | ||
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index d076f0dd820..b2003a139d0 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | This manual documents nxml-mode, an Emacs major mode for editing | 8 | This manual documents nxml-mode, an Emacs major mode for editing |
| 9 | XML with RELAX NG support. | 9 | XML with RELAX NG support. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2007, 2008, 2009, 2010 | 11 | Copyright @copyright{} 2007-2011 |
| 12 | Free Software Foundation, Inc. | 12 | Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| @@ -70,8 +70,8 @@ Once in nXML mode, you can type @kbd{C-h m} for basic information on the | |||
| 70 | mode. | 70 | mode. |
| 71 | 71 | ||
| 72 | The @file{etc/nxml} directory in the Emacs distribution contains some data | 72 | The @file{etc/nxml} directory in the Emacs distribution contains some data |
| 73 | files used by nXML mode, and includes two files (@file{test.valid.xml} and | 73 | files used by nXML mode, and includes two files (@file{test-valid.xml} and |
| 74 | @file{test.invalid.xml}) that provide examples of valid and invalid XML | 74 | @file{test-invalid.xml}) that provide examples of valid and invalid XML |
| 75 | documents. | 75 | documents. |
| 76 | 76 | ||
| 77 | To get validation and schema-sensitive editing, you need a RELAX NG Compact | 77 | To get validation and schema-sensitive editing, you need a RELAX NG Compact |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 5a676786fdd..7618bad1f73 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -265,8 +265,7 @@ | |||
| 265 | @copying | 265 | @copying |
| 266 | This manual is for Org version @value{VERSION}. | 266 | This manual is for Org version @value{VERSION}. |
| 267 | 267 | ||
| 268 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 268 | Copyright @copyright{} 2004-2011 Free Software Foundation, Inc. |
| 269 | Free Software Foundation, Inc. | ||
| 270 | 269 | ||
| 271 | @quotation | 270 | @quotation |
| 272 | Permission is granted to copy, distribute and/or modify this document | 271 | Permission is granted to copy, distribute and/or modify this document |
| @@ -14759,10 +14758,6 @@ org-customize @key{RET}} and then click yourself through the tree. | |||
| 14759 | 14758 | ||
| 14760 | @bye | 14759 | @bye |
| 14761 | 14760 | ||
| 14762 | @ignore | ||
| 14763 | arch-tag: 7893d1Fe-cc57-4d13-b5e5-f494a1CBC7ac | ||
| 14764 | @end ignore | ||
| 14765 | |||
| 14766 | @c Local variables: | 14761 | @c Local variables: |
| 14767 | @c fill-column: 77 | 14762 | @c fill-column: 77 |
| 14768 | @c indent-tabs-mode: nil | 14763 | @c indent-tabs-mode: nil |
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index e4adf47ddb2..7301bf3747a 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi | |||
| @@ -6,8 +6,7 @@ | |||
| 6 | @c %**end of header | 6 | @c %**end of header |
| 7 | 7 | ||
| 8 | @copying | 8 | @copying |
| 9 | Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, | 9 | Copyright @copyright{} 1991-2011 |
| 10 | 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 11 | Free Software Foundation, Inc. | 10 | Free Software Foundation, Inc. |
| 12 | 11 | ||
| 13 | @quotation | 12 | @quotation |
| @@ -1432,7 +1431,3 @@ this manual. | |||
| 1432 | @printindex ky | 1431 | @printindex ky |
| 1433 | 1432 | ||
| 1434 | @bye | 1433 | @bye |
| 1435 | |||
| 1436 | @ignore | ||
| 1437 | arch-tag: 5c7178ce-56fa-40b0-abd7-f4a09758b235 | ||
| 1438 | @end ignore | ||
diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index eefada00d9a..9bdb1eaa216 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi | |||
| @@ -8,8 +8,7 @@ | |||
| 8 | This file describes PGG @value{VERSION}, an Emacs interface to various | 8 | This file describes PGG @value{VERSION}, an Emacs interface to various |
| 9 | PGP implementations. | 9 | PGP implementations. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | 11 | Copyright @copyright{} 2001, 2003-2011 Free Software Foundation, Inc. |
| 12 | 2010 Free Software Foundation, Inc. | ||
| 13 | 12 | ||
| 14 | @quotation | 13 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index c27cf4dc182..6402c91c57a 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | @c %**end of header | 5 | @c %**end of header |
| 6 | 6 | ||
| 7 | @copying | 7 | @copying |
| 8 | Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 | 8 | Copyright @copyright{} 2006-2011 |
| 9 | Free Software Foundation, Inc. | 9 | Free Software Foundation, Inc. |
| 10 | 10 | ||
| 11 | @quotation | 11 | @quotation |
| @@ -948,7 +948,3 @@ The real answer, therefore, is a @code{/reconnect} command: | |||
| 948 | @printindex cp | 948 | @printindex cp |
| 949 | 949 | ||
| 950 | @bye | 950 | @bye |
| 951 | |||
| 952 | @ignore | ||
| 953 | arch-tag: 2589e562-3843-4ffc-8c2f-477cbad57c01 | ||
| 954 | @end ignore | ||
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 9d06ceccd9e..880cfb988a3 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi | |||
| @@ -27,8 +27,7 @@ citations and indices for LaTeX documents with Emacs. | |||
| 27 | This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for | 27 | This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for |
| 28 | @b{Ref@TeX{}} @value{VERSION} | 28 | @b{Ref@TeX{}} @value{VERSION} |
| 29 | 29 | ||
| 30 | Copyright @copyright{} 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 30 | Copyright @copyright{} 1997-2011 Free Software Foundation, Inc. |
| 31 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 32 | 31 | ||
| 33 | @quotation | 32 | @quotation |
| 34 | Permission is granted to copy, distribute and/or modify this document | 33 | Permission is granted to copy, distribute and/or modify this document |
| @@ -5890,7 +5889,3 @@ released on 7 Jan 1997. | |||
| 5890 | @printindex cp | 5889 | @printindex cp |
| 5891 | 5890 | ||
| 5892 | @bye | 5891 | @bye |
| 5893 | |||
| 5894 | @ignore | ||
| 5895 | arch-tag: 1e055774-0576-4b1b-b47f-550d0961fd43 | ||
| 5896 | @end ignore | ||
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index f9b75e1be00..cdb45140093 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This manual is for Remember Mode, version 1.9 | 9 | This manual is for Remember Mode, version 1.9 |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2001, 2004, 2005, 2007, 2008, 2009, 2010 | 11 | Copyright @copyright{} 2001, 2004-2005, 2007-2011 |
| 12 | Free Software Foundation, Inc. | 12 | Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| @@ -403,7 +403,3 @@ consult @ref{Remember, , , org}. | |||
| 403 | @printindex cp | 403 | @printindex cp |
| 404 | 404 | ||
| 405 | @bye | 405 | @bye |
| 406 | |||
| 407 | @ignore | ||
| 408 | arch-tag: 5b980db0-20cc-4167-b845-52dc11d53b9f | ||
| 409 | @end ignore | ||
diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index 80ea9bc45be..99c4c98e439 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @copying | 7 | @copying |
| 8 | This file describes the Emacs SASL library, version @value{VERSION}. | 8 | This file describes the Emacs SASL library, version @value{VERSION}. |
| 9 | 9 | ||
| 10 | Copyright @copyright{} 2000, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 10 | Copyright @copyright{} 2000, 2004-2011 |
| 11 | Free Software Foundation, Inc. | 11 | Free Software Foundation, Inc. |
| 12 | 12 | ||
| 13 | @quotation | 13 | @quotation |
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 72a6bfc8989..621d78b962f 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi | |||
| @@ -14,8 +14,7 @@ | |||
| 14 | This document describes Supercite, an Emacs package for citing and | 14 | This document describes Supercite, an Emacs package for citing and |
| 15 | attributing replies to mail and news messages. | 15 | attributing replies to mail and news messages. |
| 16 | 16 | ||
| 17 | Copyright @copyright{} 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 17 | Copyright @copyright{} 1993, 2001-2011 Free Software Foundation, Inc. |
| 18 | 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 19 | 18 | ||
| 20 | @quotation | 19 | @quotation |
| 21 | Permission is granted to copy, distribute and/or modify this document | 20 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1941,7 +1940,3 @@ its @var{variable} name. | |||
| 1941 | @end iftex | 1940 | @end iftex |
| 1942 | @printindex vr | 1941 | @printindex vr |
| 1943 | @bye | 1942 | @bye |
| 1944 | |||
| 1945 | @ignore | ||
| 1946 | arch-tag: 0521847a-4680-44b6-ae6e-13ce20e18436 | ||
| 1947 | @end ignore | ||
diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index c731c1843dd..b17f1ab7e93 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | @c This file is included by semantic.texi | 1 | @c This file is included by semantic.texi |
| 2 | 2 | ||
| 3 | @c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, | 3 | @c Copyright (C) 1999-2005, 2007, 2009-2011 Free Software Foundation, Inc. |
| 4 | @c 2010 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | @c Permission is granted to copy, distribute and/or modify this | 5 | @c Permission is granted to copy, distribute and/or modify this |
| 7 | @c document under the terms of the GNU Free Documentation License, | 6 | @c document under the terms of the GNU Free Documentation License, |
| @@ -1330,7 +1329,3 @@ To add other kind of decorations on a tag, @code{NAME-highlight} must use | |||
| 1330 | @dfn{semantic-decorate-tag}, and other functions of the semantic | 1329 | @dfn{semantic-decorate-tag}, and other functions of the semantic |
| 1331 | decoration @var{api} found in this library. | 1330 | decoration @var{api} found in this library. |
| 1332 | @end defun | 1331 | @end defun |
| 1333 | |||
| 1334 | @ignore | ||
| 1335 | arch-tag: 760dca58-7119-484e-8237-866cbaf36f79 | ||
| 1336 | @end ignore | ||
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 65bd718dfff..89e83df5bc3 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi | |||
| @@ -24,8 +24,7 @@ | |||
| 24 | @copying | 24 | @copying |
| 25 | This manual documents the Semantic library and utilities. | 25 | This manual documents the Semantic library and utilities. |
| 26 | 26 | ||
| 27 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, | 27 | Copyright @copyright{} 1999-2005, 2007, 2009-2011 Free Software Foundation, Inc. |
| 28 | 2009, 2010 Free Software Foundation, Inc. | ||
| 29 | 28 | ||
| 30 | @quotation | 29 | @quotation |
| 31 | Permission is granted to copy, distribute and/or modify this document | 30 | Permission is granted to copy, distribute and/or modify this document |
| @@ -622,7 +621,3 @@ Emacs Lisp. It is an LALR parser suitable for complex languages. | |||
| 622 | @c LocalWords: subsubsection sw sym texi texinfo titlefont titlepage | 621 | @c LocalWords: subsubsection sw sym texi texinfo titlefont titlepage |
| 623 | @c LocalWords: tok TOKEN's toplevel typemodifiers uml unset untar | 622 | @c LocalWords: tok TOKEN's toplevel typemodifiers uml unset untar |
| 624 | @c LocalWords: uref usedb var vskip xref yak | 623 | @c LocalWords: uref usedb var vskip xref yak |
| 625 | |||
| 626 | @ignore | ||
| 627 | arch-tag: cbc6e78c-4ff1-410e-9fc7-936487e39bbf | ||
| 628 | @end ignore | ||
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 60d419083e2..45e5e9efc0e 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi | |||
| @@ -11,8 +11,7 @@ | |||
| 11 | @copying | 11 | @copying |
| 12 | This file documents SES: the Simple Emacs Spreadsheet. | 12 | This file documents SES: the Simple Emacs Spreadsheet. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | 14 | Copyright @copyright{} 2002-2011 Free Software Foundation, Inc. |
| 15 | 2010 Free Software Foundation, Inc. | ||
| 16 | 15 | ||
| 17 | @quotation | 16 | @quotation |
| 18 | Permission is granted to copy, distribute and/or modify this document | 17 | Permission is granted to copy, distribute and/or modify this document |
| @@ -982,7 +981,3 @@ Jean-Philippe Theberge @email{jphil@@acs.pagesjaunes.fr} | |||
| 982 | @include doclicense.texi | 981 | @include doclicense.texi |
| 983 | 982 | ||
| 984 | @bye | 983 | @bye |
| 985 | |||
| 986 | @ignore | ||
| 987 | arch-tag: 10a4ee1c-7ef4-4c06-8b7a-f975e39f0dec | ||
| 988 | @end ignore | ||
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index b8f09904858..5c069f619ff 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi | |||
| @@ -8,8 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This file documents the Emacs Sieve package, for server-side mail filtering. | 9 | This file documents the Emacs Sieve package, for server-side mail filtering. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 11 | Copyright @copyright{} 2001-2011 Free Software Foundation, Inc. |
| 12 | 2009, 2010 Free Software Foundation, Inc. | ||
| 13 | 12 | ||
| 14 | @quotation | 13 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index 05bae38e7a8..abd7d8974dc 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | @settitle Emacs SMTP Library | 3 | @settitle Emacs SMTP Library |
| 4 | @syncodeindex vr fn | 4 | @syncodeindex vr fn |
| 5 | @copying | 5 | @copying |
| 6 | Copyright @copyright{} 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 6 | Copyright @copyright{} 2003-2011 |
| 7 | Free Software Foundation, Inc. | 7 | Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | @quotation | 9 | @quotation |
| @@ -415,7 +415,3 @@ cannot accept mail. | |||
| 415 | @printindex fn | 415 | @printindex fn |
| 416 | 416 | ||
| 417 | @bye | 417 | @bye |
| 418 | |||
| 419 | @ignore | ||
| 420 | arch-tag: 6316abdf-b366-4562-87a2-f37e8f894b6f | ||
| 421 | @end ignore | ||
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index aaf9e938de7..980839cdec9 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | @syncodeindex fn cp | 4 | @syncodeindex fn cp |
| 5 | 5 | ||
| 6 | @copying | 6 | @copying |
| 7 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 7 | Copyright @copyright{} 1999-2011 Free Software Foundation, Inc. |
| 8 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 9 | 8 | ||
| 10 | @quotation | 9 | @quotation |
| 11 | Permission is granted to copy, distribute and/or modify this document | 10 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1253,7 +1252,3 @@ Two good values are @code{nil} and @code{statictag}. | |||
| 1253 | @bye | 1252 | @bye |
| 1254 | @c LocalWords: speedbar's xref slowbar kbd subsubsection | 1253 | @c LocalWords: speedbar's xref slowbar kbd subsubsection |
| 1255 | @c LocalWords: keybindings | 1254 | @c LocalWords: keybindings |
| 1256 | |||
| 1257 | @ignore | ||
| 1258 | arch-tag: e1fc85f0-1eeb-489f-a8d4-a2bfe711fa02 | ||
| 1259 | @end ignore | ||
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 91408263bc9..057b321fd71 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex | |||
| @@ -3,11 +3,11 @@ | |||
| 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{2009-08-14.15} | 6 | \def\texinfoversion{2011-01-15.17} |
| 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, |
| 10 | % 2007, 2008, 2009 Free Software Foundation, Inc. | 10 | % 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
| 11 | % | 11 | % |
| 12 | % This texinfo.tex file is free software: you can redistribute it and/or | 12 | % This texinfo.tex file is free software: you can redistribute it and/or |
| 13 | % modify it under the terms of the GNU General Public License as | 13 | % modify it under the terms of the GNU General Public License as |
| @@ -65,7 +65,6 @@ | |||
| 65 | \everyjob{\message{[Texinfo version \texinfoversion]}% | 65 | \everyjob{\message{[Texinfo version \texinfoversion]}% |
| 66 | \catcode`+=\active \catcode`\_=\active} | 66 | \catcode`+=\active \catcode`\_=\active} |
| 67 | 67 | ||
| 68 | |||
| 69 | \chardef\other=12 | 68 | \chardef\other=12 |
| 70 | 69 | ||
| 71 | % We never want plain's \outer definition of \+ in Texinfo. | 70 | % We never want plain's \outer definition of \+ in Texinfo. |
| @@ -93,14 +92,13 @@ | |||
| 93 | \let\ptexnewwrite\newwrite | 92 | \let\ptexnewwrite\newwrite |
| 94 | \let\ptexnoindent=\noindent | 93 | \let\ptexnoindent=\noindent |
| 95 | \let\ptexplus=+ | 94 | \let\ptexplus=+ |
| 95 | \let\ptexraggedright=\raggedright | ||
| 96 | \let\ptexrbrace=\} | 96 | \let\ptexrbrace=\} |
| 97 | \let\ptexslash=\/ | 97 | \let\ptexslash=\/ |
| 98 | \let\ptexstar=\* | 98 | \let\ptexstar=\* |
| 99 | \let\ptext=\t | 99 | \let\ptext=\t |
| 100 | \let\ptextop=\top | 100 | \let\ptextop=\top |
| 101 | {\catcode`\'=\active | 101 | {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode |
| 102 | \global\let\ptexquoteright'}% Math-mode def from plain.tex. | ||
| 103 | \let\ptexraggedright=\raggedright | ||
| 104 | 102 | ||
| 105 | % If this character appears in an error message or help string, it | 103 | % If this character appears in an error message or help string, it |
| 106 | % starts a new line in the output. | 104 | % starts a new line in the output. |
| @@ -199,36 +197,7 @@ | |||
| 199 | % that mark overfull boxes (in case you have decided | 197 | % that mark overfull boxes (in case you have decided |
| 200 | % that the text looks ok even though it passes the margin). | 198 | % that the text looks ok even though it passes the margin). |
| 201 | % | 199 | % |
| 202 | \def\finalout{\overfullrule=0pt} | 200 | \def\finalout{\overfullrule=0pt } |
| 203 | |||
| 204 | % @| inserts a changebar to the left of the current line. It should | ||
| 205 | % surround any changed text. This approach does *not* work if the | ||
| 206 | % change spans more than two lines of output. To handle that, we would | ||
| 207 | % have adopt a much more difficult approach (putting marks into the main | ||
| 208 | % vertical list for the beginning and end of each change). | ||
| 209 | % | ||
| 210 | \def\|{% | ||
| 211 | % \vadjust can only be used in horizontal mode. | ||
| 212 | \leavevmode | ||
| 213 | % | ||
| 214 | % Append this vertical mode material after the current line in the output. | ||
| 215 | \vadjust{% | ||
| 216 | % We want to insert a rule with the height and depth of the current | ||
| 217 | % leading; that is exactly what \strutbox is supposed to record. | ||
| 218 | \vskip-\baselineskip | ||
| 219 | % | ||
| 220 | % \vadjust-items are inserted at the left edge of the type. So | ||
| 221 | % the \llap here moves out into the left-hand margin. | ||
| 222 | \llap{% | ||
| 223 | % | ||
| 224 | % For a thicker or thinner bar, change the `1pt'. | ||
| 225 | \vrule height\baselineskip width1pt | ||
| 226 | % | ||
| 227 | % This is the space between the bar and the text. | ||
| 228 | \hskip 12pt | ||
| 229 | }% | ||
| 230 | }% | ||
| 231 | } | ||
| 232 | 201 | ||
| 233 | % Sometimes it is convenient to have everything in the transcript file | 202 | % Sometimes it is convenient to have everything in the transcript file |
| 234 | % and nothing on the terminal. We don't just call \tracingall here, | 203 | % and nothing on the terminal. We don't just call \tracingall here, |
| @@ -267,7 +236,6 @@ | |||
| 267 | \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount | 236 | \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount |
| 268 | \removelastskip\penalty-200\bigskip\fi\fi} | 237 | \removelastskip\penalty-200\bigskip\fi\fi} |
| 269 | 238 | ||
| 270 | % For @cropmarks command. | ||
| 271 | % Do @cropmarks to get crop marks. | 239 | % Do @cropmarks to get crop marks. |
| 272 | % | 240 | % |
| 273 | \newif\ifcropmarks | 241 | \newif\ifcropmarks |
| @@ -599,85 +567,6 @@ | |||
| 599 | \newhelp\EMsimple{Press RETURN to continue.} | 567 | \newhelp\EMsimple{Press RETURN to continue.} |
| 600 | 568 | ||
| 601 | 569 | ||
| 602 | %% Simple single-character @ commands | ||
| 603 | |||
| 604 | % @@ prints an @ | ||
| 605 | % Kludge this until the fonts are right (grr). | ||
| 606 | \def\@{{\tt\char64}} | ||
| 607 | |||
| 608 | % This is turned off because it was never documented | ||
| 609 | % and you can use @w{...} around a quote to suppress ligatures. | ||
| 610 | %% Define @` and @' to be the same as ` and ' | ||
| 611 | %% but suppressing ligatures. | ||
| 612 | %\def\`{{`}} | ||
| 613 | %\def\'{{'}} | ||
| 614 | |||
| 615 | % Used to generate quoted braces. | ||
| 616 | \def\mylbrace {{\tt\char123}} | ||
| 617 | \def\myrbrace {{\tt\char125}} | ||
| 618 | \let\{=\mylbrace | ||
| 619 | \let\}=\myrbrace | ||
| 620 | \begingroup | ||
| 621 | % Definitions to produce \{ and \} commands for indices, | ||
| 622 | % and @{ and @} for the aux/toc files. | ||
| 623 | \catcode`\{ = \other \catcode`\} = \other | ||
| 624 | \catcode`\[ = 1 \catcode`\] = 2 | ||
| 625 | \catcode`\! = 0 \catcode`\\ = \other | ||
| 626 | !gdef!lbracecmd[\{]% | ||
| 627 | !gdef!rbracecmd[\}]% | ||
| 628 | !gdef!lbraceatcmd[@{]% | ||
| 629 | !gdef!rbraceatcmd[@}]% | ||
| 630 | !endgroup | ||
| 631 | |||
| 632 | % @comma{} to avoid , parsing problems. | ||
| 633 | \let\comma = , | ||
| 634 | |||
| 635 | % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent | ||
| 636 | % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. | ||
| 637 | \let\, = \c | ||
| 638 | \let\dotaccent = \. | ||
| 639 | \def\ringaccent#1{{\accent23 #1}} | ||
| 640 | \let\tieaccent = \t | ||
| 641 | \let\ubaraccent = \b | ||
| 642 | \let\udotaccent = \d | ||
| 643 | |||
| 644 | % Other special characters: @questiondown @exclamdown @ordf @ordm | ||
| 645 | % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. | ||
| 646 | \def\questiondown{?`} | ||
| 647 | \def\exclamdown{!`} | ||
| 648 | \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} | ||
| 649 | \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} | ||
| 650 | |||
| 651 | % Dotless i and dotless j, used for accents. | ||
| 652 | \def\imacro{i} | ||
| 653 | \def\jmacro{j} | ||
| 654 | \def\dotless#1{% | ||
| 655 | \def\temp{#1}% | ||
| 656 | \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi | ||
| 657 | \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi | ||
| 658 | \else \errmessage{@dotless can be used only with i or j}% | ||
| 659 | \fi\fi | ||
| 660 | } | ||
| 661 | |||
| 662 | % The \TeX{} logo, as in plain, but resetting the spacing so that a | ||
| 663 | % period following counts as ending a sentence. (Idea found in latex.) | ||
| 664 | % | ||
| 665 | \edef\TeX{\TeX \spacefactor=1000 } | ||
| 666 | |||
| 667 | % @LaTeX{} logo. Not quite the same results as the definition in | ||
| 668 | % latex.ltx, since we use a different font for the raised A; it's most | ||
| 669 | % convenient for us to use an explicitly smaller font, rather than using | ||
| 670 | % the \scriptstyle font (since we don't reset \scriptstyle and | ||
| 671 | % \scriptscriptstyle). | ||
| 672 | % | ||
| 673 | \def\LaTeX{% | ||
| 674 | L\kern-.36em | ||
| 675 | {\setbox0=\hbox{T}% | ||
| 676 | \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% | ||
| 677 | \kern-.15em | ||
| 678 | \TeX | ||
| 679 | } | ||
| 680 | |||
| 681 | % Be sure we're in horizontal mode when doing a tie, since we make space | 570 | % Be sure we're in horizontal mode when doing a tie, since we make space |
| 682 | % equivalent to this in @example-like environments. Otherwise, a space | 571 | % equivalent to this in @example-like environments. Otherwise, a space |
| 683 | % at the beginning of a line will start with \penalty -- and | 572 | % at the beginning of a line will start with \penalty -- and |
| @@ -873,7 +762,7 @@ where each line of input produces a line of output.} | |||
| 873 | 762 | ||
| 874 | % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current | 763 | % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current |
| 875 | % paragraph. For more general purposes, use the \margin insertion | 764 | % paragraph. For more general purposes, use the \margin insertion |
| 876 | % class. WHICH is `l' or `r'. | 765 | % class. WHICH is `l' or `r'. Not documented, written for gawk manual. |
| 877 | % | 766 | % |
| 878 | \newskip\inmarginspacing \inmarginspacing=1cm | 767 | \newskip\inmarginspacing \inmarginspacing=1cm |
| 879 | \def\strutdepth{\dp\strutbox} | 768 | \def\strutdepth{\dp\strutbox} |
| @@ -920,6 +809,36 @@ where each line of input produces a line of output.} | |||
| 920 | \temp | 809 | \temp |
| 921 | } | 810 | } |
| 922 | 811 | ||
| 812 | % @| inserts a changebar to the left of the current line. It should | ||
| 813 | % surround any changed text. This approach does *not* work if the | ||
| 814 | % change spans more than two lines of output. To handle that, we would | ||
| 815 | % have adopt a much more difficult approach (putting marks into the main | ||
| 816 | % vertical list for the beginning and end of each change). This command | ||
| 817 | % is not documented, not supported, and doesn't work. | ||
| 818 | % | ||
| 819 | \def\|{% | ||
| 820 | % \vadjust can only be used in horizontal mode. | ||
| 821 | \leavevmode | ||
| 822 | % | ||
| 823 | % Append this vertical mode material after the current line in the output. | ||
| 824 | \vadjust{% | ||
| 825 | % We want to insert a rule with the height and depth of the current | ||
| 826 | % leading; that is exactly what \strutbox is supposed to record. | ||
| 827 | \vskip-\baselineskip | ||
| 828 | % | ||
| 829 | % \vadjust-items are inserted at the left edge of the type. So | ||
| 830 | % the \llap here moves out into the left-hand margin. | ||
| 831 | \llap{% | ||
| 832 | % | ||
| 833 | % For a thicker or thinner bar, change the `1pt'. | ||
| 834 | \vrule height\baselineskip width1pt | ||
| 835 | % | ||
| 836 | % This is the space between the bar and the text. | ||
| 837 | \hskip 12pt | ||
| 838 | }% | ||
| 839 | }% | ||
| 840 | } | ||
| 841 | |||
| 923 | % @include FILE -- \input text of FILE. | 842 | % @include FILE -- \input text of FILE. |
| 924 | % | 843 | % |
| 925 | \def\include{\parseargusing\filenamecatcodes\includezzz} | 844 | \def\include{\parseargusing\filenamecatcodes\includezzz} |
| @@ -930,6 +849,7 @@ where each line of input produces a line of output.} | |||
| 930 | \makevalueexpandable % we want to expand any @value in FILE. | 849 | \makevalueexpandable % we want to expand any @value in FILE. |
| 931 | \turnoffactive % and allow special characters in the expansion | 850 | \turnoffactive % and allow special characters in the expansion |
| 932 | \indexnofonts % Allow `@@' and other weird things in file names. | 851 | \indexnofonts % Allow `@@' and other weird things in file names. |
| 852 | \wlog{texinfo.tex: doing @include of #1^^J}% | ||
| 933 | \edef\temp{\noexpand\input #1 }% | 853 | \edef\temp{\noexpand\input #1 }% |
| 934 | % | 854 | % |
| 935 | % This trickery is to read FILE outside of a group, in case it makes | 855 | % This trickery is to read FILE outside of a group, in case it makes |
| @@ -1095,109 +1015,6 @@ where each line of input produces a line of output.} | |||
| 1095 | } | 1015 | } |
| 1096 | 1016 | ||
| 1097 | 1017 | ||
| 1098 | % @asis just yields its argument. Used with @table, for example. | ||
| 1099 | % | ||
| 1100 | \def\asis#1{#1} | ||
| 1101 | |||
| 1102 | % @math outputs its argument in math mode. | ||
| 1103 | % | ||
| 1104 | % One complication: _ usually means subscripts, but it could also mean | ||
| 1105 | % an actual _ character, as in @math{@var{some_variable} + 1}. So make | ||
| 1106 | % _ active, and distinguish by seeing if the current family is \slfam, | ||
| 1107 | % which is what @var uses. | ||
| 1108 | { | ||
| 1109 | \catcode`\_ = \active | ||
| 1110 | \gdef\mathunderscore{% | ||
| 1111 | \catcode`\_=\active | ||
| 1112 | \def_{\ifnum\fam=\slfam \_\else\sb\fi}% | ||
| 1113 | } | ||
| 1114 | } | ||
| 1115 | % Another complication: we want \\ (and @\) to output a \ character. | ||
| 1116 | % FYI, plain.tex uses \\ as a temporary control sequence (why?), but | ||
| 1117 | % this is not advertised and we don't care. Texinfo does not | ||
| 1118 | % otherwise define @\. | ||
| 1119 | % | ||
| 1120 | % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. | ||
| 1121 | \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} | ||
| 1122 | % | ||
| 1123 | \def\math{% | ||
| 1124 | \tex | ||
| 1125 | \mathunderscore | ||
| 1126 | \let\\ = \mathbackslash | ||
| 1127 | \mathactive | ||
| 1128 | % make the texinfo accent commands work in math mode | ||
| 1129 | \let\"=\ddot | ||
| 1130 | \let\'=\acute | ||
| 1131 | \let\==\bar | ||
| 1132 | \let\^=\hat | ||
| 1133 | \let\`=\grave | ||
| 1134 | \let\u=\breve | ||
| 1135 | \let\v=\check | ||
| 1136 | \let\~=\tilde | ||
| 1137 | \let\dotaccent=\dot | ||
| 1138 | $\finishmath | ||
| 1139 | } | ||
| 1140 | \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. | ||
| 1141 | |||
| 1142 | % Some active characters (such as <) are spaced differently in math. | ||
| 1143 | % We have to reset their definitions in case the @math was an argument | ||
| 1144 | % to a command which sets the catcodes (such as @item or @section). | ||
| 1145 | % | ||
| 1146 | { | ||
| 1147 | \catcode`^ = \active | ||
| 1148 | \catcode`< = \active | ||
| 1149 | \catcode`> = \active | ||
| 1150 | \catcode`+ = \active | ||
| 1151 | \catcode`' = \active | ||
| 1152 | \gdef\mathactive{% | ||
| 1153 | \let^ = \ptexhat | ||
| 1154 | \let< = \ptexless | ||
| 1155 | \let> = \ptexgtr | ||
| 1156 | \let+ = \ptexplus | ||
| 1157 | \let' = \ptexquoteright | ||
| 1158 | } | ||
| 1159 | } | ||
| 1160 | |||
| 1161 | % Some math mode symbols. | ||
| 1162 | \def\bullet{$\ptexbullet$} | ||
| 1163 | \def\geq{\ifmmode \ge\else $\ge$\fi} | ||
| 1164 | \def\leq{\ifmmode \le\else $\le$\fi} | ||
| 1165 | \def\minus{\ifmmode -\else $-$\fi} | ||
| 1166 | |||
| 1167 | % @dots{} outputs an ellipsis using the current font. | ||
| 1168 | % We do .5em per period so that it has the same spacing in the cm | ||
| 1169 | % typewriter fonts as three actual period characters; on the other hand, | ||
| 1170 | % in other typewriter fonts three periods are wider than 1.5em. So do | ||
| 1171 | % whichever is larger. | ||
| 1172 | % | ||
| 1173 | \def\dots{% | ||
| 1174 | \leavevmode | ||
| 1175 | \setbox0=\hbox{...}% get width of three periods | ||
| 1176 | \ifdim\wd0 > 1.5em | ||
| 1177 | \dimen0 = \wd0 | ||
| 1178 | \else | ||
| 1179 | \dimen0 = 1.5em | ||
| 1180 | \fi | ||
| 1181 | \hbox to \dimen0{% | ||
| 1182 | \hskip 0pt plus.25fil | ||
| 1183 | .\hskip 0pt plus1fil | ||
| 1184 | .\hskip 0pt plus1fil | ||
| 1185 | .\hskip 0pt plus.5fil | ||
| 1186 | }% | ||
| 1187 | } | ||
| 1188 | |||
| 1189 | % @enddots{} is an end-of-sentence ellipsis. | ||
| 1190 | % | ||
| 1191 | \def\enddots{% | ||
| 1192 | \dots | ||
| 1193 | \spacefactor=\endofsentencespacefactor | ||
| 1194 | } | ||
| 1195 | |||
| 1196 | % @comma{} is so commas can be inserted into text without messing up | ||
| 1197 | % Texinfo's parsing. | ||
| 1198 | % | ||
| 1199 | \let\comma = , | ||
| 1200 | |||
| 1201 | % @refill is a no-op. | 1018 | % @refill is a no-op. |
| 1202 | \let\refill=\relax | 1019 | \let\refill=\relax |
| 1203 | 1020 | ||
| @@ -1492,6 +1309,7 @@ output) for that.)} | |||
| 1492 | \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace | 1309 | \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace |
| 1493 | % | 1310 | % |
| 1494 | % Read toc silently, to get counts of subentries for \pdfoutline. | 1311 | % Read toc silently, to get counts of subentries for \pdfoutline. |
| 1312 | \def\partentry##1##2##3##4{}% ignore parts in the outlines | ||
| 1495 | \def\numchapentry##1##2##3##4{% | 1313 | \def\numchapentry##1##2##3##4{% |
| 1496 | \def\thischapnum{##2}% | 1314 | \def\thischapnum{##2}% |
| 1497 | \def\thissecnum{0}% | 1315 | \def\thissecnum{0}% |
| @@ -2105,8 +1923,8 @@ end | |||
| 2105 | \font\reducedsy=cmsy10 | 1923 | \font\reducedsy=cmsy10 |
| 2106 | \def\reducedecsize{1000} | 1924 | \def\reducedecsize{1000} |
| 2107 | 1925 | ||
| 2108 | % reset the current fonts | 1926 | \textleading = 13.2pt % line spacing for 11pt CM |
| 2109 | \textfonts | 1927 | \textfonts % reset the current fonts |
| 2110 | \rm | 1928 | \rm |
| 2111 | } % end of 11pt text font size definitions | 1929 | } % end of 11pt text font size definitions |
| 2112 | 1930 | ||
| @@ -2236,11 +2054,9 @@ end | |||
| 2236 | \font\reducedsy=cmsy9 | 2054 | \font\reducedsy=cmsy9 |
| 2237 | \def\reducedecsize{0900} | 2055 | \def\reducedecsize{0900} |
| 2238 | 2056 | ||
| 2239 | % reduce space between paragraphs | 2057 | \divide\parskip by 2 % reduce space between paragraphs |
| 2240 | \divide\parskip by 2 | 2058 | \textleading = 12pt % line spacing for 10pt CM |
| 2241 | 2059 | \textfonts % reset the current fonts | |
| 2242 | % reset the current fonts | ||
| 2243 | \textfonts | ||
| 2244 | \rm | 2060 | \rm |
| 2245 | } % end of 10pt text font size definitions | 2061 | } % end of 10pt text font size definitions |
| 2246 | 2062 | ||
| @@ -2249,12 +2065,13 @@ end | |||
| 2249 | % @fonttextsize 10 | 2065 | % @fonttextsize 10 |
| 2250 | % (or 11) to redefine the text font size. pt is assumed. | 2066 | % (or 11) to redefine the text font size. pt is assumed. |
| 2251 | % | 2067 | % |
| 2252 | \def\xword{10} | ||
| 2253 | \def\xiword{11} | 2068 | \def\xiword{11} |
| 2069 | \def\xword{10} | ||
| 2070 | \def\xwordpt{10pt} | ||
| 2254 | % | 2071 | % |
| 2255 | \parseargdef\fonttextsize{% | 2072 | \parseargdef\fonttextsize{% |
| 2256 | \def\textsizearg{#1}% | 2073 | \def\textsizearg{#1}% |
| 2257 | \wlog{doing @fonttextsize \textsizearg}% | 2074 | %\wlog{doing @fonttextsize \textsizearg}% |
| 2258 | % | 2075 | % |
| 2259 | % Set \globaldefs so that documents can use this inside @tex, since | 2076 | % Set \globaldefs so that documents can use this inside @tex, since |
| 2260 | % makeinfo 4.8 does not support it, but we need it nonetheless. | 2077 | % makeinfo 4.8 does not support it, but we need it nonetheless. |
| @@ -2308,7 +2125,7 @@ end | |||
| 2308 | \let\tenttsl=\titlettsl | 2125 | \let\tenttsl=\titlettsl |
| 2309 | \def\curfontsize{title}% | 2126 | \def\curfontsize{title}% |
| 2310 | \def\lsize{chap}\def\lllsize{subsec}% | 2127 | \def\lsize{chap}\def\lllsize{subsec}% |
| 2311 | \resetmathfonts \setleading{25pt}} | 2128 | \resetmathfonts \setleading{27pt}} |
| 2312 | \def\titlefont#1{{\titlefonts\rmisbold #1}} | 2129 | \def\titlefont#1{{\titlefonts\rmisbold #1}} |
| 2313 | \def\chapfonts{% | 2130 | \def\chapfonts{% |
| 2314 | \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl | 2131 | \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl |
| @@ -2460,14 +2277,19 @@ end | |||
| 2460 | 2277 | ||
| 2461 | \let\markupsetuplqcode \markupsetcodequoteleft | 2278 | \let\markupsetuplqcode \markupsetcodequoteleft |
| 2462 | \let\markupsetuprqcode \markupsetcodequoteright | 2279 | \let\markupsetuprqcode \markupsetcodequoteright |
| 2280 | % | ||
| 2463 | \let\markupsetuplqexample \markupsetcodequoteleft | 2281 | \let\markupsetuplqexample \markupsetcodequoteleft |
| 2464 | \let\markupsetuprqexample \markupsetcodequoteright | 2282 | \let\markupsetuprqexample \markupsetcodequoteright |
| 2283 | % | ||
| 2284 | \let\markupsetuplqsamp \markupsetcodequoteleft | ||
| 2285 | \let\markupsetuprqsamp \markupsetcodequoteright | ||
| 2286 | % | ||
| 2465 | \let\markupsetuplqverb \markupsetcodequoteleft | 2287 | \let\markupsetuplqverb \markupsetcodequoteleft |
| 2466 | \let\markupsetuprqverb \markupsetcodequoteright | 2288 | \let\markupsetuprqverb \markupsetcodequoteright |
| 2289 | % | ||
| 2467 | \let\markupsetuplqverbatim \markupsetcodequoteleft | 2290 | \let\markupsetuplqverbatim \markupsetcodequoteleft |
| 2468 | \let\markupsetuprqverbatim \markupsetcodequoteright | 2291 | \let\markupsetuprqverbatim \markupsetcodequoteright |
| 2469 | 2292 | ||
| 2470 | \let\markupsetuplqsamp \markupsetnoligaturesquoteleft | ||
| 2471 | \let\markupsetuplqkbd \markupsetnoligaturesquoteleft | 2293 | \let\markupsetuplqkbd \markupsetnoligaturesquoteleft |
| 2472 | 2294 | ||
| 2473 | % Allow an option to not replace quotes with a regular directed right | 2295 | % Allow an option to not replace quotes with a regular directed right |
| @@ -2505,27 +2327,40 @@ end | |||
| 2505 | % Count depth in font-changes, for error checks | 2327 | % Count depth in font-changes, for error checks |
| 2506 | \newcount\fontdepth \fontdepth=0 | 2328 | \newcount\fontdepth \fontdepth=0 |
| 2507 | 2329 | ||
| 2508 | %% Add scribe-like font environments, plus @l for inline lisp (usually sans | 2330 | % Font commands. |
| 2509 | %% serif) and @ii for TeX italic | 2331 | |
| 2332 | % #1 is the font command (\sl or \it), #2 is the text to slant. | ||
| 2333 | % If we are in a monospaced environment, however, 1) always use \ttsl, | ||
| 2334 | % and 2) do not add an italic correction. | ||
| 2335 | \def\dosmartslant#1#2{% | ||
| 2336 | \ifusingtt | ||
| 2337 | {{\ttsl #2}\let\next=\relax}% | ||
| 2338 | {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% | ||
| 2339 | \next | ||
| 2340 | } | ||
| 2341 | \def\smartslanted{\dosmartslant\sl} | ||
| 2342 | \def\smartitalic{\dosmartslant\it} | ||
| 2510 | 2343 | ||
| 2511 | % \smartitalic{ARG} outputs arg in italics, followed by an italic correction | 2344 | % Output an italic correction unless \next (presumed to be the following |
| 2512 | % unless the following character is such as not to need one. | 2345 | % character) is such as not to need one. |
| 2513 | \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else | 2346 | \def\smartitaliccorrection{% |
| 2514 | \ptexslash\fi\fi\fi} | 2347 | \ifx\next,% |
| 2515 | \def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} | 2348 | \else\ifx\next-% |
| 2516 | \def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} | 2349 | \else\ifx\next.% |
| 2350 | \else\ptexslash | ||
| 2351 | \fi\fi\fi} | ||
| 2517 | 2352 | ||
| 2518 | % like \smartslanted except unconditionally uses \ttsl. | 2353 | % like \smartslanted except unconditionally uses \ttsl, and no ic. |
| 2519 | % @var is set to this for defun arguments. | 2354 | % @var is set to this for defun arguments. |
| 2520 | \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} | 2355 | \def\ttslanted#1{{\ttsl #1}} |
| 2521 | 2356 | ||
| 2522 | % @cite is like \smartslanted except unconditionally use \sl. We never want | 2357 | % @cite is like \smartslanted except unconditionally use \sl. We never want |
| 2523 | % ttsl for book titles, do we? | 2358 | % ttsl for book titles, do we? |
| 2524 | \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} | 2359 | \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} |
| 2525 | 2360 | ||
| 2526 | \let\i=\smartitalic | 2361 | \let\i=\smartitalic |
| 2527 | \let\slanted=\smartslanted | 2362 | \let\slanted=\smartslanted |
| 2528 | \def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} | 2363 | \def\var#1{\smartslanted{#1}} |
| 2529 | \let\dfn=\smartslanted | 2364 | \let\dfn=\smartslanted |
| 2530 | \let\emph=\smartitalic | 2365 | \let\emph=\smartitalic |
| 2531 | 2366 | ||
| @@ -2819,8 +2654,188 @@ end | |||
| 2819 | \fi | 2654 | \fi |
| 2820 | } | 2655 | } |
| 2821 | 2656 | ||
| 2657 | % @asis just yields its argument. Used with @table, for example. | ||
| 2658 | % | ||
| 2659 | \def\asis#1{#1} | ||
| 2660 | |||
| 2661 | % @math outputs its argument in math mode. | ||
| 2662 | % | ||
| 2663 | % One complication: _ usually means subscripts, but it could also mean | ||
| 2664 | % an actual _ character, as in @math{@var{some_variable} + 1}. So make | ||
| 2665 | % _ active, and distinguish by seeing if the current family is \slfam, | ||
| 2666 | % which is what @var uses. | ||
| 2667 | { | ||
| 2668 | \catcode`\_ = \active | ||
| 2669 | \gdef\mathunderscore{% | ||
| 2670 | \catcode`\_=\active | ||
| 2671 | \def_{\ifnum\fam=\slfam \_\else\sb\fi}% | ||
| 2672 | } | ||
| 2673 | } | ||
| 2674 | % Another complication: we want \\ (and @\) to output a math (or tt) \. | ||
| 2675 | % FYI, plain.tex uses \\ as a temporary control sequence (for no | ||
| 2676 | % particular reason), but this is not advertised and we don't care. | ||
| 2677 | % | ||
| 2678 | % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. | ||
| 2679 | \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} | ||
| 2680 | % | ||
| 2681 | \def\math{% | ||
| 2682 | \tex | ||
| 2683 | \mathunderscore | ||
| 2684 | \let\\ = \mathbackslash | ||
| 2685 | \mathactive | ||
| 2686 | % make the texinfo accent commands work in math mode | ||
| 2687 | \let\"=\ddot | ||
| 2688 | \let\'=\acute | ||
| 2689 | \let\==\bar | ||
| 2690 | \let\^=\hat | ||
| 2691 | \let\`=\grave | ||
| 2692 | \let\u=\breve | ||
| 2693 | \let\v=\check | ||
| 2694 | \let\~=\tilde | ||
| 2695 | \let\dotaccent=\dot | ||
| 2696 | $\finishmath | ||
| 2697 | } | ||
| 2698 | \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. | ||
| 2699 | |||
| 2700 | % Some active characters (such as <) are spaced differently in math. | ||
| 2701 | % We have to reset their definitions in case the @math was an argument | ||
| 2702 | % to a command which sets the catcodes (such as @item or @section). | ||
| 2703 | % | ||
| 2704 | { | ||
| 2705 | \catcode`^ = \active | ||
| 2706 | \catcode`< = \active | ||
| 2707 | \catcode`> = \active | ||
| 2708 | \catcode`+ = \active | ||
| 2709 | \catcode`' = \active | ||
| 2710 | \gdef\mathactive{% | ||
| 2711 | \let^ = \ptexhat | ||
| 2712 | \let< = \ptexless | ||
| 2713 | \let> = \ptexgtr | ||
| 2714 | \let+ = \ptexplus | ||
| 2715 | \let' = \ptexquoteright | ||
| 2716 | } | ||
| 2717 | } | ||
| 2718 | |||
| 2822 | 2719 | ||
| 2823 | \message{glyphs,} | 2720 | \message{glyphs,} |
| 2721 | % and logos. | ||
| 2722 | |||
| 2723 | % @@ prints an @. | ||
| 2724 | \def\@{\char64 } | ||
| 2725 | |||
| 2726 | % Used to generate quoted braces. Unless we're in typewriter, use | ||
| 2727 | % \ecfont because the CM text fonts do not have braces, and we don't | ||
| 2728 | % want to switch into math. | ||
| 2729 | \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} | ||
| 2730 | \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} | ||
| 2731 | \let\{=\mylbrace | ||
| 2732 | \let\}=\myrbrace | ||
| 2733 | \begingroup | ||
| 2734 | % Definitions to produce \{ and \} commands for indices, | ||
| 2735 | % and @{ and @} for the aux/toc files. | ||
| 2736 | \catcode`\{ = \other \catcode`\} = \other | ||
| 2737 | \catcode`\[ = 1 \catcode`\] = 2 | ||
| 2738 | \catcode`\! = 0 \catcode`\\ = \other | ||
| 2739 | !gdef!lbracecmd[\{]% | ||
| 2740 | !gdef!rbracecmd[\}]% | ||
| 2741 | !gdef!lbraceatcmd[@{]% | ||
| 2742 | !gdef!rbraceatcmd[@}]% | ||
| 2743 | !endgroup | ||
| 2744 | |||
| 2745 | % @comma{} to avoid , parsing problems. | ||
| 2746 | \let\comma = , | ||
| 2747 | |||
| 2748 | % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent | ||
| 2749 | % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. | ||
| 2750 | \let\, = \ptexc | ||
| 2751 | \let\dotaccent = \ptexdot | ||
| 2752 | \def\ringaccent#1{{\accent23 #1}} | ||
| 2753 | \let\tieaccent = \ptext | ||
| 2754 | \let\ubaraccent = \ptexb | ||
| 2755 | \let\udotaccent = \d | ||
| 2756 | |||
| 2757 | % Other special characters: @questiondown @exclamdown @ordf @ordm | ||
| 2758 | % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. | ||
| 2759 | \def\questiondown{?`} | ||
| 2760 | \def\exclamdown{!`} | ||
| 2761 | \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} | ||
| 2762 | \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} | ||
| 2763 | |||
| 2764 | % Dotless i and dotless j, used for accents. | ||
| 2765 | \def\imacro{i} | ||
| 2766 | \def\jmacro{j} | ||
| 2767 | \def\dotless#1{% | ||
| 2768 | \def\temp{#1}% | ||
| 2769 | \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi | ||
| 2770 | \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi | ||
| 2771 | \else \errmessage{@dotless can be used only with i or j}% | ||
| 2772 | \fi\fi | ||
| 2773 | } | ||
| 2774 | |||
| 2775 | % The \TeX{} logo, as in plain, but resetting the spacing so that a | ||
| 2776 | % period following counts as ending a sentence. (Idea found in latex.) | ||
| 2777 | % | ||
| 2778 | \edef\TeX{\TeX \spacefactor=1000 } | ||
| 2779 | |||
| 2780 | % @LaTeX{} logo. Not quite the same results as the definition in | ||
| 2781 | % latex.ltx, since we use a different font for the raised A; it's most | ||
| 2782 | % convenient for us to use an explicitly smaller font, rather than using | ||
| 2783 | % the \scriptstyle font (since we don't reset \scriptstyle and | ||
| 2784 | % \scriptscriptstyle). | ||
| 2785 | % | ||
| 2786 | \def\LaTeX{% | ||
| 2787 | L\kern-.36em | ||
| 2788 | {\setbox0=\hbox{T}% | ||
| 2789 | \vbox to \ht0{\hbox{% | ||
| 2790 | \ifx\textnominalsize\xwordpt | ||
| 2791 | % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX. | ||
| 2792 | % Revert to plain's \scriptsize, which is 7pt. | ||
| 2793 | \count255=\the\fam $\fam\count255 \scriptstyle A$% | ||
| 2794 | \else | ||
| 2795 | % For 11pt, we can use our lllsize. | ||
| 2796 | \selectfonts\lllsize A% | ||
| 2797 | \fi | ||
| 2798 | }% | ||
| 2799 | \vss | ||
| 2800 | }}% | ||
| 2801 | \kern-.15em | ||
| 2802 | \TeX | ||
| 2803 | } | ||
| 2804 | |||
| 2805 | % Some math mode symbols. | ||
| 2806 | \def\bullet{$\ptexbullet$} | ||
| 2807 | \def\geq{\ifmmode \ge\else $\ge$\fi} | ||
| 2808 | \def\leq{\ifmmode \le\else $\le$\fi} | ||
| 2809 | \def\minus{\ifmmode -\else $-$\fi} | ||
| 2810 | |||
| 2811 | % @dots{} outputs an ellipsis using the current font. | ||
| 2812 | % We do .5em per period so that it has the same spacing in the cm | ||
| 2813 | % typewriter fonts as three actual period characters; on the other hand, | ||
| 2814 | % in other typewriter fonts three periods are wider than 1.5em. So do | ||
| 2815 | % whichever is larger. | ||
| 2816 | % | ||
| 2817 | \def\dots{% | ||
| 2818 | \leavevmode | ||
| 2819 | \setbox0=\hbox{...}% get width of three periods | ||
| 2820 | \ifdim\wd0 > 1.5em | ||
| 2821 | \dimen0 = \wd0 | ||
| 2822 | \else | ||
| 2823 | \dimen0 = 1.5em | ||
| 2824 | \fi | ||
| 2825 | \hbox to \dimen0{% | ||
| 2826 | \hskip 0pt plus.25fil | ||
| 2827 | .\hskip 0pt plus1fil | ||
| 2828 | .\hskip 0pt plus1fil | ||
| 2829 | .\hskip 0pt plus.5fil | ||
| 2830 | }% | ||
| 2831 | } | ||
| 2832 | |||
| 2833 | % @enddots{} is an end-of-sentence ellipsis. | ||
| 2834 | % | ||
| 2835 | \def\enddots{% | ||
| 2836 | \dots | ||
| 2837 | \spacefactor=\endofsentencespacefactor | ||
| 2838 | } | ||
| 2824 | 2839 | ||
| 2825 | % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. | 2840 | % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. |
| 2826 | % | 2841 | % |
| @@ -3207,10 +3222,14 @@ end | |||
| 3207 | 3222 | ||
| 3208 | \def\headings #1 {\csname HEADINGS#1\endcsname} | 3223 | \def\headings #1 {\csname HEADINGS#1\endcsname} |
| 3209 | 3224 | ||
| 3210 | \def\HEADINGSoff{% | 3225 | \def\headingsoff{% non-global headings elimination |
| 3211 | \global\evenheadline={\hfil} \global\evenfootline={\hfil} | 3226 | \evenheadline={\hfil}\evenfootline={\hfil}% |
| 3212 | \global\oddheadline={\hfil} \global\oddfootline={\hfil}} | 3227 | \oddheadline={\hfil}\oddfootline={\hfil}% |
| 3213 | \HEADINGSoff | 3228 | } |
| 3229 | |||
| 3230 | \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting | ||
| 3231 | \HEADINGSoff % it's the default | ||
| 3232 | |||
| 3214 | % When we turn headings on, set the page number to 1. | 3233 | % When we turn headings on, set the page number to 1. |
| 3215 | % For double-sided printing, put current file name in lower left corner, | 3234 | % For double-sided printing, put current file name in lower left corner, |
| 3216 | % chapter name on inside top of right hand pages, document | 3235 | % chapter name on inside top of right hand pages, document |
| @@ -3322,7 +3341,7 @@ end | |||
| 3322 | \begingroup | 3341 | \begingroup |
| 3323 | \advance\leftskip by-\tableindent | 3342 | \advance\leftskip by-\tableindent |
| 3324 | \advance\hsize by\tableindent | 3343 | \advance\hsize by\tableindent |
| 3325 | \advance\rightskip by0pt plus1fil | 3344 | \advance\rightskip by0pt plus1fil\relax |
| 3326 | \leavevmode\unhbox0\par | 3345 | \leavevmode\unhbox0\par |
| 3327 | \endgroup | 3346 | \endgroup |
| 3328 | % | 3347 | % |
| @@ -4134,11 +4153,14 @@ end | |||
| 4134 | \def\@{@}% change to @@ when we switch to @ as escape char in index files. | 4153 | \def\@{@}% change to @@ when we switch to @ as escape char in index files. |
| 4135 | \def\ {\realbackslash\space }% | 4154 | \def\ {\realbackslash\space }% |
| 4136 | % | 4155 | % |
| 4137 | % Need these in case \tex is in effect and \{ is a \delimiter again. | 4156 | % Need these unexpandable (because we define \tt as a dummy) |
| 4138 | % But can't use \lbracecmd and \rbracecmd because texindex assumes | 4157 | % definitions when @{ or @} appear in index entry text. Also, more |
| 4139 | % braces and backslashes are used only as delimiters. | 4158 | % complicated, when \tex is in effect and \{ is a \delimiter again. |
| 4140 | \let\{ = \mylbrace | 4159 | % We can't use \lbracecmd and \rbracecmd because texindex assumes |
| 4141 | \let\} = \myrbrace | 4160 | % braces and backslashes are used only as delimiters. Perhaps we |
| 4161 | % should define @lbrace and @rbrace commands a la @comma. | ||
| 4162 | \def\{{{\tt\char123}}% | ||
| 4163 | \def\}{{\tt\char125}}% | ||
| 4142 | % | 4164 | % |
| 4143 | % I don't entirely understand this, but when an index entry is | 4165 | % I don't entirely understand this, but when an index entry is |
| 4144 | % generated from a macro call, the \endinput which \scanmacro inserts | 4166 | % generated from a macro call, the \endinput which \scanmacro inserts |
| @@ -4191,7 +4213,7 @@ end | |||
| 4191 | \def\commondummies{% | 4213 | \def\commondummies{% |
| 4192 | % | 4214 | % |
| 4193 | % \definedummyword defines \#1 as \string\#1\space, thus effectively | 4215 | % \definedummyword defines \#1 as \string\#1\space, thus effectively |
| 4194 | % preventing its expansion. This is used only for control% words, | 4216 | % preventing its expansion. This is used only for control words, |
| 4195 | % not control letters, because the \space would be incorrect for | 4217 | % not control letters, because the \space would be incorrect for |
| 4196 | % control characters, but is needed to separate the control word | 4218 | % control characters, but is needed to separate the control word |
| 4197 | % from whatever follows. | 4219 | % from whatever follows. |
| @@ -4210,6 +4232,7 @@ end | |||
| 4210 | \commondummiesnofonts | 4232 | \commondummiesnofonts |
| 4211 | % | 4233 | % |
| 4212 | \definedummyletter\_% | 4234 | \definedummyletter\_% |
| 4235 | \definedummyletter\-% | ||
| 4213 | % | 4236 | % |
| 4214 | % Non-English letters. | 4237 | % Non-English letters. |
| 4215 | \definedummyword\AA | 4238 | \definedummyword\AA |
| @@ -4246,20 +4269,24 @@ end | |||
| 4246 | \definedummyword\TeX | 4269 | \definedummyword\TeX |
| 4247 | % | 4270 | % |
| 4248 | % Assorted special characters. | 4271 | % Assorted special characters. |
| 4272 | \definedummyword\arrow | ||
| 4249 | \definedummyword\bullet | 4273 | \definedummyword\bullet |
| 4250 | \definedummyword\comma | 4274 | \definedummyword\comma |
| 4251 | \definedummyword\copyright | 4275 | \definedummyword\copyright |
| 4252 | \definedummyword\registeredsymbol | 4276 | \definedummyword\registeredsymbol |
| 4253 | \definedummyword\dots | 4277 | \definedummyword\dots |
| 4254 | \definedummyword\enddots | 4278 | \definedummyword\enddots |
| 4279 | \definedummyword\entrybreak | ||
| 4255 | \definedummyword\equiv | 4280 | \definedummyword\equiv |
| 4256 | \definedummyword\error | 4281 | \definedummyword\error |
| 4257 | \definedummyword\euro | 4282 | \definedummyword\euro |
| 4283 | \definedummyword\expansion | ||
| 4284 | \definedummyword\geq | ||
| 4258 | \definedummyword\guillemetleft | 4285 | \definedummyword\guillemetleft |
| 4259 | \definedummyword\guillemetright | 4286 | \definedummyword\guillemetright |
| 4260 | \definedummyword\guilsinglleft | 4287 | \definedummyword\guilsinglleft |
| 4261 | \definedummyword\guilsinglright | 4288 | \definedummyword\guilsinglright |
| 4262 | \definedummyword\expansion | 4289 | \definedummyword\leq |
| 4263 | \definedummyword\minus | 4290 | \definedummyword\minus |
| 4264 | \definedummyword\ogonek | 4291 | \definedummyword\ogonek |
| 4265 | \definedummyword\pounds | 4292 | \definedummyword\pounds |
| @@ -4316,7 +4343,9 @@ end | |||
| 4316 | \definedummyword\b | 4343 | \definedummyword\b |
| 4317 | \definedummyword\i | 4344 | \definedummyword\i |
| 4318 | \definedummyword\r | 4345 | \definedummyword\r |
| 4346 | \definedummyword\sansserif | ||
| 4319 | \definedummyword\sc | 4347 | \definedummyword\sc |
| 4348 | \definedummyword\slanted | ||
| 4320 | \definedummyword\t | 4349 | \definedummyword\t |
| 4321 | % | 4350 | % |
| 4322 | % Commands that take arguments. | 4351 | % Commands that take arguments. |
| @@ -4325,10 +4354,12 @@ end | |||
| 4325 | \definedummyword\code | 4354 | \definedummyword\code |
| 4326 | \definedummyword\command | 4355 | \definedummyword\command |
| 4327 | \definedummyword\dfn | 4356 | \definedummyword\dfn |
| 4357 | \definedummyword\dmn | ||
| 4328 | \definedummyword\email | 4358 | \definedummyword\email |
| 4329 | \definedummyword\emph | 4359 | \definedummyword\emph |
| 4330 | \definedummyword\env | 4360 | \definedummyword\env |
| 4331 | \definedummyword\file | 4361 | \definedummyword\file |
| 4362 | \definedummyword\indicateurl | ||
| 4332 | \definedummyword\kbd | 4363 | \definedummyword\kbd |
| 4333 | \definedummyword\key | 4364 | \definedummyword\key |
| 4334 | \definedummyword\math | 4365 | \definedummyword\math |
| @@ -4356,7 +4387,7 @@ end | |||
| 4356 | \def\definedummyaccent##1{\let##1\asis}% | 4387 | \def\definedummyaccent##1{\let##1\asis}% |
| 4357 | % We can just ignore other control letters. | 4388 | % We can just ignore other control letters. |
| 4358 | \def\definedummyletter##1{\let##1\empty}% | 4389 | \def\definedummyletter##1{\let##1\empty}% |
| 4359 | % Hopefully, all control words can become @asis. | 4390 | % All control words become @asis by default; overrides below. |
| 4360 | \let\definedummyword\definedummyaccent | 4391 | \let\definedummyword\definedummyaccent |
| 4361 | % | 4392 | % |
| 4362 | \commondummiesnofonts | 4393 | \commondummiesnofonts |
| @@ -4368,8 +4399,14 @@ end | |||
| 4368 | % | 4399 | % |
| 4369 | \def\ { }% | 4400 | \def\ { }% |
| 4370 | \def\@{@}% | 4401 | \def\@{@}% |
| 4371 | % how to handle braces? | ||
| 4372 | \def\_{\normalunderscore}% | 4402 | \def\_{\normalunderscore}% |
| 4403 | \def\-{}% @- shouldn't affect sorting | ||
| 4404 | % | ||
| 4405 | % Unfortunately, texindex is not prepared to handle braces in the | ||
| 4406 | % content at all. So for index sorting, we map @{ and @} to strings | ||
| 4407 | % starting with |, since that ASCII character is between ASCII { and }. | ||
| 4408 | \def\{{|a}% | ||
| 4409 | \def\}{|b}% | ||
| 4373 | % | 4410 | % |
| 4374 | % Non-English letters. | 4411 | % Non-English letters. |
| 4375 | \def\AA{AA}% | 4412 | \def\AA{AA}% |
| @@ -4397,6 +4434,7 @@ end | |||
| 4397 | % | 4434 | % |
| 4398 | % Assorted special characters. | 4435 | % Assorted special characters. |
| 4399 | % (The following {} will end up in the sort string, but that's ok.) | 4436 | % (The following {} will end up in the sort string, but that's ok.) |
| 4437 | \def\arrow{->}% | ||
| 4400 | \def\bullet{bullet}% | 4438 | \def\bullet{bullet}% |
| 4401 | \def\comma{,}% | 4439 | \def\comma{,}% |
| 4402 | \def\copyright{copyright}% | 4440 | \def\copyright{copyright}% |
| @@ -4406,10 +4444,12 @@ end | |||
| 4406 | \def\error{error}% | 4444 | \def\error{error}% |
| 4407 | \def\euro{euro}% | 4445 | \def\euro{euro}% |
| 4408 | \def\expansion{==>}% | 4446 | \def\expansion{==>}% |
| 4447 | \def\geq{>=}% | ||
| 4409 | \def\guillemetleft{<<}% | 4448 | \def\guillemetleft{<<}% |
| 4410 | \def\guillemetright{>>}% | 4449 | \def\guillemetright{>>}% |
| 4411 | \def\guilsinglleft{<}% | 4450 | \def\guilsinglleft{<}% |
| 4412 | \def\guilsinglright{>}% | 4451 | \def\guilsinglright{>}% |
| 4452 | \def\leq{<=}% | ||
| 4413 | \def\minus{-}% | 4453 | \def\minus{-}% |
| 4414 | \def\point{.}% | 4454 | \def\point{.}% |
| 4415 | \def\pounds{pounds}% | 4455 | \def\pounds{pounds}% |
| @@ -4424,6 +4464,9 @@ end | |||
| 4424 | \def\result{=>}% | 4464 | \def\result{=>}% |
| 4425 | \def\textdegree{o}% | 4465 | \def\textdegree{o}% |
| 4426 | % | 4466 | % |
| 4467 | \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax | ||
| 4468 | \else \indexlquoteignore \fi | ||
| 4469 | % | ||
| 4427 | % We need to get rid of all macros, leaving only the arguments (if present). | 4470 | % We need to get rid of all macros, leaving only the arguments (if present). |
| 4428 | % Of course this is not nearly correct, but it is the best we can do for now. | 4471 | % Of course this is not nearly correct, but it is the best we can do for now. |
| 4429 | % makeinfo does not expand macros in the argument to @deffn, which ends up | 4472 | % makeinfo does not expand macros in the argument to @deffn, which ends up |
| @@ -4437,6 +4480,11 @@ end | |||
| 4437 | \macrolist | 4480 | \macrolist |
| 4438 | } | 4481 | } |
| 4439 | 4482 | ||
| 4483 | % Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us | ||
| 4484 | % ignore left quotes in the sort term. | ||
| 4485 | {\catcode`\`=\active | ||
| 4486 | \gdef\indexlquoteignore{\let`=\empty}} | ||
| 4487 | |||
| 4440 | \let\indexbackslash=0 %overridden during \printindex. | 4488 | \let\indexbackslash=0 %overridden during \printindex. |
| 4441 | \let\SETmarginindex=\relax % put index entries in margin (undocumented)? | 4489 | \let\SETmarginindex=\relax % put index entries in margin (undocumented)? |
| 4442 | 4490 | ||
| @@ -4694,7 +4742,6 @@ end | |||
| 4694 | % But this freezes the catcodes in the argument, and can cause problems to | 4742 | % But this freezes the catcodes in the argument, and can cause problems to |
| 4695 | % @code, which sets - active. This problem was fixed by a kludge--- | 4743 | % @code, which sets - active. This problem was fixed by a kludge--- |
| 4696 | % ``-'' was active throughout whole index, but this isn't really right. | 4744 | % ``-'' was active throughout whole index, but this isn't really right. |
| 4697 | % | ||
| 4698 | % The right solution is to prevent \entry from swallowing the whole text. | 4745 | % The right solution is to prevent \entry from swallowing the whole text. |
| 4699 | % --kasal, 21nov03 | 4746 | % --kasal, 21nov03 |
| 4700 | \def\entry{% | 4747 | \def\entry{% |
| @@ -4731,10 +4778,17 @@ end | |||
| 4731 | % columns. | 4778 | % columns. |
| 4732 | \vskip 0pt plus1pt | 4779 | \vskip 0pt plus1pt |
| 4733 | % | 4780 | % |
| 4781 | % When reading the text of entry, convert explicit line breaks | ||
| 4782 | % from @* into spaces. The user might give these in long section | ||
| 4783 | % titles, for instance. | ||
| 4784 | \def\*{\unskip\space\ignorespaces}% | ||
| 4785 | \def\entrybreak{\hfil\break}% | ||
| 4786 | % | ||
| 4734 | % Swallow the left brace of the text (first parameter): | 4787 | % Swallow the left brace of the text (first parameter): |
| 4735 | \afterassignment\doentry | 4788 | \afterassignment\doentry |
| 4736 | \let\temp = | 4789 | \let\temp = |
| 4737 | } | 4790 | } |
| 4791 | \def\entrybreak{\unskip\space\ignorespaces}% | ||
| 4738 | \def\doentry{% | 4792 | \def\doentry{% |
| 4739 | \bgroup % Instead of the swallowed brace. | 4793 | \bgroup % Instead of the swallowed brace. |
| 4740 | \noindent | 4794 | \noindent |
| @@ -4967,7 +5021,22 @@ end | |||
| 4967 | \message{sectioning,} | 5021 | \message{sectioning,} |
| 4968 | % Chapters, sections, etc. | 5022 | % Chapters, sections, etc. |
| 4969 | 5023 | ||
| 4970 | % \unnumberedno is an oxymoron, of course. But we count the unnumbered | 5024 | % Let's start with @part. |
| 5025 | \outer\parseargdef\part{\partzzz{#1}} | ||
| 5026 | \def\partzzz#1{% | ||
| 5027 | \chapoddpage | ||
| 5028 | \null | ||
| 5029 | \vskip.3\vsize % move it down on the page a bit | ||
| 5030 | \begingroup | ||
| 5031 | \noindent \titlefonts\rmisbold #1\par % the text | ||
| 5032 | \let\lastnode=\empty % no node to associate with | ||
| 5033 | \writetocentry{part}{#1}{}% but put it in the toc | ||
| 5034 | \headingsoff % no headline or footline on the part page | ||
| 5035 | \chapoddpage | ||
| 5036 | \endgroup | ||
| 5037 | } | ||
| 5038 | |||
| 5039 | % \unnumberedno is an oxymoron. But we count the unnumbered | ||
| 4971 | % sections so that we can refer to them unambiguously in the pdf | 5040 | % sections so that we can refer to them unambiguously in the pdf |
| 4972 | % outlines by their "section number". We avoid collisions with chapter | 5041 | % outlines by their "section number". We avoid collisions with chapter |
| 4973 | % numbers by starting them at 10000. (If a document ever has 10000 | 5042 | % numbers by starting them at 10000. (If a document ever has 10000 |
| @@ -5046,8 +5115,8 @@ end | |||
| 5046 | \chardef\maxseclevel = 3 | 5115 | \chardef\maxseclevel = 3 |
| 5047 | % | 5116 | % |
| 5048 | % A numbered section within an unnumbered changes to unnumbered too. | 5117 | % A numbered section within an unnumbered changes to unnumbered too. |
| 5049 | % To achive this, remember the "biggest" unnum. sec. we are currently in: | 5118 | % To achieve this, remember the "biggest" unnum. sec. we are currently in: |
| 5050 | \chardef\unmlevel = \maxseclevel | 5119 | \chardef\unnlevel = \maxseclevel |
| 5051 | % | 5120 | % |
| 5052 | % Trace whether the current chapter is an appendix or not: | 5121 | % Trace whether the current chapter is an appendix or not: |
| 5053 | % \chapheadtype is "N" or "A", unnumbered chapters are ignored. | 5122 | % \chapheadtype is "N" or "A", unnumbered chapters are ignored. |
| @@ -5072,8 +5141,8 @@ end | |||
| 5072 | % The heading type: | 5141 | % The heading type: |
| 5073 | \def\headtype{#1}% | 5142 | \def\headtype{#1}% |
| 5074 | \if \headtype U% | 5143 | \if \headtype U% |
| 5075 | \ifnum \absseclevel < \unmlevel | 5144 | \ifnum \absseclevel < \unnlevel |
| 5076 | \chardef\unmlevel = \absseclevel | 5145 | \chardef\unnlevel = \absseclevel |
| 5077 | \fi | 5146 | \fi |
| 5078 | \else | 5147 | \else |
| 5079 | % Check for appendix sections: | 5148 | % Check for appendix sections: |
| @@ -5085,10 +5154,10 @@ end | |||
| 5085 | \fi\fi | 5154 | \fi\fi |
| 5086 | \fi | 5155 | \fi |
| 5087 | % Check for numbered within unnumbered: | 5156 | % Check for numbered within unnumbered: |
| 5088 | \ifnum \absseclevel > \unmlevel | 5157 | \ifnum \absseclevel > \unnlevel |
| 5089 | \def\headtype{U}% | 5158 | \def\headtype{U}% |
| 5090 | \else | 5159 | \else |
| 5091 | \chardef\unmlevel = 3 | 5160 | \chardef\unnlevel = 3 |
| 5092 | \fi | 5161 | \fi |
| 5093 | \fi | 5162 | \fi |
| 5094 | % Now print the heading: | 5163 | % Now print the heading: |
| @@ -5340,9 +5409,8 @@ end | |||
| 5340 | \chappager | 5409 | \chappager |
| 5341 | \ifodd\pageno \else | 5410 | \ifodd\pageno \else |
| 5342 | \begingroup | 5411 | \begingroup |
| 5343 | \evenheadline={\hfil}\evenfootline={\hfil}% | 5412 | \headingsoff |
| 5344 | \oddheadline={\hfil}\oddfootline={\hfil}% | 5413 | \null |
| 5345 | \hbox to 0pt{}% | ||
| 5346 | \chappager | 5414 | \chappager |
| 5347 | \endgroup | 5415 | \endgroup |
| 5348 | \fi | 5416 | \fi |
| @@ -5785,6 +5853,7 @@ end | |||
| 5785 | \def\summarycontents{% | 5853 | \def\summarycontents{% |
| 5786 | \startcontents{\putwordShortTOC}% | 5854 | \startcontents{\putwordShortTOC}% |
| 5787 | % | 5855 | % |
| 5856 | \let\partentry = \shortpartentry | ||
| 5788 | \let\numchapentry = \shortchapentry | 5857 | \let\numchapentry = \shortchapentry |
| 5789 | \let\appentry = \shortchapentry | 5858 | \let\appentry = \shortchapentry |
| 5790 | \let\unnchapentry = \shortunnchapentry | 5859 | \let\unnchapentry = \shortunnchapentry |
| @@ -5840,6 +5909,19 @@ end | |||
| 5840 | % The last argument is the page number. | 5909 | % The last argument is the page number. |
| 5841 | % The arguments in between are the chapter number, section number, ... | 5910 | % The arguments in between are the chapter number, section number, ... |
| 5842 | 5911 | ||
| 5912 | % Parts, in the main contents. Replace the part number, which doesn't | ||
| 5913 | % exist, with an empty box. Let's hope all the numbers have the same width. | ||
| 5914 | % Also ignore the page number, which is conventionally not printed. | ||
| 5915 | \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} | ||
| 5916 | \def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} | ||
| 5917 | % | ||
| 5918 | % Parts, in the short toc. | ||
| 5919 | \def\shortpartentry#1#2#3#4{% | ||
| 5920 | \penalty-300 | ||
| 5921 | \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip | ||
| 5922 | \shortchapentry{{\bf #1}}{\numeralbox}{}{}% | ||
| 5923 | } | ||
| 5924 | |||
| 5843 | % Chapters, in the main contents. | 5925 | % Chapters, in the main contents. |
| 5844 | \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} | 5926 | \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} |
| 5845 | % | 5927 | % |
| @@ -5929,9 +6011,9 @@ end | |||
| 5929 | \message{environments,} | 6011 | \message{environments,} |
| 5930 | % @foo ... @end foo. | 6012 | % @foo ... @end foo. |
| 5931 | 6013 | ||
| 5932 | % @tex ... @end tex escapes into raw Tex temporarily. | 6014 | % @tex ... @end tex escapes into raw TeX temporarily. |
| 5933 | % One exception: @ is still an escape character, so that @end tex works. | 6015 | % One exception: @ is still an escape character, so that @end tex works. |
| 5934 | % But \@ or @@ will get a plain tex @ character. | 6016 | % But \@ or @@ will get a plain @ character. |
| 5935 | 6017 | ||
| 5936 | \envdef\tex{% | 6018 | \envdef\tex{% |
| 5937 | \setupmarkupstyle{tex}% | 6019 | \setupmarkupstyle{tex}% |
| @@ -5948,6 +6030,10 @@ end | |||
| 5948 | \catcode`\'=\other | 6030 | \catcode`\'=\other |
| 5949 | \escapechar=`\\ | 6031 | \escapechar=`\\ |
| 5950 | % | 6032 | % |
| 6033 | % ' is active in math mode (mathcode"8000). So reset it, and all our | ||
| 6034 | % other math active characters (just in case), to plain's definitions. | ||
| 6035 | \mathactive | ||
| 6036 | % | ||
| 5951 | \let\b=\ptexb | 6037 | \let\b=\ptexb |
| 5952 | \let\bullet=\ptexbullet | 6038 | \let\bullet=\ptexbullet |
| 5953 | \let\c=\ptexc | 6039 | \let\c=\ptexc |
| @@ -6150,41 +6236,42 @@ end | |||
| 6150 | } | 6236 | } |
| 6151 | 6237 | ||
| 6152 | % We often define two environments, @foo and @smallfoo. | 6238 | % We often define two environments, @foo and @smallfoo. |
| 6153 | % Let's do it by one command: | 6239 | % Let's do it in one command. #1 is the env name, #2 the definition. |
| 6154 | \def\makedispenv #1#2{ | 6240 | \def\makedispenvdef#1#2{% |
| 6155 | \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} | 6241 | \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% |
| 6156 | \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} | 6242 | \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% |
| 6157 | \expandafter\let\csname E#1\endcsname \afterenvbreak | 6243 | \expandafter\let\csname E#1\endcsname \afterenvbreak |
| 6158 | \expandafter\let\csname Esmall#1\endcsname \afterenvbreak | 6244 | \expandafter\let\csname Esmall#1\endcsname \afterenvbreak |
| 6159 | } | 6245 | } |
| 6160 | 6246 | ||
| 6161 | % Define two synonyms: | 6247 | % Define two environment synonyms (#1 and #2) for an environment. |
| 6162 | \def\maketwodispenvs #1#2#3{ | 6248 | \def\maketwodispenvdef#1#2#3{% |
| 6163 | \makedispenv{#1}{#3} | 6249 | \makedispenvdef{#1}{#3}% |
| 6164 | \makedispenv{#2}{#3} | 6250 | \makedispenvdef{#2}{#3}% |
| 6165 | } | 6251 | } |
| 6166 | 6252 | % | |
| 6167 | % @lisp: indented, narrowed, typewriter font; @example: same as @lisp. | 6253 | % @lisp: indented, narrowed, typewriter font; |
| 6254 | % @example: same as @lisp. | ||
| 6168 | % | 6255 | % |
| 6169 | % @smallexample and @smalllisp: use smaller fonts. | 6256 | % @smallexample and @smalllisp: use smaller fonts. |
| 6170 | % Originally contributed by Pavel@xerox. | 6257 | % Originally contributed by Pavel@xerox. |
| 6171 | % | 6258 | % |
| 6172 | \maketwodispenvs {lisp}{example}{% | 6259 | \maketwodispenvdef{lisp}{example}{% |
| 6173 | \nonfillstart | 6260 | \nonfillstart |
| 6174 | \tt\setupmarkupstyle{example}% | 6261 | \tt\setupmarkupstyle{example}% |
| 6175 | \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. | 6262 | \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. |
| 6176 | \gobble % eat return | 6263 | \gobble % eat return |
| 6177 | } | 6264 | } |
| 6178 | % @display/@smalldisplay: same as @lisp except keep current font. | 6265 | % @display/@smalldisplay: same as @lisp except keep current font. |
| 6179 | % | 6266 | % |
| 6180 | \makedispenv {display}{% | 6267 | \makedispenvdef{display}{% |
| 6181 | \nonfillstart | 6268 | \nonfillstart |
| 6182 | \gobble | 6269 | \gobble |
| 6183 | } | 6270 | } |
| 6184 | 6271 | ||
| 6185 | % @format/@smallformat: same as @display except don't narrow margins. | 6272 | % @format/@smallformat: same as @display except don't narrow margins. |
| 6186 | % | 6273 | % |
| 6187 | \makedispenv{format}{% | 6274 | \makedispenvdef{format}{% |
| 6188 | \let\nonarrowing = t% | 6275 | \let\nonarrowing = t% |
| 6189 | \nonfillstart | 6276 | \nonfillstart |
| 6190 | \gobble | 6277 | \gobble |
| @@ -6203,7 +6290,7 @@ end | |||
| 6203 | \envdef\flushright{% | 6290 | \envdef\flushright{% |
| 6204 | \let\nonarrowing = t% | 6291 | \let\nonarrowing = t% |
| 6205 | \nonfillstart | 6292 | \nonfillstart |
| 6206 | \advance\leftskip by 0pt plus 1fill | 6293 | \advance\leftskip by 0pt plus 1fill\relax |
| 6207 | \gobble | 6294 | \gobble |
| 6208 | } | 6295 | } |
| 6209 | \let\Eflushright = \afterenvbreak | 6296 | \let\Eflushright = \afterenvbreak |
| @@ -6238,6 +6325,8 @@ end | |||
| 6238 | % we're doing normal filling. So, when using \aboveenvbreak and | 6325 | % we're doing normal filling. So, when using \aboveenvbreak and |
| 6239 | % \afterenvbreak, temporarily make \parskip 0. | 6326 | % \afterenvbreak, temporarily make \parskip 0. |
| 6240 | % | 6327 | % |
| 6328 | \makedispenvdef{quotation}{\quotationstart} | ||
| 6329 | % | ||
| 6241 | \def\quotationstart{% | 6330 | \def\quotationstart{% |
| 6242 | {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip | 6331 | {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip |
| 6243 | \parindent=0pt | 6332 | \parindent=0pt |
| @@ -6253,17 +6342,6 @@ end | |||
| 6253 | \parsearg\quotationlabel | 6342 | \parsearg\quotationlabel |
| 6254 | } | 6343 | } |
| 6255 | 6344 | ||
| 6256 | \envdef\quotation{% | ||
| 6257 | \setnormaldispenv | ||
| 6258 | \quotationstart | ||
| 6259 | } | ||
| 6260 | |||
| 6261 | \envdef\smallquotation{% | ||
| 6262 | \setsmalldispenv | ||
| 6263 | \quotationstart | ||
| 6264 | } | ||
| 6265 | \let\Esmallquotation = \Equotation | ||
| 6266 | |||
| 6267 | % We have retained a nonzero parskip for the environment, since we're | 6345 | % We have retained a nonzero parskip for the environment, since we're |
| 6268 | % doing normal filling. | 6346 | % doing normal filling. |
| 6269 | % | 6347 | % |
| @@ -6275,6 +6353,7 @@ end | |||
| 6275 | \fi | 6353 | \fi |
| 6276 | {\parskip=0pt \afterenvbreak}% | 6354 | {\parskip=0pt \afterenvbreak}% |
| 6277 | } | 6355 | } |
| 6356 | \def\Esmallquotation{\Equotation} | ||
| 6278 | 6357 | ||
| 6279 | % If we're given an argument, typeset it in bold with a colon after. | 6358 | % If we're given an argument, typeset it in bold with a colon after. |
| 6280 | \def\quotationlabel#1{% | 6359 | \def\quotationlabel#1{% |
| @@ -6331,21 +6410,28 @@ end | |||
| 6331 | 6410 | ||
| 6332 | % Setup for the @verbatim environment | 6411 | % Setup for the @verbatim environment |
| 6333 | % | 6412 | % |
| 6334 | % Real tab expansion | 6413 | % Real tab expansion. |
| 6335 | \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount | 6414 | \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount |
| 6336 | % | 6415 | % |
| 6337 | \def\starttabbox{\setbox0=\hbox\bgroup} | 6416 | % We typeset each line of the verbatim in an \hbox, so we can handle |
| 6417 | % tabs. The \global is in case the verbatim line starts with an accent, | ||
| 6418 | % or some other command that starts with a begin-group. Otherwise, the | ||
| 6419 | % entire \verbbox would disappear at the corresponding end-group, before | ||
| 6420 | % it is typeset. Meanwhile, we can't have nested verbatim commands | ||
| 6421 | % (can we?), so the \global won't be overwriting itself. | ||
| 6422 | \newbox\verbbox | ||
| 6423 | \def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} | ||
| 6338 | % | 6424 | % |
| 6339 | \begingroup | 6425 | \begingroup |
| 6340 | \catcode`\^^I=\active | 6426 | \catcode`\^^I=\active |
| 6341 | \gdef\tabexpand{% | 6427 | \gdef\tabexpand{% |
| 6342 | \catcode`\^^I=\active | 6428 | \catcode`\^^I=\active |
| 6343 | \def^^I{\leavevmode\egroup | 6429 | \def^^I{\leavevmode\egroup |
| 6344 | \dimen0=\wd0 % the width so far, or since the previous tab | 6430 | \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab |
| 6345 | \divide\dimen0 by\tabw | 6431 | \divide\dimen\verbbox by\tabw |
| 6346 | \multiply\dimen0 by\tabw % compute previous multiple of \tabw | 6432 | \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw |
| 6347 | \advance\dimen0 by\tabw % advance to next multiple of \tabw | 6433 | \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw |
| 6348 | \wd0=\dimen0 \box0 \starttabbox | 6434 | \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox |
| 6349 | }% | 6435 | }% |
| 6350 | } | 6436 | } |
| 6351 | \endgroup | 6437 | \endgroup |
| @@ -6354,15 +6440,16 @@ end | |||
| 6354 | \def\setupverbatim{% | 6440 | \def\setupverbatim{% |
| 6355 | \let\nonarrowing = t% | 6441 | \let\nonarrowing = t% |
| 6356 | \nonfillstart | 6442 | \nonfillstart |
| 6357 | % Easiest (and conventionally used) font for verbatim | 6443 | \tt % easiest (and conventionally used) font for verbatim |
| 6358 | \tt | 6444 | % The \leavevmode here is for blank lines. Otherwise, we would |
| 6359 | \def\par{\leavevmode\egroup\box0\endgraf}% | 6445 | % never \starttabox and the \egroup would end verbatim mode. |
| 6446 | \def\par{\leavevmode\egroup\box\verbbox\endgraf}% | ||
| 6360 | \tabexpand | 6447 | \tabexpand |
| 6361 | \setupmarkupstyle{verbatim}% | 6448 | \setupmarkupstyle{verbatim}% |
| 6362 | % Respect line breaks, | 6449 | % Respect line breaks, |
| 6363 | % print special symbols as themselves, and | 6450 | % print special symbols as themselves, and |
| 6364 | % make each space count | 6451 | % make each space count. |
| 6365 | % must do in this order: | 6452 | % Must do in this order: |
| 6366 | \obeylines \uncatcodespecials \sepspaces | 6453 | \obeylines \uncatcodespecials \sepspaces |
| 6367 | \everypar{\starttabbox}% | 6454 | \everypar{\starttabbox}% |
| 6368 | } | 6455 | } |
| @@ -6419,6 +6506,7 @@ end | |||
| 6419 | \makevalueexpandable | 6506 | \makevalueexpandable |
| 6420 | \setupverbatim | 6507 | \setupverbatim |
| 6421 | \indexnofonts % Allow `@@' and other weird things in file names. | 6508 | \indexnofonts % Allow `@@' and other weird things in file names. |
| 6509 | \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% | ||
| 6422 | \input #1 | 6510 | \input #1 |
| 6423 | \afterenvbreak | 6511 | \afterenvbreak |
| 6424 | }% | 6512 | }% |
| @@ -6505,7 +6593,7 @@ end | |||
| 6505 | #1#2 \endheader | 6593 | #1#2 \endheader |
| 6506 | % common ending: | 6594 | % common ending: |
| 6507 | \interlinepenalty = 10000 | 6595 | \interlinepenalty = 10000 |
| 6508 | \advance\rightskip by 0pt plus 1fil | 6596 | \advance\rightskip by 0pt plus 1fil\relax |
| 6509 | \endgraf | 6597 | \endgraf |
| 6510 | \nobreak\vskip -\parskip | 6598 | \nobreak\vskip -\parskip |
| 6511 | \penalty\defunpenalty % signal to \startdefun and \dodefunx | 6599 | \penalty\defunpenalty % signal to \startdefun and \dodefunx |
| @@ -6805,25 +6893,28 @@ end | |||
| 6805 | } | 6893 | } |
| 6806 | \fi | 6894 | \fi |
| 6807 | 6895 | ||
| 6808 | \def\scanmacro#1{% | 6896 | \def\scanmacro#1{\begingroup |
| 6809 | \begingroup | 6897 | \newlinechar`\^^M |
| 6810 | \newlinechar`\^^M | 6898 | \let\xeatspaces\eatspaces |
| 6811 | \let\xeatspaces\eatspaces | 6899 | % |
| 6812 | % Undo catcode changes of \startcontents and \doprintindex | 6900 | % Undo catcode changes of \startcontents and \doprintindex |
| 6813 | % When called from @insertcopying or (short)caption, we need active | 6901 | % When called from @insertcopying or (short)caption, we need active |
| 6814 | % backslash to get it printed correctly. Previously, we had | 6902 | % backslash to get it printed correctly. Previously, we had |
| 6815 | % \catcode`\\=\other instead. We'll see whether a problem appears | 6903 | % \catcode`\\=\other instead. We'll see whether a problem appears |
| 6816 | % with macro expansion. --kasal, 19aug04 | 6904 | % with macro expansion. --kasal, 19aug04 |
| 6817 | \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ | 6905 | \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ |
| 6818 | % ... and \example | 6906 | % |
| 6819 | \spaceisspace | 6907 | % ... and for \example: |
| 6820 | % | 6908 | \spaceisspace |
| 6821 | % Append \endinput to make sure that TeX does not see the ending newline. | 6909 | % |
| 6822 | % I've verified that it is necessary both for e-TeX and for ordinary TeX | 6910 | % The \empty here causes a following catcode 5 newline to be eaten |
| 6823 | % --kasal, 29nov03 | 6911 | % as part of reading whitespace after a control sequence. It does |
| 6824 | \scantokens{#1\endinput}% | 6912 | % not eat a catcode 13 newline. There's no good way to handle the |
| 6825 | \endgroup | 6913 | % two cases. See the Macro Details node in the manual for the |
| 6826 | } | 6914 | % workaround we currently have to recommend for macros and |
| 6915 | % line-oriented commands. | ||
| 6916 | \scantokens{#1\empty}% | ||
| 6917 | \endgroup} | ||
| 6827 | 6918 | ||
| 6828 | \def\scanexp#1{% | 6919 | \def\scanexp#1{% |
| 6829 | \edef\temp{\noexpand\scanmacro{#1}}% | 6920 | \edef\temp{\noexpand\scanmacro{#1}}% |
| @@ -6877,17 +6968,18 @@ end | |||
| 6877 | 6968 | ||
| 6878 | % Macro bodies are absorbed as an argument in a context where | 6969 | % Macro bodies are absorbed as an argument in a context where |
| 6879 | % all characters are catcode 10, 11 or 12, except \ which is active | 6970 | % all characters are catcode 10, 11 or 12, except \ which is active |
| 6880 | % (as in normal texinfo). It is necessary to change the definition of \. | 6971 | % (as in normal texinfo). It is necessary to change the definition of \ |
| 6881 | 6972 | % to recognize macro arguments; this is the job of \mbodybackslash. | |
| 6973 | % | ||
| 6882 | % Non-ASCII encodings make 8-bit characters active, so un-activate | 6974 | % Non-ASCII encodings make 8-bit characters active, so un-activate |
| 6883 | % them to avoid their expansion. Must do this non-globally, to | 6975 | % them to avoid their expansion. Must do this non-globally, to |
| 6884 | % confine the change to the current group. | 6976 | % confine the change to the current group. |
| 6885 | 6977 | % | |
| 6886 | % It's necessary to have hard CRs when the macro is executed. This is | 6978 | % It's necessary to have hard CRs when the macro is executed. This is |
| 6887 | % done by making ^^M (\endlinechar) catcode 12 when reading the macro | 6979 | % done by making ^^M (\endlinechar) catcode 12 when reading the macro |
| 6888 | % body, and then making it the \newlinechar in \scanmacro. | 6980 | % body, and then making it the \newlinechar in \scanmacro. |
| 6889 | 6981 | % | |
| 6890 | \def\scanctxt{% | 6982 | \def\scanctxt{% used as subroutine |
| 6891 | \catcode`\"=\other | 6983 | \catcode`\"=\other |
| 6892 | \catcode`\+=\other | 6984 | \catcode`\+=\other |
| 6893 | \catcode`\<=\other | 6985 | \catcode`\<=\other |
| @@ -6900,13 +6992,13 @@ end | |||
| 6900 | \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi | 6992 | \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi |
| 6901 | } | 6993 | } |
| 6902 | 6994 | ||
| 6903 | \def\scanargctxt{% | 6995 | \def\scanargctxt{% used for copying and captions, not macros. |
| 6904 | \scanctxt | 6996 | \scanctxt |
| 6905 | \catcode`\\=\other | 6997 | \catcode`\\=\other |
| 6906 | \catcode`\^^M=\other | 6998 | \catcode`\^^M=\other |
| 6907 | } | 6999 | } |
| 6908 | 7000 | ||
| 6909 | \def\macrobodyctxt{% | 7001 | \def\macrobodyctxt{% used for @macro definitions |
| 6910 | \scanctxt | 7002 | \scanctxt |
| 6911 | \catcode`\{=\other | 7003 | \catcode`\{=\other |
| 6912 | \catcode`\}=\other | 7004 | \catcode`\}=\other |
| @@ -6914,30 +7006,48 @@ end | |||
| 6914 | \usembodybackslash | 7006 | \usembodybackslash |
| 6915 | } | 7007 | } |
| 6916 | 7008 | ||
| 6917 | \def\macroargctxt{% | 7009 | \def\macroargctxt{% used when scanning invocations |
| 6918 | \scanctxt | 7010 | \scanctxt |
| 6919 | \catcode`\\=\other | 7011 | \catcode`\\=0 |
| 6920 | } | 7012 | } |
| 7013 | % why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" | ||
| 7014 | % for the single characters \ { }. Thus, we end up with the "commands" | ||
| 7015 | % that would be written @\ @{ @} in a Texinfo document. | ||
| 7016 | % | ||
| 7017 | % We already have @{ and @}. For @\, we define it here, and only for | ||
| 7018 | % this purpose, to produce a typewriter backslash (so, the @\ that we | ||
| 7019 | % define for @math can't be used with @macro calls): | ||
| 7020 | % | ||
| 7021 | \def\\{\normalbackslash}% | ||
| 7022 | % | ||
| 7023 | % We would like to do this for \, too, since that is what makeinfo does. | ||
| 7024 | % But it is not possible, because Texinfo already has a command @, for a | ||
| 7025 | % cedilla accent. Documents must use @comma{} instead. | ||
| 7026 | % | ||
| 7027 | % \anythingelse will almost certainly be an error of some kind. | ||
| 7028 | |||
| 6921 | 7029 | ||
| 6922 | % \mbodybackslash is the definition of \ in @macro bodies. | 7030 | % \mbodybackslash is the definition of \ in @macro bodies. |
| 6923 | % It maps \foo\ => \csname macarg.foo\endcsname => #N | 7031 | % It maps \foo\ => \csname macarg.foo\endcsname => #N |
| 6924 | % where N is the macro parameter number. | 7032 | % where N is the macro parameter number. |
| 6925 | % We define \csname macarg.\endcsname to be \realbackslash, so | 7033 | % We define \csname macarg.\endcsname to be \realbackslash, so |
| 6926 | % \\ in macro replacement text gets you a backslash. | 7034 | % \\ in macro replacement text gets you a backslash. |
| 6927 | 7035 | % | |
| 6928 | {\catcode`@=0 @catcode`@\=@active | 7036 | {\catcode`@=0 @catcode`@\=@active |
| 6929 | @gdef@usembodybackslash{@let\=@mbodybackslash} | 7037 | @gdef@usembodybackslash{@let\=@mbodybackslash} |
| 6930 | @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} | 7038 | @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} |
| 6931 | } | 7039 | } |
| 6932 | \expandafter\def\csname macarg.\endcsname{\realbackslash} | 7040 | \expandafter\def\csname macarg.\endcsname{\realbackslash} |
| 6933 | 7041 | ||
| 7042 | \def\margbackslash#1{\char`\#1 } | ||
| 7043 | |||
| 6934 | \def\macro{\recursivefalse\parsearg\macroxxx} | 7044 | \def\macro{\recursivefalse\parsearg\macroxxx} |
| 6935 | \def\rmacro{\recursivetrue\parsearg\macroxxx} | 7045 | \def\rmacro{\recursivetrue\parsearg\macroxxx} |
| 6936 | 7046 | ||
| 6937 | \def\macroxxx#1{% | 7047 | \def\macroxxx#1{% |
| 6938 | \getargs{#1}% now \macname is the macname and \argl the arglist | 7048 | \getargs{#1}% now \macname is the macname and \argl the arglist |
| 6939 | \ifx\argl\empty % no arguments | 7049 | \ifx\argl\empty % no arguments |
| 6940 | \paramno=0% | 7050 | \paramno=0 |
| 6941 | \else | 7051 | \else |
| 6942 | \expandafter\parsemargdef \argl;% | 7052 | \expandafter\parsemargdef \argl;% |
| 6943 | \fi | 7053 | \fi |
| @@ -6986,28 +7096,32 @@ end | |||
| 6986 | % an opening brace, and that opening brace is not consumed. | 7096 | % an opening brace, and that opening brace is not consumed. |
| 6987 | \def\getargs#1{\getargsxxx#1{}} | 7097 | \def\getargs#1{\getargsxxx#1{}} |
| 6988 | \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} | 7098 | \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} |
| 6989 | \def\getmacname #1 #2\relax{\macname={#1}} | 7099 | \def\getmacname#1 #2\relax{\macname={#1}} |
| 6990 | \def\getmacargs#1{\def\argl{#1}} | 7100 | \def\getmacargs#1{\def\argl{#1}} |
| 6991 | 7101 | ||
| 6992 | % Parse the optional {params} list. Set up \paramno and \paramlist | 7102 | % Parse the optional {params} list. Set up \paramno and \paramlist |
| 6993 | % so \defmacro knows what to do. Define \macarg.blah for each blah | 7103 | % so \defmacro knows what to do. Define \macarg.blah for each blah |
| 6994 | % in the params list, to be ##N where N is the position in that list. | 7104 | % in the params list to be ##N where N is the position in that list. |
| 6995 | % That gets used by \mbodybackslash (above). | 7105 | % That gets used by \mbodybackslash (above). |
| 6996 | 7106 | % | |
| 6997 | % We need to get `macro parameter char #' into several definitions. | 7107 | % We need to get `macro parameter char #' into several definitions. |
| 6998 | % The technique used is stolen from LaTeX: let \hash be something | 7108 | % The technique used is stolen from LaTeX: let \hash be something |
| 6999 | % unexpandable, insert that wherever you need a #, and then redefine | 7109 | % unexpandable, insert that wherever you need a #, and then redefine |
| 7000 | % it to # just before using the token list produced. | 7110 | % it to # just before using the token list produced. |
| 7001 | % | 7111 | % |
| 7002 | % The same technique is used to protect \eatspaces till just before | 7112 | % The same technique is used to protect \eatspaces till just before |
| 7003 | % the macro is used. | 7113 | % the macro is used. |
| 7004 | 7114 | ||
| 7005 | \def\parsemargdef#1;{\paramno=0\def\paramlist{}% | 7115 | \def\parsemargdef#1;{% |
| 7006 | \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} | 7116 | \paramno=0\def\paramlist{}% |
| 7117 | \let\hash\relax | ||
| 7118 | \let\xeatspaces\relax | ||
| 7119 | \parsemargdefxxx#1,;,% | ||
| 7120 | } | ||
| 7007 | \def\parsemargdefxxx#1,{% | 7121 | \def\parsemargdefxxx#1,{% |
| 7008 | \if#1;\let\next=\relax | 7122 | \if#1;\let\next=\relax |
| 7009 | \else \let\next=\parsemargdefxxx | 7123 | \else \let\next=\parsemargdefxxx |
| 7010 | \advance\paramno by 1% | 7124 | \advance\paramno by 1 |
| 7011 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname | 7125 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname |
| 7012 | {\xeatspaces{\hash\the\paramno}}% | 7126 | {\xeatspaces{\hash\the\paramno}}% |
| 7013 | \edef\paramlist{\paramlist\hash\the\paramno,}% | 7127 | \edef\paramlist{\paramlist\hash\the\paramno,}% |
| @@ -7015,7 +7129,7 @@ end | |||
| 7015 | 7129 | ||
| 7016 | % These two commands read recursive and nonrecursive macro bodies. | 7130 | % These two commands read recursive and nonrecursive macro bodies. |
| 7017 | % (They're different since rec and nonrec macros end differently.) | 7131 | % (They're different since rec and nonrec macros end differently.) |
| 7018 | 7132 | % | |
| 7019 | \long\def\parsemacbody#1@end macro% | 7133 | \long\def\parsemacbody#1@end macro% |
| 7020 | {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% | 7134 | {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% |
| 7021 | \long\def\parsermacbody#1@end rmacro% | 7135 | \long\def\parsermacbody#1@end rmacro% |
| @@ -7026,6 +7140,7 @@ end | |||
| 7026 | % Much magic with \expandafter here. | 7140 | % Much magic with \expandafter here. |
| 7027 | % \xdef is used so that macro definitions will survive the file | 7141 | % \xdef is used so that macro definitions will survive the file |
| 7028 | % they're defined in; @include reads the file inside a group. | 7142 | % they're defined in; @include reads the file inside a group. |
| 7143 | % | ||
| 7029 | \def\defmacro{% | 7144 | \def\defmacro{% |
| 7030 | \let\hash=##% convert placeholders to macro parameter chars | 7145 | \let\hash=##% convert placeholders to macro parameter chars |
| 7031 | \ifrecursive | 7146 | \ifrecursive |
| @@ -7089,7 +7204,8 @@ end | |||
| 7089 | % \braceorline decides whether the next nonwhitespace character is a | 7204 | % \braceorline decides whether the next nonwhitespace character is a |
| 7090 | % {. If so it reads up to the closing }, if not, it reads the whole | 7205 | % {. If so it reads up to the closing }, if not, it reads the whole |
| 7091 | % line. Whatever was read is then fed to the next control sequence | 7206 | % line. Whatever was read is then fed to the next control sequence |
| 7092 | % as an argument (by \parsebrace or \parsearg) | 7207 | % as an argument (by \parsebrace or \parsearg). |
| 7208 | % | ||
| 7093 | \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} | 7209 | \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} |
| 7094 | \def\braceorlinexxx{% | 7210 | \def\braceorlinexxx{% |
| 7095 | \ifx\nchar\bgroup\else | 7211 | \ifx\nchar\bgroup\else |
| @@ -7099,7 +7215,8 @@ end | |||
| 7099 | 7215 | ||
| 7100 | % @alias. | 7216 | % @alias. |
| 7101 | % We need some trickery to remove the optional spaces around the equal | 7217 | % We need some trickery to remove the optional spaces around the equal |
| 7102 | % sign. Just make them active and then expand them all to nothing. | 7218 | % sign. Make them active and then expand them all to nothing. |
| 7219 | % | ||
| 7103 | \def\alias{\parseargusing\obeyspaces\aliasxxx} | 7220 | \def\alias{\parseargusing\obeyspaces\aliasxxx} |
| 7104 | \def\aliasxxx #1{\aliasyyy#1\relax} | 7221 | \def\aliasxxx #1{\aliasyyy#1\relax} |
| 7105 | \def\aliasyyy #1=#2\relax{% | 7222 | \def\aliasyyy #1=#2\relax{% |
| @@ -7357,7 +7474,8 @@ end | |||
| 7357 | \angleleft un\-de\-fined\angleright | 7474 | \angleleft un\-de\-fined\angleright |
| 7358 | \iflinks | 7475 | \iflinks |
| 7359 | \ifhavexrefs | 7476 | \ifhavexrefs |
| 7360 | \message{\linenumber Undefined cross reference `#1'.}% | 7477 | {\toks0 = {#1}% avoid expansion of possibly-complex value |
| 7478 | \message{\linenumber Undefined cross reference `\the\toks0'.}}% | ||
| 7361 | \else | 7479 | \else |
| 7362 | \ifwarnedxrefs\else | 7480 | \ifwarnedxrefs\else |
| 7363 | \global\warnedxrefstrue | 7481 | \global\warnedxrefstrue |
| @@ -7687,7 +7805,7 @@ end | |||
| 7687 | % #2 is (optional) width, #3 is (optional) height. | 7805 | % #2 is (optional) width, #3 is (optional) height. |
| 7688 | % #4 is (ignored optional) html alt text. | 7806 | % #4 is (ignored optional) html alt text. |
| 7689 | % #5 is (ignored optional) extension. | 7807 | % #5 is (ignored optional) extension. |
| 7690 | % #6 is just the usual extra ignored arg for parsing this stuff. | 7808 | % #6 is just the usual extra ignored arg for parsing stuff. |
| 7691 | \newif\ifimagevmode | 7809 | \newif\ifimagevmode |
| 7692 | \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup | 7810 | \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup |
| 7693 | \catcode`\^^M = 5 % in case we're inside an example | 7811 | \catcode`\^^M = 5 % in case we're inside an example |
| @@ -8339,8 +8457,8 @@ directory should work if nowhere else does.} | |||
| 8339 | \gdef^^ea{\ogonek{e}} | 8457 | \gdef^^ea{\ogonek{e}} |
| 8340 | \gdef^^eb{\"e} | 8458 | \gdef^^eb{\"e} |
| 8341 | \gdef^^ec{\v e} | 8459 | \gdef^^ec{\v e} |
| 8342 | \gdef^^ed{\'\i} | 8460 | \gdef^^ed{\'{\dotless{i}}} |
| 8343 | \gdef^^ee{\^\i} | 8461 | \gdef^^ee{\^{\dotless{i}}} |
| 8344 | \gdef^^ef{\v d} | 8462 | \gdef^^ef{\v d} |
| 8345 | % | 8463 | % |
| 8346 | \gdef^^f0{\dh} | 8464 | \gdef^^f0{\dh} |
| @@ -8431,7 +8549,7 @@ directory should work if nowhere else does.} | |||
| 8431 | 8549 | ||
| 8432 | \gdef\DeclareUnicodeCharacter#1#2{% | 8550 | \gdef\DeclareUnicodeCharacter#1#2{% |
| 8433 | \countUTFz = "#1\relax | 8551 | \countUTFz = "#1\relax |
| 8434 | \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% | 8552 | %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% |
| 8435 | \begingroup | 8553 | \begingroup |
| 8436 | \parseXMLCharref | 8554 | \parseXMLCharref |
| 8437 | \def\UTFviiiTwoOctets##1##2{% | 8555 | \def\UTFviiiTwoOctets##1##2{% |
| @@ -8899,8 +9017,8 @@ directory should work if nowhere else does.} | |||
| 8899 | % Prevent underfull vbox error messages. | 9017 | % Prevent underfull vbox error messages. |
| 8900 | \vbadness = 10000 | 9018 | \vbadness = 10000 |
| 8901 | 9019 | ||
| 8902 | % Don't be so finicky about underfull hboxes, either. | 9020 | % Don't be very finicky about underfull hboxes, either. |
| 8903 | \hbadness = 2000 | 9021 | \hbadness = 6666 |
| 8904 | 9022 | ||
| 8905 | % Following George Bush, get rid of widows and orphans. | 9023 | % Following George Bush, get rid of widows and orphans. |
| 8906 | \widowpenalty=10000 | 9024 | \widowpenalty=10000 |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 6a77c138404..7f911b81f09 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -37,8 +37,7 @@ | |||
| 37 | @end macro | 37 | @end macro |
| 38 | 38 | ||
| 39 | @copying | 39 | @copying |
| 40 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, | 40 | Copyright @copyright{} 1999-2011 Free Software Foundation, Inc. |
| 41 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 42 | 41 | ||
| 43 | @quotation | 42 | @quotation |
| 44 | Permission is granted to copy, distribute and/or modify this document | 43 | Permission is granted to copy, distribute and/or modify this document |
| @@ -696,6 +695,14 @@ This method is also similar to @option{ssh}. It only uses the | |||
| 696 | @command{krlogin -x} command to log in to the remote host. | 695 | @command{krlogin -x} command to log in to the remote host. |
| 697 | 696 | ||
| 698 | 697 | ||
| 698 | @item @option{ksu} | ||
| 699 | @cindex method ksu | ||
| 700 | @cindex ksu method | ||
| 701 | @cindex Kerberos (with ksu method) | ||
| 702 | |||
| 703 | This is another method from the Kerberos suite. It behaves like @option{su}. | ||
| 704 | |||
| 705 | |||
| 699 | @item @option{plink} | 706 | @item @option{plink} |
| 700 | @cindex method plink | 707 | @cindex method plink |
| 701 | @cindex plink method | 708 | @cindex plink method |
| @@ -2483,6 +2490,15 @@ remote file names. It does not work for the @option{ftp} and | |||
| 2483 | @option{smb} methods. Association of a pty, as specified in | 2490 | @option{smb} methods. Association of a pty, as specified in |
| 2484 | @code{start-file-process}, is not supported. | 2491 | @code{start-file-process}, is not supported. |
| 2485 | 2492 | ||
| 2493 | @code{process-file} and @code{start-file-process} work on the remote | ||
| 2494 | host, when the variable @code{default-directory} is remote: | ||
| 2495 | |||
| 2496 | @lisp | ||
| 2497 | (let ((default-directory "/ssh:remote.host:")) | ||
| 2498 | (start-file-process "grep" (get-buffer-create "*grep*") | ||
| 2499 | "/bin/sh" "-c" "grep -e tramp *")) | ||
| 2500 | @end lisp | ||
| 2501 | |||
| 2486 | @ifset emacsgvfs | 2502 | @ifset emacsgvfs |
| 2487 | If the remote host is mounted via GVFS (see @ref{GVFS based methods}), | 2503 | If the remote host is mounted via GVFS (see @ref{GVFS based methods}), |
| 2488 | the remote filesystem is mounted locally. Therefore, there are no | 2504 | the remote filesystem is mounted locally. Therefore, there are no |
| @@ -3665,7 +3681,3 @@ for @value{emacsothername}. | |||
| 3665 | @c * Use `filename' resp. `file name' consistently. | 3681 | @c * Use `filename' resp. `file name' consistently. |
| 3666 | @c * Use `host' resp. `machine' consistently. | 3682 | @c * Use `host' resp. `machine' consistently. |
| 3667 | @c * Consistent small or capitalized words especially in menues. | 3683 | @c * Consistent small or capitalized words especially in menues. |
| 3668 | |||
| 3669 | @ignore | ||
| 3670 | arch-tag: f96dd66e-6dd3-4c92-8d77-9c56205ba808 | ||
| 3671 | @end ignore | ||
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 38758d39bc9..e72e68d9a2b 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi | |||
| @@ -2,8 +2,7 @@ | |||
| 2 | @c texi/trampver.texi. Generated from trampver.texi.in by configure. | 2 | @c texi/trampver.texi. Generated from trampver.texi.in by configure. |
| 3 | 3 | ||
| 4 | @c This is part of the Emacs manual. | 4 | @c This is part of the Emacs manual. |
| 5 | @c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, | 5 | @c Copyright (C) 2003-2011 Free Software Foundation, Inc. |
| 6 | @c 2010 Free Software Foundation, Inc. | ||
| 7 | @c See file doclicense.texi for copying conditions. | 6 | @c See file doclicense.texi for copying conditions. |
| 8 | 7 | ||
| 9 | @c In the Tramp CVS, the version number is auto-frobbed from | 8 | @c In the Tramp CVS, the version number is auto-frobbed from |
diff --git a/doc/misc/url.texi b/doc/misc/url.texi index acb4145f120..5bfa96ec673 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi | |||
| @@ -21,8 +21,7 @@ | |||
| 21 | @copying | 21 | @copying |
| 22 | This file documents the Emacs Lisp URL loading package. | 22 | This file documents the Emacs Lisp URL loading package. |
| 23 | 23 | ||
| 24 | Copyright @copyright{} 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, | 24 | Copyright @copyright{} 1993-1999, 2002, 2004-2011 Free Software Foundation, Inc. |
| 25 | 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 26 | 25 | ||
| 27 | @quotation | 26 | @quotation |
| 28 | Permission is granted to copy, distribute and/or modify this document | 27 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1194,7 +1193,3 @@ Connect directly. | |||
| 1194 | @printindex cp | 1193 | @printindex cp |
| 1195 | 1194 | ||
| 1196 | @bye | 1195 | @bye |
| 1197 | |||
| 1198 | @ignore | ||
| 1199 | arch-tag: c96be356-7e2d-4196-bcda-b13246c5c3f0 | ||
| 1200 | @end ignore | ||
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 2a4d4191082..fe1098c49ff 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi | |||
| @@ -3,8 +3,7 @@ | |||
| 3 | @settitle VIP | 3 | @settitle VIP |
| 4 | 4 | ||
| 5 | @copying | 5 | @copying |
| 6 | Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 6 | Copyright @copyright{} 1987, 2001-2011 Free Software Foundation, Inc. |
| 7 | 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 8 | 7 | ||
| 9 | @quotation | 8 | @quotation |
| 10 | Permission is granted to copy, distribute and/or modify this document | 9 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1946,7 +1945,3 @@ file. | |||
| 1946 | @printindex cp | 1945 | @printindex cp |
| 1947 | 1946 | ||
| 1948 | @bye | 1947 | @bye |
| 1949 | |||
| 1950 | @ignore | ||
| 1951 | arch-tag: 7c5d17b9-1d21-4261-a88a-b9fdbbf1020b | ||
| 1952 | @end ignore | ||
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 2100e652950..9e55e08242f 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi | |||
| @@ -7,8 +7,7 @@ | |||
| 7 | @setfilename ../../info/viper | 7 | @setfilename ../../info/viper |
| 8 | 8 | ||
| 9 | @copying | 9 | @copying |
| 10 | Copyright @copyright{} 1995, 1996, 1997, 2001, 2002, 2003, 2004, | 10 | Copyright @copyright{} 1995-1997, 2001-2011 Free Software Foundation, Inc. |
| 11 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 12 | 11 | ||
| 13 | @quotation | 12 | @quotation |
| 14 | Permission is granted to copy, distribute and/or modify this document | 13 | Permission is granted to copy, distribute and/or modify this document |
| @@ -4558,7 +4557,3 @@ zapman@@cc.gatech.edu (Jason Zapman II), | |||
| 4558 | @printindex cp | 4557 | @printindex cp |
| 4559 | 4558 | ||
| 4560 | @bye | 4559 | @bye |
| 4561 | |||
| 4562 | @ignore | ||
| 4563 | arch-tag: f53e866a-15cf-4b1e-aead-77da9da1e864 | ||
| 4564 | @end ignore | ||
diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 2d95daf36d4..667dab55221 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi | |||
| @@ -8,8 +8,7 @@ | |||
| 8 | @c %**end of header | 8 | @c %**end of header |
| 9 | 9 | ||
| 10 | @copying | 10 | @copying |
| 11 | Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 11 | Copyright @copyright{} 2000-2011 Free Software Foundation, Inc. |
| 12 | 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 13 | 12 | ||
| 14 | @quotation | 13 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1829,7 +1828,3 @@ variables, and widgets described in this manual. | |||
| 1829 | @printindex cp | 1828 | @printindex cp |
| 1830 | 1829 | ||
| 1831 | @bye | 1830 | @bye |
| 1832 | |||
| 1833 | @ignore | ||
| 1834 | arch-tag: 2b427731-4c61-4e72-85de-5ccec9c623f0 | ||
| 1835 | @end ignore | ||
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 788c10b87dd..9f77a077703 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi | |||
| @@ -18,8 +18,7 @@ | |||
| 18 | This file documents WoMan: A program to browse Unix manual pages `W.O. | 18 | This file documents WoMan: A program to browse Unix manual pages `W.O. |
| 19 | (without) man'. | 19 | (without) man'. |
| 20 | 20 | ||
| 21 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 21 | Copyright @copyright{} 2001-2011 Free Software Foundation, Inc. |
| 22 | 2009, 2010 Free Software Foundation, Inc. | ||
| 23 | 22 | ||
| 24 | @quotation | 23 | @quotation |
| 25 | Permission is granted to copy, distribute and/or modify this document | 24 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1430,7 +1429,3 @@ Eli Zaretskii, @email{eliz@@is.elta.co.il} | |||
| 1430 | @printindex cp | 1429 | @printindex cp |
| 1431 | 1430 | ||
| 1432 | @bye | 1431 | @bye |
| 1433 | |||
| 1434 | @ignore | ||
| 1435 | arch-tag: a1a6b715-396f-4378-9b94-0b2ca0aa5028 | ||
| 1436 | @end ignore | ||