Subject: bug#76565: closed (Re: bug#76565: 30.1; emacs xref: cannot jump back to the previous position when `xref-history-storage' is set to `xref-window-local-history')

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 02 Mar 2025 03:25:02 +0000

Your bug report

#76565: 30.1; emacs xref: cannot jump back to the previous position when `xref-history-storage' is set to `xref-window-local-history'

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].

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

Subject: Re: bug#76565: 30.1; emacs xref: cannot jump back to the previous position when `xref-history-storage' is set to `xref-window-local-history'
From: Dmitry Gutov <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sun, 2 Mar 2025 05:24:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 30.2

On 28/02/2025 10:06, Eli Zaretskii wrote:
>> Cc:[email-masked]
>> Date: Fri, 28 Feb 2025 04:35:42 +0200
>> From: Dmitry Gutov<[email-masked]>
>>
>> On 27/02/2025 06:36, Guoyu Ou wrote:
>>> After applying this patch, I tested my commonly used functions and they
>>> are all working well. Thanks for your patch.
>> Thanks for testing!
>>
>> Maintainers: I suppose this should go into the emacs-30 branch?
> Yes, thanks.

Thank you, pushed now: 
https://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-30&id=625ed68aeaadce4df7bdfd8c08ddfc8ed4f9b01a

Subject: 30.1; emacs xref: cannot jump back to the previous position when `xref-history-storage' is set to `xref-window-local-history'
From: Guoyu Ou <[email-masked]>
To: [email-masked]
Cc: Guoyu Ou <[email-masked]>
Date: Tue, 25 Feb 2025 22:36:27 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear maintainers,

I installed emacs 30.1 from debian sid, and found that xref cannot jump
back to the previous position when `xref-history-storage` is set to
`xref-window-local-history`. It works in emacs 29.4 with xref 1.6.3.

### settings and tests

The following is my `~/.emacs`:

```lisp
(when (>= emacs-major-version 29)
  (setq xref-history-storage 'xref-window-local-history))
```

And two c++ files for reproducing this bug:

content of `func-def.cpp`:

```c++
void func() {
}

void func(int) {
}
```

and `main.cpp`:

```c++
int main() {
  func();
}
```

### how to reproduce

Use the following command to generate a `TAGS` file:

```bash
/usr/bin/etags *.cpp
```

Then run

```bash
emacs -Q
```

open `main.cpp` and move the cursor to the word `func` and run

   M-x xref-find-definitions

a `*xref*` buffer is opened and shows two candidates of `func`.

Then I press `n RET` in the `*xref*` buffer to choose the first
candidate in the xref buffer.

Now the cursor is in a new buffer named `func-def.cpp`. Then I press
`M-,` and a message "At start of xref history" is shown in the
minibuffer.

In emacs 29.4 I can jump back to `main.cpp` when pressing `M-,`.

--
Best Regards,
Guoyu