aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog94
-rw-r--r--lisp/calc/calc.el2
-rw-r--r--lisp/cedet/ede/cpp-root.el2
-rw-r--r--lisp/cedet/ede/files.el2
-rw-r--r--lisp/cedet/ede/proj-aux.el2
-rw-r--r--lisp/cedet/ede/simple.el2
-rw-r--r--lisp/cedet/semantic.el6
-rw-r--r--lisp/cedet/semantic/complete.el6
-rw-r--r--lisp/cedet/semantic/db-el.el2
-rw-r--r--lisp/cedet/semantic/db-global.el2
-rw-r--r--lisp/cedet/semantic/db-javascript.el2
-rw-r--r--lisp/cedet/semantic/db.el4
-rw-r--r--lisp/cedet/semantic/decorate/include.el2
-rw-r--r--lisp/cedet/semantic/idle.el4
-rw-r--r--lisp/emacs-lisp/advice.el32
-rw-r--r--lisp/emacs-lisp/chart.el2
-rw-r--r--lisp/emacs-lisp/cl-loaddefs.el20
-rw-r--r--lisp/emacs-lisp/cl-macs.el18
-rw-r--r--lisp/emulation/edt.el2
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/gnus/ChangeLog14
-rw-r--r--lisp/gnus/message.el49
-rw-r--r--lisp/gnus/nnmairix.el2
-rw-r--r--lisp/mail/sendmail.el14
-rw-r--r--lisp/nxml/nxml-mode.el21
-rw-r--r--lisp/pcmpl-unix.el5
-rw-r--r--lisp/progmodes/ada-mode.el119
-rw-r--r--lisp/startup.el13
-rw-r--r--lisp/textmodes/artist.el32
-rw-r--r--lisp/vc-dir.el5
-rw-r--r--lisp/vc-dispatcher.el5
-rw-r--r--lisp/vc.el14
32 files changed, 360 insertions, 141 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9e08889ba6..741f4ff482 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,93 @@
+2010-01-17 Chong Yidong <[email protected]>
+
+ * mail/sendmail.el (mail-yank-original): Set the mark if the
+ specified function for yanking does not do it.
+
+2010-01-17 Dan Nicolaescu <[email protected]>
+
+ * vc.el (with-vc-properties): Deal with directory arguments. (Bug#5298)
+
+ * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
+ resyncing a directory.
+
+2010-01-17 Stephen Leake <[email protected]>
+
+ * progmodes/ada-mode.el: Fix bug#1920, bug#5400.
+ (ada-ident-re): Delete ., allow multibyte characters.
+ (ada-goto-label-re): New; matches goto labels.
+ (ada-block-label-re): New; matches block labels.
+ (ada-label-re): New; matches both.
+ (ada-named-block-re): Deleted; callers changed to use
+ `ada-block-label-re' instead.
+ (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop):
+ Use `ada-block-label-re'.
+ (ada-indent-on-previous-lines): Improve handling of goto labels.
+ (ada-get-indent-block-start): Special-case block label.
+ (ada-get-indent-label): Split into `ada-indent-block-label' and
+ `ada-indent-goto-label'.
+ (ada-goto-stmt-start, ada-goto-next-non-ws):
+ Optionally ignore goto labels.
+ (ada-goto-next-word): Simplify.
+ (ada-indent-newline-indent-conditional): Insert newline before
+ trying to fix indentation; doc fix.
+
+2010-01-17 Jay Belanger <[email protected]>
+
+ * calc/calc.el (calc-command-flags): Give it an initial value.
+
+2010-01-17 Glenn Morris <[email protected]>
+
+ * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer): Doc fix.
+
+2010-01-17 Juanma Barranquero <[email protected]>
+
+ * cedet/semantic.el (semantic-mode):
+ * files.el (minibuffer-with-setup-hook):
+ * textmodes/artist.el (artist-mt, artist-key-undraw-continously)
+ (artist-key-draw-continously, artist-key-do-continously-continously)
+ (artist-key-set-point-continously, artist-mouse-draw-continously):
+ Fix typos in docstrings.
+
+2010-01-16 Lennart Borgman <[email protected]>
+
+ * nxml/nxml-mode.el (nxml-extend-after-change-region): Never
+ return t (Bug#3898).
+
+2010-01-16 Frédéric Perrin <[email protected]> (tiny change)
+
+ * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we
+ can parse the output of the external commands (Bug#5279).
+
+2010-01-16 Jari Aalto <[email protected]>
+
+ * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix.
+
+2010-01-16 Chong Yidong <[email protected]>
+
+ * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274)
+
+ * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267).
+
+ * startup.el (command-line): Remove unused --icon-type arg.
+ Handle --display arg, passing it to command-line-1 (Bug#5392).
+
+2010-01-16 Mario Lang <[email protected]>
+
+ * cedet/ede/cpp-root.el (ede-cpp-root-project):
+ * cedet/ede/files.el (ede-expand-filename):
+ * cedet/ede/simple.el (ede-simple-project):
+ * cedet/semantic/complete.el (semantic-complete-read-tag-engine)
+ (semantic-complete-inline-tag-engine):
+ * cedet/semantic/db-el.el (semanticdb-equivalent-mode):
+ * cedet/semantic/db-global.el (semanticdb-equivalent-mode):
+ * cedet/semantic/db-javascript.el (semanticdb-equivalent-mode):
+ * cedet/semantic/db.el (semanticdb-equivalent-mode):
+ * cedet/semantic/decorate/include.el (semantic-decoration-unknown-include-describe):
+ * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer):
+ * emacs-lisp/chart.el (chart-translate-namezone):
+ * textmodes/artist.el (artist-compute-popup-menu-table):
+ Remove duplicated words in doc-strings.
+
2010-01-15 David Abrahams <[email protected]> (tiny change)
* net/mairix.el (mairix-widget-send-query): Send -1 instead of nil
@@ -6,7 +96,7 @@
2010-01-15 Kenichi Handa <[email protected]>
* international/mule-cmds.el (canonicalize-coding-system-name):
- Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX".
+ Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387).
2010-01-15 Glenn Morris <[email protected]>
@@ -1473,7 +1563,7 @@
2009-12-01 Dan Nicolaescu <[email protected]>
Make vc-print-log buttons work.
- * log-view.el (log-view-mode-map): Inherit from from widget-keymap.
+ * log-view.el (log-view-mode-map): Inherit from widget-keymap.
2009-11-30 Ryan C. Thompson <[email protected]> (tiny change)
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index a3f95fc73e..2a6ec97ef5 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -1546,7 +1546,7 @@ See calc-keypad for details."
(defvar calc-aborted-prefix nil)
(defvar calc-start-time nil)
-(defvar calc-command-flags)
+(defvar calc-command-flags nil)
(defvar calc-final-point-line)
(defvar calc-final-point-column)
;;; Note that modifications to this function may break calc-pass-errors.
diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el
index ec04dd57c7..1592c3c2f5 100644
--- a/lisp/cedet/ede/cpp-root.el
+++ b/lisp/cedet/ede/cpp-root.el
@@ -324,7 +324,7 @@ exist, it should return nil."
)
)
"EDE cpp-root project class.
-Each directory needs a a project file to control it.")
+Each directory needs a project file to control it.")
;;; INIT
;;
diff --git a/lisp/cedet/ede/files.el b/lisp/cedet/ede/files.el
index bdb9268a03..2f86b76615 100644
--- a/lisp/cedet/ede/files.el
+++ b/lisp/cedet/ede/files.el
@@ -487,7 +487,7 @@ doesn't exist."
(defmethod ede-expand-filename ((this ede-target) filename &optional force)
"Return a fully qualified file name based on target THIS.
-FILENAME should a a filename which occurs in a directory in which THIS works.
+FILENAME should be a filename which occurs in a directory in which THIS works.
Optional argument FORCE forces the default filename to be provided even if it
doesn't exist."
(ede-expand-filename (ede-target-parent this) filename force))
diff --git a/lisp/cedet/ede/proj-aux.el b/lisp/cedet/ede/proj-aux.el
index 9011c62674..26bc9540e8 100644
--- a/lisp/cedet/ede/proj-aux.el
+++ b/lisp/cedet/ede/proj-aux.el
@@ -1,4 +1,4 @@
-;;; ede/proj-aux.el --- EDE Generic Project auxilliary file support
+;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support
;; Copyright (C) 1998, 1999, 2000, 2007, 2009, 2010 Free Software Foundation, Inc.
diff --git a/lisp/cedet/ede/simple.el b/lisp/cedet/ede/simple.el
index 64bf047736..e0a526e9ea 100644
--- a/lisp/cedet/ede/simple.el
+++ b/lisp/cedet/ede/simple.el
@@ -87,7 +87,7 @@ All directories need at least one target.")
(file-header-line :initform ";; EDE Simple Project")
)
"EDE Simple project class.
-Each directory needs a a project file to control it.")
+Each directory needs a project file to control it.")
(defmethod ede-commit-project ((proj ede-simple-project))
"Commit any change to PROJ to its file."
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index 108a8c4b29..0b311d9f24 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1014,7 +1014,7 @@ Throw away all the old tags, and recreate the tag database."
;; The `semantic-mode' command, in conjuction with the
;; `semantic-default-submodes' variable, toggles Semantic's various
-;; auxilliary minor modes.
+;; auxiliary minor modes.
(defvar semantic-load-system-cache-loaded nil
"Non nil when the Semantic system caches have been loaded.
@@ -1057,7 +1057,7 @@ With ARG, turn Semantic mode on if ARG is positive, off otherwise.
In Semantic mode, Emacs parses the buffers you visit for their
semantic content. This information is used by a variety of
-auxilliary minor modes, listed in `semantic-default-submodes';
+auxiliary minor modes, listed in `semantic-default-submodes';
all the minor modes in this list are also enabled when you enable
Semantic mode.
@@ -1067,7 +1067,7 @@ Semantic mode.
(if semantic-mode
;; Turn on Semantic mode
(progn
- ;; Enable all the global auxilliary minor modes in
+ ;; Enable all the global auxiliary minor modes in
;; `semantic-submode-list'.
(dolist (mode semantic-submode-list)
(if (memq mode semantic-default-submodes)
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index eed31e4c2a..fa9ebed926 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -192,7 +192,7 @@ Keeps STRINGS only in the history.")
default-tag initial-input
history)
"Read a semantic tag, and return a tag for the selection.
-Argument COLLECTOR is an object which can be used to to calculate
+Argument COLLECTOR is an object which can be used to calculate
a list of possible hits. See `semantic-completion-collector-engine'
for details on COLLECTOR.
Argument DISPLAYOR is an object used to display a list of possible
@@ -394,7 +394,7 @@ Return value can be:
;;; Keybindings
;;
-;; Keys are bound to to perform completion using our mechanisms.
+;; Keys are bound to perform completion using our mechanisms.
;; Do that work here.
(defun semantic-complete-done ()
"Accept the current input."
@@ -738,7 +738,7 @@ DO NOT CALL THIS IF THE INLINE COMPLETION ENGINE IS NOT ACTIVE."
(defun semantic-complete-inline-tag-engine
(collector displayor buffer start end)
"Perform completion based on semantic tags in a buffer.
-Argument COLLECTOR is an object which can be used to to calculate
+Argument COLLECTOR is an object which can be used to calculate
a list of possible hits. See `semantic-completion-collector-engine'
for details on COLLECTOR.
Argument DISPLAYOR is an object used to display a list of possible
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el
index 865d775c7c..d46f727fca 100644
--- a/lisp/cedet/semantic/db-el.el
+++ b/lisp/cedet/semantic/db-el.el
@@ -107,7 +107,7 @@ For Emacs Lisp, creates a specialized table."
(defmethod semanticdb-equivalent-mode ((table semanticdb-table-emacs-lisp) &optional buffer)
"Return non-nil if TABLE's mode is equivalent to BUFFER.
-Equivalent modes are specified by by `semantic-equivalent-major-modes'
+Equivalent modes are specified by the `semantic-equivalent-major-modes'
local variable."
(with-current-buffer buffer
(eq (or mode-local-active-mode major-mode) 'emacs-lisp-mode)))
diff --git a/lisp/cedet/semantic/db-global.el b/lisp/cedet/semantic/db-global.el
index aba045d64d..bfd97fc5a5 100644
--- a/lisp/cedet/semantic/db-global.el
+++ b/lisp/cedet/semantic/db-global.el
@@ -105,7 +105,7 @@ is not available for this directory."
(defmethod semanticdb-equivalent-mode ((table semanticdb-table-global) &optional buffer)
"Return t, pretend that this table's mode is equivalent to BUFFER.
-Equivalent modes are specified by by `semantic-equivalent-major-modes'
+Equivalent modes are specified by the `semantic-equivalent-major-modes'
local variable."
;; @todo - hack alert!
t)
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el
index d99b60cc66..2e357e677e 100644
--- a/lisp/cedet/semantic/db-javascript.el
+++ b/lisp/cedet/semantic/db-javascript.el
@@ -145,7 +145,7 @@ Create one of our special tables that can act as an intermediary."
(defmethod semanticdb-equivalent-mode ((table semanticdb-table-javascript) &optional buffer)
"Return non-nil if TABLE's mode is equivalent to BUFFER.
-Equivalent modes are specified by by `semantic-equivalent-major-modes'
+Equivalent modes are specified by the `semantic-equivalent-major-modes'
local variable."
(with-current-buffer buffer
(eq (or mode-local-active-mode major-mode) 'javascript-mode)))
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el
index 811bc985f3..3f638a212f 100644
--- a/lisp/cedet/semantic/db.el
+++ b/lisp/cedet/semantic/db.el
@@ -735,13 +735,13 @@ all files of any type."
(defmethod semanticdb-equivalent-mode ((table semanticdb-abstract-table) &optional buffer)
"Return non-nil if TABLE's mode is equivalent to BUFFER.
-Equivalent modes are specified by by `semantic-equivalent-major-modes'
+Equivalent modes are specified by the `semantic-equivalent-major-modes'
local variable."
nil)
(defmethod semanticdb-equivalent-mode ((table semanticdb-table) &optional buffer)
"Return non-nil if TABLE's mode is equivalent to BUFFER.
-Equivalent modes are specified by by `semantic-equivalent-major-modes'
+Equivalent modes are specified by the `semantic-equivalent-major-modes'
local variable."
(save-excursion
(if buffer (set-buffer buffer))
diff --git a/lisp/cedet/semantic/decorate/include.el b/lisp/cedet/semantic/decorate/include.el
index dec01336ae..94273dcfaf 100644
--- a/lisp/cedet/semantic/decorate/include.el
+++ b/lisp/cedet/semantic/decorate/include.el
@@ -461,7 +461,7 @@ wrap existing project code for Semantic's benifit.
(when (or (eq mm 'c++-mode) (eq mm 'c-mode))
(princ "
-For C/C++ includes located within a a project, you can use a special
+For C/C++ includes located within a project, you can use a special
EDE project that will wrap an existing build system. You can do that
like this in your .emacs file:
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index dddfaca0f8..bc314bb547 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -336,9 +336,9 @@ Disable to prevent lots of excessive parsing in idle time."
(defun semantic-idle-work-for-one-buffer (buffer)
- "Do long-processing work for for BUFFER.
+ "Do long-processing work for BUFFER.
Uses `semantic-safe' and returns the output.
-Returns t of all processing succeeded."
+Returns t if all processing succeeded."
(with-current-buffer buffer
(not (and
;; Just in case
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 4652299141..bac24b6302 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -2422,16 +2422,28 @@ in that CLASS."
;;;###autoload
(defun ad-add-advice (function advice class position)
"Add a piece of ADVICE to FUNCTION's list of advices in CLASS.
-If FUNCTION already has one or more pieces of advice of the specified
-CLASS then POSITION determines where the new piece will go. The value
-of POSITION can either be `first', `last' or a number where 0 corresponds
-to `first'. Numbers outside the range will be mapped to the closest
-extreme position. If there was already a piece of ADVICE with the same
-name, then the position argument will be ignored and the old advice
-will be overwritten with the new one.
- If the FUNCTION was not advised already, then its advice info will be
-initialized. Redefining a piece of advice whose name is part of the cache-id
-will clear the cache."
+
+ADVICE has the form (NAME PROTECTED ENABLED DEFINITION), where
+NAME is the advice name; PROTECTED is a flag specifying whether
+to protect against non-local exits; ENABLED is a flag specifying
+whether to initially enable the advice; and DEFINITION has the
+form (advice . LAMBDA), where LAMBDA is a lambda expression.
+
+If FUNCTION already has a piece of advice with the same name,
+then POSITION is ignored, and the old advice is overwritten with
+the new one.
+
+If FUNCTION already has one or more pieces of advice of the
+specified CLASS, then POSITION determines where the new piece
+goes. POSITION can either be `first', `last' or a number (where
+0 corresponds to `first', and numbers outside the valid range are
+mapped to the closest extremal position).
+
+If FUNCTION was not advised already, its advice info will be
+initialized. Redefining a piece of advice whose name is part of
+the cache-id will clear the cache.
+
+See Info node `(elisp)Computed Advice' for detailed documentation."
(cond ((not (ad-is-advised function))
(ad-initialize-advice-info function)
(ad-set-advice-info-field
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el
index f4c3bfa90a..4f01e54060 100644
--- a/lisp/emacs-lisp/chart.el
+++ b/lisp/emacs-lisp/chart.el
@@ -323,7 +323,7 @@ MARGIN, ZONE, START, and END specify restrictions in chart space."
(defmethod chart-translate-namezone ((c chart) n)
"Return a dot-pair representing a positional range for a name.
The name in chart C of the Nth name resides.
-Automatically compensates for for direction."
+Automatically compensates for direction."
(let* ((dir (oref c direction))
(w (if (eq dir 'vertical) (oref c x-width) (oref c y-width)))
(m (if (eq dir 'vertical) (oref c y-margin) (oref c x-margin)))
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el
index 0be2c64331..3beda28abf 100644
--- a/lisp/emacs-lisp/cl-loaddefs.el
+++ b/lisp/emacs-lisp/cl-loaddefs.el
@@ -282,7 +282,7 @@ Not documented
;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist
;;;;;; do* do loop return-from return block etypecase typecase ecase
;;;;;; case load-time-value eval-when destructuring-bind function*
-;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "3867c0613dfd69780f561012a1dfe67b")
+;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b")
;;; Generated autoloads from cl-macs.el
(autoload 'gensym "cl-macs" "\
@@ -672,11 +672,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +)
(autoload 'defstruct "cl-macs" "\
Define a struct type.
-This macro defines a new Lisp data type called NAME, which contains data
-stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME'
-copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors.
+This macro defines a new data type called NAME that stores data
+in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME'
+copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'.
+You can use the accessors to set the corresponding slots, via `setf'.
-\(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" nil (quote macro))
+NAME may instead take the form (NAME OPTIONS...), where each
+OPTION is either a single keyword or (KEYWORD VALUE).
+See Info node `(cl)Structures' for a list of valid keywords.
+
+Each SLOT may instead take the form (SLOT SLOT-OPTS...), where
+SLOT-OPTS are keyword-value pairs for that slot. Currently, only
+one keyword is supported, `:read-only'. If this has a non-nil
+value, that slot cannot be set via `setf'.
+
+\(fn NAME SLOTS...)" nil (quote macro))
(autoload 'cl-struct-setf-expander "cl-macs" "\
Not documented
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 29bb752dbf..4e3b1fb72d 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2191,11 +2191,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +)"
;;;###autoload
(defmacro defstruct (struct &rest descs)
"Define a struct type.
-This macro defines a new Lisp data type called NAME, which contains data
-stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME'
-copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors.
+This macro defines a new data type called NAME that stores data
+in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME'
+copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'.
+You can use the accessors to set the corresponding slots, via `setf'.
-\(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)"
+NAME may instead take the form (NAME OPTIONS...), where each
+OPTION is either a single keyword or (KEYWORD VALUE).
+See Info node `(cl)Structures' for a list of valid keywords.
+
+Each SLOT may instead take the form (SLOT SLOT-OPTS...), where
+SLOT-OPTS are keyword-value pairs for that slot. Currently, only
+one keyword is supported, `:read-only'. If this has a non-nil
+value, that slot cannot be set via `setf'.
+
+\(fn NAME SLOTS...)"
(let* ((name (if (consp struct) (car struct) struct))
(opts (cdr-safe struct))
(slots nil)
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el
index 40c7d887c2..2abde59af9 100644
--- a/lisp/emulation/edt.el
+++ b/lisp/emulation/edt.el
@@ -2107,7 +2107,7 @@ created."
(setq edt-term "pc")
(if (or (not edt-window-system) (eq edt-window-system 'tty))
(setq edt-term (getenv "TERM"))))
- ;; Look for for terminal configuration file for this terminal type.
+ ;; Look for a terminal configuration file for this terminal type.
;; Otherwise, load the user's custom configuration file.
(if (or (not edt-window-system) (memq edt-window-system '(pc tty)))
(progn
diff --git a/lisp/files.el b/lisp/files.el
index b665bd2534..99e818643d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1289,7 +1289,7 @@ BODY should use the minibuffer at most once.
Recursive uses of the minibuffer are unaffected (FUN is not
called additional times).
-This macro actually adds an auxilliary function that calls FUN,
+This macro actually adds an auxiliary function that calls FUN,
rather than FUN itself, to `minibuffer-setup-hook'."
(declare (indent 1) (debug t))
(let ((hook (make-symbol "setup-hook")))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 8e7ae00576..1c1c62bb1b 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-17 Chong Yidong <[email protected]>
+
+ * message.el (message-mail): Just pass yank-action on to message-setup.
+ (message-setup): Handle (FUN . ARGS) form of yank-action.
+ (message-with-reply-buffer, message-widen-reply)
+ (message-yank-original): Handle non-buffer values of
+ message-reply-buffer (Bug#4080).
+ (message-setup-1): Prefer to save message-reply-buffer as a buffer.
+
+2010-01-17 Juanma Barranquero <[email protected]>
+
+ * nnmairix.el (nnmairix-group-delete-recreate-this-group):
+ Fix typo in docstring.
+
2010-01-08 Jason Rumney <[email protected]>
* sieve-manage.el (sieve-manage-parse-capability-1): Loosely match OK
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index c0886c2051..7194813422 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1139,6 +1139,8 @@ If stringp, use this; if non-nil, use no host name (user name only)."
(string :tag "name")
(sexp :tag "none" :format "%t" t)))
+;; This can be the name of a buffer, or a cons cell (FUNCTION . ARGS)
+;; for yanking the original buffer.
(defvar message-reply-buffer nil)
(defvar message-reply-headers nil
"The headers of the current replied article.
@@ -1997,7 +1999,7 @@ see `message-narrow-to-headers-or-head'."
(defmacro message-with-reply-buffer (&rest forms)
"Evaluate FORMS in the reply buffer, if it exists."
- `(when (and message-reply-buffer
+ `(when (and (bufferp message-reply-buffer)
(buffer-name message-reply-buffer))
(with-current-buffer message-reply-buffer
,@forms)))
@@ -3179,7 +3181,7 @@ or in the synonym headers, defined by `message-header-synonyms'."
"Widen the reply to include maximum recipients."
(interactive)
(let ((follow-to
- (and message-reply-buffer
+ (and (bufferp message-reply-buffer)
(buffer-name message-reply-buffer)
(with-current-buffer message-reply-buffer
(message-get-reply-headers t)))))
@@ -3674,9 +3676,16 @@ Really top post? ")))
(point-max)))
(delete-region (message-goto-body) (point-max)))
(set (make-local-variable 'message-cite-reply-above) nil)))
- (delete-windows-on message-reply-buffer t)
+ (if (bufferp message-reply-buffer)
+ (delete-windows-on message-reply-buffer t))
(push-mark (save-excursion
- (insert-buffer-substring message-reply-buffer)
+ (cond
+ ((bufferp message-reply-buffer)
+ (insert-buffer-substring message-reply-buffer))
+ ((and (consp message-reply-buffer)
+ (functionp (car message-reply-buffer)))
+ (apply (car message-reply-buffer)
+ (cdr message-reply-buffer))))
(unless (bolp)
(insert ?\n))
(point)))
@@ -6251,14 +6260,14 @@ between beginning of field and beginning of line."
nil
mua)))
-(defun message-setup (headers &optional replybuffer actions
+;; YANK-ACTION, if non-nil, can be a buffer or a yank action of the
+;; form (FUNCTION . ARGS).
+(defun message-setup (headers &optional yank-action actions
continue switch-function)
(let ((mua (message-mail-user-agent))
- subject to field yank-action)
+ subject to field)
(if (not (and message-this-is-mail mua))
- (message-setup-1 headers replybuffer actions)
- (if replybuffer
- (setq yank-action (list 'insert-buffer replybuffer)))
+ (message-setup-1 headers yank-action actions)
(setq headers (copy-sequence headers))
(setq field (assq 'Subject headers))
(when field
@@ -6275,7 +6284,11 @@ between beginning of field and beginning of line."
(format "%s" (car item))
(cdr item)))
headers)
- continue switch-function yank-action actions)))))
+ continue switch-function
+ (if (bufferp yank-action)
+ (list 'insert-buffer yank-action)
+ yank-action)
+ actions)))))
(defun message-headers-to-generate (headers included-headers excluded-headers)
"Return a list that includes all headers from HEADERS.
@@ -6302,12 +6315,16 @@ are not included."
(push header result)))
(nreverse result)))
-(defun message-setup-1 (headers &optional replybuffer actions)
+(defun message-setup-1 (headers &optional yank-action actions)
(dolist (action actions)
(condition-case nil
(add-to-list 'message-send-actions
`(apply ',(car action) ',(cdr action)))))
- (setq message-reply-buffer replybuffer)
+ (setq message-reply-buffer
+ (if (and (consp yank-action)
+ (eq (car yank-action) 'insert-buffer))
+ (nth 1 yank-action)
+ yank-action))
(goto-char (point-min))
;; Insert all the headers.
(mail-header-format
@@ -6438,7 +6455,7 @@ OTHER-HEADERS is an alist of header/value pairs. CONTINUE says whether
to continue editing a message already being composed. SWITCH-FUNCTION
is a function used to switch to and display the mail buffer."
(interactive)
- (let ((message-this-is-mail t) replybuffer)
+ (let ((message-this-is-mail t))
(unless (message-mail-user-agent)
(message-pop-to-buffer
;; Search for the existing message buffer if `continue' is non-nil.
@@ -6449,15 +6466,11 @@ is a function used to switch to and display the mail buffer."
message-generate-new-buffers)))
(message-buffer-name "mail" to))
switch-function))
- ;; FIXME: message-mail should do something if YANK-ACTION is not
- ;; insert-buffer.
- (and (consp yank-action) (eq (car yank-action) 'insert-buffer)
- (setq replybuffer (nth 1 yank-action)))
(message-setup
(nconc
`((To . ,(or to "")) (Subject . ,(or subject "")))
(when other-headers other-headers))
- replybuffer send-actions continue switch-function)
+ yank-action send-actions continue switch-function)
;; FIXME: Should return nil if failure.
t))
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 215b6d6072..e39149b996 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -1104,7 +1104,7 @@ with `nnmairix-mairix-update-options'."
(defun nnmairix-group-delete-recreate-this-group ()
"Deletes and recreates group on the back end.
-You can use this function on nnmairix groups which continously
+You can use this function on nnmairix groups which continuously
show wrong article counts."
(interactive)
(let* ((group (gnus-group-group-name))
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 7004133f58..da8fe85da8 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -1505,14 +1505,18 @@ and don't delete any header fields."
(interactive "P")
(if mail-reply-action
(let ((start (point))
- (original mail-reply-action))
+ (original mail-reply-action)
+ (omark (mark t)))
(and (consp original) (eq (car original) 'insert-buffer)
(setq original (nth 1 original)))
(if (consp original)
- (apply (car original) (cdr original))
- ;; If the original message is in another window in the same frame,
- ;; delete that window to save screen space.
- ;; t means don't alter other frames.
+ (progn
+ ;; Call yank function, and set the mark if it doesn't.
+ (apply (car original) (cdr original))
+ (if (eq omark (mark t))
+ (push-mark (point))))
+ ;; If the original message is in another window in the same
+ ;; frame, delete that window to save space.
(delete-windows-on original t)
(with-no-warnings
;; We really want this to set mark.
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el
index 9fefd304b4..8bcde7a3a2 100644
--- a/lisp/nxml/nxml-mode.el
+++ b/lisp/nxml/nxml-mode.el
@@ -882,16 +882,17 @@ Called with `font-lock-beg' and `font-lock-end' dynamically bound."
(defun nxml-extend-after-change-region (start end pre-change-length)
(unless nxml-degraded
(setq nxml-last-fontify-end nil)
-
- (nxml-with-degradation-on-error 'nxml-extend-after-change-region
- (save-excursion
- (save-restriction
- (widen)
- (save-match-data
- (nxml-with-invisible-motion
- (nxml-with-unmodifying-text-property-changes
- (nxml-extend-after-change-region1
- start end pre-change-length)))))))))
+ (let ((region (nxml-with-degradation-on-error
+ 'nxml-extend-after-change-region
+ (save-excursion
+ (save-restriction
+ (widen)
+ (save-match-data
+ (nxml-with-invisible-motion
+ (nxml-with-unmodifying-text-property-changes
+ (nxml-extend-after-change-region1
+ start end pre-change-length)))))))))
+ (if (consp region) region))))
(defun nxml-extend-after-change-region1 (start end pre-change-length)
(let* ((region (nxml-after-change1 start end pre-change-length))
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index 546d4a2591..9282fe87b5 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -85,7 +85,10 @@ with the SSH option \"HashKnownHosts no\"."
(while (pcomplete-here (funcall pcomplete-command-completion-function))))
(defun pcmpl-unix-read-passwd-file (file)
- "Return an alist correlating gids to group names in FILE."
+ "Return an alist correlating gids to group names in FILE.
+
+If FILE is in hashed format (as described in the OpenSSH
+documentation), this function returns nil."
(let (names)
(when (file-readable-p file)
(with-temp-buffer
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 2b94fdb25f..03fec1beb7 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -590,8 +590,25 @@ This variable defines several rules to use to align different lines.")
;; FIXME: make this customizable
(defconst ada-ident-re
- "\\(\\sw\\|[_.]\\)+"
- "Regexp matching Ada (qualified) identifiers.")
+ "[[:alpha:]]\\(?:[_[:alnum:]]\\)*"
+ ;; [:alnum:] matches any multibyte word constituent, as well as
+ ;; Latin-1 letters and numbers. This allows __ and trailing _;
+ ;; someone (emacs bug#1919) proposed [^\W_] to fix that, but \W does
+ ;; _not_ mean "not word constituent" inside a character alternative.
+ "Regexp matching an Ada identifier.")
+
+(defconst ada-goto-label-re
+ (concat "<<" ada-ident-re ">>")
+ "Regexp matching a goto label.")
+
+(defconst ada-block-label-re
+ (concat ada-ident-re "[ \t\n]*:[^=]")
+ "Regexp matching a block label.
+Note that this also matches a variable declaration.")
+
+(defconst ada-label-re
+ (concat "\\(?:" ada-block-label-re "\\)\\|\\(?:" ada-goto-label-re "\\)")
+ "Regexp matching a goto or block label.")
;; "with" needs to be included in the regexp, to match generic subprogram parameters
;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc.
@@ -678,10 +695,6 @@ A new statement starts after these.")
"protected" "task") t) "\\>"))
"Regexp for the start of a subprogram.")
-(defvar ada-named-block-re
- "[ \t]*\\(\\sw\\|_\\)+[ \t]*:[^=]"
- "Regexp of the name of a block or loop.")
-
(defvar ada-contextual-menu-on-identifier nil
"Set to true when the right mouse button was clicked on an identifier.")
@@ -2108,10 +2121,18 @@ Return the equivalent internal parameter list."
(defun ada-indent-newline-indent-conditional ()
"Insert a newline and indent it.
-The original line is indented first if `ada-indent-after-return' is non-nil."
+The original line is re-indented if `ada-indent-after-return' is non-nil."
(interactive "*")
- (if ada-indent-after-return (ada-indent-current))
+ ;; If at end of buffer (entering brand new code), some indentation
+ ;; fails. For example, a block label requires whitespace following
+ ;; the : to be recognized. So we do the newline first, then
+ ;; go back and indent the original line.
(newline)
+ (if ada-indent-after-return
+ (progn
+ (forward-char -1)
+ (ada-indent-current)
+ (forward-char 1)))
(ada-indent-current))
(defun ada-justified-indent-current ()
@@ -2335,8 +2356,8 @@ and the offset."
(progn
(goto-char (car match-cons))
(save-excursion
- (beginning-of-line)
- (if (looking-at ada-named-block-re)
+ (back-to-indentation)
+ (if (looking-at ada-block-label-re)
(setq label (- ada-label-indent))))))))
;; found 'record' =>
@@ -2648,8 +2669,9 @@ and the offset."
;; label
;;---------------------------------
- ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]")
+ ((looking-at ada-label-re)
(if (ada-in-decl-p)
+ ;; ada-block-label-re matches variable declarations
(ada-indent-on-previous-lines nil orgpoint orgpoint)
(append (ada-indent-on-previous-lines nil orgpoint orgpoint)
'(ada-label-indent))))
@@ -2674,9 +2696,10 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
(if (ada-in-paramlist-p)
(ada-get-indent-paramlist)
- ;; move to beginning of current statement
+ ;; Move to beginning of current statement. If already at a
+ ;; statement start, move to beginning of enclosing statement.
(unless nomove
- (ada-goto-stmt-start))
+ (ada-goto-stmt-start t))
;; no beginning found => don't change indentation
(if (and (eq oldpoint (point))
@@ -2702,6 +2725,12 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
((looking-at ada-block-start-re)
(ada-get-indent-block-start orgpoint))
;;
+ ((looking-at ada-block-label-re) ; also variable declaration
+ (ada-get-indent-block-label orgpoint))
+ ;;
+ ((looking-at ada-goto-label-re)
+ (ada-get-indent-goto-label orgpoint))
+ ;;
((looking-at "\\(sub\\)?type\\>")
(ada-get-indent-type orgpoint))
;;
@@ -2717,17 +2746,8 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
((looking-at "when\\>")
(ada-get-indent-when orgpoint))
;;
- ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]")
- (ada-get-indent-label orgpoint))
- ;;
((looking-at "separate\\>")
(ada-get-indent-nochange))
-
- ;; A label
- ((looking-at "<<")
- (list (+ (save-excursion (back-to-indentation) (point))
- (- ada-label-indent))))
-
;;
((looking-at "with\\>\\|use\\>")
;; Are we still in that statement, or are we in fact looking at
@@ -2960,6 +2980,10 @@ ORGPOINT is the limit position used in the calculation."
(car (ada-search-ignore-string-comment "\\<type\\>" t)))
'ada-indent)))
+ ;; Special case for label:
+ ((looking-at ada-block-label-re)
+ (list (- (save-excursion (back-to-indentation) (point)) ada-label-indent) 'ada-indent))
+
;; nothing follows the block-start
(t
(list (save-excursion (back-to-indentation) (point)) 'ada-indent)))))
@@ -3055,10 +3079,10 @@ ORGPOINT is the limit position used in the calculation."
(list (save-excursion (back-to-indentation) (point))
'ada-broken-decl-indent))
- ;; This one is called in every over case when indenting a line at the
+ ;; This one is called in every other case when indenting a line at the
;; top level
(t
- (if (looking-at ada-named-block-re)
+ (if (looking-at (concat "[ \t]*" ada-block-label-re))
(setq label (- ada-label-indent))
(let (p)
@@ -3087,7 +3111,7 @@ ORGPOINT is the limit position used in the calculation."
(list (+ (save-excursion (back-to-indentation) (point)) label)
'ada-broken-indent)))))))
-(defun ada-get-indent-label (orgpoint)
+(defun ada-get-indent-block-label (orgpoint)
"Calculate the indentation when before a label or variable declaration.
ORGPOINT is the limit position used in the calculation."
(let ((match-cons nil)
@@ -3119,6 +3143,16 @@ ORGPOINT is the limit position used in the calculation."
(t
(list cur-indent '(- ada-label-indent))))))
+(defun ada-get-indent-goto-label (orgpoint)
+ "Calculate the indentation when at a goto label."
+ (search-forward ">>")
+ (ada-goto-next-non-ws)
+ (if (>= (point) orgpoint)
+ ;; labeled statement is the one we need to indent
+ (list (- (point) ada-label-indent))
+ ;; else indentation is indent for labeled statement
+ (ada-indent-on-previous-lines t orgpoint)))
+
(defun ada-get-indent-loop (orgpoint)
"Calculate the indentation when just before a loop or a for ... use.
ORGPOINT is the limit position used in the calculation."
@@ -3127,8 +3161,8 @@ ORGPOINT is the limit position used in the calculation."
;; If looking at a named block, skip the label
(label (save-excursion
- (beginning-of-line)
- (if (looking-at ada-named-block-re)
+ (back-to-indentation)
+ (if (looking-at ada-block-label-re)
(- ada-label-indent)
0))))
@@ -3286,7 +3320,7 @@ ORGPOINT is the limit position used in the calculation."
;; -- searching and matching
;; -----------------------------------------------------------
-(defun ada-goto-stmt-start ()
+(defun ada-goto-stmt-start (&optional ignore-goto-label)
"Move point to the beginning of the statement that point is in or after.
Return the new position of point.
As a special case, if we are looking at a closing parenthesis, skip to the
@@ -3304,7 +3338,7 @@ open parenthesis."
(progn
(unless (save-excursion
(goto-char (cdr match-dat))
- (ada-goto-next-non-ws orgpoint))
+ (ada-goto-next-non-ws orgpoint ignore-goto-label))
;;
;; nothing follows => it's the end-statement directly in
;; front of point => search again
@@ -3326,7 +3360,7 @@ open parenthesis."
(goto-char (point-min))
;;
;; skip to the very first statement, if there is one
- ;;
+ ;;
(unless (ada-goto-next-non-ws orgpoint)
(goto-char orgpoint))))
(point)))
@@ -3388,18 +3422,25 @@ is the end of the match."
nil)))
-(defun ada-goto-next-non-ws (&optional limit)
- "Skip white spaces, newlines and comments to next non-ws character.
+(defun ada-goto-next-non-ws (&optional limit skip-goto-label)
+ "Skip to next non-whitespace character.
+Skips spaces, newlines and comments, and possibly goto labels.
+Return `point' if moved, nil if not.
Stop the search at LIMIT.
Do not call this function from within a string."
(unless limit
(setq limit (point-max)))
(while (and (<= (point) limit)
- (progn (forward-comment 10000)
- (if (and (not (eobp))
- (save-excursion (forward-char 1)
- (ada-in-string-p)))
- (progn (forward-sexp 1) t)))))
+ (or (progn (forward-comment 10000)
+ (if (and (not (eobp))
+ (save-excursion (forward-char 1)
+ (ada-in-string-p)))
+ (progn (forward-sexp 1) t)))
+ (and skip-goto-label
+ (looking-at ada-goto-label-re)
+ (progn
+ (goto-char (match-end 0))
+ t)))))
(if (< (point) limit)
(point)
nil)
@@ -3426,9 +3467,7 @@ Return the new position of point or nil if not found."
(unless backward
(skip-syntax-forward "w"))
(if (setq match-cons
- (if backward
- (ada-search-ignore-string-comment "\\w" t nil t)
- (ada-search-ignore-string-comment "\\w" nil nil t)))
+ (ada-search-ignore-string-comment "\\w" backward nil t))
;;
;; move to the beginning of the word found
;;
diff --git a/lisp/startup.el b/lisp/startup.el
index 9de08852ae..857ad97e44 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -758,7 +758,8 @@ opening the first frame (e.g. open a connection to an X server).")
(pop args)))
(let ((done nil)
- (args (cdr command-line-args)))
+ (args (cdr command-line-args))
+ display-arg)
;; Figure out which user's init file to load,
;; either from the environment or from the options.
@@ -794,6 +795,11 @@ opening the first frame (e.g. open a connection to an X server).")
(setq argval nil
argi orig-argi)))))
(cond
+ ;; The --display arg is handled partly in C, partly in Lisp.
+ ;; When it shows up here, we just put it back to be handled
+ ;; by `command-line-1'.
+ ((member argi '("-d" "-display"))
+ (setq display-arg (list argi (pop args))))
((member argi '("-Q" "-quick"))
(setq init-file-user nil
site-run-file nil
@@ -813,8 +819,6 @@ opening the first frame (e.g. open a connection to an X server).")
(setq init-file-debug t))
((equal argi "-iconic")
(push '(visibility . icon) initial-frame-alist))
- ((member argi '("-icon-type" "-i" "-itype"))
- (push '(icon-type . t) default-frame-alist))
((member argi '("-nbc" "-no-blinking-cursor"))
(setq no-blinking-cursor t))
;; Push the popped arg back on the list of arguments.
@@ -825,6 +829,9 @@ opening the first frame (e.g. open a connection to an X server).")
(and argval
(error "Option `%s' doesn't allow an argument" argi))))
+ ;; Re-attach the --display arg.
+ (and display-arg (setq args (append display-arg args)))
+
;; Re-attach the program name to the front of the arg list.
(and command-line-args
(setcdr command-line-args args)))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 00896be3c6..66d831968d 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -870,7 +870,7 @@ EXIT-FN is, if non-nil, a function that is called after filling
is done. Arguments and return values for this funcion are
described below.
DRAW-HOW defines the kind of shape. The kinds of shapes are:
- `artist-do-continously' -- Do drawing operation continously,
+ `artist-do-continously' -- Do drawing operation continuously,
as long as the mouse button is held down.
`artist-do-poly' -- Do drawing operation many times.
1 -- Do drawing operation only once.
@@ -1477,7 +1477,7 @@ Keymap summary
;
(defun artist-compute-popup-menu-table (menu-table)
- "Create a menu from from MENU-TABLE data.
+ "Create a menu from MENU-TABLE data.
The returned value is suitable for the `x-popup-menu' function."
(cons "Artist menu"
(artist-compute-popup-menu-table-sub menu-table)))
@@ -3879,8 +3879,8 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
;;
(defun artist-key-undraw-continously (x y)
- "Undraw current continous shape with point at X, Y."
- ;; No undraw-info for continous shapes
+ "Undraw current continuous shape with point at X, Y."
+ ;; No undraw-info for continuous shapes
nil)
(defun artist-key-undraw-poly (x y)
@@ -3937,7 +3937,7 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
;; user has released the button, so the timer will always be cancelled
;; at that point.
(defun artist-key-draw-continously (x y)
- "Draw current continous shape at X,Y."
+ "Draw current continuous shape at X,Y."
(let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go)))
(setq artist-key-shape (artist-funcall draw-fn x y))))
@@ -4018,7 +4018,7 @@ Trimming here means removing white space at end of a line."
;;
(defun artist-key-do-continously-continously (x y)
- "Update current continous shape at X,Y."
+ "Update current continuous shape at X,Y."
(let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go)))
(artist-funcall draw-fn x y)))
@@ -4045,7 +4045,7 @@ Trimming here means removing white space at end of a line."
(defun artist-key-do-continously-1point (x y)
"Update current 1-point shape at X,Y."
- ;; Nothing to do continously for operations
+ ;; Nothing to do continuously for operations
;; where we have only one input point
nil)
@@ -4094,8 +4094,8 @@ Trimming here means removing white space at end of a line."
(defun artist-key-set-point-continously (x y)
- "Set point for current continous shape at X,Y."
- ;; Maybe set arrow-points for continous shapes
+ "Set point for current continuous shape at X,Y."
+ ;; Maybe set arrow-points for continuous shapes
(let ((arrow-pred (artist-go-get-arrow-pred-from-symbol artist-curr-go))
(arrow-set-fn (artist-go-get-arrow-set-fn-from-symbol artist-curr-go))
(init-fn (artist-go-get-init-fn-from-symbol artist-curr-go))
@@ -4914,7 +4914,7 @@ If optional argument STATE is positive, turn borders on."
(defun artist-mouse-draw-continously (ev)
"Generic function for shapes that require 1 point as input.
-Operation is done continously while the mouse button is hold down.
+Operation is done continuously while the mouse button is hold down.
The event, EV, is the mouse event."
(let* ((unshifted (artist-go-get-symbol-shift artist-curr-go nil))
(shifted (artist-go-get-symbol-shift artist-curr-go t))
@@ -5395,8 +5395,8 @@ The event, EV, is the mouse event."
;; 1. If your new drawing mode falls into one of the following
;; categories, goto point 2, otherwise goto point 3.
;;
-;; - Modes where the shapes are drawn continously, as long as
-;; the mouse button is held down (continous modes).
+;; - Modes where the shapes are drawn continuously, as long as
+;; the mouse button is held down (continuous modes).
;; Example: the erase-char mode, the pen and pen-line modes.
;;
;; - Modes where the shape is made up of from 2 points to an
@@ -5408,7 +5408,7 @@ The event, EV, is the mouse event."
;; Example: lines, rectangles
;;
;; - Modes where the shape is made up of 1 point (1-point
-;; modes). This mode differs from the continous modes in
+;; modes). This mode differs from the continuous modes in
;; that the shape is drawn only once when the mouse button
;; is pressed.
;; Examples: paste, a flood-fill, vaporize modes
@@ -5426,7 +5426,7 @@ The event, EV, is the mouse event."
;; For each of the cases below, the arguments given to the init-fn,
;; prep-fill-fn, arrow-set-fn and exit-fn are stated.
;;
-;; If your mode matches the continous mode or the 1-point mode:
+;; If your mode matches the continuous mode or the 1-point mode:
;;
;; a. Create a draw-function that draws your shape. Your function
;; must take x and y as arguments. The return value is not
@@ -5538,8 +5538,8 @@ The event, EV, is the mouse event."
;; - artist-key-set-point-xxx for setting a point in the
;; mode, to be called from `artist-key-set-point-common'.
;;
-;; - artist-key-do-continously-xxx to be called from
-;; `artist-key-do-continously-common' whenever the user
+;; - artist-key-do-continuously-xxx to be called from
+;; `artist-key-do-continuously-common' whenever the user
;; moves around.
;;
;; As for the artist-mouse-draw-xxx, these two functions must
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el
index 575a64c1f8..2f661e8bec 100644
--- a/lisp/vc-dir.el
+++ b/lisp/vc-dir.el
@@ -874,7 +874,10 @@ If it is a file, return the corresponding cons for the file itself."
(let ((ddir default-directory))
(when (vc-string-prefix-p ddir file)
(if (file-directory-p file)
- (vc-dir-resync-directory-files file)
+ (progn
+ (vc-dir-resync-directory-files file)
+ (ewoc-set-hf vc-ewoc
+ (vc-dir-headers vc-dir-backend default-directory) ""))
(let ((state (vc-dir-recompute-file-state file ddir)))
(vc-dir-update
(list state)
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el
index 310cc3dc35..40223c9010 100644
--- a/lisp/vc-dispatcher.el
+++ b/lisp/vc-dispatcher.el
@@ -320,11 +320,14 @@ case, and the process object in the asynchronous case."
(setq squeezed (nconc squeezed files)))
(let ((exec-path (append vc-path exec-path))
;; Add vc-path to PATH for the execution of this command.
+ ;; Also, since some functions need to parse the output
+ ;; from external commands, set LC_MESSAGES to C.
(process-environment
(cons (concat "PATH=" (getenv "PATH")
path-separator
(mapconcat 'identity vc-path path-separator))
- process-environment))
+ (cons "LC_MESSAGES=C"
+ process-environment)))
(w32-quote-process-args t))
(if (eq okstatus 'async)
;; Run asynchronously.
diff --git a/lisp/vc.el b/lisp/vc.el
index 3a0cf804e2..2ca36ef4e0 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -791,13 +791,23 @@ in their implementation of vc-BACKEND-diff.")
(defmacro with-vc-properties (files form settings)
"Execute FORM, then maybe set per-file properties for FILES.
+If any of FILES is actually a directory, then do the same for all
+buffers for files in that directory.
SETTINGS is an association list of property/value pairs. After
executing FORM, set those properties from SETTINGS that have not yet
been updated to their corresponding values."
(declare (debug t))
- `(let ((vc-touched-properties (list t)))
- ,form
+ `(let ((vc-touched-properties (list t))
+ (flist nil))
(dolist (file ,files)
+ (if (file-directory-p file)
+ (dolist (buffer (buffer-list))
+ (let ((fname (buffer-file-name buffer)))
+ (when (and fname (vc-string-prefix-p file fname))
+ (push fname flist))))
+ (push file flist)))
+ ,form
+ (dolist (file flist)
(dolist (setting ,settings)
(let ((property (car setting)))
(unless (memq property vc-touched-properties)