summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog149
-rw-r--r--lisp/ChangeLog.16
-rw-r--r--lisp/ChangeLog.122
-rw-r--r--lisp/ChangeLog.1312
-rw-r--r--lisp/ChangeLog.1428
-rw-r--r--lisp/ChangeLog.510
-rw-r--r--lisp/ChangeLog.64
-rw-r--r--lisp/ChangeLog.72
-rw-r--r--lisp/ChangeLog.916
-rw-r--r--lisp/dirtrack.el7
-rw-r--r--lisp/dos-fns.el39
-rw-r--r--lisp/emulation/cua-base.el9
-rw-r--r--lisp/emulation/cua-gmrk.el6
-rw-r--r--lisp/emulation/cua-rect.el8
-rw-r--r--lisp/erc/ChangeLog.034
-rw-r--r--lisp/erc/ChangeLog.042
-rw-r--r--lisp/gnus/ChangeLog64
-rw-r--r--lisp/gnus/ChangeLog.16
-rw-r--r--lisp/gnus/ChangeLog.216
-rw-r--r--lisp/gnus/gnus-art.el6
-rw-r--r--lisp/gnus/gnus-sum.el4
-rw-r--r--lisp/gnus/message.el62
-rw-r--r--lisp/gnus/mm-extern.el8
-rw-r--r--lisp/gnus/mm-util.el46
-rw-r--r--lisp/gnus/mml1991.el2
-rw-r--r--lisp/gnus/mml2015.el1
-rw-r--r--lisp/iimage.el73
-rw-r--r--lisp/info.el24
-rw-r--r--lisp/mh-e/ChangeLog.130
-rw-r--r--lisp/minibuffer.el73
-rw-r--r--lisp/net/tramp-smb.el270
-rw-r--r--lisp/net/tramp.el275
-rw-r--r--lisp/org/ChangeLog2
-rw-r--r--lisp/progmodes/cc-cmds.el10
-rw-r--r--lisp/progmodes/sh-script.el10
-rw-r--r--lisp/scroll-all.el4
-rw-r--r--lisp/textmodes/ispell.el17
-rw-r--r--lisp/textmodes/sgml-mode.el5
-rw-r--r--lisp/textmodes/tex-mode.el5
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 @@
+2010-05-13 Chong Yidong <cyd@stupidchicken.com>
+
+ Add TeX open-block and close-block keybindings to SGML, and vice
+ versa.
+
+ * textmodes/tex-mode.el (tex-mode-map): Bind C-c C-t to
+ latex-open-block and C-c / to latex-close-block.
+
+ * textmodes/sgml-mode.el (sgml-mode-map): Bind C-c C-o to sgml-tag
+ and C-c C-e to sgml-close-tag.
+
+2010-05-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (with-progress-reporter): Create reporter object
+ only when the message would be displayed. Handled nested calls.
+ (tramp-handle-load, tramp-handle-file-local-copy)
+ (tramp-handle-insert-file-contents, tramp-handle-write-region)
+ (tramp-maybe-send-script, tramp-find-shell): Use
+ `with-progress-reporter'.
+ (tramp-handle-dired-compress-file, tramp-maybe-open-connection):
+ Fix message text.
+
+ * net/tramp-smb.el (tramp-smb-handle-copy-file)
+ (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
+ (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
+ Use `with-progress-reporter'.
+
+2010-05-13 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * ispell.el (ispell-init-process): Do not kill ispell process
+ everytime when spellchecking from the minibuffer (bug#6143).
+
+2010-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/sh-script.el (sh-mode): Use define-derived-mode.
+
+ * dos-fns.el: Add "dos-" prefix for namespace control.
+ (convert-standard-filename): Define as alias for
+ dos-convert-standard-filename but only if applicable.
+
+2010-05-12 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun):
+ Push the mark at the start of these functions when appropriate.
+
+2010-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-cycle-threshold): New custom var.
+ (completion--do-completion): Use it.
+ (minibuffer-complete): Use cycling if appropriate.
+
+2010-05-11 Juanma Barranquero <lekktu@gmail.com>
+
+ * dirtrack.el (dirtrackp): Remove defcustom; don't make automatically
+ buffer-local (it's an obsolete alias for `dirtrack-mode') (bug#6173).
+
+2010-05-11 Juri Linkov <juri@jurta.org>
+
+ * scroll-all.el (scroll-all-check-to-scroll):
+ Add `scroll-up-command' and `scroll-down-command' (bug#6164).
+
+2010-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * iimage.el (iimage-mode-map): Move initialization into declaration.
+ (iimage-mode-buffer): Use with-silent-modifications.
+ Simplify calling convention. Adjust callers.
+ (iimage-mode): Don't run hook redundantly.
+
+ * minibuffer.el (completion-pcm--pattern->regex):
+ Fix last change (bug#6160).
+
+2010-05-10 Juri Linkov <juri@jurta.org>
+
+ Remove nodes visited during Isearch from the Info history.
+ * info.el (Info-isearch-initial-history)
+ (Info-isearch-initial-history-list): New variables.
+ (Info-isearch-start): Record initial values of
+ Info-isearch-initial-history and Info-isearch-initial-history-list.
+ Add Info-isearch-end to isearch-mode-end-hook.
+ (Info-isearch-end): New function.
+
+2010-05-10 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-do-file-attributes-with-stat): Add space in
+ format string, in order to work around a bug in pdksh.
+ Reported by Gilles Pion <gpion@lfdj.com>.
+ (tramp-handle-verify-visited-file-modtime): Do not send a command
+ when the connection is not established.
+ (tramp-handle-set-file-times): Simplify the check for utc.
+
+2010-05-10 Juanma Barranquero <lekktu@gmail.com>
+
+ Fix use of `filter-buffer-substring' (rework previous change).
+ * emulation/cua-base.el (cua--filter-buffer-noprops): New function.
+ (cua-repeat-replace-region):
+ * emulation/cua-rect.el (cua--extract-rectangle, cua-incr-rectangle):
+ * emulation/cua-gmrk.el (cua-copy-region-to-global-mark)
+ (cua-cut-region-to-global-mark): Use it.
+
2010-05-09 Michael R. Mauger <mmaug@yahoo.com>
- * progmodes/sql.el: Version 2.1
- (sql-product-alist): Redesigned structure of product info.
- (sql-product, sql-user, sql-server, sql-database): Safe
- variables.
+ * progmodes/sql.el: Version 2.1.
+ (sql-product-alist): Redesign structure of product info.
+ (sql-product, sql-user, sql-server, sql-database): Safe variables.
(sql-port, sql-port-history): New variables.
(sql-interactive-product): New variable.
(sql-send-terminator): New variable.
- (sql-imenu-generic-expression): Added "Types" imenu entry.
+ (sql-imenu-generic-expression): Add "Types" imenu entry.
(sql-oracle-login-params, sql-sqlite-login-params)
(sql-mysql-login-params, sql-solid-login-params)
(sql-sybase-login-params, sql-informix-login-params)
@@ -15,10 +113,9 @@
(sql-postgres-login-params, sql-interbase-login-params)
(sql-db2-login-params, sql-linter-login-params)
(sql-oracle-scan-on): New variables.
- (sql-mode-map): Added C-c C-i to start interactive mode.
- (sql-mode-menu): Updated existing menu entries.
- (sql-font-lock-keywords-builder): Compile-time font-lock
- optimization.
+ (sql-mode-map): Add C-c C-i to start interactive mode.
+ (sql-mode-menu): Update existing menu entries.
+ (sql-font-lock-keywords-builder): Compile-time font-lock optimization.
(sql-mode-oracle-font-lock-keywords)
(sql-mode-postgres-font-lock-keywords)
(sql-mode-ms-font-lock-keywords)
@@ -30,7 +127,7 @@
(sql-mode-mysql-font-lock-keywords)
(sql-mode-sqlite-font-lock-keywords)
(sql-mode-db2-font-lock-keywords)
- (sql-mode-linter-font-lock-keywords): Updated initialization to
+ (sql-mode-linter-font-lock-keywords): Update initialization to
reduce run-time complexity.
(sql-add-product, sql-del-product): New functions.
(sql-set-product-feature, sql-get-product-feature): New functions.
@@ -39,12 +136,12 @@
(sql-highlight-product): Update product API.
(sql-help-list-products): New function.
(sql-help): Dynamically lists free and non-free products.
- (sql-get-login): Corrected bug in handling history and added
+ (sql-get-login): Correct bug in handling history and added
prompt for port.
(sql-copy-column): Copy without properties.
(sqli-input-sender): Apply filters to SQLi input.
- (sql-query-placeholders-and-send): Obey `sql-oracle-scan-on'
- setting. Implement as a filter.
+ (sql-query-placeholders-and-send): Obey `sql-oracle-scan-on' setting.
+ Implement as a filter.
(sql-escape-newlines-filter): Implement as a filter.
(sql-remove-tabs-filter): New function.
(sql-send-magic-terminator): New function.
@@ -59,8 +156,8 @@
(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
(sql-connect-ingres, sql-connect-ms, sql-connect-postgres)
- (sql-connect-interbase, sql-connect-db2, sql-connect-linter): Use
- `sql-connect'.
+ (sql-connect-interbase, sql-connect-db2, sql-connect-linter):
+ Use `sql-connect'.
2010-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -109,7 +206,7 @@
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
- * international/mule.el (auto-coding-alist): Only purecopy
+ * international/mule.el (auto-coding-alist): Only purecopy
car of each item, not the whole list (Bug#6083).
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
@@ -122,7 +219,7 @@
* composite.el (compose-region, reference-point-alist): Fix typos
in the doc strings.
-2010-05-08 Alexander Klimov <alserkli@inbox.ru> (tiny change)
+2010-05-08 Alexander Klimov <alserkli@inbox.ru> (tiny change)
* calc/calc-graph.el (calc-graph-plot): Use the proper form for
gnuplot's "set" command.
@@ -465,7 +562,7 @@
(ede-dired-add-to-target): Use dolist.
2010-05-01 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>
- Michael Albinus <michael.albinus@gmx.de>
+ Michael Albinus <michael.albinus@gmx.de>
Implement compression for inline methods.
@@ -769,6 +866,8 @@
2010-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
+ Make the log-edit comments use RFC822 format throughout.
+
* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
@@ -974,7 +1073,7 @@
(calc-hyperbolic): Add "Option" to message, as appropriate.
(calc-option, calc-is-option): New functions.
- * calc-help.el (calc-full-help): Add `calc-option-help'.
+ * calc-help.el (calc-full-help): Add `calc-option-help'.
(calc-option-prefix-help): New function.
* calc-misc.el (calc-help): Add "Option" entry.
@@ -1537,7 +1636,7 @@
values.
2010-03-29 Phil Hagelberg <phil@evri.com>
- Chong Yidong <cyd@stupidchicken.com>
+ Chong Yidong <cyd@stupidchicken.com>
* subr.el: Extend progress reporters to perform "spinning".
(progress-reporter-update, progress-reporter-do-update):
@@ -5180,7 +5279,7 @@
* Makefile.in (ELCFILES): Adapt to subword.el move.
2009-11-21 Thierry Volpiatto <thierry.volpiatto@gmail.com>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* bookmark.el (bookmark-bmenu-bookmark-column): Remove var.
(bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop.
@@ -9266,7 +9365,7 @@
indent buffer only if called interactively (Bug#4452).
2009-09-19 Juanma Barranquero <lekktu@gmail.com>
- Eli Zaretskii <eliz@gnu.org>
+ Eli Zaretskii <eliz@gnu.org>
This fixes bug#4197 (merged to bug#865, though not identical).
* server.el (server-auth-dir): Add docstring note about FAT32.
@@ -10083,7 +10182,7 @@
Don't call substitute-in-file-name on diary-file.
2009-09-03 Eduard Wiebe <usenet@pusto.de>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* mail/footnote.el (footnote-prefix): Make it a defcustom.
(footnote-mode-map): Move initialization into the declaration.
@@ -11194,7 +11293,7 @@
* progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry.
2009-08-14 Daniel Colascione <dan.colascione@gmail.com>
- Karl Landstrom <karl.landstrom@brgeight.se>
+ Karl Landstrom <karl.landstrom@brgeight.se>
* progmodes/js.el: New file.
@@ -12961,7 +13060,7 @@
XZ is the successor to LZMA: <http://tukaani.org/xz/>
2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru>
- Nick Roberts <nickrob@snap.net.nz>
+ Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-mi.el: Pull further modified changes from Dmitry's
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 @@
* info.el:
(Info-select-node): Was searching unboundedly for "execute:".
(Info-follow-reference): Was called Info-footnote.
- Also, handle presence of spaces and newlines in ref names.
+ Also, handle presence of spaces and newlines in ref names.
(Info-extract-menu-node-name): Handle presence of spaces and
newlines in the node name.
(Info-menu): Handle presence of spaces and newlines in item
@@ -1465,7 +1465,7 @@
1985-10-28 Richard M. Stallman (rms@prep)
* rmail.el, rmailsum.el, rmailkwd.el, rmailmsc.el,
- rmailout.el, rmailedit.el:
+ * rmailout.el, rmailedit.el:
Install thoroughly rewritten rmail with many new features.
* debug.el (debug, debugger-mode):
@@ -3100,7 +3100,7 @@
(also, mail-yank-ignored-headers had a typo)
* rmail.el (rmail-get-new-mail, convert-to-babyl-format, ...)
- loaddefs.el
+ * loaddefs.el:
Remodularize inbox parsing. Add support(?) for mmdf inboxes.
Note that I can't seem to define definitive documentation of
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 @@
(bibtex-field-list, bibtex-find-crossref): Fix typos in error messages.
2005-01-24 Dan Nicolaescu <dann@ics.uci.edu>
- Juri Linkov <juri@jurta.org>
+ Juri Linkov <juri@jurta.org>
* textmodes/reftex-global.el (reftex-isearch-push-state-function)
(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 @@
char-width-table. Don't make ethiopic and tibetan double column.
* textmodes/fill.el (fill-find-break-point-function-table):
- Don't set it up in defvar.
+ Don't set it up in defvar.
(fill-nospace-between-words-table): New variable.
(fill-delete-newlines): Check fill-nospace-between-words-table
instead of charset property nospace-between-words.
@@ -1872,8 +1872,8 @@
2008-02-01 Dave Love <fx@gnu.org>
* emacs-lisp/byte-opt.el (side-effect-free-fns):
- Add string-make-unibyte string-make-multibyte string-to-multibyte
- string-as-multibyte string-as-unibyte.
+ Add string-make-unibyte string-make-multibyte string-to-multibyte
+ string-as-multibyte string-as-unibyte.
2008-02-01 Dave Love <fx@gnu.org>
@@ -3983,7 +3983,7 @@
* ibuffer.el (ibuffer-mode): Fix typo in previous change.
2008-01-17 Vinicius Jose Latorre <viniciusjl@ig.com.br>
- Miles Bader <miles@gnu.org>
+ Miles Bader <miles@gnu.org>
* blank-mode.el: New file. Minor mode to visualize (HARD) SPACE,
TAB, NEWLINE. Miles Bader <miles@gnu.org> wrote the original code
@@ -5479,7 +5479,7 @@
(verilog-insert-indices): Escape braces in doc strings.
2007-12-08 Michael McNamara <mac@verilog.com>
- Wilson Snyder <wsnyder@wsnyder.org>
+ Wilson Snyder <wsnyder@wsnyder.org>
* progmodes/verilog-mode.el: New file.
@@ -13484,7 +13484,7 @@
Use native Emacs functions, when appropriate.
2007-08-01 Dan Nicolaescu <dann@ics.uci.edu>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* vc.el: Document new VC operation `extra-menu'.
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 @@
* paren.el (show-paren-function):
* simple.el (kill-forward-chars, kill-backward-chars):
- Use (+/- (point) N), instead of `forward-point'.
+ Use (+/- (point) N), instead of `forward-point'.
2009-03-19 Glenn Morris <rgm@gnu.org>
@@ -3012,12 +3012,12 @@
Don't activate node nil. (Bug#1569)
2009-01-22 Paul Reilly <pmr@pajato.com>
- Henrik Enberg <enberg@printf.se>
- Alex Schroeder <alex@gnu.org>
- Chong Yidong <cyd@stupidchicken.com>
- Richard M Stallman <rms@gnu.org>
- Glenn Morris <rgm@gnu.org>
- Juanma Barranquero <lekktu@gmail.com>
+ Henrik Enberg <enberg@printf.se>
+ Alex Schroeder <alex@gnu.org>
+ Chong Yidong <cyd@stupidchicken.com>
+ Richard M Stallman <rms@gnu.org>
+ Glenn Morris <rgm@gnu.org>
+ Juanma Barranquero <lekktu@gmail.com>
* mail/rmail.el: Code implementing Rmail-mbox functionality.
(rmail-attribute-header, rmail-keyword-header)
@@ -4310,7 +4310,7 @@
was orderly adjusted, nil otherwise.
2008-12-12 Juanma Barranquero <lekktu@gmail.com>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* server.el (server-sentinel): Uncomment code to delete connection file.
(server-start): Save the connection file in the server property list.
@@ -4369,7 +4369,7 @@
terminal variable assignment.
2008-12-10 Yukihiro Matsumoto <matz@ruby-lang.org>
- Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Nobuyoshi Nakada <nobu@ruby-lang.org>
* progmodes/ruby-mode.el: New file.
@@ -5599,7 +5599,7 @@
New aliases, to satisfy `define-derived-mode' expectations.
2008-11-15 Glenn Morris <rgm@gnu.org>
- Martin Rudalics <rudalics@gmx.at>
+ Martin Rudalics <rudalics@gmx.at>
* emacs-lisp/find-func.el (find-function-advised-original): New.
(find-function-C-source, find-function-noselect):
@@ -10308,8 +10308,8 @@
(newsticker--treeview-propertize-tag): Show item title in tooltip.
2008-06-20 Martin Blais <blais@furius.ca>
- Stefan Merten <smerten@oekonux.de>
- David Goodger <goodger@python.org>
+ Stefan Merten <smerten@oekonux.de>
+ David Goodger <goodger@python.org>
* textmodes/rst.el: New file.
@@ -10627,7 +10627,7 @@
* term/linux.el (terminal-init-linux): Load t-mouse.
2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
- Drew Adams <drew.adams@oracle.com>
+ Drew Adams <drew.adams@oracle.com>
* info.el (Info-breadcrumbs-depth): New var.
(Info-insert-breadcrumbs): New function.
@@ -18798,7 +18798,7 @@
for useful options.
2008-03-01 Dan Nicolaescu <dann@ics.uci.edu>
- Glenn Morris <rgm@gnu.org>
+ Glenn Morris <rgm@gnu.org>
* emacs-lisp/bytecomp.el (byte-recompile-directory)
(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 @@
* ediff.el (ediff-toggle-read-only, ediff-patch-file): Check out
version controlled files before their buffers are modified.
(ediff-local-checkout-flag, ediff-toggle-read-only-function):
- New variables.
+ New variables.
* ediff.el (ediff-find-file, ediff-patch-file): Were getting
confused by symbolic links. Fixed.
@@ -8050,7 +8050,7 @@
1994-07-23 enami tsugutomo <enami@sys.ptg.sony.co.jp>
* lisp/add-log.el (add-log-current-defun): Skip doc string
- correctly even if it ends with line that starts space.
+ correctly even if it ends with line that starts space.
1994-07-22 Ed Reingold <reingold@albert.gnu.ai.mit.edu>
@@ -9194,11 +9194,11 @@
* solar.el (solar-sunrise, solar-sunset): Fix doc string.
(solar-time-string): Rewritten.
(solar-adj-time-for-dst): New function.
- (solar-sunrise-sunset, diary-sabbath-candles,
- solar-equinoxes-solstices): Revised to use the rewritten and new fcns.
+ (solar-sunrise-sunset, diary-sabbath-candles)
+ (solar-equinoxes-solstices): Revised to use the rewritten and new fcns.
* calendar.el (solar-holidays): Revised to use the rewritten and
- new fcns.
+ new fcns.
* lunar.el (lunar-phase): Revised to use the rewritten and new fcns.
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 @@
When changing the environment, avoid need for setenv.
1996-01-05 Karl Eichwalder <ke@ke.Central.DE>
- Karl Fogel <kfogel@floss.red-bean.com>
+ Karl Fogel <kfogel@floss.red-bean.com>
* bookmark.el: "cyclic.com" addresses changed to "red-bean.com".
(bookmark-bmenu-mode-map): Don't bind C-k.
@@ -5837,7 +5837,7 @@
1995-10-09 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* etags.el (tags-table-check-computed-list): Map
- tags-expand-table-name over lists of included tables.
+ tags-expand-table-name over lists of included tables.
1995-10-09 Erik Naggum <erik@naggum.no>
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 @@
* abbrev.el: Likewise.
1998-05-26 Emilio Lopes <Emilio.Lopes@Physik.TU-Muenchen.DE>
- Karl Fogel <kfogel@red-bean.com>
+ Karl Fogel <kfogel@red-bean.com>
* bookmark.el: Changes so bookmark list mode works with Info:
(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 @@
2001-06-27 Francesco Potortì <pot@gnu.org>
- * uniquify.el: (uniquify-rationalize-file-buffer-names):
- Undo previous change.
+ * uniquify.el (uniquify-rationalize-file-buffer-names):
+ Undo previous change.
2001-06-27 Francesco Potortì <pot@gnu.org>
@@ -12205,7 +12205,7 @@
2000-09-05 Stefan Monnier <monnier@cs.yale.edu>
- * vc.el: (toplevel): Don't require `dired' at run-time.
+ * vc.el (toplevel): Don't require `dired' at run-time.
(vc-dired-resynch-file): Remove autoload cookie.
2000-09-05 Andre Spiegel <spiegel@gnu.org>
@@ -12998,7 +12998,7 @@
`vc-locking-user' semantics.
(vc-backend-merge): Remove.
- * vc-rcs.el, vc-scc.el: (vc-{sc,r}cs-check{in,out}): Update 'vc-state
+ * vc-rcs.el, vc-scc.el (vc-{sc,r}cs-check{in,out}): Update 'vc-state
rather than 'vc-locking-user.
* vc-rcs-hooks.el (vc-rcs-consult-headers): Adapt to new `vc-state'.
@@ -15318,8 +15318,8 @@
leading comma nicely. Extended to handle member initializers
too.
- * cc-engine.el: (c-beginning-of-inheritance-list,
- c-guess-basic-syntax): Fixed recognition of inheritance lists
+ * cc-engine.el (c-beginning-of-inheritance-list)
+ (c-guess-basic-syntax): Fixed recognition of inheritance lists
when the lines begins with a comma.
* cc-vars.el (c-offsets-alist): Changed default for
@@ -19574,7 +19574,7 @@
(backward-kill-word): Revert addition of * to interactive spec --
it's a feature.
- * paragraphs.el: (kill-paragraph, backward-kill-paragraph)
+ * paragraphs.el (kill-paragraph, backward-kill-paragraph)
(backward-kill-sentence, kill-sentence): Likewise.
* gud.el (gud-jdb-build-class-source-alist): Prepend space to
@@ -19918,7 +19918,7 @@
2000-02-10 Dave Love <fx@gnu.org>
- * wid-edit.el: (widgets) [defgroup]: Remove url link.
+ * wid-edit.el (widgets) [defgroup]: Remove url link.
(widget-color-choice-list, widget-color-history, widget-mouse-help):
Deleted.
(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."
:group 'dirtrack
:type 'string)
-(defcustom dirtrackp t
- "If non-nil, directory tracking via `dirtrack' is enabled."
- :group 'dirtrack
- :type 'boolean)
-
-(make-variable-buffer-local 'dirtrackp)
-
(defcustom dirtrack-directory-function
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
'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 @@
(declare-function msdos-long-file-names "msdos.c")
;; This overrides a trivial definition in files.el.
-(defun convert-standard-filename (filename)
+(defun dos-convert-standard-filename (filename)
"Convert a standard file's name to something suitable for the current OS.
This means to guarantee valid names and perhaps to canonicalize
certain patterns.
@@ -48,7 +48,7 @@ shell requires it (see `w32-shell-dos-semantics')."
(let ((flen (length filename)))
;; If FILENAME has a trailing slash, remove it and recurse.
(if (memq (aref filename (1- flen)) '(?/ ?\\))
- (concat (convert-standard-filename
+ (concat (dos-convert-standard-filename
(substring filename 0 (1- flen)))
"/")
(let* (;; ange-ftp gets in the way for names like "/foo:bar".
@@ -122,12 +122,17 @@ shell requires it (see `w32-shell-dos-semantics')."
(aset string (1- (length string)) lastchar))))
(concat (if (and (stringp dir)
(memq (aref dir dlen-m-1) '(?/ ?\\)))
- (concat (convert-standard-filename
+ (concat (dos-convert-standard-filename
(substring dir 0 dlen-m-1))
"/")
- (convert-standard-filename dir))
+ (dos-convert-standard-filename dir))
string))))))
+;; Only redirect convert-standard-filename if it has a chance of working,
+;; otherwise loading dos-fns.el might make your non-DOS Emacs misbehave.
+(when (fboundp 'msdos-long-file-names)
+ (defalias 'convert-standard-filename 'dos-convert-standard-filename))
+
(defun dos-8+3-filename (filename)
"Truncate FILENAME to DOS 8+3 limits."
(if (or (not (stringp filename))
@@ -188,12 +193,12 @@ shell requires it (see `w32-shell-dos-semantics')."
;; This is for the sake of standard file names elsewhere in Emacs that
;; are defined as constant strings or via defconst, and whose
-;; conversion via `convert-standard-filename' does not give good
+;; conversion via `dos-convert-standard-filename' does not give good
;; enough results.
(defun dosified-file-name (file-name)
"Return a variant of FILE-NAME that is valid on MS-DOS filesystems.
-This function is for those rare cases where `convert-standard-filename'
+This function is for those rare cases where `dos-convert-standard-filename'
does not do a job that is good enough, e.g. if you need to preserve the
file-name extension. It recognizes only certain specific file names
that are used in Emacs Lisp sources; any other file name will be
@@ -209,13 +214,13 @@ returned unaltered."
(defvar msdos-shells)
;; Override settings chosen at startup.
-(defun set-default-process-coding-system ()
+(defun dos-set-default-process-coding-system ()
(setq default-process-coding-system
(if (default-value 'enable-multibyte-characters)
'(undecided-dos . undecided-dos)
'(raw-text-dos . raw-text-dos))))
-(add-hook 'before-init-hook 'set-default-process-coding-system)
+(add-hook 'before-init-hook 'dos-set-default-process-coding-system)
;; File names defined in preloaded packages can be incorrect or
;; invalid if long file names were available during dumping, but not
@@ -232,17 +237,17 @@ returned unaltered."
(add-hook 'before-init-hook 'dos-reevaluate-defcustoms)
-(defvar register-name-alist
+(defvar dos-register-name-alist
'((ax . 0) (bx . 1) (cx . 2) (dx . 3) (si . 4) (di . 5)
(cflag . 6) (flags . 7)
(al . (0 . 0)) (bl . (1 . 0)) (cl . (2 . 0)) (dl . (3 . 0))
(ah . (0 . 1)) (bh . (1 . 1)) (ch . (2 . 1)) (dh . (3 . 1))))
-(defun make-register ()
+(defun dos-make-register ()
(make-vector 8 0))
-(defun register-value (regs name)
- (let ((where (cdr (assoc name register-name-alist))))
+(defun dos-register-value (regs name)
+ (let ((where (cdr (assoc name dos-register-name-alist))))
(cond ((consp where)
(let ((tem (aref regs (car where))))
(if (zerop (cdr where))
@@ -252,10 +257,10 @@ returned unaltered."
(aref regs where))
(t nil))))
-(defun set-register-value (regs name value)
+(defun dos-set-register-value (regs name value)
(and (numberp value)
(>= value 0)
- (let ((where (cdr (assoc name register-name-alist))))
+ (let ((where (cdr (assoc name dos-register-name-alist))))
(cond ((consp where)
(let ((tem (aref regs (car where)))
(value (logand value 255)))
@@ -268,18 +273,18 @@ returned unaltered."
(aset regs where (logand value 65535))))))
regs)
-(defsubst intdos (regs)
+(defsubst dos-intdos (regs)
(int86 33 regs))
;; Backward compatibility for obsolescent functions which
;; set screen size.
-(defun mode25 ()
+(defun dos-mode25 ()
"Changes the number of screen rows to 25."
(interactive)
(set-frame-size (selected-frame) 80 25))
-(defun mode4350 ()
+(defun dos-mode4350 ()
"Changes the number of rows to 43 or 50.
Emacs always tries to set the screen height to 50 rows first.
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."
(setq mark-active nil)
(run-hooks 'deactivate-mark-hook)))
+(defun cua--filter-buffer-noprops (start end)
+ (let ((str (filter-buffer-substring start end)))
+ (set-text-properties 0 (length str) nil str)
+ str))
;; The current register prefix
(defvar cua--register nil)
@@ -1039,10 +1043,7 @@ of text."
(setq s (car u))
(setq s (car u) e (cdr u)))))))
(cond ((and s e (<= s e) (= s (mark t)))
- (setq cua--repeat-replace-text
- (filter-buffer-substring s e))
- (set-text-properties 0 (length cua--repeat-replace-text)
- nil cua--repeat-replace-text))
+ (setq cua--repeat-replace-text (cua--filter-buffer-noprops s e)))
((and (null s) (eq u elt)) ;; nothing inserted
(setq cua--repeat-replace-text
""))
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."
(let ((src-buf (current-buffer)))
(save-excursion
(if (equal (marker-buffer cua--global-mark-marker) src-buf)
- (let ((text (filter-buffer-substring start end)))
+ (let ((text (cua--filter-buffer-noprops start end)))
(goto-char (marker-position cua--global-mark-marker))
- (set-text-properties 0 (length text) text)
(insert text))
(set-buffer (marker-buffer cua--global-mark-marker))
(goto-char (marker-position cua--global-mark-marker))
@@ -162,11 +161,10 @@ With prefix argument, don't jump to global mark when cancelling it."
(if (and (< start (marker-position cua--global-mark-marker))
(< (marker-position cua--global-mark-marker) end))
(message "Can't move region into itself")
- (let ((text (filter-buffer-substring start end))
+ (let ((text (cua--filter-buffer-noprops start end))
(p1 (copy-marker start))
(p2 (copy-marker end)))
(goto-char (marker-position cua--global-mark-marker))
- (set-text-properties 0 (length text) text)
(insert text)
(cua--activate-global-mark)
(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."
(if (not (cua--rectangle-virtual-edges))
(cua--rectangle-operation nil nil nil nil nil ; do not tabify
'(lambda (s e l r)
- (setq rect (cons (filter-buffer-substring s e nil t) rect))))
+ (setq rect (cons (cua--filter-buffer-noprops s e) rect))))
(cua--rectangle-operation nil 1 nil nil nil ; do not tabify
'(lambda (s e l r v)
(let ((copy t) (bs 0) (as 0) row)
@@ -643,7 +643,7 @@ If command is repeated at same position, delete the rectangle."
(setq as (- r (max (current-column) l))
e (point)))
(setq row (if (and copy (> e s))
- (filter-buffer-substring s e nil t)
+ (cua--filter-buffer-noprops s e)
""))
(when (> bs 0)
(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."
'(lambda (s e l r)
(cond
((re-search-forward "0x\\([0-9a-fA-F]+\\)" e t)
- (let* ((txt (filter-buffer-substring (match-beginning 1) (match-end 1) nil t))
+ (let* ((txt (cua--filter-buffer-noprops (match-beginning 1) (match-end 1)))
(n (string-to-number txt 16))
(fmt (format "0x%%0%dx" (length txt))))
(replace-match (format fmt (+ n increment)))))
((re-search-forward "\\( *-?[0-9]+\\)" e t)
- (let* ((txt (filter-buffer-substring (match-beginning 1) (match-end 1) nil t))
+ (let* ((txt (cua--filter-buffer-noprops (match-beginning 1) (match-end 1)))
(prefix (if (= (aref txt 0) ?0) "0" ""))
(n (string-to-number txt 10))
(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 @@
to delete-if-not.
* erc.el(erc-update-current-channel-member):
- Use erc-downcase when comparing
+ Use erc-downcase when comparing
nick entries. Cleanup indentation.
2003-11-01 Lawrence Mitchell <wence@gmx.li>
@@ -171,7 +171,7 @@
2003-10-24 Mario Lang <mlang@delysid.org>
* erc-dcc.el: From Stephan Stahl <stl@isogmbh.de>:
- * (erc-dcc-send-block): Kill buffer if transfer completed correctly.
+ (erc-dcc-send-block): Kill buffer if transfer completed correctly.
2003-10-22 Mario Lang <mlang@delysid.org>
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 @@
2004-12-24 Jorgen Schaefer <forcer@users.sourceforge.net>
* erc-goodies.el, erc.el: The Small Extraction of Stuff[tm] commit.
- Moved some functions from erc.el to erc-goodies.el, and
+ Moved some functions from erc.el to erc-goodies.el, and
transformed them to erc modules in the process.
- imenu autoload stuff moved. I don't know why it is here at all.
- 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 @@
-2010-05-07 Christian von Roques <roques@mti.ag> (tiny change)
+2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mml1991.el (mml1991-mailcrypt-encrypt, mml1991-gpg-encrypt)
+ * mml2015.el (mml2015-gpg-encrypt): Disable multibyte in buffers
+ generated within the mm-with-unibyte-current-buffer macro.
+
+2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-bind-safe-url-regexp): Bind mm-w3m-safe-url-regexp
+ to nil when we're in a mml-preview buffer and no group is selected.
+
+2010-05-12 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-read-group-1): Don't jump to next group
+ when catching the `C-g'. Reported by: "Leo"
+
+2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-plain)
+ (message-forward-make-body-mml): Use mm-multibyte-string-p instead of
+ multibyte-string-p.
+
+2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-mml): Assume original message
+ is multibyte string; error on unibyte.
+ (message-forward-make-body-plain): Ditto; don't add excessive newline
+ in body end.
+
+2010-05-11 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-kill-thread): Use gnus-summary-mark-article
+ instead of g-s-m-a-as-unread to set the expirable mark. (Bug#5284)
+
+2010-05-11 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-extern.el (mm-extern-url): Don't use
+ mm-with-unibyte-current-buffer.
+ (mm-extern-cache-contents): Use with-current-buffer instead of
+ save-excursion + set-buffer.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-util.el (mm-emacs-mule): Remove.
+
+2010-05-10 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-mode): Don't make minor-mode-alist
+ buffer-local as it's incompatible with Stefan Monnier's 2010-05-03
+ change.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-util.el (mm-with-unibyte-current-buffer): Redefine it so as not to
+ bind the default value of enable-multibyte-characters to nil.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-plain)
+ (message-forward-make-body-mml):
+ Don't use mm-with-unibyte-current-buffer.
+
+2010-05-07 Christian von Roques <roques@mti.ag> (tiny change)
* mml2015.el (mml2015-epg-find-usable-key): Skip disabled key
(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 @@
* gnus-start.el (gnus-slave-save-newsrc):
* gnus-uu.el (gnus-uu-tmp-dir, gnus-uu-decode-binhex)
- (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward)
- (gnus-uu-initialize):
+ (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward)
+ (gnus-uu-initialize):
* nnmail.el (nnmail-make-complex-temp-name, nnmail-get-new-mail):
- Use make-temp-file.
+ Use make-temp-file.
1999-09-07 Eli Zaretskii <eliz@gnu.org>
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 @@
2003-02-08 Michael Welsh Duggan <md5i@cs.cmu.edu>
* nnmail.el (nnmail-split-it): If a message ends up matching the
- same mailbox more than once, it will cause duplicates to appear
- in the mailbox.
+ same mailbox more than once, it will cause duplicates to appear
+ in the mailbox.
2003-02-08 Simon Josefsson <jas@extundo.com>
@@ -5553,8 +5553,8 @@
2003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@@gmx.net>
* gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use
- /usr/bin/play as default player.
- (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play.
+ /usr/bin/play as default player.
+ (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play.
2003-01-14 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -9034,7 +9034,7 @@
boolean not a string
* gnus-group.el (gnus-group-line-format): Add description of %C
* gnus-group.el (gnus-group-line-format-alist): Add gnus-tmp-comment
- as %C
+ as %C
* gnus-group.el (gnus-group-insert-group-line): Add gnus-tmp-comment.
2002-04-22 Paul Jarc <prj@po.cwru.edu>
@@ -11326,7 +11326,7 @@
2002-01-02 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-picon.el (gnus-picon-transform-newsgroups): Fix for the case
- "Newsgroups: rec.music.beatles.moderated, rec.music.beatles".
+ "Newsgroups: rec.music.beatles.moderated, rec.music.beatles".
2002-01-03 Steve Youngs <youngs@xemacs.org>
@@ -12256,7 +12256,7 @@
(imap-stream-alist): Backslash.
* gnus-sum.el (gnus-summary-limit-to-author): Missing arguments.
- Thanks to david.goldberg6@verizon.net (David S. Goldberg).
+ Thanks to david.goldberg6@verizon.net (David S. Goldberg).
2001-11-27 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
@@ -12755,7 +12755,7 @@
2001-10-30 13:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-spec.el (gnus-parse-simple-format): Use
- buffer-substring-no-properties.
+ buffer-substring-no-properties.
2001-10-30 Katsumi Yamaoka <yamaoka@jpl.org>
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
(with-current-buffer gnus-article-current-summary
gnus-newsgroup-name)
gnus-newsgroup-name)))
- (if (cond ((stringp gnus-safe-html-newsgroups)
+ (if (cond ((not group)
+ ;; Maybe we're in a mml-preview buffer
+ ;; and no group is selected.
+ t)
+ ((stringp gnus-safe-html-newsgroups)
(string-match gnus-safe-html-newsgroups group))
((consp gnus-safe-html-newsgroups)
(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:
(gnus-simplify-mode-line)
(setq major-mode 'gnus-summary-mode)
(setq mode-name "Summary")
- (make-local-variable 'minor-mode-alist)
(use-local-map gnus-summary-mode-map)
(buffer-disable-undo)
(setq buffer-read-only t ;Disable modification
@@ -3932,7 +3931,6 @@ If NO-DISPLAY, don't generate a summary buffer."
(progn
(set-buffer gnus-group-buffer)
(gnus-group-jump-to-group group)
- (gnus-group-next-unread-group 1)
(gnus-configure-windows 'group 'force))
(gnus-handle-ephemeral-exit quit-config))
;; Finally signal the quit.
@@ -11509,7 +11507,7 @@ If the prefix argument is negative, tick articles instead."
((> unmark 0)
(gnus-summary-mark-article-as-unread gnus-unread-mark))
((= unmark 0)
- (gnus-summary-mark-article-as-unread gnus-expirable-mark))
+ (gnus-summary-mark-article nil gnus-expirable-mark))
(t
(gnus-summary-mark-article-as-unread gnus-ticked-mark)))
(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."
(defun message-forward-make-body-plain (forward-buffer)
(insert
"\n-------------------- Start of forwarded message --------------------\n")
- (let ((b (point)) e)
- (insert
- (with-temp-buffer
- (mm-disable-multibyte)
- (insert
- (with-current-buffer forward-buffer
- (mm-with-unibyte-current-buffer (buffer-string))))
- (mm-enable-multibyte)
- (mime-to-mml)
- (goto-char (point-min))
- (when (looking-at "From ")
- (replace-match "X-From-Line: "))
- (buffer-string)))
+ (let ((b (point))
+ (contents (with-current-buffer forward-buffer (buffer-string)))
+ e)
+ (unless (featurep 'xemacs)
+ (unless (mm-multibyte-string-p contents)
+ (error "Attempt to insert unibyte string from the buffer \"%s\"\
+ to the multibyte buffer \"%s\""
+ (if (bufferp forward-buffer)
+ (buffer-name forward-buffer)
+ forward-buffer)
+ (buffer-name))))
+ (insert (mm-with-multibyte-buffer
+ (insert contents)
+ (mime-to-mml)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (buffer-string)))
+ (unless (bolp) (insert "\n"))
(setq e (point))
(insert
- "\n-------------------- End of forwarded message --------------------\n")
+ "-------------------- End of forwarded message --------------------\n")
(message-remove-ignored-headers b e)))
(defun message-remove-ignored-headers (b e)
@@ -7212,18 +7218,22 @@ Optional DIGEST will use digest to forward."
(insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
(let ((b (point)) e)
(if (not message-forward-decoded-p)
- (insert
- (with-temp-buffer
- (mm-disable-multibyte)
- (insert
- (with-current-buffer forward-buffer
- (mm-with-unibyte-current-buffer (buffer-string))))
- (mm-enable-multibyte)
- (mime-to-mml)
- (goto-char (point-min))
- (when (looking-at "From ")
- (replace-match "X-From-Line: "))
- (buffer-string)))
+ (let ((contents (with-current-buffer forward-buffer (buffer-string))))
+ (unless (featurep 'xemacs)
+ (unless (mm-multibyte-string-p contents)
+ (error "Attempt to insert unibyte string from the buffer \"%s\"\
+ to the multibyte buffer \"%s\""
+ (if (bufferp forward-buffer)
+ (buffer-name forward-buffer)
+ forward-buffer)
+ (buffer-name))))
+ (insert (mm-with-multibyte-buffer
+ (insert contents)
+ (mime-to-mml)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (buffer-string))))
(save-restriction
(narrow-to-region (point) (point))
(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 @@
(coding-system-for-read mm-binary-coding-system))
(unless url
(error "URL is not specified"))
- (mm-with-unibyte-current-buffer
- (mm-url-insert-file-contents url))
(mm-disable-multibyte)
+ (mm-url-insert-file-contents url)
(setq buffer-file-name name)))
(defun mm-extern-anon-ftp (handle)
@@ -125,7 +124,7 @@
(or access-type
(error "Couldn't find access type"))))
mm-extern-function-alist)))
- buf handles)
+ handles)
(unless func
(error "Access type (%s) is not supported" access-type))
(mm-with-part handle
@@ -136,8 +135,7 @@
(unless (bufferp (car handles))
(mm-destroy-parts handles)
(error "Multipart external body is not supported"))
- (save-excursion
- (set-buffer (setq buf (mm-handle-buffer handles)))
+ (with-current-buffer (mm-handle-buffer handles)
(let (good)
(unwind-protect
(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.")
out)))
(eval-and-compile
- (defvar mm-emacs-mule (and (not (featurep 'xemacs))
- (boundp 'enable-multibyte-characters)
- (default-value 'enable-multibyte-characters)
- (fboundp 'set-buffer-multibyte))
- "True in Emacs with Mule.")
-
(if (featurep 'xemacs)
(defalias 'mm-enable-multibyte 'ignore)
(defun mm-enable-multibyte ()
@@ -1230,33 +1224,23 @@ Use multibyte mode for this."
(defmacro mm-with-unibyte-current-buffer (&rest forms)
"Evaluate FORMS with current buffer temporarily made unibyte.
-Also bind the default-value of `enable-multibyte-characters' to nil.
-Equivalent to `progn' in XEmacs
-
-NOTE: Use this macro with caution in multibyte buffers (it is not
-worth using this macro in unibyte buffers of course). Use of
-`(set-buffer-multibyte t)', which is run finally, is generally
-harmful since it is likely to modify existing data in the buffer.
-For instance, it converts \"\\300\\255\" into \"\\255\" in
-Emacs 23 (unicode)."
+Equivalent to `progn' in XEmacs.
+
+Note: We recommend not using this macro any more; there should be
+better ways to do a similar thing. The previous version of this macro
+bound the default value of `enable-multibyte-characters' to nil while
+evaluating FORMS but it is no longer done. So, some programs assuming
+it if any may malfunction."
(if (featurep 'xemacs)
`(progn ,@forms)
- ;; FIXME: (default-value 'enable-multibyte-characters) is read-only
- ;; so let-binding it is wrong. The right fix is to not use this
- ;; macro at all any more, since it's been ill-defined from the start.
- (let ((multibyte (make-symbol "multibyte"))
- (buffer (make-symbol "buffer")))
- `(if mm-emacs-mule
- (let ((,multibyte enable-multibyte-characters)
- (,buffer (current-buffer)))
- (unwind-protect
- (letf (((default-value 'enable-multibyte-characters) nil))
- (set-buffer-multibyte nil)
- ,@forms)
- (set-buffer ,buffer)
- (set-buffer-multibyte ,multibyte)))
- (letf (((default-value 'enable-multibyte-characters) nil))
- ,@forms)))))
+ (let ((multibyte (make-symbol "multibyte")))
+ `(let ((,multibyte enable-multibyte-characters))
+ (when ,multibyte
+ (set-buffer-multibyte nil))
+ (prog1
+ (progn ,@forms)
+ (when ,multibyte
+ (set-buffer-multibyte t)))))))
(put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0)
(put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body))
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
(delete-region (point-min) (point)))
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (inline (mm-disable-multibyte))
(setq cipher (current-buffer))
(insert-buffer-substring text)
(unless (mc-encrypt-generic
@@ -225,6 +226,7 @@ Whether the passphrase is cached at all is controlled by
(delete-region (point-min) (point)))
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (inline (mm-disable-multibyte))
(flet ((gpg-encrypt-func
(sign plaintext ciphertext result recipients &optional
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
cipher)
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (mm-disable-multibyte)
;; set up a function to call the correct gpg encrypt routine
;; with the right arguments. (FIXME: this should be done
;; 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 @@
:group 'image)
(defconst iimage-version "1.1")
-(defvar iimage-mode nil)
-(defvar iimage-mode-map nil)
-;; Set up key map.
-(unless iimage-mode-map
- (setq iimage-mode-map (make-sparse-keymap))
- (define-key iimage-mode-map "\C-l" 'iimage-recenter))
+(defvar iimage-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\C-l" 'iimage-recenter)
+ map))
(defun iimage-recenter (&optional arg)
-"Re-draw images and recenter."
+ "Re-draw images and recenter."
(interactive "P")
- (iimage-mode-buffer 0)
- (iimage-mode-buffer 1)
+ (iimage-mode-buffer nil)
+ (iimage-mode-buffer t)
(recenter arg))
(defvar iimage-mode-image-filename-regex
@@ -81,7 +79,7 @@
`((,(concat "\\(`?file://\\|\\[\\[\\|<\\|`\\)?"
"\\(" iimage-mode-image-filename-regex "\\)"
"\\(\\]\\]\\|>\\|'\\)?") . 2))
-"*Alist of filename REGEXP vs NUM.
+ "*Alist of filename REGEXP vs NUM.
Each element looks like (REGEXP . NUM).
NUM specifies which parenthesized expression in the regexp.
@@ -90,54 +88,43 @@ Examples of image filename regexps:
`file://foo.png'
\\[\\[foo.gif]]
<foo.png>
- foo.JPG
-")
+ foo.JPG")
(defvar iimage-mode-image-search-path nil
-"*List of directories to search for image files for iimage-mode.")
+ "*List of directories to search for image files for `iimage-mode'.")
;;;###autoload
-(defun turn-on-iimage-mode ()
-"Unconditionally turn on iimage mode."
- (interactive)
- (iimage-mode 1))
+(define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1")
(defun turn-off-iimage-mode ()
-"Unconditionally turn off iimage mode."
+ "Unconditionally turn off iimage mode."
(interactive)
(iimage-mode 0))
-(defalias 'iimage-locate-file 'locate-file)
-
(defun iimage-mode-buffer (arg)
-"Display/undisplay images.
-With numeric ARG, display the images if and only if ARG is positive."
- (interactive)
- (let ((ing (if (numberp arg)
- (> arg 0)
- iimage-mode))
- (modp (buffer-modified-p (current-buffer)))
- file buffer-read-only)
- (save-excursion
- (goto-char (point-min))
- (dolist (pair iimage-mode-image-regex-alist)
- (while (re-search-forward (car pair) nil t)
- (if (and (setq file (match-string (cdr pair)))
- (setq file (iimage-locate-file file
- (cons default-directory
- iimage-mode-image-search-path))))
- (if ing
- (add-text-properties (match-beginning 0) (match-end 0)
- (list 'display (create-image file)))
- (remove-text-properties (match-beginning 0) (match-end 0)
- '(display)))))))
- (set-buffer-modified-p modp)))
+ "Display images if ARG is non-nil, undisplay them otherwise."
+ (let ((image-path (cons default-directory iimage-mode-image-search-path))
+ file)
+ (with-silent-modifications
+ (save-excursion
+ (goto-char (point-min))
+ (dolist (pair iimage-mode-image-regex-alist)
+ (while (re-search-forward (car pair) nil t)
+ (if (and (setq file (match-string (cdr pair)))
+ (setq file (locate-file file image-path)))
+ ;; FIXME: we don't mark our images, so we can't reliably
+ ;; remove them either (we may leave some of ours, and we
+ ;; may remove other packages's display properties).
+ (if arg
+ (add-text-properties (match-beginning 0) (match-end 0)
+ (list 'display (create-image file)))
+ (remove-text-properties (match-beginning 0) (match-end 0)
+ '(display))))))))))
;;;###autoload
(define-minor-mode iimage-mode
"Toggle inline image minor mode."
:group 'iimage :lighter " iImg" :keymap iimage-mode-map
- (run-hooks 'iimage-mode-hook)
(iimage-mode-buffer iimage-mode))
(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."
:group 'info)
(defvar Info-isearch-initial-node nil)
+(defvar Info-isearch-initial-history nil)
+(defvar Info-isearch-initial-history-list nil)
(defcustom Info-mode-hook
;; Try to obey obsolete Info-fontify settings.
@@ -1914,7 +1916,27 @@ If DIRECTION is `backward', search in the reverse direction."
(setq Info-isearch-initial-node
;; Don't stop at initial node for nonincremental search.
;; Otherwise this variable is set after first search failure.
- (and isearch-nonincremental Info-current-node)))
+ (and isearch-nonincremental Info-current-node))
+ (setq Info-isearch-initial-history Info-history
+ Info-isearch-initial-history-list Info-history-list)
+ (add-hook 'isearch-mode-end-hook 'Info-isearch-end nil t))
+
+(defun Info-isearch-end ()
+ ;; Remove intermediate nodes (visited while searching)
+ ;; from the history. Add only the last node (where Isearch ended).
+ (if (> (length Info-history)
+ (length Info-isearch-initial-history))
+ (setq Info-history
+ (nthcdr (- (length Info-history)
+ (length Info-isearch-initial-history)
+ 1)
+ Info-history)))
+ (if (> (length Info-history-list)
+ (length Info-isearch-initial-history-list))
+ (setq Info-history-list
+ (cons (car Info-history-list)
+ Info-isearch-initial-history-list)))
+ (remove-hook 'isearch-mode-end-hook 'Info-isearch-end t))
(defun Info-isearch-filter (beg-found found)
"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 @@
2005-05-28 Bill Wohler <wohler@newt.com>
- Released MH-E version 7.84.
+ Released MH-E version 7.84.
- * MH-E-NEWS, README: Updated for release 7.84.
+ * MH-E-NEWS, README: Updated for release 7.84.
- * mh-e.el (Version, mh-version): Updated for release 7.84.
+ * mh-e.el (Version, mh-version): Updated for release 7.84.
2005-05-28 Bill Wohler <wohler@newt.com>
@@ -4396,7 +4396,6 @@
mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
(closes SF #680731).
-
2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
* mh-index.el: Fix commentary to mention that mairix is supported
@@ -7556,10 +7555,10 @@
the MH pick command to give the user more information when
choosing between mh-search-folder and mh-index-folder.
- * mh-index.el (mh-index-search): Edited the docstring. Direct the
- user to mh-index-program if necessary.
- (mh-index-program): Edited this docstring too. Viewing the help
- in a *Help* buffer really exposes grammatical flaws.
+ * mh-index.el (mh-index-search): Edited the docstring. Direct the
+ user to mh-index-program if necessary.
+ (mh-index-program): Edited this docstring too. Viewing the help
+ in a *Help* buffer really exposes grammatical flaws.
2002-11-05 Peter S Galbraith <psg@debian.org>
@@ -7839,7 +7838,6 @@
(.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
target and moved pieces into their own sections.
-
2002-10-30 Peter S Galbraith <psg@debian.org>
* mh-utils.el (mh-show-font-lock-keywords): Wrap an
@@ -8494,11 +8492,10 @@
2002-10-22 Mark D. Baushke <mdb@gnu.org>
* mh-mime.el (mh-graphical-smileys-flag): Renamed from
- mh-graphical-smileys-p.
- (mh-display-smileys): Use it.
- (mh-graphical-emphasis-flag): Renamed from
- mh-graphical-emphasis-p.
- (mh-display-emphasis): Use it. This addresses part of SF #627015.
+ mh-graphical-smileys-p.
+ (mh-display-smileys): Use it.
+ (mh-graphical-emphasis-flag): Renamed from mh-graphical-emphasis-p.
+ (mh-display-emphasis): Use it. This addresses part of SF #627015.
2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
@@ -9301,7 +9298,7 @@
* mh-mime.el (mh-store-mime-parts-directory): New defcustom.
Default directory to use for mh-store-mime-parts.
(mh-store-mime-parts): New Command. Store the MIME parts of the
- current message.
+ current message.
(mh-store-mime-parts-directory-default): New internal working
variable. Default to use for mh-store-mime-parts-directory, set
from last use.
@@ -9309,7 +9306,6 @@
* mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
toolbar.
-
2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
* mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
@@ -10487,7 +10483,6 @@
(clean): New target that blows away MH-E-OBJ.
(dist): Added $(MH-E-OBJ) to tarball.
-
Attempt to quiet compilation errors to a dull roar.
* mh-e.el: Require easymenu, added autoload of info.
@@ -10506,7 +10501,6 @@
* mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
file.
-
* Makefile: (EMACS): New constant to hold emacs calling sequence.
(install): Renamed to install-emacs.
(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 @@
;; the provided string (as is the case in filecache.el), in which
;; case partial-completion (for example) doesn't make any sense
;; and neither does the completions-first-difference highlight.
+;; - indicate how to display the completions in *Completions* (turn
+;; \n into something else, add special boundaries between
+;; completions). E.g. when completing from the kill-ring.
;; - make partial-completion-mode obsolete:
;; - (?) <foo.h> style completion for file names.
@@ -489,6 +492,18 @@ Moves point to the end of the new text."
(insert newtext)
(delete-region (point) (+ (point) (- end beg))))
+(defcustom completion-cycle-threshold nil
+ "Number of completion candidates below which cycling is used.
+Depending on this setting `minibuffer-complete' may use cycling,
+like `minibuffer-force-complete'.
+If nil, cycling is never used.
+If t, cycling is always used.
+If an integer, cycling is used as soon as there are fewer completion
+candidates than this number."
+ :type '(choice (const :tag "No cycling" nil)
+ (const :tag "Always cycle" t)
+ (integer :tag "Threshold")))
+
(defun completion--do-completion (&optional try-completion-function)
"Do the completion and return a summary of what happened.
M = completion was performed, the text was Modified.
@@ -548,14 +563,43 @@ E = after completion we now have an Exact match.
;; It did find a match. Do we match some possibility exactly now?
(let ((exact (test-completion completion
minibuffer-completion-table
- minibuffer-completion-predicate)))
- (if completed
+ minibuffer-completion-predicate))
+ (comps
+ ;; Check to see if we want to do cycling. We do it
+ ;; here, after having performed the normal completion,
+ ;; so as to take advantage of the difference between
+ ;; try-completion and all-completions, for things
+ ;; like completion-ignored-extensions.
+ (when (and completion-cycle-threshold
+ ;; Check that the completion didn't make
+ ;; us jump to a different boundary.
+ (or (not completed)
+ (< (car (completion-boundaries
+ (substring completion 0 comp-pos)
+ minibuffer-completion-table
+ minibuffer-completion-predicate
+ ""))
+ comp-pos)))
+ (completion-all-sorted-completions))))
+ (setq completion-all-sorted-completions nil)
+ (cond
+ ((and (not (ignore-errors
+ ;; This signal an (intended) error if comps is too
+ ;; short or if completion-cycle-threshold is t.
+ (consp (nthcdr completion-cycle-threshold comps))))
+ ;; More than 1, so there's something to cycle.
+ (consp (cdr comps)))
+ ;; Fewer than completion-cycle-threshold remaining
+ ;; completions: let's cycle.
+ (setq completed t exact t)
+ (setq completion-all-sorted-completions comps)
+ (minibuffer-force-complete))
+ (completed
;; We could also decide to refresh the completions,
;; if they're displayed (and assuming there are
;; completions left).
- (minibuffer-hide-completions)
+ (minibuffer-hide-completions))
;; Show the completion table, if requested.
- (cond
((not exact)
(if (case completion-auto-help
(lazy (eq this-command last-command))
@@ -566,7 +610,7 @@ E = after completion we now have an Exact match.
;; means we've already given a "Next char not unique" message
;; and the user's hit TAB again, so now we give him help.
((eq this-command last-command)
- (if completion-auto-help (minibuffer-completion-help)))))
+ (if completion-auto-help (minibuffer-completion-help))))
(minibuffer--bitset completed t exact))))))))
@@ -580,21 +624,26 @@ scroll the window of possible completions."
;; If the previous command was not this,
;; mark the completion buffer obsolete.
(unless (eq this-command last-command)
+ (setq completion-all-sorted-completions nil)
(setq minibuffer-scroll-window nil))
- (let ((window minibuffer-scroll-window))
+ (cond
;; If there's a fresh completion window with a live buffer,
;; and this command is repeated, scroll that window.
- (if (window-live-p window)
+ ((window-live-p minibuffer-scroll-window)
+ (let ((window minibuffer-scroll-window))
(with-current-buffer (window-buffer window)
(if (pos-visible-in-window-p (point-max) window)
;; If end is in view, scroll up to the beginning.
(set-window-start window (point-min) nil)
;; Else scroll down one screen.
(scroll-other-window))
- nil)
-
- (case (completion--do-completion)
+ nil)))
+ ;; If we're cycling, keep on cycling.
+ (completion-all-sorted-completions
+ (minibuffer-force-complete)
+ t)
+ (t (case (completion--do-completion)
(#b000 nil)
(#b001 (minibuffer-message "Sole completion")
t)
@@ -1835,8 +1884,8 @@ or a symbol chosen among `any', `star', `point', `prefix'."
(lambda (x)
(cond
((stringp x) (regexp-quote x))
- ((if (consp group) (memq x group) group)
- "\\(.*?\\)" ".*?")))
+ ((if (consp group) (memq x group) group) "\\(.*?\\)")
+ (t ".*?")))
pattern
""))))
;; 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.
PRESERVE-UID-GID is completely ignored."
(setq filename (expand-file-name filename)
newname (expand-file-name newname))
+ (with-progress-reporter
+ (tramp-dissect-file-name (if (file-remote-p filename) filename newname))
+ 0 (format "Copying %s to %s" filename newname)
+
+ (let ((tmpfile (file-local-copy filename)))
+
+ (if tmpfile
+ ;; Remote filename.
+ (condition-case err
+ (rename-file tmpfile newname ok-if-already-exists)
+ ((error quit)
+ (tramp-compat-delete-file tmpfile 'force)
+ (signal (car err) (cdr err))))
+
+ ;; Remote newname.
+ (when (file-directory-p newname)
+ (setq newname
+ (expand-file-name (file-name-nondirectory filename) newname)))
+
+ (with-parsed-tramp-file-name newname nil
+ (when (and (not ok-if-already-exists)
+ (file-exists-p newname))
+ (tramp-error v 'file-already-exists newname))
- (let ((tmpfile (file-local-copy filename)))
-
- (if tmpfile
- ;; Remote filename.
- (condition-case err
- (rename-file tmpfile newname ok-if-already-exists)
- ((error quit)
- (tramp-compat-delete-file tmpfile 'force)
- (signal (car err) (cdr err))))
-
- ;; Remote newname.
- (when (file-directory-p newname)
- (setq newname (expand-file-name
- (file-name-nondirectory filename) newname)))
-
- (with-parsed-tramp-file-name newname nil
- (when (and (not ok-if-already-exists)
- (file-exists-p newname))
- (tramp-error v 'file-already-exists newname))
-
- ;; We must also flush the cache of the directory, because
- ;; `file-attributes' reads the values from there.
- (tramp-flush-file-property v (file-name-directory localname))
- (tramp-flush-file-property v localname)
- (unless (tramp-smb-get-share v)
- (tramp-error
- v 'file-error "Target `%s' must contain a share name" newname))
- (tramp-message v 0 "Copying file %s to file %s..." filename newname)
- (if (tramp-smb-send-command
- v (format "put \"%s\" \"%s\""
- filename (tramp-smb-get-localname v)))
- (tramp-message
- v 0 "Copying file %s to file %s...done" filename newname)
- (tramp-error v 'file-error "Cannot copy `%s'" filename)))))
+ ;; We must also flush the cache of the directory, because
+ ;; `file-attributes' reads the values from there.
+ (tramp-flush-file-property v (file-name-directory localname))
+ (tramp-flush-file-property v localname)
+ (unless (tramp-smb-get-share v)
+ (tramp-error
+ v 'file-error "Target `%s' must contain a share name" newname))
+ (unless (tramp-smb-send-command
+ v (format "put \"%s\" \"%s\""
+ filename (tramp-smb-get-localname v)))
+ (tramp-error v 'file-error "Cannot copy `%s'" filename))))))
;; KEEP-DATE handling.
(when keep-date (set-file-times newname (nth 5 (file-attributes filename)))))
@@ -605,15 +605,15 @@ PRESERVE-UID-GID is completely ignored."
v 'file-error
"Cannot make local copy of non-existing file `%s'" filename))
(let ((tmpfile (tramp-compat-make-temp-file filename)))
- (tramp-message v 4 "Fetching %s to tmp file %s..." filename tmpfile)
- (if (tramp-smb-send-command
- v (format "get \"%s\" \"%s\"" (tramp-smb-get-localname v) tmpfile))
- (tramp-message
- v 4 "Fetching %s to tmp file %s...done" filename tmpfile)
- ;; Oops, an error. We shall cleanup.
- (tramp-compat-delete-file tmpfile 'force)
- (tramp-error
- v 'file-error "Cannot make local copy of file `%s'" filename))
+ (with-progress-reporter
+ v 3 (format "Fetching %s to tmp file %s" filename tmpfile)
+ (unless (tramp-smb-send-command
+ v (format "get \"%s\" \"%s\""
+ (tramp-smb-get-localname v) tmpfile))
+ ;; Oops, an error. We shall cleanup.
+ (tramp-compat-delete-file tmpfile 'force)
+ (tramp-error
+ v 'file-error "Cannot make local copy of file `%s'" filename)))
tmpfile)))
;; This function should return "foo/" for directories and "bar" for
@@ -850,38 +850,39 @@ target of the symlink differ."
"Like `rename-file' for Tramp files."
(setq filename (expand-file-name filename)
newname (expand-file-name newname))
+ (with-progress-reporter
+ (tramp-dissect-file-name (if (file-remote-p filename) filename newname))
+ 0 (format "Renaming %s to %s" filename newname)
+
+ (let ((tmpfile (file-local-copy filename)))
+
+ (if tmpfile
+ ;; Remote filename.
+ (condition-case err
+ (rename-file tmpfile newname ok-if-already-exists)
+ ((error quit)
+ (tramp-compat-delete-file tmpfile 'force)
+ (signal (car err) (cdr err))))
+
+ ;; Remote newname.
+ (when (file-directory-p newname)
+ (setq newname (expand-file-name
+ (file-name-nondirectory filename) newname)))
+
+ (with-parsed-tramp-file-name newname nil
+ (when (and (not ok-if-already-exists)
+ (file-exists-p newname))
+ (tramp-error v 'file-already-exists newname))
+ ;; We must also flush the cache of the directory, because
+ ;; `file-attributes' reads the values from there.
+ (tramp-flush-file-property v (file-name-directory localname))
+ (tramp-flush-file-property v localname)
+ (unless (tramp-smb-send-command
+ v (format "put %s \"%s\""
+ filename (tramp-smb-get-localname v)))
+ (tramp-error v 'file-error "Cannot rename `%s'" filename)))))
- (let ((tmpfile (file-local-copy filename)))
-
- (if tmpfile
- ;; Remote filename.
- (condition-case err
- (rename-file tmpfile newname ok-if-already-exists)
- ((error quit)
- (tramp-compat-delete-file tmpfile 'force)
- (signal (car err) (cdr err))))
-
- ;; Remote newname.
- (when (file-directory-p newname)
- (setq newname (expand-file-name
- (file-name-nondirectory filename) newname)))
-
- (with-parsed-tramp-file-name newname nil
- (when (and (not ok-if-already-exists)
- (file-exists-p newname))
- (tramp-error v 'file-already-exists newname))
- ;; We must also flush the cache of the directory, because
- ;; `file-attributes' reads the values from there.
- (tramp-flush-file-property v (file-name-directory localname))
- (tramp-flush-file-property v localname)
- (tramp-message v 0 "Copying file %s to file %s..." filename newname)
- (if (tramp-smb-send-command
- v (format "put %s \"%s\"" filename (tramp-smb-get-localname v)))
- (tramp-message
- v 0 "Copying file %s to file %s...done" filename newname)
- (tramp-error v 'file-error "Cannot rename `%s'" filename)))))
-
- (tramp-compat-delete-file filename 'force))
+ (tramp-compat-delete-file filename 'force)))
(defun tramp-smb-handle-set-file-modes (filename mode)
"Like `set-file-modes' for Tramp files."
@@ -938,14 +939,14 @@ errors for shares like \"C$/\", which are common in Microsoft Windows."
(list start end tmpfile append 'no-message lockname confirm)
(list start end tmpfile append 'no-message lockname)))
- (tramp-message v 5 "Writing tmp file %s to file %s..." tmpfile filename)
- (unwind-protect
- (if (tramp-smb-send-command
- v (format "put %s \"%s\"" tmpfile (tramp-smb-get-localname v)))
- (tramp-message
- v 5 "Writing tmp file %s to file %s...done" tmpfile filename)
- (tramp-error v 'file-error "Cannot write `%s'" filename))
- (tramp-compat-delete-file tmpfile 'force))
+ (with-progress-reporter
+ v 3 (format "Moving tmp file %s to %s" tmpfile filename)
+ (unwind-protect
+ (unless (tramp-smb-send-command
+ v (format "put %s \"%s\""
+ tmpfile (tramp-smb-get-localname v)))
+ (tramp-error v 'file-error "Cannot write `%s'" filename))
+ (tramp-compat-delete-file tmpfile 'force)))
(unless (equal curbuf (current-buffer))
(tramp-error
@@ -1302,60 +1303,57 @@ connection if a previous connection has died for some reason."
(setq args (append args (list "-s" tramp-smb-conf))))
;; OK, let's go.
- (tramp-message
- vec 3 "Opening connection for //%s%s/%s..."
- (if (not (zerop (length user))) (concat user "@") "")
- host (or share ""))
-
- (let* ((coding-system-for-read nil)
- (process-connection-type tramp-process-connection-type)
- (p (let ((default-directory
- (tramp-compat-temporary-file-directory)))
- (apply #'start-process
- (tramp-buffer-name vec) (tramp-get-buffer vec)
- tramp-smb-program args))))
-
- (tramp-message
- vec 6 "%s" (mapconcat 'identity (process-command p) " "))
- (tramp-set-process-query-on-exit-flag p nil)
-
- ;; Set variables for computing the prompt for reading password.
- (setq tramp-current-method tramp-smb-method
- tramp-current-user user
- tramp-current-host host)
-
- ;; Play login scenario.
- (tramp-process-actions
- p vec
- (if share
- tramp-smb-actions-with-share
- tramp-smb-actions-without-share))
-
- ;; Check server version.
- (with-current-buffer (tramp-get-connection-buffer vec)
- (goto-char (point-min))
- (search-forward-regexp
- "Domain=\\[[^]]*\\] OS=\\[[^]]*\\] Server=\\[[^]]*\\]" nil t)
- (let ((smbserver-version (match-string 0)))
- (unless
- (string-equal
- smbserver-version
- (tramp-get-connection-property
- vec "smbserver-version" smbserver-version))
- (tramp-flush-directory-property vec "")
- (tramp-flush-connection-property vec))
- (tramp-set-connection-property
- vec "smbserver-version" smbserver-version)))
-
- ;; Set chunksize. Otherwise, `tramp-send-string' might
- ;; try it itself.
- (tramp-set-connection-property p "smb-share" share)
- (tramp-set-connection-property p "chunksize" tramp-chunksize)
-
- (tramp-message
- vec 3 "Opening connection for //%s%s/%s...done"
- (if (not (zerop (length user))) (concat user "@") "")
- host (or share ""))))))))
+ (with-progress-reporter
+ vec 3
+ (format "Opening connection for //%s%s/%s"
+ (if (not (zerop (length user))) (concat user "@") "")
+ host (or share ""))
+
+ (let* ((coding-system-for-read nil)
+ (process-connection-type tramp-process-connection-type)
+ (p (let ((default-directory
+ (tramp-compat-temporary-file-directory)))
+ (apply #'start-process
+ (tramp-buffer-name vec) (tramp-get-buffer vec)
+ tramp-smb-program args))))
+
+ (tramp-message
+ vec 6 "%s" (mapconcat 'identity (process-command p) " "))
+ (tramp-set-process-query-on-exit-flag p nil)
+
+ ;; Set variables for computing the prompt for reading password.
+ (setq tramp-current-method tramp-smb-method
+ tramp-current-user user
+ tramp-current-host host)
+
+ ;; Play login scenario.
+ (tramp-process-actions
+ p vec
+ (if share
+ tramp-smb-actions-with-share
+ tramp-smb-actions-without-share))
+
+ ;; Check server version.
+ (with-current-buffer (tramp-get-connection-buffer vec)
+ (goto-char (point-min))
+ (search-forward-regexp
+ "Domain=\\[[^]]*\\] OS=\\[[^]]*\\] Server=\\[[^]]*\\]" nil t)
+ (let ((smbserver-version (match-string 0)))
+ (unless
+ (string-equal
+ smbserver-version
+ (tramp-get-connection-property
+ vec "smbserver-version" smbserver-version))
+ (tramp-flush-directory-property vec "")
+ (tramp-flush-connection-property vec))
+ (tramp-set-connection-property
+ vec "smbserver-version" smbserver-version)))
+
+ ;; Set chunksize. Otherwise, `tramp-send-string' might
+ ;; try it itself.
+ (tramp-set-connection-property p "smb-share" share)
+ (tramp-set-connection-property
+ p "chunksize" tramp-chunksize))))))))
;; We don't use timeouts. If needed, the caller shall wrap around.
(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."
(tramp-message ,vec ,level "%s..." ,message)
;; We start a pulsing progress reporter after 3 seconds. Feature
;; introduced in Emacs 24.1.
- (when (<= ,level tramp-verbose)
+ (when (and tramp-message-show-message
+ ;; Display only when there is a minimum level.
+ (<= ,level (min tramp-verbose 3)))
(condition-case nil
(setq pr (tramp-compat-funcall 'make-progress-reporter ,message)
tm (if pr (run-at-time 3 0.1 'progress-reporter-update pr)))
(error nil)))
(unwind-protect
;; Execute the body.
- (progn ,@body)
+ (let ((tramp-message-show-message
+ (and tramp-message-show-message (not tm))))
+ ,@body)
;; Stop progress reporter.
(if tm (tramp-compat-funcall 'cancel-timer tm))
(tramp-message ,vec ,level "%s...done" ,message))))
@@ -2558,13 +2562,13 @@ target of the symlink differ."
(tramp-error v 'file-error "Cannot load nonexistent file `%s'" file)))
(if (not (file-exists-p file))
nil
- (unless nomessage (tramp-message v 0 "Loading %s..." file))
- (let ((local-copy (file-local-copy file)))
- ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil.
- (unwind-protect
- (load local-copy noerror t t)
- (tramp-compat-delete-file local-copy 'force)))
- (unless nomessage (tramp-message v 0 "Loading %s...done" file))
+ (let ((tramp-message-show-message (not nomessage)))
+ (with-progress-reporter v 0 (format "Loading %s" file)
+ (let ((local-copy (file-local-copy file)))
+ ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil.
+ (unwind-protect
+ (load local-copy noerror t t)
+ (tramp-compat-delete-file local-copy 'force)))))
t)))
;; Localname manipulation functions that grok Tramp localnames...
@@ -2867,7 +2871,9 @@ target of the symlink differ."
(tramp-send-command-and-read
vec
(format
- "((%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)"
+ ;; On Opsware, pdksh (which is the true name of ksh there) doesn't
+ ;; parse correctly the sequence "((". Therefore, we add a space.
+ "( (%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)"
(tramp-get-file-exists-command vec)
(tramp-shell-quote-argument localname)
(tramp-get-test-command vec)
@@ -2920,12 +2926,14 @@ already know that the buffer is visiting a file and that
function directly, unless those two cases are already taken care
of."
(with-current-buffer buf
- ;; There is no file visiting the buffer, or the buffer has no
- ;; recorded last modification time.
- (if (or (not (buffer-file-name))
- (eq (visited-file-modtime) 0))
- t
- (let ((f (buffer-file-name)))
+ (let ((f (buffer-file-name)))
+ ;; There is no file visiting the buffer, or the buffer has no
+ ;; recorded last modification time, or there is no established
+ ;; connection.
+ (if (or (not f)
+ (eq (visited-file-modtime) 0)
+ (not (tramp-file-name-handler 'file-remote-p f nil 'connected)))
+ t
(with-parsed-tramp-file-name f nil
(tramp-flush-file-property v localname)
(let* ((attr (file-attributes f))
@@ -2984,16 +2992,11 @@ of."
(let ((time (if (or (null time) (equal time '(0 0)))
(current-time)
time))
- (utc
- ;; With GNU Emacs, `format-time-string' has an
- ;; optional parameter UNIVERSAL. This is preferred,
- ;; because we could handle the case when the remote
- ;; host is located in a different time zone as the
- ;; local host.
- (and (functionp 'subr-arity)
- (subrp (symbol-function 'format-time-string))
- (= 3 (cdr (tramp-compat-funcall
- 'subr-arity 'format-time-string))))))
+ ;; With GNU Emacs, `format-time-string' has an optional
+ ;; parameter UNIVERSAL. This is preferred, because we
+ ;; could handle the case when the remote host is
+ ;; located in a different time zone as the local host.
+ (utc (not (featurep 'xemacs))))
(tramp-send-command-and-check
v (format "%s touch -t %s %s"
(if utc "TZ=UTC; export TZ;" "")
@@ -4154,7 +4157,7 @@ This is like `dired-recursive-delete-directory' for Tramp files."
nil)
((and suffix (nth 2 suffix))
;; We found an uncompression rule.
- (with-progress-reporter v 0 (format "Uncompressing %s..." file)
+ (with-progress-reporter v 0 (format "Uncompressing %s" file)
(when (zerop
(tramp-send-command-and-check
v (concat (nth 2 suffix) " "
@@ -4166,7 +4169,7 @@ This is like `dired-recursive-delete-directory' for Tramp files."
(t
;; We don't recognize the file as compressed, so compress it.
;; Try gzip.
- (with-progress-reporter v 0 (format "Compressing %s..." file)
+ (with-progress-reporter v 0 (format "Compressing %s" file)
(when (zerop
(tramp-send-command-and-check
v (concat "gzip -f "
@@ -4748,11 +4751,11 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
;; Use inline encoding for file transfer.
(rem-enc
(save-excursion
- (tramp-message v 5 "Encoding remote file %s..." filename)
- (tramp-barf-unless-okay
- v (format rem-enc (tramp-shell-quote-argument localname))
- "Encoding remote file failed")
- (tramp-message v 5 "Encoding remote file %s...done" filename)
+ (with-progress-reporter
+ v 5 (format "Encoding remote file %s" filename)
+ (tramp-barf-unless-okay
+ v (format rem-enc (tramp-shell-quote-argument localname))
+ "Encoding remote file failed"))
(if (functionp loc-dec)
;; 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."
(with-temp-buffer
(set-buffer-multibyte nil)
(insert-buffer-substring (tramp-get-buffer v))
- (tramp-message
- v 5 "Decoding remote file %s with function %s..."
- filename loc-dec)
- (funcall loc-dec (point-min) (point-max))
- ;; Unset `file-name-handler-alist'. Otherwise,
- ;; epa-file gets confused.
- (let (file-name-handler-alist
- (coding-system-for-write 'binary))
- (write-region (point-min) (point-max) tmpfile)))
+ (with-progress-reporter
+ v 3 (format "Decoding remote file %s with function %s"
+ filename loc-dec)
+ (funcall loc-dec (point-min) (point-max))
+ ;; Unset `file-name-handler-alist'. Otherwise,
+ ;; epa-file gets confused.
+ (let (file-name-handler-alist
+ (coding-system-for-write 'binary))
+ (write-region (point-min) (point-max) tmpfile))))
;; If tramp-decoding-function is not defined for this
;; method, we invoke tramp-decoding-command instead.
@@ -4780,14 +4783,14 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
(let (file-name-handler-alist
(coding-system-for-write 'binary))
(write-region (point-min) (point-max) tmpfile2))
- (tramp-message
- v 5 "Decoding remote file %s with command %s..."
- filename loc-dec)
- (unwind-protect
- (tramp-call-local-coding-command loc-dec tmpfile2 tmpfile)
- (tramp-compat-delete-file tmpfile2 'force))))
+ (with-progress-reporter
+ v 3 (format "Decoding remote file %s with command %s"
+ filename loc-dec)
+ (unwind-protect
+ (tramp-call-local-coding-command
+ loc-dec tmpfile2 tmpfile)
+ (tramp-compat-delete-file tmpfile2 'force)))))
- (tramp-message v 5 "Decoding remote file %s...done" filename)
;; Set proper permissions.
(set-file-modes tmpfile (tramp-default-file-modes filename))
;; Set local user ownership.
@@ -4843,7 +4846,7 @@ coding system might not be determined. This function repairs it."
"Like `insert-file-contents' for Tramp files."
(barf-if-buffer-read-only)
(setq filename (expand-file-name filename))
- (let (coding-system-used result local-copy remote-copy)
+ (let (result local-copy remote-copy)
(with-parsed-tramp-file-name filename nil
(unwind-protect
(if (not (file-exists-p filename))
@@ -4914,27 +4917,16 @@ coding system might not be determined. This function repairs it."
(setq tramp-temp-buffer-file-name local-copy)
(put 'tramp-temp-buffer-file-name 'permanent-local t))
- (tramp-message
- v 4 "Inserting local temp file `%s'..." local-copy)
-
- ;; We must ensure that `file-coding-system-alist'
- ;; matches `local-copy'.
- (let ((file-coding-system-alist
- (tramp-find-file-name-coding-system-alist
- filename local-copy)))
- (setq result
- (insert-file-contents
- local-copy nil nil nil replace))
- ;; Now `last-coding-system-used' has right value.
- ;; Remember it.
- (when (boundp 'last-coding-system-used)
- (setq coding-system-used
- (symbol-value 'last-coding-system-used))))
-
- (tramp-message
- v 4 "Inserting local temp file `%s'...done" local-copy)
- (when (boundp 'last-coding-system-used)
- (set 'last-coding-system-used coding-system-used))))
+ (with-progress-reporter
+ v 3 (format "Inserting local temp file `%s'" local-copy)
+ ;; We must ensure that `file-coding-system-alist'
+ ;; matches `local-copy'.
+ (let ((file-coding-system-alist
+ (tramp-find-file-name-coding-system-alist
+ filename local-copy)))
+ (setq result
+ (insert-file-contents
+ local-copy nil nil nil replace))))))
;; Save exit.
(progn
@@ -5194,15 +5186,14 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
;; Use inline file transfer.
(rem-dec
;; Encode tmpfile.
- (tramp-message v 5 "Encoding region...")
(unwind-protect
(with-temp-buffer
(set-buffer-multibyte nil)
;; Use encoding function or command.
(if (functionp loc-enc)
- (progn
- (tramp-message
- v 5 "Encoding region using function `%s'..." loc-enc)
+ (with-progress-reporter
+ v 3 (format "Encoding region using function `%s'"
+ loc-enc)
(let ((coding-system-for-read 'binary))
(insert-file-contents-literally tmpfile))
;; 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."
(tramp-compat-temporary-file-directory)))
(funcall loc-enc (point-min) (point-max))))
- (tramp-message
- v 5 "Encoding region using command `%s'..." loc-enc)
- (unless (zerop (tramp-call-local-coding-command
- loc-enc tmpfile t))
- (tramp-error
- v 'file-error
- "Cannot write to `%s', local encoding command `%s' failed"
- filename loc-enc)))
+ (with-progress-reporter
+ v 3 (format "Encoding region using command `%s'"
+ loc-enc)
+ (unless (zerop (tramp-call-local-coding-command
+ loc-enc tmpfile t))
+ (tramp-error
+ v 'file-error
+ (concat "Cannot write to `%s', "
+ "local encoding command `%s' failed")
+ filename loc-enc))))
;; Send buffer into remote decoding command which
;; writes to remote file. Because this happens on
;; the remote host, we cannot use the function.
- (goto-char (point-max))
- (unless (bolp) (newline))
- (tramp-message
- v 5 "Decoding region into remote file %s..." filename)
- (tramp-send-command
- v
- (format
- (concat rem-dec " <<'EOF'\n%sEOF")
- (tramp-shell-quote-argument localname)
- (buffer-string)))
- (tramp-barf-unless-okay
- v nil
- "Couldn't write region to `%s', decode using `%s' failed"
- filename rem-dec)
- ;; When `file-precious-flag' is set, the region is
- ;; written to a temporary file. Check that the
- ;; checksum is equal to that from the local tmpfile.
- (when file-precious-flag
- (erase-buffer)
- (and
- ;; cksum runs locally, if possible.
- (zerop (tramp-local-call-process "cksum" tmpfile t))
- ;; cksum runs remotely.
- (zerop
- (tramp-send-command-and-check
- v
- (format
- "cksum <%s" (tramp-shell-quote-argument localname))))
- ;; ... they are different.
- (not
- (string-equal
- (buffer-string)
- (with-current-buffer (tramp-get-buffer v)
- (buffer-string))))
- (tramp-error
- v 'file-error
- (concat "Couldn't write region to `%s',"
- " decode using `%s' failed")
- filename rem-dec)))
- (tramp-message
- v 5 "Decoding region into remote file %s...done" filename))
+ (with-progress-reporter
+ v 3
+ (format "Decoding region into remote file %s" filename)
+ (goto-char (point-max))
+ (unless (bolp) (newline))
+ (tramp-send-command
+ v
+ (format
+ (concat rem-dec " <<'EOF'\n%sEOF")
+ (tramp-shell-quote-argument localname)
+ (buffer-string)))
+ (tramp-barf-unless-okay
+ v nil
+ "Couldn't write region to `%s', decode using `%s' failed"
+ filename rem-dec)
+ ;; When `file-precious-flag' is set, the region is
+ ;; written to a temporary file. Check that the
+ ;; checksum is equal to that from the local tmpfile.
+ (when file-precious-flag
+ (erase-buffer)
+ (and
+ ;; cksum runs locally, if possible.
+ (zerop (tramp-local-call-process "cksum" tmpfile t))
+ ;; cksum runs remotely.
+ (zerop
+ (tramp-send-command-and-check
+ v
+ (format
+ "cksum <%s"
+ (tramp-shell-quote-argument localname))))
+ ;; ... they are different.
+ (not
+ (string-equal
+ (buffer-string)
+ (with-current-buffer (tramp-get-buffer v)
+ (buffer-string))))
+ (tramp-error
+ v 'file-error
+ (concat "Couldn't write region to `%s',"
+ " decode using `%s' failed")
+ filename rem-dec)))))
;; Save exit.
(tramp-compat-delete-file tmpfile 'force)))
@@ -6287,14 +6280,13 @@ Only send the definition if it has not already been done."
(let* ((p (tramp-get-connection-process vec))
(scripts (tramp-get-connection-property p "scripts" nil)))
(unless (member name scripts)
- (tramp-message vec 5 "Sending script `%s'..." name)
- ;; The script could contain a call of Perl. This is masked with `%s'.
- (tramp-send-command-and-check
- vec
- (format "%s () {\n%s\n}" name
- (format script (tramp-get-remote-perl vec))))
- (tramp-set-connection-property p "scripts" (cons name scripts))
- (tramp-message vec 5 "Sending script `%s'...done." name))))
+ (with-progress-reporter vec 5 (format "Sending script `%s'" name)
+ ;; The script could contain a call of Perl. This is masked with `%s'.
+ (tramp-send-command-and-check
+ vec
+ (format "%s () {\n%s\n}" name
+ (format script (tramp-get-remote-perl vec))))
+ (tramp-set-connection-property p "scripts" (cons name scripts))))))
(defun tramp-set-auto-save ()
(when (and ;; ange-ftp has its own auto-save mechanism
@@ -6573,7 +6565,7 @@ file exists and nonzero exit status otherwise."
(setq extra-args (cdr item))))
(when extra-args (setq shell (concat shell " " extra-args))))
(tramp-message
- vec 5 "Starting remote shell `%s' for tilde expansion..." shell)
+ vec 5 "Starting remote shell `%s' for tilde expansion" shell)
(let ((tramp-end-of-output tramp-initial-end-of-output))
(tramp-send-command
vec
@@ -6581,13 +6573,12 @@ file exists and nonzero exit status otherwise."
(shell-quote-argument tramp-end-of-output) shell)
t))
;; Setting prompts.
- (tramp-message vec 5 "Setting remote shell prompt...")
- (tramp-send-command
- vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t)
- (tramp-send-command vec "PS2=''" t)
- (tramp-send-command vec "PS3=''" t)
- (tramp-send-command vec "PROMPT_COMMAND=''" t)
- (tramp-message vec 5 "Setting remote shell prompt...done"))
+ (with-progress-reporter vec 5 (format "Setting remote shell prompt")
+ (tramp-send-command
+ vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t)
+ (tramp-send-command vec "PS2=''" t)
+ (tramp-send-command vec "PS3=''" t)
+ (tramp-send-command vec "PROMPT_COMMAND=''" t)))
(t (tramp-message
vec 5 "Remote `%s' groks tilde expansion, good"
@@ -7424,11 +7415,11 @@ connection if a previous connection has died for some reason."
(tramp-get-buffer vec)
(if (zerop (length (tramp-file-name-user vec)))
(tramp-message
- vec 3 "Opening connection for %s using %s..."
+ vec 3 "Opening connection for %s using %s"
(tramp-file-name-host vec)
(tramp-file-name-method vec))
(tramp-message
- vec 3 "Opening connection for %s@%s using %s..."
+ vec 3 "Opening connection for %s@%s using %s"
(tramp-file-name-user vec)
(tramp-file-name-host vec)
(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 @@
(org-ascii-replace-entities): New function.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
- Ulf Stegemann <ulf@zeitform.de>
+ Ulf Stegemann <ulf@zeitform.de>
* org-entities.el: New file.
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."
(interactive "p")
(or arg (setq arg 1))
+ (or (not (eq this-command 'c-beginning-of-defun))
+ (eq last-command 'c-beginning-of-defun)
+ (and transient-mark-mode mark-active)
+ (push-mark))
+
(c-save-buffer-state
(beginning-of-defun-function end-of-defun-function
(start (point))
@@ -1604,6 +1609,11 @@ the open-parenthesis that starts a defun; see `beginning-of-defun'."
(interactive "p")
(or arg (setq arg 1))
+ (or (not (eq this-command 'c-end-of-defun))
+ (eq last-command 'c-end-of-defun)
+ (and transient-mark-mode mark-active)
+ (push-mark))
+
(c-save-buffer-state
(beginning-of-defun-function end-of-defun-function
(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.")
;; mode-command and utility functions
;;;###autoload
-(defun sh-mode ()
+(define-derived-mode sh-mode prog-mode "Shell-script"
"Major mode for editing shell scripts.
This mode works for many shells, since they all have roughly the same syntax,
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.
If your shell gives error messages with line numbers, you can use \\[executable-interpret]
with your script for an edit-interpret-debug cycle."
- (interactive)
- (kill-all-local-variables)
- (setq major-mode 'sh-mode
- mode-name "Shell-script")
- (use-local-map sh-mode-map)
(make-local-variable 'skeleton-end-hook)
(make-local-variable 'paragraph-start)
(make-local-variable 'paragraph-separate)
@@ -1613,8 +1608,7 @@ with your script for an edit-interpret-debug cycle."
"sh")
(t
sh-shell-file))
- nil nil)
- (run-mode-hooks 'sh-mode-hook))
+ nil nil))
;;;###autoload
(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 @@
(call-interactively 'scroll-all-scroll-down-all))
((eq this-command 'previous-line)
(call-interactively 'scroll-all-scroll-up-all))
- ((eq this-command 'scroll-up)
+ ((memq this-command '(scroll-up scroll-up-command))
(call-interactively 'scroll-all-page-down-all))
- ((eq this-command 'scroll-down)
+ ((memq this-command '(scroll-down scroll-down-command))
(call-interactively 'scroll-all-page-up-all))
((eq this-command 'beginning-of-buffer)
(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."
(or ispell-local-dictionary ispell-dictionary "default"))
(sit-for 0)
(setq ispell-library-directory (ispell-check-version)
- ispell-process-directory default-directory
ispell-process (ispell-start-process)
ispell-filter nil
- ispell-filter-continue nil
- ispell-process-buffer-name (buffer-name))
+ ispell-filter-continue nil)
+ ;; When spellchecking minibuffer contents, make sure ispell process
+ ;; is not restarted every time the minibuffer is killed.
+ (if (window-minibuffer-p)
+ (if (fboundp 'minibuffer-selected-window)
+ ;; Assign ispell process to parent buffer
+ (setq ispell-process-directory default-directory
+ ispell-process-buffer-name (window-buffer (minibuffer-selected-window)))
+ ;; Force `ispell-process-directory' to $HOME and use a dummy name
+ (setq ispell-process-directory (expand-file-name "~/")
+ ispell-process-buffer-name " * Minibuffer-has-spellcheck-enabled"))
+ ;; Not in a minibuffer
+ (setq ispell-process-directory default-directory
+ ispell-process-buffer-name (buffer-name)))
(if ispell-async-processp
(set-process-filter ispell-process 'ispell-filter))
;; 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.")
(define-key map "\C-c\^?" 'sgml-delete-tag)
(define-key map "\C-c?" 'sgml-tag-help)
(define-key map "\C-c/" 'sgml-close-tag)
+
+ ;; Redundant keybindings, for consistency with TeX mode.
+ (define-key map "\C-c\C-o" 'sgml-tag)
+ (define-key map "\C-c\C-e" 'sgml-close-tag)
+
(define-key map "\C-c8" 'sgml-name-8bit-mode)
(define-key map "\C-c\C-v" 'sgml-validate)
(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."
(define-key map "\C-c\C-c" 'tex-compile)
(define-key map "\C-c\C-i" 'tex-bibtex-file)
(define-key map "\C-c\C-o" 'latex-insert-block)
+
+ ;; Redundant keybindings, for consistency with SGML mode.
+ (define-key map "\C-c\C-t" 'latex-insert-block)
+ (define-key map "\C-c/" 'latex-close-block)
+
(define-key map "\C-c\C-e" 'latex-close-block)
(define-key map "\C-c\C-u" 'tex-goto-last-unclosed-latex-block)
(define-key map "\C-c\C-m" 'tex-feed-input)