[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64046: 30.0.50; Quoting in customize choice tags
From: |
Ola x Nilsson |
Subject: |
bug#64046: 30.0.50; Quoting in customize choice tags |
Date: |
Fri, 25 Aug 2023 10:02:35 +0200 |
User-agent: |
mu4e 1.8.14; emacs 29.1.50 |
On Thu, Aug 24 2023, Mauro Aranda wrote:
> Stephen Berman <stephen.berman@gmx.net> writes:
>
>> On Thu, 24 Aug 2023 17:14:53 -0300 Mauro Aranda
> <maurooaranda@gmail.com> wrote:
>>
>>> Stephen Berman <stephen.berman@gmx.net> writes:
>>>
>>>> Right after sending, I found an obvious problem: only one of the car or
>>>> the cdr might be a string. The following patch accounts for this:
>>>>
>>>> diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
>>>> index a70598bb6c9..891e98b6de5 100644
>>>> --- a/lisp/wid-edit.el
>>>> +++ b/lisp/wid-edit.el
>>>> @@ -285,12 +285,18 @@ widget-choose
>>>> ;; Apply quote substitution to customize choice menu item text,
>>>> ;; whether it occurs in a widget buffer or in a popup menu.
>>>> (let ((items (mapc (lambda (x)
>>>> - (when (consp x)
>>>> - (dotimes (i (1- (length x)))
>>>> - (when (stringp (nth i x))
>>>> - (setcar (nthcdr i x)
>>>> - (substitute-command-keys
>>>> - (car (nthcdr i x))))))))
>>>> + (if (proper-list-p x)
>>>> + (dotimes (i (1- (length x)))
>>>> + (when (stringp (nth i x))
>>>> + (setcar (nthcdr i x)
>>>> + (substitute-command-keys
>>>> + (car (nthcdr i x))))))
>>>> + ;; ITEMS has simple item definitions.
>>>> + (when (consp x)
>>>> + (when (stringp (car x))
>>>> + (setcar x (substitute-command-keys
> (car x))))
>>>> + (when (stringp (cdr x))
>>>> + (setcdr x (substitute-command-keys (cdr
>>> x)))))))
>>>
>>> Thinking about it, why do we need to call substitute-command-keys on the
>>> VALUE part (i.e., the cdr of the cons cell), in case of simple item
>>> definitions?
>>>
>>> I re-read the bug report, but I didn't find any reference to why that is
>>> a need. Did I miss something?
>>
>> Well, the VALUE is displayed on entering a choice. That is, when I do
>>
>> M-: (widget-choose "Title" '(("Use `a'" . "Use `1'") ("Use `b'"
> . "Use `2'")))
>>
>> I see curve-quoting in the widget-choose buffer:
>>
>> Available choices:
>>
>> 0 = Use ‘a’
>> 1 = Use ‘b’
>>
>> C-g = Quit
>>
>> and when I enter e.g. `0' at the "Title: " prompt in the minibuffer, it
>> displays "Use ‘1’", i.e., with curve-quoting. But if I omit the call to
>> substitute-command-keys on the cdr in widget-choose, then typing `0' at
>> the "Title: " prompt displays "Use `1'", i.e. with grave-quoting. But I
>> don't know which one is the intended result.
>
> I see, thank you. Your last patch looks good to me, then.
The cdr is the return value, I would expect widget-choose to not
modify that.
--
Ola x Nilsson
- bug#64046: 30.0.50; Quoting in customize choice tags, Ola x Nilsson, 2023/08/21
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/21
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/24
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/24
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/24
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/24
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/24
- bug#64046: 30.0.50; Quoting in customize choice tags,
Ola x Nilsson <=
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/25
- bug#64046: 30.0.50; Quoting in customize choice tags, Ola x Nilsson, 2023/08/28
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/28
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/30
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/30
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/30
- bug#64046: 30.0.50; Quoting in customize choice tags, Stephen Berman, 2023/08/30
- bug#64046: 30.0.50; Quoting in customize choice tags, Mauro Aranda, 2023/08/30
- bug#64046: 30.0.50; Quoting in customize choice tags, Eli Zaretskii, 2023/08/31
- bug#64046: 30.0.50; Quoting in customize choice tags, Stefan Kangas, 2023/08/31