diff options
| author | Stefan Monnier | 2010-09-08 17:53:08 +0200 |
|---|---|---|
| committer | Stefan Monnier | 2010-09-08 17:53:08 +0200 |
| commit | 331b2b903c38ff232cf0ba4c4fea50871fda24ac (patch) | |
| tree | f7385dddfd43993d86539d1e338a6486814d8f8f | |
| parent | 73b4d51a0a70902c3c83c4938ec828ebd25fca13 (diff) | |
| download | emacs-331b2b903c38ff232cf0ba4c4fea50871fda24ac.tar.gz emacs-331b2b903c38ff232cf0ba4c4fea50871fda24ac.zip | |
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Not a const.
(compilation-error-regexp-alist-alist): Rule out ": " in file names
for the `gnu' messages.
(compilation-set-skip-threshold): New command.
(compilation-start): Use \' rather than $.
(compilation-forget-errors): Use clrhash.
| -rw-r--r-- | lisp/ChangeLog | 18 | ||||
| -rw-r--r-- | lisp/progmodes/compile.el | 33 |
2 files changed, 39 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ae54fcd784d..fdc7a9b85c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2010-09-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * progmodes/compile.el (compilation-error-regexp-alist-alist): | ||
| 4 | Not a const. | ||
| 5 | (compilation-error-regexp-alist-alist): Rule out ": " in file names | ||
| 6 | for the `gnu' messages. | ||
| 7 | (compilation-set-skip-threshold): New command. | ||
| 8 | (compilation-start): Use \' rather than $. | ||
| 9 | (compilation-forget-errors): Use clrhash. | ||
| 10 | |||
| 1 | 2010-09-08 Agustín Martín <agustin.martin@hispalinux.es> | 11 | 2010-09-08 Agustín Martín <agustin.martin@hispalinux.es> |
| 2 | 12 | ||
| 3 | * textmodes/ispell.el (ispell-valid-dictionary-list): | 13 | * textmodes/ispell.el (ispell-valid-dictionary-list): |
| @@ -140,7 +150,7 @@ | |||
| 140 | 150 | ||
| 141 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> | 151 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 142 | 152 | ||
| 143 | * net/imap.el (imap-message-map): Removed optional buffer parameter, | 153 | * net/imap.el (imap-message-map): Remove optional buffer parameter, |
| 144 | since no callers use it. | 154 | since no callers use it. |
| 145 | (imap-message-get): Ditto. | 155 | (imap-message-get): Ditto. |
| 146 | (imap-message-put): Ditto. | 156 | (imap-message-put): Ditto. |
| @@ -151,11 +161,11 @@ | |||
| 151 | 161 | ||
| 152 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> | 162 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 153 | 163 | ||
| 154 | * net/imap.el (imap-fetch-safe): Removed function, and altered all | 164 | * net/imap.el (imap-fetch-safe): Remove function, and alter all |
| 155 | callers to use `imap-fetch' instead. According to the comments, this | 165 | callers to use `imap-fetch' instead. According to the comments, this |
| 156 | should be safe, since all other IMAP clients use the 1:* syntax. | 166 | should be safe, since all other IMAP clients use the 1:* syntax. |
| 157 | (imap-enable-exchange-bug-workaround): Removed. | 167 | (imap-enable-exchange-bug-workaround): Remove. |
| 158 | (imap-debug): Removed -- doesn't seem very useful. | 168 | (imap-debug): Remove -- doesn't seem very useful. |
| 159 | 169 | ||
| 160 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> | 170 | 2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 161 | 171 | ||
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 598733cb5d7..7f0732ecffc 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -164,7 +164,7 @@ and a string describing how the process finished.") | |||
| 164 | 164 | ||
| 165 | (defvar compilation-num-errors-found) | 165 | (defvar compilation-num-errors-found) |
| 166 | 166 | ||
| 167 | (defconst compilation-error-regexp-alist-alist | 167 | (defvar compilation-error-regexp-alist-alist |
| 168 | '((absoft | 168 | '((absoft |
| 169 | "^\\(?:[Ee]rror on \\|[Ww]arning on\\( \\)\\)?[Ll]ine[ \t]+\\([0-9]+\\)[ \t]+\ | 169 | "^\\(?:[Ee]rror on \\|[Ww]arning on\\( \\)\\)?[Ll]ine[ \t]+\\([0-9]+\\)[ \t]+\ |
| 170 | of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) | 170 | of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) |
| @@ -263,9 +263,11 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) | |||
| 263 | ;; The core of the regexp is the one with *?. It says that a file name | 263 | ;; The core of the regexp is the one with *?. It says that a file name |
| 264 | ;; can be composed of any non-newline char, but it also rules out some | 264 | ;; can be composed of any non-newline char, but it also rules out some |
| 265 | ;; valid but unlikely cases, such as a trailing space or a space | 265 | ;; valid but unlikely cases, such as a trailing space or a space |
| 266 | ;; followed by a -. | 266 | ;; followed by a -, or a colon followed by a space. |
| 267 | |||
| 268 | ;; The "in \\|from " exception was added to handle messages from Ruby. | ||
| 267 | "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\|[ \t]+\\(?:in \\|from \\)\\)?\ | 269 | "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\|[ \t]+\\(?:in \\|from \\)\\)?\ |
| 268 | \\([0-9]*[^0-9\n]\\(?:[^\n ]\\| [^-/\n]\\)*?\\): ?\ | 270 | \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\): ?\ |
| 269 | \\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\ | 271 | \\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\ |
| 270 | \\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\ | 272 | \\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\ |
| 271 | \\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ | 273 | \\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ |
| @@ -766,12 +768,27 @@ The value can be either 2 -- skip anything less than error, 1 -- | |||
| 766 | skip anything less than warning or 0 -- don't skip any messages. | 768 | skip anything less than warning or 0 -- don't skip any messages. |
| 767 | Note that all messages not positively identified as warning or | 769 | Note that all messages not positively identified as warning or |
| 768 | info, are considered errors." | 770 | info, are considered errors." |
| 769 | :type '(choice (const :tag "Warnings and info" 2) | 771 | :type '(choice (const :tag "Skip warnings and info" 2) |
| 770 | (const :tag "Info" 1) | 772 | (const :tag "Skip info" 1) |
| 771 | (const :tag "None" 0)) | 773 | (const :tag "No skip" 0)) |
| 772 | :group 'compilation | 774 | :group 'compilation |
| 773 | :version "22.1") | 775 | :version "22.1") |
| 774 | 776 | ||
| 777 | (defun compilation-set-skip-threshold (level) | ||
| 778 | "Switch the `compilation-skip-threshold' level." | ||
| 779 | (interactive | ||
| 780 | (list | ||
| 781 | (mod (if current-prefix-arg | ||
| 782 | (prefix-numeric-value current-prefix-arg) | ||
| 783 | (1+ compilation-skip-threshold)) | ||
| 784 | 3))) | ||
| 785 | (setq compilation-skip-threshold level) | ||
| 786 | (message "Skipping %s" | ||
| 787 | (case compilation-skip-threshold | ||
| 788 | (0 "Nothing") | ||
| 789 | (1 "Info messages") | ||
| 790 | (2 "Warnings and info")))) | ||
| 791 | |||
| 775 | (defcustom compilation-skip-visited nil | 792 | (defcustom compilation-skip-visited nil |
| 776 | "Compilation motion commands skip visited messages if this is t. | 793 | "Compilation motion commands skip visited messages if this is t. |
| 777 | Visited messages are ones for which the file, line and column have been jumped | 794 | Visited messages are ones for which the file, line and column have been jumped |
| @@ -1212,7 +1229,7 @@ Returns the compilation buffer created." | |||
| 1212 | (let* ((name-of-mode | 1229 | (let* ((name-of-mode |
| 1213 | (if (eq mode t) | 1230 | (if (eq mode t) |
| 1214 | "compilation" | 1231 | "compilation" |
| 1215 | (replace-regexp-in-string "-mode$" "" (symbol-name mode)))) | 1232 | (replace-regexp-in-string "-mode\\'" "" (symbol-name mode)))) |
| 1216 | (thisdir default-directory) | 1233 | (thisdir default-directory) |
| 1217 | outwin outbuf) | 1234 | outwin outbuf) |
| 1218 | (with-current-buffer | 1235 | (with-current-buffer |
| @@ -2377,7 +2394,7 @@ The file-structure looks like this: | |||
| 2377 | (defun compilation-forget-errors () | 2394 | (defun compilation-forget-errors () |
| 2378 | ;; In case we hit the same file/line specs, we want to recompute a new | 2395 | ;; In case we hit the same file/line specs, we want to recompute a new |
| 2379 | ;; marker for them, so flush our cache. | 2396 | ;; marker for them, so flush our cache. |
| 2380 | (setq compilation-locs (make-hash-table :test 'equal :weakness 'value)) | 2397 | (clrhash compilation-locs) |
| 2381 | (setq compilation-gcpro nil) | 2398 | (setq compilation-gcpro nil) |
| 2382 | ;; FIXME: the old code reset the directory-stack, so maybe we should | 2399 | ;; FIXME: the old code reset the directory-stack, so maybe we should |
| 2383 | ;; put a `directory change' marker of some sort, but where? -stef | 2400 | ;; put a `directory change' marker of some sort, but where? -stef |