diff options
| author | Alan Mackenzie | 2011-10-28 14:02:04 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2011-10-28 14:02:04 +0000 |
| commit | bc97a826f8ea89a269f6043be3148930f023e2b2 (patch) | |
| tree | e927788ae7ba1058100dfb6c211ff57e6440de4c /lisp | |
| parent | c0f13227ab16ad9a87a16182e9d9ace5d2f7a6d9 (diff) | |
| parent | 9aba60432c25b060680eb7db698b20b05d7b94a0 (diff) | |
| download | emacs-bc97a826f8ea89a269f6043be3148930f023e2b2.tar.gz emacs-bc97a826f8ea89a269f6043be3148930f023e2b2.zip | |
Merge
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 58 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 1 | ||||
| -rw-r--r-- | lisp/progmodes/gdb-mi.el | 42 | ||||
| -rw-r--r-- | lisp/vc/log-edit.el | 14 |
4 files changed, 93 insertions, 22 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6aa1bddb9f3..bf4d87d3405 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,57 @@ | |||
| 1 | 2011-10-28 Alan Mackenzie <acm@muc.de> | ||
| 2 | |||
| 3 | Amend to indent and fontify macros "which include their own semicolon" | ||
| 4 | correctly, using the "virtual semicolon" mechanism. | ||
| 5 | |||
| 6 | * cc-defs.el: Update "virtual semicolon" comments. | ||
| 7 | |||
| 8 | * cc-engine.el (c-crosses-statement-barrier-p): Recoded to scan one line at | ||
| 9 | at time rather than having \n and \r explicitly in c-stmt-delim-chars | ||
| 10 | (for some modes, e.g. AWK). | ||
| 11 | (c-forward-label): Amend for virtual semicolons. | ||
| 12 | (c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions | ||
| 13 | |||
| 14 | * cc-fonts.el (c-font-lock-declarations): Take account of the new C macros. | ||
| 15 | |||
| 16 | * cc-langs.el (c-at-vsemi-p-fn, c-vsemi-status-unknown-p-fn): move to | ||
| 17 | earlier in the file. | ||
| 18 | (c-opt-cpp-symbol, c-line-comment-start-regexp): New language variables. | ||
| 19 | (c-opt-cpp-macro-define): Make into a full language variable. | ||
| 20 | (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for | ||
| 21 | AWK Mode (including \n, \r) removed, no longer needed. | ||
| 22 | |||
| 23 | * cc-mode.el (c-mode, c++-mode, objc-mode): Invoke | ||
| 24 | c-make-macro-with-semi-re. (Erroneously committed early, in previous | ||
| 25 | version, 5.259.) | ||
| 26 | |||
| 27 | * cc-vars.el (c-macro-with-semi-re, c-macro-names-with-semicolon): New | ||
| 28 | variables. | ||
| 29 | (c-make-macro-with-semi-re): New function | ||
| 30 | |||
| 31 | * cc-mode.texi (Indentation Commands): Mention "macros with semicolons". | ||
| 32 | (Other Special Indentations): Add an xref to "Macros with ;". | ||
| 33 | (Customizing Macros): Add stuff about syntax in macros. Add an xref to | ||
| 34 | "Macros with ;". | ||
| 35 | (Macros with ;): New page. | ||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | 2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 40 | |||
| 41 | * vc/log-edit.el: Fill empty field rather than adding new one. | ||
| 42 | (log-edit-add-field): New function. | ||
| 43 | (log-edit-insert-changelog): Use it. | ||
| 44 | |||
| 45 | 2011-10-28 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) | ||
| 46 | |||
| 47 | * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). | ||
| 48 | |||
| 49 | 2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 50 | |||
| 51 | * progmodes/gdb-mi.el: Warn the user when -i=mi is missing. | ||
| 52 | (gdb--check-interpreter): New function. | ||
| 53 | (gdb): Use it. | ||
| 54 | |||
| 1 | 2011-10-27 Glenn Morris <rgm@gnu.org> | 55 | 2011-10-27 Glenn Morris <rgm@gnu.org> |
| 2 | 56 | ||
| 3 | * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) | 57 | * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) |
| @@ -21,8 +75,8 @@ | |||
| 21 | * subr.el (change-major-mode-after-body-hook): New hook. | 75 | * subr.el (change-major-mode-after-body-hook): New hook. |
| 22 | (run-mode-hooks): Run it. | 76 | (run-mode-hooks): Run it. |
| 23 | 77 | ||
| 24 | * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Use | 78 | * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): |
| 25 | change-major-mode-before-body-hook. | 79 | Use change-major-mode-before-body-hook. |
| 26 | 80 | ||
| 27 | * simple.el (fundamental-mode): | 81 | * simple.el (fundamental-mode): |
| 28 | * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 | 82 | * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 770050efb08..603a615192a 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -1008,6 +1008,7 @@ The buffer is expected to be narrowed to just the header of the message." | |||
| 1008 | (define-key map "\e\C-l" 'rmail-summary-by-labels) | 1008 | (define-key map "\e\C-l" 'rmail-summary-by-labels) |
| 1009 | (define-key map "\e\C-r" 'rmail-summary-by-recipients) | 1009 | (define-key map "\e\C-r" 'rmail-summary-by-recipients) |
| 1010 | (define-key map "\e\C-s" 'rmail-summary-by-regexp) | 1010 | (define-key map "\e\C-s" 'rmail-summary-by-regexp) |
| 1011 | (define-key map "\e\C-f" 'rmail-summary-by-senders) | ||
| 1011 | (define-key map "\e\C-t" 'rmail-summary-by-topic) | 1012 | (define-key map "\e\C-t" 'rmail-summary-by-topic) |
| 1012 | (define-key map "m" 'rmail-mail) | 1013 | (define-key map "m" 'rmail-mail) |
| 1013 | (define-key map "\em" 'rmail-retry-failure) | 1014 | (define-key map "\em" 'rmail-retry-failure) |
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 22db7b2e5f4..dde00d753ac 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el | |||
| @@ -43,21 +43,10 @@ | |||
| 43 | 43 | ||
| 44 | ;; M-x gdb will start the debugger. | 44 | ;; M-x gdb will start the debugger. |
| 45 | 45 | ||
| 46 | ;; This file uses GDB/MI as the primary interface to GDB. It is still under | 46 | ;; This file uses GDB/MI as the primary interface to GDB. It runs gdb with |
| 47 | ;; development and is part of a process to migrate Emacs from annotations (as | 47 | ;; GDB/MI (-interp=mi) and access CLI using "-interpreter-exec console |
| 48 | ;; used in gdb-ui.el) to GDB/MI. It runs gdb with GDB/MI (-interp=mi) and | 48 | ;; cli-command". This code works without gdb-ui.el and uses MI tokens instead |
| 49 | ;; access CLI using "-interpreter-exec console cli-command". This code works | 49 | ;; of queues. Eventually MI should be asynchronous. |
| 50 | ;; without gdb-ui.el and uses MI tokens instead of queues. Eventually MI | ||
| 51 | ;; should be asynchronous. | ||
| 52 | |||
| 53 | ;; This mode will PARTLY WORK WITH RECENT GDB RELEASES (status in modeline | ||
| 54 | ;; doesn't update properly when execution commands are issued from GUD buffer) | ||
| 55 | ;; and WORKS BEST when GDB runs asynchronously: maint set linux-async on. | ||
| 56 | ;; | ||
| 57 | ;; You need development version of GDB 7.0 for the thread buffer to work. | ||
| 58 | |||
| 59 | ;; This file replaces gdb-ui.el and is for development with GDB. Use the | ||
| 60 | ;; release branch of Emacs 22 for the latest version of gdb-ui.el. | ||
| 61 | 50 | ||
| 62 | ;; Windows Platforms: | 51 | ;; Windows Platforms: |
| 63 | 52 | ||
| @@ -599,6 +588,22 @@ NOARG must be t when this macro is used outside `gud-def'" | |||
| 599 | (concat (gdb-gud-context-command ,cmd1 ,noall) " " ,cmd2) | 588 | (concat (gdb-gud-context-command ,cmd1 ,noall) " " ,cmd2) |
| 600 | ,(when (not noarg) 'arg))) | 589 | ,(when (not noarg) 'arg))) |
| 601 | 590 | ||
| 591 | (defun gdb--check-interpreter (proc string) | ||
| 592 | (unless (zerop (length string)) | ||
| 593 | (let ((filter (process-get proc 'gud-normal-filter))) | ||
| 594 | (set-process-filter proc filter) | ||
| 595 | (unless (memq (aref string 0) '(?^ ?~ ?@ ?& ?* ?=)) | ||
| 596 | ;; Apparently we're not running with -i=mi. | ||
| 597 | (let ((msg "Error: you did not specify -i=mi on GDB's command line!")) | ||
| 598 | (message msg) | ||
| 599 | (setq string (concat (propertize msg 'font-lock-face 'error) | ||
| 600 | "\n" string))) | ||
| 601 | ;; Use the old gud-gbd filter, not because it works, but because it | ||
| 602 | ;; will properly display GDB's answers rather than hanging waiting for | ||
| 603 | ;; answers that aren't coming. | ||
| 604 | (set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter)) | ||
| 605 | (funcall filter proc string)))) | ||
| 606 | |||
| 602 | ;;;###autoload | 607 | ;;;###autoload |
| 603 | (defun gdb (command-line) | 608 | (defun gdb (command-line) |
| 604 | "Run gdb on program FILE in buffer *gud-FILE*. | 609 | "Run gdb on program FILE in buffer *gud-FILE*. |
| @@ -665,6 +670,13 @@ detailed description of this mode. | |||
| 665 | "Multiple debugging requires restarting in text command mode")) | 670 | "Multiple debugging requires restarting in text command mode")) |
| 666 | ;; | 671 | ;; |
| 667 | (gud-common-init command-line nil 'gud-gdbmi-marker-filter) | 672 | (gud-common-init command-line nil 'gud-gdbmi-marker-filter) |
| 673 | |||
| 674 | ;; Setup a temporary process filter to warn when GDB was not started | ||
| 675 | ;; with -i=mi. | ||
| 676 | (let ((proc (get-buffer-process gud-comint-buffer))) | ||
| 677 | (process-put proc 'gud-normal-filter (process-filter proc)) | ||
| 678 | (set-process-filter proc #'gdb--check-interpreter)) | ||
| 679 | |||
| 668 | (set (make-local-variable 'gud-minor-mode) 'gdbmi) | 680 | (set (make-local-variable 'gud-minor-mode) 'gdbmi) |
| 669 | (setq comint-input-sender 'gdb-send) | 681 | (setq comint-input-sender 'gdb-send) |
| 670 | (when (ring-empty-p comint-input-ring) ; cf shell-mode | 682 | (when (ring-empty-p comint-input-ring) ; cf shell-mode |
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index c421304442f..f57429c76c7 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el | |||
| @@ -593,6 +593,13 @@ to build the Fixes: header.") | |||
| 593 | (put 'log-edit-rewrite-fixes 'safe-local-variable | 593 | (put 'log-edit-rewrite-fixes 'safe-local-variable |
| 594 | (lambda (v) (and (stringp (car-safe v)) (stringp (cdr v))))) | 594 | (lambda (v) (and (stringp (car-safe v)) (stringp (cdr v))))) |
| 595 | 595 | ||
| 596 | (defun log-edit-add-field (field value) | ||
| 597 | (rfc822-goto-eoh) | ||
| 598 | (if (save-excursion (re-search-backward (concat "^" field ":\\([ \t]*\\)$") | ||
| 599 | nil t)) | ||
| 600 | (replace-match (concat " " value) t t nil 1) | ||
| 601 | (insert field ": " value "\n" (if (looking-at "\n") "" "\n")))) | ||
| 602 | |||
| 596 | (defun log-edit-insert-changelog (&optional use-first) | 603 | (defun log-edit-insert-changelog (&optional use-first) |
| 597 | "Insert a log message by looking at the ChangeLog. | 604 | "Insert a log message by looking at the ChangeLog. |
| 598 | The idea is to write your ChangeLog entries first, and then use this | 605 | The idea is to write your ChangeLog entries first, and then use this |
| @@ -620,9 +627,7 @@ regardless of user name or time." | |||
| 620 | (log-edit-insert-changelog-entries (log-edit-files))))) | 627 | (log-edit-insert-changelog-entries (log-edit-files))))) |
| 621 | (log-edit-set-common-indentation) | 628 | (log-edit-set-common-indentation) |
| 622 | ;; Add an Author: field if appropriate. | 629 | ;; Add an Author: field if appropriate. |
| 623 | (when author | 630 | (when author (log-edit-add-field "Author" author)) |
| 624 | (rfc822-goto-eoh) | ||
| 625 | (insert "Author: " author "\n" (if (looking-at "\n") "" "\n"))) | ||
| 626 | ;; Add a Fixes: field if applicable. | 631 | ;; Add a Fixes: field if applicable. |
| 627 | (when (consp log-edit-rewrite-fixes) | 632 | (when (consp log-edit-rewrite-fixes) |
| 628 | (rfc822-goto-eoh) | 633 | (rfc822-goto-eoh) |
| @@ -632,8 +637,7 @@ regardless of user name or time." | |||
| 632 | (fixes (match-substitute-replacement | 637 | (fixes (match-substitute-replacement |
| 633 | (cdr log-edit-rewrite-fixes)))) | 638 | (cdr log-edit-rewrite-fixes)))) |
| 634 | (delete-region start end) | 639 | (delete-region start end) |
| 635 | (rfc822-goto-eoh) | 640 | (log-edit-add-field "Fixes" fixes)))) |
| 636 | (insert "Fixes: " fixes "\n" (if (looking-at "\n") "" "\n"))))) | ||
| 637 | (and log-edit-strip-single-file-name | 641 | (and log-edit-strip-single-file-name |
| 638 | (progn (rfc822-goto-eoh) | 642 | (progn (rfc822-goto-eoh) |
| 639 | (if (looking-at "\n") (forward-char 1)) | 643 | (if (looking-at "\n") (forward-char 1)) |