|
From: | Juri Linkov |
Subject: | bug#32543: 26.1; list-matching-lines-jump-to-current breaks revert-buffer in occur-mode |
Date: | Sun, 02 Sep 2018 01:49:08 +0300 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
> 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)) We have two solutions here: on reverting reset the current line number to the default numeric value of occur--orig-line (e.g. 0), or better to remember occur--orig-line in occur-revert-arguments. Maybe Tino has better ideas (Cc'ed).
[Prev in Thread] | Current Thread | [Next in Thread] |