# HG changeset patch # User Richard M. Stallman # Date 795379667 0 # Node ID 769706e1babbe8d794036bc9f87fa5020ca42eba # Parent 97da4cb32d03c06cf2b9349ef701bf13e800f123 (line-move): Handle conses in buffer-invisibility-spec. Handle skipping invisible overlays. diff -r 97da4cb32d03 -r 769706e1babb lisp/simple.el --- a/lisp/simple.el Thu Mar 16 04:37:48 1995 +0000 +++ b/lisp/simple.el Thu Mar 16 18:47:47 1995 +0000 @@ -1611,8 +1611,11 @@ (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 @@ (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)