From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: * X-Spam-Status: No, score=1.1 required=3.0 tests=BAYES_00,FROM_SUSPICIOUS_NTLD, FROM_SUSPICIOUS_NTLD_FP,PDS_OTHER_BAD_TLD autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!kMX8HhE4dcISuK3C7WJBHg.user.46.165.242.75.POSTED!not-for-mail From: Fernando Oleo Blanco Newsgroups: comp.lang.ada Subject: Re: Gnu Emacs Ada mode 7.1.6 released. Date: Thu, 5 Aug 2021 10:16:36 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <86tukal9h6.fsf@stephe-leake.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="31296"; posting-host="kMX8HhE4dcISuK3C7WJBHg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:62482 List-Id: I am sorry for the spam Stephen. I am getting used to these systems (first time using USENET). I wanted to respond publicly. --- Thank you for the update Stephen. I can confirm that it works with GNAT community 2021. It is the first time I got it working. However, a couple of comments. I could not use the build.sh script directly. The line WISI_DIR=`ls -d ../wisi*` matches everything named wisi. In my case it is the following: ../wisi-3.1.5 ../wisitoken-grammar-mode-1.2.0 ../wisi-3.1.5.signed ../wisitoken-grammar-mode-1.2.0.signed The *.signed entries are files, which screw with gprclean/build. So I had to run each command manually. That is not a big issue for me, but as you can understand, it can easily be a headache to a lot of people. For that reason I would like to propose a small change. The wisitoken package uses a slightly modified ls command: export GPR_PROJECT_PATH=`ls -d ../wisi-3.1.?` This type of pattern matching would solve the issue of finding too many things. I would change the WISI_DIR entry to WISI_DIR=`ls -d ../wisi-?.?.?` Which ensures that only the directory of the package is matched. As far as I know, the ? pattern matching is POSIX compliant, so it should work in pretty much any $SHELL. The second proposal would be to, instead of asking the user to run the commands directly, that an elisp function is used. For example, the package pdf-tools requires some compilation in order to use it. It comes with the elisp function (pdf-tools-install) which installs the package, and it is pretty obvious to the user. It also comes with (pdf-loader-install) which is recommended to be used in the configuration file. This function checks whether the package has already been compiled/installed properly at boot. If it is, then Emacs just loads it, if not, it gets compiled. I think this is a much more user friendly experience, it would simplify the installation process. In the case of ada-mode, if the compilation fails, some report could be emitted, such as "No Ada compiler found.", "The GNATCOLL dependencies have to be installed previous to the compilation, please refer to XXX." and finally "Compilation failed, please see the compilation window."/"Compilation successful.". A function the style (load-or-install-ada-mode) could be created for this and the user could be requested to run it. Or when ada-mode is called, that function could be executed. That way even if the user is not aware of the compilation step, they are informed. Instead of getting a cryptic wisi error message. Thank you for your work and fixing the issue with the newer versions of the compilers! --- Fernando Oleo Blanco https://irvise.xyz