Herbert Euler wrote: >> > I tried M-x gdb to run emacs under gdb. The command line was >> > >> > gdb -i=mi ~/src/emacs/src/emacs >> > >> > and I got the error '(json-object-format ":" 44). Here is the backtrace: >> >> I could reproduce your problem and I wrote a workaround which fixes the >> bug for me. Could you please try the attached patch for gdb-mi.el? > > That patch works for me, too. Thanks. It's in the trunk now. > 2. The command "shell" is broken: In M-x gdb, > > shell ps aux | grep emacs > > results in no output; but in a "real" gdb, the output looks like this: > > shell ps aux | grep emacs > &"shell ps aux | grep emacs\n" > xgp 4886 1.3 0.1 80796 25900 pts/1 T 09:38 0:08 emacs > xgp 4936 0.3 0.1 77688 22568 pts/10 T+ 09:39 0:02 ./emacs > xgp 5209 0.0 0.1 28128 16548 pts/6 Ss+ 09:46 0:00 /usr/local/bin/gdb -i=mi emacs > xgp 5353 0.4 0.1 28184 16584 pts/1 S+ 09:49 0:00 gdb -i=mi emacs > xgp 5354 0.0 0.0 52800 976 pts/1 S+ 09:49 0:00 bash -c ps aux | grep emacs > xgp 5356 0.0 0.0 51124 688 pts/1 S+ 09:49 0:00 grep emacs > ^done Output of GDB's shell command goes as is straight to the terminal without being prefixed by stream identifier (~, @, & etc.) Thus it's harder to distinguish where this output should go (to GUD buffer, to MI parser etc.) I managed to produce a small patch which does the trick for simple shell commands like yours, but don't expect it to work with `top(1)` for example. I've attached the patch. Let me know if you notice that it breaks something.