diff options
| author | Stefan Monnier | 2013-01-09 22:43:02 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2013-01-09 22:43:02 -0500 |
| commit | 3f9549e874035d963eb5ca02f24d51dc935e6326 (patch) | |
| tree | 1340657aa0689287b52f3dba9d8c6bc4da822c02 | |
| parent | b14abca9476cba2f500b5eda89441d593dd0f12b (diff) | |
| parent | c4dd9efc9ed3f7de8f4ee74b6d47f65ad72320cf (diff) | |
| download | emacs-3f9549e874035d963eb5ca02f24d51dc935e6326.tar.gz emacs-3f9549e874035d963eb5ca02f24d51dc935e6326.zip | |
Merge from emacs-24
| -rw-r--r-- | admin/ChangeLog | 11 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/lispref/commands.texi | 8 | ||||
| -rw-r--r-- | etc/ChangeLog | 2 | ||||
| -rw-r--r-- | lisp/ChangeLog | 36 | ||||
| -rw-r--r-- | lisp/emacs-lisp/authors.el | 16 | ||||
| -rw-r--r-- | lisp/faces.el | 36 | ||||
| -rw-r--r-- | lisp/image-mode.el | 5 | ||||
| -rw-r--r-- | lisp/progmodes/cc-engine.el | 42 | ||||
| -rw-r--r-- | lisp/simple.el | 6 |
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 @@ | |||
| 132 | 132 | ||
| 133 | * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): | 133 | * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): |
| 134 | Remove. | 134 | Remove. |
| 135 | (bovine-grammar-expand-form): Test for emacs-major-version. | 135 | (bovine-grammar-expand-form): Test for emacs-major-version. |
| 136 | 136 | ||
| 137 | * grammars/c.by: Add EXPLICIT to keyword tokens. | 137 | * grammars/c.by: Add EXPLICIT to keyword tokens. |
| 138 | Add %provide token. | ||
| 138 | 139 | ||
| 139 | * grammars/f90.by: Add %provide token. | 140 | * grammars/grammar.wy (semantic-grammar-lexer): Remove, since it |
| 140 | |||
| 141 | * grammar/grammar.wy (semantic-grammar-lexer): Remove, since it | ||
| 142 | was copied to grammar.el. New %provide token to generate prefix | 141 | was copied to grammar.el. New %provide token to generate prefix |
| 143 | which conforms with Emacs conventions. Remove lexer definition, | 142 | which conforms with Emacs conventions. Remove lexer definition, |
| 144 | which is now in grammar.el. | 143 | which is now in grammar.el. |
| 145 | 144 | ||
| 146 | 2012-09-27 Glenn Morris <rgm@gnu.org> | 145 | 2012-09-27 Glenn Morris <rgm@gnu.org> |
| @@ -184,7 +183,7 @@ | |||
| 184 | 2012-09-13 Paul Eggert <eggert@cs.ucla.edu> | 183 | 2012-09-13 Paul Eggert <eggert@cs.ucla.edu> |
| 185 | 184 | ||
| 186 | Simplify SIGIO usage (Bug#12408). | 185 | Simplify SIGIO usage (Bug#12408). |
| 187 | * CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) | 186 | * CPP-DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) |
| 188 | (BROKEN_SIGPTY, NO_TERMIO): Remove. | 187 | (BROKEN_SIGPTY, NO_TERMIO): Remove. |
| 189 | 188 | ||
| 190 | 2012-09-11 Paul Eggert <eggert@cs.ucla.edu> | 189 | 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 @@ | |||
| 1 | 2013-01-09 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * commands.texi (Interactive Codes): | ||
| 4 | Whitespace does not terminate interactive "S". (Bug#13393) | ||
| 5 | |||
| 1 | 2013-01-06 Chong Yidong <cyd@gnu.org> | 6 | 2013-01-06 Chong Yidong <cyd@gnu.org> |
| 2 | 7 | ||
| 3 | * windows.texi (Vertical Scrolling): Fix typos (Bug#13267). | 8 | * 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 | |||
| 471 | these characters in the input.) Prompt. | 471 | these characters in the input.) Prompt. |
| 472 | 472 | ||
| 473 | @item S | 473 | @item S |
| 474 | An interned symbol whose name is read in the minibuffer. Any whitespace | 474 | An interned symbol whose name is read in the minibuffer. Terminate |
| 475 | character terminates the input. (Use @kbd{C-q} to include whitespace in | 475 | the input with either @kbd{C-j} or @key{RET}. Other characters that |
| 476 | the string.) Other characters that normally terminate a symbol (e.g., | 476 | normally terminate a symbol (e.g., whitespace, parentheses and |
| 477 | parentheses and brackets) do not do so here. Prompt. | 477 | brackets) do not do so here. Prompt. |
| 478 | 478 | ||
| 479 | @item U | 479 | @item U |
| 480 | A key sequence or @code{nil}. Can be used after a @samp{k} or | 480 | 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 @@ | |||
| 85 | 85 | ||
| 86 | 2012-10-01 Eric Ludlam <zappo@gnu.org> | 86 | 2012-10-01 Eric Ludlam <zappo@gnu.org> |
| 87 | 87 | ||
| 88 | * srecode/cc.srt, srecode/ede-autoconf.srt: New files. | 88 | * srecode/c.srt, srecode/ede-autoconf.srt: New files. |
| 89 | 89 | ||
| 90 | * srecode/cpp.srt: Move parts to c.srt. | 90 | * srecode/cpp.srt: Move parts to c.srt. |
| 91 | 91 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7c3443a916c..b9f35e6567c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,37 @@ | |||
| 1 | 2013-01-10 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * emacs-lisp/authors.el (authors-ignored-files) | ||
| 4 | (authors-valid-file-names, authors-renamed-files-alist): | ||
| 5 | Add some more entries. | ||
| 6 | |||
| 7 | 2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 8 | |||
| 9 | * image-mode.el (image-mode-winprops): Don't throw away the fallback | ||
| 10 | `t' pseudo-window entry. | ||
| 11 | |||
| 12 | 2013-01-10 Alan Mackenzie <acm@muc.de> | ||
| 13 | |||
| 14 | Fix bugs in the c-parse-state mechanism. Reuse some markers | ||
| 15 | instead of continually generating new ones. | ||
| 16 | |||
| 17 | * progmodes/cc-engine.el (c-state-old-cpp-beg-marker) | ||
| 18 | (c-state-old-cpp-end-marker): New variables. | ||
| 19 | (c-append-lower-brace-pair-to-state-cache): Start a backward | ||
| 20 | search for "}" definitively outside CPP constructs. | ||
| 21 | (c-remove-stale-state-cache): Inform the caller of a need to | ||
| 22 | search back for a brace pair in certain circumstances. | ||
| 23 | (c-state-maybe-marker): New macro. | ||
| 24 | (c-parse-state): Reuse markers when appropriate. | ||
| 25 | |||
| 26 | 2013-01-10 Glenn Morris <rgm@gnu.org> | ||
| 27 | |||
| 28 | * simple.el (execute-extended-command): Doc fix. | ||
| 29 | Bind prefix-arg around read-extended-command, for prompt. (Bug#13395) | ||
| 30 | |||
| 31 | 2013-01-10 Chong Yidong <cyd@gnu.org> | ||
| 32 | |||
| 33 | * faces.el (read-face-name): Doc fix. | ||
| 34 | |||
| 1 | 2013-01-10 Roland Winkler <winkler@gnu.org> | 35 | 2013-01-10 Roland Winkler <winkler@gnu.org> |
| 2 | 36 | ||
| 3 | * emacs-lisp/crm.el: Allow any regexp for separators. | 37 | * emacs-lisp/crm.el: Allow any regexp for separators. |
| @@ -5953,7 +5987,7 @@ | |||
| 5953 | 5987 | ||
| 5954 | 2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca> | 5988 | 2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca> |
| 5955 | 5989 | ||
| 5956 | * progmodes/python.el Fixed defsubst warning. | 5990 | * progmodes/python.el: Fix defsubst warning. |
| 5957 | (python-syntax-context) Rename from python-info-ppss-context. | 5991 | (python-syntax-context) Rename from python-info-ppss-context. |
| 5958 | (python-syntax-context-type): Rename from | 5992 | (python-syntax-context-type): Rename from |
| 5959 | python-info-ppss-context-type. | 5993 | 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.") | |||
| 295 | "calc/INSTALL" "calc/Makefile" | 295 | "calc/INSTALL" "calc/Makefile" |
| 296 | "vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/ | 296 | "vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/ |
| 297 | "emacsver.texi.in" | 297 | "emacsver.texi.in" |
| 298 | "vpath.sed" | ||
| 299 | "Cocoa/Emacs.base/Contents/Info.plist" | ||
| 300 | "Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings" | ||
| 301 | "GNUstep/Emacs.base/Resources/Info-gnustep.plist" | ||
| 302 | "GNUstep/Emacs.base/Resources/Emacs.desktop" | ||
| 303 | "Cocoa/Emacs.base/Contents/Resources/English.lproj" | ||
| 304 | ;; Only existed briefly, then deleted: | ||
| 305 | "coccinelle/overlay.cocci" "coccinelle/symbol.cocci" | ||
| 298 | ;; MH-E stuff not in Emacs: | 306 | ;; MH-E stuff not in Emacs: |
| 299 | "import-emacs" "release-utils" | 307 | "import-emacs" "release-utils" |
| 300 | ;; Erc stuff not in Emacs: | 308 | ;; Erc stuff not in Emacs: |
| @@ -540,6 +548,7 @@ Changes to files in this list are not listed.") | |||
| 540 | "makedist.bat" | 548 | "makedist.bat" |
| 541 | "makefile.def" | 549 | "makefile.def" |
| 542 | "makefile.nt" | 550 | "makefile.nt" |
| 551 | "ns.mk" | ||
| 543 | "debug.bat.in" "emacs.bat.in" | 552 | "debug.bat.in" "emacs.bat.in" |
| 544 | ".gdbinit-union" | 553 | ".gdbinit-union" |
| 545 | "alloca.s" | 554 | "alloca.s" |
| @@ -553,15 +562,17 @@ Changes to files in this list are not listed.") | |||
| 553 | "ymakefile" | 562 | "ymakefile" |
| 554 | "permute-index" "index.perm" | 563 | "permute-index" "index.perm" |
| 555 | "ibmrs6000.inp" | 564 | "ibmrs6000.inp" |
| 556 | "b2m.c" "b2m.1" "b2m.pl" | 565 | "b2m.c" "b2m.1" "b2m.pl" "rcs-checkin.1" |
| 557 | "emacs.bash" "emacs.csh" "ms-kermit" | 566 | "emacs.bash" "emacs.csh" "ms-kermit" |
| 558 | "emacs.ico" | 567 | "emacs.ico" |
| 559 | "emacs21.ico" | 568 | "emacs21.ico" |
| 569 | "emacs.py" "emacs2.py" "emacs3.py" | ||
| 560 | "BABYL" "LPF" "LEDIT" "OTHER.EMACSES" | 570 | "BABYL" "LPF" "LEDIT" "OTHER.EMACSES" |
| 561 | "emacs16_mac.png" "emacs24_mac.png" | 571 | "emacs16_mac.png" "emacs24_mac.png" |
| 562 | "emacs256_mac.png" "emacs32_mac.png" | 572 | "emacs256_mac.png" "emacs32_mac.png" |
| 563 | "emacs48_mac.png" "emacs512_mac.png" | 573 | "emacs48_mac.png" "emacs512_mac.png" |
| 564 | "revdiff" ; admin/ | 574 | "revdiff" ; admin/ |
| 575 | "vcdiff" "rcs-checkin" "tindex.pl" | ||
| 565 | "mainmake" "sed1.inp" "sed2.inp" "sed3.inp" ; msdos/ | 576 | "mainmake" "sed1.inp" "sed2.inp" "sed3.inp" ; msdos/ |
| 566 | "mac-fix-env.m" | 577 | "mac-fix-env.m" |
| 567 | ;; Deleted vms stuff: | 578 | ;; Deleted vms stuff: |
| @@ -580,6 +591,7 @@ in the repository.") | |||
| 580 | ("s/windowsnt.h" . "s/ms-w32.h") | 591 | ("s/windowsnt.h" . "s/ms-w32.h") |
| 581 | ("s/ms-w32.h" . "inc/ms-w32.h") | 592 | ("s/ms-w32.h" . "inc/ms-w32.h") |
| 582 | ("winnt.el" . "w32-fns.el") | 593 | ("winnt.el" . "w32-fns.el") |
| 594 | ("emacs.manifest" . "emacs-x86.manifest") | ||
| 583 | ("config.emacs" . "configure") | 595 | ("config.emacs" . "configure") |
| 584 | ("configure.in" . "configure.ac") | 596 | ("configure.in" . "configure.ac") |
| 585 | ("config.h.dist" . "config.in") | 597 | ("config.h.dist" . "config.in") |
| @@ -616,6 +628,8 @@ in the repository.") | |||
| 616 | ("build-install" . "build-ins.in") | 628 | ("build-install" . "build-ins.in") |
| 617 | ("build-install.in" . "build-ins.in") | 629 | ("build-install.in" . "build-ins.in") |
| 618 | ("unidata/Makefile" . "unidata/Makefile.in") | 630 | ("unidata/Makefile" . "unidata/Makefile.in") |
| 631 | ("move-if-change" . "build-aux/move-if-change") | ||
| 632 | ("update-subdirs" . "build-aux/update-subdirs") | ||
| 619 | ;; Not renamed, but we only have the latter in the Emacs repo. | 633 | ;; Not renamed, but we only have the latter in the Emacs repo. |
| 620 | ("trampver.texi.in" . "trampver.texi") | 634 | ("trampver.texi.in" . "trampver.texi") |
| 621 | ("e/eterm" . "e/eterm-color") | 635 | ("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." | |||
| 929 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 929 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 930 | 930 | ||
| 931 | (defun read-face-name (prompt &optional default multiple) | 931 | (defun read-face-name (prompt &optional default multiple) |
| 932 | "Read a face, defaulting to the face or faces at point. | 932 | "Read one or more face names, defaulting to the face(s) at point. |
| 933 | If the text at point has the property `read-face-name', that | 933 | PROMPT should be a prompt string; it should not end in a space or |
| 934 | overrides the `face' property for determining the default. | 934 | a colon. |
| 935 | 935 | ||
| 936 | PROMPT should be a string that describes what the caller will do | 936 | The optional argument DEFAULT specifies the default face name(s) |
| 937 | with the face; it should not end in a space. | 937 | to return if the user just types RET. If its value is non-nil, |
| 938 | it should be a list of face names (symbols); in that case, the | ||
| 939 | default return value is the `car' of DEFAULT (if the argument | ||
| 940 | MULTIPLE is non-nil), or DEFAULT (if MULTIPLE is nil). See below | ||
| 941 | for the meaning of MULTIPLE. | ||
| 938 | 942 | ||
| 943 | If DEFAULT is nil, the list of default face names is taken from | ||
| 944 | the `read-face-name' property of the text at point, or, if that | ||
| 945 | is nil, from the `face' property of the text at point. | ||
| 939 | 946 | ||
| 940 | This function uses `completing-read-multiple' with \",\" as the | 947 | This function uses `completing-read-multiple' with \",\" as the |
| 941 | separator character, i.e. | 948 | separator character. Thus, the user may enter multiple face |
| 942 | 949 | names, separated by commas. The optional argument MULTIPLE | |
| 943 | 950 | specifies the form of the return value. If MULTIPLE is non-nil, | |
| 944 | 951 | return a list of face names; if the user entered just one face | |
| 945 | 952 | name, the return value would be a list of one face name. | |
| 946 | 953 | Otherwise, return a single face name; if the user entered more | |
| 947 | The optional argument DEFAULT provides the value to display in the | 954 | than one face name, return only the first one." |
| 948 | minibuffer prompt that is returned if the user just types RET | ||
| 949 | unless DEFAULT is a string (in which case nil is returned). | ||
| 950 | |||
| 951 | If MULTIPLE is non-nil, return a list of faces (possibly only one). | ||
| 952 | Otherwise, return a single face." | ||
| 953 | (let ((faceprop (or (get-char-property (point) 'read-face-name) | 955 | (let ((faceprop (or (get-char-property (point) 'read-face-name) |
| 954 | (get-char-property (point) 'face))) | 956 | (get-char-property (point) 'face))) |
| 955 | (aliasfaces nil) | 957 | (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." | |||
| 63 | (when cleanup | 63 | (when cleanup |
| 64 | (setq image-mode-winprops-alist | 64 | (setq image-mode-winprops-alist |
| 65 | (delq nil (mapcar (lambda (winprop) | 65 | (delq nil (mapcar (lambda (winprop) |
| 66 | (if (window-live-p (car-safe winprop)) | 66 | (let ((w (car-safe winprop))) |
| 67 | winprop)) | 67 | (if (or (not (windowp w)) (window-live-p w)) |
| 68 | winprop))) | ||
| 68 | image-mode-winprops-alist)))) | 69 | image-mode-winprops-alist)))) |
| 69 | (let ((winprops (assq window image-mode-winprops-alist))) | 70 | (let ((winprops (assq window image-mode-winprops-alist))) |
| 70 | ;; For new windows, set defaults from the latest. | 71 | ;; 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." | |||
| 2464 | 2464 | ||
| 2465 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 2465 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 2466 | ;; Variables which keep track of preprocessor constructs. | 2466 | ;; Variables which keep track of preprocessor constructs. |
| 2467 | (defvar c-state-old-cpp-beg-marker nil) | ||
| 2468 | (make-variable-buffer-local 'c-state-old-cpp-beg-marker) | ||
| 2467 | (defvar c-state-old-cpp-beg nil) | 2469 | (defvar c-state-old-cpp-beg nil) |
| 2468 | (make-variable-buffer-local 'c-state-old-cpp-beg) | 2470 | (make-variable-buffer-local 'c-state-old-cpp-beg) |
| 2471 | (defvar c-state-old-cpp-end-marker nil) | ||
| 2472 | (make-variable-buffer-local 'c-state-old-cpp-end-marker) | ||
| 2469 | (defvar c-state-old-cpp-end nil) | 2473 | (defvar c-state-old-cpp-end nil) |
| 2470 | (make-variable-buffer-local 'c-state-old-cpp-end) | 2474 | (make-variable-buffer-local 'c-state-old-cpp-end) |
| 2471 | ;; These are the limits of the macro containing point at the previous call of | 2475 | ;; 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." | |||
| 2653 | ;; reduce the time wasted in repeated fruitless searches in brace deserts. | 2657 | ;; reduce the time wasted in repeated fruitless searches in brace deserts. |
| 2654 | (save-excursion | 2658 | (save-excursion |
| 2655 | (save-restriction | 2659 | (save-restriction |
| 2656 | (let ((bra from) ce ; Positions of "{" and "}". | 2660 | (let* (new-cons |
| 2657 | new-cons | 2661 | (cache-pos (c-state-cache-top-lparen)) ; might be nil. |
| 2658 | (cache-pos (c-state-cache-top-lparen)) ; might be nil. | 2662 | (macro-start-or-from |
| 2659 | (macro-start-or-from | 2663 | (progn (goto-char from) |
| 2660 | (progn (goto-char from) | 2664 | (c-beginning-of-macro) |
| 2661 | (c-beginning-of-macro) | 2665 | (point))) |
| 2662 | (point)))) | 2666 | (bra ; Position of "{". |
| 2667 | ;; Don't start scanning in the middle of a CPP construct unless | ||
| 2668 | ;; it contains HERE - these constructs, in Emacs, are "commented | ||
| 2669 | ;; out" with category properties. | ||
| 2670 | (if (eq (c-get-char-property macro-start-or-from 'category) | ||
| 2671 | 'c-cpp-delimiter) | ||
| 2672 | macro-start-or-from | ||
| 2673 | from)) | ||
| 2674 | ce) ; Position of "}" | ||
| 2663 | (or upper-lim (setq upper-lim from)) | 2675 | (or upper-lim (setq upper-lim from)) |
| 2664 | 2676 | ||
| 2665 | ;; If we're essentially repeating a fruitless search, just give up. | 2677 | ;; 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." | |||
| 2899 | (point-max) | 2911 | (point-max) |
| 2900 | (min (point-max) c-state-old-cpp-beg))) | 2912 | (min (point-max) c-state-old-cpp-beg))) |
| 2901 | (while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim)) | 2913 | (while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim)) |
| 2914 | (setq scan-back-pos (car-safe (car c-state-cache))) | ||
| 2902 | (setq c-state-cache (cdr c-state-cache))) | 2915 | (setq c-state-cache (cdr c-state-cache))) |
| 2916 | |||
| 2903 | ;; If `upper-lim' is inside the last recorded brace pair, remove its | 2917 | ;; If `upper-lim' is inside the last recorded brace pair, remove its |
| 2904 | ;; RBrace and indicate we'll need to search backwards for a previous | 2918 | ;; RBrace and indicate we'll need to search backwards for a previous |
| 2905 | ;; brace pair. | 2919 | ;; brace pair. |
| @@ -3324,6 +3338,13 @@ comment at the start of cc-engine.el for more info." | |||
| 3324 | (c-with-cpps-commented-out | 3338 | (c-with-cpps-commented-out |
| 3325 | (c-invalidate-state-cache-1 here))))) | 3339 | (c-invalidate-state-cache-1 here))))) |
| 3326 | 3340 | ||
| 3341 | (defmacro c-state-maybe-marker (place marker) | ||
| 3342 | ;; If PLACE is non-nil, return a marker marking it, otherwise nil. | ||
| 3343 | ;; We (re)use MARKER. | ||
| 3344 | `(and ,place | ||
| 3345 | (or ,marker (setq ,marker (make-marker))) | ||
| 3346 | (set-marker ,marker ,place))) | ||
| 3347 | |||
| 3327 | (defun c-parse-state () | 3348 | (defun c-parse-state () |
| 3328 | ;; This is a wrapper over `c-parse-state-1'. See that function for a | 3349 | ;; This is a wrapper over `c-parse-state-1'. See that function for a |
| 3329 | ;; description of the functionality and return value. | 3350 | ;; description of the functionality and return value. |
| @@ -3350,9 +3371,10 @@ comment at the start of cc-engine.el for more info." | |||
| 3350 | (c-parse-state-1)) | 3371 | (c-parse-state-1)) |
| 3351 | (c-with-cpps-commented-out | 3372 | (c-with-cpps-commented-out |
| 3352 | (c-parse-state-1)))) | 3373 | (c-parse-state-1)))) |
| 3353 | (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t)) | 3374 | (setq c-state-old-cpp-beg |
| 3354 | c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t))) | 3375 | (c-state-maybe-marker here-cpp-beg c-state-old-cpp-beg-marker) |
| 3355 | ))) | 3376 | c-state-old-cpp-end |
| 3377 | (c-state-maybe-marker here-cpp-end c-state-old-cpp-end-marker))))) | ||
| 3356 | 3378 | ||
| 3357 | ;; Debug tool to catch cache inconsistencies. This is called from | 3379 | ;; Debug tool to catch cache inconsistencies. This is called from |
| 3358 | ;; 000tests.el. | 3380 | ;; 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." | |||
| 1391 | ;; Aaron S. Hawley <aaron.s.hawley(at)gmail.com> 2009-08-24 | 1391 | ;; Aaron S. Hawley <aaron.s.hawley(at)gmail.com> 2009-08-24 |
| 1392 | "Read function name, then read its arguments and call it. | 1392 | "Read function name, then read its arguments and call it. |
| 1393 | 1393 | ||
| 1394 | To pass a numeric argument to the command you are invoking with, specify | 1394 | To pass a numeric argument to the command you are invoking, specify |
| 1395 | the numeric argument to this command. | 1395 | the numeric argument to this command. |
| 1396 | 1396 | ||
| 1397 | Noninteractively, the argument PREFIXARG is the prefix argument to | 1397 | Noninteractively, the argument PREFIXARG is the prefix argument to |
| 1398 | give to the command you invoke, if it asks for an argument." | 1398 | give to the command you invoke, if it asks for an argument." |
| 1399 | (interactive (list current-prefix-arg (read-extended-command))) | 1399 | (interactive (list current-prefix-arg (read-extended-command))) |
| 1400 | ;; Emacs<24 calling-convention was with a single `prefixarg' argument. | 1400 | ;; Emacs<24 calling-convention was with a single `prefixarg' argument. |
| 1401 | (if (null command-name) (setq command-name (read-extended-command))) | 1401 | (if (null command-name) |
| 1402 | (setq command-name (let ((current-prefix-arg prefixarg)) ; for prompt | ||
| 1403 | (read-extended-command)))) | ||
| 1402 | (let* ((function (and (stringp command-name) (intern-soft command-name))) | 1404 | (let* ((function (and (stringp command-name) (intern-soft command-name))) |
| 1403 | (binding (and suggest-key-bindings | 1405 | (binding (and suggest-key-bindings |
| 1404 | (not executing-kbd-macro) | 1406 | (not executing-kbd-macro) |