GNU bug report logs - #61283
29.0.60; pcomplete-completions-at-point loses text properties, breaking pcomplete-from-help annotations

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Sun, 5 Feb 2023 00:24:01 UTC

Severity: normal

Merged with 65844

Found in versions 29.0.60, 30.0.50

Full log


View this message in rfc822 format

From: Gregory Heytings <gregory <at> heytings.org>
To: Daniel Mendler <mail <at> daniel-mendler.de>
Cc: arstoffel <at> gmail.com, monnier <at> iro.umontreal.ca, 61283 <at> debbugs.gnu.org
Subject: bug#61283: 29.0.60; pcomplete-completions-at-point loses text properties, breaking pcomplete-from-help annotations
Date: Tue, 16 May 2023 07:50:17 +0000
>
> 1. Start emacs -Q
> 2. Evaluate the following two test commands in the scratch buffer:
>
> (defun good ()
>  (interactive)
>  (pp (all-completions "" (nth 2 (pcomplete-completions-at-point)))))
>
> (defun bad ()
>  (interactive)
>  (pp (all-completions "-" (nth 2 (pcomplete-completions-at-point)))))
>
> 3. Run shell or eshell
> 4. Enter `xargs --' in order to complete command line options via
> `pcomplete-from-help'.
> 5. M-x good -> Printed completion strings will have pcomplete-annotation
> and pcomplete-help text properties. These are used by the
> :annotation-function and the :company-docsig function.
> 6. M-x bad -> Returned completion strings are stripped of their text
> properties.
> 7. When triggering completion manually by pressing TAB, there are
> no annotations displayed in the *Completions* buffer.
>
> If I recall correctly, this functionality worked at some point and the 
> text properties were not removed, such that annotations worked. The 
> culprit, which destroys the properties, seems to be 
> `completion-table-with-quoting' in `pcomplete-completions-at-point', but 
> I wasn't able to figure out which commit caused this (I did not do any 
> bisecting).
>

Sorry, I missed your earlier post.  There is no need to bisect in this 
case: 'pcomplete-from-help' was added in a994126968 (which means that it's 
new in Emacs 29), and the recipe above already gave the exact same result 
at that point.  I took a sample of four revisions between 
emacs-29/c18f9f155f and a994126968 (f102145d38, 07127e9c29, 4f114c0d95, 
809afde01d), and the result is always the same.





This bug report was last modified 1 year and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.