unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#13569: 24.3.50; gdb-control-commands-regexp has a typo
@ 2013-01-27 21:21 emacs18
  2013-01-27 22:16 ` Andreas Schwab
  2013-01-27 22:22 ` Richard Kim
  0 siblings, 2 replies; 3+ messages in thread
From: emacs18 @ 2013-01-27 21:21 UTC (permalink / raw)
  To: 13569

I use latest bzr trunk and emacs-24 branches on linux.

I believe the following patch should be applied to remove "s" from
"commands" portion of a regexp:

	=== modified file 'lisp/progmodes/gdb-mi.el'
	--- lisp/progmodes/gdb-mi.el	2013-01-11 23:08:55 +0000
	+++ lisp/progmodes/gdb-mi.el	2013-01-27 21:16:01 +0000
	@@ -1680,7 +1680,7 @@
	 (defvar gdb-control-commands-regexp
	   (concat
	    "^\\("
	-   "commands\\|if\\|while\\|define\\|document\\|python\\|"
	+   "command\\|if\\|while\\|define\\|document\\|python\\|"
	    "while-stepping\\|stepping\\|ws\\|actions"
	    "\\)\\([[:blank:]]+.*\\)?$")
	   "Regexp matching GDB commands that enter a recursive reading loop.

Why?  Because without this change, gdb fails to handle the command
"command" incorrectly.  gdb's "command" allows one to associate a gdb
command sequence with a breakpoint.  Following is how it should work
to add "print foo" command for breakpoint number 2 while debugging a C
program:

    (gdb) command 2
    print foo
    end
    (gdb)

where as soon as "end" is typed, "command" should be terminated and
"(gdb) " prompt printed.  Instead of this what happens is that "(gdb)
" prompt is never printed and it acts as if "end" is not treated as
the terminating special command, i.e., this is what I see:

    (gdb) command 2
    print foo
    end

At this point gdb seems hung.  The only way to get back the gdb prompt
is to hit Control-C twice.

This bug has been around for several weeks at least on both emacs-24
and trunk bzr branchs of emacs.





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

* bug#13569: 24.3.50; gdb-control-commands-regexp has a typo
  2013-01-27 21:21 bug#13569: 24.3.50; gdb-control-commands-regexp has a typo emacs18
@ 2013-01-27 22:16 ` Andreas Schwab
  2013-01-27 22:22 ` Richard Kim
  1 sibling, 0 replies; 3+ messages in thread
From: Andreas Schwab @ 2013-01-27 22:16 UTC (permalink / raw)
  To: emacs18; +Cc: 13569

emacs18@gmail.com, Richard Kim <emacs18@gmail.com> writes:

> Why?  Because without this change, gdb fails to handle the command
> "command" incorrectly.

The command is spelled "commands", but can be abbreviated to anything
between "comm" and "commands".

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#13569: 24.3.50; gdb-control-commands-regexp has a typo
  2013-01-27 21:21 bug#13569: 24.3.50; gdb-control-commands-regexp has a typo emacs18
  2013-01-27 22:16 ` Andreas Schwab
@ 2013-01-27 22:22 ` Richard Kim
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Kim @ 2013-01-27 22:22 UTC (permalink / raw)
  To: 13569

My suggested change may not be adequate.

The full name of the gdb command in question is "commands".
However gdb allows  any one of these partial spelling of the name:
"comm", "comma", "comman", and "command".

emacs-23 has no problem dealing with any of these partial names.

emacs-24, however, only accepts the full name "commands".
If emacs-24 were to allow all legal shorthands, then "commands" in the regexp
should be replaced with  something like "comm\\(a\\(n\\(ds?\\)?\\)?\\)?".
I hope there is a simpler way to express this.





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

end of thread, other threads:[~2013-01-27 22:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-27 21:21 bug#13569: 24.3.50; gdb-control-commands-regexp has a typo emacs18
2013-01-27 22:16 ` Andreas Schwab
2013-01-27 22:22 ` Richard Kim

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).