Mercurial > emacs
changeset 4925:76fb8b35df3f
(compare-windows-skip-whitespace): Return t
if there is whitespace before point.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 07 Nov 1993 22:19:57 +0000 |
parents | fb527936ca61 |
children | c639a86ac9f1 |
files | lisp/compare-w.el |
diffstat | 1 files changed, 16 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/compare-w.el Sun Nov 07 21:23:36 1993 +0000 +++ b/lisp/compare-w.el Sun Nov 07 22:19:57 1993 +0000 @@ -134,19 +134,29 @@ ;; and find the latest point at which a match ends. ;; Don't try starting points before START, though. ;; Value is non-nil if whitespace is found. + +;; If there is whitespace before point, but none after, +;; then return t, but don't advance point. (defun compare-windows-skip-whitespace (start) (let ((end (point)) + (beg (point)) (opoint (point))) - (while (and (looking-at compare-windows-whitespace) - (<= end (match-end 0)) - ;; This match goes past END, so advance END. - (progn (setq end (match-end 0)) - (> (point) start))) + (while (or (and (/= (point) start) + ;; Consider at least the char before point, + ;; unless it is also before START. + (= (point) opoint)) + (and (looking-at compare-windows-whitespace) + (<= end (match-end 0)) + ;; This match goes past END, so advance END. + (progn (setq end (match-end 0)) + (> (point) start)))) ;; keep going back until whitespace ;; doesn't extend to or past end (forward-char -1)) + (setq beg (point)) (goto-char end) - (/= end opoint))) + (or (/= beg opoint) + (/= end opoint)))) (provide 'compare-w)