diff options
| author | Kenichi Handa | 2010-05-14 13:15:58 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-05-14 13:15:58 +0900 |
| commit | ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c (patch) | |
| tree | 0f53c077154c7cd5f05b339d91905dfd2391679d /lisp | |
| parent | 82ebc97b11a369303345927c98e7bc69928c9117 (diff) | |
| parent | 508197067c434b0111bcb6ded742d424bb738ece (diff) | |
| download | emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.tar.gz emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.zip | |
merge trunk
Diffstat (limited to 'lisp')
39 files changed, 769 insertions, 548 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 871b51470f8..484ae6529c3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,13 +1,111 @@ | |||
| 1 | 2010-05-13 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | Add TeX open-block and close-block keybindings to SGML, and vice | ||
| 4 | versa. | ||
| 5 | |||
| 6 | * textmodes/tex-mode.el (tex-mode-map): Bind C-c C-t to | ||
| 7 | latex-open-block and C-c / to latex-close-block. | ||
| 8 | |||
| 9 | * textmodes/sgml-mode.el (sgml-mode-map): Bind C-c C-o to sgml-tag | ||
| 10 | and C-c C-e to sgml-close-tag. | ||
| 11 | |||
| 12 | 2010-05-13 Michael Albinus <michael.albinus@gmx.de> | ||
| 13 | |||
| 14 | * net/tramp.el (with-progress-reporter): Create reporter object | ||
| 15 | only when the message would be displayed. Handled nested calls. | ||
| 16 | (tramp-handle-load, tramp-handle-file-local-copy) | ||
| 17 | (tramp-handle-insert-file-contents, tramp-handle-write-region) | ||
| 18 | (tramp-maybe-send-script, tramp-find-shell): Use | ||
| 19 | `with-progress-reporter'. | ||
| 20 | (tramp-handle-dired-compress-file, tramp-maybe-open-connection): | ||
| 21 | Fix message text. | ||
| 22 | |||
| 23 | * net/tramp-smb.el (tramp-smb-handle-copy-file) | ||
| 24 | (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) | ||
| 25 | (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection): | ||
| 26 | Use `with-progress-reporter'. | ||
| 27 | |||
| 28 | 2010-05-13 Agustín Martín <agustin.martin@hispalinux.es> | ||
| 29 | |||
| 30 | * ispell.el (ispell-init-process): Do not kill ispell process | ||
| 31 | everytime when spellchecking from the minibuffer (bug#6143). | ||
| 32 | |||
| 33 | 2010-05-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 34 | |||
| 35 | * progmodes/sh-script.el (sh-mode): Use define-derived-mode. | ||
| 36 | |||
| 37 | * dos-fns.el: Add "dos-" prefix for namespace control. | ||
| 38 | (convert-standard-filename): Define as alias for | ||
| 39 | dos-convert-standard-filename but only if applicable. | ||
| 40 | |||
| 41 | 2010-05-12 Alan Mackenzie <acm@muc.de> | ||
| 42 | |||
| 43 | * progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun): | ||
| 44 | Push the mark at the start of these functions when appropriate. | ||
| 45 | |||
| 46 | 2010-05-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 47 | |||
| 48 | * minibuffer.el (completion-cycle-threshold): New custom var. | ||
| 49 | (completion--do-completion): Use it. | ||
| 50 | (minibuffer-complete): Use cycling if appropriate. | ||
| 51 | |||
| 52 | 2010-05-11 Juanma Barranquero <lekktu@gmail.com> | ||
| 53 | |||
| 54 | * dirtrack.el (dirtrackp): Remove defcustom; don't make automatically | ||
| 55 | buffer-local (it's an obsolete alias for `dirtrack-mode') (bug#6173). | ||
| 56 | |||
| 57 | 2010-05-11 Juri Linkov <juri@jurta.org> | ||
| 58 | |||
| 59 | * scroll-all.el (scroll-all-check-to-scroll): | ||
| 60 | Add `scroll-up-command' and `scroll-down-command' (bug#6164). | ||
| 61 | |||
| 62 | 2010-05-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 63 | |||
| 64 | * iimage.el (iimage-mode-map): Move initialization into declaration. | ||
| 65 | (iimage-mode-buffer): Use with-silent-modifications. | ||
| 66 | Simplify calling convention. Adjust callers. | ||
| 67 | (iimage-mode): Don't run hook redundantly. | ||
| 68 | |||
| 69 | * minibuffer.el (completion-pcm--pattern->regex): | ||
| 70 | Fix last change (bug#6160). | ||
| 71 | |||
| 72 | 2010-05-10 Juri Linkov <juri@jurta.org> | ||
| 73 | |||
| 74 | Remove nodes visited during Isearch from the Info history. | ||
| 75 | * info.el (Info-isearch-initial-history) | ||
| 76 | (Info-isearch-initial-history-list): New variables. | ||
| 77 | (Info-isearch-start): Record initial values of | ||
| 78 | Info-isearch-initial-history and Info-isearch-initial-history-list. | ||
| 79 | Add Info-isearch-end to isearch-mode-end-hook. | ||
| 80 | (Info-isearch-end): New function. | ||
| 81 | |||
| 82 | 2010-05-10 Michael Albinus <michael.albinus@gmx.de> | ||
| 83 | |||
| 84 | * net/tramp.el (tramp-do-file-attributes-with-stat): Add space in | ||
| 85 | format string, in order to work around a bug in pdksh. | ||
| 86 | Reported by Gilles Pion <gpion@lfdj.com>. | ||
| 87 | (tramp-handle-verify-visited-file-modtime): Do not send a command | ||
| 88 | when the connection is not established. | ||
| 89 | (tramp-handle-set-file-times): Simplify the check for utc. | ||
| 90 | |||
| 91 | 2010-05-10 Juanma Barranquero <lekktu@gmail.com> | ||
| 92 | |||
| 93 | Fix use of `filter-buffer-substring' (rework previous change). | ||
| 94 | * emulation/cua-base.el (cua--filter-buffer-noprops): New function. | ||
| 95 | (cua-repeat-replace-region): | ||
| 96 | * emulation/cua-rect.el (cua--extract-rectangle, cua-incr-rectangle): | ||
| 97 | * emulation/cua-gmrk.el (cua-copy-region-to-global-mark) | ||
| 98 | (cua-cut-region-to-global-mark): Use it. | ||
| 99 | |||
| 1 | 2010-05-09 Michael R. Mauger <mmaug@yahoo.com> | 100 | 2010-05-09 Michael R. Mauger <mmaug@yahoo.com> |
| 2 | 101 | ||
| 3 | * progmodes/sql.el: Version 2.1 | 102 | * progmodes/sql.el: Version 2.1. |
| 4 | (sql-product-alist): Redesigned structure of product info. | 103 | (sql-product-alist): Redesign structure of product info. |
| 5 | (sql-product, sql-user, sql-server, sql-database): Safe | 104 | (sql-product, sql-user, sql-server, sql-database): Safe variables. |
| 6 | variables. | ||
| 7 | (sql-port, sql-port-history): New variables. | 105 | (sql-port, sql-port-history): New variables. |
| 8 | (sql-interactive-product): New variable. | 106 | (sql-interactive-product): New variable. |
| 9 | (sql-send-terminator): New variable. | 107 | (sql-send-terminator): New variable. |
| 10 | (sql-imenu-generic-expression): Added "Types" imenu entry. | 108 | (sql-imenu-generic-expression): Add "Types" imenu entry. |
| 11 | (sql-oracle-login-params, sql-sqlite-login-params) | 109 | (sql-oracle-login-params, sql-sqlite-login-params) |
| 12 | (sql-mysql-login-params, sql-solid-login-params) | 110 | (sql-mysql-login-params, sql-solid-login-params) |
| 13 | (sql-sybase-login-params, sql-informix-login-params) | 111 | (sql-sybase-login-params, sql-informix-login-params) |
| @@ -15,10 +113,9 @@ | |||
| 15 | (sql-postgres-login-params, sql-interbase-login-params) | 113 | (sql-postgres-login-params, sql-interbase-login-params) |
| 16 | (sql-db2-login-params, sql-linter-login-params) | 114 | (sql-db2-login-params, sql-linter-login-params) |
| 17 | (sql-oracle-scan-on): New variables. | 115 | (sql-oracle-scan-on): New variables. |
| 18 | (sql-mode-map): Added C-c C-i to start interactive mode. | 116 | (sql-mode-map): Add C-c C-i to start interactive mode. |
| 19 | (sql-mode-menu): Updated existing menu entries. | 117 | (sql-mode-menu): Update existing menu entries. |
| 20 | (sql-font-lock-keywords-builder): Compile-time font-lock | 118 | (sql-font-lock-keywords-builder): Compile-time font-lock optimization. |
| 21 | optimization. | ||
| 22 | (sql-mode-oracle-font-lock-keywords) | 119 | (sql-mode-oracle-font-lock-keywords) |
| 23 | (sql-mode-postgres-font-lock-keywords) | 120 | (sql-mode-postgres-font-lock-keywords) |
| 24 | (sql-mode-ms-font-lock-keywords) | 121 | (sql-mode-ms-font-lock-keywords) |
| @@ -30,7 +127,7 @@ | |||
| 30 | (sql-mode-mysql-font-lock-keywords) | 127 | (sql-mode-mysql-font-lock-keywords) |
| 31 | (sql-mode-sqlite-font-lock-keywords) | 128 | (sql-mode-sqlite-font-lock-keywords) |
| 32 | (sql-mode-db2-font-lock-keywords) | 129 | (sql-mode-db2-font-lock-keywords) |
| 33 | (sql-mode-linter-font-lock-keywords): Updated initialization to | 130 | (sql-mode-linter-font-lock-keywords): Update initialization to |
| 34 | reduce run-time complexity. | 131 | reduce run-time complexity. |
| 35 | (sql-add-product, sql-del-product): New functions. | 132 | (sql-add-product, sql-del-product): New functions. |
| 36 | (sql-set-product-feature, sql-get-product-feature): New functions. | 133 | (sql-set-product-feature, sql-get-product-feature): New functions. |
| @@ -39,12 +136,12 @@ | |||
| 39 | (sql-highlight-product): Update product API. | 136 | (sql-highlight-product): Update product API. |
| 40 | (sql-help-list-products): New function. | 137 | (sql-help-list-products): New function. |
| 41 | (sql-help): Dynamically lists free and non-free products. | 138 | (sql-help): Dynamically lists free and non-free products. |
| 42 | (sql-get-login): Corrected bug in handling history and added | 139 | (sql-get-login): Correct bug in handling history and added |
| 43 | prompt for port. | 140 | prompt for port. |
| 44 | (sql-copy-column): Copy without properties. | 141 | (sql-copy-column): Copy without properties. |
| 45 | (sqli-input-sender): Apply filters to SQLi input. | 142 | (sqli-input-sender): Apply filters to SQLi input. |
| 46 | (sql-query-placeholders-and-send): Obey `sql-oracle-scan-on' | 143 | (sql-query-placeholders-and-send): Obey `sql-oracle-scan-on' setting. |
| 47 | setting. Implement as a filter. | 144 | Implement as a filter. |
| 48 | (sql-escape-newlines-filter): Implement as a filter. | 145 | (sql-escape-newlines-filter): Implement as a filter. |
| 49 | (sql-remove-tabs-filter): New function. | 146 | (sql-remove-tabs-filter): New function. |
| 50 | (sql-send-magic-terminator): New function. | 147 | (sql-send-magic-terminator): New function. |
| @@ -59,8 +156,8 @@ | |||
| 59 | (sql-connect-oracle, sql-connect-sybase, sql-connect-informix) | 156 | (sql-connect-oracle, sql-connect-sybase, sql-connect-informix) |
| 60 | (sql-connect-sqlite, sql-connect-mysql, sql-connect-solid) | 157 | (sql-connect-sqlite, sql-connect-mysql, sql-connect-solid) |
| 61 | (sql-connect-ingres, sql-connect-ms, sql-connect-postgres) | 158 | (sql-connect-ingres, sql-connect-ms, sql-connect-postgres) |
| 62 | (sql-connect-interbase, sql-connect-db2, sql-connect-linter): Use | 159 | (sql-connect-interbase, sql-connect-db2, sql-connect-linter): |
| 63 | `sql-connect'. | 160 | Use `sql-connect'. |
| 64 | 161 | ||
| 65 | 2010-05-09 Stefan Monnier <monnier@iro.umontreal.ca> | 162 | 2010-05-09 Stefan Monnier <monnier@iro.umontreal.ca> |
| 66 | 163 | ||
| @@ -109,7 +206,7 @@ | |||
| 109 | 206 | ||
| 110 | 2010-05-08 Chong Yidong <cyd@stupidchicken.com> | 207 | 2010-05-08 Chong Yidong <cyd@stupidchicken.com> |
| 111 | 208 | ||
| 112 | * international/mule.el (auto-coding-alist): Only purecopy | 209 | * international/mule.el (auto-coding-alist): Only purecopy |
| 113 | car of each item, not the whole list (Bug#6083). | 210 | car of each item, not the whole list (Bug#6083). |
| 114 | 211 | ||
| 115 | 2010-05-08 Chong Yidong <cyd@stupidchicken.com> | 212 | 2010-05-08 Chong Yidong <cyd@stupidchicken.com> |
| @@ -122,7 +219,7 @@ | |||
| 122 | * composite.el (compose-region, reference-point-alist): Fix typos | 219 | * composite.el (compose-region, reference-point-alist): Fix typos |
| 123 | in the doc strings. | 220 | in the doc strings. |
| 124 | 221 | ||
| 125 | 2010-05-08 Alexander Klimov <alserkli@inbox.ru> (tiny change) | 222 | 2010-05-08 Alexander Klimov <alserkli@inbox.ru> (tiny change) |
| 126 | 223 | ||
| 127 | * calc/calc-graph.el (calc-graph-plot): Use the proper form for | 224 | * calc/calc-graph.el (calc-graph-plot): Use the proper form for |
| 128 | gnuplot's "set" command. | 225 | gnuplot's "set" command. |
| @@ -465,7 +562,7 @@ | |||
| 465 | (ede-dired-add-to-target): Use dolist. | 562 | (ede-dired-add-to-target): Use dolist. |
| 466 | 563 | ||
| 467 | 2010-05-01 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> | 564 | 2010-05-01 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> |
| 468 | Michael Albinus <michael.albinus@gmx.de> | 565 | Michael Albinus <michael.albinus@gmx.de> |
| 469 | 566 | ||
| 470 | Implement compression for inline methods. | 567 | Implement compression for inline methods. |
| 471 | 568 | ||
| @@ -769,6 +866,8 @@ | |||
| 769 | 866 | ||
| 770 | 2010-04-21 Stefan Monnier <monnier@iro.umontreal.ca> | 867 | 2010-04-21 Stefan Monnier <monnier@iro.umontreal.ca> |
| 771 | 868 | ||
| 869 | Make the log-edit comments use RFC822 format throughout. | ||
| 870 | |||
| 772 | * vc.el (vc-checkin, vc-modify-change-comment): | 871 | * vc.el (vc-checkin, vc-modify-change-comment): |
| 773 | Adjust to new vc-start/finish-logentry. | 872 | Adjust to new vc-start/finish-logentry. |
| 774 | (vc-find-conflicted-file): New command. | 873 | (vc-find-conflicted-file): New command. |
| @@ -974,7 +1073,7 @@ | |||
| 974 | (calc-hyperbolic): Add "Option" to message, as appropriate. | 1073 | (calc-hyperbolic): Add "Option" to message, as appropriate. |
| 975 | (calc-option, calc-is-option): New functions. | 1074 | (calc-option, calc-is-option): New functions. |
| 976 | 1075 | ||
| 977 | * calc-help.el (calc-full-help): Add `calc-option-help'. | 1076 | * calc-help.el (calc-full-help): Add `calc-option-help'. |
| 978 | (calc-option-prefix-help): New function. | 1077 | (calc-option-prefix-help): New function. |
| 979 | 1078 | ||
| 980 | * calc-misc.el (calc-help): Add "Option" entry. | 1079 | * calc-misc.el (calc-help): Add "Option" entry. |
| @@ -1537,7 +1636,7 @@ | |||
| 1537 | values. | 1636 | values. |
| 1538 | 1637 | ||
| 1539 | 2010-03-29 Phil Hagelberg <phil@evri.com> | 1638 | 2010-03-29 Phil Hagelberg <phil@evri.com> |
| 1540 | Chong Yidong <cyd@stupidchicken.com> | 1639 | Chong Yidong <cyd@stupidchicken.com> |
| 1541 | 1640 | ||
| 1542 | * subr.el: Extend progress reporters to perform "spinning". | 1641 | * subr.el: Extend progress reporters to perform "spinning". |
| 1543 | (progress-reporter-update, progress-reporter-do-update): | 1642 | (progress-reporter-update, progress-reporter-do-update): |
| @@ -5180,7 +5279,7 @@ | |||
| 5180 | * Makefile.in (ELCFILES): Adapt to subword.el move. | 5279 | * Makefile.in (ELCFILES): Adapt to subword.el move. |
| 5181 | 5280 | ||
| 5182 | 2009-11-21 Thierry Volpiatto <thierry.volpiatto@gmail.com> | 5281 | 2009-11-21 Thierry Volpiatto <thierry.volpiatto@gmail.com> |
| 5183 | Stefan Monnier <monnier@iro.umontreal.ca> | 5282 | Stefan Monnier <monnier@iro.umontreal.ca> |
| 5184 | 5283 | ||
| 5185 | * bookmark.el (bookmark-bmenu-bookmark-column): Remove var. | 5284 | * bookmark.el (bookmark-bmenu-bookmark-column): Remove var. |
| 5186 | (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop. | 5285 | (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop. |
| @@ -9266,7 +9365,7 @@ | |||
| 9266 | indent buffer only if called interactively (Bug#4452). | 9365 | indent buffer only if called interactively (Bug#4452). |
| 9267 | 9366 | ||
| 9268 | 2009-09-19 Juanma Barranquero <lekktu@gmail.com> | 9367 | 2009-09-19 Juanma Barranquero <lekktu@gmail.com> |
| 9269 | Eli Zaretskii <eliz@gnu.org> | 9368 | Eli Zaretskii <eliz@gnu.org> |
| 9270 | 9369 | ||
| 9271 | This fixes bug#4197 (merged to bug#865, though not identical). | 9370 | This fixes bug#4197 (merged to bug#865, though not identical). |
| 9272 | * server.el (server-auth-dir): Add docstring note about FAT32. | 9371 | * server.el (server-auth-dir): Add docstring note about FAT32. |
| @@ -10083,7 +10182,7 @@ | |||
| 10083 | Don't call substitute-in-file-name on diary-file. | 10182 | Don't call substitute-in-file-name on diary-file. |
| 10084 | 10183 | ||
| 10085 | 2009-09-03 Eduard Wiebe <usenet@pusto.de> | 10184 | 2009-09-03 Eduard Wiebe <usenet@pusto.de> |
| 10086 | Stefan Monnier <monnier@iro.umontreal.ca> | 10185 | Stefan Monnier <monnier@iro.umontreal.ca> |
| 10087 | 10186 | ||
| 10088 | * mail/footnote.el (footnote-prefix): Make it a defcustom. | 10187 | * mail/footnote.el (footnote-prefix): Make it a defcustom. |
| 10089 | (footnote-mode-map): Move initialization into the declaration. | 10188 | (footnote-mode-map): Move initialization into the declaration. |
| @@ -11194,7 +11293,7 @@ | |||
| 11194 | * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry. | 11293 | * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry. |
| 11195 | 11294 | ||
| 11196 | 2009-08-14 Daniel Colascione <dan.colascione@gmail.com> | 11295 | 2009-08-14 Daniel Colascione <dan.colascione@gmail.com> |
| 11197 | Karl Landstrom <karl.landstrom@brgeight.se> | 11296 | Karl Landstrom <karl.landstrom@brgeight.se> |
| 11198 | 11297 | ||
| 11199 | * progmodes/js.el: New file. | 11298 | * progmodes/js.el: New file. |
| 11200 | 11299 | ||
| @@ -12961,7 +13060,7 @@ | |||
| 12961 | XZ is the successor to LZMA: <http://tukaani.org/xz/> | 13060 | XZ is the successor to LZMA: <http://tukaani.org/xz/> |
| 12962 | 13061 | ||
| 12963 | 2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru> | 13062 | 2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru> |
| 12964 | Nick Roberts <nickrob@snap.net.nz> | 13063 | Nick Roberts <nickrob@snap.net.nz> |
| 12965 | 13064 | ||
| 12966 | * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's | 13065 | * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's |
| 12967 | repository (http://sphinx.net.ru/hg/gdb-mi/). | 13066 | repository (http://sphinx.net.ru/hg/gdb-mi/). |
diff --git a/lisp/ChangeLog.1 b/lisp/ChangeLog.1 index dd96ee162f1..bd8b8c3ae27 100644 --- a/lisp/ChangeLog.1 +++ b/lisp/ChangeLog.1 | |||
| @@ -990,7 +990,7 @@ | |||
| 990 | * info.el: | 990 | * info.el: |
| 991 | (Info-select-node): Was searching unboundedly for "execute:". | 991 | (Info-select-node): Was searching unboundedly for "execute:". |
| 992 | (Info-follow-reference): Was called Info-footnote. | 992 | (Info-follow-reference): Was called Info-footnote. |
| 993 | Also, handle presence of spaces and newlines in ref names. | 993 | Also, handle presence of spaces and newlines in ref names. |
| 994 | (Info-extract-menu-node-name): Handle presence of spaces and | 994 | (Info-extract-menu-node-name): Handle presence of spaces and |
| 995 | newlines in the node name. | 995 | newlines in the node name. |
| 996 | (Info-menu): Handle presence of spaces and newlines in item | 996 | (Info-menu): Handle presence of spaces and newlines in item |
| @@ -1465,7 +1465,7 @@ | |||
| 1465 | 1985-10-28 Richard M. Stallman (rms@prep) | 1465 | 1985-10-28 Richard M. Stallman (rms@prep) |
| 1466 | 1466 | ||
| 1467 | * rmail.el, rmailsum.el, rmailkwd.el, rmailmsc.el, | 1467 | * rmail.el, rmailsum.el, rmailkwd.el, rmailmsc.el, |
| 1468 | rmailout.el, rmailedit.el: | 1468 | * rmailout.el, rmailedit.el: |
| 1469 | Install thoroughly rewritten rmail with many new features. | 1469 | Install thoroughly rewritten rmail with many new features. |
| 1470 | 1470 | ||
| 1471 | * debug.el (debug, debugger-mode): | 1471 | * debug.el (debug, debugger-mode): |
| @@ -3100,7 +3100,7 @@ | |||
| 3100 | (also, mail-yank-ignored-headers had a typo) | 3100 | (also, mail-yank-ignored-headers had a typo) |
| 3101 | 3101 | ||
| 3102 | * rmail.el (rmail-get-new-mail, convert-to-babyl-format, ...) | 3102 | * rmail.el (rmail-get-new-mail, convert-to-babyl-format, ...) |
| 3103 | loaddefs.el | 3103 | * loaddefs.el: |
| 3104 | Remodularize inbox parsing. Add support(?) for mmdf inboxes. | 3104 | Remodularize inbox parsing. Add support(?) for mmdf inboxes. |
| 3105 | Note that I can't seem to define definitive documentation of | 3105 | Note that I can't seem to define definitive documentation of |
| 3106 | what this format is; however the code installed seems to work | 3106 | what this format is; however the code installed seems to work |
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12 index 95f59243cb1..b058e6813d5 100644 --- a/lisp/ChangeLog.12 +++ b/lisp/ChangeLog.12 | |||
| @@ -32509,7 +32509,7 @@ | |||
| 32509 | (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. | 32509 | (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. |
| 32510 | 32510 | ||
| 32511 | 2005-01-24 Dan Nicolaescu <dann@ics.uci.edu> | 32511 | 2005-01-24 Dan Nicolaescu <dann@ics.uci.edu> |
| 32512 | Juri Linkov <juri@jurta.org> | 32512 | Juri Linkov <juri@jurta.org> |
| 32513 | 32513 | ||
| 32514 | * textmodes/reftex-global.el (reftex-isearch-push-state-function) | 32514 | * textmodes/reftex-global.el (reftex-isearch-push-state-function) |
| 32515 | (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) | 32515 | (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) |
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13 index 12ea1f45e17..d219c7a5660 100644 --- a/lisp/ChangeLog.13 +++ b/lisp/ChangeLog.13 | |||
| @@ -721,7 +721,7 @@ | |||
| 721 | char-width-table. Don't make ethiopic and tibetan double column. | 721 | char-width-table. Don't make ethiopic and tibetan double column. |
| 722 | 722 | ||
| 723 | * textmodes/fill.el (fill-find-break-point-function-table): | 723 | * textmodes/fill.el (fill-find-break-point-function-table): |
| 724 | Don't set it up in defvar. | 724 | Don't set it up in defvar. |
| 725 | (fill-nospace-between-words-table): New variable. | 725 | (fill-nospace-between-words-table): New variable. |
| 726 | (fill-delete-newlines): Check fill-nospace-between-words-table | 726 | (fill-delete-newlines): Check fill-nospace-between-words-table |
| 727 | instead of charset property nospace-between-words. | 727 | instead of charset property nospace-between-words. |
| @@ -1872,8 +1872,8 @@ | |||
| 1872 | 2008-02-01 Dave Love <fx@gnu.org> | 1872 | 2008-02-01 Dave Love <fx@gnu.org> |
| 1873 | 1873 | ||
| 1874 | * emacs-lisp/byte-opt.el (side-effect-free-fns): | 1874 | * emacs-lisp/byte-opt.el (side-effect-free-fns): |
| 1875 | Add string-make-unibyte string-make-multibyte string-to-multibyte | 1875 | Add string-make-unibyte string-make-multibyte string-to-multibyte |
| 1876 | string-as-multibyte string-as-unibyte. | 1876 | string-as-multibyte string-as-unibyte. |
| 1877 | 1877 | ||
| 1878 | 2008-02-01 Dave Love <fx@gnu.org> | 1878 | 2008-02-01 Dave Love <fx@gnu.org> |
| 1879 | 1879 | ||
| @@ -3983,7 +3983,7 @@ | |||
| 3983 | * ibuffer.el (ibuffer-mode): Fix typo in previous change. | 3983 | * ibuffer.el (ibuffer-mode): Fix typo in previous change. |
| 3984 | 3984 | ||
| 3985 | 2008-01-17 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 3985 | 2008-01-17 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 3986 | Miles Bader <miles@gnu.org> | 3986 | Miles Bader <miles@gnu.org> |
| 3987 | 3987 | ||
| 3988 | * blank-mode.el: New file. Minor mode to visualize (HARD) SPACE, | 3988 | * blank-mode.el: New file. Minor mode to visualize (HARD) SPACE, |
| 3989 | TAB, NEWLINE. Miles Bader <miles@gnu.org> wrote the original code | 3989 | TAB, NEWLINE. Miles Bader <miles@gnu.org> wrote the original code |
| @@ -5479,7 +5479,7 @@ | |||
| 5479 | (verilog-insert-indices): Escape braces in doc strings. | 5479 | (verilog-insert-indices): Escape braces in doc strings. |
| 5480 | 5480 | ||
| 5481 | 2007-12-08 Michael McNamara <mac@verilog.com> | 5481 | 2007-12-08 Michael McNamara <mac@verilog.com> |
| 5482 | Wilson Snyder <wsnyder@wsnyder.org> | 5482 | Wilson Snyder <wsnyder@wsnyder.org> |
| 5483 | 5483 | ||
| 5484 | * progmodes/verilog-mode.el: New file. | 5484 | * progmodes/verilog-mode.el: New file. |
| 5485 | 5485 | ||
| @@ -13484,7 +13484,7 @@ | |||
| 13484 | Use native Emacs functions, when appropriate. | 13484 | Use native Emacs functions, when appropriate. |
| 13485 | 13485 | ||
| 13486 | 2007-08-01 Dan Nicolaescu <dann@ics.uci.edu> | 13486 | 2007-08-01 Dan Nicolaescu <dann@ics.uci.edu> |
| 13487 | Stefan Monnier <monnier@iro.umontreal.ca> | 13487 | Stefan Monnier <monnier@iro.umontreal.ca> |
| 13488 | 13488 | ||
| 13489 | * vc.el: Document new VC operation `extra-menu'. | 13489 | * vc.el: Document new VC operation `extra-menu'. |
| 13490 | 13490 | ||
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14 index 1edfd9081d0..a01020b87d0 100644 --- a/lisp/ChangeLog.14 +++ b/lisp/ChangeLog.14 | |||
| @@ -1029,7 +1029,7 @@ | |||
| 1029 | 1029 | ||
| 1030 | * paren.el (show-paren-function): | 1030 | * paren.el (show-paren-function): |
| 1031 | * simple.el (kill-forward-chars, kill-backward-chars): | 1031 | * simple.el (kill-forward-chars, kill-backward-chars): |
| 1032 | Use (+/- (point) N), instead of `forward-point'. | 1032 | Use (+/- (point) N), instead of `forward-point'. |
| 1033 | 1033 | ||
| 1034 | 2009-03-19 Glenn Morris <rgm@gnu.org> | 1034 | 2009-03-19 Glenn Morris <rgm@gnu.org> |
| 1035 | 1035 | ||
| @@ -3012,12 +3012,12 @@ | |||
| 3012 | Don't activate node nil. (Bug#1569) | 3012 | Don't activate node nil. (Bug#1569) |
| 3013 | 3013 | ||
| 3014 | 2009-01-22 Paul Reilly <pmr@pajato.com> | 3014 | 2009-01-22 Paul Reilly <pmr@pajato.com> |
| 3015 | Henrik Enberg <enberg@printf.se> | 3015 | Henrik Enberg <enberg@printf.se> |
| 3016 | Alex Schroeder <alex@gnu.org> | 3016 | Alex Schroeder <alex@gnu.org> |
| 3017 | Chong Yidong <cyd@stupidchicken.com> | 3017 | Chong Yidong <cyd@stupidchicken.com> |
| 3018 | Richard M Stallman <rms@gnu.org> | 3018 | Richard M Stallman <rms@gnu.org> |
| 3019 | Glenn Morris <rgm@gnu.org> | 3019 | Glenn Morris <rgm@gnu.org> |
| 3020 | Juanma Barranquero <lekktu@gmail.com> | 3020 | Juanma Barranquero <lekktu@gmail.com> |
| 3021 | 3021 | ||
| 3022 | * mail/rmail.el: Code implementing Rmail-mbox functionality. | 3022 | * mail/rmail.el: Code implementing Rmail-mbox functionality. |
| 3023 | (rmail-attribute-header, rmail-keyword-header) | 3023 | (rmail-attribute-header, rmail-keyword-header) |
| @@ -4310,7 +4310,7 @@ | |||
| 4310 | was orderly adjusted, nil otherwise. | 4310 | was orderly adjusted, nil otherwise. |
| 4311 | 4311 | ||
| 4312 | 2008-12-12 Juanma Barranquero <lekktu@gmail.com> | 4312 | 2008-12-12 Juanma Barranquero <lekktu@gmail.com> |
| 4313 | Stefan Monnier <monnier@iro.umontreal.ca> | 4313 | Stefan Monnier <monnier@iro.umontreal.ca> |
| 4314 | 4314 | ||
| 4315 | * server.el (server-sentinel): Uncomment code to delete connection file. | 4315 | * server.el (server-sentinel): Uncomment code to delete connection file. |
| 4316 | (server-start): Save the connection file in the server property list. | 4316 | (server-start): Save the connection file in the server property list. |
| @@ -4369,7 +4369,7 @@ | |||
| 4369 | terminal variable assignment. | 4369 | terminal variable assignment. |
| 4370 | 4370 | ||
| 4371 | 2008-12-10 Yukihiro Matsumoto <matz@ruby-lang.org> | 4371 | 2008-12-10 Yukihiro Matsumoto <matz@ruby-lang.org> |
| 4372 | Nobuyoshi Nakada <nobu@ruby-lang.org> | 4372 | Nobuyoshi Nakada <nobu@ruby-lang.org> |
| 4373 | 4373 | ||
| 4374 | * progmodes/ruby-mode.el: New file. | 4374 | * progmodes/ruby-mode.el: New file. |
| 4375 | 4375 | ||
| @@ -5599,7 +5599,7 @@ | |||
| 5599 | New aliases, to satisfy `define-derived-mode' expectations. | 5599 | New aliases, to satisfy `define-derived-mode' expectations. |
| 5600 | 5600 | ||
| 5601 | 2008-11-15 Glenn Morris <rgm@gnu.org> | 5601 | 2008-11-15 Glenn Morris <rgm@gnu.org> |
| 5602 | Martin Rudalics <rudalics@gmx.at> | 5602 | Martin Rudalics <rudalics@gmx.at> |
| 5603 | 5603 | ||
| 5604 | * emacs-lisp/find-func.el (find-function-advised-original): New. | 5604 | * emacs-lisp/find-func.el (find-function-advised-original): New. |
| 5605 | (find-function-C-source, find-function-noselect): | 5605 | (find-function-C-source, find-function-noselect): |
| @@ -10308,8 +10308,8 @@ | |||
| 10308 | (newsticker--treeview-propertize-tag): Show item title in tooltip. | 10308 | (newsticker--treeview-propertize-tag): Show item title in tooltip. |
| 10309 | 10309 | ||
| 10310 | 2008-06-20 Martin Blais <blais@furius.ca> | 10310 | 2008-06-20 Martin Blais <blais@furius.ca> |
| 10311 | Stefan Merten <smerten@oekonux.de> | 10311 | Stefan Merten <smerten@oekonux.de> |
| 10312 | David Goodger <goodger@python.org> | 10312 | David Goodger <goodger@python.org> |
| 10313 | 10313 | ||
| 10314 | * textmodes/rst.el: New file. | 10314 | * textmodes/rst.el: New file. |
| 10315 | 10315 | ||
| @@ -10627,7 +10627,7 @@ | |||
| 10627 | * term/linux.el (terminal-init-linux): Load t-mouse. | 10627 | * term/linux.el (terminal-init-linux): Load t-mouse. |
| 10628 | 10628 | ||
| 10629 | 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca> | 10629 | 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca> |
| 10630 | Drew Adams <drew.adams@oracle.com> | 10630 | Drew Adams <drew.adams@oracle.com> |
| 10631 | 10631 | ||
| 10632 | * info.el (Info-breadcrumbs-depth): New var. | 10632 | * info.el (Info-breadcrumbs-depth): New var. |
| 10633 | (Info-insert-breadcrumbs): New function. | 10633 | (Info-insert-breadcrumbs): New function. |
| @@ -18798,7 +18798,7 @@ | |||
| 18798 | for useful options. | 18798 | for useful options. |
| 18799 | 18799 | ||
| 18800 | 2008-03-01 Dan Nicolaescu <dann@ics.uci.edu> | 18800 | 2008-03-01 Dan Nicolaescu <dann@ics.uci.edu> |
| 18801 | Glenn Morris <rgm@gnu.org> | 18801 | Glenn Morris <rgm@gnu.org> |
| 18802 | 18802 | ||
| 18803 | * emacs-lisp/bytecomp.el (byte-recompile-directory) | 18803 | * emacs-lisp/bytecomp.el (byte-recompile-directory) |
| 18804 | (byte-compile-file, batch-byte-compile, batch-byte-compile-file): | 18804 | (byte-compile-file, batch-byte-compile, batch-byte-compile-file): |
diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5 index cd36210f7fc..6da88b3c0be 100644 --- a/lisp/ChangeLog.5 +++ b/lisp/ChangeLog.5 | |||
| @@ -7051,7 +7051,7 @@ | |||
| 7051 | * ediff.el (ediff-toggle-read-only, ediff-patch-file): Check out | 7051 | * ediff.el (ediff-toggle-read-only, ediff-patch-file): Check out |
| 7052 | version controlled files before their buffers are modified. | 7052 | version controlled files before their buffers are modified. |
| 7053 | (ediff-local-checkout-flag, ediff-toggle-read-only-function): | 7053 | (ediff-local-checkout-flag, ediff-toggle-read-only-function): |
| 7054 | New variables. | 7054 | New variables. |
| 7055 | 7055 | ||
| 7056 | * ediff.el (ediff-find-file, ediff-patch-file): Were getting | 7056 | * ediff.el (ediff-find-file, ediff-patch-file): Were getting |
| 7057 | confused by symbolic links. Fixed. | 7057 | confused by symbolic links. Fixed. |
| @@ -8050,7 +8050,7 @@ | |||
| 8050 | 1994-07-23 enami tsugutomo <enami@sys.ptg.sony.co.jp> | 8050 | 1994-07-23 enami tsugutomo <enami@sys.ptg.sony.co.jp> |
| 8051 | 8051 | ||
| 8052 | * lisp/add-log.el (add-log-current-defun): Skip doc string | 8052 | * lisp/add-log.el (add-log-current-defun): Skip doc string |
| 8053 | correctly even if it ends with line that starts space. | 8053 | correctly even if it ends with line that starts space. |
| 8054 | 8054 | ||
| 8055 | 1994-07-22 Ed Reingold <reingold@albert.gnu.ai.mit.edu> | 8055 | 1994-07-22 Ed Reingold <reingold@albert.gnu.ai.mit.edu> |
| 8056 | 8056 | ||
| @@ -9194,11 +9194,11 @@ | |||
| 9194 | * solar.el (solar-sunrise, solar-sunset): Fix doc string. | 9194 | * solar.el (solar-sunrise, solar-sunset): Fix doc string. |
| 9195 | (solar-time-string): Rewritten. | 9195 | (solar-time-string): Rewritten. |
| 9196 | (solar-adj-time-for-dst): New function. | 9196 | (solar-adj-time-for-dst): New function. |
| 9197 | (solar-sunrise-sunset, diary-sabbath-candles, | 9197 | (solar-sunrise-sunset, diary-sabbath-candles) |
| 9198 | solar-equinoxes-solstices): Revised to use the rewritten and new fcns. | 9198 | (solar-equinoxes-solstices): Revised to use the rewritten and new fcns. |
| 9199 | 9199 | ||
| 9200 | * calendar.el (solar-holidays): Revised to use the rewritten and | 9200 | * calendar.el (solar-holidays): Revised to use the rewritten and |
| 9201 | new fcns. | 9201 | new fcns. |
| 9202 | 9202 | ||
| 9203 | * lunar.el (lunar-phase): Revised to use the rewritten and new fcns. | 9203 | * lunar.el (lunar-phase): Revised to use the rewritten and new fcns. |
| 9204 | 9204 | ||
diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index 2ba61dc516e..45c832c5e24 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 | |||
| @@ -3687,7 +3687,7 @@ | |||
| 3687 | When changing the environment, avoid need for setenv. | 3687 | When changing the environment, avoid need for setenv. |
| 3688 | 3688 | ||
| 3689 | 1996-01-05 Karl Eichwalder <ke@ke.Central.DE> | 3689 | 1996-01-05 Karl Eichwalder <ke@ke.Central.DE> |
| 3690 | Karl Fogel <kfogel@floss.red-bean.com> | 3690 | Karl Fogel <kfogel@floss.red-bean.com> |
| 3691 | 3691 | ||
| 3692 | * bookmark.el: "cyclic.com" addresses changed to "red-bean.com". | 3692 | * bookmark.el: "cyclic.com" addresses changed to "red-bean.com". |
| 3693 | (bookmark-bmenu-mode-map): Don't bind C-k. | 3693 | (bookmark-bmenu-mode-map): Don't bind C-k. |
| @@ -5837,7 +5837,7 @@ | |||
| 5837 | 1995-10-09 Roland McGrath <roland@churchy.gnu.ai.mit.edu> | 5837 | 1995-10-09 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| 5838 | 5838 | ||
| 5839 | * etags.el (tags-table-check-computed-list): Map | 5839 | * etags.el (tags-table-check-computed-list): Map |
| 5840 | tags-expand-table-name over lists of included tables. | 5840 | tags-expand-table-name over lists of included tables. |
| 5841 | 5841 | ||
| 5842 | 1995-10-09 Erik Naggum <erik@naggum.no> | 5842 | 1995-10-09 Erik Naggum <erik@naggum.no> |
| 5843 | 5843 | ||
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index 6858c07d852..de40b71f080 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 | |||
| @@ -2749,7 +2749,7 @@ | |||
| 2749 | * abbrev.el: Likewise. | 2749 | * abbrev.el: Likewise. |
| 2750 | 2750 | ||
| 2751 | 1998-05-26 Emilio Lopes <Emilio.Lopes@Physik.TU-Muenchen.DE> | 2751 | 1998-05-26 Emilio Lopes <Emilio.Lopes@Physik.TU-Muenchen.DE> |
| 2752 | Karl Fogel <kfogel@red-bean.com> | 2752 | Karl Fogel <kfogel@red-bean.com> |
| 2753 | 2753 | ||
| 2754 | * bookmark.el: Changes so bookmark list mode works with Info: | 2754 | * bookmark.el: Changes so bookmark list mode works with Info: |
| 2755 | (bookmark-jump-noselect): Use an inner save-window-excursion. | 2755 | (bookmark-jump-noselect): Use an inner save-window-excursion. |
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9 index 135eb8edbb3..d008640cbe3 100644 --- a/lisp/ChangeLog.9 +++ b/lisp/ChangeLog.9 | |||
| @@ -2739,8 +2739,8 @@ | |||
| 2739 | 2739 | ||
| 2740 | 2001-06-27 Francesco Potortì <pot@gnu.org> | 2740 | 2001-06-27 Francesco Potortì <pot@gnu.org> |
| 2741 | 2741 | ||
| 2742 | * uniquify.el: (uniquify-rationalize-file-buffer-names): | 2742 | * uniquify.el (uniquify-rationalize-file-buffer-names): |
| 2743 | Undo previous change. | 2743 | Undo previous change. |
| 2744 | 2744 | ||
| 2745 | 2001-06-27 Francesco Potortì <pot@gnu.org> | 2745 | 2001-06-27 Francesco Potortì <pot@gnu.org> |
| 2746 | 2746 | ||
| @@ -12205,7 +12205,7 @@ | |||
| 12205 | 12205 | ||
| 12206 | 2000-09-05 Stefan Monnier <monnier@cs.yale.edu> | 12206 | 2000-09-05 Stefan Monnier <monnier@cs.yale.edu> |
| 12207 | 12207 | ||
| 12208 | * vc.el: (toplevel): Don't require `dired' at run-time. | 12208 | * vc.el (toplevel): Don't require `dired' at run-time. |
| 12209 | (vc-dired-resynch-file): Remove autoload cookie. | 12209 | (vc-dired-resynch-file): Remove autoload cookie. |
| 12210 | 12210 | ||
| 12211 | 2000-09-05 Andre Spiegel <spiegel@gnu.org> | 12211 | 2000-09-05 Andre Spiegel <spiegel@gnu.org> |
| @@ -12998,7 +12998,7 @@ | |||
| 12998 | `vc-locking-user' semantics. | 12998 | `vc-locking-user' semantics. |
| 12999 | (vc-backend-merge): Remove. | 12999 | (vc-backend-merge): Remove. |
| 13000 | 13000 | ||
| 13001 | * vc-rcs.el, vc-scc.el: (vc-{sc,r}cs-check{in,out}): Update 'vc-state | 13001 | * vc-rcs.el, vc-scc.el (vc-{sc,r}cs-check{in,out}): Update 'vc-state |
| 13002 | rather than 'vc-locking-user. | 13002 | rather than 'vc-locking-user. |
| 13003 | 13003 | ||
| 13004 | * vc-rcs-hooks.el (vc-rcs-consult-headers): Adapt to new `vc-state'. | 13004 | * vc-rcs-hooks.el (vc-rcs-consult-headers): Adapt to new `vc-state'. |
| @@ -15318,8 +15318,8 @@ | |||
| 15318 | leading comma nicely. Extended to handle member initializers | 15318 | leading comma nicely. Extended to handle member initializers |
| 15319 | too. | 15319 | too. |
| 15320 | 15320 | ||
| 15321 | * cc-engine.el: (c-beginning-of-inheritance-list, | 15321 | * cc-engine.el (c-beginning-of-inheritance-list) |
| 15322 | c-guess-basic-syntax): Fixed recognition of inheritance lists | 15322 | (c-guess-basic-syntax): Fixed recognition of inheritance lists |
| 15323 | when the lines begins with a comma. | 15323 | when the lines begins with a comma. |
| 15324 | 15324 | ||
| 15325 | * cc-vars.el (c-offsets-alist): Changed default for | 15325 | * cc-vars.el (c-offsets-alist): Changed default for |
| @@ -19574,7 +19574,7 @@ | |||
| 19574 | (backward-kill-word): Revert addition of * to interactive spec -- | 19574 | (backward-kill-word): Revert addition of * to interactive spec -- |
| 19575 | it's a feature. | 19575 | it's a feature. |
| 19576 | 19576 | ||
| 19577 | * paragraphs.el: (kill-paragraph, backward-kill-paragraph) | 19577 | * paragraphs.el (kill-paragraph, backward-kill-paragraph) |
| 19578 | (backward-kill-sentence, kill-sentence): Likewise. | 19578 | (backward-kill-sentence, kill-sentence): Likewise. |
| 19579 | 19579 | ||
| 19580 | * gud.el (gud-jdb-build-class-source-alist): Prepend space to | 19580 | * gud.el (gud-jdb-build-class-source-alist): Prepend space to |
| @@ -19918,7 +19918,7 @@ | |||
| 19918 | 19918 | ||
| 19919 | 2000-02-10 Dave Love <fx@gnu.org> | 19919 | 2000-02-10 Dave Love <fx@gnu.org> |
| 19920 | 19920 | ||
| 19921 | * wid-edit.el: (widgets) [defgroup]: Remove url link. | 19921 | * wid-edit.el (widgets) [defgroup]: Remove url link. |
| 19922 | (widget-color-choice-list, widget-color-history, widget-mouse-help): | 19922 | (widget-color-choice-list, widget-color-history, widget-mouse-help): |
| 19923 | Deleted. | 19923 | Deleted. |
| 19924 | (widget-specify-field, widget-specify-button): Don't use | 19924 | (widget-specify-field, widget-specify-button): Don't use |
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el index c209a2a6eb9..4e29c51fa75 100644 --- a/lisp/dirtrack.el +++ b/lisp/dirtrack.el | |||
| @@ -143,13 +143,6 @@ be on a single line." | |||
| 143 | :group 'dirtrack | 143 | :group 'dirtrack |
| 144 | :type 'string) | 144 | :type 'string) |
| 145 | 145 | ||
| 146 | (defcustom dirtrackp t | ||
| 147 | "If non-nil, directory tracking via `dirtrack' is enabled." | ||
| 148 | :group 'dirtrack | ||
| 149 | :type 'boolean) | ||
| 150 | |||
| 151 | (make-variable-buffer-local 'dirtrackp) | ||
| 152 | |||
| 153 | (defcustom dirtrack-directory-function | 146 | (defcustom dirtrack-directory-function |
| 154 | (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) | 147 | (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) |
| 155 | 'dirtrack-windows-directory-function | 148 | 'dirtrack-windows-directory-function |
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el index c1c2517bc22..5834afae8bc 100644 --- a/lisp/dos-fns.el +++ b/lisp/dos-fns.el | |||
| @@ -31,7 +31,7 @@ | |||
| 31 | (declare-function msdos-long-file-names "msdos.c") | 31 | (declare-function msdos-long-file-names "msdos.c") |
| 32 | 32 | ||
| 33 | ;; This overrides a trivial definition in files.el. | 33 | ;; This overrides a trivial definition in files.el. |
| 34 | (defun convert-standard-filename (filename) | 34 | (defun dos-convert-standard-filename (filename) |
| 35 | "Convert a standard file's name to something suitable for the current OS. | 35 | "Convert a standard file's name to something suitable for the current OS. |
| 36 | This means to guarantee valid names and perhaps to canonicalize | 36 | This means to guarantee valid names and perhaps to canonicalize |
| 37 | certain patterns. | 37 | certain patterns. |
| @@ -48,7 +48,7 @@ shell requires it (see `w32-shell-dos-semantics')." | |||
| 48 | (let ((flen (length filename))) | 48 | (let ((flen (length filename))) |
| 49 | ;; If FILENAME has a trailing slash, remove it and recurse. | 49 | ;; If FILENAME has a trailing slash, remove it and recurse. |
| 50 | (if (memq (aref filename (1- flen)) '(?/ ?\\)) | 50 | (if (memq (aref filename (1- flen)) '(?/ ?\\)) |
| 51 | (concat (convert-standard-filename | 51 | (concat (dos-convert-standard-filename |
| 52 | (substring filename 0 (1- flen))) | 52 | (substring filename 0 (1- flen))) |
| 53 | "/") | 53 | "/") |
| 54 | (let* (;; ange-ftp gets in the way for names like "/foo:bar". | 54 | (let* (;; ange-ftp gets in the way for names like "/foo:bar". |
| @@ -122,12 +122,17 @@ shell requires it (see `w32-shell-dos-semantics')." | |||
| 122 | (aset string (1- (length string)) lastchar)))) | 122 | (aset string (1- (length string)) lastchar)))) |
| 123 | (concat (if (and (stringp dir) | 123 | (concat (if (and (stringp dir) |
| 124 | (memq (aref dir dlen-m-1) '(?/ ?\\))) | 124 | (memq (aref dir dlen-m-1) '(?/ ?\\))) |
| 125 | (concat (convert-standard-filename | 125 | (concat (dos-convert-standard-filename |
| 126 | (substring dir 0 dlen-m-1)) | 126 | (substring dir 0 dlen-m-1)) |
| 127 | "/") | 127 | "/") |
| 128 | (convert-standard-filename dir)) | 128 | (dos-convert-standard-filename dir)) |
| 129 | string)))))) | 129 | string)))))) |
| 130 | 130 | ||
| 131 | ;; Only redirect convert-standard-filename if it has a chance of working, | ||
| 132 | ;; otherwise loading dos-fns.el might make your non-DOS Emacs misbehave. | ||
| 133 | (when (fboundp 'msdos-long-file-names) | ||
| 134 | (defalias 'convert-standard-filename 'dos-convert-standard-filename)) | ||
| 135 | |||
| 131 | (defun dos-8+3-filename (filename) | 136 | (defun dos-8+3-filename (filename) |
| 132 | "Truncate FILENAME to DOS 8+3 limits." | 137 | "Truncate FILENAME to DOS 8+3 limits." |
| 133 | (if (or (not (stringp filename)) | 138 | (if (or (not (stringp filename)) |
| @@ -188,12 +193,12 @@ shell requires it (see `w32-shell-dos-semantics')." | |||
| 188 | 193 | ||
| 189 | ;; This is for the sake of standard file names elsewhere in Emacs that | 194 | ;; This is for the sake of standard file names elsewhere in Emacs that |
| 190 | ;; are defined as constant strings or via defconst, and whose | 195 | ;; are defined as constant strings or via defconst, and whose |
| 191 | ;; conversion via `convert-standard-filename' does not give good | 196 | ;; conversion via `dos-convert-standard-filename' does not give good |
| 192 | ;; enough results. | 197 | ;; enough results. |
| 193 | (defun dosified-file-name (file-name) | 198 | (defun dosified-file-name (file-name) |
| 194 | "Return a variant of FILE-NAME that is valid on MS-DOS filesystems. | 199 | "Return a variant of FILE-NAME that is valid on MS-DOS filesystems. |
| 195 | 200 | ||
| 196 | This function is for those rare cases where `convert-standard-filename' | 201 | This function is for those rare cases where `dos-convert-standard-filename' |
| 197 | does not do a job that is good enough, e.g. if you need to preserve the | 202 | does not do a job that is good enough, e.g. if you need to preserve the |
| 198 | file-name extension. It recognizes only certain specific file names | 203 | file-name extension. It recognizes only certain specific file names |
| 199 | that are used in Emacs Lisp sources; any other file name will be | 204 | that are used in Emacs Lisp sources; any other file name will be |
| @@ -209,13 +214,13 @@ returned unaltered." | |||
| 209 | (defvar msdos-shells) | 214 | (defvar msdos-shells) |
| 210 | 215 | ||
| 211 | ;; Override settings chosen at startup. | 216 | ;; Override settings chosen at startup. |
| 212 | (defun set-default-process-coding-system () | 217 | (defun dos-set-default-process-coding-system () |
| 213 | (setq default-process-coding-system | 218 | (setq default-process-coding-system |
| 214 | (if (default-value 'enable-multibyte-characters) | 219 | (if (default-value 'enable-multibyte-characters) |
| 215 | '(undecided-dos . undecided-dos) | 220 | '(undecided-dos . undecided-dos) |
| 216 | '(raw-text-dos . raw-text-dos)))) | 221 | '(raw-text-dos . raw-text-dos)))) |
| 217 | 222 | ||
| 218 | (add-hook 'before-init-hook 'set-default-process-coding-system) | 223 | (add-hook 'before-init-hook 'dos-set-default-process-coding-system) |
| 219 | 224 | ||
| 220 | ;; File names defined in preloaded packages can be incorrect or | 225 | ;; File names defined in preloaded packages can be incorrect or |
| 221 | ;; invalid if long file names were available during dumping, but not | 226 | ;; invalid if long file names were available during dumping, but not |
| @@ -232,17 +237,17 @@ returned unaltered." | |||
| 232 | 237 | ||
| 233 | (add-hook 'before-init-hook 'dos-reevaluate-defcustoms) | 238 | (add-hook 'before-init-hook 'dos-reevaluate-defcustoms) |
| 234 | 239 | ||
| 235 | (defvar register-name-alist | 240 | (defvar dos-register-name-alist |
| 236 | '((ax . 0) (bx . 1) (cx . 2) (dx . 3) (si . 4) (di . 5) | 241 | '((ax . 0) (bx . 1) (cx . 2) (dx . 3) (si . 4) (di . 5) |
| 237 | (cflag . 6) (flags . 7) | 242 | (cflag . 6) (flags . 7) |
| 238 | (al . (0 . 0)) (bl . (1 . 0)) (cl . (2 . 0)) (dl . (3 . 0)) | 243 | (al . (0 . 0)) (bl . (1 . 0)) (cl . (2 . 0)) (dl . (3 . 0)) |
| 239 | (ah . (0 . 1)) (bh . (1 . 1)) (ch . (2 . 1)) (dh . (3 . 1)))) | 244 | (ah . (0 . 1)) (bh . (1 . 1)) (ch . (2 . 1)) (dh . (3 . 1)))) |
| 240 | 245 | ||
| 241 | (defun make-register () | 246 | (defun dos-make-register () |
| 242 | (make-vector 8 0)) | 247 | (make-vector 8 0)) |
| 243 | 248 | ||
| 244 | (defun register-value (regs name) | 249 | (defun dos-register-value (regs name) |
| 245 | (let ((where (cdr (assoc name register-name-alist)))) | 250 | (let ((where (cdr (assoc name dos-register-name-alist)))) |
| 246 | (cond ((consp where) | 251 | (cond ((consp where) |
| 247 | (let ((tem (aref regs (car where)))) | 252 | (let ((tem (aref regs (car where)))) |
| 248 | (if (zerop (cdr where)) | 253 | (if (zerop (cdr where)) |
| @@ -252,10 +257,10 @@ returned unaltered." | |||
| 252 | (aref regs where)) | 257 | (aref regs where)) |
| 253 | (t nil)))) | 258 | (t nil)))) |
| 254 | 259 | ||
| 255 | (defun set-register-value (regs name value) | 260 | (defun dos-set-register-value (regs name value) |
| 256 | (and (numberp value) | 261 | (and (numberp value) |
| 257 | (>= value 0) | 262 | (>= value 0) |
| 258 | (let ((where (cdr (assoc name register-name-alist)))) | 263 | (let ((where (cdr (assoc name dos-register-name-alist)))) |
| 259 | (cond ((consp where) | 264 | (cond ((consp where) |
| 260 | (let ((tem (aref regs (car where))) | 265 | (let ((tem (aref regs (car where))) |
| 261 | (value (logand value 255))) | 266 | (value (logand value 255))) |
| @@ -268,18 +273,18 @@ returned unaltered." | |||
| 268 | (aset regs where (logand value 65535)))))) | 273 | (aset regs where (logand value 65535)))))) |
| 269 | regs) | 274 | regs) |
| 270 | 275 | ||
| 271 | (defsubst intdos (regs) | 276 | (defsubst dos-intdos (regs) |
| 272 | (int86 33 regs)) | 277 | (int86 33 regs)) |
| 273 | 278 | ||
| 274 | ;; Backward compatibility for obsolescent functions which | 279 | ;; Backward compatibility for obsolescent functions which |
| 275 | ;; set screen size. | 280 | ;; set screen size. |
| 276 | 281 | ||
| 277 | (defun mode25 () | 282 | (defun dos-mode25 () |
| 278 | "Changes the number of screen rows to 25." | 283 | "Changes the number of screen rows to 25." |
| 279 | (interactive) | 284 | (interactive) |
| 280 | (set-frame-size (selected-frame) 80 25)) | 285 | (set-frame-size (selected-frame) 80 25)) |
| 281 | 286 | ||
| 282 | (defun mode4350 () | 287 | (defun dos-mode4350 () |
| 283 | "Changes the number of rows to 43 or 50. | 288 | "Changes the number of rows to 43 or 50. |
| 284 | Emacs always tries to set the screen height to 50 rows first. | 289 | Emacs always tries to set the screen height to 50 rows first. |
| 285 | If this fails, it will try to set it to 43 rows, on the assumption | 290 | If this fails, it will try to set it to 43 rows, on the assumption |
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index d8b36adf730..3e434b36213 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -780,6 +780,10 @@ Repeating prefix key when region is active works as a single prefix key." | |||
| 780 | (setq mark-active nil) | 780 | (setq mark-active nil) |
| 781 | (run-hooks 'deactivate-mark-hook))) | 781 | (run-hooks 'deactivate-mark-hook))) |
| 782 | 782 | ||
| 783 | (defun cua--filter-buffer-noprops (start end) | ||
| 784 | (let ((str (filter-buffer-substring start end))) | ||
| 785 | (set-text-properties 0 (length str) nil str) | ||
| 786 | str)) | ||
| 783 | 787 | ||
| 784 | ;; The current register prefix | 788 | ;; The current register prefix |
| 785 | (defvar cua--register nil) | 789 | (defvar cua--register nil) |
| @@ -1039,10 +1043,7 @@ of text." | |||
| 1039 | (setq s (car u)) | 1043 | (setq s (car u)) |
| 1040 | (setq s (car u) e (cdr u))))))) | 1044 | (setq s (car u) e (cdr u))))))) |
| 1041 | (cond ((and s e (<= s e) (= s (mark t))) | 1045 | (cond ((and s e (<= s e) (= s (mark t))) |
| 1042 | (setq cua--repeat-replace-text | 1046 | (setq cua--repeat-replace-text (cua--filter-buffer-noprops s e))) |
| 1043 | (filter-buffer-substring s e)) | ||
| 1044 | (set-text-properties 0 (length cua--repeat-replace-text) | ||
| 1045 | nil cua--repeat-replace-text)) | ||
| 1046 | ((and (null s) (eq u elt)) ;; nothing inserted | 1047 | ((and (null s) (eq u elt)) ;; nothing inserted |
| 1047 | (setq cua--repeat-replace-text | 1048 | (setq cua--repeat-replace-text |
| 1048 | "")) | 1049 | "")) |
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el index 6c69800d73c..b67d09c04cf 100644 --- a/lisp/emulation/cua-gmrk.el +++ b/lisp/emulation/cua-gmrk.el | |||
| @@ -137,9 +137,8 @@ With prefix argument, don't jump to global mark when cancelling it." | |||
| 137 | (let ((src-buf (current-buffer))) | 137 | (let ((src-buf (current-buffer))) |
| 138 | (save-excursion | 138 | (save-excursion |
| 139 | (if (equal (marker-buffer cua--global-mark-marker) src-buf) | 139 | (if (equal (marker-buffer cua--global-mark-marker) src-buf) |
| 140 | (let ((text (filter-buffer-substring start end))) | 140 | (let ((text (cua--filter-buffer-noprops start end))) |
| 141 | (goto-char (marker-position cua--global-mark-marker)) | 141 | (goto-char (marker-position cua--global-mark-marker)) |
| 142 | (set-text-properties 0 (length text) text) | ||
| 143 | (insert text)) | 142 | (insert text)) |
| 144 | (set-buffer (marker-buffer cua--global-mark-marker)) | 143 | (set-buffer (marker-buffer cua--global-mark-marker)) |
| 145 | (goto-char (marker-position cua--global-mark-marker)) | 144 | (goto-char (marker-position cua--global-mark-marker)) |
| @@ -162,11 +161,10 @@ With prefix argument, don't jump to global mark when cancelling it." | |||
| 162 | (if (and (< start (marker-position cua--global-mark-marker)) | 161 | (if (and (< start (marker-position cua--global-mark-marker)) |
| 163 | (< (marker-position cua--global-mark-marker) end)) | 162 | (< (marker-position cua--global-mark-marker) end)) |
| 164 | (message "Can't move region into itself") | 163 | (message "Can't move region into itself") |
| 165 | (let ((text (filter-buffer-substring start end)) | 164 | (let ((text (cua--filter-buffer-noprops start end)) |
| 166 | (p1 (copy-marker start)) | 165 | (p1 (copy-marker start)) |
| 167 | (p2 (copy-marker end))) | 166 | (p2 (copy-marker end))) |
| 168 | (goto-char (marker-position cua--global-mark-marker)) | 167 | (goto-char (marker-position cua--global-mark-marker)) |
| 169 | (set-text-properties 0 (length text) text) | ||
| 170 | (insert text) | 168 | (insert text) |
| 171 | (cua--activate-global-mark) | 169 | (cua--activate-global-mark) |
| 172 | (delete-region (marker-position p1) (marker-position p2)) | 170 | (delete-region (marker-position p1) (marker-position p2)) |
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 4ac8ce58b3e..2b41f6435ee 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -625,7 +625,7 @@ If command is repeated at same position, delete the rectangle." | |||
| 625 | (if (not (cua--rectangle-virtual-edges)) | 625 | (if (not (cua--rectangle-virtual-edges)) |
| 626 | (cua--rectangle-operation nil nil nil nil nil ; do not tabify | 626 | (cua--rectangle-operation nil nil nil nil nil ; do not tabify |
| 627 | '(lambda (s e l r) | 627 | '(lambda (s e l r) |
| 628 | (setq rect (cons (filter-buffer-substring s e nil t) rect)))) | 628 | (setq rect (cons (cua--filter-buffer-noprops s e) rect)))) |
| 629 | (cua--rectangle-operation nil 1 nil nil nil ; do not tabify | 629 | (cua--rectangle-operation nil 1 nil nil nil ; do not tabify |
| 630 | '(lambda (s e l r v) | 630 | '(lambda (s e l r v) |
| 631 | (let ((copy t) (bs 0) (as 0) row) | 631 | (let ((copy t) (bs 0) (as 0) row) |
| @@ -643,7 +643,7 @@ If command is repeated at same position, delete the rectangle." | |||
| 643 | (setq as (- r (max (current-column) l)) | 643 | (setq as (- r (max (current-column) l)) |
| 644 | e (point))) | 644 | e (point))) |
| 645 | (setq row (if (and copy (> e s)) | 645 | (setq row (if (and copy (> e s)) |
| 646 | (filter-buffer-substring s e nil t) | 646 | (cua--filter-buffer-noprops s e) |
| 647 | "")) | 647 | "")) |
| 648 | (when (> bs 0) | 648 | (when (> bs 0) |
| 649 | (setq row (concat (make-string bs ?\s) row))) | 649 | (setq row (concat (make-string bs ?\s) row))) |
| @@ -1124,12 +1124,12 @@ The length of STRING need not be the same as the rectangle width." | |||
| 1124 | '(lambda (s e l r) | 1124 | '(lambda (s e l r) |
| 1125 | (cond | 1125 | (cond |
| 1126 | ((re-search-forward "0x\\([0-9a-fA-F]+\\)" e t) | 1126 | ((re-search-forward "0x\\([0-9a-fA-F]+\\)" e t) |
| 1127 | (let* ((txt (filter-buffer-substring (match-beginning 1) (match-end 1) nil t)) | 1127 | (let* ((txt (cua--filter-buffer-noprops (match-beginning 1) (match-end 1))) |
| 1128 | (n (string-to-number txt 16)) | 1128 | (n (string-to-number txt 16)) |
| 1129 | (fmt (format "0x%%0%dx" (length txt)))) | 1129 | (fmt (format "0x%%0%dx" (length txt)))) |
| 1130 | (replace-match (format fmt (+ n increment))))) | 1130 | (replace-match (format fmt (+ n increment))))) |
| 1131 | ((re-search-forward "\\( *-?[0-9]+\\)" e t) | 1131 | ((re-search-forward "\\( *-?[0-9]+\\)" e t) |
| 1132 | (let* ((txt (filter-buffer-substring (match-beginning 1) (match-end 1) nil t)) | 1132 | (let* ((txt (cua--filter-buffer-noprops (match-beginning 1) (match-end 1))) |
| 1133 | (prefix (if (= (aref txt 0) ?0) "0" "")) | 1133 | (prefix (if (= (aref txt 0) ?0) "0" "")) |
| 1134 | (n (string-to-number txt 10)) | 1134 | (n (string-to-number txt 10)) |
| 1135 | (fmt (format "%%%s%dd" prefix (length txt)))) | 1135 | (fmt (format "%%%s%dd" prefix (length txt)))) |
diff --git a/lisp/erc/ChangeLog.03 b/lisp/erc/ChangeLog.03 index d378cf36d42..6f46837ad19 100644 --- a/lisp/erc/ChangeLog.03 +++ b/lisp/erc/ChangeLog.03 | |||
| @@ -145,7 +145,7 @@ | |||
| 145 | to delete-if-not. | 145 | to delete-if-not. |
| 146 | 146 | ||
| 147 | * erc.el(erc-update-current-channel-member): | 147 | * erc.el(erc-update-current-channel-member): |
| 148 | Use erc-downcase when comparing | 148 | Use erc-downcase when comparing |
| 149 | nick entries. Cleanup indentation. | 149 | nick entries. Cleanup indentation. |
| 150 | 150 | ||
| 151 | 2003-11-01 Lawrence Mitchell <wence@gmx.li> | 151 | 2003-11-01 Lawrence Mitchell <wence@gmx.li> |
| @@ -171,7 +171,7 @@ | |||
| 171 | 2003-10-24 Mario Lang <mlang@delysid.org> | 171 | 2003-10-24 Mario Lang <mlang@delysid.org> |
| 172 | 172 | ||
| 173 | * erc-dcc.el: From Stephan Stahl <stl@isogmbh.de>: | 173 | * erc-dcc.el: From Stephan Stahl <stl@isogmbh.de>: |
| 174 | * (erc-dcc-send-block): Kill buffer if transfer completed correctly. | 174 | (erc-dcc-send-block): Kill buffer if transfer completed correctly. |
| 175 | 175 | ||
| 176 | 2003-10-22 Mario Lang <mlang@delysid.org> | 176 | 2003-10-22 Mario Lang <mlang@delysid.org> |
| 177 | 177 | ||
diff --git a/lisp/erc/ChangeLog.04 b/lisp/erc/ChangeLog.04 index 16e7788a221..a1cbab740be 100644 --- a/lisp/erc/ChangeLog.04 +++ b/lisp/erc/ChangeLog.04 | |||
| @@ -72,7 +72,7 @@ | |||
| 72 | 2004-12-24 Jorgen Schaefer <forcer@users.sourceforge.net> | 72 | 2004-12-24 Jorgen Schaefer <forcer@users.sourceforge.net> |
| 73 | 73 | ||
| 74 | * erc-goodies.el, erc.el: The Small Extraction of Stuff[tm] commit. | 74 | * erc-goodies.el, erc.el: The Small Extraction of Stuff[tm] commit. |
| 75 | Moved some functions from erc.el to erc-goodies.el, and | 75 | Moved some functions from erc.el to erc-goodies.el, and |
| 76 | transformed them to erc modules in the process. | 76 | transformed them to erc modules in the process. |
| 77 | - imenu autoload stuff moved. I don't know why it is here at all. | 77 | - imenu autoload stuff moved. I don't know why it is here at all. |
| 78 | - Moved: scroll-to-bottom, make-read-only, distinguish-noncommands, | 78 | - Moved: scroll-to-bottom, make-read-only, distinguish-noncommands, |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index d78e07037b4..0b7eaf7ed72 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,4 +1,66 @@ | |||
| 1 | 2010-05-07 Christian von Roques <roques@mti.ag> (tiny change) | 1 | 2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | |||
| 3 | * mml1991.el (mml1991-mailcrypt-encrypt, mml1991-gpg-encrypt) | ||
| 4 | * mml2015.el (mml2015-gpg-encrypt): Disable multibyte in buffers | ||
| 5 | generated within the mm-with-unibyte-current-buffer macro. | ||
| 6 | |||
| 7 | 2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 8 | |||
| 9 | * gnus-art.el (gnus-bind-safe-url-regexp): Bind mm-w3m-safe-url-regexp | ||
| 10 | to nil when we're in a mml-preview buffer and no group is selected. | ||
| 11 | |||
| 12 | 2010-05-12 Andreas Seltenreich <seltenreich@gmx.de> | ||
| 13 | |||
| 14 | * gnus-sum.el (gnus-summary-read-group-1): Don't jump to next group | ||
| 15 | when catching the `C-g'. Reported by: "Leo" | ||
| 16 | |||
| 17 | 2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 18 | |||
| 19 | * message.el (message-forward-make-body-plain) | ||
| 20 | (message-forward-make-body-mml): Use mm-multibyte-string-p instead of | ||
| 21 | multibyte-string-p. | ||
| 22 | |||
| 23 | 2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 24 | |||
| 25 | * message.el (message-forward-make-body-mml): Assume original message | ||
| 26 | is multibyte string; error on unibyte. | ||
| 27 | (message-forward-make-body-plain): Ditto; don't add excessive newline | ||
| 28 | in body end. | ||
| 29 | |||
| 30 | 2010-05-11 Andreas Seltenreich <seltenreich@gmx.de> | ||
| 31 | |||
| 32 | * gnus-sum.el (gnus-summary-kill-thread): Use gnus-summary-mark-article | ||
| 33 | instead of g-s-m-a-as-unread to set the expirable mark. (Bug#5284) | ||
| 34 | |||
| 35 | 2010-05-11 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 36 | |||
| 37 | * mm-extern.el (mm-extern-url): Don't use | ||
| 38 | mm-with-unibyte-current-buffer. | ||
| 39 | (mm-extern-cache-contents): Use with-current-buffer instead of | ||
| 40 | save-excursion + set-buffer. | ||
| 41 | |||
| 42 | 2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 43 | |||
| 44 | * mm-util.el (mm-emacs-mule): Remove. | ||
| 45 | |||
| 46 | 2010-05-10 Andreas Seltenreich <seltenreich@gmx.de> | ||
| 47 | |||
| 48 | * gnus-sum.el (gnus-summary-mode): Don't make minor-mode-alist | ||
| 49 | buffer-local as it's incompatible with Stefan Monnier's 2010-05-03 | ||
| 50 | change. | ||
| 51 | |||
| 52 | 2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 53 | |||
| 54 | * mm-util.el (mm-with-unibyte-current-buffer): Redefine it so as not to | ||
| 55 | bind the default value of enable-multibyte-characters to nil. | ||
| 56 | |||
| 57 | 2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 58 | |||
| 59 | * message.el (message-forward-make-body-plain) | ||
| 60 | (message-forward-make-body-mml): | ||
| 61 | Don't use mm-with-unibyte-current-buffer. | ||
| 62 | |||
| 63 | 2010-05-07 Christian von Roques <roques@mti.ag> (tiny change) | ||
| 2 | 64 | ||
| 3 | * mml2015.el (mml2015-epg-find-usable-key): Skip disabled key | 65 | * mml2015.el (mml2015-epg-find-usable-key): Skip disabled key |
| 4 | (Bug#5592). | 66 | (Bug#5592). |
diff --git a/lisp/gnus/ChangeLog.1 b/lisp/gnus/ChangeLog.1 index e455770711b..795df6f95a7 100644 --- a/lisp/gnus/ChangeLog.1 +++ b/lisp/gnus/ChangeLog.1 | |||
| @@ -28,10 +28,10 @@ | |||
| 28 | 28 | ||
| 29 | * gnus-start.el (gnus-slave-save-newsrc): | 29 | * gnus-start.el (gnus-slave-save-newsrc): |
| 30 | * gnus-uu.el (gnus-uu-tmp-dir, gnus-uu-decode-binhex) | 30 | * gnus-uu.el (gnus-uu-tmp-dir, gnus-uu-decode-binhex) |
| 31 | (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward) | 31 | (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward) |
| 32 | (gnus-uu-initialize): | 32 | (gnus-uu-initialize): |
| 33 | * nnmail.el (nnmail-make-complex-temp-name, nnmail-get-new-mail): | 33 | * nnmail.el (nnmail-make-complex-temp-name, nnmail-get-new-mail): |
| 34 | Use make-temp-file. | 34 | Use make-temp-file. |
| 35 | 35 | ||
| 36 | 1999-09-07 Eli Zaretskii <eliz@gnu.org> | 36 | 1999-09-07 Eli Zaretskii <eliz@gnu.org> |
| 37 | 37 | ||
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index cd7f3b56aad..b05ff5fc8ef 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 | |||
| @@ -4905,8 +4905,8 @@ | |||
| 4905 | 2003-02-08 Michael Welsh Duggan <md5i@cs.cmu.edu> | 4905 | 2003-02-08 Michael Welsh Duggan <md5i@cs.cmu.edu> |
| 4906 | 4906 | ||
| 4907 | * nnmail.el (nnmail-split-it): If a message ends up matching the | 4907 | * nnmail.el (nnmail-split-it): If a message ends up matching the |
| 4908 | same mailbox more than once, it will cause duplicates to appear | 4908 | same mailbox more than once, it will cause duplicates to appear |
| 4909 | in the mailbox. | 4909 | in the mailbox. |
| 4910 | 4910 | ||
| 4911 | 2003-02-08 Simon Josefsson <jas@extundo.com> | 4911 | 2003-02-08 Simon Josefsson <jas@extundo.com> |
| 4912 | 4912 | ||
| @@ -5553,8 +5553,8 @@ | |||
| 5553 | 2003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@@gmx.net> | 5553 | 2003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@@gmx.net> |
| 5554 | 5554 | ||
| 5555 | * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use | 5555 | * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use |
| 5556 | /usr/bin/play as default player. | 5556 | /usr/bin/play as default player. |
| 5557 | (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play. | 5557 | (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play. |
| 5558 | 5558 | ||
| 5559 | 2003-01-14 Katsumi Yamaoka <yamaoka@jpl.org> | 5559 | 2003-01-14 Katsumi Yamaoka <yamaoka@jpl.org> |
| 5560 | 5560 | ||
| @@ -9034,7 +9034,7 @@ | |||
| 9034 | boolean not a string | 9034 | boolean not a string |
| 9035 | * gnus-group.el (gnus-group-line-format): Add description of %C | 9035 | * gnus-group.el (gnus-group-line-format): Add description of %C |
| 9036 | * gnus-group.el (gnus-group-line-format-alist): Add gnus-tmp-comment | 9036 | * gnus-group.el (gnus-group-line-format-alist): Add gnus-tmp-comment |
| 9037 | as %C | 9037 | as %C |
| 9038 | * gnus-group.el (gnus-group-insert-group-line): Add gnus-tmp-comment. | 9038 | * gnus-group.el (gnus-group-insert-group-line): Add gnus-tmp-comment. |
| 9039 | 9039 | ||
| 9040 | 2002-04-22 Paul Jarc <prj@po.cwru.edu> | 9040 | 2002-04-22 Paul Jarc <prj@po.cwru.edu> |
| @@ -11326,7 +11326,7 @@ | |||
| 11326 | 2002-01-02 ShengHuo ZHU <zsh@cs.rochester.edu> | 11326 | 2002-01-02 ShengHuo ZHU <zsh@cs.rochester.edu> |
| 11327 | 11327 | ||
| 11328 | * gnus-picon.el (gnus-picon-transform-newsgroups): Fix for the case | 11328 | * gnus-picon.el (gnus-picon-transform-newsgroups): Fix for the case |
| 11329 | "Newsgroups: rec.music.beatles.moderated, rec.music.beatles". | 11329 | "Newsgroups: rec.music.beatles.moderated, rec.music.beatles". |
| 11330 | 11330 | ||
| 11331 | 2002-01-03 Steve Youngs <youngs@xemacs.org> | 11331 | 2002-01-03 Steve Youngs <youngs@xemacs.org> |
| 11332 | 11332 | ||
| @@ -12256,7 +12256,7 @@ | |||
| 12256 | (imap-stream-alist): Backslash. | 12256 | (imap-stream-alist): Backslash. |
| 12257 | 12257 | ||
| 12258 | * gnus-sum.el (gnus-summary-limit-to-author): Missing arguments. | 12258 | * gnus-sum.el (gnus-summary-limit-to-author): Missing arguments. |
| 12259 | Thanks to david.goldberg6@verizon.net (David S. Goldberg). | 12259 | Thanks to david.goldberg6@verizon.net (David S. Goldberg). |
| 12260 | 12260 | ||
| 12261 | 2001-11-27 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> | 12261 | 2001-11-27 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> |
| 12262 | 12262 | ||
| @@ -12755,7 +12755,7 @@ | |||
| 12755 | 2001-10-30 13:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> | 12755 | 2001-10-30 13:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> |
| 12756 | 12756 | ||
| 12757 | * gnus-spec.el (gnus-parse-simple-format): Use | 12757 | * gnus-spec.el (gnus-parse-simple-format): Use |
| 12758 | buffer-substring-no-properties. | 12758 | buffer-substring-no-properties. |
| 12759 | 12759 | ||
| 12760 | 2001-10-30 Katsumi Yamaoka <yamaoka@jpl.org> | 12760 | 2001-10-30 Katsumi Yamaoka <yamaoka@jpl.org> |
| 12761 | 12761 | ||
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 5f899b3067a..0659ee893de 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -4822,7 +4822,11 @@ General format specifiers can also be used. See Info node | |||
| 4822 | (with-current-buffer gnus-article-current-summary | 4822 | (with-current-buffer gnus-article-current-summary |
| 4823 | gnus-newsgroup-name) | 4823 | gnus-newsgroup-name) |
| 4824 | gnus-newsgroup-name))) | 4824 | gnus-newsgroup-name))) |
| 4825 | (if (cond ((stringp gnus-safe-html-newsgroups) | 4825 | (if (cond ((not group) |
| 4826 | ;; Maybe we're in a mml-preview buffer | ||
| 4827 | ;; and no group is selected. | ||
| 4828 | t) | ||
| 4829 | ((stringp gnus-safe-html-newsgroups) | ||
| 4826 | (string-match gnus-safe-html-newsgroups group)) | 4830 | (string-match gnus-safe-html-newsgroups group)) |
| 4827 | ((consp gnus-safe-html-newsgroups) | 4831 | ((consp gnus-safe-html-newsgroups) |
| 4828 | (member group gnus-safe-html-newsgroups))) | 4832 | (member group gnus-safe-html-newsgroups))) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 480c546ca6e..3a2c944ed2f 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -3056,7 +3056,6 @@ The following commands are available: | |||
| 3056 | (gnus-simplify-mode-line) | 3056 | (gnus-simplify-mode-line) |
| 3057 | (setq major-mode 'gnus-summary-mode) | 3057 | (setq major-mode 'gnus-summary-mode) |
| 3058 | (setq mode-name "Summary") | 3058 | (setq mode-name "Summary") |
| 3059 | (make-local-variable 'minor-mode-alist) | ||
| 3060 | (use-local-map gnus-summary-mode-map) | 3059 | (use-local-map gnus-summary-mode-map) |
| 3061 | (buffer-disable-undo) | 3060 | (buffer-disable-undo) |
| 3062 | (setq buffer-read-only t ;Disable modification | 3061 | (setq buffer-read-only t ;Disable modification |
| @@ -3932,7 +3931,6 @@ If NO-DISPLAY, don't generate a summary buffer." | |||
| 3932 | (progn | 3931 | (progn |
| 3933 | (set-buffer gnus-group-buffer) | 3932 | (set-buffer gnus-group-buffer) |
| 3934 | (gnus-group-jump-to-group group) | 3933 | (gnus-group-jump-to-group group) |
| 3935 | (gnus-group-next-unread-group 1) | ||
| 3936 | (gnus-configure-windows 'group 'force)) | 3934 | (gnus-configure-windows 'group 'force)) |
| 3937 | (gnus-handle-ephemeral-exit quit-config)) | 3935 | (gnus-handle-ephemeral-exit quit-config)) |
| 3938 | ;; Finally signal the quit. | 3936 | ;; Finally signal the quit. |
| @@ -11509,7 +11507,7 @@ If the prefix argument is negative, tick articles instead." | |||
| 11509 | ((> unmark 0) | 11507 | ((> unmark 0) |
| 11510 | (gnus-summary-mark-article-as-unread gnus-unread-mark)) | 11508 | (gnus-summary-mark-article-as-unread gnus-unread-mark)) |
| 11511 | ((= unmark 0) | 11509 | ((= unmark 0) |
| 11512 | (gnus-summary-mark-article-as-unread gnus-expirable-mark)) | 11510 | (gnus-summary-mark-article nil gnus-expirable-mark)) |
| 11513 | (t | 11511 | (t |
| 11514 | (gnus-summary-mark-article-as-unread gnus-ticked-mark))) | 11512 | (gnus-summary-mark-article-as-unread gnus-ticked-mark))) |
| 11515 | (setq articles (cdr articles)))) | 11513 | (setq articles (cdr articles)))) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 79a88cd6bd3..947b1bd53e8 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -7161,22 +7161,28 @@ Optional DIGEST will use digest to forward." | |||
| 7161 | (defun message-forward-make-body-plain (forward-buffer) | 7161 | (defun message-forward-make-body-plain (forward-buffer) |
| 7162 | (insert | 7162 | (insert |
| 7163 | "\n-------------------- Start of forwarded message --------------------\n") | 7163 | "\n-------------------- Start of forwarded message --------------------\n") |
| 7164 | (let ((b (point)) e) | 7164 | (let ((b (point)) |
| 7165 | (insert | 7165 | (contents (with-current-buffer forward-buffer (buffer-string))) |
| 7166 | (with-temp-buffer | 7166 | e) |
| 7167 | (mm-disable-multibyte) | 7167 | (unless (featurep 'xemacs) |
| 7168 | (insert | 7168 | (unless (mm-multibyte-string-p contents) |
| 7169 | (with-current-buffer forward-buffer | 7169 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7170 | (mm-with-unibyte-current-buffer (buffer-string)))) | 7170 | to the multibyte buffer \"%s\"" |
| 7171 | (mm-enable-multibyte) | 7171 | (if (bufferp forward-buffer) |
| 7172 | (mime-to-mml) | 7172 | (buffer-name forward-buffer) |
| 7173 | (goto-char (point-min)) | 7173 | forward-buffer) |
| 7174 | (when (looking-at "From ") | 7174 | (buffer-name)))) |
| 7175 | (replace-match "X-From-Line: ")) | 7175 | (insert (mm-with-multibyte-buffer |
| 7176 | (buffer-string))) | 7176 | (insert contents) |
| 7177 | (mime-to-mml) | ||
| 7178 | (goto-char (point-min)) | ||
| 7179 | (when (looking-at "From ") | ||
| 7180 | (replace-match "X-From-Line: ")) | ||
| 7181 | (buffer-string))) | ||
| 7182 | (unless (bolp) (insert "\n")) | ||
| 7177 | (setq e (point)) | 7183 | (setq e (point)) |
| 7178 | (insert | 7184 | (insert |
| 7179 | "\n-------------------- End of forwarded message --------------------\n") | 7185 | "-------------------- End of forwarded message --------------------\n") |
| 7180 | (message-remove-ignored-headers b e))) | 7186 | (message-remove-ignored-headers b e))) |
| 7181 | 7187 | ||
| 7182 | (defun message-remove-ignored-headers (b e) | 7188 | (defun message-remove-ignored-headers (b e) |
| @@ -7212,18 +7218,22 @@ Optional DIGEST will use digest to forward." | |||
| 7212 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") | 7218 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") |
| 7213 | (let ((b (point)) e) | 7219 | (let ((b (point)) e) |
| 7214 | (if (not message-forward-decoded-p) | 7220 | (if (not message-forward-decoded-p) |
| 7215 | (insert | 7221 | (let ((contents (with-current-buffer forward-buffer (buffer-string)))) |
| 7216 | (with-temp-buffer | 7222 | (unless (featurep 'xemacs) |
| 7217 | (mm-disable-multibyte) | 7223 | (unless (mm-multibyte-string-p contents) |
| 7218 | (insert | 7224 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7219 | (with-current-buffer forward-buffer | 7225 | to the multibyte buffer \"%s\"" |
| 7220 | (mm-with-unibyte-current-buffer (buffer-string)))) | 7226 | (if (bufferp forward-buffer) |
| 7221 | (mm-enable-multibyte) | 7227 | (buffer-name forward-buffer) |
| 7222 | (mime-to-mml) | 7228 | forward-buffer) |
| 7223 | (goto-char (point-min)) | 7229 | (buffer-name)))) |
| 7224 | (when (looking-at "From ") | 7230 | (insert (mm-with-multibyte-buffer |
| 7225 | (replace-match "X-From-Line: ")) | 7231 | (insert contents) |
| 7226 | (buffer-string))) | 7232 | (mime-to-mml) |
| 7233 | (goto-char (point-min)) | ||
| 7234 | (when (looking-at "From ") | ||
| 7235 | (replace-match "X-From-Line: ")) | ||
| 7236 | (buffer-string)))) | ||
| 7227 | (save-restriction | 7237 | (save-restriction |
| 7228 | (narrow-to-region (point) (point)) | 7238 | (narrow-to-region (point) (point)) |
| 7229 | (mml-insert-buffer forward-buffer) | 7239 | (mml-insert-buffer forward-buffer) |
diff --git a/lisp/gnus/mm-extern.el b/lisp/gnus/mm-extern.el index 1e3df3c4cff..f40f798789c 100644 --- a/lisp/gnus/mm-extern.el +++ b/lisp/gnus/mm-extern.el | |||
| @@ -67,9 +67,8 @@ | |||
| 67 | (coding-system-for-read mm-binary-coding-system)) | 67 | (coding-system-for-read mm-binary-coding-system)) |
| 68 | (unless url | 68 | (unless url |
| 69 | (error "URL is not specified")) | 69 | (error "URL is not specified")) |
| 70 | (mm-with-unibyte-current-buffer | ||
| 71 | (mm-url-insert-file-contents url)) | ||
| 72 | (mm-disable-multibyte) | 70 | (mm-disable-multibyte) |
| 71 | (mm-url-insert-file-contents url) | ||
| 73 | (setq buffer-file-name name))) | 72 | (setq buffer-file-name name))) |
| 74 | 73 | ||
| 75 | (defun mm-extern-anon-ftp (handle) | 74 | (defun mm-extern-anon-ftp (handle) |
| @@ -125,7 +124,7 @@ | |||
| 125 | (or access-type | 124 | (or access-type |
| 126 | (error "Couldn't find access type")))) | 125 | (error "Couldn't find access type")))) |
| 127 | mm-extern-function-alist))) | 126 | mm-extern-function-alist))) |
| 128 | buf handles) | 127 | handles) |
| 129 | (unless func | 128 | (unless func |
| 130 | (error "Access type (%s) is not supported" access-type)) | 129 | (error "Access type (%s) is not supported" access-type)) |
| 131 | (mm-with-part handle | 130 | (mm-with-part handle |
| @@ -136,8 +135,7 @@ | |||
| 136 | (unless (bufferp (car handles)) | 135 | (unless (bufferp (car handles)) |
| 137 | (mm-destroy-parts handles) | 136 | (mm-destroy-parts handles) |
| 138 | (error "Multipart external body is not supported")) | 137 | (error "Multipart external body is not supported")) |
| 139 | (save-excursion | 138 | (with-current-buffer (mm-handle-buffer handles) |
| 140 | (set-buffer (setq buf (mm-handle-buffer handles))) | ||
| 141 | (let (good) | 139 | (let (good) |
| 142 | (unwind-protect | 140 | (unwind-protect |
| 143 | (progn | 141 | (progn |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index a288b8b1b6d..f657000205e 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -902,12 +902,6 @@ mail with multiple parts is preferred to sending a Unicode one.") | |||
| 902 | out))) | 902 | out))) |
| 903 | 903 | ||
| 904 | (eval-and-compile | 904 | (eval-and-compile |
| 905 | (defvar mm-emacs-mule (and (not (featurep 'xemacs)) | ||
| 906 | (boundp 'enable-multibyte-characters) | ||
| 907 | (default-value 'enable-multibyte-characters) | ||
| 908 | (fboundp 'set-buffer-multibyte)) | ||
| 909 | "True in Emacs with Mule.") | ||
| 910 | |||
| 911 | (if (featurep 'xemacs) | 905 | (if (featurep 'xemacs) |
| 912 | (defalias 'mm-enable-multibyte 'ignore) | 906 | (defalias 'mm-enable-multibyte 'ignore) |
| 913 | (defun mm-enable-multibyte () | 907 | (defun mm-enable-multibyte () |
| @@ -1230,33 +1224,23 @@ Use multibyte mode for this." | |||
| 1230 | 1224 | ||
| 1231 | (defmacro mm-with-unibyte-current-buffer (&rest forms) | 1225 | (defmacro mm-with-unibyte-current-buffer (&rest forms) |
| 1232 | "Evaluate FORMS with current buffer temporarily made unibyte. | 1226 | "Evaluate FORMS with current buffer temporarily made unibyte. |
| 1233 | Also bind the default-value of `enable-multibyte-characters' to nil. | 1227 | Equivalent to `progn' in XEmacs. |
| 1234 | Equivalent to `progn' in XEmacs | 1228 | |
| 1235 | 1229 | Note: We recommend not using this macro any more; there should be | |
| 1236 | NOTE: Use this macro with caution in multibyte buffers (it is not | 1230 | better ways to do a similar thing. The previous version of this macro |
| 1237 | worth using this macro in unibyte buffers of course). Use of | 1231 | bound the default value of `enable-multibyte-characters' to nil while |
| 1238 | `(set-buffer-multibyte t)', which is run finally, is generally | 1232 | evaluating FORMS but it is no longer done. So, some programs assuming |
| 1239 | harmful since it is likely to modify existing data in the buffer. | 1233 | it if any may malfunction." |
| 1240 | For instance, it converts \"\\300\\255\" into \"\\255\" in | ||
| 1241 | Emacs 23 (unicode)." | ||
| 1242 | (if (featurep 'xemacs) | 1234 | (if (featurep 'xemacs) |
| 1243 | `(progn ,@forms) | 1235 | `(progn ,@forms) |
| 1244 | ;; FIXME: (default-value 'enable-multibyte-characters) is read-only | 1236 | (let ((multibyte (make-symbol "multibyte"))) |
| 1245 | ;; so let-binding it is wrong. The right fix is to not use this | 1237 | `(let ((,multibyte enable-multibyte-characters)) |
| 1246 | ;; macro at all any more, since it's been ill-defined from the start. | 1238 | (when ,multibyte |
| 1247 | (let ((multibyte (make-symbol "multibyte")) | 1239 | (set-buffer-multibyte nil)) |
| 1248 | (buffer (make-symbol "buffer"))) | 1240 | (prog1 |
| 1249 | `(if mm-emacs-mule | 1241 | (progn ,@forms) |
| 1250 | (let ((,multibyte enable-multibyte-characters) | 1242 | (when ,multibyte |
| 1251 | (,buffer (current-buffer))) | 1243 | (set-buffer-multibyte t))))))) |
| 1252 | (unwind-protect | ||
| 1253 | (letf (((default-value 'enable-multibyte-characters) nil)) | ||
| 1254 | (set-buffer-multibyte nil) | ||
| 1255 | ,@forms) | ||
| 1256 | (set-buffer ,buffer) | ||
| 1257 | (set-buffer-multibyte ,multibyte))) | ||
| 1258 | (letf (((default-value 'enable-multibyte-characters) nil)) | ||
| 1259 | ,@forms))))) | ||
| 1260 | (put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0) | 1244 | (put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0) |
| 1261 | (put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body)) | 1245 | (put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body)) |
| 1262 | 1246 | ||
diff --git a/lisp/gnus/mml1991.el b/lisp/gnus/mml1991.el index a3ada29fa66..3ba479574fd 100644 --- a/lisp/gnus/mml1991.el +++ b/lisp/gnus/mml1991.el | |||
| @@ -145,6 +145,7 @@ Whether the passphrase is cached at all is controlled by | |||
| 145 | (delete-region (point-min) (point))) | 145 | (delete-region (point-min) (point))) |
| 146 | (mm-with-unibyte-current-buffer | 146 | (mm-with-unibyte-current-buffer |
| 147 | (with-temp-buffer | 147 | (with-temp-buffer |
| 148 | (inline (mm-disable-multibyte)) | ||
| 148 | (setq cipher (current-buffer)) | 149 | (setq cipher (current-buffer)) |
| 149 | (insert-buffer-substring text) | 150 | (insert-buffer-substring text) |
| 150 | (unless (mc-encrypt-generic | 151 | (unless (mc-encrypt-generic |
| @@ -225,6 +226,7 @@ Whether the passphrase is cached at all is controlled by | |||
| 225 | (delete-region (point-min) (point))) | 226 | (delete-region (point-min) (point))) |
| 226 | (mm-with-unibyte-current-buffer | 227 | (mm-with-unibyte-current-buffer |
| 227 | (with-temp-buffer | 228 | (with-temp-buffer |
| 229 | (inline (mm-disable-multibyte)) | ||
| 228 | (flet ((gpg-encrypt-func | 230 | (flet ((gpg-encrypt-func |
| 229 | (sign plaintext ciphertext result recipients &optional | 231 | (sign plaintext ciphertext result recipients &optional |
| 230 | passphrase sign-with-key armor textmode) | 232 | passphrase sign-with-key armor textmode) |
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el index 130a3ca86a5..977f4dabb67 100644 --- a/lisp/gnus/mml2015.el +++ b/lisp/gnus/mml2015.el | |||
| @@ -680,6 +680,7 @@ Whether the passphrase is cached at all is controlled by | |||
| 680 | cipher) | 680 | cipher) |
| 681 | (mm-with-unibyte-current-buffer | 681 | (mm-with-unibyte-current-buffer |
| 682 | (with-temp-buffer | 682 | (with-temp-buffer |
| 683 | (mm-disable-multibyte) | ||
| 683 | ;; set up a function to call the correct gpg encrypt routine | 684 | ;; set up a function to call the correct gpg encrypt routine |
| 684 | ;; with the right arguments. (FIXME: this should be done | 685 | ;; with the right arguments. (FIXME: this should be done |
| 685 | ;; differently.) | 686 | ;; differently.) |
diff --git a/lisp/iimage.el b/lisp/iimage.el index e52a7d37301..87591724dbb 100644 --- a/lisp/iimage.el +++ b/lisp/iimage.el | |||
| @@ -55,19 +55,17 @@ | |||
| 55 | :group 'image) | 55 | :group 'image) |
| 56 | 56 | ||
| 57 | (defconst iimage-version "1.1") | 57 | (defconst iimage-version "1.1") |
| 58 | (defvar iimage-mode nil) | ||
| 59 | (defvar iimage-mode-map nil) | ||
| 60 | 58 | ||
| 61 | ;; Set up key map. | 59 | (defvar iimage-mode-map |
| 62 | (unless iimage-mode-map | 60 | (let ((map (make-sparse-keymap))) |
| 63 | (setq iimage-mode-map (make-sparse-keymap)) | 61 | (define-key map "\C-l" 'iimage-recenter) |
| 64 | (define-key iimage-mode-map "\C-l" 'iimage-recenter)) | 62 | map)) |
| 65 | 63 | ||
| 66 | (defun iimage-recenter (&optional arg) | 64 | (defun iimage-recenter (&optional arg) |
| 67 | "Re-draw images and recenter." | 65 | "Re-draw images and recenter." |
| 68 | (interactive "P") | 66 | (interactive "P") |
| 69 | (iimage-mode-buffer 0) | 67 | (iimage-mode-buffer nil) |
| 70 | (iimage-mode-buffer 1) | 68 | (iimage-mode-buffer t) |
| 71 | (recenter arg)) | 69 | (recenter arg)) |
| 72 | 70 | ||
| 73 | (defvar iimage-mode-image-filename-regex | 71 | (defvar iimage-mode-image-filename-regex |
| @@ -81,7 +79,7 @@ | |||
| 81 | `((,(concat "\\(`?file://\\|\\[\\[\\|<\\|`\\)?" | 79 | `((,(concat "\\(`?file://\\|\\[\\[\\|<\\|`\\)?" |
| 82 | "\\(" iimage-mode-image-filename-regex "\\)" | 80 | "\\(" iimage-mode-image-filename-regex "\\)" |
| 83 | "\\(\\]\\]\\|>\\|'\\)?") . 2)) | 81 | "\\(\\]\\]\\|>\\|'\\)?") . 2)) |
| 84 | "*Alist of filename REGEXP vs NUM. | 82 | "*Alist of filename REGEXP vs NUM. |
| 85 | Each element looks like (REGEXP . NUM). | 83 | Each element looks like (REGEXP . NUM). |
| 86 | NUM specifies which parenthesized expression in the regexp. | 84 | NUM specifies which parenthesized expression in the regexp. |
| 87 | 85 | ||
| @@ -90,54 +88,43 @@ Examples of image filename regexps: | |||
| 90 | `file://foo.png' | 88 | `file://foo.png' |
| 91 | \\[\\[foo.gif]] | 89 | \\[\\[foo.gif]] |
| 92 | <foo.png> | 90 | <foo.png> |
| 93 | foo.JPG | 91 | foo.JPG") |
| 94 | ") | ||
| 95 | 92 | ||
| 96 | (defvar iimage-mode-image-search-path nil | 93 | (defvar iimage-mode-image-search-path nil |
| 97 | "*List of directories to search for image files for iimage-mode.") | 94 | "*List of directories to search for image files for `iimage-mode'.") |
| 98 | 95 | ||
| 99 | ;;;###autoload | 96 | ;;;###autoload |
| 100 | (defun turn-on-iimage-mode () | 97 | (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1") |
| 101 | "Unconditionally turn on iimage mode." | ||
| 102 | (interactive) | ||
| 103 | (iimage-mode 1)) | ||
| 104 | 98 | ||
| 105 | (defun turn-off-iimage-mode () | 99 | (defun turn-off-iimage-mode () |
| 106 | "Unconditionally turn off iimage mode." | 100 | "Unconditionally turn off iimage mode." |
| 107 | (interactive) | 101 | (interactive) |
| 108 | (iimage-mode 0)) | 102 | (iimage-mode 0)) |
| 109 | 103 | ||
| 110 | (defalias 'iimage-locate-file 'locate-file) | ||
| 111 | |||
| 112 | (defun iimage-mode-buffer (arg) | 104 | (defun iimage-mode-buffer (arg) |
| 113 | "Display/undisplay images. | 105 | "Display images if ARG is non-nil, undisplay them otherwise." |
| 114 | With numeric ARG, display the images if and only if ARG is positive." | 106 | (let ((image-path (cons default-directory iimage-mode-image-search-path)) |
| 115 | (interactive) | 107 | file) |
| 116 | (let ((ing (if (numberp arg) | 108 | (with-silent-modifications |
| 117 | (> arg 0) | 109 | (save-excursion |
| 118 | iimage-mode)) | 110 | (goto-char (point-min)) |
| 119 | (modp (buffer-modified-p (current-buffer))) | 111 | (dolist (pair iimage-mode-image-regex-alist) |
| 120 | file buffer-read-only) | 112 | (while (re-search-forward (car pair) nil t) |
| 121 | (save-excursion | 113 | (if (and (setq file (match-string (cdr pair))) |
| 122 | (goto-char (point-min)) | 114 | (setq file (locate-file file image-path))) |
| 123 | (dolist (pair iimage-mode-image-regex-alist) | 115 | ;; FIXME: we don't mark our images, so we can't reliably |
| 124 | (while (re-search-forward (car pair) nil t) | 116 | ;; remove them either (we may leave some of ours, and we |
| 125 | (if (and (setq file (match-string (cdr pair))) | 117 | ;; may remove other packages's display properties). |
| 126 | (setq file (iimage-locate-file file | 118 | (if arg |
| 127 | (cons default-directory | 119 | (add-text-properties (match-beginning 0) (match-end 0) |
| 128 | iimage-mode-image-search-path)))) | 120 | (list 'display (create-image file))) |
| 129 | (if ing | 121 | (remove-text-properties (match-beginning 0) (match-end 0) |
| 130 | (add-text-properties (match-beginning 0) (match-end 0) | 122 | '(display)))))))))) |
| 131 | (list 'display (create-image file))) | ||
| 132 | (remove-text-properties (match-beginning 0) (match-end 0) | ||
| 133 | '(display))))))) | ||
| 134 | (set-buffer-modified-p modp))) | ||
| 135 | 123 | ||
| 136 | ;;;###autoload | 124 | ;;;###autoload |
| 137 | (define-minor-mode iimage-mode | 125 | (define-minor-mode iimage-mode |
| 138 | "Toggle inline image minor mode." | 126 | "Toggle inline image minor mode." |
| 139 | :group 'iimage :lighter " iImg" :keymap iimage-mode-map | 127 | :group 'iimage :lighter " iImg" :keymap iimage-mode-map |
| 140 | (run-hooks 'iimage-mode-hook) | ||
| 141 | (iimage-mode-buffer iimage-mode)) | 128 | (iimage-mode-buffer iimage-mode)) |
| 142 | 129 | ||
| 143 | (provide 'iimage) | 130 | (provide 'iimage) |
diff --git a/lisp/info.el b/lisp/info.el index f526ff22a0e..e76a8da146e 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -266,6 +266,8 @@ with wrapping around the current Info node." | |||
| 266 | :group 'info) | 266 | :group 'info) |
| 267 | 267 | ||
| 268 | (defvar Info-isearch-initial-node nil) | 268 | (defvar Info-isearch-initial-node nil) |
| 269 | (defvar Info-isearch-initial-history nil) | ||
| 270 | (defvar Info-isearch-initial-history-list nil) | ||
| 269 | 271 | ||
| 270 | (defcustom Info-mode-hook | 272 | (defcustom Info-mode-hook |
| 271 | ;; Try to obey obsolete Info-fontify settings. | 273 | ;; Try to obey obsolete Info-fontify settings. |
| @@ -1914,7 +1916,27 @@ If DIRECTION is `backward', search in the reverse direction." | |||
| 1914 | (setq Info-isearch-initial-node | 1916 | (setq Info-isearch-initial-node |
| 1915 | ;; Don't stop at initial node for nonincremental search. | 1917 | ;; Don't stop at initial node for nonincremental search. |
| 1916 | ;; Otherwise this variable is set after first search failure. | 1918 | ;; Otherwise this variable is set after first search failure. |
| 1917 | (and isearch-nonincremental Info-current-node))) | 1919 | (and isearch-nonincremental Info-current-node)) |
| 1920 | (setq Info-isearch-initial-history Info-history | ||
| 1921 | Info-isearch-initial-history-list Info-history-list) | ||
| 1922 | (add-hook 'isearch-mode-end-hook 'Info-isearch-end nil t)) | ||
| 1923 | |||
| 1924 | (defun Info-isearch-end () | ||
| 1925 | ;; Remove intermediate nodes (visited while searching) | ||
| 1926 | ;; from the history. Add only the last node (where Isearch ended). | ||
| 1927 | (if (> (length Info-history) | ||
| 1928 | (length Info-isearch-initial-history)) | ||
| 1929 | (setq Info-history | ||
| 1930 | (nthcdr (- (length Info-history) | ||
| 1931 | (length Info-isearch-initial-history) | ||
| 1932 | 1) | ||
| 1933 | Info-history))) | ||
| 1934 | (if (> (length Info-history-list) | ||
| 1935 | (length Info-isearch-initial-history-list)) | ||
| 1936 | (setq Info-history-list | ||
| 1937 | (cons (car Info-history-list) | ||
| 1938 | Info-isearch-initial-history-list))) | ||
| 1939 | (remove-hook 'isearch-mode-end-hook 'Info-isearch-end t)) | ||
| 1918 | 1940 | ||
| 1919 | (defun Info-isearch-filter (beg-found found) | 1941 | (defun Info-isearch-filter (beg-found found) |
| 1920 | "Test whether the current search hit is a visible useful text. | 1942 | "Test whether the current search hit is a visible useful text. |
diff --git a/lisp/mh-e/ChangeLog.1 b/lisp/mh-e/ChangeLog.1 index a51bd2872c3..5d08fd73e69 100644 --- a/lisp/mh-e/ChangeLog.1 +++ b/lisp/mh-e/ChangeLog.1 | |||
| @@ -195,11 +195,11 @@ | |||
| 195 | 195 | ||
| 196 | 2005-05-28 Bill Wohler <wohler@newt.com> | 196 | 2005-05-28 Bill Wohler <wohler@newt.com> |
| 197 | 197 | ||
| 198 | Released MH-E version 7.84. | 198 | Released MH-E version 7.84. |
| 199 | 199 | ||
| 200 | * MH-E-NEWS, README: Updated for release 7.84. | 200 | * MH-E-NEWS, README: Updated for release 7.84. |
| 201 | 201 | ||
| 202 | * mh-e.el (Version, mh-version): Updated for release 7.84. | 202 | * mh-e.el (Version, mh-version): Updated for release 7.84. |
| 203 | 203 | ||
| 204 | 2005-05-28 Bill Wohler <wohler@newt.com> | 204 | 2005-05-28 Bill Wohler <wohler@newt.com> |
| 205 | 205 | ||
| @@ -4396,7 +4396,6 @@ | |||
| 4396 | mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions | 4396 | mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions |
| 4397 | (closes SF #680731). | 4397 | (closes SF #680731). |
| 4398 | 4398 | ||
| 4399 | |||
| 4400 | 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu> | 4399 | 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu> |
| 4401 | 4400 | ||
| 4402 | * mh-index.el: Fix commentary to mention that mairix is supported | 4401 | * mh-index.el: Fix commentary to mention that mairix is supported |
| @@ -7556,10 +7555,10 @@ | |||
| 7556 | the MH pick command to give the user more information when | 7555 | the MH pick command to give the user more information when |
| 7557 | choosing between mh-search-folder and mh-index-folder. | 7556 | choosing between mh-search-folder and mh-index-folder. |
| 7558 | 7557 | ||
| 7559 | * mh-index.el (mh-index-search): Edited the docstring. Direct the | 7558 | * mh-index.el (mh-index-search): Edited the docstring. Direct the |
| 7560 | user to mh-index-program if necessary. | 7559 | user to mh-index-program if necessary. |
| 7561 | (mh-index-program): Edited this docstring too. Viewing the help | 7560 | (mh-index-program): Edited this docstring too. Viewing the help |
| 7562 | in a *Help* buffer really exposes grammatical flaws. | 7561 | in a *Help* buffer really exposes grammatical flaws. |
| 7563 | 7562 | ||
| 7564 | 2002-11-05 Peter S Galbraith <psg@debian.org> | 7563 | 2002-11-05 Peter S Galbraith <psg@debian.org> |
| 7565 | 7564 | ||
| @@ -7839,7 +7838,6 @@ | |||
| 7839 | (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up | 7838 | (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up |
| 7840 | target and moved pieces into their own sections. | 7839 | target and moved pieces into their own sections. |
| 7841 | 7840 | ||
| 7842 | |||
| 7843 | 2002-10-30 Peter S Galbraith <psg@debian.org> | 7841 | 2002-10-30 Peter S Galbraith <psg@debian.org> |
| 7844 | 7842 | ||
| 7845 | * mh-utils.el (mh-show-font-lock-keywords): Wrap an | 7843 | * mh-utils.el (mh-show-font-lock-keywords): Wrap an |
| @@ -8494,11 +8492,10 @@ | |||
| 8494 | 2002-10-22 Mark D. Baushke <mdb@gnu.org> | 8492 | 2002-10-22 Mark D. Baushke <mdb@gnu.org> |
| 8495 | 8493 | ||
| 8496 | * mh-mime.el (mh-graphical-smileys-flag): Renamed from | 8494 | * mh-mime.el (mh-graphical-smileys-flag): Renamed from |
| 8497 | mh-graphical-smileys-p. | 8495 | mh-graphical-smileys-p. |
| 8498 | (mh-display-smileys): Use it. | 8496 | (mh-display-smileys): Use it. |
| 8499 | (mh-graphical-emphasis-flag): Renamed from | 8497 | (mh-graphical-emphasis-flag): Renamed from mh-graphical-emphasis-p. |
| 8500 | mh-graphical-emphasis-p. | 8498 | (mh-display-emphasis): Use it. This addresses part of SF #627015. |
| 8501 | (mh-display-emphasis): Use it. This addresses part of SF #627015. | ||
| 8502 | 8499 | ||
| 8503 | 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu> | 8500 | 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu> |
| 8504 | 8501 | ||
| @@ -9301,7 +9298,7 @@ | |||
| 9301 | * mh-mime.el (mh-store-mime-parts-directory): New defcustom. | 9298 | * mh-mime.el (mh-store-mime-parts-directory): New defcustom. |
| 9302 | Default directory to use for mh-store-mime-parts. | 9299 | Default directory to use for mh-store-mime-parts. |
| 9303 | (mh-store-mime-parts): New Command. Store the MIME parts of the | 9300 | (mh-store-mime-parts): New Command. Store the MIME parts of the |
| 9304 | current message. | 9301 | current message. |
| 9305 | (mh-store-mime-parts-directory-default): New internal working | 9302 | (mh-store-mime-parts-directory-default): New internal working |
| 9306 | variable. Default to use for mh-store-mime-parts-directory, set | 9303 | variable. Default to use for mh-store-mime-parts-directory, set |
| 9307 | from last use. | 9304 | from last use. |
| @@ -9309,7 +9306,6 @@ | |||
| 9309 | * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to | 9306 | * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to |
| 9310 | toolbar. | 9307 | toolbar. |
| 9311 | 9308 | ||
| 9312 | |||
| 9313 | 2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu> | 9309 | 2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu> |
| 9314 | 9310 | ||
| 9315 | * mh-seq.el (mh-thread-generate-scan-lines): In threaded view, | 9311 | * mh-seq.el (mh-thread-generate-scan-lines): In threaded view, |
| @@ -10487,7 +10483,6 @@ | |||
| 10487 | (clean): New target that blows away MH-E-OBJ. | 10483 | (clean): New target that blows away MH-E-OBJ. |
| 10488 | (dist): Added $(MH-E-OBJ) to tarball. | 10484 | (dist): Added $(MH-E-OBJ) to tarball. |
| 10489 | 10485 | ||
| 10490 | |||
| 10491 | Attempt to quiet compilation errors to a dull roar. | 10486 | Attempt to quiet compilation errors to a dull roar. |
| 10492 | 10487 | ||
| 10493 | * mh-e.el: Require easymenu, added autoload of info. | 10488 | * mh-e.el: Require easymenu, added autoload of info. |
| @@ -10506,7 +10501,6 @@ | |||
| 10506 | * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of | 10501 | * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of |
| 10507 | file. | 10502 | file. |
| 10508 | 10503 | ||
| 10509 | |||
| 10510 | * Makefile: (EMACS): New constant to hold emacs calling sequence. | 10504 | * Makefile: (EMACS): New constant to hold emacs calling sequence. |
| 10511 | (install): Renamed to install-emacs. | 10505 | (install): Renamed to install-emacs. |
| 10512 | (compile): New target to compile all files. | 10506 | (compile): New target to compile all files. |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 869ce937b66..b1ecae3801d 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -76,6 +76,9 @@ | |||
| 76 | ;; the provided string (as is the case in filecache.el), in which | 76 | ;; the provided string (as is the case in filecache.el), in which |
| 77 | ;; case partial-completion (for example) doesn't make any sense | 77 | ;; case partial-completion (for example) doesn't make any sense |
| 78 | ;; and neither does the completions-first-difference highlight. | 78 | ;; and neither does the completions-first-difference highlight. |
| 79 | ;; - indicate how to display the completions in *Completions* (turn | ||
| 80 | ;; \n into something else, add special boundaries between | ||
| 81 | ;; completions). E.g. when completing from the kill-ring. | ||
| 79 | 82 | ||
| 80 | ;; - make partial-completion-mode obsolete: | 83 | ;; - make partial-completion-mode obsolete: |
| 81 | ;; - (?) <foo.h> style completion for file names. | 84 | ;; - (?) <foo.h> style completion for file names. |
| @@ -489,6 +492,18 @@ Moves point to the end of the new text." | |||
| 489 | (insert newtext) | 492 | (insert newtext) |
| 490 | (delete-region (point) (+ (point) (- end beg)))) | 493 | (delete-region (point) (+ (point) (- end beg)))) |
| 491 | 494 | ||
| 495 | (defcustom completion-cycle-threshold nil | ||
| 496 | "Number of completion candidates below which cycling is used. | ||
| 497 | Depending on this setting `minibuffer-complete' may use cycling, | ||
| 498 | like `minibuffer-force-complete'. | ||
| 499 | If nil, cycling is never used. | ||
| 500 | If t, cycling is always used. | ||
| 501 | If an integer, cycling is used as soon as there are fewer completion | ||
| 502 | candidates than this number." | ||
| 503 | :type '(choice (const :tag "No cycling" nil) | ||
| 504 | (const :tag "Always cycle" t) | ||
| 505 | (integer :tag "Threshold"))) | ||
| 506 | |||
| 492 | (defun completion--do-completion (&optional try-completion-function) | 507 | (defun completion--do-completion (&optional try-completion-function) |
| 493 | "Do the completion and return a summary of what happened. | 508 | "Do the completion and return a summary of what happened. |
| 494 | M = completion was performed, the text was Modified. | 509 | M = completion was performed, the text was Modified. |
| @@ -548,14 +563,43 @@ E = after completion we now have an Exact match. | |||
| 548 | ;; It did find a match. Do we match some possibility exactly now? | 563 | ;; It did find a match. Do we match some possibility exactly now? |
| 549 | (let ((exact (test-completion completion | 564 | (let ((exact (test-completion completion |
| 550 | minibuffer-completion-table | 565 | minibuffer-completion-table |
| 551 | minibuffer-completion-predicate))) | 566 | minibuffer-completion-predicate)) |
| 552 | (if completed | 567 | (comps |
| 568 | ;; Check to see if we want to do cycling. We do it | ||
| 569 | ;; here, after having performed the normal completion, | ||
| 570 | ;; so as to take advantage of the difference between | ||
| 571 | ;; try-completion and all-completions, for things | ||
| 572 | ;; like completion-ignored-extensions. | ||
| 573 | (when (and completion-cycle-threshold | ||
| 574 | ;; Check that the completion didn't make | ||
| 575 | ;; us jump to a different boundary. | ||
| 576 | (or (not completed) | ||
| 577 | (< (car (completion-boundaries | ||
| 578 | (substring completion 0 comp-pos) | ||
| 579 | minibuffer-completion-table | ||
| 580 | minibuffer-completion-predicate | ||
| 581 | "")) | ||
| 582 | comp-pos))) | ||
| 583 | (completion-all-sorted-completions)))) | ||
| 584 | (setq completion-all-sorted-completions nil) | ||
| 585 | (cond | ||
| 586 | ((and (not (ignore-errors | ||
| 587 | ;; This signal an (intended) error if comps is too | ||
| 588 | ;; short or if completion-cycle-threshold is t. | ||
| 589 | (consp (nthcdr completion-cycle-threshold comps)))) | ||
| 590 | ;; More than 1, so there's something to cycle. | ||
| 591 | (consp (cdr comps))) | ||
| 592 | ;; Fewer than completion-cycle-threshold remaining | ||
| 593 | ;; completions: let's cycle. | ||
| 594 | (setq completed t exact t) | ||
| 595 | (setq completion-all-sorted-completions comps) | ||
| 596 | (minibuffer-force-complete)) | ||
| 597 | (completed | ||
| 553 | ;; We could also decide to refresh the completions, | 598 | ;; We could also decide to refresh the completions, |
| 554 | ;; if they're displayed (and assuming there are | 599 | ;; if they're displayed (and assuming there are |
| 555 | ;; completions left). | 600 | ;; completions left). |
| 556 | (minibuffer-hide-completions) | 601 | (minibuffer-hide-completions)) |
| 557 | ;; Show the completion table, if requested. | 602 | ;; Show the completion table, if requested. |
| 558 | (cond | ||
| 559 | ((not exact) | 603 | ((not exact) |
| 560 | (if (case completion-auto-help | 604 | (if (case completion-auto-help |
| 561 | (lazy (eq this-command last-command)) | 605 | (lazy (eq this-command last-command)) |
| @@ -566,7 +610,7 @@ E = after completion we now have an Exact match. | |||
| 566 | ;; means we've already given a "Next char not unique" message | 610 | ;; means we've already given a "Next char not unique" message |
| 567 | ;; and the user's hit TAB again, so now we give him help. | 611 | ;; and the user's hit TAB again, so now we give him help. |
| 568 | ((eq this-command last-command) | 612 | ((eq this-command last-command) |
| 569 | (if completion-auto-help (minibuffer-completion-help))))) | 613 | (if completion-auto-help (minibuffer-completion-help)))) |
| 570 | 614 | ||
| 571 | (minibuffer--bitset completed t exact)))))))) | 615 | (minibuffer--bitset completed t exact)))))))) |
| 572 | 616 | ||
| @@ -580,21 +624,26 @@ scroll the window of possible completions." | |||
| 580 | ;; If the previous command was not this, | 624 | ;; If the previous command was not this, |
| 581 | ;; mark the completion buffer obsolete. | 625 | ;; mark the completion buffer obsolete. |
| 582 | (unless (eq this-command last-command) | 626 | (unless (eq this-command last-command) |
| 627 | (setq completion-all-sorted-completions nil) | ||
| 583 | (setq minibuffer-scroll-window nil)) | 628 | (setq minibuffer-scroll-window nil)) |
| 584 | 629 | ||
| 585 | (let ((window minibuffer-scroll-window)) | 630 | (cond |
| 586 | ;; If there's a fresh completion window with a live buffer, | 631 | ;; If there's a fresh completion window with a live buffer, |
| 587 | ;; and this command is repeated, scroll that window. | 632 | ;; and this command is repeated, scroll that window. |
| 588 | (if (window-live-p window) | 633 | ((window-live-p minibuffer-scroll-window) |
| 634 | (let ((window minibuffer-scroll-window)) | ||
| 589 | (with-current-buffer (window-buffer window) | 635 | (with-current-buffer (window-buffer window) |
| 590 | (if (pos-visible-in-window-p (point-max) window) | 636 | (if (pos-visible-in-window-p (point-max) window) |
| 591 | ;; If end is in view, scroll up to the beginning. | 637 | ;; If end is in view, scroll up to the beginning. |
| 592 | (set-window-start window (point-min) nil) | 638 | (set-window-start window (point-min) nil) |
| 593 | ;; Else scroll down one screen. | 639 | ;; Else scroll down one screen. |
| 594 | (scroll-other-window)) | 640 | (scroll-other-window)) |
| 595 | nil) | 641 | nil))) |
| 596 | 642 | ;; If we're cycling, keep on cycling. | |
| 597 | (case (completion--do-completion) | 643 | (completion-all-sorted-completions |
| 644 | (minibuffer-force-complete) | ||
| 645 | t) | ||
| 646 | (t (case (completion--do-completion) | ||
| 598 | (#b000 nil) | 647 | (#b000 nil) |
| 599 | (#b001 (minibuffer-message "Sole completion") | 648 | (#b001 (minibuffer-message "Sole completion") |
| 600 | t) | 649 | t) |
| @@ -1835,8 +1884,8 @@ or a symbol chosen among `any', `star', `point', `prefix'." | |||
| 1835 | (lambda (x) | 1884 | (lambda (x) |
| 1836 | (cond | 1885 | (cond |
| 1837 | ((stringp x) (regexp-quote x)) | 1886 | ((stringp x) (regexp-quote x)) |
| 1838 | ((if (consp group) (memq x group) group) | 1887 | ((if (consp group) (memq x group) group) "\\(.*?\\)") |
| 1839 | "\\(.*?\\)" ".*?"))) | 1888 | (t ".*?"))) |
| 1840 | pattern | 1889 | pattern |
| 1841 | "")))) | 1890 | "")))) |
| 1842 | ;; Avoid pathological backtracking. | 1891 | ;; Avoid pathological backtracking. |
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 434c2bad20d..00b282b83e3 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -334,41 +334,41 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server. | |||
| 334 | PRESERVE-UID-GID is completely ignored." | 334 | PRESERVE-UID-GID is completely ignored." |
| 335 | (setq filename (expand-file-name filename) | 335 | (setq filename (expand-file-name filename) |
| 336 | newname (expand-file-name newname)) | 336 | newname (expand-file-name newname)) |
| 337 | (with-progress-reporter | ||
| 338 | (tramp-dissect-file-name (if (file-remote-p filename) filename newname)) | ||
| 339 | 0 (format "Copying %s to %s" filename newname) | ||
| 340 | |||
| 341 | (let ((tmpfile (file-local-copy filename))) | ||
| 342 | |||
| 343 | (if tmpfile | ||
| 344 | ;; Remote filename. | ||
| 345 | (condition-case err | ||
| 346 | (rename-file tmpfile newname ok-if-already-exists) | ||
| 347 | ((error quit) | ||
| 348 | (tramp-compat-delete-file tmpfile 'force) | ||
| 349 | (signal (car err) (cdr err)))) | ||
| 350 | |||
| 351 | ;; Remote newname. | ||
| 352 | (when (file-directory-p newname) | ||
| 353 | (setq newname | ||
| 354 | (expand-file-name (file-name-nondirectory filename) newname))) | ||
| 355 | |||
| 356 | (with-parsed-tramp-file-name newname nil | ||
| 357 | (when (and (not ok-if-already-exists) | ||
| 358 | (file-exists-p newname)) | ||
| 359 | (tramp-error v 'file-already-exists newname)) | ||
| 337 | 360 | ||
| 338 | (let ((tmpfile (file-local-copy filename))) | 361 | ;; We must also flush the cache of the directory, because |
| 339 | 362 | ;; `file-attributes' reads the values from there. | |
| 340 | (if tmpfile | 363 | (tramp-flush-file-property v (file-name-directory localname)) |
| 341 | ;; Remote filename. | 364 | (tramp-flush-file-property v localname) |
| 342 | (condition-case err | 365 | (unless (tramp-smb-get-share v) |
| 343 | (rename-file tmpfile newname ok-if-already-exists) | 366 | (tramp-error |
| 344 | ((error quit) | 367 | v 'file-error "Target `%s' must contain a share name" newname)) |
| 345 | (tramp-compat-delete-file tmpfile 'force) | 368 | (unless (tramp-smb-send-command |
| 346 | (signal (car err) (cdr err)))) | 369 | v (format "put \"%s\" \"%s\"" |
| 347 | 370 | filename (tramp-smb-get-localname v))) | |
| 348 | ;; Remote newname. | 371 | (tramp-error v 'file-error "Cannot copy `%s'" filename)))))) |
| 349 | (when (file-directory-p newname) | ||
| 350 | (setq newname (expand-file-name | ||
| 351 | (file-name-nondirectory filename) newname))) | ||
| 352 | |||
| 353 | (with-parsed-tramp-file-name newname nil | ||
| 354 | (when (and (not ok-if-already-exists) | ||
| 355 | (file-exists-p newname)) | ||
| 356 | (tramp-error v 'file-already-exists newname)) | ||
| 357 | |||
| 358 | ;; We must also flush the cache of the directory, because | ||
| 359 | ;; `file-attributes' reads the values from there. | ||
| 360 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 361 | (tramp-flush-file-property v localname) | ||
| 362 | (unless (tramp-smb-get-share v) | ||
| 363 | (tramp-error | ||
| 364 | v 'file-error "Target `%s' must contain a share name" newname)) | ||
| 365 | (tramp-message v 0 "Copying file %s to file %s..." filename newname) | ||
| 366 | (if (tramp-smb-send-command | ||
| 367 | v (format "put \"%s\" \"%s\"" | ||
| 368 | filename (tramp-smb-get-localname v))) | ||
| 369 | (tramp-message | ||
| 370 | v 0 "Copying file %s to file %s...done" filename newname) | ||
| 371 | (tramp-error v 'file-error "Cannot copy `%s'" filename))))) | ||
| 372 | 372 | ||
| 373 | ;; KEEP-DATE handling. | 373 | ;; KEEP-DATE handling. |
| 374 | (when keep-date (set-file-times newname (nth 5 (file-attributes filename))))) | 374 | (when keep-date (set-file-times newname (nth 5 (file-attributes filename))))) |
| @@ -605,15 +605,15 @@ PRESERVE-UID-GID is completely ignored." | |||
| 605 | v 'file-error | 605 | v 'file-error |
| 606 | "Cannot make local copy of non-existing file `%s'" filename)) | 606 | "Cannot make local copy of non-existing file `%s'" filename)) |
| 607 | (let ((tmpfile (tramp-compat-make-temp-file filename))) | 607 | (let ((tmpfile (tramp-compat-make-temp-file filename))) |
| 608 | (tramp-message v 4 "Fetching %s to tmp file %s..." filename tmpfile) | 608 | (with-progress-reporter |
| 609 | (if (tramp-smb-send-command | 609 | v 3 (format "Fetching %s to tmp file %s" filename tmpfile) |
| 610 | v (format "get \"%s\" \"%s\"" (tramp-smb-get-localname v) tmpfile)) | 610 | (unless (tramp-smb-send-command |
| 611 | (tramp-message | 611 | v (format "get \"%s\" \"%s\"" |
| 612 | v 4 "Fetching %s to tmp file %s...done" filename tmpfile) | 612 | (tramp-smb-get-localname v) tmpfile)) |
| 613 | ;; Oops, an error. We shall cleanup. | 613 | ;; Oops, an error. We shall cleanup. |
| 614 | (tramp-compat-delete-file tmpfile 'force) | 614 | (tramp-compat-delete-file tmpfile 'force) |
| 615 | (tramp-error | 615 | (tramp-error |
| 616 | v 'file-error "Cannot make local copy of file `%s'" filename)) | 616 | v 'file-error "Cannot make local copy of file `%s'" filename))) |
| 617 | tmpfile))) | 617 | tmpfile))) |
| 618 | 618 | ||
| 619 | ;; This function should return "foo/" for directories and "bar" for | 619 | ;; This function should return "foo/" for directories and "bar" for |
| @@ -850,38 +850,39 @@ target of the symlink differ." | |||
| 850 | "Like `rename-file' for Tramp files." | 850 | "Like `rename-file' for Tramp files." |
| 851 | (setq filename (expand-file-name filename) | 851 | (setq filename (expand-file-name filename) |
| 852 | newname (expand-file-name newname)) | 852 | newname (expand-file-name newname)) |
| 853 | (with-progress-reporter | ||
| 854 | (tramp-dissect-file-name (if (file-remote-p filename) filename newname)) | ||
| 855 | 0 (format "Renaming %s to %s" filename newname) | ||
| 856 | |||
| 857 | (let ((tmpfile (file-local-copy filename))) | ||
| 858 | |||
| 859 | (if tmpfile | ||
| 860 | ;; Remote filename. | ||
| 861 | (condition-case err | ||
| 862 | (rename-file tmpfile newname ok-if-already-exists) | ||
| 863 | ((error quit) | ||
| 864 | (tramp-compat-delete-file tmpfile 'force) | ||
| 865 | (signal (car err) (cdr err)))) | ||
| 866 | |||
| 867 | ;; Remote newname. | ||
| 868 | (when (file-directory-p newname) | ||
| 869 | (setq newname (expand-file-name | ||
| 870 | (file-name-nondirectory filename) newname))) | ||
| 871 | |||
| 872 | (with-parsed-tramp-file-name newname nil | ||
| 873 | (when (and (not ok-if-already-exists) | ||
| 874 | (file-exists-p newname)) | ||
| 875 | (tramp-error v 'file-already-exists newname)) | ||
| 876 | ;; We must also flush the cache of the directory, because | ||
| 877 | ;; `file-attributes' reads the values from there. | ||
| 878 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 879 | (tramp-flush-file-property v localname) | ||
| 880 | (unless (tramp-smb-send-command | ||
| 881 | v (format "put %s \"%s\"" | ||
| 882 | filename (tramp-smb-get-localname v))) | ||
| 883 | (tramp-error v 'file-error "Cannot rename `%s'" filename))))) | ||
| 853 | 884 | ||
| 854 | (let ((tmpfile (file-local-copy filename))) | 885 | (tramp-compat-delete-file filename 'force))) |
| 855 | |||
| 856 | (if tmpfile | ||
| 857 | ;; Remote filename. | ||
| 858 | (condition-case err | ||
| 859 | (rename-file tmpfile newname ok-if-already-exists) | ||
| 860 | ((error quit) | ||
| 861 | (tramp-compat-delete-file tmpfile 'force) | ||
| 862 | (signal (car err) (cdr err)))) | ||
| 863 | |||
| 864 | ;; Remote newname. | ||
| 865 | (when (file-directory-p newname) | ||
| 866 | (setq newname (expand-file-name | ||
| 867 | (file-name-nondirectory filename) newname))) | ||
| 868 | |||
| 869 | (with-parsed-tramp-file-name newname nil | ||
| 870 | (when (and (not ok-if-already-exists) | ||
| 871 | (file-exists-p newname)) | ||
| 872 | (tramp-error v 'file-already-exists newname)) | ||
| 873 | ;; We must also flush the cache of the directory, because | ||
| 874 | ;; `file-attributes' reads the values from there. | ||
| 875 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 876 | (tramp-flush-file-property v localname) | ||
| 877 | (tramp-message v 0 "Copying file %s to file %s..." filename newname) | ||
| 878 | (if (tramp-smb-send-command | ||
| 879 | v (format "put %s \"%s\"" filename (tramp-smb-get-localname v))) | ||
| 880 | (tramp-message | ||
| 881 | v 0 "Copying file %s to file %s...done" filename newname) | ||
| 882 | (tramp-error v 'file-error "Cannot rename `%s'" filename))))) | ||
| 883 | |||
| 884 | (tramp-compat-delete-file filename 'force)) | ||
| 885 | 886 | ||
| 886 | (defun tramp-smb-handle-set-file-modes (filename mode) | 887 | (defun tramp-smb-handle-set-file-modes (filename mode) |
| 887 | "Like `set-file-modes' for Tramp files." | 888 | "Like `set-file-modes' for Tramp files." |
| @@ -938,14 +939,14 @@ errors for shares like \"C$/\", which are common in Microsoft Windows." | |||
| 938 | (list start end tmpfile append 'no-message lockname confirm) | 939 | (list start end tmpfile append 'no-message lockname confirm) |
| 939 | (list start end tmpfile append 'no-message lockname))) | 940 | (list start end tmpfile append 'no-message lockname))) |
| 940 | 941 | ||
| 941 | (tramp-message v 5 "Writing tmp file %s to file %s..." tmpfile filename) | 942 | (with-progress-reporter |
| 942 | (unwind-protect | 943 | v 3 (format "Moving tmp file %s to %s" tmpfile filename) |
| 943 | (if (tramp-smb-send-command | 944 | (unwind-protect |
| 944 | v (format "put %s \"%s\"" tmpfile (tramp-smb-get-localname v))) | 945 | (unless (tramp-smb-send-command |
| 945 | (tramp-message | 946 | v (format "put %s \"%s\"" |
| 946 | v 5 "Writing tmp file %s to file %s...done" tmpfile filename) | 947 | tmpfile (tramp-smb-get-localname v))) |
| 947 | (tramp-error v 'file-error "Cannot write `%s'" filename)) | 948 | (tramp-error v 'file-error "Cannot write `%s'" filename)) |
| 948 | (tramp-compat-delete-file tmpfile 'force)) | 949 | (tramp-compat-delete-file tmpfile 'force))) |
| 949 | 950 | ||
| 950 | (unless (equal curbuf (current-buffer)) | 951 | (unless (equal curbuf (current-buffer)) |
| 951 | (tramp-error | 952 | (tramp-error |
| @@ -1302,60 +1303,57 @@ connection if a previous connection has died for some reason." | |||
| 1302 | (setq args (append args (list "-s" tramp-smb-conf)))) | 1303 | (setq args (append args (list "-s" tramp-smb-conf)))) |
| 1303 | 1304 | ||
| 1304 | ;; OK, let's go. | 1305 | ;; OK, let's go. |
| 1305 | (tramp-message | 1306 | (with-progress-reporter |
| 1306 | vec 3 "Opening connection for //%s%s/%s..." | 1307 | vec 3 |
| 1307 | (if (not (zerop (length user))) (concat user "@") "") | 1308 | (format "Opening connection for //%s%s/%s" |
| 1308 | host (or share "")) | 1309 | (if (not (zerop (length user))) (concat user "@") "") |
| 1309 | 1310 | host (or share "")) | |
| 1310 | (let* ((coding-system-for-read nil) | 1311 | |
| 1311 | (process-connection-type tramp-process-connection-type) | 1312 | (let* ((coding-system-for-read nil) |
| 1312 | (p (let ((default-directory | 1313 | (process-connection-type tramp-process-connection-type) |
| 1313 | (tramp-compat-temporary-file-directory))) | 1314 | (p (let ((default-directory |
| 1314 | (apply #'start-process | 1315 | (tramp-compat-temporary-file-directory))) |
| 1315 | (tramp-buffer-name vec) (tramp-get-buffer vec) | 1316 | (apply #'start-process |
| 1316 | tramp-smb-program args)))) | 1317 | (tramp-buffer-name vec) (tramp-get-buffer vec) |
| 1317 | 1318 | tramp-smb-program args)))) | |
| 1318 | (tramp-message | 1319 | |
| 1319 | vec 6 "%s" (mapconcat 'identity (process-command p) " ")) | 1320 | (tramp-message |
| 1320 | (tramp-set-process-query-on-exit-flag p nil) | 1321 | vec 6 "%s" (mapconcat 'identity (process-command p) " ")) |
| 1321 | 1322 | (tramp-set-process-query-on-exit-flag p nil) | |
| 1322 | ;; Set variables for computing the prompt for reading password. | 1323 | |
| 1323 | (setq tramp-current-method tramp-smb-method | 1324 | ;; Set variables for computing the prompt for reading password. |
| 1324 | tramp-current-user user | 1325 | (setq tramp-current-method tramp-smb-method |
| 1325 | tramp-current-host host) | 1326 | tramp-current-user user |
| 1326 | 1327 | tramp-current-host host) | |
| 1327 | ;; Play login scenario. | 1328 | |
| 1328 | (tramp-process-actions | 1329 | ;; Play login scenario. |
| 1329 | p vec | 1330 | (tramp-process-actions |
| 1330 | (if share | 1331 | p vec |
| 1331 | tramp-smb-actions-with-share | 1332 | (if share |
| 1332 | tramp-smb-actions-without-share)) | 1333 | tramp-smb-actions-with-share |
| 1333 | 1334 | tramp-smb-actions-without-share)) | |
| 1334 | ;; Check server version. | 1335 | |
| 1335 | (with-current-buffer (tramp-get-connection-buffer vec) | 1336 | ;; Check server version. |
| 1336 | (goto-char (point-min)) | 1337 | (with-current-buffer (tramp-get-connection-buffer vec) |
| 1337 | (search-forward-regexp | 1338 | (goto-char (point-min)) |
| 1338 | "Domain=\\[[^]]*\\] OS=\\[[^]]*\\] Server=\\[[^]]*\\]" nil t) | 1339 | (search-forward-regexp |
| 1339 | (let ((smbserver-version (match-string 0))) | 1340 | "Domain=\\[[^]]*\\] OS=\\[[^]]*\\] Server=\\[[^]]*\\]" nil t) |
| 1340 | (unless | 1341 | (let ((smbserver-version (match-string 0))) |
| 1341 | (string-equal | 1342 | (unless |
| 1342 | smbserver-version | 1343 | (string-equal |
| 1343 | (tramp-get-connection-property | 1344 | smbserver-version |
| 1344 | vec "smbserver-version" smbserver-version)) | 1345 | (tramp-get-connection-property |
| 1345 | (tramp-flush-directory-property vec "") | 1346 | vec "smbserver-version" smbserver-version)) |
| 1346 | (tramp-flush-connection-property vec)) | 1347 | (tramp-flush-directory-property vec "") |
| 1347 | (tramp-set-connection-property | 1348 | (tramp-flush-connection-property vec)) |
| 1348 | vec "smbserver-version" smbserver-version))) | 1349 | (tramp-set-connection-property |
| 1349 | 1350 | vec "smbserver-version" smbserver-version))) | |
| 1350 | ;; Set chunksize. Otherwise, `tramp-send-string' might | 1351 | |
| 1351 | ;; try it itself. | 1352 | ;; Set chunksize. Otherwise, `tramp-send-string' might |
| 1352 | (tramp-set-connection-property p "smb-share" share) | 1353 | ;; try it itself. |
| 1353 | (tramp-set-connection-property p "chunksize" tramp-chunksize) | 1354 | (tramp-set-connection-property p "smb-share" share) |
| 1354 | 1355 | (tramp-set-connection-property | |
| 1355 | (tramp-message | 1356 | p "chunksize" tramp-chunksize)))))))) |
| 1356 | vec 3 "Opening connection for //%s%s/%s...done" | ||
| 1357 | (if (not (zerop (length user))) (concat user "@") "") | ||
| 1358 | host (or share "")))))))) | ||
| 1359 | 1357 | ||
| 1360 | ;; We don't use timeouts. If needed, the caller shall wrap around. | 1358 | ;; We don't use timeouts. If needed, the caller shall wrap around. |
| 1361 | (defun tramp-smb-wait-for-output (vec) | 1359 | (defun tramp-smb-wait-for-output (vec) |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 3a291cfb695..c5addae8e5d 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -2271,14 +2271,18 @@ FILE must be a local file name on a connection identified via VEC." | |||
| 2271 | (tramp-message ,vec ,level "%s..." ,message) | 2271 | (tramp-message ,vec ,level "%s..." ,message) |
| 2272 | ;; We start a pulsing progress reporter after 3 seconds. Feature | 2272 | ;; We start a pulsing progress reporter after 3 seconds. Feature |
| 2273 | ;; introduced in Emacs 24.1. | 2273 | ;; introduced in Emacs 24.1. |
| 2274 | (when (<= ,level tramp-verbose) | 2274 | (when (and tramp-message-show-message |
| 2275 | ;; Display only when there is a minimum level. | ||
| 2276 | (<= ,level (min tramp-verbose 3))) | ||
| 2275 | (condition-case nil | 2277 | (condition-case nil |
| 2276 | (setq pr (tramp-compat-funcall 'make-progress-reporter ,message) | 2278 | (setq pr (tramp-compat-funcall 'make-progress-reporter ,message) |
| 2277 | tm (if pr (run-at-time 3 0.1 'progress-reporter-update pr))) | 2279 | tm (if pr (run-at-time 3 0.1 'progress-reporter-update pr))) |
| 2278 | (error nil))) | 2280 | (error nil))) |
| 2279 | (unwind-protect | 2281 | (unwind-protect |
| 2280 | ;; Execute the body. | 2282 | ;; Execute the body. |
| 2281 | (progn ,@body) | 2283 | (let ((tramp-message-show-message |
| 2284 | (and tramp-message-show-message (not tm)))) | ||
| 2285 | ,@body) | ||
| 2282 | ;; Stop progress reporter. | 2286 | ;; Stop progress reporter. |
| 2283 | (if tm (tramp-compat-funcall 'cancel-timer tm)) | 2287 | (if tm (tramp-compat-funcall 'cancel-timer tm)) |
| 2284 | (tramp-message ,vec ,level "%s...done" ,message)))) | 2288 | (tramp-message ,vec ,level "%s...done" ,message)))) |
| @@ -2558,13 +2562,13 @@ target of the symlink differ." | |||
| 2558 | (tramp-error v 'file-error "Cannot load nonexistent file `%s'" file))) | 2562 | (tramp-error v 'file-error "Cannot load nonexistent file `%s'" file))) |
| 2559 | (if (not (file-exists-p file)) | 2563 | (if (not (file-exists-p file)) |
| 2560 | nil | 2564 | nil |
| 2561 | (unless nomessage (tramp-message v 0 "Loading %s..." file)) | 2565 | (let ((tramp-message-show-message (not nomessage))) |
| 2562 | (let ((local-copy (file-local-copy file))) | 2566 | (with-progress-reporter v 0 (format "Loading %s" file) |
| 2563 | ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. | 2567 | (let ((local-copy (file-local-copy file))) |
| 2564 | (unwind-protect | 2568 | ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. |
| 2565 | (load local-copy noerror t t) | 2569 | (unwind-protect |
| 2566 | (tramp-compat-delete-file local-copy 'force))) | 2570 | (load local-copy noerror t t) |
| 2567 | (unless nomessage (tramp-message v 0 "Loading %s...done" file)) | 2571 | (tramp-compat-delete-file local-copy 'force))))) |
| 2568 | t))) | 2572 | t))) |
| 2569 | 2573 | ||
| 2570 | ;; Localname manipulation functions that grok Tramp localnames... | 2574 | ;; Localname manipulation functions that grok Tramp localnames... |
| @@ -2867,7 +2871,9 @@ target of the symlink differ." | |||
| 2867 | (tramp-send-command-and-read | 2871 | (tramp-send-command-and-read |
| 2868 | vec | 2872 | vec |
| 2869 | (format | 2873 | (format |
| 2870 | "((%s %s || %s -h %s) && %s -c '((\"%%N\") %%h %s %s %%X.0 %%Y.0 %%Z.0 %%s.0 \"%%A\" t %%i.0 -1)' %s || echo nil)" | 2874 | ;; On Opsware, pdksh (which is the true name of ksh there) doesn't |
| 2875 | ;; parse correctly the sequence "((". Therefore, we add a space. | ||
| 2876 | "( (%s %s || %s -h %s) && %s -c '( (\"%%N\") %%h %s %s %%X.0 %%Y.0 %%Z.0 %%s.0 \"%%A\" t %%i.0 -1)' %s || echo nil)" | ||
| 2871 | (tramp-get-file-exists-command vec) | 2877 | (tramp-get-file-exists-command vec) |
| 2872 | (tramp-shell-quote-argument localname) | 2878 | (tramp-shell-quote-argument localname) |
| 2873 | (tramp-get-test-command vec) | 2879 | (tramp-get-test-command vec) |
| @@ -2920,12 +2926,14 @@ already know that the buffer is visiting a file and that | |||
| 2920 | function directly, unless those two cases are already taken care | 2926 | function directly, unless those two cases are already taken care |
| 2921 | of." | 2927 | of." |
| 2922 | (with-current-buffer buf | 2928 | (with-current-buffer buf |
| 2923 | ;; There is no file visiting the buffer, or the buffer has no | 2929 | (let ((f (buffer-file-name))) |
| 2924 | ;; recorded last modification time. | 2930 | ;; There is no file visiting the buffer, or the buffer has no |
| 2925 | (if (or (not (buffer-file-name)) | 2931 | ;; recorded last modification time, or there is no established |
| 2926 | (eq (visited-file-modtime) 0)) | 2932 | ;; connection. |
| 2927 | t | 2933 | (if (or (not f) |
| 2928 | (let ((f (buffer-file-name))) | 2934 | (eq (visited-file-modtime) 0) |
| 2935 | (not (tramp-file-name-handler 'file-remote-p f nil 'connected))) | ||
| 2936 | t | ||
| 2929 | (with-parsed-tramp-file-name f nil | 2937 | (with-parsed-tramp-file-name f nil |
| 2930 | (tramp-flush-file-property v localname) | 2938 | (tramp-flush-file-property v localname) |
| 2931 | (let* ((attr (file-attributes f)) | 2939 | (let* ((attr (file-attributes f)) |
| @@ -2984,16 +2992,11 @@ of." | |||
| 2984 | (let ((time (if (or (null time) (equal time '(0 0))) | 2992 | (let ((time (if (or (null time) (equal time '(0 0))) |
| 2985 | (current-time) | 2993 | (current-time) |
| 2986 | time)) | 2994 | time)) |
| 2987 | (utc | 2995 | ;; With GNU Emacs, `format-time-string' has an optional |
| 2988 | ;; With GNU Emacs, `format-time-string' has an | 2996 | ;; parameter UNIVERSAL. This is preferred, because we |
| 2989 | ;; optional parameter UNIVERSAL. This is preferred, | 2997 | ;; could handle the case when the remote host is |
| 2990 | ;; because we could handle the case when the remote | 2998 | ;; located in a different time zone as the local host. |
| 2991 | ;; host is located in a different time zone as the | 2999 | (utc (not (featurep 'xemacs)))) |
| 2992 | ;; local host. | ||
| 2993 | (and (functionp 'subr-arity) | ||
| 2994 | (subrp (symbol-function 'format-time-string)) | ||
| 2995 | (= 3 (cdr (tramp-compat-funcall | ||
| 2996 | 'subr-arity 'format-time-string)))))) | ||
| 2997 | (tramp-send-command-and-check | 3000 | (tramp-send-command-and-check |
| 2998 | v (format "%s touch -t %s %s" | 3001 | v (format "%s touch -t %s %s" |
| 2999 | (if utc "TZ=UTC; export TZ;" "") | 3002 | (if utc "TZ=UTC; export TZ;" "") |
| @@ -4154,7 +4157,7 @@ This is like `dired-recursive-delete-directory' for Tramp files." | |||
| 4154 | nil) | 4157 | nil) |
| 4155 | ((and suffix (nth 2 suffix)) | 4158 | ((and suffix (nth 2 suffix)) |
| 4156 | ;; We found an uncompression rule. | 4159 | ;; We found an uncompression rule. |
| 4157 | (with-progress-reporter v 0 (format "Uncompressing %s..." file) | 4160 | (with-progress-reporter v 0 (format "Uncompressing %s" file) |
| 4158 | (when (zerop | 4161 | (when (zerop |
| 4159 | (tramp-send-command-and-check | 4162 | (tramp-send-command-and-check |
| 4160 | v (concat (nth 2 suffix) " " | 4163 | v (concat (nth 2 suffix) " " |
| @@ -4166,7 +4169,7 @@ This is like `dired-recursive-delete-directory' for Tramp files." | |||
| 4166 | (t | 4169 | (t |
| 4167 | ;; We don't recognize the file as compressed, so compress it. | 4170 | ;; We don't recognize the file as compressed, so compress it. |
| 4168 | ;; Try gzip. | 4171 | ;; Try gzip. |
| 4169 | (with-progress-reporter v 0 (format "Compressing %s..." file) | 4172 | (with-progress-reporter v 0 (format "Compressing %s" file) |
| 4170 | (when (zerop | 4173 | (when (zerop |
| 4171 | (tramp-send-command-and-check | 4174 | (tramp-send-command-and-check |
| 4172 | v (concat "gzip -f " | 4175 | v (concat "gzip -f " |
| @@ -4748,11 +4751,11 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4748 | ;; Use inline encoding for file transfer. | 4751 | ;; Use inline encoding for file transfer. |
| 4749 | (rem-enc | 4752 | (rem-enc |
| 4750 | (save-excursion | 4753 | (save-excursion |
| 4751 | (tramp-message v 5 "Encoding remote file %s..." filename) | 4754 | (with-progress-reporter |
| 4752 | (tramp-barf-unless-okay | 4755 | v 5 (format "Encoding remote file %s" filename) |
| 4753 | v (format rem-enc (tramp-shell-quote-argument localname)) | 4756 | (tramp-barf-unless-okay |
| 4754 | "Encoding remote file failed") | 4757 | v (format rem-enc (tramp-shell-quote-argument localname)) |
| 4755 | (tramp-message v 5 "Encoding remote file %s...done" filename) | 4758 | "Encoding remote file failed")) |
| 4756 | 4759 | ||
| 4757 | (if (functionp loc-dec) | 4760 | (if (functionp loc-dec) |
| 4758 | ;; If local decoding is a function, we call it. We | 4761 | ;; If local decoding is a function, we call it. We |
| @@ -4762,15 +4765,15 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4762 | (with-temp-buffer | 4765 | (with-temp-buffer |
| 4763 | (set-buffer-multibyte nil) | 4766 | (set-buffer-multibyte nil) |
| 4764 | (insert-buffer-substring (tramp-get-buffer v)) | 4767 | (insert-buffer-substring (tramp-get-buffer v)) |
| 4765 | (tramp-message | 4768 | (with-progress-reporter |
| 4766 | v 5 "Decoding remote file %s with function %s..." | 4769 | v 3 (format "Decoding remote file %s with function %s" |
| 4767 | filename loc-dec) | 4770 | filename loc-dec) |
| 4768 | (funcall loc-dec (point-min) (point-max)) | 4771 | (funcall loc-dec (point-min) (point-max)) |
| 4769 | ;; Unset `file-name-handler-alist'. Otherwise, | 4772 | ;; Unset `file-name-handler-alist'. Otherwise, |
| 4770 | ;; epa-file gets confused. | 4773 | ;; epa-file gets confused. |
| 4771 | (let (file-name-handler-alist | 4774 | (let (file-name-handler-alist |
| 4772 | (coding-system-for-write 'binary)) | 4775 | (coding-system-for-write 'binary)) |
| 4773 | (write-region (point-min) (point-max) tmpfile))) | 4776 | (write-region (point-min) (point-max) tmpfile)))) |
| 4774 | 4777 | ||
| 4775 | ;; If tramp-decoding-function is not defined for this | 4778 | ;; If tramp-decoding-function is not defined for this |
| 4776 | ;; method, we invoke tramp-decoding-command instead. | 4779 | ;; method, we invoke tramp-decoding-command instead. |
| @@ -4780,14 +4783,14 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4780 | (let (file-name-handler-alist | 4783 | (let (file-name-handler-alist |
| 4781 | (coding-system-for-write 'binary)) | 4784 | (coding-system-for-write 'binary)) |
| 4782 | (write-region (point-min) (point-max) tmpfile2)) | 4785 | (write-region (point-min) (point-max) tmpfile2)) |
| 4783 | (tramp-message | 4786 | (with-progress-reporter |
| 4784 | v 5 "Decoding remote file %s with command %s..." | 4787 | v 3 (format "Decoding remote file %s with command %s" |
| 4785 | filename loc-dec) | 4788 | filename loc-dec) |
| 4786 | (unwind-protect | 4789 | (unwind-protect |
| 4787 | (tramp-call-local-coding-command loc-dec tmpfile2 tmpfile) | 4790 | (tramp-call-local-coding-command |
| 4788 | (tramp-compat-delete-file tmpfile2 'force)))) | 4791 | loc-dec tmpfile2 tmpfile) |
| 4792 | (tramp-compat-delete-file tmpfile2 'force))))) | ||
| 4789 | 4793 | ||
| 4790 | (tramp-message v 5 "Decoding remote file %s...done" filename) | ||
| 4791 | ;; Set proper permissions. | 4794 | ;; Set proper permissions. |
| 4792 | (set-file-modes tmpfile (tramp-default-file-modes filename)) | 4795 | (set-file-modes tmpfile (tramp-default-file-modes filename)) |
| 4793 | ;; Set local user ownership. | 4796 | ;; Set local user ownership. |
| @@ -4843,7 +4846,7 @@ coding system might not be determined. This function repairs it." | |||
| 4843 | "Like `insert-file-contents' for Tramp files." | 4846 | "Like `insert-file-contents' for Tramp files." |
| 4844 | (barf-if-buffer-read-only) | 4847 | (barf-if-buffer-read-only) |
| 4845 | (setq filename (expand-file-name filename)) | 4848 | (setq filename (expand-file-name filename)) |
| 4846 | (let (coding-system-used result local-copy remote-copy) | 4849 | (let (result local-copy remote-copy) |
| 4847 | (with-parsed-tramp-file-name filename nil | 4850 | (with-parsed-tramp-file-name filename nil |
| 4848 | (unwind-protect | 4851 | (unwind-protect |
| 4849 | (if (not (file-exists-p filename)) | 4852 | (if (not (file-exists-p filename)) |
| @@ -4914,27 +4917,16 @@ coding system might not be determined. This function repairs it." | |||
| 4914 | (setq tramp-temp-buffer-file-name local-copy) | 4917 | (setq tramp-temp-buffer-file-name local-copy) |
| 4915 | (put 'tramp-temp-buffer-file-name 'permanent-local t)) | 4918 | (put 'tramp-temp-buffer-file-name 'permanent-local t)) |
| 4916 | 4919 | ||
| 4917 | (tramp-message | 4920 | (with-progress-reporter |
| 4918 | v 4 "Inserting local temp file `%s'..." local-copy) | 4921 | v 3 (format "Inserting local temp file `%s'" local-copy) |
| 4919 | 4922 | ;; We must ensure that `file-coding-system-alist' | |
| 4920 | ;; We must ensure that `file-coding-system-alist' | 4923 | ;; matches `local-copy'. |
| 4921 | ;; matches `local-copy'. | 4924 | (let ((file-coding-system-alist |
| 4922 | (let ((file-coding-system-alist | 4925 | (tramp-find-file-name-coding-system-alist |
| 4923 | (tramp-find-file-name-coding-system-alist | 4926 | filename local-copy))) |
| 4924 | filename local-copy))) | 4927 | (setq result |
| 4925 | (setq result | 4928 | (insert-file-contents |
| 4926 | (insert-file-contents | 4929 | local-copy nil nil nil replace)))))) |
| 4927 | local-copy nil nil nil replace)) | ||
| 4928 | ;; Now `last-coding-system-used' has right value. | ||
| 4929 | ;; Remember it. | ||
| 4930 | (when (boundp 'last-coding-system-used) | ||
| 4931 | (setq coding-system-used | ||
| 4932 | (symbol-value 'last-coding-system-used)))) | ||
| 4933 | |||
| 4934 | (tramp-message | ||
| 4935 | v 4 "Inserting local temp file `%s'...done" local-copy) | ||
| 4936 | (when (boundp 'last-coding-system-used) | ||
| 4937 | (set 'last-coding-system-used coding-system-used)))) | ||
| 4938 | 4930 | ||
| 4939 | ;; Save exit. | 4931 | ;; Save exit. |
| 4940 | (progn | 4932 | (progn |
| @@ -5194,15 +5186,14 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 5194 | ;; Use inline file transfer. | 5186 | ;; Use inline file transfer. |
| 5195 | (rem-dec | 5187 | (rem-dec |
| 5196 | ;; Encode tmpfile. | 5188 | ;; Encode tmpfile. |
| 5197 | (tramp-message v 5 "Encoding region...") | ||
| 5198 | (unwind-protect | 5189 | (unwind-protect |
| 5199 | (with-temp-buffer | 5190 | (with-temp-buffer |
| 5200 | (set-buffer-multibyte nil) | 5191 | (set-buffer-multibyte nil) |
| 5201 | ;; Use encoding function or command. | 5192 | ;; Use encoding function or command. |
| 5202 | (if (functionp loc-enc) | 5193 | (if (functionp loc-enc) |
| 5203 | (progn | 5194 | (with-progress-reporter |
| 5204 | (tramp-message | 5195 | v 3 (format "Encoding region using function `%s'" |
| 5205 | v 5 "Encoding region using function `%s'..." loc-enc) | 5196 | loc-enc) |
| 5206 | (let ((coding-system-for-read 'binary)) | 5197 | (let ((coding-system-for-read 'binary)) |
| 5207 | (insert-file-contents-literally tmpfile)) | 5198 | (insert-file-contents-literally tmpfile)) |
| 5208 | ;; The following `let' is a workaround for the | 5199 | ;; The following `let' is a workaround for the |
| @@ -5218,59 +5209,61 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 5218 | (tramp-compat-temporary-file-directory))) | 5209 | (tramp-compat-temporary-file-directory))) |
| 5219 | (funcall loc-enc (point-min) (point-max)))) | 5210 | (funcall loc-enc (point-min) (point-max)))) |
| 5220 | 5211 | ||
| 5221 | (tramp-message | 5212 | (with-progress-reporter |
| 5222 | v 5 "Encoding region using command `%s'..." loc-enc) | 5213 | v 3 (format "Encoding region using command `%s'" |
| 5223 | (unless (zerop (tramp-call-local-coding-command | 5214 | loc-enc) |
| 5224 | loc-enc tmpfile t)) | 5215 | (unless (zerop (tramp-call-local-coding-command |
| 5225 | (tramp-error | 5216 | loc-enc tmpfile t)) |
| 5226 | v 'file-error | 5217 | (tramp-error |
| 5227 | "Cannot write to `%s', local encoding command `%s' failed" | 5218 | v 'file-error |
| 5228 | filename loc-enc))) | 5219 | (concat "Cannot write to `%s', " |
| 5220 | "local encoding command `%s' failed") | ||
| 5221 | filename loc-enc)))) | ||
| 5229 | 5222 | ||
| 5230 | ;; Send buffer into remote decoding command which | 5223 | ;; Send buffer into remote decoding command which |
| 5231 | ;; writes to remote file. Because this happens on | 5224 | ;; writes to remote file. Because this happens on |
| 5232 | ;; the remote host, we cannot use the function. | 5225 | ;; the remote host, we cannot use the function. |
| 5233 | (goto-char (point-max)) | 5226 | (with-progress-reporter |
| 5234 | (unless (bolp) (newline)) | 5227 | v 3 |
| 5235 | (tramp-message | 5228 | (format "Decoding region into remote file %s" filename) |
| 5236 | v 5 "Decoding region into remote file %s..." filename) | 5229 | (goto-char (point-max)) |
| 5237 | (tramp-send-command | 5230 | (unless (bolp) (newline)) |
| 5238 | v | 5231 | (tramp-send-command |
| 5239 | (format | 5232 | v |
| 5240 | (concat rem-dec " <<'EOF'\n%sEOF") | 5233 | (format |
| 5241 | (tramp-shell-quote-argument localname) | 5234 | (concat rem-dec " <<'EOF'\n%sEOF") |
| 5242 | (buffer-string))) | 5235 | (tramp-shell-quote-argument localname) |
| 5243 | (tramp-barf-unless-okay | 5236 | (buffer-string))) |
| 5244 | v nil | 5237 | (tramp-barf-unless-okay |
| 5245 | "Couldn't write region to `%s', decode using `%s' failed" | 5238 | v nil |
| 5246 | filename rem-dec) | 5239 | "Couldn't write region to `%s', decode using `%s' failed" |
| 5247 | ;; When `file-precious-flag' is set, the region is | 5240 | filename rem-dec) |
| 5248 | ;; written to a temporary file. Check that the | 5241 | ;; When `file-precious-flag' is set, the region is |
| 5249 | ;; checksum is equal to that from the local tmpfile. | 5242 | ;; written to a temporary file. Check that the |
| 5250 | (when file-precious-flag | 5243 | ;; checksum is equal to that from the local tmpfile. |
| 5251 | (erase-buffer) | 5244 | (when file-precious-flag |
| 5252 | (and | 5245 | (erase-buffer) |
| 5253 | ;; cksum runs locally, if possible. | 5246 | (and |
| 5254 | (zerop (tramp-local-call-process "cksum" tmpfile t)) | 5247 | ;; cksum runs locally, if possible. |
| 5255 | ;; cksum runs remotely. | 5248 | (zerop (tramp-local-call-process "cksum" tmpfile t)) |
| 5256 | (zerop | 5249 | ;; cksum runs remotely. |
| 5257 | (tramp-send-command-and-check | 5250 | (zerop |
| 5258 | v | 5251 | (tramp-send-command-and-check |
| 5259 | (format | 5252 | v |
| 5260 | "cksum <%s" (tramp-shell-quote-argument localname)))) | 5253 | (format |
| 5261 | ;; ... they are different. | 5254 | "cksum <%s" |
| 5262 | (not | 5255 | (tramp-shell-quote-argument localname)))) |
| 5263 | (string-equal | 5256 | ;; ... they are different. |
| 5264 | (buffer-string) | 5257 | (not |
| 5265 | (with-current-buffer (tramp-get-buffer v) | 5258 | (string-equal |
| 5266 | (buffer-string)))) | 5259 | (buffer-string) |
| 5267 | (tramp-error | 5260 | (with-current-buffer (tramp-get-buffer v) |
| 5268 | v 'file-error | 5261 | (buffer-string)))) |
| 5269 | (concat "Couldn't write region to `%s'," | 5262 | (tramp-error |
| 5270 | " decode using `%s' failed") | 5263 | v 'file-error |
| 5271 | filename rem-dec))) | 5264 | (concat "Couldn't write region to `%s'," |
| 5272 | (tramp-message | 5265 | " decode using `%s' failed") |
| 5273 | v 5 "Decoding region into remote file %s...done" filename)) | 5266 | filename rem-dec))))) |
| 5274 | 5267 | ||
| 5275 | ;; Save exit. | 5268 | ;; Save exit. |
| 5276 | (tramp-compat-delete-file tmpfile 'force))) | 5269 | (tramp-compat-delete-file tmpfile 'force))) |
| @@ -6287,14 +6280,13 @@ Only send the definition if it has not already been done." | |||
| 6287 | (let* ((p (tramp-get-connection-process vec)) | 6280 | (let* ((p (tramp-get-connection-process vec)) |
| 6288 | (scripts (tramp-get-connection-property p "scripts" nil))) | 6281 | (scripts (tramp-get-connection-property p "scripts" nil))) |
| 6289 | (unless (member name scripts) | 6282 | (unless (member name scripts) |
| 6290 | (tramp-message vec 5 "Sending script `%s'..." name) | 6283 | (with-progress-reporter vec 5 (format "Sending script `%s'" name) |
| 6291 | ;; The script could contain a call of Perl. This is masked with `%s'. | 6284 | ;; The script could contain a call of Perl. This is masked with `%s'. |
| 6292 | (tramp-send-command-and-check | 6285 | (tramp-send-command-and-check |
| 6293 | vec | 6286 | vec |
| 6294 | (format "%s () {\n%s\n}" name | 6287 | (format "%s () {\n%s\n}" name |
| 6295 | (format script (tramp-get-remote-perl vec)))) | 6288 | (format script (tramp-get-remote-perl vec)))) |
| 6296 | (tramp-set-connection-property p "scripts" (cons name scripts)) | 6289 | (tramp-set-connection-property p "scripts" (cons name scripts)))))) |
| 6297 | (tramp-message vec 5 "Sending script `%s'...done." name)))) | ||
| 6298 | 6290 | ||
| 6299 | (defun tramp-set-auto-save () | 6291 | (defun tramp-set-auto-save () |
| 6300 | (when (and ;; ange-ftp has its own auto-save mechanism | 6292 | (when (and ;; ange-ftp has its own auto-save mechanism |
| @@ -6573,7 +6565,7 @@ file exists and nonzero exit status otherwise." | |||
| 6573 | (setq extra-args (cdr item)))) | 6565 | (setq extra-args (cdr item)))) |
| 6574 | (when extra-args (setq shell (concat shell " " extra-args)))) | 6566 | (when extra-args (setq shell (concat shell " " extra-args)))) |
| 6575 | (tramp-message | 6567 | (tramp-message |
| 6576 | vec 5 "Starting remote shell `%s' for tilde expansion..." shell) | 6568 | vec 5 "Starting remote shell `%s' for tilde expansion" shell) |
| 6577 | (let ((tramp-end-of-output tramp-initial-end-of-output)) | 6569 | (let ((tramp-end-of-output tramp-initial-end-of-output)) |
| 6578 | (tramp-send-command | 6570 | (tramp-send-command |
| 6579 | vec | 6571 | vec |
| @@ -6581,13 +6573,12 @@ file exists and nonzero exit status otherwise." | |||
| 6581 | (shell-quote-argument tramp-end-of-output) shell) | 6573 | (shell-quote-argument tramp-end-of-output) shell) |
| 6582 | t)) | 6574 | t)) |
| 6583 | ;; Setting prompts. | 6575 | ;; Setting prompts. |
| 6584 | (tramp-message vec 5 "Setting remote shell prompt...") | 6576 | (with-progress-reporter vec 5 (format "Setting remote shell prompt") |
| 6585 | (tramp-send-command | 6577 | (tramp-send-command |
| 6586 | vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) | 6578 | vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) |
| 6587 | (tramp-send-command vec "PS2=''" t) | 6579 | (tramp-send-command vec "PS2=''" t) |
| 6588 | (tramp-send-command vec "PS3=''" t) | 6580 | (tramp-send-command vec "PS3=''" t) |
| 6589 | (tramp-send-command vec "PROMPT_COMMAND=''" t) | 6581 | (tramp-send-command vec "PROMPT_COMMAND=''" t))) |
| 6590 | (tramp-message vec 5 "Setting remote shell prompt...done")) | ||
| 6591 | 6582 | ||
| 6592 | (t (tramp-message | 6583 | (t (tramp-message |
| 6593 | vec 5 "Remote `%s' groks tilde expansion, good" | 6584 | vec 5 "Remote `%s' groks tilde expansion, good" |
| @@ -7424,11 +7415,11 @@ connection if a previous connection has died for some reason." | |||
| 7424 | (tramp-get-buffer vec) | 7415 | (tramp-get-buffer vec) |
| 7425 | (if (zerop (length (tramp-file-name-user vec))) | 7416 | (if (zerop (length (tramp-file-name-user vec))) |
| 7426 | (tramp-message | 7417 | (tramp-message |
| 7427 | vec 3 "Opening connection for %s using %s..." | 7418 | vec 3 "Opening connection for %s using %s" |
| 7428 | (tramp-file-name-host vec) | 7419 | (tramp-file-name-host vec) |
| 7429 | (tramp-file-name-method vec)) | 7420 | (tramp-file-name-method vec)) |
| 7430 | (tramp-message | 7421 | (tramp-message |
| 7431 | vec 3 "Opening connection for %s@%s using %s..." | 7422 | vec 3 "Opening connection for %s@%s using %s" |
| 7432 | (tramp-file-name-user vec) | 7423 | (tramp-file-name-user vec) |
| 7433 | (tramp-file-name-host vec) | 7424 | (tramp-file-name-host vec) |
| 7434 | (tramp-file-name-method vec))) | 7425 | (tramp-file-name-method vec))) |
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 7b55f97a21b..f157fc5d291 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog | |||
| @@ -127,7 +127,7 @@ | |||
| 127 | (org-ascii-replace-entities): New function. | 127 | (org-ascii-replace-entities): New function. |
| 128 | 128 | ||
| 129 | 2010-04-10 Carsten Dominik <carsten.dominik@gmail.com> | 129 | 2010-04-10 Carsten Dominik <carsten.dominik@gmail.com> |
| 130 | Ulf Stegemann <ulf@zeitform.de> | 130 | Ulf Stegemann <ulf@zeitform.de> |
| 131 | 131 | ||
| 132 | * org-entities.el: New file. | 132 | * org-entities.el: New file. |
| 133 | 133 | ||
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index 56fc8032541..10267a6b2dc 100644 --- a/lisp/progmodes/cc-cmds.el +++ b/lisp/progmodes/cc-cmds.el | |||
| @@ -1501,6 +1501,11 @@ defun." | |||
| 1501 | (interactive "p") | 1501 | (interactive "p") |
| 1502 | (or arg (setq arg 1)) | 1502 | (or arg (setq arg 1)) |
| 1503 | 1503 | ||
| 1504 | (or (not (eq this-command 'c-beginning-of-defun)) | ||
| 1505 | (eq last-command 'c-beginning-of-defun) | ||
| 1506 | (and transient-mark-mode mark-active) | ||
| 1507 | (push-mark)) | ||
| 1508 | |||
| 1504 | (c-save-buffer-state | 1509 | (c-save-buffer-state |
| 1505 | (beginning-of-defun-function end-of-defun-function | 1510 | (beginning-of-defun-function end-of-defun-function |
| 1506 | (start (point)) | 1511 | (start (point)) |
| @@ -1604,6 +1609,11 @@ the open-parenthesis that starts a defun; see `beginning-of-defun'." | |||
| 1604 | (interactive "p") | 1609 | (interactive "p") |
| 1605 | (or arg (setq arg 1)) | 1610 | (or arg (setq arg 1)) |
| 1606 | 1611 | ||
| 1612 | (or (not (eq this-command 'c-end-of-defun)) | ||
| 1613 | (eq last-command 'c-end-of-defun) | ||
| 1614 | (and transient-mark-mode mark-active) | ||
| 1615 | (push-mark)) | ||
| 1616 | |||
| 1607 | (c-save-buffer-state | 1617 | (c-save-buffer-state |
| 1608 | (beginning-of-defun-function end-of-defun-function | 1618 | (beginning-of-defun-function end-of-defun-function |
| 1609 | (start (point)) | 1619 | (start (point)) |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 610fa14489a..eca6d5fbe7b 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -1480,7 +1480,7 @@ frequently editing existing scripts with different styles.") | |||
| 1480 | ;; mode-command and utility functions | 1480 | ;; mode-command and utility functions |
| 1481 | 1481 | ||
| 1482 | ;;;###autoload | 1482 | ;;;###autoload |
| 1483 | (defun sh-mode () | 1483 | (define-derived-mode sh-mode prog-mode "Shell-script" |
| 1484 | "Major mode for editing shell scripts. | 1484 | "Major mode for editing shell scripts. |
| 1485 | This mode works for many shells, since they all have roughly the same syntax, | 1485 | This mode works for many shells, since they all have roughly the same syntax, |
| 1486 | as far as commands, arguments, variables, pipes, comments etc. are concerned. | 1486 | as far as commands, arguments, variables, pipes, comments etc. are concerned. |
| @@ -1533,11 +1533,6 @@ indicate what shell it is use `sh-alias-alist' to translate. | |||
| 1533 | 1533 | ||
| 1534 | If your shell gives error messages with line numbers, you can use \\[executable-interpret] | 1534 | If your shell gives error messages with line numbers, you can use \\[executable-interpret] |
| 1535 | with your script for an edit-interpret-debug cycle." | 1535 | with your script for an edit-interpret-debug cycle." |
| 1536 | (interactive) | ||
| 1537 | (kill-all-local-variables) | ||
| 1538 | (setq major-mode 'sh-mode | ||
| 1539 | mode-name "Shell-script") | ||
| 1540 | (use-local-map sh-mode-map) | ||
| 1541 | (make-local-variable 'skeleton-end-hook) | 1536 | (make-local-variable 'skeleton-end-hook) |
| 1542 | (make-local-variable 'paragraph-start) | 1537 | (make-local-variable 'paragraph-start) |
| 1543 | (make-local-variable 'paragraph-separate) | 1538 | (make-local-variable 'paragraph-separate) |
| @@ -1613,8 +1608,7 @@ with your script for an edit-interpret-debug cycle." | |||
| 1613 | "sh") | 1608 | "sh") |
| 1614 | (t | 1609 | (t |
| 1615 | sh-shell-file)) | 1610 | sh-shell-file)) |
| 1616 | nil nil) | 1611 | nil nil)) |
| 1617 | (run-mode-hooks 'sh-mode-hook)) | ||
| 1618 | 1612 | ||
| 1619 | ;;;###autoload | 1613 | ;;;###autoload |
| 1620 | (defalias 'shell-script-mode 'sh-mode) | 1614 | (defalias 'shell-script-mode 'sh-mode) |
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el index 458e2be07a1..4f9747cb90a 100644 --- a/lisp/scroll-all.el +++ b/lisp/scroll-all.el | |||
| @@ -90,9 +90,9 @@ | |||
| 90 | (call-interactively 'scroll-all-scroll-down-all)) | 90 | (call-interactively 'scroll-all-scroll-down-all)) |
| 91 | ((eq this-command 'previous-line) | 91 | ((eq this-command 'previous-line) |
| 92 | (call-interactively 'scroll-all-scroll-up-all)) | 92 | (call-interactively 'scroll-all-scroll-up-all)) |
| 93 | ((eq this-command 'scroll-up) | 93 | ((memq this-command '(scroll-up scroll-up-command)) |
| 94 | (call-interactively 'scroll-all-page-down-all)) | 94 | (call-interactively 'scroll-all-page-down-all)) |
| 95 | ((eq this-command 'scroll-down) | 95 | ((memq this-command '(scroll-down scroll-down-command)) |
| 96 | (call-interactively 'scroll-all-page-up-all)) | 96 | (call-interactively 'scroll-all-page-up-all)) |
| 97 | ((eq this-command 'beginning-of-buffer) | 97 | ((eq this-command 'beginning-of-buffer) |
| 98 | (call-interactively 'scroll-all-beginning-of-buffer-all)) | 98 | (call-interactively 'scroll-all-beginning-of-buffer-all)) |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index c88b32f64cc..94eb721e4cf 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -2630,11 +2630,22 @@ Keeps argument list for future ispell invocations for no async support." | |||
| 2630 | (or ispell-local-dictionary ispell-dictionary "default")) | 2630 | (or ispell-local-dictionary ispell-dictionary "default")) |
| 2631 | (sit-for 0) | 2631 | (sit-for 0) |
| 2632 | (setq ispell-library-directory (ispell-check-version) | 2632 | (setq ispell-library-directory (ispell-check-version) |
| 2633 | ispell-process-directory default-directory | ||
| 2634 | ispell-process (ispell-start-process) | 2633 | ispell-process (ispell-start-process) |
| 2635 | ispell-filter nil | 2634 | ispell-filter nil |
| 2636 | ispell-filter-continue nil | 2635 | ispell-filter-continue nil) |
| 2637 | ispell-process-buffer-name (buffer-name)) | 2636 | ;; When spellchecking minibuffer contents, make sure ispell process |
| 2637 | ;; is not restarted every time the minibuffer is killed. | ||
| 2638 | (if (window-minibuffer-p) | ||
| 2639 | (if (fboundp 'minibuffer-selected-window) | ||
| 2640 | ;; Assign ispell process to parent buffer | ||
| 2641 | (setq ispell-process-directory default-directory | ||
| 2642 | ispell-process-buffer-name (window-buffer (minibuffer-selected-window))) | ||
| 2643 | ;; Force `ispell-process-directory' to $HOME and use a dummy name | ||
| 2644 | (setq ispell-process-directory (expand-file-name "~/") | ||
| 2645 | ispell-process-buffer-name " * Minibuffer-has-spellcheck-enabled")) | ||
| 2646 | ;; Not in a minibuffer | ||
| 2647 | (setq ispell-process-directory default-directory | ||
| 2648 | ispell-process-buffer-name (buffer-name))) | ||
| 2638 | (if ispell-async-processp | 2649 | (if ispell-async-processp |
| 2639 | (set-process-filter ispell-process 'ispell-filter)) | 2650 | (set-process-filter ispell-process 'ispell-filter)) |
| 2640 | ;; protect against bogus binding of `enable-multibyte-characters' in XEmacs | 2651 | ;; protect against bogus binding of `enable-multibyte-characters' in XEmacs |
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index b9d52acdeba..6cd4121bd10 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -101,6 +101,11 @@ This takes effect when first loading the `sgml-mode' library.") | |||
| 101 | (define-key map "\C-c\^?" 'sgml-delete-tag) | 101 | (define-key map "\C-c\^?" 'sgml-delete-tag) |
| 102 | (define-key map "\C-c?" 'sgml-tag-help) | 102 | (define-key map "\C-c?" 'sgml-tag-help) |
| 103 | (define-key map "\C-c/" 'sgml-close-tag) | 103 | (define-key map "\C-c/" 'sgml-close-tag) |
| 104 | |||
| 105 | ;; Redundant keybindings, for consistency with TeX mode. | ||
| 106 | (define-key map "\C-c\C-o" 'sgml-tag) | ||
| 107 | (define-key map "\C-c\C-e" 'sgml-close-tag) | ||
| 108 | |||
| 104 | (define-key map "\C-c8" 'sgml-name-8bit-mode) | 109 | (define-key map "\C-c8" 'sgml-name-8bit-mode) |
| 105 | (define-key map "\C-c\C-v" 'sgml-validate) | 110 | (define-key map "\C-c\C-v" 'sgml-validate) |
| 106 | (when sgml-quick-keys | 111 | (when sgml-quick-keys |
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 5fc92a92d37..da0c5396f2c 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el | |||
| @@ -808,6 +808,11 @@ END is the position of the first delimiter after \verb." | |||
| 808 | (define-key map "\C-c\C-c" 'tex-compile) | 808 | (define-key map "\C-c\C-c" 'tex-compile) |
| 809 | (define-key map "\C-c\C-i" 'tex-bibtex-file) | 809 | (define-key map "\C-c\C-i" 'tex-bibtex-file) |
| 810 | (define-key map "\C-c\C-o" 'latex-insert-block) | 810 | (define-key map "\C-c\C-o" 'latex-insert-block) |
| 811 | |||
| 812 | ;; Redundant keybindings, for consistency with SGML mode. | ||
| 813 | (define-key map "\C-c\C-t" 'latex-insert-block) | ||
| 814 | (define-key map "\C-c/" 'latex-close-block) | ||
| 815 | |||
| 811 | (define-key map "\C-c\C-e" 'latex-close-block) | 816 | (define-key map "\C-c\C-e" 'latex-close-block) |
| 812 | (define-key map "\C-c\C-u" 'tex-goto-last-unclosed-latex-block) | 817 | (define-key map "\C-c\C-u" 'tex-goto-last-unclosed-latex-block) |
| 813 | (define-key map "\C-c\C-m" 'tex-feed-input) | 818 | (define-key map "\C-c\C-m" 'tex-feed-input) |