unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
@ 2024-04-25 17:56 Gerd Möllmann
  2024-04-25 19:01 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-04-25 17:56 UTC (permalink / raw)
  To: 70573


1. emacs -Q
2. (setq gud-gud-lldb-command-name "hansi")
3. M-x lldb RET

The new command name "hansi" is not used when prompting the user.

In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin23.4.0, NS
 appkit-2487.50 Version 14.4.1 (Build 23E224)) of 2024-04-23 built on
 pro2.fritz.box





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
  2024-04-25 17:56 bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect Gerd Möllmann
@ 2024-04-25 19:01 ` Eli Zaretskii
  2024-04-25 19:25   ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-04-25 19:01 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 70573

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Date: Thu, 25 Apr 2024 19:56:12 +0200
> 
> 
> 1. emacs -Q
> 2. (setq gud-gud-lldb-command-name "hansi")
> 3. M-x lldb RET
> 
> The new command name "hansi" is not used when prompting the user.

It looks like this part:

  (interactive (list (gud-query-cmdline 'lldb)))

is the culprit: the minor-mode, which is the argument to
gud-query-cmdline, should be 'gud-lldb, not 'lldb.  Here's my
evidence:

  (when (and gud-comint-buffer
	     (buffer-name gud-comint-buffer)
	     (get-buffer-process gud-comint-buffer)
	     (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gud-lldb)))

Btw, this line seems also to be confused wrt the name of
gud-minor-mode:

  (setq-local gud-minor-mode 'lldb)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
  2024-04-25 19:01 ` Eli Zaretskii
@ 2024-04-25 19:25   ` Gerd Möllmann
  2024-04-26  6:29     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-04-25 19:25 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70573

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Date: Thu, 25 Apr 2024 19:56:12 +0200
>> 
>> 
>> 1. emacs -Q
>> 2. (setq gud-gud-lldb-command-name "hansi")
>> 3. M-x lldb RET
>> 
>> The new command name "hansi" is not used when prompting the user.
>
> It looks like this part:
>
>   (interactive (list (gud-query-cmdline 'lldb)))
>
> is the culprit: the minor-mode, which is the argument to
> gud-query-cmdline, should be 'gud-lldb, not 'lldb.  Here's my
> evidence:
>
>   (when (and gud-comint-buffer
> 	     (buffer-name gud-comint-buffer)
> 	     (get-buffer-process gud-comint-buffer)
> 	     (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gud-lldb)))
>
> Btw, this line seems also to be confused wrt the name of
> gud-minor-mode:
>
>   (setq-local gud-minor-mode 'lldb)

I'm currently seriously confused by gud.el, I'm afraid. And I was
already confused when I tried to mimic gud-gdb here, which does

  (interactive (list (gud-query-cmdline 'gud-gdb)))

  (when (and gud-comint-buffer
	   (buffer-name gud-comint-buffer)
	   (get-buffer-process gud-comint-buffer)
	   (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdbmi)))
    (gdb-restore-windows)
    (error
     "Multiple debugging requires restarting in text command mode"))

  (gud-common-init command-line nil 'gud-gdb-marker-filter)
  (setq-local gud-minor-mode 'gdb)

Would you agree that the interactive form should use gud-lldb, but that
the setq-local is right? The setq-local is gud-gdb uses gdb, not
gud-gdb. Or am I confusing myself here?

(Sorry, it's probably too late in the evening for me, or I have compiled
too many LLVM versions today, or whatever.)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
  2024-04-25 19:25   ` Gerd Möllmann
@ 2024-04-26  6:29     ` Eli Zaretskii
  2024-04-26  6:43       ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-04-26  6:29 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 70573

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: 70573@debbugs.gnu.org
> Date: Thu, 25 Apr 2024 21:25:48 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > It looks like this part:
> >
> >   (interactive (list (gud-query-cmdline 'lldb)))
> >
> > is the culprit: the minor-mode, which is the argument to
> > gud-query-cmdline, should be 'gud-lldb, not 'lldb.  Here's my
> > evidence:
> >
> >   (when (and gud-comint-buffer
> > 	     (buffer-name gud-comint-buffer)
> > 	     (get-buffer-process gud-comint-buffer)
> > 	     (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gud-lldb)))
> >
> > Btw, this line seems also to be confused wrt the name of
> > gud-minor-mode:
> >
> >   (setq-local gud-minor-mode 'lldb)
> 
> I'm currently seriously confused by gud.el, I'm afraid. And I was
> already confused when I tried to mimic gud-gdb here, which does
> 
>   (interactive (list (gud-query-cmdline 'gud-gdb)))
> 
>   (when (and gud-comint-buffer
> 	   (buffer-name gud-comint-buffer)
> 	   (get-buffer-process gud-comint-buffer)
> 	   (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdbmi)))
>     (gdb-restore-windows)
>     (error
>      "Multiple debugging requires restarting in text command mode"))
> 
>   (gud-common-init command-line nil 'gud-gdb-marker-filter)
>   (setq-local gud-minor-mode 'gdb)

I don't think the complications of GDB should concern you.  AFAIU, the
above tries to handle the tricky situation where we have 2 GDB minor
modes: gdbmi and gud-gdb.  There's no such problem with LLDB, AFAIU.

So I think you should copy-cat the other minor modes, like gud-pdb,
which don't have these complications.

> Would you agree that the interactive form should use gud-lldb, but that
> the setq-local is right? The setq-local is gud-gdb uses gdb, not
> gud-gdb. Or am I confusing myself here?

I think both should use gud-lldb, at least that's my understanding.
Look at gud-query-cmdline, gud-val, and gud-symbol, and you will see
that they encode the command name as gud-MINORMODE-SYMBOL, where
SYMBOL is "command-name" in this case.  So if the command name's
symbol is gud-gud-lldb-command-name, then MINORMODE must be gud-lldb,
for this stuff to work.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
  2024-04-26  6:29     ` Eli Zaretskii
@ 2024-04-26  6:43       ` Gerd Möllmann
  2024-04-26 10:30         ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-04-26  6:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70573

Eli Zaretskii <eliz@gnu.org> writes:

>> Would you agree that the interactive form should use gud-lldb, but that
>> the setq-local is right? The setq-local is gud-gdb uses gdb, not
>> gud-gdb. Or am I confusing myself here?
>
> I think both should use gud-lldb, at least that's my understanding.
> Look at gud-query-cmdline, gud-val, and gud-symbol, and you will see
> that they encode the command name as gud-MINORMODE-SYMBOL, where
> SYMBOL is "command-name" in this case.  So if the command name's
> symbol is gud-gud-lldb-command-name, then MINORMODE must be gud-lldb,
> for this stuff to work.

Thanks. I'll try to come up with something later today.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect
  2024-04-26  6:43       ` Gerd Möllmann
@ 2024-04-26 10:30         ` Gerd Möllmann
  0 siblings, 0 replies; 6+ messages in thread
From: Gerd Möllmann @ 2024-04-26 10:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70573

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> Would you agree that the interactive form should use gud-lldb, but that
>>> the setq-local is right? The setq-local is gud-gdb uses gdb, not
>>> gud-gdb. Or am I confusing myself here?
>>
>> I think both should use gud-lldb, at least that's my understanding.
>> Look at gud-query-cmdline, gud-val, and gud-symbol, and you will see
>> that they encode the command name as gud-MINORMODE-SYMBOL, where
>> SYMBOL is "command-name" in this case.  So if the command name's
>> symbol is gud-gud-lldb-command-name, then MINORMODE must be gud-lldb,
>> for this stuff to work.
>
> Thanks. I'll try to come up with something later today.

Pushed a fix to master, and closing. I forgot to add the bug# to the
commit message, though, sorry.

What a wonderful confusion of mine :-/.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-04-26 10:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-25 17:56 bug#70573: 30.0.50; Setting gud-gud-lldb-command-name does not take effect Gerd Möllmann
2024-04-25 19:01 ` Eli Zaretskii
2024-04-25 19:25   ` Gerd Möllmann
2024-04-26  6:29     ` Eli Zaretskii
2024-04-26  6:43       ` Gerd Möllmann
2024-04-26 10:30         ` Gerd Möllmann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).