Subject: Re: bug#19504: 11.88; [siunitx] unit appears without backslash

From: Mosè Giordano <[email-masked]>
Date: Thu, 12 Mar 2015 23:05:26 +0100

Hi Tassilo,

2015-03-12 9:51 GMT+01:00 Tassilo Horn <[email-masked]>:
> Mosè Giordano <[email-masked]> writes:
>
>>> PS: The plan is actually to move the minibuffer completion in that
>>> direction for normal minibuffer completion, so that TAB is bound to
>>> completion-at-point in the minibuffer as well.
>>
>> Uh, thanks for the suggestion, but according to git blame
>> `completion-at-point' exists since 2009, so Emacs <23 is left out.
>
> Sorry, I didn't follow this issue closely.  But isn't it the case that
> some quite recent change in Emacs is the culprit?

Yes, with this commit
http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commitdiff;h=9c44569ea2a18099307e0571d523d8637000a153
`completing-read-multiple' ignores empty strings, which was essential
for completion of `siunitx' units.

> In that case,
> `TeX-completing-read-multiple' could have 3 versions instead of the
> current two (one for Emacs, one for XEmacs), i.e., one for Emacs <= 22,
> one for Emacs 23+, and one for XEmacs.

As I said some messages ago, the best I can think is to copy the last
Emacs implementation before the mentioned commit (making sure return
value for empty input is always nil) for all Emacs versions, so we
should be able to keep the number of versions of
`TeX-completing-read-multiple' as low as two.  The problem will be of
course some more work on our side to maintain the function, if needed.

Bye,
Mosè