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: 103376,5d67271dbe637515 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 15 Aug 2008 12:57:23 +0200 From: Georg Bauhaus User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada Mode and GNAT Project files References: <48a544a8$0$12944$9b4e6d93@newsspool2.arcor-online.net> <7531755f-d2a5-4907-b732-94149a179ed5@w39g2000prb.googlegroups.com> In-Reply-To: <7531755f-d2a5-4907-b732-94149a179ed5@w39g2000prb.googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <48a56114$0$12943$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 15 Aug 2008 12:57:24 CEST NNTP-Posting-Host: 47d62dcf.newsspool2.arcor-online.net X-Trace: DXC=X]1JA5I[OD;=FQB?mjjV50A9EHlD;3Yc24Fo<]lROoR14nDHegD_]R5?B:D3c9Ee[8;9OJDO8_SK6NSZ1n^B98i::DZ5^2KNh21 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:1627 Date: 2008-08-15T12:57:24+02:00 List-Id: deadlyhead schrieb: > Well, at the moment, Ada Mode for Emacs is GNAT specific. A major part of Ada mode is consistent with Emacs in that it is not at all GNAT specific but addresses just Ada. The 5_000 lines of Lisp code in ada-mode.el are Ada specific, not GNAT specific. So the statement that Ada Mode for Emacs is GNAT specific is overly general. OTOH, replacing GNAT specific parts with other GNAT specific parts does not do any harm---except if this kind of approach affects the entire structure and approach of Ada Mode for Emacs. A form of abstraction inversion. > This makes > perfect sense, though, as both GNAT and Emacs are part of the GNU > project. I'd contend that Free Software may be, and is written to support systems that (unfortunately) are not currently targetted by the GNU system. Also, and in particular, Emacs has tended to provide for "the system compiler", which may or may not be GNAT. A related example, it has been fairly easy to hook a scanner for error messages printed by the free Aonix compiler and relatives. If you have FSF GNAT and the compiler does not currently support Ada feature X, you can try a different compiler. If you are stuck with GNAT (or maybe just the other way around) *because* Ada Mode for Emacs has made supporting other compilers difficult, well... What if you want to work productively using beloved Emacs on a platform that FSF GNAT does not support? > There's nothing stopping proprietary compiler developers > from contributing their own generalizing patches to Ada Mode if they > like, but it's unreasonable, I think, to have a free software project > try to accommodate proprietary vendors' products without access to > their documentation in a free and open manner. On the same narrow basis, one might argue that we should not develop for most of PC computer hardware. Or write control software for flying machine parts, using portable Ada yet a compiler that happens to produce code for a non-GNU target, still using Emacs. Because Emacs is a free software project and jet engines are not free, we should not be using Emacs when writing such Ada software? A ban on everything else also narrows sources of inspiration, and comparison. > With that out of the way, a different approach would be to add a Lisp > variable to Ada Mode which indicates whether a GNAT *.gpr (or some > other vendors project file) is to be used, and having Ada Mode simply > use that rather than the current (or recently current) .adp files. It > would take care of the general navigation information you're looking > for, but still provide the added power of whatever project facilities > are provided by the compilation system. IMHO this view reflects a Microsoft style approach to software: We do our own non-standard thing; we are guided by this non-standard thing. If others write free contributions matching our special APIs, fine. If not, that's the problem of the Emacs user who needs to use Emacs with a non-GNAT Ada compiler. Does this put the long time Emacs user, and maybe contributor, in the center?