emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TAGS completion with (setq-local completion-ignore-case t)


From: Eli Zaretskii
Subject: Re: TAGS completion with (setq-local completion-ignore-case t)
Date: Sat, 09 Mar 2024 09:51:56 +0200

> From: Morgan Willcock <morgan@ice9.digital>
> Cc: emacs-devel@gnu.org
> Date: Thu, 07 Mar 2024 11:37:27 +0000
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Morgan Willcock <morgan@ice9.digital>
> >> Cc: emacs-devel@gnu.org
> >> Date: Thu, 07 Mar 2024 09:54:31 +0000
> >> 
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >> 
> >> >> Is there a technical reason why TAGS completion cannot use the value of
> >> >> completion-ignore-case that is set in the buffer where completion is
> >> >> initiated, or is this a bug in the implementation?
> >> >
> >> > If you mean completion when you type "M-.", then this has its own user
> >> > option, tags-case-fold-search.  Is that what you want?
> >> 
> >> I am talking about completion as initiated by the complete-tag command.
> >> 
> >> (Setting tags-case-fold-search to t does not change the result, whether
> >> set buffer-local or globally).
> >
> > Can you show a complete recipe, starting from "emacs -Q", to reproduce
> > the issue?
> 
> I've included a script below which should demonstrate the problem,
> i.e. no completions are generated when the buffer-local value of
> completion-ignore-case is t until the value of completion-ignore-case is
> also set to t for the TAGS buffer.

Does the patch below give good results?

diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 476037e..5976121 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -2065,7 +2065,8 @@ complete-tag
       (user-error "%s"
                   (substitute-command-keys
                    "No tags table loaded; try \\[visit-tags-table]")))
-  (let ((comp-data (tags-completion-at-point-function)))
+  (let ((comp-data (tags-completion-at-point-function))
+        (completion-ignore-case (find-tag--completion-ignore-case)))
     (if (null comp-data)
        (user-error "Nothing to complete")
       (completion-in-region (car comp-data) (cadr comp-data)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]