Subject: bug#46670: closed (Re: bug#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 24 Feb 2021 08:23:02 +0000

Your bug report

#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-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].

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

Subject: Re: bug#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode
From: Andrea Corallo <[email-masked]>
To: Mauricio Collares <[email-masked]>
Cc: [email-masked]
Date: Wed, 24 Feb 2021 08:22:08 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Mauricio Collares <[email-masked]> writes:

> On February 23, 2021 8:26:25 PM GMT-03:00, Andrea Corallo <[email-masked]> wrote:
>>Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
>>text editors" <[email-masked]> writes:
>>
>>Right I've pushed bddd7a2d13 implementing the discussed solution as I'm
>>convinced is more general and future proof.
>>
>>The patch is passing the tests and bootstrapping clean, also is adding a
>>test that should cover this specific bug.
>>
>>Mauricio could you verify it actually solves the lsp-mode issue?
>
> Hi Andrea,
>
> I've verified that the lsp-mode completion issue is fixed. Many, many thanks! 
>
> By the way, I just noticed that this is probably the same issue that
> was reported by X L and Óscar Fuentes in emacs-devel ('Completion
> doesn't start after "." Is pressed in go-mode with gopls').

Wonderful!  I'm closing this bug then.

Thank you for reporting it

  Andrea

Subject: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode
From: Mauricio Collares <[email-masked]>
To: [email-masked]
Date: Sat, 20 Feb 2021 21:12:11 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

This was found by Anthony Cowley, who isolated the exact function in
lsp-mode that was misbehaving. I verified that I could reproduce this
findings, and then I removed surrounding context to obtain a minimized
testcase. If this fails to reproduce, it's entirely my fault.

Steps to reproduce:

1) Put this in minimized.el:

;;; -*- lexical-binding: t; -*-

(defun minimized--look-back (s)
  (and (equal (buffer-substring-no-properties (- (point) (length s)) (point))
              s)
       s))

(defun minimized-go ()
  (interactive)
  (message (minimized--look-back ".")))

(provide 'minimized)

2) Type "." in a buffer and then run minimized-go with the point after
the period. This prints back "." in the minibuffer if the code's
interpreted but not if it's native-compiled.

Note that removing the "lexical-binding: t" line makes the bug not
reproduce. Replacing "(- (point) (length s))" by "(1- (point))" also
makes the bug disappear.

Best,
Mauricio