Subject: bug#32543: closed (Re: bug#32543: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 18 Sep 2018 12:35:02 +0000

Your bug report

#32543: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32543: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32543
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#32543: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode
From: Tino Calancha <[email-masked]>
To: [email-masked]
Date: Tue, 18 Sep 2018 21:33:47 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Tino Calancha <[email-masked]> writes:

> Juri Linkov <[email-masked]> 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)

Subject: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode
From: Andrey Kolomoets <[email-masked]>
To: [email-masked]
Date: Mon, 27 Aug 2018 14:49:41 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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