Subject: Re: bug#28645: 26.0.50; semantic-ia-fast-jump jumps to a random place in buffer

From: Constantine <[email-masked]>
Date: Fri, 29 Sep 2017 17:57:11 +0300

On 29.09.2017 17:42, Dmitry Gutov wrote:
> On 9/29/17 3:23 PM, Constantine wrote:
> '> Result: it jumped to "myfunc2" declaration, not to "myfunc1" as it ought
>> to.
>>
>> I also want to note that though ATM I am using emacs-git, I've seen the
>> problem for don't remember how long, just didn't report.
> 
> Thanks for the report. You appear to have fallen victim of our windowing 
> improvements. I'm not sure this is the correct fix (Martin?), but here's 
> a patch that seems to correct the behavior.
> 
> diff --git a/lisp/cedet/semantic/ia.el b/lisp/cedet/semantic/ia.el
> index d4201fcf51..0692d03aca 100644
> --- a/lisp/cedet/semantic/ia.el
> +++ b/lisp/cedet/semantic/ia.el
> @@ -322,7 +322,8 @@ semantic-ia--fast-jump-helper
>     (semantic-go-to-tag dest)
>     ;; 3) go-to-tag doesn't switch the buffer in the current window,
>     ;;    so it is like find-file-noselect.  Bring it forward.
> -  (switch-to-buffer (current-buffer))
> +  (let (switch-to-buffer-preserve-window-point)
> +    (switch-to-buffer (current-buffer)))
>     ;; 4) Fancy pulsing.
>     (pulse-momentary-highlight-one-line (point))
>     )

Yay, thank you, works for me!

Tested-by: Constantine Kharlamov <[email-masked]>