From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e36020a4e7d24836 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!feeder.news-service.com!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Emacs vs GPS vs Eclipse, Ada vs Lisp vs Lua vs Java Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <87zkp4uhjl.fsf@ludovic-brenta.org> <82mxl2yq9j.fsf_-_@stephe-leake.org> <82vczowlcz.fsf@stephe-leake.org> <4wxehmr0odbn.so98kpo0i6do.dlg@40tude.net> <821v2bvyll.fsf@stephe-leake.org> <1b74ukzdrniad$.1t3gtt2kksz62$.dlg@40tude.net> <82vczlvrb4.fsf@stephe-leake.org> Date: Mon, 14 Mar 2011 14:54:24 +0100 Message-ID: <7rrt9ew3gxcd$.1toevffydkhuw$.dlg@40tude.net> NNTP-Posting-Date: 14 Mar 2011 14:54:24 CET NNTP-Posting-Host: eca8ce2b.newsspool1.arcor-online.net X-Trace: DXC=Z9oK]O4_\::LNKYb?b>076ic==]BZ:af>4Fo<]lROoR1<`=YMgDjhg2RUbKm`amj0>[6LHn;2LCV>7enW;^6ZC`4\`mfM[68DC3AVBcTe0Rm?7 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:19137 Date: 2011-03-14T14:54:24+01:00 List-Id: On Mon, 14 Mar 2011 08:07:27 -0400, Stephen Leake wrote: > "Dmitry A. Kazakov" writes: > >>>> You can start GPS in a command mode listening for connections from the >>>> program being debugged and navigate the project sources from there. (It is >>>> a huge help when debugging GtkAda applications.) You can walk the call >>>> stack from an exception handler or at any point you wanted, without messing >>>> up with gdb (which does not work anyway). > > This says you think GPS is a good debugger, while gdb is not. That > doesn't make any sense, since GPS uses gdb as a back-end. No it only says that GPS can be used to navigate the code programmatically. >>>> you may want to have some tracing tool. GPS gives you an opportunity >>>> to browse the sources while tracing. >>> >>> That capability is based on gdb reporting the source line relevant to >>> the current code position. >> >> No. It is based on the debugging information. You need not to have gdb in >> order to use GNAT.Traceback.Symbolic. > > Well, yes. But is that what GPS actually does while debugging? It waits for an input or a command. >>>>> But I have debugged GtkAda programs at that level, and it is not nearly >>>>> as productive (for the task of implementing simple GUIs for programmer >>>>> tools) as the Emacs environment. Mostly because the edit/compile/test >>>>> cycle for a single subprogram is much faster in the Emacs environment. >>>> >>>> I am not sure how it can be faster than in GPS: F4, shift+F2. >>> >>> That's just the first keystrokes. How long does it take after that >>> before the results are known? >> >> As long as GNAT gets it compiled. > > Yes, which is a relatively long time. Does Emacs compile Ada programs by itself, without GNAT? > Because GPS is the program being debugged. The point of this discussion > is developing additional IDE features, in particular a monotone > front-end. OK, I didn't understand that you wanted to extend GPS. I meant using GPS for developing Ada programs. I didn't want to steal the AdaCore's bread... >>>> Debugging GtkAda with gdb cannot work, because GTK does not use >>>> exceptions to indicate errors. >>> >>> You can still set break points in the error handling code. >> >> No, I cannot because it is in glib, gobject or any of other C libraries for >> many of which I don't even have the source code. > > That's not GPS's fault, that's yours. The libraries you mention are > open source; why don't you have the code. Because I know that the error is not there. >> I do visual tracing, i.e. the output is made into a GTK window rather than >> into a file. The most useful part is done from a log handler (see >> Glib.Messages). It also stops the program, before it crashes. > > How can user written output stop the program? Apparently the code does > something more than just output. GTK is single threaded. If you don't return from a signal handler everything is frozen. > I am trying to discuss this assertion: > > Developing user-interactive GUI add-ons for programming IDEs is better > using elisp in Emacs (with Emacs as the target IDE) than using Ada in > GPS (with GPS as the target IDE). > > If you have a point relevant to that, I'd like to hear it. Sorry for misunderstanding. No, I don't consider either GPS or Emacs as good in that respect because neither supports Ada as the language for user plug-ins. GPS uses Python, Emacs does even bigger mess. Although the command mode would allow some kind of dynamic plug-ins running on the context of an alien program, it would not allow to have persistent plug-ins. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de