--- Begin Message ---
Subject: |
26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode |
Date: |
Mon, 27 Aug 2018 14:49:41 +0300 |
0. emacs -Q
1. M-: (setq list-matching-lines-jump-to-current-line t) <RET>
2. M-s o text <RET>
3. C-x o
4. g
(wrong-type-argument number-or-marker-p nil)
occur-engine("text" (#<buffer *scratch*>) #<buffer *Occur*> 0 t underline
shadow match t)
occur-1("text" nil (#<buffer *scratch*>) "*Occur*")
apply(occur-1 ("text" nil (#<buffer *scratch*>) "*Occur*"))
occur-revert-function(t nil)
revert-buffer(t)
funcall-interactively(revert-buffer t)
call-interactively(revert-buffer nil nil)
command-execute(revert-buffer)
I think it's because occur--orig-line not initialized in occur-revert-function
and it fails on
(when (and list-matching-lines-jump-to-current-line
(null orig-line-shown-p)
(> curr-line orig-line))
In GNU Emacs 26.1 and still in 27.0.50
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#32543: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode |
Date: |
Tue, 18 Sep 2018 21:33:47 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Tino Calancha <address@hidden> writes:
> Juri Linkov <address@hidden> writes:
>
>>> + (let* ((region (occur--parse-occur-buffer))
>>> + (region-start (car region))
>>> + (region-end (cadr region))
>>> + (orig-line (caddr region))
>>> + (buffer (cadddr region))
>>
>> Better to use (nth 1), (nth 2), (nth 3), ...
> Yeah, it reads better.
> Here is the updated patch:
Fixed in master branch as commit 'Fix bug 32543'
(75d9a55fae1c484aa6d213064931bfe3b65cf5dd)
--- End Message ---