... as in GNU Emacs. This will enable me to submit another fix that
depends on this.
Will commit ... sometime after New Year's, I guess, if nobody objects.
2014-12-31 Michael Sperber <mike(a)xemacs.org>
* simple.el (line-move): Add `noerror' optional argument, as in
GNU Emacs.
--
Regards,
Mike
diff --git a/lisp/simple.el b/lisp/simple.el
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2441,7 +2441,7 @@
;; This is the guts of next-line and previous-line.
;; Count says how many lines to move.
-(defun line-move (count)
+(defun line-move (count &optional noerror)
;; Don't run any point-motion hooks, and disregard intangibility,
;; for intermediate positions.
(let ((inhibit-point-motion-hooks t)
@@ -2470,14 +2470,16 @@
(zerop (forward-line 1)))
(and (zerop (forward-line count))
(bolp)))
- (signal (if (< count 0)
- 'beginning-of-buffer
- 'end-of-buffer)
- nil))
+ (if (not noerror)
+ (signal (if (< count 0)
+ 'beginning-of-buffer
+ 'end-of-buffer)
+ nil)))
;; Move by count lines, but ignore invisible ones.
(while (> count 0)
(end-of-line)
(and (zerop (vertical-motion 1))
+ (not noerror)
(signal 'end-of-buffer nil))
;; If the following character is currently invisible,
;; skip all characters with that same `invisible' property value.
@@ -2495,6 +2497,7 @@
(while (< count 0)
(beginning-of-line)
(and (zerop (vertical-motion -1))
+ (not noerror)
(signal 'beginning-of-buffer nil))
(while (and (not (bobp))
(let ((prop
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches