summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-01-09 22:43:02 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2013-01-09 22:43:02 -0500
commit3f9549e874035d963eb5ca02f24d51dc935e6326 (patch)
tree1340657aa0689287b52f3dba9d8c6bc4da822c02
parentb14abca9476cba2f500b5eda89441d593dd0f12b (diff)
parentc4dd9efc9ed3f7de8f4ee74b6d47f65ad72320cf (diff)
downloademacs-3f9549e874035d963eb5ca02f24d51dc935e6326.tar.gz
Merge from emacs-24
-rw-r--r--admin/ChangeLog11
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/commands.texi8
-rw-r--r--etc/ChangeLog2
-rw-r--r--lisp/ChangeLog36
-rw-r--r--lisp/emacs-lisp/authors.el16
-rw-r--r--lisp/faces.el36
-rw-r--r--lisp/image-mode.el5
-rw-r--r--lisp/progmodes/cc-engine.el42
-rw-r--r--lisp/simple.el6
10 files changed, 123 insertions, 44 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index fa001ede6cb..7d77becb522 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -132,15 +132,14 @@
* grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
Remove.
- (bovine-grammar-expand-form): Test for emacs-major-version.
+ (bovine-grammar-expand-form): Test for emacs-major-version.
* grammars/c.by: Add EXPLICIT to keyword tokens.
+ Add %provide token.
- * grammars/f90.by: Add %provide token.
-
- * grammar/grammar.wy (semantic-grammar-lexer): Remove, since it
+ * grammars/grammar.wy (semantic-grammar-lexer): Remove, since it
was copied to grammar.el. New %provide token to generate prefix
- which conforms with Emacs conventions. Remove lexer definition,
+ which conforms with Emacs conventions. Remove lexer definition,
which is now in grammar.el.
2012-09-27 Glenn Morris <rgm@gnu.org>
@@ -184,7 +183,7 @@
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
Simplify SIGIO usage (Bug#12408).
- * CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
+ * CPP-DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
(BROKEN_SIGPTY, NO_TERMIO): Remove.
2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 64973ca38c5..2631bdf708a 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-09 Glenn Morris <rgm@gnu.org>
+
+ * commands.texi (Interactive Codes):
+ Whitespace does not terminate interactive "S". (Bug#13393)
+
2013-01-06 Chong Yidong <cyd@gnu.org>
* windows.texi (Vertical Scrolling): Fix typos (Bug#13267).
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index f3589fc2edd..846d6f3a4a9 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -471,10 +471,10 @@ Arbitrary text, read in the minibuffer and returned as a string
these characters in the input.) Prompt.
@item S
-An interned symbol whose name is read in the minibuffer. Any whitespace
-character terminates the input. (Use @kbd{C-q} to include whitespace in
-the string.) Other characters that normally terminate a symbol (e.g.,
-parentheses and brackets) do not do so here. Prompt.
+An interned symbol whose name is read in the minibuffer. Terminate
+the input with either @kbd{C-j} or @key{RET}. Other characters that
+normally terminate a symbol (e.g., whitespace, parentheses and
+brackets) do not do so here. Prompt.
@item U
A key sequence or @code{nil}. Can be used after a @samp{k} or
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 1c057848ead..6c1a08cb670 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -85,7 +85,7 @@
2012-10-01 Eric Ludlam <zappo@gnu.org>
- * srecode/cc.srt, srecode/ede-autoconf.srt: New files.
+ * srecode/c.srt, srecode/ede-autoconf.srt: New files.
* srecode/cpp.srt: Move parts to c.srt.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7c3443a916c..b9f35e6567c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,37 @@
+2013-01-10 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-ignored-files)
+ (authors-valid-file-names, authors-renamed-files-alist):
+ Add some more entries.
+
+2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * image-mode.el (image-mode-winprops): Don't throw away the fallback
+ `t' pseudo-window entry.
+
+2013-01-10 Alan Mackenzie <acm@muc.de>
+
+ Fix bugs in the c-parse-state mechanism. Reuse some markers
+ instead of continually generating new ones.
+
+ * progmodes/cc-engine.el (c-state-old-cpp-beg-marker)
+ (c-state-old-cpp-end-marker): New variables.
+ (c-append-lower-brace-pair-to-state-cache): Start a backward
+ search for "}" definitively outside CPP constructs.
+ (c-remove-stale-state-cache): Inform the caller of a need to
+ search back for a brace pair in certain circumstances.
+ (c-state-maybe-marker): New macro.
+ (c-parse-state): Reuse markers when appropriate.
+
+2013-01-10 Glenn Morris <rgm@gnu.org>
+
+ * simple.el (execute-extended-command): Doc fix.
+ Bind prefix-arg around read-extended-command, for prompt. (Bug#13395)
+
+2013-01-10 Chong Yidong <cyd@gnu.org>
+
+ * faces.el (read-face-name): Doc fix.
+
2013-01-10 Roland Winkler <winkler@gnu.org>
* emacs-lisp/crm.el: Allow any regexp for separators.
@@ -5953,7 +5987,7 @@
2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca>
- * progmodes/python.el Fixed defsubst warning.
+ * progmodes/python.el: Fix defsubst warning.
(python-syntax-context) Rename from python-info-ppss-context.
(python-syntax-context-type): Rename from
python-info-ppss-context-type.
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 6741094aa55..270badd53cb 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -295,6 +295,14 @@ Changes to files matching one of the regexps in this list are not listed.")
"calc/INSTALL" "calc/Makefile"
"vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/
"emacsver.texi.in"
+ "vpath.sed"
+ "Cocoa/Emacs.base/Contents/Info.plist"
+ "Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
+ "GNUstep/Emacs.base/Resources/Info-gnustep.plist"
+ "GNUstep/Emacs.base/Resources/Emacs.desktop"
+ "Cocoa/Emacs.base/Contents/Resources/English.lproj"
+ ;; Only existed briefly, then deleted:
+ "coccinelle/overlay.cocci" "coccinelle/symbol.cocci"
;; MH-E stuff not in Emacs:
"import-emacs" "release-utils"
;; Erc stuff not in Emacs:
@@ -540,6 +548,7 @@ Changes to files in this list are not listed.")
"makedist.bat"
"makefile.def"
"makefile.nt"
+ "ns.mk"
"debug.bat.in" "emacs.bat.in"
".gdbinit-union"
"alloca.s"
@@ -553,15 +562,17 @@ Changes to files in this list are not listed.")
"ymakefile"
"permute-index" "index.perm"
"ibmrs6000.inp"
- "b2m.c" "b2m.1" "b2m.pl"
+ "b2m.c" "b2m.1" "b2m.pl" "rcs-checkin.1"
"emacs.bash" "emacs.csh" "ms-kermit"
"emacs.ico"
"emacs21.ico"
+ "emacs.py" "emacs2.py" "emacs3.py"
"BABYL" "LPF" "LEDIT" "OTHER.EMACSES"
"emacs16_mac.png" "emacs24_mac.png"
"emacs256_mac.png" "emacs32_mac.png"
"emacs48_mac.png" "emacs512_mac.png"
"revdiff" ; admin/
+ "vcdiff" "rcs-checkin" "tindex.pl"
"mainmake" "sed1.inp" "sed2.inp" "sed3.inp" ; msdos/
"mac-fix-env.m"
;; Deleted vms stuff:
@@ -580,6 +591,7 @@ in the repository.")
("s/windowsnt.h" . "s/ms-w32.h")
("s/ms-w32.h" . "inc/ms-w32.h")
("winnt.el" . "w32-fns.el")
+ ("emacs.manifest" . "emacs-x86.manifest")
("config.emacs" . "configure")
("configure.in" . "configure.ac")
("config.h.dist" . "config.in")
@@ -616,6 +628,8 @@ in the repository.")
("build-install" . "build-ins.in")
("build-install.in" . "build-ins.in")
("unidata/Makefile" . "unidata/Makefile.in")
+ ("move-if-change" . "build-aux/move-if-change")
+ ("update-subdirs" . "build-aux/update-subdirs")
;; Not renamed, but we only have the latter in the Emacs repo.
("trampver.texi.in" . "trampver.texi")
("e/eterm" . "e/eterm-color")
diff --git a/lisp/faces.el b/lisp/faces.el
index f78a4cb9e3d..60410733514 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -929,27 +929,29 @@ of the default face. Value is FACE."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun read-face-name (prompt &optional default multiple)
- "Read a face, defaulting to the face or faces at point.
-If the text at point has the property `read-face-name', that
-overrides the `face' property for determining the default.
+ "Read one or more face names, defaulting to the face(s) at point.
+PROMPT should be a prompt string; it should not end in a space or
+a colon.
-PROMPT should be a string that describes what the caller will do
-with the face; it should not end in a space.
+The optional argument DEFAULT specifies the default face name(s)
+to return if the user just types RET. If its value is non-nil,
+it should be a list of face names (symbols); in that case, the
+default return value is the `car' of DEFAULT (if the argument
+MULTIPLE is non-nil), or DEFAULT (if MULTIPLE is nil). See below
+for the meaning of MULTIPLE.
+If DEFAULT is nil, the list of default face names is taken from
+the `read-face-name' property of the text at point, or, if that
+is nil, from the `face' property of the text at point.
This function uses `completing-read-multiple' with \",\" as the
-separator character, i.e.
-
-
-
-
-
-The optional argument DEFAULT provides the value to display in the
-minibuffer prompt that is returned if the user just types RET
-unless DEFAULT is a string (in which case nil is returned).
-
-If MULTIPLE is non-nil, return a list of faces (possibly only one).
-Otherwise, return a single face."
+separator character. Thus, the user may enter multiple face
+names, separated by commas. The optional argument MULTIPLE
+specifies the form of the return value. If MULTIPLE is non-nil,
+return a list of face names; if the user entered just one face
+name, the return value would be a list of one face name.
+Otherwise, return a single face name; if the user entered more
+than one face name, return only the first one."
(let ((faceprop (or (get-char-property (point) 'read-face-name)
(get-char-property (point) 'face)))
(aliasfaces nil)
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 90eb5dfaec5..a95dde1d999 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -63,8 +63,9 @@ otherwise it defaults to t, used for times when the buffer is not displayed."
(when cleanup
(setq image-mode-winprops-alist
(delq nil (mapcar (lambda (winprop)
- (if (window-live-p (car-safe winprop))
- winprop))
+ (let ((w (car-safe winprop)))
+ (if (or (not (windowp w)) (window-live-p w))
+ winprop)))
image-mode-winprops-alist))))
(let ((winprops (assq window image-mode-winprops-alist)))
;; For new windows, set defaults from the latest.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 6ffa67f59c1..560b66bf3b0 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2464,8 +2464,12 @@ comment at the start of cc-engine.el for more info."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Variables which keep track of preprocessor constructs.
+(defvar c-state-old-cpp-beg-marker nil)
+(make-variable-buffer-local 'c-state-old-cpp-beg-marker)
(defvar c-state-old-cpp-beg nil)
(make-variable-buffer-local 'c-state-old-cpp-beg)
+(defvar c-state-old-cpp-end-marker nil)
+(make-variable-buffer-local 'c-state-old-cpp-end-marker)
(defvar c-state-old-cpp-end nil)
(make-variable-buffer-local 'c-state-old-cpp-end)
;; These are the limits of the macro containing point at the previous call of
@@ -2653,13 +2657,21 @@ comment at the start of cc-engine.el for more info."
;; reduce the time wasted in repeated fruitless searches in brace deserts.
(save-excursion
(save-restriction
- (let ((bra from) ce ; Positions of "{" and "}".
- new-cons
- (cache-pos (c-state-cache-top-lparen)) ; might be nil.
- (macro-start-or-from
- (progn (goto-char from)
- (c-beginning-of-macro)
- (point))))
+ (let* (new-cons
+ (cache-pos (c-state-cache-top-lparen)) ; might be nil.
+ (macro-start-or-from
+ (progn (goto-char from)
+ (c-beginning-of-macro)
+ (point)))
+ (bra ; Position of "{".
+ ;; Don't start scanning in the middle of a CPP construct unless
+ ;; it contains HERE - these constructs, in Emacs, are "commented
+ ;; out" with category properties.
+ (if (eq (c-get-char-property macro-start-or-from 'category)
+ 'c-cpp-delimiter)
+ macro-start-or-from
+ from))
+ ce) ; Position of "}"
(or upper-lim (setq upper-lim from))
;; If we're essentially repeating a fruitless search, just give up.
@@ -2899,7 +2911,9 @@ comment at the start of cc-engine.el for more info."
(point-max)
(min (point-max) c-state-old-cpp-beg)))
(while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim))
+ (setq scan-back-pos (car-safe (car c-state-cache)))
(setq c-state-cache (cdr c-state-cache)))
+
;; If `upper-lim' is inside the last recorded brace pair, remove its
;; RBrace and indicate we'll need to search backwards for a previous
;; brace pair.
@@ -3324,6 +3338,13 @@ comment at the start of cc-engine.el for more info."
(c-with-cpps-commented-out
(c-invalidate-state-cache-1 here)))))
+(defmacro c-state-maybe-marker (place marker)
+ ;; If PLACE is non-nil, return a marker marking it, otherwise nil.
+ ;; We (re)use MARKER.
+ `(and ,place
+ (or ,marker (setq ,marker (make-marker)))
+ (set-marker ,marker ,place)))
+
(defun c-parse-state ()
;; This is a wrapper over `c-parse-state-1'. See that function for a
;; description of the functionality and return value.
@@ -3350,9 +3371,10 @@ comment at the start of cc-engine.el for more info."
(c-parse-state-1))
(c-with-cpps-commented-out
(c-parse-state-1))))
- (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t))
- c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t)))
- )))
+ (setq c-state-old-cpp-beg
+ (c-state-maybe-marker here-cpp-beg c-state-old-cpp-beg-marker)
+ c-state-old-cpp-end
+ (c-state-maybe-marker here-cpp-end c-state-old-cpp-end-marker)))))
;; Debug tool to catch cache inconsistencies. This is called from
;; 000tests.el.
diff --git a/lisp/simple.el b/lisp/simple.el
index d06a04aa5dc..dcd6d792acb 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1391,14 +1391,16 @@ If the value is non-nil and not a number, we wait 2 seconds."
;; Aaron S. Hawley <aaron.s.hawley(at)gmail.com> 2009-08-24
"Read function name, then read its arguments and call it.
-To pass a numeric argument to the command you are invoking with, specify
+To pass a numeric argument to the command you are invoking, specify
the numeric argument to this command.
Noninteractively, the argument PREFIXARG is the prefix argument to
give to the command you invoke, if it asks for an argument."
(interactive (list current-prefix-arg (read-extended-command)))
;; Emacs<24 calling-convention was with a single `prefixarg' argument.
- (if (null command-name) (setq command-name (read-extended-command)))
+ (if (null command-name)
+ (setq command-name (let ((current-prefix-arg prefixarg)) ; for prompt
+ (read-extended-command))))
(let* ((function (and (stringp command-name) (intern-soft command-name)))
(binding (and suggest-key-bindings
(not executing-kbd-macro)