]> git.eshelyaron.com Git - emacs.git/commitdiff
(compare-windows-skip-whitespace): Return t
authorRichard M. Stallman <rms@gnu.org>
Sun, 7 Nov 1993 22:19:57 +0000 (22:19 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 7 Nov 1993 22:19:57 +0000 (22:19 +0000)
if there is whitespace before point.

lisp/compare-w.el

index a52e8e07541fc3ed32bc888486d9573ac19c3847..a6bd00e1a07d0bef44151273fd3bcc59cef08905 100644 (file)
@@ -134,19 +134,29 @@ If `compare-ignore-case' is non-nil, changes in case are also ignored."
 ;; 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)