(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)
(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)