Subject: bug#75910: 31; Deprecate minibuffer-completing-file-name

From: Daniel Mendler <[email-masked]>
Date: Tue, 28 Jan 2025 18:19:41 +0100

Drew Adams <[email-masked]> writes:

>> I propose to deprecate `minibuffer-completing-file-name', since the
>> completion category as part of the completion metadata acts as
>> generalization for this variable. Similarly `minibuffer-completing-
>> symbols' has been deprecated and removed a while ago.
>> 
>> Instead of checking `minibuffer-completing-file-name' one can use
>> (minibuffer-category-p 'file) given the following predicate function:
>> 
>> (defun minibuffer-category-p (cat)
>>   (eq (completion-metadata-get
>>        (completion-metadata
>>         (buffer-substring-no-properties
>>          (minibuffer-prompt-end) (point))
>>         minibuffer-completion-table
>>         minibuffer-completion-predicate)
>>        'category)
>>       cat))
>
> That you don't use something isn't evidence
> that it isn't used.

The variable is not widely used. You can grep the Emacs code base. Also
the completion category metadata has been designed as a general
replacement. I think it should be removed like
`minibuffer-completing-symbol' which has already been removed.

Daniel