aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2001-07-19 21:46:37 +0000
committerStefan Monnier2001-07-19 21:46:37 +0000
commit5b6858da26e4e6671ee93b67b921a86309b3d6a2 (patch)
tree08d15fbb741b66f65aade2a39ce6f6de995674e3
parent4e2a256ba55937bc9e03145edc4266fe67499c19 (diff)
downloademacs-5b6858da26e4e6671ee93b67b921a86309b3d6a2.tar.gz
emacs-5b6858da26e4e6671ee93b67b921a86309b3d6a2.zip
(compilation-parse-errors): `linenum' might return a this-error using
the alternative format (a pair of markers).
-rw-r--r--lisp/ChangeLog21
-rw-r--r--lisp/progmodes/compile.el76
2 files changed, 59 insertions, 38 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f1fef44b867..94a88539600 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,10 +1,15 @@
12001-07-19 Stefan Monnier <monnier@cs.yale.edu>
2
3 * progmodes/compile.el (compilation-parse-errors): `linenum' might
4 return a this-error using the alternative format (a pair of markers).
5
12001-07-19 Gerd Moellmann <gerd@gnu.org> 62001-07-19 Gerd Moellmann <gerd@gnu.org>
2 7
3 * font-lock.el (c++-keywords): Add Standard C++ operator names. 8 * font-lock.el (c++-keywords): Add Standard C++ operator names.
4 9
5 * mail/mh-utils.el (mh-find-progs): Also search in `lib'. 10 * mail/mh-utils.el (mh-find-progs): Also search in `lib'.
6 From Mats Bengtsson <mats.bengtsson@s3.kth.se>, 11 From Mats Bengtsson <mats.bengtsson@s3.kth.se>,
7 12
82001-07-17 Pavel Jan,Bm(Bk <Pavel@Janik.cz> 132001-07-17 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
9 14
10 * international/iso-transl.el: Fix typo in the header of the file. 15 * international/iso-transl.el: Fix typo in the header of the file.
@@ -16,7 +21,7 @@
16 21
172001-07-17 Eli Zaretskii <eliz@is.elta.co.il> 222001-07-17 Eli Zaretskii <eliz@is.elta.co.il>
18 23
19 * toolbar/tool-bar.el (tool-bar-add-item-from-menu) 24 * toolbar/tool-bar.el (tool-bar-add-item-from-menu)
20 (tool-bar-add-item): Don't call image-related primitives if the 25 (tool-bar-add-item): Don't call image-related primitives if the
21 display doesn't support images. 26 display doesn't support images.
22 27
@@ -34,8 +39,8 @@
34 39
352000-07-17 Han-Wen Nienhuys <hanwen@cs.uu.nl> 402000-07-17 Han-Wen Nienhuys <hanwen@cs.uu.nl>
36 41
37 * server.el (server-process-filter, server-visit-files): Add 42 * server.el (server-process-filter, server-visit-files):
38 support for +LINE:COLUMN style emacsclient calls. 43 Add support for +LINE:COLUMN style emacsclient calls.
39 44
402001-07-16 Pavel Jan,Bm(Bk <Pavel@Janik.cz> 452001-07-16 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
41 46
@@ -47,6 +52,14 @@
47 52
48 * play/handwrite.el: Author is no more reachable. 53 * play/handwrite.el: Author is no more reachable.
49 54
552001-07-17 Stefan Monnier <monnier@cs.yale.edu>
56
57 * term/sun.el (ignore-key, sun-esc-bracket, meta-flag): Remove.
58 (sun-raw-prefix): Replace t3, t4, t6, and t7 with f3, f4, f6 and f7.
59 Complete bindings for F<1..12> keys.
60 (global-map): Remove `undo' binding (already in the default).
61 Replace `t<n>' bindings with `f<n>' bindings.
62
502001-07-16 Stefan Monnier <monnier@cs.yale.edu> 632001-07-16 Stefan Monnier <monnier@cs.yale.edu>
51 64
52 * progmodes/tcl.el (tcl-fill-mode-map): Use tcl-indent-exp. 65 * progmodes/tcl.el (tcl-fill-mode-map): Use tcl-indent-exp.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 3eff86d2ce4..cc899ba20a6 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -264,10 +264,10 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2)
264 ;; E, file.cc(35,52) Illegal operation on pointers 264 ;; E, file.cc(35,52) Illegal operation on pointers
265 ("[EW], \\([^(\n]*\\)(\\([0-9]+\\),[ \t]*\\([0-9]+\\)" 1 2 3) 265 ("[EW], \\([^(\n]*\\)(\\([0-9]+\\),[ \t]*\\([0-9]+\\)" 1 2 3)
266 266
267;;; This seems to be superfluous because the first pattern matches it. 267 ;; This seems to be superfluous because the first pattern matches it.
268;;; ;; GNU messages with program name and optional column number. 268 ;; ;; GNU messages with program name and optional column number.
269;;; ("[a-zA-Z]?:?[^0-9 \n\t:]+[^ \n\t:]*:[ \t]*\\([^ \n\t:]+\\):\ 269 ;; ("[a-zA-Z]?:?[^0-9 \n\t:]+[^ \n\t:]*:[ \t]*\\([^ \n\t:]+\\):\
270;;;\\([0-9]+\\):\\(\\([0-9]+\\)[: \t]\\)?" 1 2 4) 270 ;;\\([0-9]+\\):\\(\\([0-9]+\\)[: \t]\\)?" 1 2 4)
271 271
272 ;; Cray C compiler error messages 272 ;; Cray C compiler error messages
273 ("\\(cc\\| cft\\)-[0-9]+ c\\(c\\|f77\\): ERROR \\([^,\n]+, \\)* File = \ 273 ("\\(cc\\| cft\\)-[0-9]+ c\\(c\\|f77\\): ERROR \\([^,\n]+, \\)* File = \
@@ -407,13 +407,13 @@ Otherwise, it saves all modified buffers without asking."
407 ;; Currently zgrep has trouble. It runs egrep instead of grep, 407 ;; Currently zgrep has trouble. It runs egrep instead of grep,
408 ;; and it doesn't pass along long options right. 408 ;; and it doesn't pass along long options right.
409 "grep" 409 "grep"
410;;; (if (equal (condition-case nil ; in case "zgrep" isn't in exec-path 410 ;; (if (equal (condition-case nil ; in case "zgrep" isn't in exec-path
411;;; (call-process "zgrep" nil nil nil 411 ;; (call-process "zgrep" nil nil nil
412;;; "foo" null-device) 412 ;; "foo" null-device)
413;;; (error nil)) 413 ;; (error nil))
414;;; 1) 414 ;; 1)
415;;; "zgrep" 415 ;; "zgrep"
416;;; "grep") 416 ;; "grep")
417 "The default grep program for `grep-command' and `grep-find-command'. 417 "The default grep program for `grep-command' and `grep-find-command'.
418This variable's value takes effect when `grep-compute-defaults' is called.") 418This variable's value takes effect when `grep-compute-defaults' is called.")
419 419
@@ -453,14 +453,12 @@ Sometimes it is useful for files to supply local values for this variable.
453You might also use mode hooks to specify it in certain modes, like this: 453You might also use mode hooks to specify it in certain modes, like this:
454 454
455 (add-hook 'c-mode-hook 455 (add-hook 'c-mode-hook
456 (function
457 (lambda () 456 (lambda ()
458 (unless (or (file-exists-p \"makefile\") 457 (unless (or (file-exists-p \"makefile\")
459 (file-exists-p \"Makefile\")) 458 (file-exists-p \"Makefile\"))
460 (make-local-variable 'compile-command) 459 (set (make-local-variable 'compile-command)
461 (setq compile-command 460 (concat \"make -k \"
462 (concat \"make -k \" 461 (file-name-sans-extension buffer-file-name))))))"
463 (file-name-sans-extension buffer-file-name)))))))"
464 :type 'string 462 :type 'string
465 :group 'compilation) 463 :group 'compilation)
466 464
@@ -535,19 +533,20 @@ to a function that generates a unique name."
535 (interactive 533 (interactive
536 (if (or compilation-read-command current-prefix-arg) 534 (if (or compilation-read-command current-prefix-arg)
537 (list (read-from-minibuffer "Compile command: " 535 (list (read-from-minibuffer "Compile command: "
538 compile-command nil nil 536 (eval compile-command) nil nil
539 '(compile-history . 1))) 537 '(compile-history . 1)))
540 (list compile-command))) 538 (list (eval compile-command))))
541 (setq compile-command command) 539 (unless (equal command (eval compile-command))
540 (setq compile-command command))
542 (save-some-buffers (not compilation-ask-about-save) nil) 541 (save-some-buffers (not compilation-ask-about-save) nil)
543 (compile-internal compile-command "No more errors")) 542 (compile-internal command "No more errors"))
544 543
545;;; run compile with the default command line 544;; run compile with the default command line
546(defun recompile () 545(defun recompile ()
547 "Re-compile the program including the current buffer." 546 "Re-compile the program including the current buffer."
548 (interactive) 547 (interactive)
549 (save-some-buffers (not compilation-ask-about-save) nil) 548 (save-some-buffers (not compilation-ask-about-save) nil)
550 (compile-internal compile-command "No more errors")) 549 (compile-internal (eval compile-command) "No more errors"))
551 550
552(defun grep-process-setup () 551(defun grep-process-setup ()
553 "Set up `compilation-exit-message-function' for `grep'." 552 "Set up `compilation-exit-message-function' for `grep'."
@@ -773,7 +772,8 @@ Returns the compilation buffer created."
773 (save-excursion 772 (save-excursion
774 (set-buffer outbuf) 773 (set-buffer outbuf)
775 (compilation-mode name-of-mode) 774 (compilation-mode name-of-mode)
776 ;; (setq buffer-read-only t) ;;; Non-ergonomic. 775 ;; In what way is it non-ergonomic ? -stef
776 ;; (toggle-read-only 1) ;;; Non-ergonomic.
777 (set (make-local-variable 'compilation-parse-errors-function) parser) 777 (set (make-local-variable 'compilation-parse-errors-function) parser)
778 (set (make-local-variable 'compilation-error-message) error-message) 778 (set (make-local-variable 'compilation-error-message) error-message)
779 (set (make-local-variable 'compilation-error-regexp-alist) 779 (set (make-local-variable 'compilation-error-regexp-alist)
@@ -1663,11 +1663,11 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1663 (let ((dirs compilation-search-path) 1663 (let ((dirs compilation-search-path)
1664 buffer thisdir fmts name) 1664 buffer thisdir fmts name)
1665 (if (file-name-absolute-p filename) 1665 (if (file-name-absolute-p filename)
1666 ;; The file name is absolute. Use its explicit directory as 1666 ;; The file name is absolute. Use its explicit directory as
1667 ;; the first in the search path, and strip it from FILENAME. 1667 ;; the first in the search path, and strip it from FILENAME.
1668 (setq filename (abbreviate-file-name (expand-file-name filename)) 1668 (setq filename (abbreviate-file-name (expand-file-name filename))
1669 dirs (cons (file-name-directory filename) dirs) 1669 dirs (cons (file-name-directory filename) dirs)
1670 filename (file-name-nondirectory filename))) 1670 filename (file-name-nondirectory filename)))
1671 ;; Now search the path. 1671 ;; Now search the path.
1672 (while (and dirs (null buffer)) 1672 (while (and dirs (null buffer))
1673 (setq thisdir (or (car dirs) dir) 1673 (setq thisdir (or (car dirs) dir)
@@ -1898,9 +1898,17 @@ An error message with no file name and no file name has been seen earlier"))
1898 find-at-least)) 1898 find-at-least))
1899 (and limit-search 1899 (and limit-search
1900 (>= end-of-match limit-search))) 1900 (>= end-of-match limit-search)))
1901 (not (equal ; Same filename? 1901 ;; `this-error' could contain a pair of
1902 (car (cdr (car compilation-error-list))) 1902 ;; markers already.
1903 (car (cdr this-error))))) 1903 (let ((thispos (cdr this-error))
1904 (lastpos (cdar compilation-error-list)))
1905 (not (equal
1906 (if (markerp thispos)
1907 (marker-buffer thispos)
1908 (car thispos))
1909 (if (markerp lastpos)
1910 (marker-buffer lastpos)
1911 (car lastpos))))))
1904 ;; We are past the limits and the last error 1912 ;; We are past the limits and the last error
1905 ;; parsed, didn't belong to the same source file 1913 ;; parsed, didn't belong to the same source file
1906 ;; as the earlier ones i.e. we have seen all the 1914 ;; as the earlier ones i.e. we have seen all the
@@ -1981,9 +1989,9 @@ An error message with no file name and no file name has been seen earlier"))
1981 1989
1982 (set-marker compilation-parsing-end (point)) 1990 (set-marker compilation-parsing-end (point))
1983 (setq compilation-error-list (nreverse compilation-error-list)) 1991 (setq compilation-error-list (nreverse compilation-error-list))
1984;;; (message "Parsing error messages...done. %d found. %.0f%% of buffer seen." 1992 ;; (message "Parsing error messages...done. %d found. %.0f%% of buffer seen."
1985;;; compilation-num-errors-found 1993 ;; compilation-num-errors-found
1986;;; (/ (* 100.0 (point)) (point-max))) 1994 ;; (/ (* 100.0 (point)) (point-max)))
1987 (message "Parsing error messages...done."))) 1995 (message "Parsing error messages...done.")))
1988 1996
1989(defun compile-collect-regexps (type this) 1997(defun compile-collect-regexps (type this)