]> git.eshelyaron.com Git - emacs.git/commitdiff
(line-move): Handle conses in buffer-invisibility-spec.
authorRichard M. Stallman <rms@gnu.org>
Thu, 16 Mar 1995 18:47:47 +0000 (18:47 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 16 Mar 1995 18:47:47 +0000 (18:47 +0000)
Handle skipping invisible overlays.

lisp/simple.el

index b8442fd9b6809f99ad131be10aa575f25639d7a7..418cba339bfd4ce7a06a2ed063702dee2c86c734 100644 (file)
@@ -1611,8 +1611,11 @@ Outline mode sets this.")
                         (get-char-property (point) 'invisible)))
                    (if (eq buffer-invisibility-spec t)
                        prop
-                     (memq prop buffer-invisibility-spec))))
-       (goto-char (next-single-property-change (point) 'invisible)))
+                     (or (memq prop buffer-invisibility-spec)
+                         (assq prop buffer-invisibility-spec)))))
+       (if (get-text-property (point) 'invisible)
+           (goto-char (next-single-property-change (point) 'invisible))
+         (goto-char (next-overlay-change (point)))))
       (setq arg (1- arg)))
     (while (< arg 0)
       (beginning-of-line)
@@ -1620,11 +1623,14 @@ Outline mode sets this.")
           (signal 'beginning-of-buffer nil))
       (while (and (not (bobp))
                  (let ((prop
-                        (get-char-property (point) 'invisible)))
+                        (get-char-property (1- (point)) 'invisible)))
                    (if (eq buffer-invisibility-spec t)
                        prop
-                     (memq prop buffer-invisibility-spec))))
-       (goto-char (previous-single-property-change (point) 'invisible)))
+                     (or (memq prop buffer-invisibility-spec)
+                         (assq prop buffer-invisibility-spec)))))
+       (if (get-text-property (1- (point)) 'invisible)
+           (goto-char (previous-single-property-change (point) 'invisible))
+         (goto-char (previous-overlay-change (point)))))
       (setq arg (1+ arg))))
   (move-to-column (or goal-column temporary-goal-column))
   nil)