aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2004-04-22 22:56:08 +0000
committerStefan Monnier <[email protected]>2004-04-22 22:56:08 +0000
commite462ab772ac754ec2333929c54207cece4a8efe4 (patch)
tree21bc1a4971b016249713f5859d0709d854926199
parentbb2c34b14781830ae47d2caaac2b56beb71cff52 (diff)
(next-error): Change arg name. Add support for the documented C-u C-x ` usage.
-rw-r--r--lisp/simple.el22
1 files changed, 13 insertions, 9 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 494a988410..782dd9c3a2 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1,7 +1,7 @@
;;; simple.el --- basic editing commands for Emacs
;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 99,
-;; 2000, 2001, 2002, 2003
+;; 2000, 01, 02, 03, 04
;; Free Software Foundation, Inc.
;; Maintainer: FSF
@@ -74,11 +74,14 @@ similar mode is started, or when it is used with \\[next-error]
or \\[compile-goto-error].")
(defvar next-error-function nil
- "The next-error vehicle for other modes.
-This variable can be bound to a function by a mode. It is
-buffer-local by default. Together with
-`next-error-last-buffer', this variable lets modes hook into
-\\[next-error].")
+ "Function to use to find the next error in the current buffer.
+The function is called with 2 parameters:
+ARG is an integer specifying by how many errors to move.
+RESET is a boolean which, if non-nil, says to go back to the beginning
+of the errors before moving.
+Major modes providing compile-like functionality should set this variable
+to indicate to `next-error' that this is a candidate buffer and how
+to navigate in it.")
(make-variable-buffer-local 'next-error-function)
@@ -119,13 +122,13 @@ buffer-local by default. Together with
(current-buffer)))
(error "No next-error capable buffer found!")))))))
-(defun next-error (argp &optional reset)
+(defun next-error (arg &optional reset)
"Visit next next-error message and corresponding source code.
If all the error messages parsed so far have been processed already,
the message buffer is checked for new ones.
-A prefix ARGP specifies how many error messages to move;
+A prefix ARG specifies how many error messages to move;
negative means move back to previous error messages.
Just \\[universal-argument] as a prefix means reparse the error message buffer
and start at the first error.
@@ -148,10 +151,11 @@ uses Compilation mode or Compilation Minor mode.
See variables `compilation-parse-errors-function' and
\`compilation-error-regexp-alist' for customization ideas."
(interactive "P")
+ (if (consp arg) (setq reset t arg nil))
(when (setq next-error-last-buffer (next-error-find-buffer))
;; we know here that next-error-function is a valid symbol we can funcall
(with-current-buffer next-error-last-buffer
- (funcall next-error-function argp reset))))
+ (funcall next-error-function (prefix-numeric-value arg) reset))))
(defalias 'goto-next-locus 'next-error)
(defalias 'next-match 'next-error)