all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Trevor Spiteri <tspiteri@ieee.org>
To: Juri Linkov <juri@linkov.net>
Cc: 40919@debbugs.gnu.org
Subject: bug#40919: 27.0.91; next-error-select-buffer does not always behave as documented
Date: Wed, 29 Apr 2020 02:13:22 +0200	[thread overview]
Message-ID: <d4ee34a4-87f6-8b28-689e-d8b291df898a@ieee.org> (raw)
In-Reply-To: <87d07rmb6j.fsf@mail.linkov.net>

>> The next-error-select-buffer documentation states that “the selected
>> buffer becomes the source of locations for the subsequent invocation of
>> ‘next-error’ or ‘previous-error’.” However, it is not the case for the
>> following:
>>
>> 1. Go in a fresh next-error capable buffer (not *grep*).
>> 2. Grep for something.
>> 3. M-x next-error-select-buffer *grep*
>> 4. M-x next-error
>>
>> The buffer of 1 (not *grep*) is the source of locations instead of
>> the expected *grep*.
>>
>> This is because although next-error-select-buffer sets the variable
>> next-error-last-buffer, it is not used in this case: When next-error
>> calls next-error-find-buffer, next-error-buffer has no buffer-local
>> value yet, so condition 2. in next-error-find-buffer (that
>> next-error-buffer has no buffer-local value and the current buffer is a
>> next-error capable buffer) is true, and the function never even checks
>> next-error-last-buffer.
> Thanks for the report.  Do you think the problem is in implementation,
> or only in documentation?  IOW, do you think its behavior is correct,
> but the documentation should be fixed to describe more clearly what
> next-error was intended to do in this situation?

I think the error is in the implementation. In fact I added a later
comment to the bug report.


> And I just realized, this is also a regression from Emacs 26 if step 3
> is skipped, as step 2 itself also sets next-error-last-buffer .

As a use case, let's say I'm in a buffer that has next-error
capabilities because of say flycheck, and I grep or compile; I want to
start going through the new errors immediately. That is why
compilation-start finishes  with (setq next-error-last-buffer outbuf)
and that's how Emacs 26 works (without step 3 as
next-error-select-buffer is new). In Emacs 27 not only does that break,
but even using the new function has no effect.







  reply	other threads:[~2020-04-29  0:13 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28  1:51 bug#40919: 27.0.91; next-error-select-buffer does not always behave as documented Trevor Spiteri
2020-04-28 11:37 ` Trevor Spiteri
2020-04-28 23:40 ` Juri Linkov
2020-04-29  0:13   ` Trevor Spiteri [this message]
2020-04-29 20:38     ` Juri Linkov
2020-04-29 22:40       ` Trevor Spiteri
2020-04-30 20:14         ` Juri Linkov
2020-04-30 23:18           ` Trevor Spiteri
2020-05-02 23:38             ` Juri Linkov
2020-05-03  2:40               ` Eli Zaretskii
2020-05-03 22:36                 ` Juri Linkov
2020-05-19  1:48                   ` Dmitry Gutov
2020-05-19 22:21                     ` Juri Linkov
2020-05-21 23:57                       ` Dmitry Gutov
2020-05-23 22:24                         ` Juri Linkov
2020-05-23 23:30                           ` Dmitry Gutov
2020-05-24 21:48                             ` Juri Linkov
2020-05-25  1:58                               ` Dmitry Gutov
2020-05-25 15:17                                 ` Eli Zaretskii
2020-05-25 23:17                                   ` Dmitry Gutov
2020-05-26 16:06                                     ` Eli Zaretskii
2020-05-26 16:20                                       ` Dmitry Gutov
2020-05-26 16:33                                         ` Eli Zaretskii
2020-05-26 20:39                                           ` Dmitry Gutov
2020-05-27 19:18                                             ` Dmitry Gutov
2020-05-30 22:29                                 ` Juri Linkov
2020-06-10 23:03                                   ` Juri Linkov
2020-06-10 23:28                                     ` Dmitry Gutov
2020-06-11 13:11                                       ` Eli Zaretskii
2020-06-11 22:39                                       ` Juri Linkov
2020-06-12  7:06                                         ` Eli Zaretskii
2020-06-13 22:53                                           ` Juri Linkov
2020-06-14 23:17                                             ` Juri Linkov
2020-05-28 23:07                           ` Dmitry Gutov
2020-06-01 22:41                             ` Juri Linkov
2020-06-01 23:04                               ` Dmitry Gutov
2020-06-10 23:05                                 ` Juri Linkov
2020-06-10 23:32                                   ` Dmitry Gutov
2020-06-11 22:43                                     ` Juri Linkov
2020-06-14 11:50                                       ` Dmitry Gutov
2020-06-14 23:15                                         ` Juri Linkov
2020-06-15  7:58                                           ` Dmitry Gutov
2020-06-24 23:38                                             ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d4ee34a4-87f6-8b28-689e-d8b291df898a@ieee.org \
    --to=tspiteri@ieee.org \
    --cc=40919@debbugs.gnu.org \
    --cc=juri@linkov.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.