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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,8d33ebaa85598950,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.180.98.234 with SMTP id el10mr154418wib.3.1347671430967; Fri, 14 Sep 2012 18:10:30 -0700 (PDT) Path: q11ni70003955wiw.1!nntp.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!85.12.40.138.MISMATCH!xlned.com!feeder5.xlned.com!feed.xsnews.nl!border-1.ams.xsnews.nl!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news.panservice.it!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!news.flashnewsgroups.com-b7.4zTQh5tI3A!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: GPS issues: laundry list Date: Wed, 12 Sep 2012 07:53:21 -0400 Message-ID: <854nn34fv2.fsf@stephe-leake.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (windows-nt) Cancel-Lock: sha1:mXg7K32Xj6cqzlEy+VxKyJxShHQ= MIME-Version: 1.0 X-Complaints-To: abuse@flashnewsgroups.com Organization: FlashNewsgroups.com X-Trace: da1dc505077b2e029e66121997 X-Received-Bytes: 4109 Content-Type: text/plain Date: 2012-09-12T07:53:21-04:00 List-Id: I've only been using GPS a couple of days, but I've got a list of things that need to be better for me to continue using it: - The help system is not searchable. I can search within individual pages in the web browser, but not within whole documents. - I can't find a list of current key bindings, neither for a single key, nor for all keys. There may be a way to do it, but I couldn't find that in the help system (did I mention that's not searchable?) - I can't change the environment PATH from within GPS. I do this often, to change compilers (GNAT 6.3 for frozen projects, 7.0.1 for new, Cygwin g++ for monotone, etc). - I can't change the environment ADA_PROJECT_PATH from within GPS. I change that more often than the compiler; typically each project requires a different path (mms_version_07, _06; gpm vs mms, lynx 4 vs lynx 5, etc). For compiling, I can set it in a Makefile, but GPS itself needs it when parsing project files. In Emacs Ada mode, setting the 'current project' also sets ADA_PROJECT_PATH. - I can work around the above two by writing shell scripts to set the environment, then launch GPS. But then I often end up with two GPS running, and I get confused which is which, and they fight each other over saving global settings on exit. And exiting my primary interface with the computer is annoying; I lose all the ancilliary buffers I had open (like the list of things to do today). - no monotone support in GPS. I had to add that to Emacs as well, so that's expected. But it will probably be much harder to get the same level of support in GPS, since there was already support for generic distributed version control systems in Emacs, and in general writing GUI tools is much easier in an interactive environment (although I'm not clear on the trade-off between Python and Ada in GPS). - tab completion and regexp name match on switch buffers. I often have dozens of buffers open; tab navigation just does not work in that scenario. There are some nice things about GPS; the context menus (right click on an identifier) in particular are much better than in Emacs. And the indentation engine supports Ada 2012. But that is much less significant than the above (for me, anyway). There's no technical reason all of the above could not be implemented in GPS; that would go a long way toward making it competitive with Emacs. I think the hardest one to fix is the help system. Help in Emacs is tightly integrated with Emacs lisp; every lisp function has a doc string, and the help system can display it, along with a link to the actual source. Similar for key bindings. You can't do that when you are displaying help in a separate web browser. But such functionality is critical when working on writing new features for the system (or fixing bugs in the existing code). Which I do all the time :). But at least it needs a search engine on the GPS documents. I don't actually know how to that, but such things are clearly possible. GPS is in Debian, and we could contribute patches to that. But unless there is a functioning process of merging those patches back into the main stream, it will be hard to maintain those patches as new versions of GPS are released. I understand AdaCore's desire (and commercial need) to maintain control, in particular to maintain high quality. But perhaps there is some way to allow more user contribution. -- -- Stephe