This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA (?) Annotate Level 3 patch


(Working through the old ones :-()
Nick,

Can you post a log with/with-out this patch to illustrate what's happening. You're right - emacs should see "stopped" first but there might be a better long-term way to do this.

I suspect this will mean playing with the print-stop-reason code.

Andrew
--- Begin Message ---
The annotation frame-begin is not needed, per se, by Emacs (gdb-ui.el) but it
is used to determine that the I/O for the subprocess is now GDB, not the
program being debugged i.e as a stopped annotation. In many cases there is
another annotation e.g breakpoint to tell Emacs this. However, in some cases,
e.g after `finish' or `return', frame-begin is the first `stopping' annotation
that GDB issues before printing (out frame details).

So I propose the patch below. It means that the stopped annotation gets printed
twice but that doesn't matter to Emacs. It's not elegant but, hey, it works!

I think Emacs is the only application that is interested in level 3
annotations so could "-gnuemacs" be made an alias option for "-annotate=3"?
>From GDB's point of view this would discourage new applications form using
it. From Emacs point of view, it would legitimise changes that we would wish
to make.

Nick



--- annotate.c.~1.5.60.1.~	2003-07-29 14:35:47.000000000 +0100
+++ annotate.c	2003-08-04 19:44:02.000000000 +0100
@@ -436,6 +436,7 @@
       print_address_numeric (pc, 0, gdb_stdout);
       printf_filtered ("\n");
     }
+  if (annotation_level == 3) printf_filtered ("\n\032\032stopped\n");
 }
 
 void


--- End Message ---

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]