diff options
| author | Miles Bader | 2004-09-21 09:34:12 +0000 |
|---|---|---|
| committer | Miles Bader | 2004-09-21 09:34:12 +0000 |
| commit | 4b2ed4a6151dac2d11e414e2f923da5e7160ba4f (patch) | |
| tree | 035379ac696016d8be5099a94fb6b8f6144f7a99 | |
| parent | fb06d0ce437dec8fb9d913499021fda5fd10ae59 (diff) | |
| parent | 88a74fa51b4dc8763b607a90f0ee8a099f193a24 (diff) | |
| download | emacs-4b2ed4a6151dac2d11e414e2f923da5e7160ba4f.tar.gz emacs-4b2ed4a6151dac2d11e414e2f923da5e7160ba4f.zip | |
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-43
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-553
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-557
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-558
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-559
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-561
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-30
Update from CVS
73 files changed, 1474 insertions, 810 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 4876e35b6b2..3c67f2e1bbb 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2004-09-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * FOR-RELEASE (Indications): Rearrange checklists for Emacs and | ||
| 4 | Elisp manuals. | ||
| 5 | |||
| 6 | 2004-09-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 7 | |||
| 8 | * FOR-RELEASE (Indications): Clean up and update checklists for | ||
| 9 | Emacs and Elisp manuals. | ||
| 10 | |||
| 1 | 2004-09-11 Kim F. Storm <storm@cua.dk> | 11 | 2004-09-11 Kim F. Storm <storm@cua.dk> |
| 2 | 12 | ||
| 3 | * FOR-RELEASE (New features): Remove Gnus 5.10 entry (Done!). | 13 | * FOR-RELEASE (New features): Remove Gnus 5.10 entry (Done!). |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 05bbd0b7c5c..19f06efa4a7 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -44,156 +44,112 @@ isearch faces. | |||
| 44 | 44 | ||
| 45 | ** Check the Emacs manual. | 45 | ** Check the Emacs manual. |
| 46 | 46 | ||
| 47 | Write you name/initials in the DONE column when you have | 47 | Each manual section should be proof-read by at least two people. |
| 48 | proof-read the corresponding manual section. | 48 | After each file name, on the same line or the following line, come the |
| 49 | 49 | names of the people who have checked it. | |
| 50 | DONE SECTION | 50 | |
| 51 | --------------------------------------------- | 51 | |
| 52 | man/abbrevs.texi | 52 | SECTION READERS |
| 53 | man/ack.texi | 53 | ----------------------------- |
| 54 | man/ada-mode.texi | 54 | man/abbrevs.texi |
| 55 | man/anti.texi | 55 | man/anti.texi |
| 56 | man/autotype.texi | 56 | man/basic.texi "Luc Teirlinck" |
| 57 | man/back.texi | 57 | man/buffers.texi "Luc Teirlinck" |
| 58 | man/basic.texi | 58 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> |
| 59 | man/buffers.texi | 59 | man/calendar.texi |
| 60 | man/building.texi | 60 | man/cmdargs.texi |
| 61 | man/calc.texi | 61 | man/commands.texi "Luc Teirlinck" |
| 62 | man/calendar.texi | 62 | man/custom.texi |
| 63 | man/cc-mode.texi | 63 | man/dired.texi |
| 64 | man/cl.texi | 64 | man/display.texi "Luc Teirlinck" |
| 65 | man/cmdargs.texi | 65 | man/emacs.texi "Luc Teirlinck" |
| 66 | man/commands.texi | 66 | man/entering.texi "Luc Teirlinck" |
| 67 | man/custom.texi | 67 | man/files.texi "Luc Teirlinck" |
| 68 | man/dired.texi | 68 | man/fixit.texi "Luc Teirlinck" |
| 69 | man/dired-x.texi | 69 | man/frames.texi "Luc Teirlinck" |
| 70 | man/display.texi | 70 | man/glossary.texi |
| 71 | man/doclicense.texi | 71 | man/help.texi "Luc Teirlinck" |
| 72 | man/ebrowse.texi | 72 | man/indent.texi "Luc Teirlinck" |
| 73 | man/ediff.texi | 73 | man/killing.texi "Luc Teirlinck" |
| 74 | man/emacs-mime.texi | 74 | man/kmacro.texi "Luc Teirlinck" |
| 75 | man/emacs.texi | 75 | man/macos.texi |
| 76 | man/emacs-xtra.texi | 76 | man/maintaining.texi |
| 77 | man/entering.texi | 77 | man/major.texi "Luc Teirlinck" |
| 78 | man/eshell.texi | 78 | man/mark.texi "Luc Teirlinck" |
| 79 | man/eudc.texi | 79 | man/mini.texi "Luc Teirlinck" |
| 80 | man/faq.texi | 80 | man/misc.texi |
| 81 | man/files.texi | 81 | man/msdog.texi |
| 82 | man/fixit.texi | 82 | man/mule.texi "Luc Teirlinck" |
| 83 | man/flymake.texi | 83 | man/m-x.texi "Luc Teirlinck" |
| 84 | man/forms.texi | 84 | man/picture.texi |
| 85 | man/frames.texi | 85 | man/programs.texi |
| 86 | man/glossary.texi | 86 | man/regs.texi "Luc Teirlinck" |
| 87 | man/gnus-faq.texi | 87 | man/rmail.texi |
| 88 | man/gnus.texi | 88 | man/screen.texi "Luc Teirlinck" |
| 89 | man/gnu.texi | 89 | man/search.texi "Luc Teirlinck" |
| 90 | man/help.texi | 90 | man/sending.texi |
| 91 | man/idlwave.texi | 91 | man/text.texi |
| 92 | man/indent.texi | 92 | man/trouble.texi |
| 93 | man/info.texi | 93 | man/windows.texi "Luc Teirlinck" |
| 94 | man/killing.texi | 94 | man/xresources.texi |
| 95 | man/kmacro.texi | ||
| 96 | man/macos.texi | ||
| 97 | man/maintaining.texi | ||
| 98 | man/major.texi | ||
| 99 | man/mark.texi | ||
| 100 | man/message.texi | ||
| 101 | man/mh-e.texi | ||
| 102 | man/mini.texi | ||
| 103 | man/misc.texi | ||
| 104 | man/msdog.texi | ||
| 105 | man/mule.texi | ||
| 106 | man/m-x.texi | ||
| 107 | man/pcl-cvs.texi | ||
| 108 | man/pgg.texi | ||
| 109 | man/picture.texi | ||
| 110 | man/programs.texi | ||
| 111 | man/reftex.texi | ||
| 112 | man/regs.texi | ||
| 113 | man/rmail.texi | ||
| 114 | man/screen.texi | ||
| 115 | man/sc.texi | ||
| 116 | man/search.texi | ||
| 117 | man/sending.texi | ||
| 118 | man/ses.texi | ||
| 119 | man/sieve.texi | ||
| 120 | man/smtpmail.texi | ||
| 121 | man/speedbar.texi | ||
| 122 | man/texinfo.tex | ||
| 123 | man/text.texi | ||
| 124 | man/tramp.texi | ||
| 125 | man/trampver.texi | ||
| 126 | man/trouble.texi | ||
| 127 | man/viper.texi | ||
| 128 | man/vip.texi | ||
| 129 | man/widget.texi | ||
| 130 | man/windows.texi | ||
| 131 | man/woman.texi | ||
| 132 | man/xresources.texi | ||
| 133 | 95 | ||
| 134 | ** Check the Emacs Lisp manual. | 96 | ** Check the Emacs Lisp manual. |
| 135 | 97 | ||
| 136 | Write you name/initials in the DONE column when you have | 98 | Each manual section should be proof-read by at least two people. |
| 137 | proof-read the corresponding manual section. | 99 | After each file name, on the same line or the following line, come the |
| 138 | 100 | names of the people who have checked it. | |
| 139 | DONE SECTION | 101 | |
| 140 | --------------------------------------------- | 102 | SECTION READERS |
| 141 | lispref/abbrevs.texi | 103 | ---------------------------------- |
| 142 | lispref/advice.texi | 104 | lispref/abbrevs.texi "Luc Teirlinck" |
| 143 | lispref/anti.texi | 105 | lispref/advice.texi |
| 144 | lispref/back.texi | 106 | lispref/anti.texi |
| 145 | lispref/backups.texi | 107 | lispref/backups.texi "Luc Teirlinck" |
| 146 | lispref/buffers.texi | 108 | lispref/buffers.texi "Luc Teirlinck" |
| 147 | lispref/calendar.texi | 109 | lispref/calendar.texi |
| 148 | lispref/commands.texi | 110 | lispref/commands.texi "Luc Teirlinck" |
| 149 | lispref/compile.texi | 111 | lispref/compile.texi "Luc Teirlinck" |
| 150 | lispref/control.texi | 112 | lispref/control.texi "Luc Teirlinck" |
| 151 | lispref/customize.texi | 113 | lispref/customize.texi |
| 152 | lispref/debugging.texi | 114 | lispref/debugging.texi |
| 153 | lispref/display.texi | 115 | lispref/display.texi |
| 154 | lispref/doclicense.texi | 116 | lispref/edebug.texi |
| 155 | lispref/edebug.texi | 117 | lispref/elisp.texi "Luc Teirlinck" |
| 156 | lispref/elisp-covers.texi | 118 | lispref/errors.texi "Luc Teirlinck" |
| 157 | lispref/elisp.texi | 119 | lispref/eval.texi "Luc Teirlinck" |
| 158 | lispref/errors.texi | 120 | lispref/files.texi "Luc Teirlinck" |
| 159 | lispref/eval.texi | 121 | lispref/frames.texi "Luc Teirlinck" |
| 160 | lispref/files.texi | 122 | lispref/functions.texi "Luc Teirlinck" |
| 161 | lispref/frames.texi | 123 | lispref/hash.texi "Luc Teirlinck" |
| 162 | lispref/front-cover-1.texi | 124 | lispref/help.texi "Luc Teirlinck" |
| 163 | lispref/functions.texi | 125 | lispref/hooks.texi |
| 164 | lispref/gpl.texi | 126 | lispref/internals.texi "Luc Teirlinck" |
| 165 | lispref/hash.texi | 127 | lispref/intro.texi "Luc Teirlinck" |
| 166 | lispref/help.texi | 128 | lispref/keymaps.texi "Luc Teirlinck" |
| 167 | lispref/hooks.texi | 129 | lispref/lists.texi "Luc Teirlinck" |
| 168 | lispref/index.texi | 130 | lispref/loading.texi "Luc Teirlinck" |
| 169 | lispref/internals.texi | 131 | lispref/locals.texi |
| 170 | lispref/intro.texi | 132 | lispref/macros.texi "Luc Teirlinck" |
| 171 | lispref/keymaps.texi | 133 | lispref/maps.texi |
| 172 | lispref/lay-flat.texi | 134 | lispref/markers.texi "Luc Teirlinck" |
| 173 | lispref/lists.texi | 135 | lispref/minibuf.texi "Luc Teirlinck" |
| 174 | lispref/loading.texi | 136 | lispref/modes.texi |
| 175 | lispref/locals.texi | 137 | lispref/nonascii.texi "Luc Teirlinck" |
| 176 | lispref/macros.texi | 138 | lispref/numbers.texi "Luc Teirlinck" |
| 177 | lispref/maps.texi | 139 | lispref/objects.texi "Luc Teirlinck" |
| 178 | lispref/markers.texi | 140 | lispref/os.texi "Luc Teirlinck" |
| 179 | lispref/minibuf.texi | 141 | lispref/positions.texi "Luc Teirlinck" |
| 180 | lispref/modes.texi | 142 | lispref/processes.texi |
| 181 | lispref/nonascii.texi | 143 | lispref/searching.texi "Luc Teirlinck" |
| 182 | lispref/numbers.texi | 144 | lispref/sequences.texi "Luc Teirlinck" |
| 183 | lispref/objects.texi | 145 | lispref/streams.texi "Luc Teirlinck" |
| 184 | lispref/os.texi | 146 | lispref/strings.texi "Luc Teirlinck" |
| 185 | lispref/positions.texi | 147 | lispref/symbols.texi "Luc Teirlinck" |
| 186 | lispref/processes.texi | 148 | lispref/syntax.texi "Luc Teirlinck" |
| 187 | lispref/searching.texi | 149 | lispref/text.texi |
| 188 | lispref/sequences.texi | 150 | lispref/tips.texi "Luc Teirlinck" |
| 189 | lispref/streams.texi | 151 | lispref/variables.texi "Luc Teirlinck" |
| 190 | lispref/strings.texi | 152 | lispref/windows.texi "Luc Teirlinck" |
| 191 | lispref/symbols.texi | ||
| 192 | lispref/syntax.texi | ||
| 193 | lispref/text.texi | ||
| 194 | lispref/tips.texi | ||
| 195 | lispref/variables.texi | ||
| 196 | lispref/windows.texi | ||
| 197 | 153 | ||
| 198 | 154 | ||
| 199 | Local variables: | 155 | Local variables: |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 5bc0ae4cfb9..16e02786542 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-09-16 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * e/eterm.ti: Change the strings for smso and rmso. | ||
| 4 | e/eterm: Regenerate. | ||
| 5 | |||
| 1 | 2004-09-09 Thien-Thi Nguyen <ttn@gnu.org> | 6 | 2004-09-09 Thien-Thi Nguyen <ttn@gnu.org> |
| 2 | 7 | ||
| 3 | * MORE.STUFF (EDB): Update entry. | 8 | * MORE.STUFF (EDB): Update entry. |
| @@ -174,6 +174,10 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | |||
| 174 | * Changes in Emacs 21.4 | 174 | * Changes in Emacs 21.4 |
| 175 | 175 | ||
| 176 | +++ | 176 | +++ |
| 177 | ** In processing a local variables list, Emacs strips the prefix and | ||
| 178 | suffix are from every line before processing all the lines. | ||
| 179 | |||
| 180 | +++ | ||
| 177 | ** `apply-macro-to-region-lines' now operates on all lines that begin | 181 | ** `apply-macro-to-region-lines' now operates on all lines that begin |
| 178 | in the region, rather than on all complete lines in the region. | 182 | in the region, rather than on all complete lines in the region. |
| 179 | 183 | ||
| @@ -319,6 +323,7 @@ The new file etc/compilation.txt gives examples of each type of message. | |||
| 319 | 323 | ||
| 320 | ** Compilation mode enhancements: | 324 | ** Compilation mode enhancements: |
| 321 | 325 | ||
| 326 | +++ | ||
| 322 | *** New user option `compilation-environment'. | 327 | *** New user option `compilation-environment'. |
| 323 | This option allows you to specify environment variables for inferior | 328 | This option allows you to specify environment variables for inferior |
| 324 | compilation processes without affecting the environment that all | 329 | compilation processes without affecting the environment that all |
| @@ -1571,6 +1576,8 @@ per line. Lines beginning with space or tab are ignored. | |||
| 1571 | **** The `::' qualifier triggers C++ parsing in C file. | 1576 | **** The `::' qualifier triggers C++ parsing in C file. |
| 1572 | Previously, only the `template' and `class' keywords had this effect. | 1577 | Previously, only the `template' and `class' keywords had this effect. |
| 1573 | 1578 | ||
| 1579 | **** The gnucc __attribute__ keyword is now recognised and ignored. | ||
| 1580 | |||
| 1574 | **** New language HTML. | 1581 | **** New language HTML. |
| 1575 | Title and h1, h2, h3 are tagged. Also, tags are generated when name= is | 1582 | Title and h1, h2, h3 are tagged. Also, tags are generated when name= is |
| 1576 | used inside an anchor and whenever id= is used. | 1583 | used inside an anchor and whenever id= is used. |
| @@ -1579,7 +1586,8 @@ used inside an anchor and whenever id= is used. | |||
| 1579 | If you want the old behavior instead, thus avoiding to increase the | 1586 | If you want the old behavior instead, thus avoiding to increase the |
| 1580 | size of the tags file, use the --no-globals option. | 1587 | size of the tags file, use the --no-globals option. |
| 1581 | 1588 | ||
| 1582 | **** In Lua, all functions are tagged. | 1589 | **** New language Lua. |
| 1590 | All functions are tagged. | ||
| 1583 | 1591 | ||
| 1584 | **** In Perl, packages are tags. | 1592 | **** In Perl, packages are tags. |
| 1585 | Subroutine tags are named from their package. You can jump to sub tags | 1593 | Subroutine tags are named from their package. You can jump to sub tags |
| @@ -1590,7 +1598,7 @@ package::sub. | |||
| 1590 | 1598 | ||
| 1591 | **** New language PHP. | 1599 | **** New language PHP. |
| 1592 | Tags are functions, classes and defines. | 1600 | Tags are functions, classes and defines. |
| 1593 | If the --members option is specified to etags, tags are vars also. | 1601 | If the --members option is specified to etags, tags are variables also. |
| 1594 | 1602 | ||
| 1595 | **** New default keywords for TeX. | 1603 | **** New default keywords for TeX. |
| 1596 | The new keywords are def, newcommand, renewcommand, newenvironment and | 1604 | The new keywords are def, newcommand, renewcommand, newenvironment and |
| @@ -2314,6 +2322,9 @@ configuration files. | |||
| 2314 | 2322 | ||
| 2315 | * Lisp Changes in Emacs 21.4 | 2323 | * Lisp Changes in Emacs 21.4 |
| 2316 | 2324 | ||
| 2325 | ** Major mode functions now run the new normal hook | ||
| 2326 | `after-change-major-mode-hook', at their very end, after the mode hooks. | ||
| 2327 | |||
| 2317 | +++ | 2328 | +++ |
| 2318 | ** `auto-save-file-format' has been renamed to | 2329 | ** `auto-save-file-format' has been renamed to |
| 2319 | `buffer-auto-save-file-format' and made into a permanent local. | 2330 | `buffer-auto-save-file-format' and made into a permanent local. |
diff --git a/etc/e/eterm.ti b/etc/e/eterm.ti index 16c3878955c..648ff728518 100644 --- a/etc/e/eterm.ti +++ b/etc/e/eterm.ti | |||
| @@ -12,8 +12,8 @@ eterm, | |||
| 12 | smcup=\E7\E[?47h,rmcup=\E[2J\E[?47l\E8, | 12 | smcup=\E7\E[?47h,rmcup=\E[2J\E[?47l\E8, |
| 13 | ht=\t,khome=\E[1~,kend=\E[4~,knp=\E[6~,kpp=\E[5~, | 13 | ht=\t,khome=\E[1~,kend=\E[4~,knp=\E[6~,kpp=\E[5~, |
| 14 | kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, | 14 | kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, |
| 15 | smso=\E[7m,rmso=\E[m, | 15 | smso=\E[7m,rmso=\E[27m, |
| 16 | smul=\E[4m,rmul=\E[m, | 16 | smul=\E[4m,rmul=\E[24m, |
| 17 | rev=\E[7m,bold=\E[1m,sgr0=\E[m, | 17 | rev=\E[7m,bold=\E[1m,sgr0=\E[m, |
| 18 | invis=\E[8m,op=\E[39;49m, | 18 | invis=\E[8m,op=\E[39;49m, |
| 19 | setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, | 19 | setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, |
diff --git a/leim/ChangeLog b/leim/ChangeLog index 19ffc23dc3a..2466de68ca6 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2004-09-21 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * quail/uni-input.el: Move the call of register-input-method to | ||
| 4 | leim-ext.el. | ||
| 5 | (ucs-input-insert-char): New function. | ||
| 6 | (ucs-input-method): Use ucs-input-insert-char. | ||
| 7 | (ucs-input-activate): Call quail-hide-guidance instead of | ||
| 8 | quail-hide-guidance-buf. | ||
| 9 | |||
| 10 | * leim-ext.el: Add autoload for 'ucs-input-activate and | ||
| 11 | register-input-method for "ucs". | ||
| 12 | |||
| 1 | 2004-08-21 David Kastrup <dak@gnu.org> | 13 | 2004-08-21 David Kastrup <dak@gnu.org> |
| 2 | 14 | ||
| 3 | * quail/greek.el ("greek-babel"): Add accent/breathing/uppercase | 15 | * quail/greek.el ("greek-babel"): Add accent/breathing/uppercase |
diff --git a/leim/leim-ext.el b/leim/leim-ext.el index 64437cc0d19..ad5d22281d8 100644 --- a/leim/leim-ext.el +++ b/leim/leim-ext.el | |||
| @@ -34,4 +34,14 @@ | |||
| 34 | (eval-after-load "quail/PY-b5" | 34 | (eval-after-load "quail/PY-b5" |
| 35 | '(quail-defrule "ling2" ?$(0!r(B nil t)) | 35 | '(quail-defrule "ling2" ?$(0!r(B nil t)) |
| 36 | 36 | ||
| 37 | (autoload 'ucs-input-activate "quail/uni-input" | ||
| 38 | "Activate UCS input method. | ||
| 39 | With arg, activate UCS input method if and only if arg is positive. | ||
| 40 | |||
| 41 | While this input method is active, the variable | ||
| 42 | `input-method-function' is bound to the function `ucs-input-method'.") | ||
| 43 | |||
| 44 | (register-input-method "ucs" "UTF-8" 'ucs-input-activate "U+" | ||
| 45 | "Unicode input as hex in the form Uxxxx.") | ||
| 46 | |||
| 37 | ;; arch-tag: 75cfdfc7-de85-44f9-b408-ff67d1ec664e | 47 | ;; arch-tag: 75cfdfc7-de85-44f9-b408-ff67d1ec664e |
diff --git a/leim/quail/uni-input.el b/leim/quail/uni-input.el index 49a6f840cfa..9e2c04278d6 100644 --- a/leim/quail/uni-input.el +++ b/leim/quail/uni-input.el | |||
| @@ -40,14 +40,16 @@ | |||
| 40 | 40 | ||
| 41 | (require 'quail) | 41 | (require 'quail) |
| 42 | 42 | ||
| 43 | (defun ucs-input-insert-char (char) | ||
| 44 | (insert char) | ||
| 45 | (move-overlay quail-overlay (overlay-start quail-overlay) (point))) | ||
| 46 | |||
| 43 | (defun ucs-input-method (key) | 47 | (defun ucs-input-method (key) |
| 44 | (if (or buffer-read-only | 48 | (if (or buffer-read-only |
| 45 | (and (/= key ?U) (/= key ?u))) | 49 | (and (/= key ?U) (/= key ?u))) |
| 46 | (list key) | 50 | (list key) |
| 47 | (quail-setup-overlays nil) | 51 | (quail-setup-overlays nil) |
| 48 | (let ((current-prefix-arg) | 52 | (ucs-input-insert-char key) |
| 49 | (last-command-char key)) | ||
| 50 | (call-interactively 'self-insert-command)) | ||
| 51 | (let ((modified-p (buffer-modified-p)) | 53 | (let ((modified-p (buffer-modified-p)) |
| 52 | (buffer-undo-list t) | 54 | (buffer-undo-list t) |
| 53 | (input-method-function nil) | 55 | (input-method-function nil) |
| @@ -68,9 +70,7 @@ | |||
| 68 | ?b ?c ?d ?e ?f ?A ?B ?C ?D ?E ?F))) | 70 | ?b ?c ?d ?e ?f ?A ?B ?C ?D ?E ?F))) |
| 69 | (progn | 71 | (progn |
| 70 | (push key events) | 72 | (push key events) |
| 71 | (let ((last-command-char key) | 73 | (ucs-input-insert-char key)) |
| 72 | (current-prefix-arg)) | ||
| 73 | (call-interactively 'self-insert-command))) | ||
| 74 | (let ((last-command-char key) | 74 | (let ((last-command-char key) |
| 75 | (current-prefix-arg)) | 75 | (current-prefix-arg)) |
| 76 | (condition-case nil | 76 | (condition-case nil |
| @@ -98,7 +98,7 @@ While this input method is active, the variable | |||
| 98 | (< (prefix-numeric-value arg) 0)) | 98 | (< (prefix-numeric-value arg) 0)) |
| 99 | (unwind-protect | 99 | (unwind-protect |
| 100 | (progn | 100 | (progn |
| 101 | (quail-hide-guidance-buf) | 101 | (quail-hide-guidance) |
| 102 | (quail-delete-overlays) | 102 | (quail-delete-overlays) |
| 103 | (setq describe-current-input-method-function nil)) | 103 | (setq describe-current-input-method-function nil)) |
| 104 | (kill-local-variable 'input-method-function)) | 104 | (kill-local-variable 'input-method-function)) |
| @@ -124,8 +124,9 @@ Input method: ucs (mode line indicator:U) | |||
| 124 | 124 | ||
| 125 | Input as Unicode: U<hex> or u<hex>, where <hex> is a four-digit hex number."))) | 125 | Input as Unicode: U<hex> or u<hex>, where <hex> is a four-digit hex number."))) |
| 126 | 126 | ||
| 127 | (register-input-method "ucs" "UTF-8" 'ucs-input-activate "U+" | 127 | ;; The file ../leim-ext.el contains the following call. |
| 128 | "Unicode input as hex in the form Uxxxx.") | 128 | ;; (register-input-method "ucs" "UTF-8" 'ucs-input-activate "U+" |
| 129 | ;; "Unicode input as hex in the form Uxxxx.") | ||
| 129 | 130 | ||
| 130 | (provide 'uni-input) | 131 | (provide 'uni-input) |
| 131 | 132 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d5dab8bb0cb..8263604548b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,124 @@ | |||
| 1 | 2004-09-21 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * descr-text.el (describe-char): Checking of quail activation | ||
| 4 | fixed. | ||
| 5 | |||
| 6 | 2004-09-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 7 | |||
| 8 | * subr.el (run-mode-hooks): Run `after-change-major-mode-hook' | ||
| 9 | after the mode hooks instead of before. Doc fix. | ||
| 10 | |||
| 11 | 2004-09-20 Jason Rumney <jasonr@gnu.org> | ||
| 12 | |||
| 13 | * startup.el (command-line) [windows-nt]: Try .emacs first, then | ||
| 14 | _emacs, but revert to .emacs if neither exists in home directory. | ||
| 15 | |||
| 16 | 2004-09-20 John Paul Wallington <jpw@gnu.org> | ||
| 17 | |||
| 18 | * bindings.el (completion-ignored-extensions): Add .dfsl. | ||
| 19 | |||
| 20 | 2004-09-20 Richard M. Stallman <rms@gnu.org> | ||
| 21 | |||
| 22 | * bindings.el (scroll-left): Make it disabled. | ||
| 23 | |||
| 24 | * files.el (enable-local-eval): Doc fix. | ||
| 25 | |||
| 26 | * indent.el (move-to-left-margin): Special case for minibuffer. | ||
| 27 | |||
| 28 | * term.el (term-emulate-terminal): Turn off undo for output. | ||
| 29 | Use with-current-buffer and save-selected-window. | ||
| 30 | |||
| 31 | * eshell/esh-ext.el (eshell-explicit-command-char): Doc fix. | ||
| 32 | |||
| 33 | * progmodes/make-mode.el (makefile-fill-paragraph): | ||
| 34 | Don't insist on spaces when looking for comments. # is enough. | ||
| 35 | |||
| 36 | * files.el (hack-local-variables): Copy the variables list | ||
| 37 | to another buffer, strip prefixes and suffixes there, then read. | ||
| 38 | (enable-local-eval): Doc fix. | ||
| 39 | (ignored-local-variables): Initialize to nil. | ||
| 40 | (risky-local-variable-p): Don't check ignored-local-variables here. | ||
| 41 | (hack-one-local-variable): Ignore var if in ignored-local-variables. | ||
| 42 | |||
| 43 | 2004-09-20 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 44 | |||
| 45 | * progmodes/sh-script.el (sh-mode-default-syntax-table): Set syntax | ||
| 46 | of = to "." (punctuation). | ||
| 47 | |||
| 48 | 2004-09-19 Stefan <monnier@iro.umontreal.ca> | ||
| 49 | |||
| 50 | * subr.el (event-basic-type): Fix mask (extend to 22bits). | ||
| 51 | |||
| 52 | 2004-09-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 53 | |||
| 54 | * textmodes/enriched.el (enriched-rerun-flag): New variable. | ||
| 55 | (enriched-before-change-major-mode): New function. | ||
| 56 | Add it to `change-major-mode-hook'. | ||
| 57 | (enriched-after-change-major-mode): New function. | ||
| 58 | Add it to `after-change-major-mode-hook'. | ||
| 59 | (enriched-mode): Make it work correctly if called from | ||
| 60 | `after-change-major-mode-hook'. | ||
| 61 | No longer set `indent-line-function'. | ||
| 62 | |||
| 63 | * simple.el (fundamental-mode): Run `after-change-major-mode-hook'. | ||
| 64 | |||
| 65 | * subr.el (after-change-major-mode-hook): New variable. | ||
| 66 | (run-mode-hooks): Implement it. | ||
| 67 | |||
| 68 | 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 69 | |||
| 70 | * battery.el (battery-linux-proc-apm): Use string-to-number. | ||
| 71 | (battery-linux-proc-acpi): Ignore all hidden files in the battery dir. | ||
| 72 | Use dolist (and less indentation). Use erase-buffer. | ||
| 73 | Pre-initialize `design-capacity', `warn', and `low'. | ||
| 74 | (battery-format): Use replace-regexp-in-string. | ||
| 75 | |||
| 76 | 2004-09-18 Ralph Schleicher <rs@nunatak.allgaeu.org> | ||
| 77 | |||
| 78 | * battery.el: Delete superfluous empty lines. | ||
| 79 | (battery-linux-proc-acpi): Attempt to gather information from all | ||
| 80 | battery subdirectories regardless of their file name. | ||
| 81 | (battery-linux-proc-apm): Replace all occurrences of | ||
| 82 | battery-hex-to-int-2 with string-to-int (base 16). | ||
| 83 | (battery-hex-to-int-2, battery-hex-to-int): Delete functions. | ||
| 84 | (battery-hex-map): Delete variable. | ||
| 85 | |||
| 86 | 2004-09-18 John Paul Wallington <jpw@gnu.org> | ||
| 87 | |||
| 88 | * calc/calc-units.el (calc-quick-units): Fix overzealous | ||
| 89 | s/or/unless/. | ||
| 90 | |||
| 91 | 2004-09-17 Romain Francoise <romain@orebokech.com> | ||
| 92 | |||
| 93 | * ibuf-ext.el (define-ibuffer-filter filename): | ||
| 94 | Expand dired-directory since buffer-file-name is absolute. | ||
| 95 | |||
| 96 | 2004-09-17 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 97 | |||
| 98 | * ediff-init.el (ediff-current-diff-face-A) | ||
| 99 | (ediff-current-diff-face-B, ediff-current-diff-face-C) | ||
| 100 | (ediff-current-diff-face-Ancestor) | ||
| 101 | (ediff-fine-diff-face-A, ediff-fine-diff-face-B) | ||
| 102 | (ediff-fine-diff-face-C, ediff-fine-diff-face-Ancestor) | ||
| 103 | (ediff-even-diff-face-A, ediff-even-diff-face-B) | ||
| 104 | (ediff-even-diff-face-C, ediff-even-diff-face-Ancestor) | ||
| 105 | (ediff-odd-diff-face-A, ediff-odd-diff-face-B) | ||
| 106 | (ediff-odd-diff-face-C, ediff-odd-diff-face-Ancestor): | ||
| 107 | Use min-colors. | ||
| 108 | |||
| 109 | * term.el (term-down): Perform vertical motion if DOWN is negative. | ||
| 110 | (term-exec-1): Set both TERMCAP and TERMINFO unconditionally. | ||
| 111 | (term-termcap-format): Synchronyze with the eterm terminfo entry | ||
| 112 | in etc/e/eterm.ti. | ||
| 113 | (term-handle-colors-array): If the current foreground or | ||
| 114 | background are zero (i.e. unspecified), use the foreground and | ||
| 115 | background of the default face for reverse video. | ||
| 116 | (term-ansi-at-eval-string, term-ansi-default-fg) | ||
| 117 | (term-ansi-default-bg, term-ansi-current-temp): Delete unused variable. | ||
| 118 | (term-mem): Delete ununsed function. | ||
| 119 | (term-protocol-version): Increment. | ||
| 120 | (term-current-face): Set to default. | ||
| 121 | |||
| 1 | 2004-09-15 Thien-Thi Nguyen <ttn@gnu.org> | 122 | 2004-09-15 Thien-Thi Nguyen <ttn@gnu.org> |
| 2 | 123 | ||
| 3 | * vc.el (annotate-time): Document point handling. | 124 | * vc.el (annotate-time): Document point handling. |
| @@ -153,6 +274,11 @@ | |||
| 153 | * desktop.el (desktop-clear-preserve-buffers): | 274 | * desktop.el (desktop-clear-preserve-buffers): |
| 154 | Remove make-obsolete-variable. | 275 | Remove make-obsolete-variable. |
| 155 | 276 | ||
| 277 | 2004-09-08 Richard M. Stallman <rms@gnu.org> | ||
| 278 | |||
| 279 | * buff-menu.el (list-buffers-noselect): Call format-mode-line | ||
| 280 | with the buffer as argument. | ||
| 281 | |||
| 156 | 2004-09-08 Stefan Monnier <monnier@iro.umontreal.ca> | 282 | 2004-09-08 Stefan Monnier <monnier@iro.umontreal.ca> |
| 157 | 283 | ||
| 158 | * vc-arch.el (vc-arch-state): Fix parsing for `names' method. | 284 | * vc-arch.el (vc-arch-state): Fix parsing for `names' method. |
diff --git a/lisp/battery.el b/lisp/battery.el index 3b44ff891f9..7b172321602 100644 --- a/lisp/battery.el +++ b/lisp/battery.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; battery.el --- display battery status information | 1 | ;;; battery.el --- display battery status information |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org> | 6 | ;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org> |
| 6 | ;; Keywords: hardware | 7 | ;; Keywords: hardware |
| @@ -31,9 +32,9 @@ | |||
| 31 | ;;; Code: | 32 | ;;; Code: |
| 32 | 33 | ||
| 33 | (require 'timer) | 34 | (require 'timer) |
| 35 | (eval-when-compile (require 'cl)) | ||
| 34 | 36 | ||
| 35 | 37 | ||
| 36 | |||
| 37 | (defgroup battery nil | 38 | (defgroup battery nil |
| 38 | "Display battery status information." | 39 | "Display battery status information." |
| 39 | :prefix "battery-" | 40 | :prefix "battery-" |
| @@ -182,20 +183,20 @@ The following %-sequences are provided: | |||
| 182 | (re-search-forward battery-linux-proc-apm-regexp) | 183 | (re-search-forward battery-linux-proc-apm-regexp) |
| 183 | (setq driver-version (match-string 1)) | 184 | (setq driver-version (match-string 1)) |
| 184 | (setq bios-version (match-string 2)) | 185 | (setq bios-version (match-string 2)) |
| 185 | (setq tem (battery-hex-to-int-2 (match-string 3))) | 186 | (setq tem (string-to-number (match-string 3) 16)) |
| 186 | (if (not (logand tem 2)) | 187 | (if (not (logand tem 2)) |
| 187 | (setq bios-interface "not supported") | 188 | (setq bios-interface "not supported") |
| 188 | (setq bios-interface "enabled") | 189 | (setq bios-interface "enabled") |
| 189 | (cond ((logand tem 16) (setq bios-interface "disabled")) | 190 | (cond ((logand tem 16) (setq bios-interface "disabled")) |
| 190 | ((logand tem 32) (setq bios-interface "disengaged"))) | 191 | ((logand tem 32) (setq bios-interface "disengaged"))) |
| 191 | (setq tem (battery-hex-to-int-2 (match-string 4))) | 192 | (setq tem (string-to-number (match-string 4) 16)) |
| 192 | (cond ((= tem 0) (setq line-status "off-line")) | 193 | (cond ((= tem 0) (setq line-status "off-line")) |
| 193 | ((= tem 1) (setq line-status "on-line")) | 194 | ((= tem 1) (setq line-status "on-line")) |
| 194 | ((= tem 2) (setq line-status "on backup"))) | 195 | ((= tem 2) (setq line-status "on backup"))) |
| 195 | (setq tem (battery-hex-to-int-2 (match-string 6))) | 196 | (setq tem (string-to-number (match-string 6) 16)) |
| 196 | (if (= tem 255) | 197 | (if (= tem 255) |
| 197 | (setq battery-status "N/A") | 198 | (setq battery-status "N/A") |
| 198 | (setq tem (battery-hex-to-int-2 (match-string 5))) | 199 | (setq tem (string-to-number (match-string 5) 16)) |
| 199 | (cond ((= tem 0) (setq battery-status "high" | 200 | (cond ((= tem 0) (setq battery-status "high" |
| 200 | battery-status-symbol "")) | 201 | battery-status-symbol "")) |
| 201 | ((= tem 1) (setq battery-status "low" | 202 | ((= tem 1) (setq battery-status "low" |
| @@ -243,54 +244,52 @@ The following %-sequences are provided: | |||
| 243 | %m Remaining time in minutes | 244 | %m Remaining time in minutes |
| 244 | %h Remaining time in hours | 245 | %h Remaining time in hours |
| 245 | %t Remaining time in the form `h:min'" | 246 | %t Remaining time in the form `h:min'" |
| 246 | (let (capacity design-capacity rate rate-type charging-state warn low | 247 | (let ((design-capacity 0) |
| 247 | minutes hours) | 248 | (warn 0) |
| 248 | (when (file-directory-p "/proc/acpi/battery/") | 249 | (low 0) |
| 249 | ;; ACPI provides information about each battery present in the system in | 250 | capacity rate rate-type charging-state minutes hours) |
| 250 | ;; a separate subdirectory. We are going to merge the available | 251 | ;; ACPI provides information about each battery present in the system in |
| 251 | ;; information together since displaying for a variable amount of | 252 | ;; a separate subdirectory. We are going to merge the available |
| 252 | ;; batteries seems overkill for format-strings. | 253 | ;; information together since displaying for a variable amount of |
| 253 | (mapc | 254 | ;; batteries seems overkill for format-strings. |
| 254 | (lambda (dir) | 255 | (with-temp-buffer |
| 255 | (with-temp-buffer | 256 | (dolist (dir (ignore-errors (directory-files "/proc/acpi/battery/" |
| 256 | (insert-file-contents (expand-file-name "state" dir)) | 257 | t "\\`[^.]"))) |
| 257 | (when (re-search-forward "present: +yes$" nil t) | 258 | (erase-buffer) |
| 258 | (and (re-search-forward "charging state: +\\(.*\\)$" nil t) | 259 | (ignore-errors (insert-file-contents (expand-file-name "state" dir))) |
| 259 | (or (null charging-state) (string= charging-state | 260 | (when (re-search-forward "present: +yes$" nil t) |
| 260 | "unknown")) | 261 | (and (re-search-forward "charging state: +\\(.*\\)$" nil t) |
| 261 | ;; On most multi-battery systems, most of the time only one | 262 | (member charging-state '("unknown" nil)) |
| 262 | ;; battery is "charging"/"discharging", the others are | 263 | ;; On most multi-battery systems, most of the time only one |
| 263 | ;; "unknown". | 264 | ;; battery is "charging"/"discharging", the others are |
| 264 | (setq charging-state (match-string 1))) | 265 | ;; "unknown". |
| 265 | (when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$" | 266 | (setq charging-state (match-string 1))) |
| 266 | nil t) | 267 | (when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$" |
| 267 | (setq rate (+ (or rate 0) (string-to-int (match-string 1))) | 268 | nil t) |
| 268 | rate-type (or (and rate-type | 269 | (setq rate (+ (or rate 0) (string-to-number (match-string 1))) |
| 269 | (if (string= rate-type (match-string 2)) | 270 | rate-type (or (and rate-type |
| 270 | rate-type | 271 | (if (string= rate-type (match-string 2)) |
| 271 | (error | 272 | rate-type |
| 272 | "Inconsistent rate types (%s vs. %s)" | 273 | (error |
| 273 | rate-type (match-string 2)))) | 274 | "Inconsistent rate types (%s vs. %s)" |
| 274 | (match-string 2)))) | 275 | rate-type (match-string 2)))) |
| 275 | (when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$" | 276 | (match-string 2)))) |
| 276 | nil t) | 277 | (when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$" |
| 277 | (setq capacity | 278 | nil t) |
| 278 | (+ (or capacity 0) (string-to-int (match-string 1)))))) | 279 | (setq capacity |
| 279 | (goto-char (point-max)) | 280 | (+ (or capacity 0) (string-to-number (match-string 1)))))) |
| 280 | (insert-file-contents (expand-file-name "info" dir)) | 281 | (goto-char (point-max)) |
| 281 | (when (re-search-forward "present: +yes$" nil t) | 282 | (ignore-errors (insert-file-contents (expand-file-name "info" dir))) |
| 282 | (when (re-search-forward "design capacity: +\\([0-9]+\\) m[AW]h$" | 283 | (when (re-search-forward "present: +yes$" nil t) |
| 283 | nil t) | 284 | (when (re-search-forward "design capacity: +\\([0-9]+\\) m[AW]h$" |
| 284 | (setq design-capacity (+ (or design-capacity 0) | 285 | nil t) |
| 285 | (string-to-int (match-string 1))))) | 286 | (incf design-capacity (string-to-number (match-string 1)))) |
| 286 | (when (re-search-forward "design capacity warning: +\\([0-9]+\\) m[AW]h$" | 287 | (when (re-search-forward |
| 287 | nil t) | 288 | "design capacity warning: +\\([0-9]+\\) m[AW]h$" nil t) |
| 288 | (setq warn (+ (or warn 0) (string-to-int (match-string 1))))) | 289 | (incf warn (string-to-number (match-string 1)))) |
| 289 | (when (re-search-forward "design capacity low: +\\([0-9]+\\) m[AW]h$" | 290 | (when (re-search-forward "design capacity low: +\\([0-9]+\\) m[AW]h$" |
| 290 | nil t) | 291 | nil t) |
| 291 | (setq low (+ (or low 0) | 292 | (incf low (string-to-number (match-string 1))))))) |
| 292 | (string-to-int (match-string 1)))))))) | ||
| 293 | (directory-files "/proc/acpi/battery/" t "\\(BAT\\|CMB\\)"))) | ||
| 294 | (and capacity rate | 293 | (and capacity rate |
| 295 | (setq minutes (if (zerop rate) 0 | 294 | (setq minutes (if (zerop rate) 0 |
| 296 | (floor (* (/ (float (if (string= charging-state | 295 | (floor (* (/ (float (if (string= charging-state |
| @@ -327,8 +326,8 @@ The following %-sequences are provided: | |||
| 327 | rate-type)) "N/A")) | 326 | rate-type)) "N/A")) |
| 328 | (cons ?B (or charging-state "N/A")) | 327 | (cons ?B (or charging-state "N/A")) |
| 329 | (cons ?b (or (and (string= charging-state "charging") "+") | 328 | (cons ?b (or (and (string= charging-state "charging") "+") |
| 330 | (and low (< capacity low) "!") | 329 | (and (< capacity low) "!") |
| 331 | (and warn (< capacity warn) "-") | 330 | (and (< capacity warn) "-") |
| 332 | "")) | 331 | "")) |
| 333 | (cons ?h (or (and hours (number-to-string hours)) "N/A")) | 332 | (cons ?h (or (and hours (number-to-string hours)) "N/A")) |
| 334 | (cons ?m (or (and minutes (number-to-string minutes)) "N/A")) | 333 | (cons ?m (or (and minutes (number-to-string minutes)) "N/A")) |
| @@ -346,54 +345,16 @@ The following %-sequences are provided: | |||
| 346 | 345 | ||
| 347 | (defun battery-format (format alist) | 346 | (defun battery-format (format alist) |
| 348 | "Substitute %-sequences in FORMAT." | 347 | "Substitute %-sequences in FORMAT." |
| 349 | (let ((index 0) | 348 | (replace-regexp-in-string |
| 350 | (length (length format)) | 349 | "%." |
| 351 | (result "") | 350 | (lambda (str) |
| 352 | char flag elem) | 351 | (let ((char (aref str 1))) |
| 353 | (while (< index length) | 352 | (if (eq char ?%) "%" |
| 354 | (setq char (aref format index)) | 353 | (or (cdr (assoc char alist)) "")))) |
| 355 | (if (not flag) | 354 | format t t)) |
| 356 | (if (char-equal char ?%) | ||
| 357 | (setq flag t) | ||
| 358 | (setq result (concat result (char-to-string char)))) | ||
| 359 | (cond ((char-equal char ?%) | ||
| 360 | (setq result (concat result "%"))) | ||
| 361 | ((setq elem (assoc char alist)) | ||
| 362 | (setq result (concat result (cdr elem))))) | ||
| 363 | (setq flag nil)) | ||
| 364 | (setq index (1+ index))) | ||
| 365 | (or (null flag) | ||
| 366 | (setq result (concat result "%"))) | ||
| 367 | result)) | ||
| 368 | |||
| 369 | (defconst battery-hex-map '((?0 . 0) (?1 . 1) (?2 . 2) (?3 . 3) | ||
| 370 | (?4 . 4) (?5 . 5) (?6 . 6) (?7 . 7) | ||
| 371 | (?8 . 8) (?9 . 9) (?a . 10) (?b . 11) | ||
| 372 | (?c . 12) (?d . 13) (?e . 14) (?f . 15))) | ||
| 373 | |||
| 374 | (defun battery-hex-to-int (string) | ||
| 375 | "Convert a hexadecimal number (a string) into a number." | ||
| 376 | (save-match-data | ||
| 377 | (and (string-match "^[ \t]+" string) | ||
| 378 | (setq string (substring string (match-end 0)))) | ||
| 379 | (and (string-match "^0[xX]" string) | ||
| 380 | (setq string (substring string (match-end 0))))) | ||
| 381 | (battery-hex-to-int-2 string)) | ||
| 382 | |||
| 383 | (defun battery-hex-to-int-2 (string) | ||
| 384 | (let ((index 0) | ||
| 385 | (length (length string)) | ||
| 386 | (value 0) | ||
| 387 | (elem nil)) | ||
| 388 | (while (and (< index length) | ||
| 389 | (setq elem (assoc (downcase (aref string index)) | ||
| 390 | battery-hex-map))) | ||
| 391 | (setq value (+ (* 16 value) (cdr elem)) | ||
| 392 | index (1+ index))) | ||
| 393 | value)) | ||
| 394 | 355 | ||
| 395 | 356 | ||
| 396 | (provide 'battery) | 357 | (provide 'battery) |
| 397 | 358 | ||
| 398 | ;;; arch-tag: 65916f50-4754-4b6b-ac21-0b510f545a37 | 359 | ;; arch-tag: 65916f50-4754-4b6b-ac21-0b510f545a37 |
| 399 | ;;; battery.el ends here | 360 | ;;; battery.el ends here |
diff --git a/lisp/bindings.el b/lisp/bindings.el index 84db9bbe1eb..ea311c191f6 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -517,7 +517,7 @@ is okay. See `mode-line-format'.") | |||
| 517 | ;; CMUCL | 517 | ;; CMUCL |
| 518 | ".x86f" ".sparcf" | 518 | ".x86f" ".sparcf" |
| 519 | ;; Other CL implementations (Allegro, LispWorks, OpenMCL) | 519 | ;; Other CL implementations (Allegro, LispWorks, OpenMCL) |
| 520 | ".fasl" ".ufsl" ".fsl" ".dxl" ".pfsl" | 520 | ".fasl" ".ufsl" ".fsl" ".dxl" ".pfsl" ".dfsl" |
| 521 | ;; Libtool | 521 | ;; Libtool |
| 522 | ".lo" ".la" | 522 | ".lo" ".la" |
| 523 | ;; Gettext | 523 | ;; Gettext |
| @@ -720,6 +720,7 @@ language you are using." | |||
| 720 | (define-key global-map [C-up] 'backward-paragraph) | 720 | (define-key global-map [C-up] 'backward-paragraph) |
| 721 | (define-key global-map [C-down] 'forward-paragraph) | 721 | (define-key global-map [C-down] 'forward-paragraph) |
| 722 | (define-key global-map [C-prior] 'scroll-right) | 722 | (define-key global-map [C-prior] 'scroll-right) |
| 723 | (put 'scroll-left 'disabled t) | ||
| 723 | (define-key global-map [C-next] 'scroll-left) | 724 | (define-key global-map [C-next] 'scroll-left) |
| 724 | (define-key global-map [M-next] 'scroll-other-window) | 725 | (define-key global-map [M-next] 'scroll-other-window) |
| 725 | (define-key global-map [M-prior] 'scroll-other-window-down) | 726 | (define-key global-map [M-prior] 'scroll-other-window-down) |
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index b8735a9dc38..025b208120b 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el | |||
| @@ -297,11 +297,11 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).") | |||
| 297 | (units (calc-var-value 'var-Units)) | 297 | (units (calc-var-value 'var-Units)) |
| 298 | (expr (calc-top-n 1))) | 298 | (expr (calc-top-n 1))) |
| 299 | (unless (and (>= num 0) (<= num 9)) | 299 | (unless (and (>= num 0) (<= num 9)) |
| 300 | (errunless "Bad unit number")) | 300 | (error "Bad unit number")) |
| 301 | (unless (math-vectorp units) | 301 | (unless (math-vectorp units) |
| 302 | (errunless "No \"quick units\" are defined")) | 302 | (error "No \"quick units\" are defined")) |
| 303 | (unless (< pos (length units)) | 303 | (unless (< pos (length units)) |
| 304 | (errunless "Unit number %d not defined" pos)) | 304 | (error "Unit number %d not defined" pos)) |
| 305 | (if (math-units-in-expr-p expr nil) | 305 | (if (math-units-in-expr-p expr nil) |
| 306 | (calc-enter-result 1 (format "cun%d" num) | 306 | (calc-enter-result 1 (format "cun%d" num) |
| 307 | (math-convert-units expr (nth pos units))) | 307 | (math-convert-units expr (nth pos units))) |
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index d3e00a7a5a1..5c7e24ed646 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -427,7 +427,7 @@ Otherwise, 1 / 0 is changed to uinf (undirected infinity).") | |||
| 427 | (calc-display-strings nil | 427 | (calc-display-strings nil |
| 428 | "If non-nil, display vectors of byte-sized integers as strings.") | 428 | "If non-nil, display vectors of byte-sized integers as strings.") |
| 429 | 429 | ||
| 430 | (calc-matrix-just 'center | 430 | (calc-matrix-just center |
| 431 | "If nil, vector elements are left-justified. | 431 | "If nil, vector elements are left-justified. |
| 432 | If `right', vector elements are right-justified. | 432 | If `right', vector elements are right-justified. |
| 433 | If `center', vector elements are centered.") | 433 | If `center', vector elements are centered.") |
| @@ -447,7 +447,7 @@ If `center', vector elements are centered.") | |||
| 447 | (calc-vector-brackets "[]" | 447 | (calc-vector-brackets "[]" |
| 448 | "If non-nil, surround displayed vectors with these characters.") | 448 | "If non-nil, surround displayed vectors with these characters.") |
| 449 | 449 | ||
| 450 | (calc-matrix-brackets '(R O) | 450 | (calc-matrix-brackets (R O) |
| 451 | "A list of code-letter symbols that control \"big\" matrix display. | 451 | "A list of code-letter symbols that control \"big\" matrix display. |
| 452 | If `R' is present, display inner brackets for matrices. | 452 | If `R' is present, display inner brackets for matrices. |
| 453 | If `O' is present, display outer brackets for matrices (above/below). | 453 | If `O' is present, display outer brackets for matrices (above/below). |
| @@ -542,10 +542,10 @@ If nil, selections displayed but ignored.") | |||
| 542 | (calc-assoc-selections t | 542 | (calc-assoc-selections t |
| 543 | "If non-nil, selection hides deep structure of associative formulas.") | 543 | "If non-nil, selection hides deep structure of associative formulas.") |
| 544 | 544 | ||
| 545 | (calc-display-working-message 'lots | 545 | (calc-display-working-message lots |
| 546 | "If non-nil, display \"Working...\" for potentially slow Calculator commands.") | 546 | "If non-nil, display \"Working...\" for potentially slow Calculator commands.") |
| 547 | 547 | ||
| 548 | (calc-auto-why 'maybe | 548 | (calc-auto-why maybe |
| 549 | "If non-nil, automatically execute a \"why\" command to explain odd results.") | 549 | "If non-nil, automatically execute a \"why\" command to explain odd results.") |
| 550 | 550 | ||
| 551 | (calc-timing nil | 551 | (calc-timing nil |
| @@ -554,16 +554,16 @@ If nil, selections displayed but ignored.") | |||
| 554 | (calc-mode-save-mode local) | 554 | (calc-mode-save-mode local) |
| 555 | 555 | ||
| 556 | (calc-standard-date-formats | 556 | (calc-standard-date-formats |
| 557 | '("N" | 557 | ("N" |
| 558 | "<H:mm:SSpp >Www Mmm D, YYYY" | 558 | "<H:mm:SSpp >Www Mmm D, YYYY" |
| 559 | "D Mmm YYYY<, h:mm:SS>" | 559 | "D Mmm YYYY<, h:mm:SS>" |
| 560 | "Www Mmm BD< hh:mm:ss> YYYY" | 560 | "Www Mmm BD< hh:mm:ss> YYYY" |
| 561 | "M/D/Y< H:mm:SSpp>" | 561 | "M/D/Y< H:mm:SSpp>" |
| 562 | "D.M.Y< h:mm:SS>" | 562 | "D.M.Y< h:mm:SS>" |
| 563 | "M-D-Y< H:mm:SSpp>" | 563 | "M-D-Y< H:mm:SSpp>" |
| 564 | "D-M-Y< h:mm:SS>" | 564 | "D-M-Y< h:mm:SS>" |
| 565 | "j<, h:mm:SS>" | 565 | "j<, h:mm:SS>" |
| 566 | "YYddd< hh:mm:ss>")) | 566 | "YYddd< hh:mm:ss>")) |
| 567 | 567 | ||
| 568 | (calc-autorange-units nil) | 568 | (calc-autorange-units nil) |
| 569 | 569 | ||
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el index a9190d32100..03cd8ee4d9c 100644 --- a/lisp/cmuscheme.el +++ b/lisp/cmuscheme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el | 1 | ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1988, 1994, 1997 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1988, 1994, 1997, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Olin Shivers <olin.shivers@cs.cmu.edu> | 5 | ;; Author: Olin Shivers <olin.shivers@cs.cmu.edu> |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -140,9 +140,9 @@ | |||
| 140 | (define-key map [switch] | 140 | (define-key map [switch] |
| 141 | '("Switch to Scheme" . switch-to-scheme)) | 141 | '("Switch to Scheme" . switch-to-scheme)) |
| 142 | (define-key map [com-def-go] | 142 | (define-key map [com-def-go] |
| 143 | '("Compile Definitiion & Go" . scheme-compile-definition-and-go)) | 143 | '("Compile Definition & Go" . scheme-compile-definition-and-go)) |
| 144 | (define-key map [com-def] | 144 | (define-key map [com-def] |
| 145 | '("Compile Definitiion" . scheme-compile-definition)) | 145 | '("Compile Definition" . scheme-compile-definition)) |
| 146 | (define-key map [send-def-go] | 146 | (define-key map [send-def-go] |
| 147 | '("Evaluate Last Definition & Go" . scheme-send-definition-and-go)) | 147 | '("Evaluate Last Definition & Go" . scheme-send-definition-and-go)) |
| 148 | (define-key map [send-def] | 148 | (define-key map [send-def] |
| @@ -437,5 +437,5 @@ This is a good place to put keybindings." | |||
| 437 | 437 | ||
| 438 | (provide 'cmuscheme) | 438 | (provide 'cmuscheme) |
| 439 | 439 | ||
| 440 | ;;; arch-tag: e8795f4a-c496-45a2-97b4-8e0f2a2c57d2 | 440 | ;; arch-tag: e8795f4a-c496-45a2-97b4-8e0f2a2c57d2 |
| 441 | ;;; cmuscheme.el ends here | 441 | ;;; cmuscheme.el ends here |
diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 108d7d87a1e..8f915d52d3a 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el | |||
| @@ -517,7 +517,8 @@ as well as widgets, buttons, overlays, and text properties." | |||
| 517 | (push (format "%s;" (pop props)) ps)) | 517 | (push (format "%s;" (pop props)) ps)) |
| 518 | (list (cons "Properties" (nreverse ps))))) | 518 | (list (cons "Properties" (nreverse ps))))) |
| 519 | ("to input" | 519 | ("to input" |
| 520 | ,@(let ((key-list (and current-input-method | 520 | ,@(let ((key-list (and (eq input-method-function |
| 521 | 'quail-input-method) | ||
| 521 | (quail-find-key char)))) | 522 | (quail-find-key char)))) |
| 522 | (if (consp key-list) | 523 | (if (consp key-list) |
| 523 | (list "type" | 524 | (list "type" |
diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el index 81299b9c63a..80beb4a872d 100644 --- a/lisp/ediff-init.el +++ b/lisp/ediff-init.el | |||
| @@ -902,9 +902,15 @@ to temp files when Ediff needs to find fine differences." | |||
| 902 | 902 | ||
| 903 | 903 | ||
| 904 | (defface ediff-current-diff-face-A | 904 | (defface ediff-current-diff-face-A |
| 905 | '((((type tty)) (:foreground "blue3" :background "yellow3")) | 905 | (if ediff-emacs-p |
| 906 | (((class color)) (:foreground "firebrick" :background "pale green")) | 906 | '((((class color) (min-colors 16)) |
| 907 | (t (:inverse-video t))) | 907 | (:foreground "firebrick" :background "pale green")) |
| 908 | (((class color)) | ||
| 909 | (:foreground "blue3" :background "yellow3")) | ||
| 910 | (t (:inverse-video t))) | ||
| 911 | '((((type tty)) (:foreground "blue3" :background "yellow3")) | ||
| 912 | (((class color)) (:foreground "firebrick" :background "pale green")) | ||
| 913 | (t (:inverse-video t)))) | ||
| 908 | "Face for highlighting the selected difference in buffer A." | 914 | "Face for highlighting the selected difference in buffer A." |
| 909 | :group 'ediff-highlighting) | 915 | :group 'ediff-highlighting) |
| 910 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 916 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -925,10 +931,17 @@ this variable represents.") | |||
| 925 | 931 | ||
| 926 | 932 | ||
| 927 | (defface ediff-current-diff-face-B | 933 | (defface ediff-current-diff-face-B |
| 928 | '((((type tty)) (:foreground "magenta3" :background "yellow3" | 934 | (if ediff-emacs-p |
| 929 | :weight bold)) | 935 | '((((class color) (min-colors 16)) |
| 930 | (((class color)) (:foreground "DarkOrchid" :background "Yellow")) | 936 | (:foreground "DarkOrchid" :background "Yellow")) |
| 931 | (t (:inverse-video t))) | 937 | (((class color)) |
| 938 | (:foreground "magenta3" :background "yellow3" | ||
| 939 | :weight bold)) | ||
| 940 | (t (:inverse-video t))) | ||
| 941 | '((((type tty)) (:foreground "magenta3" :background "yellow3" | ||
| 942 | :weight bold)) | ||
| 943 | (((class color)) (:foreground "DarkOrchid" :background "Yellow")) | ||
| 944 | (t (:inverse-video t)))) | ||
| 932 | "Face for highlighting the selected difference in buffer B." | 945 | "Face for highlighting the selected difference in buffer B." |
| 933 | :group 'ediff-highlighting) | 946 | :group 'ediff-highlighting) |
| 934 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 947 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -948,9 +961,15 @@ this variable represents.") | |||
| 948 | 961 | ||
| 949 | 962 | ||
| 950 | (defface ediff-current-diff-face-C | 963 | (defface ediff-current-diff-face-C |
| 951 | '((((type tty)) (:foreground "cyan3" :background "yellow3" :weight bold)) | 964 | (if ediff-emacs-p |
| 952 | (((class color)) (:foreground "Navy" :background "Pink")) | 965 | '((((class color) (min-colors 16)) |
| 953 | (t (:inverse-video t))) | 966 | (:foreground "Navy" :background "Pink")) |
| 967 | (((class color)) | ||
| 968 | (:foreground "cyan3" :background "yellow3" :weight bold)) | ||
| 969 | (t (:inverse-video t))) | ||
| 970 | '((((type tty)) (:foreground "cyan3" :background "yellow3" :weight bold)) | ||
| 971 | (((class color)) (:foreground "Navy" :background "Pink")) | ||
| 972 | (t (:inverse-video t)))) | ||
| 954 | "Face for highlighting the selected difference in buffer C." | 973 | "Face for highlighting the selected difference in buffer C." |
| 955 | :group 'ediff-highlighting) | 974 | :group 'ediff-highlighting) |
| 956 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 975 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -970,9 +989,15 @@ this variable represents.") | |||
| 970 | 989 | ||
| 971 | 990 | ||
| 972 | (defface ediff-current-diff-face-Ancestor | 991 | (defface ediff-current-diff-face-Ancestor |
| 973 | '((((type tty)) (:foreground "black" :background "magenta3")) | 992 | (if ediff-emacs-p |
| 974 | (((class color)) (:foreground "Black" :background "VioletRed")) | 993 | '((((class color) (min-colors 16)) |
| 975 | (t (:inverse-video t))) | 994 | (:foreground "Black" :background "VioletRed")) |
| 995 | (((class color)) | ||
| 996 | (:foreground "black" :background "magenta3")) | ||
| 997 | (t (:inverse-video t))) | ||
| 998 | '((((type tty)) (:foreground "black" :background "magenta3")) | ||
| 999 | (((class color)) (:foreground "Black" :background "VioletRed")) | ||
| 1000 | (t (:inverse-video t)))) | ||
| 976 | "Face for highlighting the selected difference in buffer Ancestor." | 1001 | "Face for highlighting the selected difference in buffer Ancestor." |
| 977 | :group 'ediff-highlighting) | 1002 | :group 'ediff-highlighting) |
| 978 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1003 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -992,9 +1017,15 @@ this variable represents.") | |||
| 992 | 1017 | ||
| 993 | 1018 | ||
| 994 | (defface ediff-fine-diff-face-A | 1019 | (defface ediff-fine-diff-face-A |
| 995 | '((((type tty)) (:foreground "white" :background "sky blue" :weight bold)) | 1020 | (if ediff-emacs-p |
| 996 | (((class color)) (:foreground "Navy" :background "sky blue")) | 1021 | '((((class color) (min-colors 16)) |
| 997 | (t (:underline t :stipple "gray3"))) | 1022 | (:foreground "Navy" :background "sky blue")) |
| 1023 | (((class color)) | ||
| 1024 | (:foreground "white" :background "sky blue" :weight bold)) | ||
| 1025 | (t (:underline t :stipple "gray3"))) | ||
| 1026 | '((((type tty)) (:foreground "white" :background "sky blue" :weight bold)) | ||
| 1027 | (((class color)) (:foreground "Navy" :background "sky blue")) | ||
| 1028 | (t (:underline t :stipple "gray3")))) | ||
| 998 | "Face for highlighting the refinement of the selected diff in buffer A." | 1029 | "Face for highlighting the refinement of the selected diff in buffer A." |
| 999 | :group 'ediff-highlighting) | 1030 | :group 'ediff-highlighting) |
| 1000 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1031 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1007,9 +1038,15 @@ this variable represents.") | |||
| 1007 | (ediff-hide-face 'ediff-fine-diff-face-A) | 1038 | (ediff-hide-face 'ediff-fine-diff-face-A) |
| 1008 | 1039 | ||
| 1009 | (defface ediff-fine-diff-face-B | 1040 | (defface ediff-fine-diff-face-B |
| 1010 | '((((type tty)) (:foreground "magenta3" :background "cyan3")) | 1041 | (if ediff-emacs-p |
| 1011 | (((class color)) (:foreground "Black" :background "cyan")) | 1042 | '((((class color) (min-colors 16)) |
| 1012 | (t (:underline t :stipple "gray3"))) | 1043 | (:foreground "Black" :background "cyan")) |
| 1044 | (((class color)) | ||
| 1045 | (:foreground "magenta3" :background "cyan3")) | ||
| 1046 | (t (:underline t :stipple "gray3"))) | ||
| 1047 | '((((type tty)) (:foreground "magenta3" :background "cyan3")) | ||
| 1048 | (((class color)) (:foreground "Black" :background "cyan")) | ||
| 1049 | (t (:underline t :stipple "gray3")))) | ||
| 1013 | "Face for highlighting the refinement of the selected diff in buffer B." | 1050 | "Face for highlighting the refinement of the selected diff in buffer B." |
| 1014 | :group 'ediff-highlighting) | 1051 | :group 'ediff-highlighting) |
| 1015 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1052 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1022,11 +1059,20 @@ this variable represents.") | |||
| 1022 | (ediff-hide-face 'ediff-fine-diff-face-B) | 1059 | (ediff-hide-face 'ediff-fine-diff-face-B) |
| 1023 | 1060 | ||
| 1024 | (defface ediff-fine-diff-face-C | 1061 | (defface ediff-fine-diff-face-C |
| 1025 | '((((type tty)) (:foreground "yellow3" :background "Turquoise" | 1062 | (if ediff-emacs-p |
| 1026 | :weight bold)) | 1063 | '((((type pc)) |
| 1027 | (((type pc)) (:foreground "white" :background "Turquoise")) | 1064 | (:foreground "white" :background "Turquoise")) |
| 1028 | (((class color)) (:foreground "Black" :background "Turquoise")) | 1065 | (((class color) (min-colors 16)) |
| 1029 | (t (:underline t :stipple "gray3"))) | 1066 | (:foreground "Black" :background "Turquoise")) |
| 1067 | (((class color)) | ||
| 1068 | (:foreground "yellow3" :background "Turquoise" | ||
| 1069 | :weight bold)) | ||
| 1070 | (t (:underline t :stipple "gray3"))) | ||
| 1071 | '((((type tty)) (:foreground "yellow3" :background "Turquoise" | ||
| 1072 | :weight bold)) | ||
| 1073 | (((type pc)) (:foreground "white" :background "Turquoise")) | ||
| 1074 | (((class color)) (:foreground "Black" :background "Turquoise")) | ||
| 1075 | (t (:underline t :stipple "gray3")))) | ||
| 1030 | "Face for highlighting the refinement of the selected diff in buffer C." | 1076 | "Face for highlighting the refinement of the selected diff in buffer C." |
| 1031 | :group 'ediff-highlighting) | 1077 | :group 'ediff-highlighting) |
| 1032 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1078 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1039,9 +1085,15 @@ this variable represents.") | |||
| 1039 | (ediff-hide-face 'ediff-fine-diff-face-C) | 1085 | (ediff-hide-face 'ediff-fine-diff-face-C) |
| 1040 | 1086 | ||
| 1041 | (defface ediff-fine-diff-face-Ancestor | 1087 | (defface ediff-fine-diff-face-Ancestor |
| 1042 | '((((type tty)) (:foreground "red3" :background "green")) | 1088 | (if ediff-emacs-p |
| 1043 | (((class color)) (:foreground "Black" :background "Green")) | 1089 | '((((class color) (min-colors 16)) |
| 1044 | (t (:underline t :stipple "gray3"))) | 1090 | (:foreground "Black" :background "Green")) |
| 1091 | (((class color)) | ||
| 1092 | (:foreground "red3" :background "green")) | ||
| 1093 | (t (:underline t :stipple "gray3"))) | ||
| 1094 | '((((type tty)) (:foreground "red3" :background "green")) | ||
| 1095 | (((class color)) (:foreground "Black" :background "Green")) | ||
| 1096 | (t (:underline t :stipple "gray3")))) | ||
| 1045 | "Face for highlighting the refinement of the selected diff in the ancestor buffer. | 1097 | "Face for highlighting the refinement of the selected diff in the ancestor buffer. |
| 1046 | At present, this face is not used and no fine differences are computed for the | 1098 | At present, this face is not used and no fine differences are computed for the |
| 1047 | ancestor buffer." | 1099 | ancestor buffer." |
| @@ -1065,11 +1117,20 @@ this variable represents.") | |||
| 1065 | (t "Stipple"))) | 1117 | (t "Stipple"))) |
| 1066 | 1118 | ||
| 1067 | (defface ediff-even-diff-face-A | 1119 | (defface ediff-even-diff-face-A |
| 1068 | `((((type tty)) (:foreground "red3" :background "light grey" | 1120 | (if ediff-emacs-p |
| 1069 | :weight bold)) | 1121 | `((((type pc)) |
| 1070 | (((type pc)) (:foreground "green3" :background "light grey")) | 1122 | (:foreground "green3" :background "light grey")) |
| 1071 | (((class color)) (:foreground "Black" :background "light grey")) | 1123 | (((class color) (min-colors 16)) |
| 1072 | (t (:italic t :stipple ,stipple-pixmap))) | 1124 | (:foreground "Black" :background "light grey")) |
| 1125 | (((class color)) | ||
| 1126 | (:foreground "red3" :background "light grey" | ||
| 1127 | :weight bold)) | ||
| 1128 | (t (:italic t :stipple ,stipple-pixmap))) | ||
| 1129 | `((((type tty)) (:foreground "red3" :background "light grey" | ||
| 1130 | :weight bold)) | ||
| 1131 | (((type pc)) (:foreground "green3" :background "light grey")) | ||
| 1132 | (((class color)) (:foreground "Black" :background "light grey")) | ||
| 1133 | (t (:italic t :stipple ,stipple-pixmap)))) | ||
| 1073 | "Face for highlighting even-numbered non-current differences in buffer A." | 1134 | "Face for highlighting even-numbered non-current differences in buffer A." |
| 1074 | :group 'ediff-highlighting) | 1135 | :group 'ediff-highlighting) |
| 1075 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1136 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1082,9 +1143,15 @@ this variable represents.") | |||
| 1082 | (ediff-hide-face 'ediff-even-diff-face-A) | 1143 | (ediff-hide-face 'ediff-even-diff-face-A) |
| 1083 | 1144 | ||
| 1084 | (defface ediff-even-diff-face-B | 1145 | (defface ediff-even-diff-face-B |
| 1085 | `((((type tty)) (:foreground "blue3" :background "Grey" :weight bold)) | 1146 | (if ediff-emacs-p |
| 1086 | (((class color)) (:foreground "White" :background "Grey")) | 1147 | `((((class color) (min-colors 16)) |
| 1087 | (t (:italic t :stipple ,stipple-pixmap))) | 1148 | (:foreground "White" :background "Grey")) |
| 1149 | (((class color)) | ||
| 1150 | (:foreground "blue3" :background "Grey" :weight bold)) | ||
| 1151 | (t (:italic t :stipple ,stipple-pixmap))) | ||
| 1152 | `((((type tty)) (:foreground "blue3" :background "Grey" :weight bold)) | ||
| 1153 | (((class color)) (:foreground "White" :background "Grey")) | ||
| 1154 | (t (:italic t :stipple ,stipple-pixmap)))) | ||
| 1088 | "Face for highlighting even-numbered non-current differences in buffer B." | 1155 | "Face for highlighting even-numbered non-current differences in buffer B." |
| 1089 | :group 'ediff-highlighting) | 1156 | :group 'ediff-highlighting) |
| 1090 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1157 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1097,11 +1164,20 @@ this variable represents.") | |||
| 1097 | (ediff-hide-face 'ediff-even-diff-face-B) | 1164 | (ediff-hide-face 'ediff-even-diff-face-B) |
| 1098 | 1165 | ||
| 1099 | (defface ediff-even-diff-face-C | 1166 | (defface ediff-even-diff-face-C |
| 1100 | `((((type tty)) (:foreground "yellow3" :background "light grey" | 1167 | (if ediff-emacs-p |
| 1101 | :weight bold)) | 1168 | `((((type pc)) |
| 1102 | (((type pc)) (:foreground "yellow3" :background "light grey")) | 1169 | (:foreground "yellow3" :background "light grey")) |
| 1103 | (((class color)) (:foreground "Black" :background "light grey")) | 1170 | (((class color) (min-colors 16)) |
| 1104 | (t (:italic t :stipple ,stipple-pixmap))) | 1171 | (:foreground "Black" :background "light grey")) |
| 1172 | (((class color)) | ||
| 1173 | (:foreground "yellow3" :background "light grey" | ||
| 1174 | :weight bold)) | ||
| 1175 | (t (:italic t :stipple ,stipple-pixmap))) | ||
| 1176 | `((((type tty)) (:foreground "yellow3" :background "light grey" | ||
| 1177 | :weight bold)) | ||
| 1178 | (((type pc)) (:foreground "yellow3" :background "light grey")) | ||
| 1179 | (((class color)) (:foreground "Black" :background "light grey")) | ||
| 1180 | (t (:italic t :stipple ,stipple-pixmap)))) | ||
| 1105 | "Face for highlighting even-numbered non-current differences in buffer C." | 1181 | "Face for highlighting even-numbered non-current differences in buffer C." |
| 1106 | :group 'ediff-highlighting) | 1182 | :group 'ediff-highlighting) |
| 1107 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1183 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1114,11 +1190,20 @@ this variable represents.") | |||
| 1114 | (ediff-hide-face 'ediff-even-diff-face-C) | 1190 | (ediff-hide-face 'ediff-even-diff-face-C) |
| 1115 | 1191 | ||
| 1116 | (defface ediff-even-diff-face-Ancestor | 1192 | (defface ediff-even-diff-face-Ancestor |
| 1117 | `((((type tty)) (:foreground "cyan3" :background "light grey" | 1193 | (if ediff-emacs-p |
| 1118 | :weight bold)) | 1194 | `((((type pc)) |
| 1119 | (((type pc)) (:foreground "cyan3" :background "light grey")) | 1195 | (:foreground "cyan3" :background "light grey")) |
| 1120 | (((class color)) (:foreground "White" :background "Grey")) | 1196 | (((class color) (min-colors 16)) |
| 1121 | (t (:italic t :stipple ,stipple-pixmap))) | 1197 | (:foreground "White" :background "Grey")) |
| 1198 | (((class color)) | ||
| 1199 | (:foreground "cyan3" :background "light grey" | ||
| 1200 | :weight bold)) | ||
| 1201 | (t (:italic t :stipple ,stipple-pixmap))) | ||
| 1202 | `((((type tty)) (:foreground "cyan3" :background "light grey" | ||
| 1203 | :weight bold)) | ||
| 1204 | (((type pc)) (:foreground "cyan3" :background "light grey")) | ||
| 1205 | (((class color)) (:foreground "White" :background "Grey")) | ||
| 1206 | (t (:italic t :stipple ,stipple-pixmap)))) | ||
| 1122 | "Face for highlighting even-numbered non-current differences in the ancestor buffer." | 1207 | "Face for highlighting even-numbered non-current differences in the ancestor buffer." |
| 1123 | :group 'ediff-highlighting) | 1208 | :group 'ediff-highlighting) |
| 1124 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1209 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1138,10 +1223,18 @@ this variable represents.") | |||
| 1138 | (Ancestor . ediff-even-diff-face-Ancestor))) | 1223 | (Ancestor . ediff-even-diff-face-Ancestor))) |
| 1139 | 1224 | ||
| 1140 | (defface ediff-odd-diff-face-A | 1225 | (defface ediff-odd-diff-face-A |
| 1141 | '((((type tty)) (:foreground "red3" :background "black" :weight bold)) | 1226 | (if ediff-emacs-p |
| 1142 | (((type pc)) (:foreground "green3" :background "gray40")) | 1227 | '((((type pc)) |
| 1143 | (((class color)) (:foreground "White" :background "Grey")) | 1228 | (:foreground "green3" :background "gray40")) |
| 1144 | (t (:italic t :stipple "gray1"))) | 1229 | (((class color) (min-colors 16)) |
| 1230 | (:foreground "White" :background "Grey")) | ||
| 1231 | (((class color)) | ||
| 1232 | (:foreground "red3" :background "black" :weight bold)) | ||
| 1233 | (t (:italic t :stipple "gray1"))) | ||
| 1234 | '((((type tty)) (:foreground "red3" :background "black" :weight bold)) | ||
| 1235 | (((type pc)) (:foreground "green3" :background "gray40")) | ||
| 1236 | (((class color)) (:foreground "White" :background "Grey")) | ||
| 1237 | (t (:italic t :stipple "gray1")))) | ||
| 1145 | "Face for highlighting odd-numbered non-current differences in buffer A." | 1238 | "Face for highlighting odd-numbered non-current differences in buffer A." |
| 1146 | :group 'ediff-highlighting) | 1239 | :group 'ediff-highlighting) |
| 1147 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1240 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1155,10 +1248,18 @@ this variable represents.") | |||
| 1155 | 1248 | ||
| 1156 | 1249 | ||
| 1157 | (defface ediff-odd-diff-face-B | 1250 | (defface ediff-odd-diff-face-B |
| 1158 | '((((type tty)) (:foreground "cyan3" :background "black" :weight bold)) | 1251 | (if ediff-emacs-p |
| 1159 | (((type pc)) (:foreground "White" :background "gray40")) | 1252 | '((((type pc)) |
| 1160 | (((class color)) (:foreground "Black" :background "light grey")) | 1253 | (:foreground "White" :background "gray40")) |
| 1161 | (t (:italic t :stipple "gray1"))) | 1254 | (((class color) (min-colors 16)) |
| 1255 | (:foreground "Black" :background "light grey")) | ||
| 1256 | (((class color)) | ||
| 1257 | (:foreground "cyan3" :background "black" :weight bold)) | ||
| 1258 | (t (:italic t :stipple "gray1"))) | ||
| 1259 | '((((type tty)) (:foreground "cyan3" :background "black" :weight bold)) | ||
| 1260 | (((type pc)) (:foreground "White" :background "gray40")) | ||
| 1261 | (((class color)) (:foreground "Black" :background "light grey")) | ||
| 1262 | (t (:italic t :stipple "gray1")))) | ||
| 1162 | "Face for highlighting odd-numbered non-current differences in buffer B." | 1263 | "Face for highlighting odd-numbered non-current differences in buffer B." |
| 1163 | :group 'ediff-highlighting) | 1264 | :group 'ediff-highlighting) |
| 1164 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1265 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1171,10 +1272,18 @@ this variable represents.") | |||
| 1171 | (ediff-hide-face 'ediff-odd-diff-face-B) | 1272 | (ediff-hide-face 'ediff-odd-diff-face-B) |
| 1172 | 1273 | ||
| 1173 | (defface ediff-odd-diff-face-C | 1274 | (defface ediff-odd-diff-face-C |
| 1174 | '((((type tty)) (:foreground "yellow3" :background "black" :weight bold)) | 1275 | (if ediff-emacs-p |
| 1175 | (((type pc)) (:foreground "yellow3" :background "gray40")) | 1276 | '((((type pc)) |
| 1176 | (((class color)) (:foreground "White" :background "Grey")) | 1277 | (:foreground "yellow3" :background "gray40")) |
| 1177 | (t (:italic t :stipple "gray1"))) | 1278 | (((class color) (min-colors 16)) |
| 1279 | (:foreground "White" :background "Grey")) | ||
| 1280 | (((class color)) | ||
| 1281 | (:foreground "yellow3" :background "black" :weight bold)) | ||
| 1282 | (t (:italic t :stipple "gray1"))) | ||
| 1283 | '((((type tty)) (:foreground "yellow3" :background "black" :weight bold)) | ||
| 1284 | (((type pc)) (:foreground "yellow3" :background "gray40")) | ||
| 1285 | (((class color)) (:foreground "White" :background "Grey")) | ||
| 1286 | (t (:italic t :stipple "gray1")))) | ||
| 1178 | "Face for highlighting odd-numbered non-current differences in buffer C." | 1287 | "Face for highlighting odd-numbered non-current differences in buffer C." |
| 1179 | :group 'ediff-highlighting) | 1288 | :group 'ediff-highlighting) |
| 1180 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1289 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
| @@ -1187,9 +1296,15 @@ this variable represents.") | |||
| 1187 | (ediff-hide-face 'ediff-odd-diff-face-C) | 1296 | (ediff-hide-face 'ediff-odd-diff-face-C) |
| 1188 | 1297 | ||
| 1189 | (defface ediff-odd-diff-face-Ancestor | 1298 | (defface ediff-odd-diff-face-Ancestor |
| 1190 | '((((type tty)) (:foreground "green3" :background "black" :weight bold)) | 1299 | (if ediff-emacs-p |
| 1191 | (((class color)) (:foreground "cyan3" :background "gray40")) | 1300 | '((((class color) (min-colors 16)) |
| 1192 | (t (:italic t :stipple "gray1"))) | 1301 | (:foreground "cyan3" :background "gray40")) |
| 1302 | (((class color)) | ||
| 1303 | (:foreground "green3" :background "black" :weight bold)) | ||
| 1304 | (t (:italic t :stipple "gray1"))) | ||
| 1305 | '((((type tty)) (:foreground "green3" :background "black" :weight bold)) | ||
| 1306 | (((class color)) (:foreground "cyan3" :background "gray40")) | ||
| 1307 | (t (:italic t :stipple "gray1")))) | ||
| 1193 | "Face for highlighting odd-numbered non-current differences in the ancestor buffer." | 1308 | "Face for highlighting odd-numbered non-current differences in the ancestor buffer." |
| 1194 | :group 'ediff-highlighting) | 1309 | :group 'ediff-highlighting) |
| 1195 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, | 1310 | ;; An internal variable. Ediff takes the face from here. When unhighlighting, |
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el index 9730536ac37..c16b6113516 100644 --- a/lisp/eshell/esh-ext.el +++ b/lisp/eshell/esh-ext.el | |||
| @@ -150,8 +150,8 @@ by the user on the command line." | |||
| 150 | 150 | ||
| 151 | (defcustom eshell-explicit-command-char ?* | 151 | (defcustom eshell-explicit-command-char ?* |
| 152 | "*If this char occurs before a command name, call it externally. | 152 | "*If this char occurs before a command name, call it externally. |
| 153 | That is, although vi may be an alias, *vi will always call the | 153 | That is, although `vi' may be an alias, `\vi' will always call the |
| 154 | external version. UNIX users may prefer this variable to be \." | 154 | external version." |
| 155 | :type 'character | 155 | :type 'character |
| 156 | :group 'eshell-ext) | 156 | :group 'eshell-ext) |
| 157 | 157 | ||
diff --git a/lisp/files.el b/lisp/files.el index 5571ede9d3e..962fd483c2c 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -439,10 +439,7 @@ specified in a -*- line.") | |||
| 439 | "*Control processing of the \"variable\" `eval' in a file's local variables. | 439 | "*Control processing of the \"variable\" `eval' in a file's local variables. |
| 440 | The value can be t, nil or something else. | 440 | The value can be t, nil or something else. |
| 441 | A value of t means obey `eval' variables; | 441 | A value of t means obey `eval' variables; |
| 442 | nil means ignore them; anything else means query. | 442 | nil means ignore them; anything else means query." |
| 443 | |||
| 444 | The command \\[normal-mode] always obeys local-variables lists | ||
| 445 | and ignores this variable." | ||
| 446 | :type '(choice (const :tag "Obey" t) | 443 | :type '(choice (const :tag "Obey" t) |
| 447 | (const :tag "Ignore" nil) | 444 | (const :tag "Ignore" nil) |
| 448 | (other :tag "Query" other)) | 445 | (other :tag "Query" other)) |
| @@ -2110,9 +2107,7 @@ is specified, returning t if it is specified." | |||
| 2110 | buffer-file-name) | 2107 | buffer-file-name) |
| 2111 | (concat "buffer " | 2108 | (concat "buffer " |
| 2112 | (buffer-name)))))))))) | 2109 | (buffer-name)))))))))) |
| 2113 | (let ((continue t) | 2110 | (let (prefix prefixlen suffix beg |
| 2114 | prefix prefixlen suffix beg | ||
| 2115 | mode-specified | ||
| 2116 | (enable-local-eval enable-local-eval)) | 2111 | (enable-local-eval enable-local-eval)) |
| 2117 | ;; The prefix is what comes before "local variables:" in its line. | 2112 | ;; The prefix is what comes before "local variables:" in its line. |
| 2118 | ;; The suffix is what comes after "local variables:" in its line. | 2113 | ;; The suffix is what comes after "local variables:" in its line. |
| @@ -2129,46 +2124,66 @@ is specified, returning t if it is specified." | |||
| 2129 | (if prefix (setq prefixlen (length prefix) | 2124 | (if prefix (setq prefixlen (length prefix) |
| 2130 | prefix (regexp-quote prefix))) | 2125 | prefix (regexp-quote prefix))) |
| 2131 | (if suffix (setq suffix (concat (regexp-quote suffix) "$"))) | 2126 | (if suffix (setq suffix (concat (regexp-quote suffix) "$"))) |
| 2132 | (while continue | 2127 | (forward-line 1) |
| 2133 | ;; Look at next local variable spec. | 2128 | (let ((startpos (point)) |
| 2134 | (if selective-display (re-search-forward "[\n\C-m]") | 2129 | endpos |
| 2135 | (forward-line 1)) | 2130 | (thisbuf (current-buffer))) |
| 2136 | ;; Skip the prefix, if any. | 2131 | (save-excursion |
| 2137 | (if prefix | 2132 | (if (not (re-search-forward |
| 2138 | (if (looking-at prefix) | 2133 | (concat (or prefix "") |
| 2139 | (forward-char prefixlen) | 2134 | "[ \t]*End:[ \t]*" |
| 2140 | (error "Local variables entry is missing the prefix"))) | 2135 | (or suffix "")) |
| 2141 | ;; Find the variable name; strip whitespace. | 2136 | nil t)) |
| 2142 | (skip-chars-forward " \t") | 2137 | (error "Local variables list is not properly terminated")) |
| 2143 | (setq beg (point)) | 2138 | (beginning-of-line) |
| 2144 | (skip-chars-forward "^:\n") | 2139 | (setq endpos (point))) |
| 2145 | (if (eolp) (error "Missing colon in local variables entry")) | 2140 | |
| 2146 | (skip-chars-backward " \t") | 2141 | (with-temp-buffer |
| 2147 | (let* ((str (buffer-substring beg (point))) | 2142 | (insert-buffer-substring thisbuf startpos endpos) |
| 2148 | (var (read str)) | 2143 | (goto-char (point-min)) |
| 2149 | val) | 2144 | (subst-char-in-region (point) (point-max) |
| 2150 | ;; Setting variable named "end" means end of list. | 2145 | ?\^m ?\n) |
| 2151 | (if (string-equal (downcase str) "end") | 2146 | (while (not (eobp)) |
| 2152 | (setq continue nil) | 2147 | ;; Discard the prefix, if any. |
| 2153 | ;; Otherwise read the variable value. | 2148 | (if prefix |
| 2154 | (skip-chars-forward "^:") | 2149 | (if (looking-at prefix) |
| 2155 | (forward-char 1) | 2150 | (delete-region (point) (match-end 0)) |
| 2156 | (setq val (read (current-buffer))) | 2151 | (error "Local variables entry is missing the prefix"))) |
| 2157 | (skip-chars-backward "\n") | 2152 | (end-of-line) |
| 2153 | ;; Discard the suffix, if any. | ||
| 2154 | (if suffix | ||
| 2155 | (if (looking-back suffix) | ||
| 2156 | (delete-region (match-beginning 0) (point)) | ||
| 2157 | (error "Local variables entry is missing the suffix"))) | ||
| 2158 | (forward-line 1)) | ||
| 2159 | (goto-char (point-min)) | ||
| 2160 | |||
| 2161 | (while (not (eobp)) | ||
| 2162 | ;; Find the variable name; strip whitespace. | ||
| 2158 | (skip-chars-forward " \t") | 2163 | (skip-chars-forward " \t") |
| 2159 | (or (if suffix (looking-at suffix) (eolp)) | 2164 | (setq beg (point)) |
| 2160 | (error "Local variables entry is terminated incorrectly")) | 2165 | (skip-chars-forward "^:\n") |
| 2161 | (if mode-only | 2166 | (if (eolp) (error "Missing colon in local variables entry")) |
| 2162 | (if (eq var 'mode) | 2167 | (skip-chars-backward " \t") |
| 2163 | (setq mode-specified t)) | 2168 | (let* ((str (buffer-substring beg (point))) |
| 2164 | ;; Set the variable. "Variables" mode and eval are funny. | 2169 | (var (read str)) |
| 2165 | (hack-one-local-variable var val)))))))) | 2170 | val) |
| 2171 | ;; Read the variable value. | ||
| 2172 | (skip-chars-forward "^:") | ||
| 2173 | (forward-char 1) | ||
| 2174 | (setq val (read (current-buffer))) | ||
| 2175 | (if mode-only | ||
| 2176 | (if (eq var 'mode) | ||
| 2177 | (setq mode-specified t)) | ||
| 2178 | ;; Set the variable. "Variables" mode and eval are funny. | ||
| 2179 | (with-current-buffer thisbuf | ||
| 2180 | (hack-one-local-variable var val)))) | ||
| 2181 | (forward-line 1))))))) | ||
| 2166 | (unless mode-only | 2182 | (unless mode-only |
| 2167 | (run-hooks 'hack-local-variables-hook)) | 2183 | (run-hooks 'hack-local-variables-hook)) |
| 2168 | mode-specified)) | 2184 | mode-specified)) |
| 2169 | 2185 | ||
| 2170 | (defvar ignored-local-variables | 2186 | (defvar ignored-local-variables () |
| 2171 | '(enable-local-eval) | ||
| 2172 | "Variables to be ignored in a file's local variable spec.") | 2187 | "Variables to be ignored in a file's local variable spec.") |
| 2173 | 2188 | ||
| 2174 | ;; Get confirmation before setting these variables as locals in a file. | 2189 | ;; Get confirmation before setting these variables as locals in a file. |
| @@ -2234,8 +2249,7 @@ is specified, returning t if it is specified." | |||
| 2234 | If VAL is nil or omitted, the question is whether any value might be | 2249 | If VAL is nil or omitted, the question is whether any value might be |
| 2235 | dangerous." | 2250 | dangerous." |
| 2236 | (let ((safep (get sym 'safe-local-variable))) | 2251 | (let ((safep (get sym 'safe-local-variable))) |
| 2237 | (or (memq sym ignored-local-variables) | 2252 | (or (get sym 'risky-local-variable) |
| 2238 | (get sym 'risky-local-variable) | ||
| 2239 | (and (string-match "-hooks?$\\|-functions?$\\|-forms?$\\|-program$\\|-command$\\|-predicate$\\|font-lock-keywords$\\|font-lock-keywords-[0-9]+$\\|font-lock-syntactic-keywords$\\|-frame-alist$\\|-mode-alist$\\|-map$\\|-map-alist$" | 2253 | (and (string-match "-hooks?$\\|-functions?$\\|-forms?$\\|-program$\\|-command$\\|-predicate$\\|font-lock-keywords$\\|font-lock-keywords-[0-9]+$\\|font-lock-syntactic-keywords$\\|-frame-alist$\\|-mode-alist$\\|-map$\\|-map-alist$" |
| 2240 | (symbol-name sym)) | 2254 | (symbol-name sym)) |
| 2241 | (not safep)) | 2255 | (not safep)) |
| @@ -2309,6 +2323,8 @@ is considered risky." | |||
| 2309 | ((eq var 'coding) | 2323 | ((eq var 'coding) |
| 2310 | ;; We have already handled coding: tag in set-auto-coding. | 2324 | ;; We have already handled coding: tag in set-auto-coding. |
| 2311 | nil) | 2325 | nil) |
| 2326 | ((memq var ignored-local-variables) | ||
| 2327 | nil) | ||
| 2312 | ;; "Setting" eval means either eval it or do nothing. | 2328 | ;; "Setting" eval means either eval it or do nothing. |
| 2313 | ;; Likewise for setting hook variables. | 2329 | ;; Likewise for setting hook variables. |
| 2314 | ((risky-local-variable-p var val) | 2330 | ((risky-local-variable-p var val) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 46b673ce540..60ad776347c 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,6 +1,156 @@ | |||
| 1 | 2004-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * mm-decode.el (mm-copy-to-buffer): Preserve the data's unibyteness. | ||
| 4 | |||
| 5 | 2004-09-20 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 6 | |||
| 7 | * uudecode.el (uudecode-use-external): Add :version. | ||
| 8 | |||
| 9 | * smime.el (smime-CA-file, smime-encrypt-cipher) | ||
| 10 | (smime-dns-server): Add :version. | ||
| 11 | |||
| 12 | * smiley.el (gnus-smiley-file-types): Add :version. | ||
| 13 | |||
| 14 | * sha1.el (sha1-use-external): Add :version. | ||
| 15 | |||
| 16 | * pgg-def.el (pgg-query-keyserver): Add :version. | ||
| 17 | |||
| 18 | * nnmail.el (nnmail-fancy-expiry-targets) | ||
| 19 | (nnmail-mail-splitting-charset, nnmail-mail-splitting-decodes): | ||
| 20 | |||
| 21 | * nnimap.el (nnimap-split-download-body, nnimap-dont-close) | ||
| 22 | (nnimap-retrieve-groups-asynchronous): Add :version. | ||
| 23 | (nnimap-close-asynchronous): Add :version. Fixed typo in doc string. | ||
| 24 | |||
| 25 | * mml.el (mml-content-disposition-parameters) | ||
| 26 | (mml-insert-mime-headers-always): Add :version. | ||
| 27 | |||
| 28 | * mm-util.el (mm-coding-system-priorities): | ||
| 29 | |||
| 30 | * mm-decode.el (mm-inline-text-html-with-images) | ||
| 31 | (mm-keep-viewer-alive-types, mm-external-terminal-program) | ||
| 32 | (mm-verify-option): Add :version. | ||
| 33 | (mm-text-html-renderer): Change :version. | ||
| 34 | |||
| 35 | * message.el (message-fcc-externalize-attachments) | ||
| 36 | (message-required-headers, message-draft-headers) | ||
| 37 | (message-subject-trailing-was-query) | ||
| 38 | (message-subject-trailing-was-ask-regexp) | ||
| 39 | (message-subject-trailing-was-regexp, message-mark-insert-begin) | ||
| 40 | (message-mark-insert-end, message-archive-header) | ||
| 41 | (message-archive-note, message-cross-post-default) | ||
| 42 | (message-cross-post-note, message-followup-to-note) | ||
| 43 | (message-cross-post-note-function, message-use-mail-followup-to) | ||
| 44 | (message-subscribed-address-functions) | ||
| 45 | (message-subscribed-address-file, message-subscribed-addresses) | ||
| 46 | (message-subscribed-regexps, message-allow-no-recipients) | ||
| 47 | (message-yank-cited-prefix, message-signature-insert-empty-line) | ||
| 48 | (message-hidden-headers, message-hierarchical-addresses) | ||
| 49 | (message-mail-user-agent, message-use-idna) | ||
| 50 | (message-valid-fqdn-regexp) | ||
| 51 | (message-strip-special-text-properties, message-header-synonyms) | ||
| 52 | (message-beginning-of-line, message-tab-body-function): Add :version. | ||
| 53 | (message-insert-canlock, message-wide-reply-confirm-recipients): | ||
| 54 | Change :version. | ||
| 55 | |||
| 56 | * mail-source.el (mail-source-ignore-errors): Add :group, :type | ||
| 57 | and :version. | ||
| 58 | (mail-source-delete-old-incoming-confirm) | ||
| 59 | (mail-source-movemail-program): Add :version. | ||
| 60 | |||
| 61 | * gnus.el (gnus-parameters, gnus-user-agent): Add :version. | ||
| 62 | (gnus-agent-cache, gnus-agent): Change :version. | ||
| 63 | |||
| 64 | * gnus-util.el (gnus-use-byte-compile): Change :version. | ||
| 65 | |||
| 66 | * gnus-sum.el (gnus-summary-make-false-root-always) | ||
| 67 | (gnus-summary-default-high-score) | ||
| 68 | (gnus-summary-default-low-score, gnus-auto-goto-ignores) | ||
| 69 | (gnus-forwarded-mark, gnus-unseen-mark, gnus-no-mark) | ||
| 70 | (gnus-read-all-available-headers, gnus-article-emulate-mime) | ||
| 71 | (gnus-sum-thread-tree-root, gnus-sum-thread-tree-false-root) | ||
| 72 | (gnus-sum-thread-tree-single-indent) | ||
| 73 | (gnus-sum-thread-tree-vertical, gnus-sum-thread-tree-indent) | ||
| 74 | (gnus-sum-thread-tree-leaf-with-other) | ||
| 75 | (gnus-sum-thread-tree-single-leaf): Add :version. | ||
| 76 | (gnus-summary-display-arrow, gnus-summary-muttprint-program) | ||
| 77 | (gnus-article-loose-mime): Change :version. | ||
| 78 | |||
| 79 | * gnus-start.el (gnus-backup-startup-file) | ||
| 80 | (gnus-save-startup-file-via-temp-buffer): Add :version. | ||
| 81 | |||
| 82 | * gnus-srvr.el (gnus-server-browse-in-group-buffer) | ||
| 83 | (gnus-server-offline-face): Add :version. | ||
| 84 | |||
| 85 | * gnus-score.el (gnus-adaptive-word-length-limit): | ||
| 86 | |||
| 87 | * gnus-msg.el (gnus-gcc-externalize-attachments) | ||
| 88 | (gnus-debug-files, gnus-debug-exclude-variables) | ||
| 89 | (gnus-discouraged-post-methods): Change :version. | ||
| 90 | (gnus-confirm-mail-reply-to-news) | ||
| 91 | (gnus-confirm-treat-mail-like-news): Add :version. | ||
| 92 | |||
| 93 | * gnus-int.el (gnus-server-unopen-status): Add :version. | ||
| 94 | |||
| 95 | * gnus-group.el (gnus-group-jump-to-group-prompt) | ||
| 96 | (gnus-large-ephemeral-newsgroup) | ||
| 97 | (gnus-fetch-old-ephemeral-headers): Add :version. | ||
| 98 | |||
| 99 | * gnus-fun.el (gnus-x-face-directory) | ||
| 100 | (gnus-convert-pbm-to-x-face-command) | ||
| 101 | (gnus-convert-image-to-x-face-command) | ||
| 102 | (gnus-convert-image-to-face-command): Add :version. | ||
| 103 | |||
| 104 | * gnus-delay.el (gnus-delay-default-hour): Add :version. | ||
| 105 | |||
| 106 | * gnus-cite.el (gnus-cite-blank-line-after-header) | ||
| 107 | (gnus-article-boring-faces): | ||
| 108 | |||
| 109 | * gnus-art.el (gnus-buttonized-mime-types) | ||
| 110 | (gnus-inhibit-mime-unbuttonizing) | ||
| 111 | (gnus-treat-display-face) | ||
| 112 | (gnus-treat-body-boundary): Change :version. | ||
| 113 | (gnus-body-boundary-delimiter, gnus-picon-databases) | ||
| 114 | (gnus-treat-strip-cr, gnus-treat-leading-whitespace) | ||
| 115 | (gnus-treat-date-english, gnus-treat-fold-headers) | ||
| 116 | (gnus-article-skip-boring, gnus-treat-fold-newsgroups) | ||
| 117 | (gnus-treat-mail-picon, gnus-treat-wash-html) | ||
| 118 | (gnus-article-encrypt-protocol) | ||
| 119 | (gnus-use-idna, gnus-article-over-scroll) | ||
| 120 | (gnus-mime-display-multipart-alternative-as-mixed) | ||
| 121 | (gnus-mime-display-multipart-related-as-mixed) | ||
| 122 | (gnus-button-valid-fqdn-regexp, gnus-button-man-handler) | ||
| 123 | (gnus-ctan-url, gnus-button-ctan-handler) | ||
| 124 | (gnus-button-handle-ctan-bogus-regexp) | ||
| 125 | (gnus-button-ctan-directory-regexp) | ||
| 126 | (gnus-button-mid-or-mail-regexp, gnus-button-prefer-mid-or-mail) | ||
| 127 | (gnus-button-mid-or-mail-heuristic-alist, gnus-button-tex-level) | ||
| 128 | (gnus-button-man-level, gnus-button-emacs-level) | ||
| 129 | (gnus-button-message-level, gnus-button-browse-level): Add :version. | ||
| 130 | |||
| 131 | * gnus-agent.el (gnus-agent-fetched-hook): Add :version. | ||
| 132 | (gnus-agent-go-online): Change :version. | ||
| 133 | (gnus-agent-expire-unagentized-dirs) | ||
| 134 | (gnus-agent-auto-agentize-methods): Add :version. | ||
| 135 | |||
| 136 | * flow-fill.el (fill-flowed-display-column) | ||
| 137 | (fill-flowed-encode-column): Add :version. | ||
| 138 | |||
| 139 | * deuglify.el (gnus-outlook-deuglify-unwrap-min) | ||
| 140 | (gnus-outlook-deuglify-unwrap-max) | ||
| 141 | (gnus-outlook-deuglify-cite-marks) | ||
| 142 | (gnus-outlook-deuglify-unwrap-stop-chars) | ||
| 143 | (gnus-outlook-deuglify-no-wrap-chars) | ||
| 144 | (gnus-outlook-deuglify-attrib-cut-regexp) | ||
| 145 | (gnus-outlook-deuglify-attrib-verb-regexp) | ||
| 146 | (gnus-outlook-deuglify-attrib-end-regexp) | ||
| 147 | (gnus-outlook-display-hook): Add :version. | ||
| 148 | |||
| 149 | * binhex.el (binhex-use-external): Add :version. | ||
| 150 | |||
| 1 | 2004-09-16 Reiner Steib <Reiner.Steib@gmx.de> | 151 | 2004-09-16 Reiner Steib <Reiner.Steib@gmx.de> |
| 2 | 152 | ||
| 3 | * gnus-sum.el (gnus-fetch-old-headers): Added custom choices `t' | 153 | * gnus-sum.el (gnus-fetch-old-headers): Add custom choices `t' |
| 4 | and `invisible'. | 154 | and `invisible'. |
| 5 | 155 | ||
| 6 | 2004-09-13 Simon Josefsson <jas@extundo.com> | 156 | 2004-09-13 Simon Josefsson <jas@extundo.com> |
| @@ -9,7 +159,7 @@ | |||
| 9 | 159 | ||
| 10 | 2004-09-13 Reiner Steib <Reiner.Steib@gmx.de> | 160 | 2004-09-13 Reiner Steib <Reiner.Steib@gmx.de> |
| 11 | 161 | ||
| 12 | * gnus-sum.el (gnus-summary-copy-article): Fixed doc string. | 162 | * gnus-sum.el (gnus-summary-copy-article): Fix doc string. |
| 13 | 163 | ||
| 14 | 2004-09-10 Miles Bader <miles@gnu.ai.mit.edu> | 164 | 2004-09-10 Miles Bader <miles@gnu.ai.mit.edu> |
| 15 | 165 | ||
| @@ -17,10 +167,10 @@ | |||
| 17 | 167 | ||
| 18 | 2004-09-10 Teodor Zlatanov <tzz@lifelogs.com> | 168 | 2004-09-10 Teodor Zlatanov <tzz@lifelogs.com> |
| 19 | 169 | ||
| 20 | * nnimap.el (nnimap-open-connection): allow 'imaps' as a synonym | 170 | * nnimap.el (nnimap-open-connection): Allow 'imaps' as a synonym |
| 21 | for the 'imap' port in netrc files | 171 | for the 'imap' port in netrc files |
| 22 | 172 | ||
| 23 | * gnus-registry.el (gnus-registry-trim): watch out for negatives | 173 | * gnus-registry.el (gnus-registry-trim): Watch out for negatives |
| 24 | in gnus-registry-trim | 174 | in gnus-registry-trim |
| 25 | 175 | ||
| 26 | 2004-09-10 Simon Josefsson <jas@extundo.com> | 176 | 2004-09-10 Simon Josefsson <jas@extundo.com> |
| @@ -30,10 +180,9 @@ | |||
| 30 | 2004-09-08 Reiner Steib <Reiner.Steib@gmx.de> | 180 | 2004-09-08 Reiner Steib <Reiner.Steib@gmx.de> |
| 31 | 181 | ||
| 32 | * nntp.el (nntp): New customization group. | 182 | * nntp.el (nntp): New customization group. |
| 33 | (nntp-authinfo-file): Added customization group. | 183 | (nntp-authinfo-file): Add customization group. |
| 34 | 184 | ||
| 35 | * mml2015.el (mml2015-unabbrev-trust-alist): Added customization | 185 | * mml2015.el (mml2015-unabbrev-trust-alist): Add customization group. |
| 36 | group. | ||
| 37 | 186 | ||
| 38 | * mml-sec.el (mml-signencrypt-style-alist): Ditto. | 187 | * mml-sec.el (mml-signencrypt-style-alist): Ditto. |
| 39 | 188 | ||
diff --git a/lisp/gnus/binhex.el b/lisp/gnus/binhex.el index 248e1c8d8e5..17103c1b4f3 100644 --- a/lisp/gnus/binhex.el +++ b/lisp/gnus/binhex.el | |||
| @@ -50,6 +50,7 @@ input and write the converted data to its standard output." | |||
| 50 | (defcustom binhex-use-external | 50 | (defcustom binhex-use-external |
| 51 | (executable-find binhex-decoder-program) | 51 | (executable-find binhex-decoder-program) |
| 52 | "*Use external binhex program." | 52 | "*Use external binhex program." |
| 53 | :version "21.4" | ||
| 53 | :group 'gnus-extract | 54 | :group 'gnus-extract |
| 54 | :type 'boolean) | 55 | :type 'boolean) |
| 55 | 56 | ||
diff --git a/lisp/gnus/deuglify.el b/lisp/gnus/deuglify.el index 85d45cd3513..07e630d793b 100644 --- a/lisp/gnus/deuglify.el +++ b/lisp/gnus/deuglify.el | |||
| @@ -235,46 +235,54 @@ | |||
| 235 | ;;;###autoload | 235 | ;;;###autoload |
| 236 | (defcustom gnus-outlook-deuglify-unwrap-min 45 | 236 | (defcustom gnus-outlook-deuglify-unwrap-min 45 |
| 237 | "Minimum length of the cited line above the (possibly) wrapped line." | 237 | "Minimum length of the cited line above the (possibly) wrapped line." |
| 238 | :version "21.4" | ||
| 238 | :type 'integer | 239 | :type 'integer |
| 239 | :group 'gnus-outlook-deuglify) | 240 | :group 'gnus-outlook-deuglify) |
| 240 | 241 | ||
| 241 | ;;;###autoload | 242 | ;;;###autoload |
| 242 | (defcustom gnus-outlook-deuglify-unwrap-max 95 | 243 | (defcustom gnus-outlook-deuglify-unwrap-max 95 |
| 243 | "Maximum length of the cited line after unwrapping." | 244 | "Maximum length of the cited line after unwrapping." |
| 245 | :version "21.4" | ||
| 244 | :type 'integer | 246 | :type 'integer |
| 245 | :group 'gnus-outlook-deuglify) | 247 | :group 'gnus-outlook-deuglify) |
| 246 | 248 | ||
| 247 | (defcustom gnus-outlook-deuglify-cite-marks ">|#%" | 249 | (defcustom gnus-outlook-deuglify-cite-marks ">|#%" |
| 248 | "Characters that indicate cited lines." | 250 | "Characters that indicate cited lines." |
| 251 | :version "21.4" | ||
| 249 | :type 'string | 252 | :type 'string |
| 250 | :group 'gnus-outlook-deuglify) | 253 | :group 'gnus-outlook-deuglify) |
| 251 | 254 | ||
| 252 | (defcustom gnus-outlook-deuglify-unwrap-stop-chars nil ;; ".?!" or nil | 255 | (defcustom gnus-outlook-deuglify-unwrap-stop-chars nil ;; ".?!" or nil |
| 253 | "Characters that inhibit unwrapping if they are the last one on the cited line above the possible wrapped line." | 256 | "Characters that inhibit unwrapping if they are the last one on the cited line above the possible wrapped line." |
| 257 | :version "21.4" | ||
| 254 | :type '(radio (const :format "None " nil) | 258 | :type '(radio (const :format "None " nil) |
| 255 | (string :size 0 :value ".?!")) | 259 | (string :size 0 :value ".?!")) |
| 256 | :group 'gnus-outlook-deuglify) | 260 | :group 'gnus-outlook-deuglify) |
| 257 | 261 | ||
| 258 | (defcustom gnus-outlook-deuglify-no-wrap-chars "`" | 262 | (defcustom gnus-outlook-deuglify-no-wrap-chars "`" |
| 259 | "Characters that inhibit unwrapping if they are the first one in the possibly wrapped line." | 263 | "Characters that inhibit unwrapping if they are the first one in the possibly wrapped line." |
| 264 | :version "21.4" | ||
| 260 | :type 'string | 265 | :type 'string |
| 261 | :group 'gnus-outlook-deuglify) | 266 | :group 'gnus-outlook-deuglify) |
| 262 | 267 | ||
| 263 | (defcustom gnus-outlook-deuglify-attrib-cut-regexp | 268 | (defcustom gnus-outlook-deuglify-attrib-cut-regexp |
| 264 | "\\(On \\|Am \\)?\\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\),[^,]+, " | 269 | "\\(On \\|Am \\)?\\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\),[^,]+, " |
| 265 | "Regular expression matching the beginning of an attribution line that should be cut off." | 270 | "Regular expression matching the beginning of an attribution line that should be cut off." |
| 271 | :version "21.4" | ||
| 266 | :type 'string | 272 | :type 'string |
| 267 | :group 'gnus-outlook-deuglify) | 273 | :group 'gnus-outlook-deuglify) |
| 268 | 274 | ||
| 269 | (defcustom gnus-outlook-deuglify-attrib-verb-regexp | 275 | (defcustom gnus-outlook-deuglify-attrib-verb-regexp |
| 270 | "wrote\\|writes\\|says\\|schrieb\\|schreibt\\|meinte\\|skrev\\|a écrit\\|schreef\\|escribió" | 276 | "wrote\\|writes\\|says\\|schrieb\\|schreibt\\|meinte\\|skrev\\|a écrit\\|schreef\\|escribió" |
| 271 | "Regular expression matching the verb used in an attribution line." | 277 | "Regular expression matching the verb used in an attribution line." |
| 278 | :version "21.4" | ||
| 272 | :type 'string | 279 | :type 'string |
| 273 | :group 'gnus-outlook-deuglify) | 280 | :group 'gnus-outlook-deuglify) |
| 274 | 281 | ||
| 275 | (defcustom gnus-outlook-deuglify-attrib-end-regexp | 282 | (defcustom gnus-outlook-deuglify-attrib-end-regexp |
| 276 | ": *\\|\\.\\.\\." | 283 | ": *\\|\\.\\.\\." |
| 277 | "Regular expression matching the end of an attribution line." | 284 | "Regular expression matching the end of an attribution line." |
| 285 | :version "21.4" | ||
| 278 | :type 'string | 286 | :type 'string |
| 279 | :group 'gnus-outlook-deuglify) | 287 | :group 'gnus-outlook-deuglify) |
| 280 | 288 | ||
| @@ -282,6 +290,7 @@ | |||
| 282 | (defcustom gnus-outlook-display-hook nil | 290 | (defcustom gnus-outlook-display-hook nil |
| 283 | "A hook called after an deuglified article has been prepared. | 291 | "A hook called after an deuglified article has been prepared. |
| 284 | It is run after `gnus-article-prepare-hook'." | 292 | It is run after `gnus-article-prepare-hook'." |
| 293 | :version "21.4" | ||
| 285 | :type 'hook | 294 | :type 'hook |
| 286 | :group 'gnus-outlook-deuglify) | 295 | :group 'gnus-outlook-deuglify) |
| 287 | 296 | ||
diff --git a/lisp/gnus/flow-fill.el b/lisp/gnus/flow-fill.el index 9f2ae5c98bd..a22f2a5af07 100644 --- a/lisp/gnus/flow-fill.el +++ b/lisp/gnus/flow-fill.el | |||
| @@ -56,6 +56,7 @@ | |||
| 56 | (defcustom fill-flowed-display-column 'fill-column | 56 | (defcustom fill-flowed-display-column 'fill-column |
| 57 | "Column beyond which format=flowed lines are wrapped, when displayed. | 57 | "Column beyond which format=flowed lines are wrapped, when displayed. |
| 58 | This can be a Lisp expression or an integer." | 58 | This can be a Lisp expression or an integer." |
| 59 | :version "21.4" | ||
| 59 | :group 'mime-display | 60 | :group 'mime-display |
| 60 | :type '(choice (const :tag "Standard `fill-column'" fill-column) | 61 | :type '(choice (const :tag "Standard `fill-column'" fill-column) |
| 61 | (const :tag "Fit Window" (- (window-width) 5)) | 62 | (const :tag "Fit Window" (- (window-width) 5)) |
| @@ -66,6 +67,7 @@ This can be a Lisp expression or an integer." | |||
| 66 | "Column beyond which format=flowed lines are wrapped, in outgoing messages. | 67 | "Column beyond which format=flowed lines are wrapped, in outgoing messages. |
| 67 | This can be a Lisp expression or an integer. | 68 | This can be a Lisp expression or an integer. |
| 68 | RFC 2646 suggests 66 characters for readability." | 69 | RFC 2646 suggests 66 characters for readability." |
| 70 | :version "21.4" | ||
| 69 | :group 'mime-display | 71 | :group 'mime-display |
| 70 | :type '(choice (const :tag "Standard fill-column" fill-column) | 72 | :type '(choice (const :tag "Standard fill-column" fill-column) |
| 71 | (const :tag "RFC 2646 default (66)" 66) | 73 | (const :tag "RFC 2646 default (66)" 66) |
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 2ab1fb0421d..4596c783d32 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el | |||
| @@ -60,6 +60,7 @@ | |||
| 60 | 60 | ||
| 61 | (defcustom gnus-agent-fetched-hook nil | 61 | (defcustom gnus-agent-fetched-hook nil |
| 62 | "Hook run when finished fetching articles." | 62 | "Hook run when finished fetching articles." |
| 63 | :version "21.4" | ||
| 63 | :group 'gnus-agent | 64 | :group 'gnus-agent |
| 64 | :type 'hook) | 65 | :type 'hook) |
| 65 | 66 | ||
| @@ -125,7 +126,7 @@ If this is `ask' the hook will query the user." | |||
| 125 | (defcustom gnus-agent-go-online 'ask | 126 | (defcustom gnus-agent-go-online 'ask |
| 126 | "Indicate if offline servers go online when you plug in. | 127 | "Indicate if offline servers go online when you plug in. |
| 127 | If this is `ask' the hook will query the user." | 128 | If this is `ask' the hook will query the user." |
| 128 | :version "21.1" | 129 | :version "21.3" |
| 129 | :type '(choice (const :tag "Always" t) | 130 | :type '(choice (const :tag "Always" t) |
| 130 | (const :tag "Never" nil) | 131 | (const :tag "Never" nil) |
| 131 | (const :tag "Ask" ask)) | 132 | (const :tag "Ask" ask)) |
| @@ -178,6 +179,7 @@ enable expiration per categories, topics, and groups." | |||
| 178 | Have gnus-agent-expire scan the directories under | 179 | Have gnus-agent-expire scan the directories under |
| 179 | \(gnus-agent-directory) for groups that are no longer agentized. | 180 | \(gnus-agent-directory) for groups that are no longer agentized. |
| 180 | When found, offer to remove them." | 181 | When found, offer to remove them." |
| 182 | :version "21.4" | ||
| 181 | :type 'boolean | 183 | :type 'boolean |
| 182 | :group 'gnus-agent) | 184 | :group 'gnus-agent) |
| 183 | 185 | ||
| @@ -185,6 +187,7 @@ When found, offer to remove them." | |||
| 185 | "Initially, all servers from these methods are agentized. | 187 | "Initially, all servers from these methods are agentized. |
| 186 | The user may remove or add servers using the Server buffer. | 188 | The user may remove or add servers using the Server buffer. |
| 187 | See Info node `(gnus)Server Buffer'." | 189 | See Info node `(gnus)Server Buffer'." |
| 190 | :version "21.4" | ||
| 188 | :type '(repeat symbol) | 191 | :type '(repeat symbol) |
| 189 | :group 'gnus-agent) | 192 | :group 'gnus-agent) |
| 190 | 193 | ||
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 33833a8657b..5544c28f967 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -213,6 +213,7 @@ By default, if you set this t, then Gnus will display citations and | |||
| 213 | signatures, but will never scroll down to show you a page consisting | 213 | signatures, but will never scroll down to show you a page consisting |
| 214 | only of boring text. Boring text is controlled by | 214 | only of boring text. Boring text is controlled by |
| 215 | `gnus-article-boring-faces'." | 215 | `gnus-article-boring-faces'." |
| 216 | :version "21.4" | ||
| 216 | :type 'boolean | 217 | :type 'boolean |
| 217 | :group 'gnus-article-hiding) | 218 | :group 'gnus-article-hiding) |
| 218 | 219 | ||
| @@ -744,7 +745,7 @@ If set, this variable overrides `gnus-unbuttonized-mime-types'. | |||
| 744 | To see e.g. security buttons you could set this to | 745 | To see e.g. security buttons you could set this to |
| 745 | `(\"multipart/signed\")'. | 746 | `(\"multipart/signed\")'. |
| 746 | This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil." | 747 | This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil." |
| 747 | :version "21.1" | 748 | :version "21.4" |
| 748 | :group 'gnus-article-mime | 749 | :group 'gnus-article-mime |
| 749 | :type '(repeat regexp)) | 750 | :type '(repeat regexp)) |
| 750 | 751 | ||
| @@ -753,13 +754,14 @@ This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil." | |||
| 753 | When nil (the default value), then some MIME parts do not get buttons, | 754 | When nil (the default value), then some MIME parts do not get buttons, |
| 754 | as described by the variables `gnus-buttonized-mime-types' and | 755 | as described by the variables `gnus-buttonized-mime-types' and |
| 755 | `gnus-unbuttonized-mime-types'." | 756 | `gnus-unbuttonized-mime-types'." |
| 756 | :version "21.3" | 757 | :version "21.4" |
| 757 | :type 'boolean) | 758 | :type 'boolean) |
| 758 | 759 | ||
| 759 | (defcustom gnus-body-boundary-delimiter "_" | 760 | (defcustom gnus-body-boundary-delimiter "_" |
| 760 | "String used to delimit header and body. | 761 | "String used to delimit header and body. |
| 761 | This variable is used by `gnus-article-treat-body-boundary' which can | 762 | This variable is used by `gnus-article-treat-body-boundary' which can |
| 762 | be controlled by `gnus-treat-body-boundary'." | 763 | be controlled by `gnus-treat-body-boundary'." |
| 764 | :version "21.4" | ||
| 763 | :group 'gnus-article-various | 765 | :group 'gnus-article-various |
| 764 | :type '(choice (item :tag "None" :value nil) | 766 | :type '(choice (item :tag "None" :value nil) |
| 765 | string)) | 767 | string)) |
| @@ -768,6 +770,7 @@ be controlled by `gnus-treat-body-boundary'." | |||
| 768 | "Defines the location of the faces database. | 770 | "Defines the location of the faces database. |
| 769 | For information on obtaining this database of pretty pictures, please | 771 | For information on obtaining this database of pretty pictures, please |
| 770 | see http://www.cs.indiana.edu/picons/ftp/index.html" | 772 | see http://www.cs.indiana.edu/picons/ftp/index.html" |
| 773 | :version "21.4" | ||
| 771 | :type '(repeat directory) | 774 | :type '(repeat directory) |
| 772 | :link '(url-link :tag "download" | 775 | :link '(url-link :tag "download" |
| 773 | "http://www.cs.indiana.edu/picons/ftp/index.html") | 776 | "http://www.cs.indiana.edu/picons/ftp/index.html") |
| @@ -908,6 +911,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 908 | "Remove carriage returns. | 911 | "Remove carriage returns. |
| 909 | Valid values are nil, t, `head', `last', an integer or a predicate. | 912 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 910 | See Info node `(gnus)Customizing Articles' for details." | 913 | See Info node `(gnus)Customizing Articles' for details." |
| 914 | :version "21.4" | ||
| 911 | :group 'gnus-article-treat | 915 | :group 'gnus-article-treat |
| 912 | :link '(custom-manual "(gnus)Customizing Articles") | 916 | :link '(custom-manual "(gnus)Customizing Articles") |
| 913 | :type gnus-article-treat-custom) | 917 | :type gnus-article-treat-custom) |
| @@ -924,6 +928,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 924 | "Remove leading whitespace in headers. | 928 | "Remove leading whitespace in headers. |
| 925 | Valid values are nil, t, `head', `last', an integer or a predicate. | 929 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 926 | See Info node `(gnus)Customizing Articles' for details." | 930 | See Info node `(gnus)Customizing Articles' for details." |
| 931 | :version "21.4" | ||
| 927 | :group 'gnus-article-treat | 932 | :group 'gnus-article-treat |
| 928 | :link '(custom-manual "(gnus)Customizing Articles") | 933 | :link '(custom-manual "(gnus)Customizing Articles") |
| 929 | :type gnus-article-treat-custom) | 934 | :type gnus-article-treat-custom) |
| @@ -1043,6 +1048,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 1043 | "Display the Date in a format that can be read aloud in English. | 1048 | "Display the Date in a format that can be read aloud in English. |
| 1044 | Valid values are nil, t, `head', `last', an integer or a predicate. | 1049 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 1045 | See Info node `(gnus)Customizing Articles' for details." | 1050 | See Info node `(gnus)Customizing Articles' for details." |
| 1051 | :version "21.4" | ||
| 1046 | :group 'gnus-article-treat | 1052 | :group 'gnus-article-treat |
| 1047 | :link '(custom-manual "(gnus)Customizing Articles") | 1053 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1048 | :type gnus-article-treat-head-custom) | 1054 | :type gnus-article-treat-head-custom) |
| @@ -1126,6 +1132,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 1126 | "Fold headers. | 1132 | "Fold headers. |
| 1127 | Valid values are nil, t, `head', `last', an integer or a predicate. | 1133 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 1128 | See Info node `(gnus)Customizing Articles' for details." | 1134 | See Info node `(gnus)Customizing Articles' for details." |
| 1135 | :version "21.4" | ||
| 1129 | :group 'gnus-article-treat | 1136 | :group 'gnus-article-treat |
| 1130 | :link '(custom-manual "(gnus)Customizing Articles") | 1137 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1131 | :type gnus-article-treat-custom) | 1138 | :type gnus-article-treat-custom) |
| @@ -1134,6 +1141,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 1134 | "Fold the Newsgroups and Followup-To headers. | 1141 | "Fold the Newsgroups and Followup-To headers. |
| 1135 | Valid values are nil, t, `head', `last', an integer or a predicate. | 1142 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 1136 | See Info node `(gnus)Customizing Articles' for details." | 1143 | See Info node `(gnus)Customizing Articles' for details." |
| 1144 | :version "21.4" | ||
| 1137 | :group 'gnus-article-treat | 1145 | :group 'gnus-article-treat |
| 1138 | :link '(custom-manual "(gnus)Customizing Articles") | 1146 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1139 | :type gnus-article-treat-custom) | 1147 | :type gnus-article-treat-custom) |
| @@ -1199,7 +1207,7 @@ Valid values are nil, t, `head', `last', an integer or a predicate. | |||
| 1199 | See Info node `(gnus)Customizing Articles' and Info node | 1207 | See Info node `(gnus)Customizing Articles' and Info node |
| 1200 | `(gnus)X-Face' for details." | 1208 | `(gnus)X-Face' for details." |
| 1201 | :group 'gnus-article-treat | 1209 | :group 'gnus-article-treat |
| 1202 | :version "21.1" | 1210 | :version "21.4" |
| 1203 | :link '(custom-manual "(gnus)Customizing Articles") | 1211 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1204 | :link '(custom-manual "(gnus)X-Face") | 1212 | :link '(custom-manual "(gnus)X-Face") |
| 1205 | :type gnus-article-treat-head-custom) | 1213 | :type gnus-article-treat-head-custom) |
| @@ -1260,6 +1268,7 @@ See Info node `(gnus)Customizing Articles' and Info node | |||
| 1260 | Valid values are nil, t, `head', `last', an integer or a predicate. | 1268 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 1261 | See Info node `(gnus)Customizing Articles' and Info node | 1269 | See Info node `(gnus)Customizing Articles' and Info node |
| 1262 | `(gnus)Picons' for details." | 1270 | `(gnus)Picons' for details." |
| 1271 | :version "21.4" | ||
| 1263 | :group 'gnus-article-treat | 1272 | :group 'gnus-article-treat |
| 1264 | :group 'gnus-picon | 1273 | :group 'gnus-picon |
| 1265 | :link '(custom-manual "(gnus)Customizing Articles") | 1274 | :link '(custom-manual "(gnus)Customizing Articles") |
| @@ -1275,7 +1284,7 @@ See Info node `(gnus)Customizing Articles' and Info node | |||
| 1275 | "Draw a boundary at the end of the headers. | 1284 | "Draw a boundary at the end of the headers. |
| 1276 | Valid values are nil and `head'. | 1285 | Valid values are nil and `head'. |
| 1277 | See Info node `(gnus)Customizing Articles' for details." | 1286 | See Info node `(gnus)Customizing Articles' for details." |
| 1278 | :version "21.1" | 1287 | :version "21.4" |
| 1279 | :group 'gnus-article-treat | 1288 | :group 'gnus-article-treat |
| 1280 | :link '(custom-manual "(gnus)Customizing Articles") | 1289 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1281 | :type gnus-article-treat-head-custom) | 1290 | :type gnus-article-treat-head-custom) |
| @@ -1293,6 +1302,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 1293 | "Format as HTML. | 1302 | "Format as HTML. |
| 1294 | Valid values are nil, t, `head', `last', an integer or a predicate. | 1303 | Valid values are nil, t, `head', `last', an integer or a predicate. |
| 1295 | See Info node `(gnus)Customizing Articles' for details." | 1304 | See Info node `(gnus)Customizing Articles' for details." |
| 1305 | :version "21.4" | ||
| 1296 | :group 'gnus-article-treat | 1306 | :group 'gnus-article-treat |
| 1297 | :link '(custom-manual "(gnus)Customizing Articles") | 1307 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1298 | :type gnus-article-treat-custom) | 1308 | :type gnus-article-treat-custom) |
| @@ -1341,6 +1351,7 @@ See Info node `(gnus)Customizing Articles' for details." | |||
| 1341 | (defcustom gnus-article-encrypt-protocol "PGP" | 1351 | (defcustom gnus-article-encrypt-protocol "PGP" |
| 1342 | "The protocol used for encrypt articles. | 1352 | "The protocol used for encrypt articles. |
| 1343 | It is a string, such as \"PGP\". If nil, ask user." | 1353 | It is a string, such as \"PGP\". If nil, ask user." |
| 1354 | :version "21.4" | ||
| 1344 | :type 'string | 1355 | :type 'string |
| 1345 | :group 'mime-security) | 1356 | :group 'mime-security) |
| 1346 | 1357 | ||
| @@ -1352,11 +1363,13 @@ It is a string, such as \"PGP\". If nil, ask user." | |||
| 1352 | (executable-find idna-program)) | 1363 | (executable-find idna-program)) |
| 1353 | "Whether IDNA decoding of headers is used when viewing messages. | 1364 | "Whether IDNA decoding of headers is used when viewing messages. |
| 1354 | This requires GNU Libidn, and by default only enabled if it is found." | 1365 | This requires GNU Libidn, and by default only enabled if it is found." |
| 1366 | :version "21.4" | ||
| 1355 | :group 'gnus-article-headers | 1367 | :group 'gnus-article-headers |
| 1356 | :type 'boolean) | 1368 | :type 'boolean) |
| 1357 | 1369 | ||
| 1358 | (defcustom gnus-article-over-scroll nil | 1370 | (defcustom gnus-article-over-scroll nil |
| 1359 | "If non-nil, allow scrolling the article buffer even when there no more text." | 1371 | "If non-nil, allow scrolling the article buffer even when there no more text." |
| 1372 | :version "21.4" | ||
| 1360 | :group 'gnus-article | 1373 | :group 'gnus-article |
| 1361 | :type 'boolean) | 1374 | :type 'boolean) |
| 1362 | 1375 | ||
| @@ -4606,6 +4619,7 @@ If t, it overrides nil values of | |||
| 4606 | 4619 | ||
| 4607 | (defcustom gnus-mime-display-multipart-alternative-as-mixed nil | 4620 | (defcustom gnus-mime-display-multipart-alternative-as-mixed nil |
| 4608 | "Display \"multipart/alternative\" parts as \"multipart/mixed\"." | 4621 | "Display \"multipart/alternative\" parts as \"multipart/mixed\"." |
| 4622 | :version "21.4" | ||
| 4609 | :group 'gnus-article-mime | 4623 | :group 'gnus-article-mime |
| 4610 | :type 'boolean) | 4624 | :type 'boolean) |
| 4611 | 4625 | ||
| @@ -4615,6 +4629,7 @@ If t, it overrides nil values of | |||
| 4615 | If displaying \"text/html\" is discouraged \(see | 4629 | If displaying \"text/html\" is discouraged \(see |
| 4616 | `mm-discouraged-alternatives'\) images or other material inside a | 4630 | `mm-discouraged-alternatives'\) images or other material inside a |
| 4617 | \"multipart/related\" part might be overlooked when this variable is nil." | 4631 | \"multipart/related\" part might be overlooked when this variable is nil." |
| 4632 | :version "21.4" | ||
| 4618 | :group 'gnus-article-mime | 4633 | :group 'gnus-article-mime |
| 4619 | :type 'boolean) | 4634 | :type 'boolean) |
| 4620 | 4635 | ||
| @@ -5719,6 +5734,7 @@ groups." | |||
| 5719 | (defcustom gnus-button-valid-fqdn-regexp | 5734 | (defcustom gnus-button-valid-fqdn-regexp |
| 5720 | message-valid-fqdn-regexp | 5735 | message-valid-fqdn-regexp |
| 5721 | "Regular expression that matches a valid FQDN." | 5736 | "Regular expression that matches a valid FQDN." |
| 5737 | :version "21.4" | ||
| 5722 | :group 'gnus-article-buttons | 5738 | :group 'gnus-article-buttons |
| 5723 | :type 'regexp) | 5739 | :type 'regexp) |
| 5724 | 5740 | ||
| @@ -5726,6 +5742,7 @@ groups." | |||
| 5726 | "Function to use for displaying man pages. | 5742 | "Function to use for displaying man pages. |
| 5727 | The function must take at least one argument with a string naming the | 5743 | The function must take at least one argument with a string naming the |
| 5728 | man page." | 5744 | man page." |
| 5745 | :version "21.4" | ||
| 5729 | :type '(choice (function-item :tag "Man" manual-entry) | 5746 | :type '(choice (function-item :tag "Man" manual-entry) |
| 5730 | (function-item :tag "Woman" woman) | 5747 | (function-item :tag "Woman" woman) |
| 5731 | (function :tag "Other")) | 5748 | (function :tag "Other")) |
| @@ -5736,6 +5753,7 @@ man page." | |||
| 5736 | If the default site is too slow, try to find a CTAN mirror, see | 5753 | If the default site is too slow, try to find a CTAN mirror, see |
| 5737 | <URL:http://tug.ctan.org/tex-archive/CTAN.sites?action=/index.html>. See also | 5754 | <URL:http://tug.ctan.org/tex-archive/CTAN.sites?action=/index.html>. See also |
| 5738 | the variable `gnus-button-handle-ctan'." | 5755 | the variable `gnus-button-handle-ctan'." |
| 5756 | :version "21.4" | ||
| 5739 | :group 'gnus-article-buttons | 5757 | :group 'gnus-article-buttons |
| 5740 | :link '(custom-manual "(gnus)Group Parameters") | 5758 | :link '(custom-manual "(gnus)Group Parameters") |
| 5741 | :type '(choice (const "http://www.tex.ac.uk/tex-archive/") | 5759 | :type '(choice (const "http://www.tex.ac.uk/tex-archive/") |
| @@ -5746,12 +5764,14 @@ the variable `gnus-button-handle-ctan'." | |||
| 5746 | (defcustom gnus-button-ctan-handler 'browse-url | 5764 | (defcustom gnus-button-ctan-handler 'browse-url |
| 5747 | "Function to use for displaying CTAN links. | 5765 | "Function to use for displaying CTAN links. |
| 5748 | The function must take one argument, the string naming the URL." | 5766 | The function must take one argument, the string naming the URL." |
| 5767 | :version "21.4" | ||
| 5749 | :type '(choice (function-item :tag "Browse Url" browse-url) | 5768 | :type '(choice (function-item :tag "Browse Url" browse-url) |
| 5750 | (function :tag "Other")) | 5769 | (function :tag "Other")) |
| 5751 | :group 'gnus-article-buttons) | 5770 | :group 'gnus-article-buttons) |
| 5752 | 5771 | ||
| 5753 | (defcustom gnus-button-handle-ctan-bogus-regexp "^/?tex-archive/\\|^/" | 5772 | (defcustom gnus-button-handle-ctan-bogus-regexp "^/?tex-archive/\\|^/" |
| 5754 | "Bogus strings removed from CTAN URLs." | 5773 | "Bogus strings removed from CTAN URLs." |
| 5774 | :version "21.4" | ||
| 5755 | :group 'gnus-article-buttons | 5775 | :group 'gnus-article-buttons |
| 5756 | :type '(choice (const "^/?tex-archive/\\|/") | 5776 | :type '(choice (const "^/?tex-archive/\\|/") |
| 5757 | (regexp :tag "Other"))) | 5777 | (regexp :tag "Other"))) |
| @@ -5765,6 +5785,7 @@ The function must take one argument, the string naming the URL." | |||
| 5765 | "\\)") | 5785 | "\\)") |
| 5766 | "Regular expression for ctan directories. | 5786 | "Regular expression for ctan directories. |
| 5767 | It should match all directories in the top level of `gnus-ctan-url'." | 5787 | It should match all directories in the top level of `gnus-ctan-url'." |
| 5788 | :version "21.4" | ||
| 5768 | :group 'gnus-article-buttons | 5789 | :group 'gnus-article-buttons |
| 5769 | :type 'regexp) | 5790 | :type 'regexp) |
| 5770 | 5791 | ||
| @@ -5774,6 +5795,7 @@ It should match all directories in the top level of `gnus-ctan-url'." | |||
| 5774 | gnus-button-valid-fqdn-regexp | 5795 | gnus-button-valid-fqdn-regexp |
| 5775 | ">?\\)\\b") | 5796 | ">?\\)\\b") |
| 5776 | "Regular expression that matches a message ID or a mail address." | 5797 | "Regular expression that matches a message ID or a mail address." |
| 5798 | :version "21.4" | ||
| 5777 | :group 'gnus-article-buttons | 5799 | :group 'gnus-article-buttons |
| 5778 | :type 'regexp) | 5800 | :type 'regexp) |
| 5779 | 5801 | ||
| @@ -5785,6 +5807,7 @@ message ID or a mail address, respectively. If this variable is set to the | |||
| 5785 | symbol `ask', always query the user what do do. If it is a function, this | 5807 | symbol `ask', always query the user what do do. If it is a function, this |
| 5786 | function will be called with the string as it's only argument. The function | 5808 | function will be called with the string as it's only argument. The function |
| 5787 | must return `mid', `mail', `invalid' or `ask'." | 5809 | must return `mid', `mail', `invalid' or `ask'." |
| 5810 | :version "21.4" | ||
| 5788 | :group 'gnus-article-buttons | 5811 | :group 'gnus-article-buttons |
| 5789 | :type '(choice (function-item :tag "Heuristic function" | 5812 | :type '(choice (function-item :tag "Heuristic function" |
| 5790 | gnus-button-mid-or-mail-heuristic) | 5813 | gnus-button-mid-or-mail-heuristic) |
| @@ -5848,6 +5871,7 @@ must return `mid', `mail', `invalid' or `ask'." | |||
| 5848 | 5871 | ||
| 5849 | A negative RATE indicates a message IDs, whereas a positive indicates a mail | 5872 | A negative RATE indicates a message IDs, whereas a positive indicates a mail |
| 5850 | address. The REGEXP is processed with `case-fold-search' set to nil." | 5873 | address. The REGEXP is processed with `case-fold-search' set to nil." |
| 5874 | :version "21.4" | ||
| 5851 | :group 'gnus-article-buttons | 5875 | :group 'gnus-article-buttons |
| 5852 | :type '(repeat (cons (number :tag "Rate") | 5876 | :type '(repeat (cons (number :tag "Rate") |
| 5853 | (regexp :tag "Regexp")))) | 5877 | (regexp :tag "Regexp")))) |
| @@ -6032,6 +6056,7 @@ positives are possible. Note that you can set this variable local to | |||
| 6032 | specific groups. Setting it higher in TeX groups is probably a good idea. | 6056 | specific groups. Setting it higher in TeX groups is probably a good idea. |
| 6033 | See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on | 6057 | See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on |
| 6034 | how to set variables in specific groups." | 6058 | how to set variables in specific groups." |
| 6059 | :version "21.4" | ||
| 6035 | :group 'gnus-article-buttons | 6060 | :group 'gnus-article-buttons |
| 6036 | :link '(custom-manual "(gnus)Group Parameters") | 6061 | :link '(custom-manual "(gnus)Group Parameters") |
| 6037 | :type 'integer) | 6062 | :type 'integer) |
| @@ -6043,6 +6068,7 @@ positives are possible. Note that you can set this variable local to | |||
| 6043 | specific groups. Setting it higher in Unix groups is probably a good idea. | 6068 | specific groups. Setting it higher in Unix groups is probably a good idea. |
| 6044 | See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on | 6069 | See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on |
| 6045 | how to set variables in specific groups." | 6070 | how to set variables in specific groups." |
| 6071 | :version "21.4" | ||
| 6046 | :group 'gnus-article-buttons | 6072 | :group 'gnus-article-buttons |
| 6047 | :link '(custom-manual "(gnus)Group Parameters") | 6073 | :link '(custom-manual "(gnus)Group Parameters") |
| 6048 | :type 'integer) | 6074 | :type 'integer) |
| @@ -6054,6 +6080,7 @@ positives are possible. Note that you can set this variable local to | |||
| 6054 | specific groups. Setting it higher in Emacs or Gnus related groups is | 6080 | specific groups. Setting it higher in Emacs or Gnus related groups is |
| 6055 | probably a good idea. See Info node `(gnus)Group Parameters' and the variable | 6081 | probably a good idea. See Info node `(gnus)Group Parameters' and the variable |
| 6056 | `gnus-parameters' on how to set variables in specific groups." | 6082 | `gnus-parameters' on how to set variables in specific groups." |
| 6083 | :version "21.4" | ||
| 6057 | :group 'gnus-article-buttons | 6084 | :group 'gnus-article-buttons |
| 6058 | :link '(custom-manual "(gnus)Group Parameters") | 6085 | :link '(custom-manual "(gnus)Group Parameters") |
| 6059 | :type 'integer) | 6086 | :type 'integer) |
| @@ -6063,6 +6090,7 @@ probably a good idea. See Info node `(gnus)Group Parameters' and the variable | |||
| 6063 | The higher the number, the more buttons will appear and the more false | 6090 | The higher the number, the more buttons will appear and the more false |
| 6064 | positives are possible." | 6091 | positives are possible." |
| 6065 | ;; mail addresses, MIDs, URLs for news, ... | 6092 | ;; mail addresses, MIDs, URLs for news, ... |
| 6093 | :version "21.4" | ||
| 6066 | :group 'gnus-article-buttons | 6094 | :group 'gnus-article-buttons |
| 6067 | :type 'integer) | 6095 | :type 'integer) |
| 6068 | 6096 | ||
| @@ -6071,6 +6099,7 @@ positives are possible." | |||
| 6071 | The higher the number, the more buttons will appear and the more false | 6099 | The higher the number, the more buttons will appear and the more false |
| 6072 | positives are possible." | 6100 | positives are possible." |
| 6073 | ;; stuff handled by `browse-url' or `gnus-button-embedded-url' | 6101 | ;; stuff handled by `browse-url' or `gnus-button-embedded-url' |
| 6102 | :version "21.4" | ||
| 6074 | :group 'gnus-article-buttons | 6103 | :group 'gnus-article-buttons |
| 6075 | :type 'integer) | 6104 | :type 'integer) |
| 6076 | 6105 | ||
diff --git a/lisp/gnus/gnus-cite.el b/lisp/gnus/gnus-cite.el index 51617918a4c..bf9f5863428 100644 --- a/lisp/gnus/gnus-cite.el +++ b/lisp/gnus/gnus-cite.el | |||
| @@ -278,6 +278,7 @@ This should make it easier to see who wrote what." | |||
| 278 | 278 | ||
| 279 | (defcustom gnus-cite-blank-line-after-header t | 279 | (defcustom gnus-cite-blank-line-after-header t |
| 280 | "If non-nil, put a blank line between the citation header and the button." | 280 | "If non-nil, put a blank line between the citation header and the button." |
| 281 | :version "21.4" | ||
| 281 | :group 'gnus-cite | 282 | :group 'gnus-cite |
| 282 | :type 'boolean) | 283 | :type 'boolean) |
| 283 | 284 | ||
| @@ -289,6 +290,7 @@ This should make it easier to see who wrote what." | |||
| 289 | If an article has more pages below the one you are looking at, but | 290 | If an article has more pages below the one you are looking at, but |
| 290 | nothing on those pages is a word of at least three letters that is not | 291 | nothing on those pages is a word of at least three letters that is not |
| 291 | in a boring face, then the pages will be skipped." | 292 | in a boring face, then the pages will be skipped." |
| 293 | :version "21.4" | ||
| 292 | :type '(repeat face) | 294 | :type '(repeat face) |
| 293 | :group 'gnus-article-hiding) | 295 | :group 'gnus-article-hiding) |
| 294 | 296 | ||
diff --git a/lisp/gnus/gnus-delay.el b/lisp/gnus/gnus-delay.el index b6392772773..ee431076fad 100644 --- a/lisp/gnus/gnus-delay.el +++ b/lisp/gnus/gnus-delay.el | |||
| @@ -60,6 +60,7 @@ | |||
| 60 | 60 | ||
| 61 | (defcustom gnus-delay-default-hour 8 | 61 | (defcustom gnus-delay-default-hour 8 |
| 62 | "*If deadline is given as date, then assume this time of day." | 62 | "*If deadline is given as date, then assume this time of day." |
| 63 | :version "21.4" | ||
| 63 | :type 'integer | 64 | :type 'integer |
| 64 | :group 'gnus-delay) | 65 | :group 'gnus-delay) |
| 65 | 66 | ||
diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el index 21a5b1c55b4..087c30da5df 100644 --- a/lisp/gnus/gnus-fun.el +++ b/lisp/gnus/gnus-fun.el | |||
| @@ -31,11 +31,13 @@ | |||
| 31 | 31 | ||
| 32 | (defcustom gnus-x-face-directory (expand-file-name "x-faces" gnus-directory) | 32 | (defcustom gnus-x-face-directory (expand-file-name "x-faces" gnus-directory) |
| 33 | "*Directory where X-Face PBM files are stored." | 33 | "*Directory where X-Face PBM files are stored." |
| 34 | :version "21.4" | ||
| 34 | :group 'gnus-fun | 35 | :group 'gnus-fun |
| 35 | :type 'directory) | 36 | :type 'directory) |
| 36 | 37 | ||
| 37 | (defcustom gnus-convert-pbm-to-x-face-command "pbmtoxbm %s | compface" | 38 | (defcustom gnus-convert-pbm-to-x-face-command "pbmtoxbm %s | compface" |
| 38 | "Command for converting a PBM to an X-Face." | 39 | "Command for converting a PBM to an X-Face." |
| 40 | :version "21.4" | ||
| 39 | :group 'gnus-fun | 41 | :group 'gnus-fun |
| 40 | :type 'string) | 42 | :type 'string) |
| 41 | 43 | ||
| @@ -43,6 +45,7 @@ | |||
| 43 | "Command for converting an image to an X-Face. | 45 | "Command for converting an image to an X-Face. |
| 44 | By default it takes a GIF filename and output the X-Face header data | 46 | By default it takes a GIF filename and output the X-Face header data |
| 45 | on stdout." | 47 | on stdout." |
| 48 | :version "21.4" | ||
| 46 | :group 'gnus-fun | 49 | :group 'gnus-fun |
| 47 | :type 'string) | 50 | :type 'string) |
| 48 | 51 | ||
| @@ -50,6 +53,7 @@ on stdout." | |||
| 50 | "Command for converting an image to an Face. | 53 | "Command for converting an image to an Face. |
| 51 | By default it takes a JPEG filename and output the Face header data | 54 | By default it takes a JPEG filename and output the Face header data |
| 52 | on stdout." | 55 | on stdout." |
| 56 | :version "21.4" | ||
| 53 | :group 'gnus-fun | 57 | :group 'gnus-fun |
| 54 | :type 'string) | 58 | :type 'string) |
| 55 | 59 | ||
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 96d1a864f13..9f7b259e066 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -435,6 +435,7 @@ For example: | |||
| 435 | If non-nil, the value should be a string, e.g. \"nnml:\", | 435 | If non-nil, the value should be a string, e.g. \"nnml:\", |
| 436 | in which case `gnus-group-jump-to-group' offers \"Group: nnml:\" | 436 | in which case `gnus-group-jump-to-group' offers \"Group: nnml:\" |
| 437 | in the minibuffer prompt." | 437 | in the minibuffer prompt." |
| 438 | :version "21.4" | ||
| 438 | :group 'gnus-group-various | 439 | :group 'gnus-group-various |
| 439 | :type '(choice (string :tag "Prompt string") | 440 | :type '(choice (string :tag "Prompt string") |
| 440 | (const :tag "Empty" nil))) | 441 | (const :tag "Empty" nil))) |
| @@ -1959,12 +1960,14 @@ Same as `gnus-large-newsgroup', but only used for ephemeral newsgroups. | |||
| 1959 | If the number of articles in a newsgroup is greater than this value, | 1960 | If the number of articles in a newsgroup is greater than this value, |
| 1960 | confirmation is required for selecting the newsgroup. If it is nil, no | 1961 | confirmation is required for selecting the newsgroup. If it is nil, no |
| 1961 | confirmation is required." | 1962 | confirmation is required." |
| 1963 | :version "21.4" | ||
| 1962 | :group 'gnus-group-select | 1964 | :group 'gnus-group-select |
| 1963 | :type '(choice (const :tag "No limit" nil) | 1965 | :type '(choice (const :tag "No limit" nil) |
| 1964 | integer)) | 1966 | integer)) |
| 1965 | 1967 | ||
| 1966 | (defcustom gnus-fetch-old-ephemeral-headers nil | 1968 | (defcustom gnus-fetch-old-ephemeral-headers nil |
| 1967 | "Same as `gnus-fetch-old-headers', but only used for ephemeral newsgroups." | 1969 | "Same as `gnus-fetch-old-headers', but only used for ephemeral newsgroups." |
| 1970 | :version "21.4" | ||
| 1968 | :group 'gnus-thread | 1971 | :group 'gnus-thread |
| 1969 | :type '(choice (const :tag "off" nil) | 1972 | :type '(choice (const :tag "off" nil) |
| 1970 | (const some) | 1973 | (const some) |
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index fc0d7f192ee..2363c2705cb 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el | |||
| @@ -46,6 +46,7 @@ If the server is covered by Gnus agent, the possible values are | |||
| 46 | `denied', set the server denied; `offline', set the server offline; | 46 | `denied', set the server denied; `offline', set the server offline; |
| 47 | nil, ask user. If the server is not covered by Gnus agent, set the | 47 | nil, ask user. If the server is not covered by Gnus agent, set the |
| 48 | server denied." | 48 | server denied." |
| 49 | :version "21.4" | ||
| 49 | :group 'gnus-start | 50 | :group 'gnus-start |
| 50 | :type '(choice (const :tag "Ask" nil) | 51 | :type '(choice (const :tag "Ask" nil) |
| 51 | (const :tag "Deny server" denied) | 52 | (const :tag "Deny server" denied) |
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index 0b66c508767..f986e451c02 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el | |||
| @@ -142,7 +142,7 @@ See Info node `(gnus)Posting Styles'." | |||
| 142 | 142 | ||
| 143 | (defcustom gnus-gcc-mark-as-read nil | 143 | (defcustom gnus-gcc-mark-as-read nil |
| 144 | "If non-nil, automatically mark Gcc articles as read." | 144 | "If non-nil, automatically mark Gcc articles as read." |
| 145 | :version "21.1" | 145 | :version "21.4" |
| 146 | :group 'gnus-message | 146 | :group 'gnus-message |
| 147 | :type 'boolean) | 147 | :type 'boolean) |
| 148 | 148 | ||
| @@ -154,7 +154,7 @@ See Info node `(gnus)Posting Styles'." | |||
| 154 | If it is `all', attach files as external parts; | 154 | If it is `all', attach files as external parts; |
| 155 | if a regexp and matches the Gcc group name, attach files as external parts; | 155 | if a regexp and matches the Gcc group name, attach files as external parts; |
| 156 | if nil, attach files as normal parts." | 156 | if nil, attach files as normal parts." |
| 157 | :version "21.1" | 157 | :version "21.4" |
| 158 | :group 'gnus-message | 158 | :group 'gnus-message |
| 159 | :type '(choice (const nil :tag "None") | 159 | :type '(choice (const nil :tag "None") |
| 160 | (const all :tag "Any") | 160 | (const all :tag "Any") |
| @@ -212,7 +212,7 @@ List of charsets that are permitted to be unencoded.") | |||
| 212 | "gnus-agent.el" "gnus-cache.el" "gnus-srvr.el" | 212 | "gnus-agent.el" "gnus-cache.el" "gnus-srvr.el" |
| 213 | "mm-util.el" "mm-decode.el" "nnmail.el" "message.el") | 213 | "mm-util.el" "mm-decode.el" "nnmail.el" "message.el") |
| 214 | "Files whose variables will be reported in `gnus-bug'." | 214 | "Files whose variables will be reported in `gnus-bug'." |
| 215 | :version "21.1" | 215 | :version "21.4" |
| 216 | :group 'gnus-message | 216 | :group 'gnus-message |
| 217 | :type '(repeat (string :tag "File"))) | 217 | :type '(repeat (string :tag "File"))) |
| 218 | 218 | ||
| @@ -220,7 +220,7 @@ List of charsets that are permitted to be unencoded.") | |||
| 220 | '(mm-mime-mule-charset-alist | 220 | '(mm-mime-mule-charset-alist |
| 221 | nnmail-split-fancy message-minibuffer-local-map) | 221 | nnmail-split-fancy message-minibuffer-local-map) |
| 222 | "Variables that should not be reported in `gnus-bug'." | 222 | "Variables that should not be reported in `gnus-bug'." |
| 223 | :version "21.1" | 223 | :version "21.4" |
| 224 | :group 'gnus-message | 224 | :group 'gnus-message |
| 225 | :type '(repeat (symbol :tag "Variable"))) | 225 | :type '(repeat (symbol :tag "Variable"))) |
| 226 | 226 | ||
| @@ -228,7 +228,7 @@ List of charsets that are permitted to be unencoded.") | |||
| 228 | '(nndraft nnml nnimap nnmaildir nnmh nnfolder nndir) | 228 | '(nndraft nnml nnimap nnmaildir nnmh nnfolder nndir) |
| 229 | "A list of back ends that are not used in \"real\" newsgroups. | 229 | "A list of back ends that are not used in \"real\" newsgroups. |
| 230 | This variable is used only when `gnus-post-method' is `current'." | 230 | This variable is used only when `gnus-post-method' is `current'." |
| 231 | :version "21.3" | 231 | :version "21.4" |
| 232 | :group 'gnus-group-foreign | 232 | :group 'gnus-group-foreign |
| 233 | :type '(repeat (symbol :tag "Back end"))) | 233 | :type '(repeat (symbol :tag "Back end"))) |
| 234 | 234 | ||
| @@ -260,6 +260,7 @@ This can also be a function receiving the group name as the only | |||
| 260 | parameter which should return non-nil iff a confirmation is needed, or | 260 | parameter which should return non-nil iff a confirmation is needed, or |
| 261 | a regexp, in which case a confirmation is asked for iff the group name | 261 | a regexp, in which case a confirmation is asked for iff the group name |
| 262 | matches the regexp." | 262 | matches the regexp." |
| 263 | :version "21.4" | ||
| 263 | :group 'gnus-message | 264 | :group 'gnus-message |
| 264 | :type '(choice (const :tag "No" nil) | 265 | :type '(choice (const :tag "No" nil) |
| 265 | (const :tag "Yes" t) | 266 | (const :tag "Yes" t) |
| @@ -272,6 +273,7 @@ matches the regexp." | |||
| 272 | when replying by mail. See the `gnus-confirm-mail-reply-to-news' variable | 273 | when replying by mail. See the `gnus-confirm-mail-reply-to-news' variable |
| 273 | for fine-tuning this. | 274 | for fine-tuning this. |
| 274 | If nil, Gnus will never ask for confirmation if replying to mail." | 275 | If nil, Gnus will never ask for confirmation if replying to mail." |
| 276 | :version "21.4" | ||
| 275 | :group 'gnus-message | 277 | :group 'gnus-message |
| 276 | :type 'boolean) | 278 | :type 'boolean) |
| 277 | 279 | ||
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index de59e862ebc..370ef00eb49 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el | |||
| @@ -237,6 +237,7 @@ This variable allows the same syntax as `gnus-home-score-file'." | |||
| 237 | 237 | ||
| 238 | (defcustom gnus-adaptive-word-length-limit nil | 238 | (defcustom gnus-adaptive-word-length-limit nil |
| 239 | "*Words of a length lesser than this limit will be ignored when doing adaptive scoring." | 239 | "*Words of a length lesser than this limit will be ignored when doing adaptive scoring." |
| 240 | :version "21.4" | ||
| 240 | :group 'gnus-score-adapt | 241 | :group 'gnus-score-adapt |
| 241 | :type '(radio (const :format "Unlimited " nil) | 242 | :type '(radio (const :format "Unlimited " nil) |
| 242 | (integer :format "Maximum length: %v\n" :size 0))) | 243 | (integer :format "Maximum length: %v\n" :size 0))) |
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index 775bdc485af..7fef378722a 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el | |||
| @@ -71,6 +71,7 @@ See Info node `(gnus)Formatting Variables'." | |||
| 71 | (defcustom gnus-server-browse-in-group-buffer nil | 71 | (defcustom gnus-server-browse-in-group-buffer nil |
| 72 | "Whether server browsing should take place in the group buffer. | 72 | "Whether server browsing should take place in the group buffer. |
| 73 | If nil, a faster, but more primitive, buffer is used instead." | 73 | If nil, a faster, but more primitive, buffer is used instead." |
| 74 | :version "21.4" | ||
| 74 | :group 'gnus-server-visual | 75 | :group 'gnus-server-visual |
| 75 | :type 'boolean) | 76 | :type 'boolean) |
| 76 | 77 | ||
| @@ -224,6 +225,7 @@ If nil, a faster, but more primitive, buffer is used instead." | |||
| 224 | 225 | ||
| 225 | (defcustom gnus-server-offline-face 'gnus-server-offline-face | 226 | (defcustom gnus-server-offline-face 'gnus-server-offline-face |
| 226 | "Face name to use on OFFLINE servers." | 227 | "Face name to use on OFFLINE servers." |
| 228 | :version "21.4" | ||
| 227 | :group 'gnus-server-visual | 229 | :group 'gnus-server-visual |
| 228 | :type 'face) | 230 | :type 'face) |
| 229 | 231 | ||
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 217295b307b..18641b3a37f 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -47,6 +47,7 @@ | |||
| 47 | "Whether to create backup files. | 47 | "Whether to create backup files. |
| 48 | This variable takes the same values as the `version-control' | 48 | This variable takes the same values as the `version-control' |
| 49 | variable." | 49 | variable." |
| 50 | :version "21.4" | ||
| 50 | :group 'gnus-start | 51 | :group 'gnus-start |
| 51 | :type '(choice (const :tag "Never" never) | 52 | :type '(choice (const :tag "Never" never) |
| 52 | (const :tag "If existing" nil) | 53 | (const :tag "If existing" nil) |
| @@ -57,6 +58,7 @@ variable." | |||
| 57 | the buffer or write directly to the file. The buffer is faster | 58 | the buffer or write directly to the file. The buffer is faster |
| 58 | because all of the contents are written at once. The direct write | 59 | because all of the contents are written at once. The direct write |
| 59 | uses considerably less memory." | 60 | uses considerably less memory." |
| 61 | :version "21.4" | ||
| 60 | :group 'gnus-start | 62 | :group 'gnus-start |
| 61 | :type '(choice (const :tag "Write via buffer" t) | 63 | :type '(choice (const :tag "Write via buffer" t) |
| 62 | (const :tag "Write directly to file" nil))) | 64 | (const :tag "Write directly to file" nil))) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 0546d6cdff6..7ecc7eb19b9 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -118,6 +118,7 @@ given by the `gnus-summary-same-subject' variable.)" | |||
| 118 | 118 | ||
| 119 | (defcustom gnus-summary-make-false-root-always nil | 119 | (defcustom gnus-summary-make-false-root-always nil |
| 120 | "Always make a false dummy root." | 120 | "Always make a false dummy root." |
| 121 | :version "21.4" | ||
| 121 | :group 'gnus-thread | 122 | :group 'gnus-thread |
| 122 | :type 'boolean) | 123 | :type 'boolean) |
| 123 | 124 | ||
| @@ -218,6 +219,7 @@ If this variable is nil, scoring will be disabled." | |||
| 218 | "*Default threshold for a high scored article. | 219 | "*Default threshold for a high scored article. |
| 219 | An article will be highlighted as high scored if its score is greater | 220 | An article will be highlighted as high scored if its score is greater |
| 220 | than this score." | 221 | than this score." |
| 222 | :version "21.4" | ||
| 221 | :group 'gnus-score-default | 223 | :group 'gnus-score-default |
| 222 | :type 'integer) | 224 | :type 'integer) |
| 223 | 225 | ||
| @@ -225,6 +227,7 @@ than this score." | |||
| 225 | "*Default threshold for a low scored article. | 227 | "*Default threshold for a low scored article. |
| 226 | An article will be highlighted as low scored if its score is smaller | 228 | An article will be highlighted as low scored if its score is smaller |
| 227 | than this score." | 229 | than this score." |
| 230 | :version "21.4" | ||
| 228 | :group 'gnus-score-default | 231 | :group 'gnus-score-default |
| 229 | :type 'integer) | 232 | :type 'integer) |
| 230 | 233 | ||
| @@ -320,6 +323,7 @@ the first unseen article), 'unseen-or-unread' (place point on the subject | |||
| 320 | line of the first unseen article or, if all article have been seen, on the | 323 | line of the first unseen article or, if all article have been seen, on the |
| 321 | subject line of the first unread article), or a function to be called to | 324 | subject line of the first unread article), or a function to be called to |
| 322 | place point on some subject line." | 325 | place point on some subject line." |
| 326 | :version "21.4" | ||
| 323 | :group 'gnus-group-select | 327 | :group 'gnus-group-select |
| 324 | :type '(choice (const best) | 328 | :type '(choice (const best) |
| 325 | (const unread) | 329 | (const unread) |
| @@ -363,6 +367,7 @@ ignores articles whose headers have not been fetched). | |||
| 363 | 367 | ||
| 364 | NOTE: The list of unfetched articles will always be nil when plugged | 368 | NOTE: The list of unfetched articles will always be nil when plugged |
| 365 | and, when unplugged, a subset of the undownloaded article list." | 369 | and, when unplugged, a subset of the undownloaded article list." |
| 370 | :version "21.4" | ||
| 366 | :group 'gnus-summary-maneuvering | 371 | :group 'gnus-summary-maneuvering |
| 367 | :type '(choice (const :tag "None" nil) | 372 | :type '(choice (const :tag "None" nil) |
| 368 | (const :tag "Undownloaded when unplugged" undownloaded) | 373 | (const :tag "Undownloaded when unplugged" undownloaded) |
| @@ -490,6 +495,7 @@ this variable specifies group names." | |||
| 490 | 495 | ||
| 491 | (defcustom gnus-forwarded-mark ?F | 496 | (defcustom gnus-forwarded-mark ?F |
| 492 | "*Mark used for articles that have been forwarded." | 497 | "*Mark used for articles that have been forwarded." |
| 498 | :version "21.4" | ||
| 493 | :group 'gnus-summary-marks | 499 | :group 'gnus-summary-marks |
| 494 | :type 'character) | 500 | :type 'character) |
| 495 | 501 | ||
| @@ -510,11 +516,13 @@ this variable specifies group names." | |||
| 510 | 516 | ||
| 511 | (defcustom gnus-unseen-mark ?. | 517 | (defcustom gnus-unseen-mark ?. |
| 512 | "*Mark used for articles that haven't been seen." | 518 | "*Mark used for articles that haven't been seen." |
| 519 | :version "21.4" | ||
| 513 | :group 'gnus-summary-marks | 520 | :group 'gnus-summary-marks |
| 514 | :type 'character) | 521 | :type 'character) |
| 515 | 522 | ||
| 516 | (defcustom gnus-no-mark ? ;Whitespace | 523 | (defcustom gnus-no-mark ? ;Whitespace |
| 517 | "*Mark used for articles that have no other secondary mark." | 524 | "*Mark used for articles that have no other secondary mark." |
| 525 | :version "21.4" | ||
| 518 | :group 'gnus-summary-marks | 526 | :group 'gnus-summary-marks |
| 519 | :type 'character) | 527 | :type 'character) |
| 520 | 528 | ||
| @@ -895,7 +903,7 @@ automatically when it is selected." | |||
| 895 | (and (fboundp 'display-graphic-p) | 903 | (and (fboundp 'display-graphic-p) |
| 896 | (display-graphic-p)) | 904 | (display-graphic-p)) |
| 897 | "*If non-nil, display an arrow highlighting the current article." | 905 | "*If non-nil, display an arrow highlighting the current article." |
| 898 | :version "21.1" | 906 | :version "21.4" |
| 899 | :group 'gnus-summary | 907 | :group 'gnus-summary |
| 900 | :type 'boolean) | 908 | :type 'boolean) |
| 901 | 909 | ||
| @@ -1073,22 +1081,23 @@ type of files to save." | |||
| 1073 | This is mostly relevant for slow back ends where the user may | 1081 | This is mostly relevant for slow back ends where the user may |
| 1074 | wish to widen the summary buffer to include all headers | 1082 | wish to widen the summary buffer to include all headers |
| 1075 | that were fetched. Say, for nnultimate groups." | 1083 | that were fetched. Say, for nnultimate groups." |
| 1084 | :version "21.4" | ||
| 1076 | :group 'gnus-summary | 1085 | :group 'gnus-summary |
| 1077 | :type '(choice boolean regexp)) | 1086 | :type '(choice boolean regexp)) |
| 1078 | 1087 | ||
| 1079 | (defcustom gnus-summary-muttprint-program "muttprint" | 1088 | (defcustom gnus-summary-muttprint-program "muttprint" |
| 1080 | "Command (and optional arguments) used to run Muttprint." | 1089 | "Command (and optional arguments) used to run Muttprint." |
| 1081 | :version "21.3" | 1090 | :version "21.4" |
| 1082 | :group 'gnus-summary | 1091 | :group 'gnus-summary |
| 1083 | :type 'string) | 1092 | :type 'string) |
| 1084 | 1093 | ||
| 1085 | (defcustom gnus-article-loose-mime nil | 1094 | (defcustom gnus-article-loose-mime nil |
| 1086 | "If non-nil, don't require MIME-Version header. | 1095 | "If non-nil, don't require MIME-Version header. |
| 1087 | Some brain-damaged MUA/MTA, e.g. Lotus Domino 5.0.6 clients, does not | 1096 | Some brain-damaged MUA/MTA, e.g. Lotus Domino 5.0.6 clients, does not |
| 1088 | supply the MIME-Version header or deliberately strip it From the mail. | 1097 | supply the MIME-Version header or deliberately strip it from the mail. |
| 1089 | Set it to non-nil, Gnus will treat some articles as MIME even if | 1098 | Set it to non-nil, Gnus will treat some articles as MIME even if |
| 1090 | the MIME-Version header is missed." | 1099 | the MIME-Version header is missed." |
| 1091 | :version "21.3" | 1100 | :version "21.4" |
| 1092 | :type 'boolean | 1101 | :type 'boolean |
| 1093 | :group 'gnus-article-mime) | 1102 | :group 'gnus-article-mime) |
| 1094 | 1103 | ||
| @@ -1097,6 +1106,7 @@ the MIME-Version header is missed." | |||
| 1097 | This means that Gnus will search message bodies for text that look | 1106 | This means that Gnus will search message bodies for text that look |
| 1098 | like uuencoded bits, yEncoded bits, and so on, and present that using | 1107 | like uuencoded bits, yEncoded bits, and so on, and present that using |
| 1099 | the normal Gnus MIME machinery." | 1108 | the normal Gnus MIME machinery." |
| 1109 | :version "21.4" | ||
| 1100 | :type 'boolean | 1110 | :type 'boolean |
| 1101 | :group 'gnus-article-mime) | 1111 | :group 'gnus-article-mime) |
| 1102 | 1112 | ||
| @@ -4591,32 +4601,39 @@ Unscored articles will be counted as having a score of zero." | |||
| 4591 | (defcustom gnus-sum-thread-tree-root "> " | 4601 | (defcustom gnus-sum-thread-tree-root "> " |
| 4592 | "With %B spec, used for the root of a thread. | 4602 | "With %B spec, used for the root of a thread. |
| 4593 | If nil, use subject instead." | 4603 | If nil, use subject instead." |
| 4604 | :version "21.4" | ||
| 4594 | :type '(radio (const :format "%v " nil) (string :size 0)) | 4605 | :type '(radio (const :format "%v " nil) (string :size 0)) |
| 4595 | :group 'gnus-thread) | 4606 | :group 'gnus-thread) |
| 4596 | (defcustom gnus-sum-thread-tree-false-root "> " | 4607 | (defcustom gnus-sum-thread-tree-false-root "> " |
| 4597 | "With %B spec, used for a false root of a thread. | 4608 | "With %B spec, used for a false root of a thread. |
| 4598 | If nil, use subject instead." | 4609 | If nil, use subject instead." |
| 4610 | :version "21.4" | ||
| 4599 | :type '(radio (const :format "%v " nil) (string :size 0)) | 4611 | :type '(radio (const :format "%v " nil) (string :size 0)) |
| 4600 | :group 'gnus-thread) | 4612 | :group 'gnus-thread) |
| 4601 | (defcustom gnus-sum-thread-tree-single-indent "" | 4613 | (defcustom gnus-sum-thread-tree-single-indent "" |
| 4602 | "With %B spec, used for a thread with just one message. | 4614 | "With %B spec, used for a thread with just one message. |
| 4603 | If nil, use subject instead." | 4615 | If nil, use subject instead." |
| 4616 | :version "21.4" | ||
| 4604 | :type '(radio (const :format "%v " nil) (string :size 0)) | 4617 | :type '(radio (const :format "%v " nil) (string :size 0)) |
| 4605 | :group 'gnus-thread) | 4618 | :group 'gnus-thread) |
| 4606 | (defcustom gnus-sum-thread-tree-vertical "| " | 4619 | (defcustom gnus-sum-thread-tree-vertical "| " |
| 4607 | "With %B spec, used for drawing a vertical line." | 4620 | "With %B spec, used for drawing a vertical line." |
| 4621 | :version "21.4" | ||
| 4608 | :type 'string | 4622 | :type 'string |
| 4609 | :group 'gnus-thread) | 4623 | :group 'gnus-thread) |
| 4610 | (defcustom gnus-sum-thread-tree-indent " " | 4624 | (defcustom gnus-sum-thread-tree-indent " " |
| 4611 | "With %B spec, used for indenting." | 4625 | "With %B spec, used for indenting." |
| 4626 | :version "21.4" | ||
| 4612 | :type 'string | 4627 | :type 'string |
| 4613 | :group 'gnus-thread) | 4628 | :group 'gnus-thread) |
| 4614 | (defcustom gnus-sum-thread-tree-leaf-with-other "+-> " | 4629 | (defcustom gnus-sum-thread-tree-leaf-with-other "+-> " |
| 4615 | "With %B spec, used for a leaf with brothers." | 4630 | "With %B spec, used for a leaf with brothers." |
| 4631 | :version "21.4" | ||
| 4616 | :type 'string | 4632 | :type 'string |
| 4617 | :group 'gnus-thread) | 4633 | :group 'gnus-thread) |
| 4618 | (defcustom gnus-sum-thread-tree-single-leaf "\\-> " | 4634 | (defcustom gnus-sum-thread-tree-single-leaf "\\-> " |
| 4619 | "With %B spec, used for a leaf without brothers." | 4635 | "With %B spec, used for a leaf without brothers." |
| 4636 | :version "21.4" | ||
| 4620 | :type 'string | 4637 | :type 'string |
| 4621 | :group 'gnus-thread) | 4638 | :group 'gnus-thread) |
| 4622 | 4639 | ||
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 472f02afa55..22db7ecd6d1 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -1163,7 +1163,7 @@ Return the modified alist." | |||
| 1163 | Setting it to nil has no effect after the first time `gnus-byte-compile' | 1163 | Setting it to nil has no effect after the first time `gnus-byte-compile' |
| 1164 | is run." | 1164 | is run." |
| 1165 | :type 'boolean | 1165 | :type 'boolean |
| 1166 | :version "21.1" | 1166 | :version "21.4" |
| 1167 | :group 'gnus-various) | 1167 | :group 'gnus-various) |
| 1168 | 1168 | ||
| 1169 | (defun gnus-byte-compile (form) | 1169 | (defun gnus-byte-compile (form) |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index eaa77f02e90..3b7c8c916d8 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -963,6 +963,7 @@ For example: | |||
| 963 | (\"mail\\\\.me\" (gnus-use-scoring t)) | 963 | (\"mail\\\\.me\" (gnus-use-scoring t)) |
| 964 | (\"list\\\\..*\" (total-expire . t) | 964 | (\"list\\\\..*\" (total-expire . t) |
| 965 | (broken-reply-to . t)))" | 965 | (broken-reply-to . t)))" |
| 966 | :version "21.4" | ||
| 966 | :group 'gnus-group-various | 967 | :group 'gnus-group-various |
| 967 | :type '(repeat (cons regexp | 968 | :type '(repeat (cons regexp |
| 968 | (repeat sexp)))) | 969 | (repeat sexp)))) |
| @@ -2292,7 +2293,7 @@ face." | |||
| 2292 | When set, Gnus will prefer using the locally stored content rather | 2293 | When set, Gnus will prefer using the locally stored content rather |
| 2293 | than re-fetching it from the server. You also need to enable | 2294 | than re-fetching it from the server. You also need to enable |
| 2294 | `gnus-agent' for this to have any affect." | 2295 | `gnus-agent' for this to have any affect." |
| 2295 | :version "21.3" | 2296 | :version "21.4" |
| 2296 | :group 'gnus-agent | 2297 | :group 'gnus-agent |
| 2297 | :type 'boolean) | 2298 | :type 'boolean) |
| 2298 | 2299 | ||
| @@ -2311,7 +2312,7 @@ covered by that variable." | |||
| 2311 | You may customize gnus-agent to disable its use. However, some | 2312 | You may customize gnus-agent to disable its use. However, some |
| 2312 | back ends have started to use the agent as a client-side cache. | 2313 | back ends have started to use the agent as a client-side cache. |
| 2313 | Disabling the agent may result in noticeable loss of performance." | 2314 | Disabling the agent may result in noticeable loss of performance." |
| 2314 | :version "21.3" | 2315 | :version "21.4" |
| 2315 | :group 'gnus-agent | 2316 | :group 'gnus-agent |
| 2316 | :type 'boolean) | 2317 | :type 'boolean) |
| 2317 | 2318 | ||
| @@ -2343,6 +2344,7 @@ It can be one of the symbols `gnus' \(show only Gnus version\), `emacs-gnus' | |||
| 2343 | `emacs-gnus' plus system configuration\), `emacs-gnus-type' \(same as | 2344 | `emacs-gnus' plus system configuration\), `emacs-gnus-type' \(same as |
| 2344 | `emacs-gnus' plus system type\) or a custom string. If you set it to a | 2345 | `emacs-gnus' plus system type\) or a custom string. If you set it to a |
| 2345 | string, be sure to use a valid format, see RFC 2616." | 2346 | string, be sure to use a valid format, see RFC 2616." |
| 2347 | :version "21.4" | ||
| 2346 | :group 'gnus-message | 2348 | :group 'gnus-message |
| 2347 | :type '(choice | 2349 | :type '(choice |
| 2348 | (item :tag "Show Gnus and Emacs versions and system type" | 2350 | (item :tag "Show Gnus and Emacs versions and system type" |
diff --git a/lisp/gnus/imap.el b/lisp/gnus/imap.el index f53aeb32ca1..754473fa8ec 100644 --- a/lisp/gnus/imap.el +++ b/lisp/gnus/imap.el | |||
| @@ -227,7 +227,8 @@ used to communicate with subprocesses. Values are nil to use a | |||
| 227 | pipe, or t or `pty' to use a pty. The value has no effect if the | 227 | pipe, or t or `pty' to use a pty. The value has no effect if the |
| 228 | system has no ptys or if all ptys are busy: then a pipe is used | 228 | system has no ptys or if all ptys are busy: then a pipe is used |
| 229 | in any case. The value takes effect when a IMAP server is | 229 | in any case. The value takes effect when a IMAP server is |
| 230 | opened, changing it after that has no effect.." | 230 | opened, changing it after that has no effect." |
| 231 | :version "21.4" | ||
| 231 | :group 'imap | 232 | :group 'imap |
| 232 | :type 'boolean) | 233 | :type 'boolean) |
| 233 | 234 | ||
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index 3c055c82000..b35cd1d0448 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el | |||
| @@ -235,7 +235,10 @@ See Info node `(gnus)Mail Source Specifiers'." | |||
| 235 | (defcustom mail-source-ignore-errors nil | 235 | (defcustom mail-source-ignore-errors nil |
| 236 | "*Ignore errors when querying mail sources. | 236 | "*Ignore errors when querying mail sources. |
| 237 | If nil, the user will be prompted when an error occurs. If non-nil, | 237 | If nil, the user will be prompted when an error occurs. If non-nil, |
| 238 | the error will be ignored.") | 238 | the error will be ignored." |
| 239 | :version "21.4" | ||
| 240 | :group 'mail-source | ||
| 241 | :type 'boolean) | ||
| 239 | 242 | ||
| 240 | (defcustom mail-source-primary-source nil | 243 | (defcustom mail-source-primary-source nil |
| 241 | "*Primary source for incoming mail. | 244 | "*Primary source for incoming mail. |
| @@ -281,6 +284,7 @@ files older than number of days." | |||
| 281 | "*If non-nil, ask for for confirmation before deleting old incoming files. | 284 | "*If non-nil, ask for for confirmation before deleting old incoming files. |
| 282 | This variable only applies when `mail-source-delete-incoming' is a positive | 285 | This variable only applies when `mail-source-delete-incoming' is a positive |
| 283 | number." | 286 | number." |
| 287 | :version "21.4" | ||
| 284 | :group 'mail-source | 288 | :group 'mail-source |
| 285 | :type 'boolean) | 289 | :type 'boolean) |
| 286 | 290 | ||
| @@ -301,6 +305,7 @@ number." | |||
| 301 | 305 | ||
| 302 | (defcustom mail-source-movemail-program nil | 306 | (defcustom mail-source-movemail-program nil |
| 303 | "If non-nil, name of program for fetching new mail." | 307 | "If non-nil, name of program for fetching new mail." |
| 308 | :version "21.4" | ||
| 304 | :group 'mail-source | 309 | :group 'mail-source |
| 305 | :type '(choice (const nil) string)) | 310 | :type '(choice (const nil) string)) |
| 306 | 311 | ||
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 0e74da73b7d..21c386b86ce 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -135,6 +135,7 @@ mailbox format." | |||
| 135 | 135 | ||
| 136 | (defcustom message-fcc-externalize-attachments nil | 136 | (defcustom message-fcc-externalize-attachments nil |
| 137 | "If non-nil, attachments are included as external parts in Fcc copies." | 137 | "If non-nil, attachments are included as external parts in Fcc copies." |
| 138 | :version "21.4" | ||
| 138 | :type 'boolean | 139 | :type 'boolean |
| 139 | :group 'message-sending) | 140 | :group 'message-sending) |
| 140 | 141 | ||
| @@ -174,7 +175,7 @@ Otherwise, most addresses look like `angles', but they look like | |||
| 174 | 175 | ||
| 175 | (defcustom message-insert-canlock t | 176 | (defcustom message-insert-canlock t |
| 176 | "Whether to insert a Cancel-Lock header in news postings." | 177 | "Whether to insert a Cancel-Lock header in news postings." |
| 177 | :version "21.3" | 178 | :version "21.4" |
| 178 | :group 'message-headers | 179 | :group 'message-headers |
| 179 | :type 'boolean) | 180 | :type 'boolean) |
| 180 | 181 | ||
| @@ -203,6 +204,7 @@ Checks include `subject-cmsg', `multiple-headers', `sendsys', | |||
| 203 | "*Headers to be generated or prompted for when sending a message. | 204 | "*Headers to be generated or prompted for when sending a message. |
| 204 | Also see `message-required-news-headers' and | 205 | Also see `message-required-news-headers' and |
| 205 | `message-required-mail-headers'." | 206 | `message-required-mail-headers'." |
| 207 | :version "21.4" | ||
| 206 | :group 'message-news | 208 | :group 'message-news |
| 207 | :group 'message-headers | 209 | :group 'message-headers |
| 208 | :link '(custom-manual "(message)Message Headers") | 210 | :link '(custom-manual "(message)Message Headers") |
| @@ -210,6 +212,7 @@ Also see `message-required-news-headers' and | |||
| 210 | 212 | ||
| 211 | (defcustom message-draft-headers '(References From) | 213 | (defcustom message-draft-headers '(References From) |
| 212 | "*Headers to be generated when saving a draft message." | 214 | "*Headers to be generated when saving a draft message." |
| 215 | :version "21.4" | ||
| 213 | :group 'message-news | 216 | :group 'message-news |
| 214 | :group 'message-headers | 217 | :group 'message-headers |
| 215 | :link '(custom-manual "(message)Message Headers") | 218 | :link '(custom-manual "(message)Message Headers") |
| @@ -287,6 +290,7 @@ the user what do do. In this case, the subject is matched against | |||
| 287 | `message-subject-trailing-was-query' is t, always strip the trailing | 290 | `message-subject-trailing-was-query' is t, always strip the trailing |
| 288 | old subject. In this case, `message-subject-trailing-was-regexp' is | 291 | old subject. In this case, `message-subject-trailing-was-regexp' is |
| 289 | used." | 292 | used." |
| 293 | :version "21.4" | ||
| 290 | :type '(choice (const :tag "never" nil) | 294 | :type '(choice (const :tag "never" nil) |
| 291 | (const :tag "always strip" t) | 295 | (const :tag "always strip" t) |
| 292 | (const ask)) | 296 | (const ask)) |
| @@ -303,6 +307,7 @@ the variable is t instead of `ask', use | |||
| 303 | `message-subject-trailing-was-regexp' instead. | 307 | `message-subject-trailing-was-regexp' instead. |
| 304 | 308 | ||
| 305 | It is okay to create some false positives here, as the user is asked." | 309 | It is okay to create some false positives here, as the user is asked." |
| 310 | :version "21.4" | ||
| 306 | :group 'message-various | 311 | :group 'message-various |
| 307 | :link '(custom-manual "(message)Message Headers") | 312 | :link '(custom-manual "(message)Message Headers") |
| 308 | :type 'regexp) | 313 | :type 'regexp) |
| @@ -315,6 +320,7 @@ If `message-subject-trailing-was-query' is set to t, the subject is | |||
| 315 | matched against `message-subject-trailing-was-regexp' in | 320 | matched against `message-subject-trailing-was-regexp' in |
| 316 | `message-strip-subject-trailing-was'. You should use a regexp creating very | 321 | `message-strip-subject-trailing-was'. You should use a regexp creating very |
| 317 | few false positives here." | 322 | few false positives here." |
| 323 | :version "21.4" | ||
| 318 | :group 'message-various | 324 | :group 'message-various |
| 319 | :link '(custom-manual "(message)Message Headers") | 325 | :link '(custom-manual "(message)Message Headers") |
| 320 | :type 'regexp) | 326 | :type 'regexp) |
| @@ -327,6 +333,7 @@ few false positives here." | |||
| 327 | (defcustom message-mark-insert-begin | 333 | (defcustom message-mark-insert-begin |
| 328 | "--8<---------------cut here---------------start------------->8---\n" | 334 | "--8<---------------cut here---------------start------------->8---\n" |
| 329 | "How to mark the beginning of some inserted text." | 335 | "How to mark the beginning of some inserted text." |
| 336 | :version "21.4" | ||
| 330 | :type 'string | 337 | :type 'string |
| 331 | :link '(custom-manual "(message)Insertion Variables") | 338 | :link '(custom-manual "(message)Insertion Variables") |
| 332 | :group 'message-various) | 339 | :group 'message-various) |
| @@ -335,6 +342,7 @@ few false positives here." | |||
| 335 | (defcustom message-mark-insert-end | 342 | (defcustom message-mark-insert-end |
| 336 | "--8<---------------cut here---------------end--------------->8---\n" | 343 | "--8<---------------cut here---------------end--------------->8---\n" |
| 337 | "How to mark the end of some inserted text." | 344 | "How to mark the end of some inserted text." |
| 345 | :version "21.4" | ||
| 338 | :type 'string | 346 | :type 'string |
| 339 | :link '(custom-manual "(message)Insertion Variables") | 347 | :link '(custom-manual "(message)Insertion Variables") |
| 340 | :group 'message-various) | 348 | :group 'message-various) |
| @@ -344,6 +352,7 @@ few false positives here." | |||
| 344 | "X-No-Archive: Yes\n" | 352 | "X-No-Archive: Yes\n" |
| 345 | "Header to insert when you don't want your article to be archived. | 353 | "Header to insert when you don't want your article to be archived. |
| 346 | Archives \(such as groups.google.com\) respect this header." | 354 | Archives \(such as groups.google.com\) respect this header." |
| 355 | :version "21.4" | ||
| 347 | :type 'string | 356 | :type 'string |
| 348 | :link '(custom-manual "(message)Header Commands") | 357 | :link '(custom-manual "(message)Header Commands") |
| 349 | :group 'message-various) | 358 | :group 'message-various) |
| @@ -353,6 +362,7 @@ Archives \(such as groups.google.com\) respect this header." | |||
| 353 | "X-No-Archive: Yes - save http://groups.google.com/" | 362 | "X-No-Archive: Yes - save http://groups.google.com/" |
| 354 | "Note to insert why you wouldn't want this posting archived. | 363 | "Note to insert why you wouldn't want this posting archived. |
| 355 | If nil, don't insert any text in the body." | 364 | If nil, don't insert any text in the body." |
| 365 | :version "21.4" | ||
| 356 | :type '(radio (string :format "%t: %v\n" :size 0) | 366 | :type '(radio (string :format "%t: %v\n" :size 0) |
| 357 | (const nil)) | 367 | (const nil)) |
| 358 | :link '(custom-manual "(message)Header Commands") | 368 | :link '(custom-manual "(message)Header Commands") |
| @@ -372,6 +382,7 @@ If nil, don't insert any text in the body." | |||
| 372 | If nil, `message-cross-post-followup-to' will only do a followup. Note that | 382 | If nil, `message-cross-post-followup-to' will only do a followup. Note that |
| 373 | you can explicitly override this setting by calling | 383 | you can explicitly override this setting by calling |
| 374 | `message-cross-post-followup-to' with a prefix." | 384 | `message-cross-post-followup-to' with a prefix." |
| 385 | :version "21.4" | ||
| 375 | :type 'boolean | 386 | :type 'boolean |
| 376 | :group 'message-various) | 387 | :group 'message-various) |
| 377 | 388 | ||
| @@ -379,6 +390,7 @@ you can explicitly override this setting by calling | |||
| 379 | (defcustom message-cross-post-note | 390 | (defcustom message-cross-post-note |
| 380 | "Crosspost & Followup-To: " | 391 | "Crosspost & Followup-To: " |
| 381 | "Note to insert before signature to notify of cross-post and follow-up." | 392 | "Note to insert before signature to notify of cross-post and follow-up." |
| 393 | :version "21.4" | ||
| 382 | :type 'string | 394 | :type 'string |
| 383 | :group 'message-various) | 395 | :group 'message-various) |
| 384 | 396 | ||
| @@ -386,6 +398,7 @@ you can explicitly override this setting by calling | |||
| 386 | (defcustom message-followup-to-note | 398 | (defcustom message-followup-to-note |
| 387 | "Followup-To: " | 399 | "Followup-To: " |
| 388 | "Note to insert before signature to notify of follow-up only." | 400 | "Note to insert before signature to notify of follow-up only." |
| 401 | :version "21.4" | ||
| 389 | :type 'string | 402 | :type 'string |
| 390 | :group 'message-various) | 403 | :group 'message-various) |
| 391 | 404 | ||
| @@ -396,6 +409,7 @@ you can explicitly override this setting by calling | |||
| 396 | The function will be called with four arguments. The function should not only | 409 | The function will be called with four arguments. The function should not only |
| 397 | insert a note, but also ensure old notes are deleted. See the documentation | 410 | insert a note, but also ensure old notes are deleted. See the documentation |
| 398 | for `message-cross-post-insert-note'." | 411 | for `message-cross-post-insert-note'." |
| 412 | :version "21.4" | ||
| 399 | :type 'function | 413 | :type 'function |
| 400 | :group 'message-various) | 414 | :group 'message-various) |
| 401 | 415 | ||
| @@ -638,6 +652,7 @@ always query the user whether to use the value. If it is the symbol | |||
| 638 | If nil, always ignore the header. If it is the symbol `ask', always | 652 | If nil, always ignore the header. If it is the symbol `ask', always |
| 639 | query the user whether to use the value. If it is the symbol `use', | 653 | query the user whether to use the value. If it is the symbol `use', |
| 640 | always use the value." | 654 | always use the value." |
| 655 | :version "21.4" | ||
| 641 | :group 'message-interface | 656 | :group 'message-interface |
| 642 | :link '(custom-manual "(message)Mailing Lists") | 657 | :link '(custom-manual "(message)Mailing Lists") |
| 643 | :type '(choice (const :tag "ignore" nil) | 658 | :type '(choice (const :tag "ignore" nil) |
| @@ -651,6 +666,7 @@ If non-nil, this variable contains a list of functions which return | |||
| 651 | regular expressions to match lists. These functions can be used in | 666 | regular expressions to match lists. These functions can be used in |
| 652 | conjunction with `message-subscribed-regexps' and | 667 | conjunction with `message-subscribed-regexps' and |
| 653 | `message-subscribed-addresses'." | 668 | `message-subscribed-addresses'." |
| 669 | :version "21.4" | ||
| 654 | :group 'message-interface | 670 | :group 'message-interface |
| 655 | :link '(custom-manual "(message)Mailing Lists") | 671 | :link '(custom-manual "(message)Mailing Lists") |
| 656 | :type '(repeat sexp)) | 672 | :type '(repeat sexp)) |
| @@ -659,6 +675,7 @@ conjunction with `message-subscribed-regexps' and | |||
| 659 | "*A file containing addresses the user is subscribed to. | 675 | "*A file containing addresses the user is subscribed to. |
| 660 | If nil, do not look at any files to determine list subscriptions. If | 676 | If nil, do not look at any files to determine list subscriptions. If |
| 661 | non-nil, each line of this file should be a mailing list address." | 677 | non-nil, each line of this file should be a mailing list address." |
| 678 | :version "21.4" | ||
| 662 | :group 'message-interface | 679 | :group 'message-interface |
| 663 | :link '(custom-manual "(message)Mailing Lists") | 680 | :link '(custom-manual "(message)Mailing Lists") |
| 664 | :type '(radio (file :format "%t: %v\n" :size 0) | 681 | :type '(radio (file :format "%t: %v\n" :size 0) |
| @@ -669,6 +686,7 @@ non-nil, each line of this file should be a mailing list address." | |||
| 669 | If nil, do not use any predefined list subscriptions. This list of | 686 | If nil, do not use any predefined list subscriptions. This list of |
| 670 | addresses can be used in conjunction with | 687 | addresses can be used in conjunction with |
| 671 | `message-subscribed-address-functions' and `message-subscribed-regexps'." | 688 | `message-subscribed-address-functions' and `message-subscribed-regexps'." |
| 689 | :version "21.4" | ||
| 672 | :group 'message-interface | 690 | :group 'message-interface |
| 673 | :link '(custom-manual "(message)Mailing Lists") | 691 | :link '(custom-manual "(message)Mailing Lists") |
| 674 | :type '(repeat string)) | 692 | :type '(repeat string)) |
| @@ -678,6 +696,7 @@ addresses can be used in conjunction with | |||
| 678 | If nil, do not use any predefined list subscriptions. This list of | 696 | If nil, do not use any predefined list subscriptions. This list of |
| 679 | regular expressions can be used in conjunction with | 697 | regular expressions can be used in conjunction with |
| 680 | `message-subscribed-address-functions' and `message-subscribed-addresses'." | 698 | `message-subscribed-address-functions' and `message-subscribed-addresses'." |
| 699 | :version "21.4" | ||
| 681 | :group 'message-interface | 700 | :group 'message-interface |
| 682 | :link '(custom-manual "(message)Mailing Lists") | 701 | :link '(custom-manual "(message)Mailing Lists") |
| 683 | :type '(repeat regexp)) | 702 | :type '(repeat regexp)) |
| @@ -687,6 +706,7 @@ regular expressions can be used in conjunction with | |||
| 687 | If it is the symbol `always', the posting is allowed. If it is the | 706 | If it is the symbol `always', the posting is allowed. If it is the |
| 688 | symbol `never', the posting is not allowed. If it is the symbol | 707 | symbol `never', the posting is not allowed. If it is the symbol |
| 689 | `ask', you are prompted." | 708 | `ask', you are prompted." |
| 709 | :version "21.4" | ||
| 690 | :group 'message-interface | 710 | :group 'message-interface |
| 691 | :link '(custom-manual "(message)Message Headers") | 711 | :link '(custom-manual "(message)Message Headers") |
| 692 | :type '(choice (const always) | 712 | :type '(choice (const always) |
| @@ -843,6 +863,7 @@ See also `message-yank-cited-prefix'." | |||
| 843 | "*Prefix inserted on cited or empty lines of yanked messages. | 863 | "*Prefix inserted on cited or empty lines of yanked messages. |
| 844 | Fix `message-cite-prefix-regexp' if it is set to an abnormal value. | 864 | Fix `message-cite-prefix-regexp' if it is set to an abnormal value. |
| 845 | See also `message-yank-prefix'." | 865 | See also `message-yank-prefix'." |
| 866 | :version "21.4" | ||
| 846 | :type 'string | 867 | :type 'string |
| 847 | :link '(custom-manual "(message)Insertion Variables") | 868 | :link '(custom-manual "(message)Insertion Variables") |
| 848 | :group 'message-insertion) | 869 | :group 'message-insertion) |
| @@ -899,6 +920,7 @@ If nil, don't insert a signature." | |||
| 899 | ;;;###autoload | 920 | ;;;###autoload |
| 900 | (defcustom message-signature-insert-empty-line t | 921 | (defcustom message-signature-insert-empty-line t |
| 901 | "*If non-nil, insert an empty line before the signature separator." | 922 | "*If non-nil, insert an empty line before the signature separator." |
| 923 | :version "21.4" | ||
| 902 | :type 'boolean | 924 | :type 'boolean |
| 903 | :link '(custom-manual "(message)Insertion Variables") | 925 | :link '(custom-manual "(message)Insertion Variables") |
| 904 | :group 'message-insertion) | 926 | :group 'message-insertion) |
| @@ -1079,6 +1101,7 @@ candidates: | |||
| 1079 | "Regexp of headers to be hidden when composing new messages. | 1101 | "Regexp of headers to be hidden when composing new messages. |
| 1080 | This can also be a list of regexps to match headers. Or a list | 1102 | This can also be a list of regexps to match headers. Or a list |
| 1081 | starting with `not' and followed by regexps." | 1103 | starting with `not' and followed by regexps." |
| 1104 | :version "21.4" | ||
| 1082 | :group 'message | 1105 | :group 'message |
| 1083 | :link '(custom-manual "(message)Message Headers") | 1106 | :link '(custom-manual "(message)Message Headers") |
| 1084 | :type '(repeat regexp)) | 1107 | :type '(repeat regexp)) |
| @@ -1354,6 +1377,7 @@ subaddresses. So if the first address appears in the recipient list | |||
| 1354 | for a message, the subaddresses will be removed (if present) before | 1377 | for a message, the subaddresses will be removed (if present) before |
| 1355 | the mail is sent. All addresses in this structure should be | 1378 | the mail is sent. All addresses in this structure should be |
| 1356 | downcased." | 1379 | downcased." |
| 1380 | :version "21.4" | ||
| 1357 | :group 'message-headers | 1381 | :group 'message-headers |
| 1358 | :type '(repeat (repeat string))) | 1382 | :type '(repeat (repeat string))) |
| 1359 | 1383 | ||
| @@ -1361,6 +1385,7 @@ downcased." | |||
| 1361 | "Like `mail-user-agent'. | 1385 | "Like `mail-user-agent'. |
| 1362 | Except if it is nil, use Gnus native MUA; if it is t, use | 1386 | Except if it is nil, use Gnus native MUA; if it is t, use |
| 1363 | `mail-user-agent'." | 1387 | `mail-user-agent'." |
| 1388 | :version "21.4" | ||
| 1364 | :type '(radio (const :tag "Gnus native" | 1389 | :type '(radio (const :tag "Gnus native" |
| 1365 | :format "%t\n" | 1390 | :format "%t\n" |
| 1366 | nil) | 1391 | nil) |
| @@ -1384,7 +1409,7 @@ If this variable is non-nil, pose the question \"Reply to all | |||
| 1384 | recipients?\" before a wide reply to multiple recipients. If the user | 1409 | recipients?\" before a wide reply to multiple recipients. If the user |
| 1385 | answers yes, reply to all recipients as usual. If the user answers | 1410 | answers yes, reply to all recipients as usual. If the user answers |
| 1386 | no, only reply back to the author." | 1411 | no, only reply back to the author." |
| 1387 | :version "21.3" | 1412 | :version "21.4" |
| 1388 | :group 'message-headers | 1413 | :group 'message-headers |
| 1389 | :link '(custom-manual "(message)Wide Reply") | 1414 | :link '(custom-manual "(message)Wide Reply") |
| 1390 | :type 'boolean) | 1415 | :type 'boolean) |
| @@ -1402,6 +1427,7 @@ no, only reply back to the author." | |||
| 1402 | (executable-find idna-program) | 1427 | (executable-find idna-program) |
| 1403 | 'ask) | 1428 | 'ask) |
| 1404 | "Whether to encode non-ASCII in domain names into ASCII according to IDNA." | 1429 | "Whether to encode non-ASCII in domain names into ASCII according to IDNA." |
| 1430 | :version "21.4" | ||
| 1405 | :group 'message-headers | 1431 | :group 'message-headers |
| 1406 | :link '(custom-manual "(message)IDNA") | 1432 | :link '(custom-manual "(message)IDNA") |
| 1407 | :type '(choice (const :tag "Ask" ask) | 1433 | :type '(choice (const :tag "Ask" ask) |
| @@ -1527,6 +1553,7 @@ no, only reply back to the author." | |||
| 1527 | "\\)") | 1553 | "\\)") |
| 1528 | "Regular expression that matches a valid FQDN." | 1554 | "Regular expression that matches a valid FQDN." |
| 1529 | ;; see also: gnus-button-valid-fqdn-regexp | 1555 | ;; see also: gnus-button-valid-fqdn-regexp |
| 1556 | :version "21.4" | ||
| 1530 | :group 'message-headers | 1557 | :group 'message-headers |
| 1531 | :type 'regexp) | 1558 | :type 'regexp) |
| 1532 | 1559 | ||
| @@ -2336,6 +2363,7 @@ these properties from the message composition buffer. However, some | |||
| 2336 | packages requires these properties to be present in order to work. | 2363 | packages requires these properties to be present in order to work. |
| 2337 | If you use one of these packages, turn this option off, and hope the | 2364 | If you use one of these packages, turn this option off, and hope the |
| 2338 | message composition doesn't break too bad." | 2365 | message composition doesn't break too bad." |
| 2366 | :version "21.4" | ||
| 2339 | :group 'message-various | 2367 | :group 'message-various |
| 2340 | :link '(custom-manual "(message)Various Message Variables") | 2368 | :link '(custom-manual "(message)Various Message Variables") |
| 2341 | :type 'boolean) | 2369 | :type 'boolean) |
| @@ -2680,6 +2708,7 @@ prefix FORCE is given." | |||
| 2680 | E.g., if this list contains a member list with elements `Cc' and `To', | 2708 | E.g., if this list contains a member list with elements `Cc' and `To', |
| 2681 | then `message-carefully-insert-headers' will not insert a `To' header | 2709 | then `message-carefully-insert-headers' will not insert a `To' header |
| 2682 | when the message is already `Cc'ed to the recipient." | 2710 | when the message is already `Cc'ed to the recipient." |
| 2711 | :version "21.4" | ||
| 2683 | :group 'message-headers | 2712 | :group 'message-headers |
| 2684 | :link '(custom-manual "(message)Message Headers") | 2713 | :link '(custom-manual "(message)Message Headers") |
| 2685 | :type '(repeat sexp)) | 2714 | :type '(repeat sexp)) |
| @@ -5226,6 +5255,7 @@ than 988 characters long, and if they are not, trim them until they are." | |||
| 5226 | (defcustom message-beginning-of-line t | 5255 | (defcustom message-beginning-of-line t |
| 5227 | "Whether \\<message-mode-map>\\[message-beginning-of-line]\ | 5256 | "Whether \\<message-mode-map>\\[message-beginning-of-line]\ |
| 5228 | goes to beginning of header values." | 5257 | goes to beginning of header values." |
| 5258 | :version "21.4" | ||
| 5229 | :group 'message-buffers | 5259 | :group 'message-buffers |
| 5230 | :link '(custom-manual "(message)Movement") | 5260 | :link '(custom-manual "(message)Movement") |
| 5231 | :type 'boolean) | 5261 | :type 'boolean) |
| @@ -6544,6 +6574,7 @@ which specify the range to operate on." | |||
| 6544 | (defcustom message-tab-body-function nil | 6574 | (defcustom message-tab-body-function nil |
| 6545 | "*Function to execute when `message-tab' (TAB) is executed in the body. | 6575 | "*Function to execute when `message-tab' (TAB) is executed in the body. |
| 6546 | If nil, the function bound in `text-mode-map' or `global-map' is executed." | 6576 | If nil, the function bound in `text-mode-map' or `global-map' is executed." |
| 6577 | :version "21.4" | ||
| 6547 | :group 'message | 6578 | :group 'message |
| 6548 | :link '(custom-manual "(message)Various Commands") | 6579 | :link '(custom-manual "(message)Various Commands") |
| 6549 | :type 'function) | 6580 | :type 'function) |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index c396789957c..ff05393415d 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -115,6 +115,7 @@ The defined renderer types are: | |||
| 115 | `lynx' : use lynx; | 115 | `lynx' : use lynx; |
| 116 | `html2text' : use html2text; | 116 | `html2text' : use html2text; |
| 117 | nil : use external viewer." | 117 | nil : use external viewer." |
| 118 | :version "21.4" | ||
| 118 | :type '(choice (const w3) | 119 | :type '(choice (const w3) |
| 119 | (const w3m) | 120 | (const w3m) |
| 120 | (const w3m-standalone) | 121 | (const w3m-standalone) |
| @@ -123,7 +124,6 @@ nil : use external viewer." | |||
| 123 | (const html2text) | 124 | (const html2text) |
| 124 | (const nil) | 125 | (const nil) |
| 125 | (function)) | 126 | (function)) |
| 126 | :version "21.3" | ||
| 127 | :group 'mime-display) | 127 | :group 'mime-display) |
| 128 | 128 | ||
| 129 | (defvar mm-inline-text-html-renderer nil | 129 | (defvar mm-inline-text-html-renderer nil |
| @@ -134,6 +134,7 @@ It is suggested to customize `mm-text-html-renderer' instead.") | |||
| 134 | "If non-nil, Gnus will allow retrieving images in HTML contents with | 134 | "If non-nil, Gnus will allow retrieving images in HTML contents with |
| 135 | the <img> tags. It has no effect on Emacs/w3. See also the | 135 | the <img> tags. It has no effect on Emacs/w3. See also the |
| 136 | documentation for the `mm-w3m-safe-url-regexp' variable." | 136 | documentation for the `mm-w3m-safe-url-regexp' variable." |
| 137 | :version "21.4" | ||
| 137 | :type 'boolean | 138 | :type 'boolean |
| 138 | :group 'mime-display) | 139 | :group 'mime-display) |
| 139 | 140 | ||
| @@ -280,6 +281,7 @@ type inline." | |||
| 280 | "application/pdf" "application/x-dvi") | 281 | "application/pdf" "application/x-dvi") |
| 281 | "List of media types for which the external viewer will not be killed | 282 | "List of media types for which the external viewer will not be killed |
| 282 | when selecting a different article." | 283 | when selecting a different article." |
| 284 | :version "21.4" | ||
| 283 | :type '(repeat string) | 285 | :type '(repeat string) |
| 284 | :group 'mime-display) | 286 | :group 'mime-display) |
| 285 | 287 | ||
| @@ -381,6 +383,7 @@ If not set, `default-directory' will be used." | |||
| 381 | 383 | ||
| 382 | (defcustom mm-external-terminal-program "xterm" | 384 | (defcustom mm-external-terminal-program "xterm" |
| 383 | "The program to start an external terminal." | 385 | "The program to start an external terminal." |
| 386 | :version "21.4" | ||
| 384 | :type 'string | 387 | :type 'string |
| 385 | :group 'mime-display) | 388 | :group 'mime-display) |
| 386 | 389 | ||
| @@ -413,6 +416,7 @@ If not set, `default-directory' will be used." | |||
| 413 | "Option of verifying signed parts. | 416 | "Option of verifying signed parts. |
| 414 | `never', not verify; `always', always verify; | 417 | `never', not verify; `always', always verify; |
| 415 | `known', only verify known protocols. Otherwise, ask user." | 418 | `known', only verify known protocols. Otherwise, ask user." |
| 419 | :version "21.4" | ||
| 416 | :type '(choice (item always) | 420 | :type '(choice (item always) |
| 417 | (item never) | 421 | (item never) |
| 418 | (item :tag "only known protocols" known) | 422 | (item :tag "only known protocols" known) |
| @@ -619,11 +623,14 @@ Postpone undisplaying of viewers for types in | |||
| 619 | "Copy the contents of the current buffer to a fresh buffer." | 623 | "Copy the contents of the current buffer to a fresh buffer." |
| 620 | (save-excursion | 624 | (save-excursion |
| 621 | (let ((obuf (current-buffer)) | 625 | (let ((obuf (current-buffer)) |
| 626 | (multibyte enable-multibyte-characters) | ||
| 622 | beg) | 627 | beg) |
| 623 | (goto-char (point-min)) | 628 | (goto-char (point-min)) |
| 624 | (search-forward-regexp "^\n" nil t) | 629 | (search-forward-regexp "^\n" nil t) |
| 625 | (setq beg (point)) | 630 | (setq beg (point)) |
| 626 | (set-buffer (generate-new-buffer " *mm*")) | 631 | (set-buffer (generate-new-buffer " *mm*")) |
| 632 | ;; Preserve the data's unibyteness (for url-insert-file-contents). | ||
| 633 | (set-buffer-multibyte multibyte) | ||
| 627 | (insert-buffer-substring obuf beg) | 634 | (insert-buffer-substring obuf beg) |
| 628 | (current-buffer)))) | 635 | (current-buffer)))) |
| 629 | 636 | ||
| @@ -1482,5 +1489,5 @@ If RECURSIVE, search recursively." | |||
| 1482 | 1489 | ||
| 1483 | (provide 'mm-decode) | 1490 | (provide 'mm-decode) |
| 1484 | 1491 | ||
| 1485 | ;;; arch-tag: 4f35d360-56b8-4030-9388-3ed82d359b9b | 1492 | ;; arch-tag: 4f35d360-56b8-4030-9388-3ed82d359b9b |
| 1486 | ;;; mm-decode.el ends here | 1493 | ;;; mm-decode.el ends here |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 4e6c7069b38..55c3fd33bc2 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -287,6 +287,7 @@ More than one suitable coding system may be found for some text. | |||
| 287 | By default, the coding system with the highest priority is used | 287 | By default, the coding system with the highest priority is used |
| 288 | to encode outgoing messages (see `sort-coding-systems'). If this | 288 | to encode outgoing messages (see `sort-coding-systems'). If this |
| 289 | variable is set, it overrides the default priority." | 289 | variable is set, it overrides the default priority." |
| 290 | :version "21.2" | ||
| 290 | :type '(repeat (symbol :tag "Coding system")) | 291 | :type '(repeat (symbol :tag "Coding system")) |
| 291 | :group 'mime) | 292 | :group 'mime) |
| 292 | 293 | ||
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 4b083ee461b..21633fb4152 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el | |||
| @@ -44,6 +44,7 @@ | |||
| 44 | '(name access-type expiration size permission format) | 44 | '(name access-type expiration size permission format) |
| 45 | "*A list of acceptable parameters in MML tag. | 45 | "*A list of acceptable parameters in MML tag. |
| 46 | These parameters are generated in Content-Type header if exists." | 46 | These parameters are generated in Content-Type header if exists." |
| 47 | :version "21.4" | ||
| 47 | :type '(repeat (symbol :tag "Parameter")) | 48 | :type '(repeat (symbol :tag "Parameter")) |
| 48 | :group 'message) | 49 | :group 'message) |
| 49 | 50 | ||
| @@ -51,12 +52,14 @@ These parameters are generated in Content-Type header if exists." | |||
| 51 | '(filename creation-date modification-date read-date) | 52 | '(filename creation-date modification-date read-date) |
| 52 | "*A list of acceptable parameters in MML tag. | 53 | "*A list of acceptable parameters in MML tag. |
| 53 | These parameters are generated in Content-Disposition header if exists." | 54 | These parameters are generated in Content-Disposition header if exists." |
| 55 | :version "21.4" | ||
| 54 | :type '(repeat (symbol :tag "Parameter")) | 56 | :type '(repeat (symbol :tag "Parameter")) |
| 55 | :group 'message) | 57 | :group 'message) |
| 56 | 58 | ||
| 57 | (defcustom mml-insert-mime-headers-always nil | 59 | (defcustom mml-insert-mime-headers-always nil |
| 58 | "If non-nil, always put Content-Type: text/plain at top of empty parts. | 60 | "If non-nil, always put Content-Type: text/plain at top of empty parts. |
| 59 | It is necessary to work against a bug in certain clients." | 61 | It is necessary to work against a bug in certain clients." |
| 62 | :version "21.4" | ||
| 60 | :type 'boolean | 63 | :type 'boolean |
| 61 | :group 'message) | 64 | :group 'message) |
| 62 | 65 | ||
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 19abb629a1d..56272a1472b 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -211,6 +211,7 @@ variable is the symbol `default' the default behaviour is | |||
| 211 | used (which currently is nil, unless you use a statistical | 211 | used (which currently is nil, unless you use a statistical |
| 212 | spam.el test); if this variable is another non-nil value bodies | 212 | spam.el test); if this variable is another non-nil value bodies |
| 213 | will be downloaded." | 213 | will be downloaded." |
| 214 | :version "21.4" | ||
| 214 | :group 'nnimap | 215 | :group 'nnimap |
| 215 | :type '(choice (const :tag "Let system decide" deault) | 216 | :type '(choice (const :tag "Let system decide" deault) |
| 216 | boolean)) | 217 | boolean)) |
| @@ -219,9 +220,10 @@ will be downloaded." | |||
| 219 | 220 | ||
| 220 | (defcustom nnimap-close-asynchronous t | 221 | (defcustom nnimap-close-asynchronous t |
| 221 | "Close mailboxes asynchronously in `nnimap-close-group'. | 222 | "Close mailboxes asynchronously in `nnimap-close-group'. |
| 222 | This means that errors cought by nnimap when closing the mailbox will | 223 | This means that errors caught by nnimap when closing the mailbox will |
| 223 | not prevent Gnus from updating the group status, which may be harmful. | 224 | not prevent Gnus from updating the group status, which may be harmful. |
| 224 | However, it increases speed." | 225 | However, it increases speed." |
| 226 | :version "21.4" | ||
| 225 | :type 'boolean | 227 | :type 'boolean |
| 226 | :group 'nnimap) | 228 | :group 'nnimap) |
| 227 | 229 | ||
| @@ -230,6 +232,7 @@ However, it increases speed." | |||
| 230 | This increases the speed of closing mailboxes (quiting group) but may | 232 | This increases the speed of closing mailboxes (quiting group) but may |
| 231 | decrease the speed of selecting another mailbox later. Re-selecting | 233 | decrease the speed of selecting another mailbox later. Re-selecting |
| 232 | the same mailbox will be faster though." | 234 | the same mailbox will be faster though." |
| 235 | :version "21.4" | ||
| 233 | :type 'boolean | 236 | :type 'boolean |
| 234 | :group 'nnimap) | 237 | :group 'nnimap) |
| 235 | 238 | ||
| @@ -242,6 +245,7 @@ more carefully for new mail. | |||
| 242 | 245 | ||
| 243 | In summary, the default is O((1-p)*k+p*n) and changing it to nil makes | 246 | In summary, the default is O((1-p)*k+p*n) and changing it to nil makes |
| 244 | it O(n). If p is small, then the default is probably faster." | 247 | it O(n). If p is small, then the default is probably faster." |
| 248 | :version "21.4" | ||
| 245 | :type 'boolean | 249 | :type 'boolean |
| 246 | :group 'nnimap) | 250 | :group 'nnimap) |
| 247 | 251 | ||
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index bebf7ceaf07..c1a23d8ca9b 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el | |||
| @@ -224,6 +224,7 @@ From header will be expired to the group \"nnfolder:Work\"; | |||
| 224 | articles containing the sting \"IMPORTANT\" in the Subject header will | 224 | articles containing the sting \"IMPORTANT\" in the Subject header will |
| 225 | be expired to the group \"nnfolder:IMPORTANT.YYYY.MMM\"; and | 225 | be expired to the group \"nnfolder:IMPORTANT.YYYY.MMM\"; and |
| 226 | everything else will be expired to \"nnfolder:Archive-YYYY\"." | 226 | everything else will be expired to \"nnfolder:Archive-YYYY\"." |
| 227 | :version "21.4" | ||
| 227 | :group 'nnmail-expire | 228 | :group 'nnmail-expire |
| 228 | :type '(repeat (list (choice :tag "Match against" | 229 | :type '(repeat (list (choice :tag "Match against" |
| 229 | (string :tag "Header") | 230 | (string :tag "Header") |
| @@ -558,11 +559,13 @@ parameter. It should return nil, `warn' or `delete'." | |||
| 558 | 559 | ||
| 559 | (defcustom nnmail-mail-splitting-charset nil | 560 | (defcustom nnmail-mail-splitting-charset nil |
| 560 | "Default charset to be used when splitting incoming mail." | 561 | "Default charset to be used when splitting incoming mail." |
| 562 | :version "21.4" | ||
| 561 | :group 'nnmail | 563 | :group 'nnmail |
| 562 | :type 'symbol) | 564 | :type 'symbol) |
| 563 | 565 | ||
| 564 | (defcustom nnmail-mail-splitting-decodes nil | 566 | (defcustom nnmail-mail-splitting-decodes nil |
| 565 | "Whether the nnmail splitting functionality should MIME decode headers." | 567 | "Whether the nnmail splitting functionality should MIME decode headers." |
| 568 | :version "21.4" | ||
| 566 | :group 'nnmail | 569 | :group 'nnmail |
| 567 | :type 'boolean) | 570 | :type 'boolean) |
| 568 | 571 | ||
diff --git a/lisp/gnus/pgg-def.el b/lisp/gnus/pgg-def.el index b5228676475..b8d9cbec807 100644 --- a/lisp/gnus/pgg-def.el +++ b/lisp/gnus/pgg-def.el | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | 50 | ||
| 51 | (defcustom pgg-query-keyserver nil | 51 | (defcustom pgg-query-keyserver nil |
| 52 | "Whether PGG queries keyservers for missing keys when verifying messages." | 52 | "Whether PGG queries keyservers for missing keys when verifying messages." |
| 53 | :version "21.4" | ||
| 53 | :group 'pgg | 54 | :group 'pgg |
| 54 | :type 'boolean) | 55 | :type 'boolean) |
| 55 | 56 | ||
diff --git a/lisp/gnus/sha1.el b/lisp/gnus/sha1.el index c71a135c551..a9b68805d3f 100644 --- a/lisp/gnus/sha1.el +++ b/lisp/gnus/sha1.el | |||
| @@ -82,6 +82,7 @@ It must be a string \(program name\) or list of strings \(name and its args\)." | |||
| 82 | (error)) | 82 | (error)) |
| 83 | "*Use external SHA1 program. | 83 | "*Use external SHA1 program. |
| 84 | If this variable is set to nil, use internal function only." | 84 | If this variable is set to nil, use internal function only." |
| 85 | :version "21.4" | ||
| 85 | :type 'boolean | 86 | :type 'boolean |
| 86 | :group 'sha1) | 87 | :group 'sha1) |
| 87 | 88 | ||
diff --git a/lisp/gnus/smiley.el b/lisp/gnus/smiley.el index d41aea1d4ce..4564db294f1 100644 --- a/lisp/gnus/smiley.el +++ b/lisp/gnus/smiley.el | |||
| @@ -78,6 +78,7 @@ regexp to replace with IMAGE. IMAGE is the name of a PBM file in | |||
| 78 | (push "xpm" types)) | 78 | (push "xpm" types)) |
| 79 | types) | 79 | types) |
| 80 | "*List of suffixes on picon file names to try." | 80 | "*List of suffixes on picon file names to try." |
| 81 | :version "21.4" | ||
| 81 | :type '(repeat string) | 82 | :type '(repeat string) |
| 82 | :group 'smiley) | 83 | :group 'smiley) |
| 83 | 84 | ||
diff --git a/lisp/gnus/smime.el b/lisp/gnus/smime.el index a1f9e902577..954447702bd 100644 --- a/lisp/gnus/smime.el +++ b/lisp/gnus/smime.el | |||
| @@ -150,6 +150,7 @@ certificate." | |||
| 150 | (defcustom smime-CA-file nil | 150 | (defcustom smime-CA-file nil |
| 151 | "*Files containing certificates for CAs you trust. | 151 | "*Files containing certificates for CAs you trust. |
| 152 | File should contain certificates in PEM format." | 152 | File should contain certificates in PEM format." |
| 153 | :version "21.4" | ||
| 153 | :type '(choice (const :tag "none" nil) | 154 | :type '(choice (const :tag "none" nil) |
| 154 | file) | 155 | file) |
| 155 | :group 'smime) | 156 | :group 'smime) |
| @@ -177,6 +178,7 @@ and the files themself should be in PEM format." | |||
| 177 | 178 | ||
| 178 | (defcustom smime-encrypt-cipher "-des3" | 179 | (defcustom smime-encrypt-cipher "-des3" |
| 179 | "*Cipher algorithm used for encryption." | 180 | "*Cipher algorithm used for encryption." |
| 181 | :version "21.4" | ||
| 180 | :type '(choice (const :tag "Triple DES" "-des3") | 182 | :type '(choice (const :tag "Triple DES" "-des3") |
| 181 | (const :tag "DES" "-des") | 183 | (const :tag "DES" "-des") |
| 182 | (const :tag "RC2 40 bits" "-rc2-40") | 184 | (const :tag "RC2 40 bits" "-rc2-40") |
| @@ -208,6 +210,7 @@ At least OpenSSL version 0.9.7 is required for this to work." | |||
| 208 | (defcustom smime-dns-server nil | 210 | (defcustom smime-dns-server nil |
| 209 | "*DNS server to query certificates from. | 211 | "*DNS server to query certificates from. |
| 210 | If nil, use system defaults." | 212 | If nil, use system defaults." |
| 213 | :version "21.4" | ||
| 211 | :type '(choice (const :tag "System defaults") | 214 | :type '(choice (const :tag "System defaults") |
| 212 | string) | 215 | string) |
| 213 | :group 'smime) | 216 | :group 'smime) |
diff --git a/lisp/gnus/uudecode.el b/lisp/gnus/uudecode.el index 086ece1cfd4..c969dfa17a1 100644 --- a/lisp/gnus/uudecode.el +++ b/lisp/gnus/uudecode.el | |||
| @@ -51,6 +51,7 @@ input and write the converted data to its standard output." | |||
| 51 | (defcustom uudecode-use-external | 51 | (defcustom uudecode-use-external |
| 52 | (executable-find uudecode-decoder-program) | 52 | (executable-find uudecode-decoder-program) |
| 53 | "*Use external uudecode program." | 53 | "*Use external uudecode program." |
| 54 | :version "21.4" | ||
| 54 | :group 'gnus-extract | 55 | :group 'gnus-extract |
| 55 | :type 'boolean) | 56 | :type 'boolean) |
| 56 | 57 | ||
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index b7e6741e9d4..5d24964362a 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -1018,7 +1018,8 @@ currently used by buffers." | |||
| 1018 | (ibuffer-awhen (with-current-buffer buf | 1018 | (ibuffer-awhen (with-current-buffer buf |
| 1019 | (or buffer-file-name | 1019 | (or buffer-file-name |
| 1020 | (and (boundp 'dired-directory) | 1020 | (and (boundp 'dired-directory) |
| 1021 | dired-directory))) | 1021 | dired-directory |
| 1022 | (expand-file-name dired-directory)))) | ||
| 1022 | (string-match qualifier it))) | 1023 | (string-match qualifier it))) |
| 1023 | 1024 | ||
| 1024 | ;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext.el") | 1025 | ;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext.el") |
diff --git a/lisp/indent.el b/lisp/indent.el index 2d223b05ad6..3f423adbace 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -164,14 +164,18 @@ interactively or with optional argument FORCE, it will be fixed." | |||
| 164 | (interactive (list (prefix-numeric-value current-prefix-arg) t)) | 164 | (interactive (list (prefix-numeric-value current-prefix-arg) t)) |
| 165 | (beginning-of-line n) | 165 | (beginning-of-line n) |
| 166 | (skip-chars-forward " \t") | 166 | (skip-chars-forward " \t") |
| 167 | (let ((lm (current-left-margin)) | 167 | (if (minibufferp (current-buffer)) |
| 168 | (cc (current-column))) | 168 | (if (save-excursion (beginning-of-line) (bobp)) |
| 169 | (cond ((> cc lm) | 169 | (goto-char (minibuffer-prompt-end)) |
| 170 | (if (> (move-to-column lm force) lm) | 170 | (beginning-of-line)) |
| 171 | ;; If lm is in a tab and we are not forcing, move before tab | 171 | (let ((lm (current-left-margin)) |
| 172 | (backward-char 1))) | 172 | (cc (current-column))) |
| 173 | ((and force (< cc lm)) | 173 | (cond ((> cc lm) |
| 174 | (indent-to-left-margin))))) | 174 | (if (> (move-to-column lm force) lm) |
| 175 | ;; If lm is in a tab and we are not forcing, move before tab | ||
| 176 | (backward-char 1))) | ||
| 177 | ((and force (< cc lm)) | ||
| 178 | (indent-to-left-margin)))))) | ||
| 175 | 179 | ||
| 176 | ;; This used to be the default indent-line-function, | 180 | ;; This used to be the default indent-line-function, |
| 177 | ;; used in Fundamental Mode, Text Mode, etc. | 181 | ;; used in Fundamental Mode, Text Mode, etc. |
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el index 40c43af5823..af7f8b62e03 100644 --- a/lisp/mail/supercite.el +++ b/lisp/mail/supercite.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1997, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1997, 2003 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: 1993 Barry A. Warsaw, Century Computing, Inc. <bwarsaw@cen.com> | 5 | ;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org> |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | ;; Created: February 1993 | 7 | ;; Created: February 1993 |
| 8 | ;; Last Modified: 1993/09/22 18:58:46 | 8 | ;; Last Modified: 1993/09/22 18:58:46 |
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el index 202dac361e7..581a070134d 100644 --- a/lisp/net/net-utils.el +++ b/lisp/net/net-utils.el | |||
| @@ -567,7 +567,7 @@ If your system's ping continues until interrupted, you can try setting | |||
| 567 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 567 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 568 | 568 | ||
| 569 | ;; Full list is available at: | 569 | ;; Full list is available at: |
| 570 | ;; ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers | 570 | ;; http://www.iana.org/assignments/port-numbers |
| 571 | (defvar network-connection-service-alist | 571 | (defvar network-connection-service-alist |
| 572 | (list | 572 | (list |
| 573 | (cons 'echo 7) | 573 | (cons 'echo 7) |
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index c887b144965..99138444f7c 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -1028,7 +1028,7 @@ definition and conveniently use this command." | |||
| 1028 | (save-excursion | 1028 | (save-excursion |
| 1029 | (beginning-of-line) | 1029 | (beginning-of-line) |
| 1030 | (cond | 1030 | (cond |
| 1031 | ((looking-at "^#+ ") | 1031 | ((looking-at "^#+") |
| 1032 | ;; Found a comment. Set the fill prefix, and find the paragraph | 1032 | ;; Found a comment. Set the fill prefix, and find the paragraph |
| 1033 | ;; boundaries by searching for lines that look like comment-only | 1033 | ;; boundaries by searching for lines that look like comment-only |
| 1034 | ;; lines. | 1034 | ;; lines. |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index fea1f35a004..7e6a1806fd7 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -421,6 +421,7 @@ This is buffer-local in every such buffer.") | |||
| 421 | ?^ "_" | 421 | ?^ "_" |
| 422 | ?~ "_" | 422 | ?~ "_" |
| 423 | ?, "_" | 423 | ?, "_" |
| 424 | ?= "." | ||
| 424 | ?< "." | 425 | ?< "." |
| 425 | ?> ".") | 426 | ?> ".") |
| 426 | "Default syntax table for shell mode.") | 427 | "Default syntax table for shell mode.") |
diff --git a/lisp/simple.el b/lisp/simple.el index 899534a899a..1e6e49012e1 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -282,7 +282,8 @@ location." | |||
| 282 | "Major mode not specialized for anything in particular. | 282 | "Major mode not specialized for anything in particular. |
| 283 | Other major modes are defined by comparison with this one." | 283 | Other major modes are defined by comparison with this one." |
| 284 | (interactive) | 284 | (interactive) |
| 285 | (kill-all-local-variables)) | 285 | (kill-all-local-variables) |
| 286 | (run-hooks 'after-change-major-mode-hook)) | ||
| 286 | 287 | ||
| 287 | ;; Making and deleting lines. | 288 | ;; Making and deleting lines. |
| 288 | 289 | ||
diff --git a/lisp/startup.el b/lisp/startup.el index 85e707bcc3f..5e9247d483b 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -810,9 +810,14 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." | |||
| 810 | ((eq system-type 'ms-dos) | 810 | ((eq system-type 'ms-dos) |
| 811 | (concat "~" init-file-user "/_emacs")) | 811 | (concat "~" init-file-user "/_emacs")) |
| 812 | ((eq system-type 'windows-nt) | 812 | ((eq system-type 'windows-nt) |
| 813 | ;; Prefer .emacs on Windows. | ||
| 813 | (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") | 814 | (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") |
| 814 | "~/.emacs" | 815 | "~/.emacs" |
| 815 | "~/_emacs")) | 816 | ;; Also support _emacs for compatibility. |
| 817 | (if (directory-files "~" nil "^_emacs\\(\\.elc?\\)?$") | ||
| 818 | "~/_emacs" | ||
| 819 | ;; But default to .emacs if _emacs does not exist. | ||
| 820 | "~/.emacs"))) | ||
| 816 | ((eq system-type 'vax-vms) | 821 | ((eq system-type 'vax-vms) |
| 817 | "sys$login:.emacs") | 822 | "sys$login:.emacs") |
| 818 | (t | 823 | (t |
diff --git a/lisp/subr.el b/lisp/subr.el index 28e502d1a70..bed5489a1dd 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; subr.el --- basic lisp subroutines for Emacs | 1 | ;;; subr.el --- basic lisp subroutines for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 86, 92, 94, 95, 99, 2000, 2001, 2002, 03, 2004 | 3 | ;; Copyright (C) 1985, 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, 2003, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | ;; Keywords: internal | 7 | ;; Keywords: internal |
| @@ -683,7 +683,7 @@ in the current Emacs session, then this function may return nil." | |||
| 683 | (setq event (car event))) | 683 | (setq event (car event))) |
| 684 | (if (symbolp event) | 684 | (if (symbolp event) |
| 685 | (car (get event 'event-symbol-elements)) | 685 | (car (get event 'event-symbol-elements)) |
| 686 | (let ((base (logand event (1- (lsh 1 18))))) | 686 | (let ((base (logand event (1- ?\A-\^@)))) |
| 687 | (downcase (if (< base 32) (logior base 64) base))))) | 687 | (downcase (if (< base 32) (logior base 64) base))))) |
| 688 | 688 | ||
| 689 | (defsubst mouse-movement-p (object) | 689 | (defsubst mouse-movement-p (object) |
| @@ -1937,9 +1937,15 @@ in BODY." | |||
| 1937 | (make-variable-buffer-local 'delayed-mode-hooks) | 1937 | (make-variable-buffer-local 'delayed-mode-hooks) |
| 1938 | (put 'delay-mode-hooks 'permanent-local t) | 1938 | (put 'delay-mode-hooks 'permanent-local t) |
| 1939 | 1939 | ||
| 1940 | (defvar after-change-major-mode-hook nil | ||
| 1941 | "Mode independent hook run at the end of major mode functions. | ||
| 1942 | This is run just before the mode dependent hooks.") | ||
| 1943 | |||
| 1940 | (defun run-mode-hooks (&rest hooks) | 1944 | (defun run-mode-hooks (&rest hooks) |
| 1941 | "Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS. | 1945 | "Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS. |
| 1942 | Execution is delayed if `delay-mode-hooks' is non-nil. | 1946 | Execution is delayed if `delay-mode-hooks' is non-nil. |
| 1947 | If `delay-mode-hooks' is nil, run `after-change-major-mode-hook' | ||
| 1948 | after running the mode hooks. | ||
| 1943 | Major mode functions should use this." | 1949 | Major mode functions should use this." |
| 1944 | (if delay-mode-hooks | 1950 | (if delay-mode-hooks |
| 1945 | ;; Delaying case. | 1951 | ;; Delaying case. |
| @@ -1948,7 +1954,8 @@ Major mode functions should use this." | |||
| 1948 | ;; Normal case, just run the hook as before plus any delayed hooks. | 1954 | ;; Normal case, just run the hook as before plus any delayed hooks. |
| 1949 | (setq hooks (nconc (nreverse delayed-mode-hooks) hooks)) | 1955 | (setq hooks (nconc (nreverse delayed-mode-hooks) hooks)) |
| 1950 | (setq delayed-mode-hooks nil) | 1956 | (setq delayed-mode-hooks nil) |
| 1951 | (apply 'run-hooks hooks))) | 1957 | (apply 'run-hooks hooks) |
| 1958 | (run-hooks 'after-change-major-mode-hook))) | ||
| 1952 | 1959 | ||
| 1953 | (defmacro delay-mode-hooks (&rest body) | 1960 | (defmacro delay-mode-hooks (&rest body) |
| 1954 | "Execute BODY, but delay any `run-mode-hooks'. | 1961 | "Execute BODY, but delay any `run-mode-hooks'. |
| @@ -2644,5 +2651,5 @@ The properties used on SYMBOL are `composefunc', `sendfunc', | |||
| 2644 | (put symbol 'abortfunc (or abortfunc 'kill-buffer)) | 2651 | (put symbol 'abortfunc (or abortfunc 'kill-buffer)) |
| 2645 | (put symbol 'hookvar (or hookvar 'mail-send-hook))) | 2652 | (put symbol 'hookvar (or hookvar 'mail-send-hook))) |
| 2646 | 2653 | ||
| 2647 | ;;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc | 2654 | ;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc |
| 2648 | ;;; subr.el ends here | 2655 | ;;; subr.el ends here |
diff --git a/lisp/term.el b/lisp/term.el index f8b21fbce88..7991e74c5e9 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -396,7 +396,7 @@ | |||
| 396 | 396 | ||
| 397 | ;; This is passed to the inferior in the EMACS environment variable, | 397 | ;; This is passed to the inferior in the EMACS environment variable, |
| 398 | ;; so it is important to increase it if there are protocol-relevant changes. | 398 | ;; so it is important to increase it if there are protocol-relevant changes. |
| 399 | (defconst term-protocol-version "0.95") | 399 | (defconst term-protocol-version "0.96") |
| 400 | 400 | ||
| 401 | (eval-when-compile | 401 | (eval-when-compile |
| 402 | (require 'ange-ftp)) | 402 | (require 'ange-ftp)) |
| @@ -457,7 +457,7 @@ | |||
| 457 | ;; we want suppressed. | 457 | ;; we want suppressed. |
| 458 | (defvar term-terminal-parameter) | 458 | (defvar term-terminal-parameter) |
| 459 | (defvar term-terminal-previous-parameter) | 459 | (defvar term-terminal-previous-parameter) |
| 460 | (defvar term-current-face 'term-default) | 460 | (defvar term-current-face 'default) |
| 461 | (defvar term-scroll-start 0) ;; Top-most line (inclusive) of scrolling region. | 461 | (defvar term-scroll-start 0) ;; Top-most line (inclusive) of scrolling region. |
| 462 | (defvar term-scroll-end) ;; Number of line (zero-based) after scrolling region. | 462 | (defvar term-scroll-end) ;; Number of line (zero-based) after scrolling region. |
| 463 | (defvar term-pager-count nil) ;; If nil, paging is disabled. | 463 | (defvar term-pager-count nil) ;; If nil, paging is disabled. |
| @@ -1363,11 +1363,14 @@ The main purpose is to get rid of the local keymap." | |||
| 1363 | (defvar term-termcap-format | 1363 | (defvar term-termcap-format |
| 1364 | "%s%s:li#%d:co#%d:cl=\\E[H\\E[J:cd=\\E[J:bs:am:xn:cm=\\E[%%i%%d;%%dH\ | 1364 | "%s%s:li#%d:co#%d:cl=\\E[H\\E[J:cd=\\E[J:bs:am:xn:cm=\\E[%%i%%d;%%dH\ |
| 1365 | :nd=\\E[C:up=\\E[A:ce=\\E[K:ho=\\E[H:pt\ | 1365 | :nd=\\E[C:up=\\E[A:ce=\\E[K:ho=\\E[H:pt\ |
| 1366 | :al=\\E[L:dl=\\E[M:DL=\\E[%%dM:AL=\\E[%%dL:cs=\\E[%%i%%d;%%dr:sf=\\n\ | 1366 | :al=\\E[L:dl=\\E[M:DL=\\E[%%dM:AL=\\E[%%dL:cs=\\E[%%i%%d;%%dr:sf=^J\ |
| 1367 | :te=\\E[2J\\E[?47l\\E8:ti=\\E7\\E[?47h\ | 1367 | :te=\\E[2J\\E[?47l\\E8:ti=\\E7\\E[?47h\ |
| 1368 | :dc=\\E[P:DC=\\E[%%dP:IC=\\E[%%d@:im=\\E[4h:ei=\\E[4l:mi:\ | 1368 | :dc=\\E[P:DC=\\E[%%dP:IC=\\E[%%d@:im=\\E[4h:ei=\\E[4l:mi:\ |
| 1369 | :so=\\E[7m:se=\\E[m:us=\\E[4m:ue=\\E[m:md=\\E[1m:mr=\\E[7m:me=\\E[m\ | 1369 | :so=\\E[7m:se=\\E[m:us=\\E[4m:ue=\\E[m:md=\\E[1m:mr=\\E[7m:me=\\E[m\ |
| 1370 | :UP=\\E[%%dA:DO=\\E[%%dB:LE=\\E[%%dD:RI=\\E[%%dC" | 1370 | :UP=\\E[%%dA:DO=\\E[%%dB:LE=\\E[%%dD:RI=\\E[%%dC\ |
| 1371 | :kl=\\EOD:kd=\\EOB:kr=\\EOC:ku=\\EOA:kN=\\E[6~:kP=\\E[5~:@7=\\E[4~:kh=\\E[1~\ | ||
| 1372 | :mk=\\E[8m:cb=\\E[1K:op=\\E[39;49m:Co#8:pa#64:AB=\\E[4%%dm:AF=\\E[3%%dm:cr=^M\ | ||
| 1373 | :bl=^G:do=^J:le=^H:ta=^I:se=\E[27m:ue=\E24m:" | ||
| 1371 | ;;; : -undefine ic | 1374 | ;;; : -undefine ic |
| 1372 | "termcap capabilities supported") | 1375 | "termcap capabilities supported") |
| 1373 | 1376 | ||
| @@ -1384,10 +1387,9 @@ The main purpose is to get rid of the local keymap." | |||
| 1384 | (nconc | 1387 | (nconc |
| 1385 | (list | 1388 | (list |
| 1386 | (format "TERM=%s" term-term-name) | 1389 | (format "TERM=%s" term-term-name) |
| 1387 | (if (and (boundp 'system-uses-terminfo) system-uses-terminfo) | 1390 | (format "TERMINFO=%s" data-directory) |
| 1388 | (format "TERMINFO=%s" data-directory) | 1391 | (format term-termcap-format "TERMCAP=" |
| 1389 | (format term-termcap-format "TERMCAP=" | 1392 | term-term-name term-height term-width) |
| 1390 | term-term-name term-height term-width)) | ||
| 1391 | ;; Breaks `./configure' of w3 and url which try to run $EMACS. | 1393 | ;; Breaks `./configure' of w3 and url which try to run $EMACS. |
| 1392 | (format "EMACS=%s (term:%s)" emacs-version term-protocol-version) | 1394 | (format "EMACS=%s (term:%s)" emacs-version term-protocol-version) |
| 1393 | (format "LINES=%d" term-height) | 1395 | (format "LINES=%d" term-height) |
| @@ -1407,18 +1409,6 @@ if [ $1 = .. ]; then shift; fi; exec \"$@\"" | |||
| 1407 | ".." | 1409 | ".." |
| 1408 | command switches))) | 1410 | command switches))) |
| 1409 | 1411 | ||
| 1410 | ;;; This should be in Emacs, but it isn't. | ||
| 1411 | (defun term-mem (item list &optional elt=) | ||
| 1412 | "Test to see if ITEM is equal to an item in LIST. | ||
| 1413 | Option comparison function ELT= defaults to equal." | ||
| 1414 | (let ((elt= (or elt= (function equal))) | ||
| 1415 | (done nil)) | ||
| 1416 | (while (and list (not done)) | ||
| 1417 | (if (funcall elt= item (car list)) | ||
| 1418 | (setq done list) | ||
| 1419 | (setq list (cdr list)))) | ||
| 1420 | done)) | ||
| 1421 | |||
| 1422 | 1412 | ||
| 1423 | ;;; Input history processing in a buffer | 1413 | ;;; Input history processing in a buffer |
| 1424 | ;;; =========================================================================== | 1414 | ;;; =========================================================================== |
| @@ -2643,314 +2633,310 @@ See `term-prompt-regexp'." | |||
| 2643 | ;;; It emulates (most of the features of) a VT100/ANSI-style terminal. | 2633 | ;;; It emulates (most of the features of) a VT100/ANSI-style terminal. |
| 2644 | 2634 | ||
| 2645 | (defun term-emulate-terminal (proc str) | 2635 | (defun term-emulate-terminal (proc str) |
| 2646 | (let* ((previous-buffer (current-buffer)) | 2636 | (with-current-buffer (process-buffer proc) |
| 2647 | (i 0) char funny count save-point save-marker old-point temp win | 2637 | (let* ((i 0) char funny count save-point save-marker old-point temp win |
| 2648 | (selected (selected-window)) | 2638 | (buffer-undo-list t) |
| 2649 | last-win | 2639 | (selected (selected-window)) |
| 2650 | (str-length (length str))) | 2640 | last-win |
| 2651 | (unwind-protect | 2641 | (str-length (length str))) |
| 2652 | (progn | 2642 | (save-selected-window |
| 2653 | (set-buffer (process-buffer proc)) | 2643 | |
| 2654 | 2644 | ;; Let's handle the messages. -mm | |
| 2655 | ;;; Let's handle the messages. -mm | 2645 | |
| 2656 | 2646 | (setq str (term-handle-ansi-terminal-messages str)) | |
| 2657 | (setq str (term-handle-ansi-terminal-messages str)) | 2647 | (setq str-length (length str)) |
| 2658 | (setq str-length (length str)) | 2648 | |
| 2659 | 2649 | (if (marker-buffer term-pending-delete-marker) | |
| 2660 | (if (marker-buffer term-pending-delete-marker) | 2650 | (progn |
| 2661 | (progn | 2651 | ;; Delete text following term-pending-delete-marker. |
| 2662 | ;; Delete text following term-pending-delete-marker. | 2652 | (delete-region term-pending-delete-marker (process-mark proc)) |
| 2663 | (delete-region term-pending-delete-marker (process-mark proc)) | 2653 | (set-marker term-pending-delete-marker nil))) |
| 2664 | (set-marker term-pending-delete-marker nil))) | 2654 | |
| 2665 | 2655 | (if (eq (window-buffer) (current-buffer)) | |
| 2666 | (if (eq (window-buffer) (current-buffer)) | 2656 | (progn |
| 2667 | (progn | 2657 | (setq term-vertical-motion (symbol-function 'vertical-motion)) |
| 2668 | (setq term-vertical-motion (symbol-function 'vertical-motion)) | 2658 | (term-check-size proc)) |
| 2669 | (term-check-size proc)) | 2659 | (setq term-vertical-motion |
| 2670 | (setq term-vertical-motion | 2660 | (symbol-function 'buffer-vertical-motion))) |
| 2671 | (symbol-function 'buffer-vertical-motion))) | 2661 | |
| 2672 | 2662 | (setq save-marker (copy-marker (process-mark proc))) | |
| 2673 | (setq save-marker (copy-marker (process-mark proc))) | 2663 | |
| 2674 | 2664 | (if (/= (point) (process-mark proc)) | |
| 2675 | (if (/= (point) (process-mark proc)) | 2665 | (progn (setq save-point (point-marker)) |
| 2676 | (progn (setq save-point (point-marker)) | 2666 | (goto-char (process-mark proc)))) |
| 2677 | (goto-char (process-mark proc)))) | 2667 | |
| 2678 | 2668 | (save-restriction | |
| 2679 | (save-restriction | 2669 | ;; If the buffer is in line mode, and there is a partial |
| 2680 | ;; If the buffer is in line mode, and there is a partial | 2670 | ;; input line, save the line (by narrowing to leave it |
| 2681 | ;; input line, save the line (by narrowing to leave it | 2671 | ;; outside the restriction ) until we're done with output. |
| 2682 | ;; outside the restriction ) until we're done with output. | 2672 | (if (and (> (point-max) (process-mark proc)) |
| 2683 | (if (and (> (point-max) (process-mark proc)) | 2673 | (term-in-line-mode)) |
| 2684 | (term-in-line-mode)) | 2674 | (narrow-to-region (point-min) (process-mark proc))) |
| 2685 | (narrow-to-region (point-min) (process-mark proc))) | 2675 | |
| 2686 | 2676 | (if term-log-buffer | |
| 2687 | (if term-log-buffer | 2677 | (princ str term-log-buffer)) |
| 2688 | (princ str term-log-buffer)) | 2678 | (cond ((eq term-terminal-state 4) ;; Have saved pending output. |
| 2689 | (cond ((eq term-terminal-state 4) ;; Have saved pending output. | 2679 | (setq str (concat term-terminal-parameter str)) |
| 2690 | (setq str (concat term-terminal-parameter str)) | 2680 | (setq term-terminal-parameter nil) |
| 2691 | (setq term-terminal-parameter nil) | 2681 | (setq str-length (length str)) |
| 2692 | (setq str-length (length str)) | 2682 | (setq term-terminal-state 0))) |
| 2693 | (setq term-terminal-state 0))) | 2683 | |
| 2694 | 2684 | (while (< i str-length) | |
| 2695 | (while (< i str-length) | 2685 | (setq char (aref str i)) |
| 2696 | (setq char (aref str i)) | 2686 | (cond ((< term-terminal-state 2) |
| 2697 | (cond ((< term-terminal-state 2) | 2687 | ;; Look for prefix of regular chars |
| 2698 | ;; Look for prefix of regular chars | 2688 | (setq funny |
| 2699 | (setq funny | 2689 | (string-match "[\r\n\000\007\033\t\b\032\016\017]" |
| 2700 | (string-match "[\r\n\000\007\033\t\b\032\016\017]" | 2690 | str i)) |
| 2701 | str i)) | 2691 | (if (not funny) (setq funny str-length)) |
| 2702 | (if (not funny) (setq funny str-length)) | 2692 | (cond ((> funny i) |
| 2703 | (cond ((> funny i) | 2693 | (cond ((eq term-terminal-state 1) |
| 2704 | (cond ((eq term-terminal-state 1) | 2694 | (term-move-columns 1) |
| 2705 | (term-move-columns 1) | 2695 | (setq term-terminal-state 0))) |
| 2706 | (setq term-terminal-state 0))) | 2696 | (setq count (- funny i)) |
| 2707 | (setq count (- funny i)) | 2697 | (setq temp (- (+ (term-horizontal-column) count) |
| 2708 | (setq temp (- (+ (term-horizontal-column) count) | 2698 | term-width)) |
| 2709 | term-width)) | 2699 | (cond ((<= temp 0)) ;; All count chars fit in line. |
| 2710 | (cond ((<= temp 0)) ;; All count chars fit in line. | 2700 | ((> count temp) ;; Some chars fit. |
| 2711 | ((> count temp) ;; Some chars fit. | 2701 | ;; This iteration, handle only what fits. |
| 2712 | ;; This iteration, handle only what fits. | 2702 | (setq count (- count temp)) |
| 2713 | (setq count (- count temp)) | 2703 | (setq funny (+ count i))) |
| 2714 | (setq funny (+ count i))) | 2704 | ((or (not (or term-pager-count |
| 2715 | ((or (not (or term-pager-count | 2705 | term-scroll-with-delete)) |
| 2716 | term-scroll-with-delete)) | 2706 | (> (term-handle-scroll 1) 0)) |
| 2717 | (> (term-handle-scroll 1) 0)) | 2707 | (term-adjust-current-row-cache 1) |
| 2718 | (term-adjust-current-row-cache 1) | 2708 | (setq count (min count term-width)) |
| 2719 | (setq count (min count term-width)) | 2709 | (setq funny (+ count i)) |
| 2720 | (setq funny (+ count i)) | 2710 | (setq term-start-line-column |
| 2721 | (setq term-start-line-column | 2711 | term-current-column)) |
| 2722 | term-current-column)) | 2712 | (t ;; Doing PAGER processing. |
| 2723 | (t ;; Doing PAGER processing. | 2713 | (setq count 0 funny i) |
| 2724 | (setq count 0 funny i) | 2714 | (setq term-current-column nil) |
| 2725 | (setq term-current-column nil) | 2715 | (setq term-start-line-column nil))) |
| 2726 | (setq term-start-line-column nil))) | 2716 | (setq old-point (point)) |
| 2727 | (setq old-point (point)) | 2717 | |
| 2728 | 2718 | ;; Insert a string, check how many columns | |
| 2729 | ;; Insert a string, check how many columns | 2719 | ;; we moved, then delete that many columns |
| 2730 | ;; we moved, then delete that many columns | 2720 | ;; following point if not eob nor insert-mode. |
| 2731 | ;; following point if not eob nor insert-mode. | 2721 | (let ((old-column (current-column)) |
| 2732 | (let ((old-column (current-column)) | 2722 | columns pos) |
| 2733 | columns pos) | 2723 | (insert (substring str i funny)) |
| 2734 | (insert (substring str i funny)) | 2724 | (setq term-current-column (current-column) |
| 2735 | (setq term-current-column (current-column) | 2725 | columns (- term-current-column old-column)) |
| 2736 | columns (- term-current-column old-column)) | 2726 | (when (not (or (eobp) term-insert-mode)) |
| 2737 | (when (not (or (eobp) term-insert-mode)) | 2727 | (setq pos (point)) |
| 2738 | (setq pos (point)) | 2728 | (term-move-columns columns) |
| 2739 | (term-move-columns columns) | 2729 | (delete-region pos (point)))) |
| 2740 | (delete-region pos (point)))) | 2730 | (setq term-current-column nil) |
| 2741 | (setq term-current-column nil) | 2731 | |
| 2742 | 2732 | (put-text-property old-point (point) | |
| 2743 | (put-text-property old-point (point) | 2733 | 'face term-current-face) |
| 2744 | 'face term-current-face) | 2734 | ;; If the last char was written in last column, |
| 2745 | ;; If the last char was written in last column, | 2735 | ;; back up one column, but remember we did so. |
| 2746 | ;; back up one column, but remember we did so. | 2736 | ;; Thus we emulate xterm/vt100-style line-wrapping. |
| 2747 | ;; Thus we emulate xterm/vt100-style line-wrapping. | 2737 | (cond ((eq temp 0) |
| 2748 | (cond ((eq temp 0) | 2738 | (term-move-columns -1) |
| 2749 | (term-move-columns -1) | 2739 | (setq term-terminal-state 1))) |
| 2750 | (setq term-terminal-state 1))) | 2740 | (setq i (1- funny))) |
| 2751 | (setq i (1- funny))) | 2741 | ((and (setq term-terminal-state 0) |
| 2752 | ((and (setq term-terminal-state 0) | 2742 | (eq char ?\^I)) ; TAB |
| 2753 | (eq char ?\^I)) ; TAB | 2743 | ;; FIXME: Does not handle line wrap! |
| 2754 | ;; FIXME: Does not handle line wrap! | 2744 | (setq count (term-current-column)) |
| 2755 | (setq count (term-current-column)) | 2745 | (setq count (+ count 8 (- (mod count 8)))) |
| 2756 | (setq count (+ count 8 (- (mod count 8)))) | 2746 | (if (< (move-to-column count nil) count) |
| 2757 | (if (< (move-to-column count nil) count) | 2747 | (term-insert-char char 1)) |
| 2758 | (term-insert-char char 1)) | 2748 | (setq term-current-column count)) |
| 2759 | (setq term-current-column count)) | 2749 | ((eq char ?\r) |
| 2760 | ((eq char ?\r) | 2750 | ;; Optimize CRLF at end of buffer: |
| 2761 | ;; Optimize CRLF at end of buffer: | 2751 | (cond ((and (< (setq temp (1+ i)) str-length) |
| 2762 | (cond ((and (< (setq temp (1+ i)) str-length) | 2752 | (eq (aref str temp) ?\n) |
| 2763 | (eq (aref str temp) ?\n) | 2753 | (= (point) (point-max)) |
| 2764 | (= (point) (point-max)) | 2754 | (not (or term-pager-count |
| 2765 | (not (or term-pager-count | 2755 | term-kill-echo-list |
| 2766 | term-kill-echo-list | 2756 | term-scroll-with-delete))) |
| 2767 | term-scroll-with-delete))) | 2757 | (insert ?\n) |
| 2768 | (insert ?\n) | 2758 | (term-adjust-current-row-cache 1) |
| 2769 | (term-adjust-current-row-cache 1) | 2759 | (setq term-start-line-column 0) |
| 2770 | (setq term-start-line-column 0) | 2760 | (setq term-current-column 0) |
| 2771 | (setq term-current-column 0) | 2761 | (setq i temp)) |
| 2772 | (setq i temp)) | 2762 | (t ;; Not followed by LF or can't optimize: |
| 2773 | (t ;; Not followed by LF or can't optimize: | 2763 | (term-vertical-motion 0) |
| 2774 | (term-vertical-motion 0) | 2764 | (setq term-current-column term-start-line-column)))) |
| 2775 | (setq term-current-column term-start-line-column)))) | 2765 | ((eq char ?\n) |
| 2776 | ((eq char ?\n) | 2766 | (if (not (and term-kill-echo-list |
| 2777 | (if (not (and term-kill-echo-list | 2767 | (term-check-kill-echo-list))) |
| 2778 | (term-check-kill-echo-list))) | 2768 | (term-down 1 t))) |
| 2779 | (term-down 1 t))) | 2769 | ((eq char ?\b) |
| 2780 | ((eq char ?\b) | 2770 | (term-move-columns -1)) |
| 2781 | (term-move-columns -1)) | 2771 | ((eq char ?\033) ; Escape |
| 2782 | ((eq char ?\033) ; Escape | 2772 | (setq term-terminal-state 2)) |
| 2783 | (setq term-terminal-state 2)) | 2773 | ((eq char 0)) ; NUL: Do nothing |
| 2784 | ((eq char 0)) ; NUL: Do nothing | 2774 | ((eq char ?\016)) ; Shift Out - ignored |
| 2785 | ((eq char ?\016)) ; Shift Out - ignored | 2775 | ((eq char ?\017)) ; Shift In - ignored |
| 2786 | ((eq char ?\017)) ; Shift In - ignored | 2776 | ((eq char ?\^G) |
| 2787 | ((eq char ?\^G) | 2777 | (beep t)) ; Bell |
| 2788 | (beep t)) ; Bell | 2778 | ((eq char ?\032) |
| 2789 | ((eq char ?\032) | 2779 | (let ((end (string-match "\r?$" str i))) |
| 2790 | (let ((end (string-match "\r?$" str i))) | 2780 | (if end |
| 2791 | (if end | 2781 | (funcall term-command-hook |
| 2792 | (funcall term-command-hook | 2782 | (prog1 (substring str (1+ i) end) |
| 2793 | (prog1 (substring str (1+ i) end) | 2783 | (setq i (match-end 0)))) |
| 2794 | (setq i (match-end 0)))) | 2784 | (setq term-terminal-parameter |
| 2795 | (setq term-terminal-parameter | 2785 | (substring str i)) |
| 2796 | (substring str i)) | 2786 | (setq term-terminal-state 4) |
| 2797 | (setq term-terminal-state 4) | 2787 | (setq i str-length)))) |
| 2798 | (setq i str-length)))) | 2788 | (t ; insert char FIXME: Should never happen |
| 2799 | (t ; insert char FIXME: Should never happen | 2789 | (term-move-columns 1) |
| 2800 | (term-move-columns 1) | 2790 | (backward-delete-char 1) |
| 2801 | (backward-delete-char 1) | 2791 | (insert char)))) |
| 2802 | (insert char)))) | 2792 | ((eq term-terminal-state 2) ; Seen Esc |
| 2803 | ((eq term-terminal-state 2) ; Seen Esc | 2793 | (cond ((eq char ?\133) ;; ?\133 = ?[ |
| 2804 | (cond ((eq char ?\133) ;; ?\133 = ?[ | ||
| 2805 | 2794 | ||
| 2806 | ;;; Some modifications to cope with multiple settings like ^[[01;32;43m -mm | 2795 | ;;; Some modifications to cope with multiple settings like ^[[01;32;43m -mm |
| 2807 | ;;; Note that now the init value of term-terminal-previous-parameter has | 2796 | ;;; Note that now the init value of term-terminal-previous-parameter has |
| 2808 | ;;; been changed to -1 | 2797 | ;;; been changed to -1 |
| 2809 | 2798 | ||
| 2810 | (make-local-variable 'term-terminal-parameter) | 2799 | (make-local-variable 'term-terminal-parameter) |
| 2811 | (make-local-variable 'term-terminal-previous-parameter) | 2800 | (make-local-variable 'term-terminal-previous-parameter) |
| 2812 | (make-local-variable 'term-terminal-previous-parameter-2) | 2801 | (make-local-variable 'term-terminal-previous-parameter-2) |
| 2813 | (make-local-variable 'term-terminal-previous-parameter-3) | 2802 | (make-local-variable 'term-terminal-previous-parameter-3) |
| 2814 | (make-local-variable 'term-terminal-previous-parameter-4) | 2803 | (make-local-variable 'term-terminal-previous-parameter-4) |
| 2815 | (make-local-variable 'term-terminal-more-parameters) | 2804 | (make-local-variable 'term-terminal-more-parameters) |
| 2816 | (setq term-terminal-parameter 0) | 2805 | (setq term-terminal-parameter 0) |
| 2817 | (setq term-terminal-previous-parameter -1) | 2806 | (setq term-terminal-previous-parameter -1) |
| 2818 | (setq term-terminal-previous-parameter-2 -1) | 2807 | (setq term-terminal-previous-parameter-2 -1) |
| 2819 | (setq term-terminal-previous-parameter-3 -1) | 2808 | (setq term-terminal-previous-parameter-3 -1) |
| 2820 | (setq term-terminal-previous-parameter-4 -1) | 2809 | (setq term-terminal-previous-parameter-4 -1) |
| 2821 | (setq term-terminal-more-parameters 0) | 2810 | (setq term-terminal-more-parameters 0) |
| 2822 | (setq term-terminal-state 3)) | 2811 | (setq term-terminal-state 3)) |
| 2823 | ((eq char ?D) ;; scroll forward | 2812 | ((eq char ?D) ;; scroll forward |
| 2824 | (term-handle-deferred-scroll) | 2813 | (term-handle-deferred-scroll) |
| 2825 | (term-down 1 t) | 2814 | (term-down 1 t) |
| 2826 | (setq term-terminal-state 0)) | 2815 | (setq term-terminal-state 0)) |
| 2827 | ((eq char ?M) ;; scroll reversed | 2816 | ((eq char ?M) ;; scroll reversed |
| 2828 | (term-insert-lines 1) | 2817 | (term-insert-lines 1) |
| 2829 | (setq term-terminal-state 0)) | 2818 | (setq term-terminal-state 0)) |
| 2830 | ((eq char ?7) ;; Save cursor | 2819 | ((eq char ?7) ;; Save cursor |
| 2831 | (term-handle-deferred-scroll) | 2820 | (term-handle-deferred-scroll) |
| 2832 | (setq term-saved-cursor | 2821 | (setq term-saved-cursor |
| 2833 | (cons (term-current-row) | 2822 | (cons (term-current-row) |
| 2834 | (term-horizontal-column))) | 2823 | (term-horizontal-column))) |
| 2835 | (setq term-terminal-state 0)) | 2824 | (setq term-terminal-state 0)) |
| 2836 | ((eq char ?8) ;; Restore cursor | 2825 | ((eq char ?8) ;; Restore cursor |
| 2837 | (if term-saved-cursor | 2826 | (if term-saved-cursor |
| 2838 | (term-goto (car term-saved-cursor) | 2827 | (term-goto (car term-saved-cursor) |
| 2839 | (cdr term-saved-cursor))) | 2828 | (cdr term-saved-cursor))) |
| 2840 | (setq term-terminal-state 0)) | 2829 | (setq term-terminal-state 0)) |
| 2841 | ((setq term-terminal-state 0)))) | 2830 | ((setq term-terminal-state 0)))) |
| 2842 | ((eq term-terminal-state 3) ; Seen Esc [ | 2831 | ((eq term-terminal-state 3) ; Seen Esc [ |
| 2843 | (cond ((and (>= char ?0) (<= char ?9)) | 2832 | (cond ((and (>= char ?0) (<= char ?9)) |
| 2844 | (setq term-terminal-parameter | 2833 | (setq term-terminal-parameter |
| 2845 | (+ (* 10 term-terminal-parameter) (- char ?0)))) | 2834 | (+ (* 10 term-terminal-parameter) (- char ?0)))) |
| 2846 | ((eq char ?\;) | 2835 | ((eq char ?\;) |
| 2847 | ;;; Some modifications to cope with multiple settings like ^[[01;32;43m -mm | 2836 | ;;; Some modifications to cope with multiple settings like ^[[01;32;43m -mm |
| 2848 | (setq term-terminal-more-parameters 1) | 2837 | (setq term-terminal-more-parameters 1) |
| 2849 | (setq term-terminal-previous-parameter-4 | 2838 | (setq term-terminal-previous-parameter-4 |
| 2850 | term-terminal-previous-parameter-3) | 2839 | term-terminal-previous-parameter-3) |
| 2851 | (setq term-terminal-previous-parameter-3 | 2840 | (setq term-terminal-previous-parameter-3 |
| 2852 | term-terminal-previous-parameter-2) | 2841 | term-terminal-previous-parameter-2) |
| 2853 | (setq term-terminal-previous-parameter-2 | 2842 | (setq term-terminal-previous-parameter-2 |
| 2854 | term-terminal-previous-parameter) | 2843 | term-terminal-previous-parameter) |
| 2855 | (setq term-terminal-previous-parameter | 2844 | (setq term-terminal-previous-parameter |
| 2856 | term-terminal-parameter) | 2845 | term-terminal-parameter) |
| 2857 | (setq term-terminal-parameter 0)) | 2846 | (setq term-terminal-parameter 0)) |
| 2858 | ((eq char ??)) ; Ignore ? | 2847 | ((eq char ??)) ; Ignore ? |
| 2859 | (t | 2848 | (t |
| 2860 | (term-handle-ansi-escape proc char) | 2849 | (term-handle-ansi-escape proc char) |
| 2861 | (setq term-terminal-more-parameters 0) | 2850 | (setq term-terminal-more-parameters 0) |
| 2862 | (setq term-terminal-previous-parameter-4 -1) | 2851 | (setq term-terminal-previous-parameter-4 -1) |
| 2863 | (setq term-terminal-previous-parameter-3 -1) | 2852 | (setq term-terminal-previous-parameter-3 -1) |
| 2864 | (setq term-terminal-previous-parameter-2 -1) | 2853 | (setq term-terminal-previous-parameter-2 -1) |
| 2865 | (setq term-terminal-previous-parameter -1) | 2854 | (setq term-terminal-previous-parameter -1) |
| 2866 | (setq term-terminal-state 0))))) | 2855 | (setq term-terminal-state 0))))) |
| 2867 | (if (term-handling-pager) | 2856 | (if (term-handling-pager) |
| 2868 | ;; Finish stuff to get ready to handle PAGER. | 2857 | ;; Finish stuff to get ready to handle PAGER. |
| 2869 | (progn | 2858 | (progn |
| 2870 | (if (> (% (current-column) term-width) 0) | 2859 | (if (> (% (current-column) term-width) 0) |
| 2860 | (setq term-terminal-parameter | ||
| 2861 | (substring str i)) | ||
| 2862 | ;; We're at column 0. Goto end of buffer; to compensate, | ||
| 2863 | ;; prepend a ?\r for later. This looks more consistent. | ||
| 2864 | (if (zerop i) | ||
| 2871 | (setq term-terminal-parameter | 2865 | (setq term-terminal-parameter |
| 2872 | (substring str i)) | 2866 | (concat "\r" (substring str i))) |
| 2873 | ;; We're at column 0. Goto end of buffer; to compensate, | 2867 | (setq term-terminal-parameter (substring str (1- i))) |
| 2874 | ;; prepend a ?\r for later. This looks more consistent. | 2868 | (aset term-terminal-parameter 0 ?\r)) |
| 2875 | (if (zerop i) | 2869 | (goto-char (point-max))) |
| 2876 | (setq term-terminal-parameter | 2870 | (setq term-terminal-state 4) |
| 2877 | (concat "\r" (substring str i))) | 2871 | (make-local-variable 'term-pager-old-filter) |
| 2878 | (setq term-terminal-parameter (substring str (1- i))) | 2872 | (setq term-pager-old-filter (process-filter proc)) |
| 2879 | (aset term-terminal-parameter 0 ?\r)) | 2873 | (set-process-filter proc term-pager-filter) |
| 2880 | (goto-char (point-max))) | 2874 | (setq i str-length))) |
| 2881 | (setq term-terminal-state 4) | 2875 | (setq i (1+ i)))) |
| 2882 | (make-local-variable 'term-pager-old-filter) | 2876 | |
| 2883 | (setq term-pager-old-filter (process-filter proc)) | 2877 | (if (>= (term-current-row) term-height) |
| 2884 | (set-process-filter proc term-pager-filter) | 2878 | (term-handle-deferred-scroll)) |
| 2885 | (setq i str-length))) | 2879 | |
| 2886 | (setq i (1+ i)))) | 2880 | (set-marker (process-mark proc) (point)) |
| 2887 | 2881 | (if save-point | |
| 2888 | (if (>= (term-current-row) term-height) | 2882 | (progn (goto-char save-point) |
| 2889 | (term-handle-deferred-scroll)) | 2883 | (set-marker save-point nil))) |
| 2890 | 2884 | ||
| 2891 | (set-marker (process-mark proc) (point)) | 2885 | ;; Check for a pending filename-and-line number to display. |
| 2892 | (if save-point | 2886 | ;; We do this before scrolling, because we might create a new window. |
| 2893 | (progn (goto-char save-point) | 2887 | (if (and term-pending-frame |
| 2894 | (set-marker save-point nil))) | 2888 | (eq (window-buffer selected) (current-buffer))) |
| 2895 | 2889 | (progn (term-display-line (car term-pending-frame) | |
| 2896 | ;; Check for a pending filename-and-line number to display. | 2890 | (cdr term-pending-frame)) |
| 2897 | ;; We do this before scrolling, because we might create a new window. | 2891 | (setq term-pending-frame nil) |
| 2898 | (if (and term-pending-frame | 2892 | ;; We have created a new window, so check the window size. |
| 2899 | (eq (window-buffer selected) (current-buffer))) | 2893 | (term-check-size proc))) |
| 2900 | (progn (term-display-line (car term-pending-frame) | 2894 | |
| 2901 | (cdr term-pending-frame)) | 2895 | ;; Scroll each window displaying the buffer but (by default) |
| 2902 | (setq term-pending-frame nil) | 2896 | ;; only if the point matches the process-mark we started with. |
| 2903 | ;; We have created a new window, so check the window size. | 2897 | (setq win selected) |
| 2904 | (term-check-size proc))) | 2898 | ;; Avoid infinite loop in strange case where minibuffer window |
| 2905 | 2899 | ;; is selected but not active. | |
| 2906 | ;; Scroll each window displaying the buffer but (by default) | 2900 | (while (window-minibuffer-p win) |
| 2907 | ;; only if the point matches the process-mark we started with. | 2901 | (setq win (next-window win nil t))) |
| 2908 | (setq win selected) | 2902 | (setq last-win win) |
| 2909 | ;; Avoid infinite loop in strange case where minibuffer window | 2903 | (while (progn |
| 2910 | ;; is selected but not active. | 2904 | (setq win (next-window win nil t)) |
| 2911 | (while (window-minibuffer-p win) | 2905 | (if (eq (window-buffer win) (process-buffer proc)) |
| 2912 | (setq win (next-window win nil t))) | 2906 | (let ((scroll term-scroll-to-bottom-on-output)) |
| 2913 | (setq last-win win) | 2907 | (select-window win) |
| 2914 | (while (progn | 2908 | (if (or (= (point) save-marker) |
| 2915 | (setq win (next-window win nil t)) | 2909 | (eq scroll t) (eq scroll 'all) |
| 2916 | (if (eq (window-buffer win) (process-buffer proc)) | 2910 | ;; Maybe user wants point to jump to the end. |
| 2917 | (let ((scroll term-scroll-to-bottom-on-output)) | 2911 | (and (eq selected win) |
| 2918 | (select-window win) | 2912 | (or (eq scroll 'this) (not save-point))) |
| 2919 | (if (or (= (point) save-marker) | 2913 | (and (eq scroll 'others) |
| 2920 | (eq scroll t) (eq scroll 'all) | 2914 | (not (eq selected win)))) |
| 2921 | ;; Maybe user wants point to jump to the end. | 2915 | (progn |
| 2922 | (and (eq selected win) | 2916 | (goto-char term-home-marker) |
| 2923 | (or (eq scroll 'this) (not save-point))) | 2917 | (recenter 0) |
| 2924 | (and (eq scroll 'others) | 2918 | (goto-char (process-mark proc)) |
| 2925 | (not (eq selected win)))) | 2919 | (if (not (pos-visible-in-window-p (point) win)) |
| 2926 | (progn | 2920 | (recenter -1)))) |
| 2927 | (goto-char term-home-marker) | 2921 | ;; Optionally scroll so that the text |
| 2928 | (recenter 0) | 2922 | ;; ends at the bottom of the window. |
| 2929 | (goto-char (process-mark proc)) | 2923 | (if (and term-scroll-show-maximum-output |
| 2930 | (if (not (pos-visible-in-window-p (point) win)) | 2924 | (>= (point) (process-mark proc))) |
| 2931 | (recenter -1)))) | 2925 | (save-excursion |
| 2932 | ;; Optionally scroll so that the text | 2926 | (goto-char (point-max)) |
| 2933 | ;; ends at the bottom of the window. | 2927 | (recenter -1))))) |
| 2934 | (if (and term-scroll-show-maximum-output | 2928 | (not (eq win last-win)))) |
| 2935 | (>= (point) (process-mark proc))) | ||
| 2936 | (save-excursion | ||
| 2937 | (goto-char (point-max)) | ||
| 2938 | (recenter -1))))) | ||
| 2939 | (not (eq win last-win)))) | ||
| 2940 | 2929 | ||
| 2941 | ;;; Stolen from comint.el and adapted -mm | 2930 | ;;; Stolen from comint.el and adapted -mm |
| 2942 | (if (> term-buffer-maximum-size 0) | 2931 | (if (> term-buffer-maximum-size 0) |
| 2943 | (save-excursion | 2932 | (save-excursion |
| 2944 | (goto-char (process-mark (get-buffer-process (current-buffer)))) | 2933 | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| 2945 | (forward-line (- term-buffer-maximum-size)) | 2934 | (forward-line (- term-buffer-maximum-size)) |
| 2946 | (beginning-of-line) | 2935 | (beginning-of-line) |
| 2947 | (delete-region (point-min) (point)))) | 2936 | (delete-region (point-min) (point)))) |
| 2948 | ;;; | 2937 | ;;; |
| 2949 | 2938 | ||
| 2950 | (set-marker save-marker nil)) | 2939 | (set-marker save-marker nil))))) |
| 2951 | ;; unwind-protect cleanup-forms follow: | ||
| 2952 | (set-buffer previous-buffer) | ||
| 2953 | (select-window selected)))) | ||
| 2954 | 2940 | ||
| 2955 | (defun term-handle-deferred-scroll () | 2941 | (defun term-handle-deferred-scroll () |
| 2956 | (let ((count (- (term-current-row) term-height))) | 2942 | (let ((count (- (term-current-row) term-height))) |
| @@ -2988,6 +2974,14 @@ See `term-prompt-regexp'." | |||
| 2988 | ((eq parameter 8) | 2974 | ((eq parameter 8) |
| 2989 | (setq term-ansi-current-invisible 1)) | 2975 | (setq term-ansi-current-invisible 1)) |
| 2990 | 2976 | ||
| 2977 | ;;; Reset reverse (i.e. terminfo rmso) | ||
| 2978 | ((eq parameter 24) | ||
| 2979 | (setq term-ansi-current-reverse 0)) | ||
| 2980 | |||
| 2981 | ;;; Reset underline (i.e. terminfo rmul) | ||
| 2982 | ((eq parameter 27) | ||
| 2983 | (setq term-ansi-current-underline 0)) | ||
| 2984 | |||
| 2991 | ;;; Foreground | 2985 | ;;; Foreground |
| 2992 | ((and (>= parameter 30) (<= parameter 37)) | 2986 | ((and (>= parameter 30) (<= parameter 37)) |
| 2993 | (setq term-ansi-current-color (- parameter 29))) | 2987 | (setq term-ansi-current-color (- parameter 29))) |
| @@ -3042,9 +3036,13 @@ See `term-prompt-regexp'." | |||
| 3042 | ) | 3036 | ) |
| 3043 | (setq term-current-face | 3037 | (setq term-current-face |
| 3044 | (list :background | 3038 | (list :background |
| 3045 | (elt ansi-term-color-vector term-ansi-current-color) | 3039 | (if (= term-ansi-current-color 0) |
| 3040 | (face-foreground 'default) | ||
| 3041 | (elt ansi-term-color-vector term-ansi-current-color)) | ||
| 3046 | :foreground | 3042 | :foreground |
| 3047 | (elt ansi-term-color-vector term-ansi-current-bg-color))) | 3043 | (if (= term-ansi-current-bg-color 0) |
| 3044 | (face-background 'default) | ||
| 3045 | (elt ansi-term-color-vector term-ansi-current-bg-color)))) | ||
| 3048 | (if (= term-ansi-current-bold 1) | 3046 | (if (= term-ansi-current-bold 1) |
| 3049 | (setq term-current-face | 3047 | (setq term-current-face |
| 3050 | (append '(:weight bold) term-current-face))) | 3048 | (append '(:weight bold) term-current-face))) |
| @@ -3501,7 +3499,7 @@ all pending output has been dealt with.")) | |||
| 3501 | (if (and check-for-scroll (or term-scroll-with-delete term-pager-count)) | 3499 | (if (and check-for-scroll (or term-scroll-with-delete term-pager-count)) |
| 3502 | (setq down (term-handle-scroll down))) | 3500 | (setq down (term-handle-scroll down))) |
| 3503 | (term-adjust-current-row-cache down) | 3501 | (term-adjust-current-row-cache down) |
| 3504 | (if (/= (point) (point-max)) | 3502 | (if (or (/= (point) (point-max)) (< down 0)) |
| 3505 | (setq down (- down (term-vertical-motion down)))) | 3503 | (setq down (- down (term-vertical-motion down)))) |
| 3506 | ;; Extend buffer with extra blank lines if needed. | 3504 | ;; Extend buffer with extra blank lines if needed. |
| 3507 | (cond ((> down 0) | 3505 | (cond ((> down 0) |
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index 531fe7d95df..f25bec2d841 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; enriched.el --- read and save files in text/enriched format | 1 | ;;; enriched.el --- read and save files in text/enriched format |
| 2 | 2 | ||
| 3 | ;; Copyright (c) 1994, 1995, 1996, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (c) 1994, 1995, 1996, 2002, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Boris Goldowsky <boris@gnu.org> | 5 | ;; Author: Boris Goldowsky <boris@gnu.org> |
| 6 | ;; Keywords: wp, faces | 6 | ;; Keywords: wp, faces |
| @@ -141,7 +141,6 @@ Any property that is neither on this list nor dealt with by | |||
| 141 | 141 | ||
| 142 | ;;; Internal variables | 142 | ;;; Internal variables |
| 143 | 143 | ||
| 144 | |||
| 145 | (defcustom enriched-mode-hook nil | 144 | (defcustom enriched-mode-hook nil |
| 146 | "Hook run after entering/leaving Enriched mode. | 145 | "Hook run after entering/leaving Enriched mode. |
| 147 | If you set variables in this hook, you should arrange for them to be restored | 146 | If you set variables in this hook, you should arrange for them to be restored |
| @@ -155,6 +154,11 @@ them and their old values to `enriched-old-bindings'." | |||
| 155 | The value is a list of \(VAR VALUE VAR VALUE...).") | 154 | The value is a list of \(VAR VALUE VAR VALUE...).") |
| 156 | (make-variable-buffer-local 'enriched-old-bindings) | 155 | (make-variable-buffer-local 'enriched-old-bindings) |
| 157 | 156 | ||
| 157 | ;; Technical internal variable. Bound to t if `enriched-mode' is | ||
| 158 | ;; being rerun by a major mode to allow it to restore buffer-local | ||
| 159 | ;; variables and to correctly update `enriched-old-bindings'. | ||
| 160 | (defvar enriched-rerun-flag nil) | ||
| 161 | |||
| 158 | ;;; | 162 | ;;; |
| 159 | ;;; Define the mode | 163 | ;;; Define the mode |
| 160 | ;;; | 164 | ;;; |
| @@ -181,23 +185,21 @@ Commands: | |||
| 181 | (while enriched-old-bindings | 185 | (while enriched-old-bindings |
| 182 | (set (pop enriched-old-bindings) (pop enriched-old-bindings)))) | 186 | (set (pop enriched-old-bindings) (pop enriched-old-bindings)))) |
| 183 | 187 | ||
| 184 | ((memq 'text/enriched buffer-file-format) | 188 | ((and (memq 'text/enriched buffer-file-format) |
| 189 | (not enriched-rerun-flag)) | ||
| 185 | ;; Mode already on; do nothing. | 190 | ;; Mode already on; do nothing. |
| 186 | nil) | 191 | nil) |
| 187 | 192 | ||
| 188 | (t ; Turn mode on | 193 | (t ; Turn mode on |
| 189 | (push 'text/enriched buffer-file-format) | 194 | (add-to-list 'buffer-file-format 'text/enriched) |
| 190 | ;; Save old variable values before we change them. | 195 | ;; Save old variable values before we change them. |
| 191 | ;; These will be restored if we exit Enriched mode. | 196 | ;; These will be restored if we exit Enriched mode. |
| 192 | (setq enriched-old-bindings | 197 | (setq enriched-old-bindings |
| 193 | (list 'buffer-display-table buffer-display-table | 198 | (list 'buffer-display-table buffer-display-table |
| 194 | 'indent-line-function indent-line-function | ||
| 195 | 'default-text-properties default-text-properties)) | 199 | 'default-text-properties default-text-properties)) |
| 196 | (make-local-variable 'indent-line-function) | ||
| 197 | (make-local-variable 'default-text-properties) | 200 | (make-local-variable 'default-text-properties) |
| 198 | (setq indent-line-function 'indent-to-left-margin ;WHY?? -sm | 201 | (setq buffer-display-table enriched-display-table) |
| 199 | buffer-display-table enriched-display-table) | 202 | (use-hard-newlines 1 (if enriched-rerun-flag 'never nil)) |
| 200 | (use-hard-newlines 1 nil) | ||
| 201 | (let ((sticky (plist-get default-text-properties 'front-sticky)) | 203 | (let ((sticky (plist-get default-text-properties 'front-sticky)) |
| 202 | (p enriched-par-props)) | 204 | (p enriched-par-props)) |
| 203 | (dolist (x p) | 205 | (dolist (x p) |
| @@ -207,6 +209,20 @@ Commands: | |||
| 207 | (plist-put default-text-properties | 209 | (plist-put default-text-properties |
| 208 | 'front-sticky sticky))))))) | 210 | 'front-sticky sticky))))))) |
| 209 | 211 | ||
| 212 | (defun enriched-before-change-major-mode () | ||
| 213 | (when enriched-mode | ||
| 214 | (while enriched-old-bindings | ||
| 215 | (set (pop enriched-old-bindings) (pop enriched-old-bindings))))) | ||
| 216 | |||
| 217 | (add-hook 'change-major-mode-hook 'enriched-before-change-major-mode) | ||
| 218 | |||
| 219 | (defun enriched-after-change-major-mode () | ||
| 220 | (when enriched-mode | ||
| 221 | (let ((enriched-rerun-flag t)) | ||
| 222 | (enriched-mode 1)))) | ||
| 223 | |||
| 224 | (add-hook 'after-change-major-mode-hook 'enriched-after-change-major-mode) | ||
| 225 | |||
| 210 | ;;; | 226 | ;;; |
| 211 | ;;; Keybindings | 227 | ;;; Keybindings |
| 212 | ;;; | 228 | ;;; |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index e19df5d2ef6..69851ac5046 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url-handlers.el (url-insert-file-contents): Decode contents. | ||
| 4 | |||
| 1 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> | 5 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 6 | ||
| 3 | * url-util.el (url-debug): Use with-current-buffer. | 7 | * url-util.el (url-debug): Use with-current-buffer. |
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el index 6c540e8d61b..56497b00119 100644 --- a/lisp/url/url-handlers.el +++ b/lisp/url/url-handlers.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; url-handlers.el --- file-name-handler stuff for URL loading | 1 | ;;; url-handlers.el --- file-name-handler stuff for URL loading |
| 2 | 2 | ||
| 3 | ;; Copyright (c) 1996,97,98,1999,2004 Free Software Foundation, Inc. | 3 | ;; Copyright (c) 1996, 1997, 1998, 1999, 2004 Free Software Foundation, Inc. |
| 4 | ;; Copyright (c) 1993 - 1996 by William M. Perry <wmperry@cs.indiana.edu> | 4 | ;; Copyright (c) 1993 - 1996 by William M. Perry <wmperry@cs.indiana.edu> |
| 5 | 5 | ||
| 6 | ;; Keywords: comm, data, processes, hypermedia | 6 | ;; Keywords: comm, data, processes, hypermedia |
| @@ -170,8 +170,7 @@ A prefix arg makes KEEP-TIME non-nil." | |||
| 170 | (handle nil)) | 170 | (handle nil)) |
| 171 | (if (not buffer) | 171 | (if (not buffer) |
| 172 | (error "Opening input file: No such file or directory, %s" url)) | 172 | (error "Opening input file: No such file or directory, %s" url)) |
| 173 | (save-excursion | 173 | (with-current-buffer buffer |
| 174 | (set-buffer buffer) | ||
| 175 | (setq handle (mm-dissect-buffer t))) | 174 | (setq handle (mm-dissect-buffer t))) |
| 176 | (mm-save-part-to-file handle newname) | 175 | (mm-save-part-to-file handle newname) |
| 177 | (kill-buffer buffer) | 176 | (kill-buffer buffer) |
| @@ -194,18 +193,22 @@ accessible." | |||
| 194 | (if (not buffer) | 193 | (if (not buffer) |
| 195 | (error "Opening input file: No such file or directory, %s" url)) | 194 | (error "Opening input file: No such file or directory, %s" url)) |
| 196 | (if visit (setq buffer-file-name url)) | 195 | (if visit (setq buffer-file-name url)) |
| 197 | (save-excursion | 196 | (with-current-buffer buffer |
| 198 | (set-buffer buffer) | ||
| 199 | (setq handle (mm-dissect-buffer t)) | 197 | (setq handle (mm-dissect-buffer t)) |
| 200 | (set-buffer (mm-handle-buffer handle)) | 198 | (set-buffer (mm-handle-buffer handle)) |
| 201 | (if beg | 199 | (setq data (if beg (buffer-substring beg end) |
| 202 | (setq data (buffer-substring beg end)) | 200 | (buffer-string)))) |
| 203 | (setq data (buffer-string)))) | ||
| 204 | (kill-buffer buffer) | 201 | (kill-buffer buffer) |
| 205 | (mm-destroy-parts handle) | 202 | (mm-destroy-parts handle) |
| 206 | (if replace (delete-region (point-min) (point-max))) | 203 | (if replace (delete-region (point-min) (point-max))) |
| 207 | (save-excursion | 204 | (save-excursion |
| 208 | (insert data)) | 205 | (let ((start (point))) |
| 206 | (insert data) | ||
| 207 | ;; FIXME: for text/plain data, we sometimes receive a `charset' | ||
| 208 | ;; annotation which we could use as a hint of the locale in use | ||
| 209 | ;; at the remote site. Not sure how/if that should be done. --Stef | ||
| 210 | (decode-coding-inserted-region | ||
| 211 | start (point) buffer-file-name visit beg end replace))) | ||
| 209 | (list url (length data)))) | 212 | (list url (length data)))) |
| 210 | 213 | ||
| 211 | (defun url-file-name-completion (url directory) | 214 | (defun url-file-name-completion (url directory) |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 56edf46be59..994f3b3199f 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-09-20 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * commands.texi (Key Sequence Input): | ||
| 4 | Clarify downcasing in read-key-sequence. | ||
| 5 | |||
| 1 | 2004-09-08 Juri Linkov <juri@jurta.org> | 6 | 2004-09-08 Juri Linkov <juri@jurta.org> |
| 2 | 7 | ||
| 3 | * minibuf.texi (Minibuffer History): Add `history-delete-duplicates'. | 8 | * minibuf.texi (Minibuffer History): Add `history-delete-duplicates'. |
diff --git a/lispref/commands.texi b/lispref/commands.texi index 796fc45f5f3..5f0a73b2153 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi | |||
| @@ -2063,10 +2063,10 @@ returns the key sequence as a vector, never as a string. | |||
| 2063 | 2063 | ||
| 2064 | @cindex upper case key sequence | 2064 | @cindex upper case key sequence |
| 2065 | @cindex downcasing in @code{lookup-key} | 2065 | @cindex downcasing in @code{lookup-key} |
| 2066 | If an input character is an upper-case letter and has no key binding, | 2066 | If an input character is upper-case (or has the shift modifier) and |
| 2067 | but its lower-case equivalent has one, then @code{read-key-sequence} | 2067 | has no key binding, but its lower-case equivalent has one, then |
| 2068 | converts the character to lower case. Note that @code{lookup-key} does | 2068 | @code{read-key-sequence} converts the character to lower case. Note |
| 2069 | not perform case conversion in this way. | 2069 | that @code{lookup-key} does not perform case conversion in this way. |
| 2070 | 2070 | ||
| 2071 | The function @code{read-key-sequence} also transforms some mouse events. | 2071 | The function @code{read-key-sequence} also transforms some mouse events. |
| 2072 | It converts unbound drag events into click events, and discards unbound | 2072 | It converts unbound drag events into click events, and discards unbound |
diff --git a/man/ChangeLog b/man/ChangeLog index 75e8d3d7c76..2e59da4e0f1 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2004-09-20 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * custom.texi (Hooks): Explain using setq to clear out a hook. | ||
| 4 | (File Variables): Explain multiline string constants. | ||
| 5 | (Non-ASCII Rebinding): Explain when you need to update | ||
| 6 | non-ASCII char codes in .emacs. | ||
| 7 | |||
| 8 | * building.texi (Compilation): Explain how to make a silent | ||
| 9 | subprocess that won't be terminated. Explain compilation-environment. | ||
| 10 | |||
| 1 | 2004-09-13 Kim F. Storm <storm@cua.dk> | 11 | 2004-09-13 Kim F. Storm <storm@cua.dk> |
| 2 | 12 | ||
| 3 | * mini.texi (Repetition): Rename isearch-resume-enabled to | 13 | * mini.texi (Repetition): Rename isearch-resume-enabled to |
diff --git a/man/building.texi b/man/building.texi index b3d4659a402..972f88abbde 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -128,6 +128,21 @@ echo first message | |||
| 128 | wait $pid # @r{Wait for subprocess} | 128 | wait $pid # @r{Wait for subprocess} |
| 129 | @end example | 129 | @end example |
| 130 | 130 | ||
| 131 | If the background process does not output to the compilation buffer, | ||
| 132 | so you only need to prevent it from being killed when the main | ||
| 133 | compilation process terminates, this is sufficient: | ||
| 134 | |||
| 135 | @example | ||
| 136 | nohup @var{command}; sleep 1 | ||
| 137 | @end example | ||
| 138 | |||
| 139 | @vindex compilation-environment | ||
| 140 | You can control the environment passed to the compilation command | ||
| 141 | with the variable @code{compilation-environment}. Its value is a list | ||
| 142 | of environment variable settings; each element should be a string of | ||
| 143 | the form @code{"@var{envvarname}=@var{value}"}. These environment | ||
| 144 | variable settings override the usual ones. | ||
| 145 | |||
| 131 | @node Grep Searching | 146 | @node Grep Searching |
| 132 | @section Searching with Grep under Emacs | 147 | @section Searching with Grep under Emacs |
| 133 | 148 | ||
diff --git a/man/calc.texi b/man/calc.texi index 2ada16ce1bf..4aee142d198 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -544,6 +544,9 @@ held down are shown as @kbd{C-x}. Keys pressed with Meta held down | |||
| 544 | are shown as @kbd{M-x}. Other notations are @key{RET} for the | 544 | are shown as @kbd{M-x}. Other notations are @key{RET} for the |
| 545 | Return key, @key{SPC} for the space bar, @key{TAB} for the Tab key, | 545 | Return key, @key{SPC} for the space bar, @key{TAB} for the Tab key, |
| 546 | @key{DEL} for the Delete key, and @key{LFD} for the Line-Feed key. | 546 | @key{DEL} for the Delete key, and @key{LFD} for the Line-Feed key. |
| 547 | The @key{DEL} key is called Backspace on some keyboards, it is | ||
| 548 | whatever key you would use to correct a simple typing error when | ||
| 549 | regularly using Emacs. | ||
| 547 | 550 | ||
| 548 | (If you don't have the @key{LFD} or @key{TAB} keys on your keyboard, | 551 | (If you don't have the @key{LFD} or @key{TAB} keys on your keyboard, |
| 549 | the @kbd{C-j} and @kbd{C-i} keys are equivalent to them, respectively. | 552 | the @kbd{C-j} and @kbd{C-i} keys are equivalent to them, respectively. |
diff --git a/man/custom.texi b/man/custom.texi index d27bc8e0ed5..3065ad3de23 100644 --- a/man/custom.texi +++ b/man/custom.texi | |||
| @@ -785,11 +785,13 @@ as soon as one hook function returns a non-@code{nil} value, the rest | |||
| 785 | are not called at all. The documentation of each abnormal hook variable | 785 | are not called at all. The documentation of each abnormal hook variable |
| 786 | explains in detail what is peculiar about it. | 786 | explains in detail what is peculiar about it. |
| 787 | 787 | ||
| 788 | The recommended way to add a hook function to a hook (either normal or | 788 | You can set a hook variable with @code{setq} like any other Lisp |
| 789 | abnormal) is by calling @code{add-hook}. You can use any valid Lisp | 789 | variable, but the recommended way to add a hook function to a hook |
| 790 | function as the hook function, provided it can handle the proper number | 790 | (either normal or abnormal) is by calling @code{add-hook}. You can |
| 791 | of arguments (zero arguments, in the case of a normal hook). Of course, | 791 | specify any valid Lisp function as the hook function, provided it can |
| 792 | not every Lisp function is @emph{useful} in any particular hook. | 792 | handle the proper number of arguments (zero arguments, in the case of |
| 793 | a normal hook). Of course, not every Lisp function is @emph{useful} | ||
| 794 | in any particular hook. | ||
| 793 | 795 | ||
| 794 | For example, here's how to set up a hook to turn on Auto Fill mode | 796 | For example, here's how to set up a hook to turn on Auto Fill mode |
| 795 | when entering Text mode and other modes based on Text mode: | 797 | when entering Text mode and other modes based on Text mode: |
| @@ -830,6 +832,11 @@ they are executed does not matter. Any dependence on the order is | |||
| 830 | ``asking for trouble.'' However, the order is predictable: the most | 832 | ``asking for trouble.'' However, the order is predictable: the most |
| 831 | recently added hook functions are executed first. | 833 | recently added hook functions are executed first. |
| 832 | 834 | ||
| 835 | If you play with adding various different versions of a hook | ||
| 836 | function by calling @code{add-hook} over and over, remember that all | ||
| 837 | the versions you added will remain in the hook variable together. | ||
| 838 | To clear them out, you can do @code{(setq @var{hook-variable} nil)}. | ||
| 839 | |||
| 833 | @node Locals | 840 | @node Locals |
| 834 | @subsection Local Variables | 841 | @subsection Local Variables |
| 835 | 842 | ||
| @@ -998,8 +1005,22 @@ local variables list in a comment, so it won't confuse other programs | |||
| 998 | that the file is intended as input for. The example above is for a | 1005 | that the file is intended as input for. The example above is for a |
| 999 | language where comment lines start with @samp{;;; } and end with | 1006 | language where comment lines start with @samp{;;; } and end with |
| 1000 | @samp{***}; the local values for @code{comment-start} and | 1007 | @samp{***}; the local values for @code{comment-start} and |
| 1001 | @code{comment-end} customize the rest of Emacs for this unusual syntax. | 1008 | @code{comment-end} customize the rest of Emacs for this unusual |
| 1002 | Don't use a prefix (or a suffix) if you don't need one. | 1009 | syntax. Don't use a prefix (or a suffix) if you don't need one. |
| 1010 | |||
| 1011 | If you write a multi-line string value, you should put the prefix | ||
| 1012 | and suffix on each line, even lines that start or end within the | ||
| 1013 | string. They will be stripped off for processing the list. If you | ||
| 1014 | want to split a long string across multiple lines of the file, you can | ||
| 1015 | use backslash-newline, which is ignored in Lisp string constants. | ||
| 1016 | Here's an example of doing this: | ||
| 1017 | |||
| 1018 | @example | ||
| 1019 | # Local Variables: | ||
| 1020 | # compile-command: "cc foo.c -Dfoo=bar -Dhack=whatever \ | ||
| 1021 | # -Dmumble=blaah" | ||
| 1022 | # End: | ||
| 1023 | @end example | ||
| 1003 | 1024 | ||
| 1004 | Two ``variable names'' have special meanings in a local variables | 1025 | Two ``variable names'' have special meanings in a local variables |
| 1005 | list: a value for the variable @code{mode} really sets the major mode, | 1026 | list: a value for the variable @code{mode} really sets the major mode, |
| @@ -1635,15 +1656,14 @@ The Emacs Lisp Reference Manual}.}: | |||
| 1635 | Type @kbd{C-q} followed by the key you want to bind, to insert @var{char}. | 1656 | Type @kbd{C-q} followed by the key you want to bind, to insert @var{char}. |
| 1636 | 1657 | ||
| 1637 | Since this puts a non-@acronym{ASCII} character in the @file{.emacs}, | 1658 | Since this puts a non-@acronym{ASCII} character in the @file{.emacs}, |
| 1638 | you should specify for that file a coding system that supports | 1659 | you should specify a coding system for that file that supports the |
| 1639 | that character. @xref{Init Syntax}. | 1660 | character in question. @xref{Init Syntax}. |
| 1640 | 1661 | ||
| 1641 | @strong{Warning:} if you change the keyboard encoding, such that the code that | 1662 | @strong{Warning:} if you change the keyboard encoding, or change |
| 1642 | @kbd{C-q} inserts becomes different, you'll need to edit the | 1663 | between multibyte and unibyte mode, or anything that would alter which |
| 1643 | Lisp expression accordingly. | 1664 | code @kbd{C-q} would insert for that character, you'll need to edit |
| 1644 | 1665 | the Lisp expression accordingly, to use the character code generated | |
| 1645 | @strong{Warning:} @kbd{C-q} will insert the wrong code if you visit | 1666 | by @kbd{C-q} in the new mode. |
| 1646 | the file @file{.emacs} in a unibyte buffer, so don't do that. | ||
| 1647 | 1667 | ||
| 1648 | @node Mouse Buttons | 1668 | @node Mouse Buttons |
| 1649 | @subsection Rebinding Mouse Buttons | 1669 | @subsection Rebinding Mouse Buttons |
diff --git a/src/ChangeLog b/src/ChangeLog index 955c8929f92..e71a0e3217d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xterm.c (x_term_init): Work around a bug in some X servers. | ||
| 4 | |||
| 5 | 2004-09-18 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix. | ||
| 8 | |||
| 9 | * xdisp.c (try_window_reusing_current_matrix): | ||
| 10 | Handle the case where we reach the old displayed text, | ||
| 11 | out of sync with the old line boundary. | ||
| 12 | |||
| 1 | 2004-09-14 Stefan <monnier@iro.umontreal.ca> | 13 | 2004-09-14 Stefan <monnier@iro.umontreal.ca> |
| 2 | 14 | ||
| 3 | * fileio.c (Finsert_file_contents): Fix case of replacement in a | 15 | * fileio.c (Finsert_file_contents): Fix case of replacement in a |
diff --git a/src/alloc.c b/src/alloc.c index 4b31ec7897e..e783ba581e0 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -186,8 +186,11 @@ Lisp_Object Vmemory_full; | |||
| 186 | 186 | ||
| 187 | #ifndef HAVE_SHM | 187 | #ifndef HAVE_SHM |
| 188 | 188 | ||
| 189 | /* Force it into data space! Initialize it to a nonzero value; | 189 | /* Initialize it to a nonzero value to force it into data space |
| 190 | otherwise some compilers put it into BSS. */ | 190 | (rather than bss space). That way unexec will remap it into text |
| 191 | space (pure), on some systems. We have not implemented the | ||
| 192 | remapping on more recent systems because this is less important | ||
| 193 | nowadays than in the days of small memories and timesharing. */ | ||
| 191 | 194 | ||
| 192 | EMACS_INT pure[PURESIZE / sizeof (EMACS_INT)] = {1,}; | 195 | EMACS_INT pure[PURESIZE / sizeof (EMACS_INT)] = {1,}; |
| 193 | #define PUREBEG (char *) pure | 196 | #define PUREBEG (char *) pure |
diff --git a/src/buffer.c b/src/buffer.c index 2084d80049a..75339c4fc85 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -5446,7 +5446,14 @@ Decimal digits after the % specify field width to which to pad. */); | |||
| 5446 | 5446 | ||
| 5447 | DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode, | 5447 | DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode, |
| 5448 | doc: /* *Major mode for new buffers. Defaults to `fundamental-mode'. | 5448 | doc: /* *Major mode for new buffers. Defaults to `fundamental-mode'. |
| 5449 | nil here means use current buffer's major mode. */); | 5449 | nil here means use current buffer's major mode, provided it is not |
| 5450 | marked as "special". | ||
| 5451 | |||
| 5452 | When a mode is used by default, `find-file' switches to it | ||
| 5453 | before it reads the contents into the buffer and before | ||
| 5454 | it finishes setting up the buffer. Thus, the mode and | ||
| 5455 | its hooks should not expect certain variables such as | ||
| 5456 | `buffer-read-only' and `buffer-file-coding-system' to be set up. */); | ||
| 5450 | 5457 | ||
| 5451 | DEFVAR_PER_BUFFER ("major-mode", ¤t_buffer->major_mode, | 5458 | DEFVAR_PER_BUFFER ("major-mode", ¤t_buffer->major_mode, |
| 5452 | make_number (Lisp_Symbol), | 5459 | make_number (Lisp_Symbol), |
diff --git a/src/xdisp.c b/src/xdisp.c index a756b99577c..d8166a30df5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -12504,10 +12504,36 @@ try_window_reusing_current_matrix (w) | |||
| 12504 | last_text_row = last_reused_text_row = NULL; | 12504 | last_text_row = last_reused_text_row = NULL; |
| 12505 | 12505 | ||
| 12506 | while (it.current_y < it.last_visible_y | 12506 | while (it.current_y < it.last_visible_y |
| 12507 | && IT_CHARPOS (it) < CHARPOS (start) | ||
| 12508 | && !fonts_changed_p) | 12507 | && !fonts_changed_p) |
| 12509 | if (display_line (&it)) | 12508 | { |
| 12510 | last_text_row = it.glyph_row - 1; | 12509 | /* If we have reached into the characters in the START row, |
| 12510 | that means the line boundaries have changed. So we | ||
| 12511 | can't start copying with the row START. Maybe it will | ||
| 12512 | work to start copying with the following row. */ | ||
| 12513 | while (IT_CHARPOS (it) > CHARPOS (start)) | ||
| 12514 | { | ||
| 12515 | /* Advance to the next row as the "start". */ | ||
| 12516 | start_row++; | ||
| 12517 | start = start_row->start.pos; | ||
| 12518 | /* If there are no more rows to try, or just one, give up. */ | ||
| 12519 | if (start_row == MATRIX_MODE_LINE_ROW (w->current_matrix) - 1 | ||
| 12520 | || w->vscroll || MATRIX_ROW_PARTIALLY_VISIBLE_P (start_row) | ||
| 12521 | || CHARPOS (start) == ZV) | ||
| 12522 | { | ||
| 12523 | clear_glyph_matrix (w->desired_matrix); | ||
| 12524 | return 0; | ||
| 12525 | } | ||
| 12526 | |||
| 12527 | start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix); | ||
| 12528 | } | ||
| 12529 | /* If we have reached alignment, | ||
| 12530 | we can copy the rest of the rows. */ | ||
| 12531 | if (IT_CHARPOS (it) == CHARPOS (start)) | ||
| 12532 | break; | ||
| 12533 | |||
| 12534 | if (display_line (&it)) | ||
| 12535 | last_text_row = it.glyph_row - 1; | ||
| 12536 | } | ||
| 12511 | 12537 | ||
| 12512 | /* A value of current_y < last_visible_y means that we stopped | 12538 | /* A value of current_y < last_visible_y means that we stopped |
| 12513 | at the previous window start, which in turn means that we | 12539 | at the previous window start, which in turn means that we |
| @@ -12515,12 +12541,12 @@ try_window_reusing_current_matrix (w) | |||
| 12515 | if (it.current_y < it.last_visible_y) | 12541 | if (it.current_y < it.last_visible_y) |
| 12516 | { | 12542 | { |
| 12517 | /* IT.vpos always starts from 0; it counts text lines. */ | 12543 | /* IT.vpos always starts from 0; it counts text lines. */ |
| 12518 | nrows_scrolled = it.vpos; | 12544 | nrows_scrolled = it.vpos - (start_row - MATRIX_FIRST_TEXT_ROW (w->current_matrix)); |
| 12519 | 12545 | ||
| 12520 | /* Find PT if not already found in the lines displayed. */ | 12546 | /* Find PT if not already found in the lines displayed. */ |
| 12521 | if (w->cursor.vpos < 0) | 12547 | if (w->cursor.vpos < 0) |
| 12522 | { | 12548 | { |
| 12523 | int dy = it.current_y - first_row_y; | 12549 | int dy = it.current_y - start_row->y; |
| 12524 | 12550 | ||
| 12525 | row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | 12551 | row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); |
| 12526 | row = row_containing_pos (w, PT, row, NULL, dy); | 12552 | row = row_containing_pos (w, PT, row, NULL, dy); |
| @@ -12540,7 +12566,7 @@ try_window_reusing_current_matrix (w) | |||
| 12540 | scroll_run_hook will clear the cursor, and use the | 12566 | scroll_run_hook will clear the cursor, and use the |
| 12541 | current matrix to get the height of the row the cursor is | 12567 | current matrix to get the height of the row the cursor is |
| 12542 | in. */ | 12568 | in. */ |
| 12543 | run.current_y = first_row_y; | 12569 | run.current_y = start_row->y; |
| 12544 | run.desired_y = it.current_y; | 12570 | run.desired_y = it.current_y; |
| 12545 | run.height = it.last_visible_y - it.current_y; | 12571 | run.height = it.last_visible_y - it.current_y; |
| 12546 | 12572 | ||
| @@ -15435,6 +15461,10 @@ display_mode_element (it, depth, field_width, precision, elt, props, risky) | |||
| 15435 | Lisp_Object oprops, aelt; | 15461 | Lisp_Object oprops, aelt; |
| 15436 | oprops = Ftext_properties_at (make_number (0), elt); | 15462 | oprops = Ftext_properties_at (make_number (0), elt); |
| 15437 | 15463 | ||
| 15464 | /* If the starting string's properties are not what | ||
| 15465 | we want, translate the string. Also, if the string | ||
| 15466 | is risky, do that anyway. */ | ||
| 15467 | |||
| 15438 | if (NILP (Fequal (props, oprops)) || risky) | 15468 | if (NILP (Fequal (props, oprops)) || risky) |
| 15439 | { | 15469 | { |
| 15440 | /* If the starting string has properties, | 15470 | /* If the starting string has properties, |
diff --git a/src/xterm.c b/src/xterm.c index e7fb798eb60..cf7ec09cf46 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -10611,10 +10611,12 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 10611 | int screen_number = XScreenNumberOfScreen (dpyinfo->screen); | 10611 | int screen_number = XScreenNumberOfScreen (dpyinfo->screen); |
| 10612 | double pixels = DisplayHeight (dpyinfo->display, screen_number); | 10612 | double pixels = DisplayHeight (dpyinfo->display, screen_number); |
| 10613 | double mm = DisplayHeightMM (dpyinfo->display, screen_number); | 10613 | double mm = DisplayHeightMM (dpyinfo->display, screen_number); |
| 10614 | dpyinfo->resy = pixels * 25.4 / mm; | 10614 | /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */ |
| 10615 | dpyinfo->resy = (mm < 1) ? 100 : pixels * 25.4 / mm; | ||
| 10615 | pixels = DisplayWidth (dpyinfo->display, screen_number); | 10616 | pixels = DisplayWidth (dpyinfo->display, screen_number); |
| 10617 | /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */ | ||
| 10616 | mm = DisplayWidthMM (dpyinfo->display, screen_number); | 10618 | mm = DisplayWidthMM (dpyinfo->display, screen_number); |
| 10617 | dpyinfo->resx = pixels * 25.4 / mm; | 10619 | dpyinfo->resx = (mm < 1) ? 100 : pixels * 25.4 / mm; |
| 10618 | } | 10620 | } |
| 10619 | 10621 | ||
| 10620 | dpyinfo->Xatom_wm_protocols | 10622 | dpyinfo->Xatom_wm_protocols |