From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Daniel Pfeiffer Newsgroups: gmane.emacs.help Subject: help: adapting your library to new M-x compile Date: Tue, 23 Dec 2003 15:54:35 +0100 Organization: T-Online Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: <20031223155435.3c9b50cd.occitan@esperanto.org> References: <20031125230305.62ef78ae.occitan@esperanto.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1072191687 30620 80.91.224.253 (23 Dec 2003 15:01:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 23 Dec 2003 15:01:27 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Dec 23 16:01:17 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AYo29-0001mC-00 for ; Tue, 23 Dec 2003 16:01:17 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AYoyb-00079B-OB for geh-help-gnu-emacs@m.gmane.org; Tue, 23 Dec 2003 11:01:41 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.arcor-online.net!newsfeed01.sul.t-online.de!newsmm00.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 114 Original-X-Trace: news.t-online.com 1072191253 02 5904 VKwXGDhlMnWaN1j 031223 14:54:13 Original-X-Complaints-To: usenet-abuse@t-online.de X-ID: b0jtZuZcZec4q+2w-bdnzNamZ-r2fY27a1KAsSn4c62HbICK2RdtZ8 In-Reply-To: X-Newsreader: Sylpheed version 0.9.4claws (GTK+ 1.2.10; i686-suse-linux) Original-Xref: shelby.stanford.edu gnu.emacs.help:119593 X-Originally-To: "emacs-pretest-bug@gnu.org" , Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:15533 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:15533 My new compile v0.19 http://dapfy.bei.t-online.de/compile.el is now nearing completion. RMS has been quite interested in the progress, = so this should soon become the successor. You have written code that uses compile and might be broken or affected by = these changes. Since I don't know what your code does, or don't have the p= rograms it calls, I need your help. - compilation-error-regexp-alist has subtly changed. Most significantly the regexps must now be anchored with ^ if they match the beginning of a line. Else the leading .* can be dropped, making them simpler. It now offers richer possibilities: detecting line/column-ranges and differentiating 3 levels of messages. - compilation-file-regexp-alist is gone and is also handled by compilation-error-regexp-alist - compile-internal (which by name should never have been used) is deprecate= d. It is replaced by compilation-start and, if needed, a derived compilation mode. The new grep-mode is a good example of this. - compilation-error-list is gone. All locating of errors is done with compilation-next-error (which uses text-properties). - There is no longer a parse function you can override. Parsing is now done by font-lock. It already handles the custom cases I have identified. An example of the result can be seen when visiting this in Emacs: http://dapfy.bei.t-online.de/compilation.txt You can adapt your mode yourself. Or send me a compiler-output it is to pa= rse. This should include all possible formats of error, warning and diagno= stic messages and explain what the format is (file name, column numbers, et= c.) Also explain anything odd that is going on, which could not be handled= by the old compile. The things that need taking care of are: - diff-mode.el: A cleanup is included in my compile.el. The question is why this needs com= pilation-minor-mode at all, only to override its commands? Even though the= concepts don't quite fit, it might be interesting to derive diff-mode from= compilation-mode and let that do the parsing. - diff.el: This little library messes around in internal variables extensively. IMHO = it should be merged into diff-mode, as it offers little extra. - progmodes/ada-mode.el: ada-compile-goto-error This apparently deals with multiple file-names to be found in one message. = This is now handled by the default compile. - progmodes/ada-xref.el: Probably mostly works. Special setup may required a derived gnatfind-mode = comparable to grep-mode. - progmodes/grep.el (not really a progmode!) A cleanup is included in my compile.el. - progmodes/vhdl-mode.el: vhdl-compile-init, ... Probably works, except for vhdl-compiler-alist, which should be improved. - textmodes/makeinfo.el Don't know what this is up to... - textmodes/bibtex.el: bibtex-validate Reparsing is no longer necessary, nor even possible. - textmodes/tex-mode.el: Parsing classical TeX output is impossible to get right. Make TeX use -fil= e-line-error-style or -c-style-errors with normal compile. Making this wor= k together with comint for interaction is under study, and will be handled = by my library. - vc.el: vc-buffer-context, vc-restore-buffer-context This apparently reparses all compilation buffers pointing to a file reverte= d by vc? If so, that is no longer necessary: when a buffer gets reverted a= ll markers to it go stale automatically. The code must only be removed. This requires a fairly recent Emacs 21.3.50 (a few months old should be fin= e, except if you use M-x grep). Due to the Savannah problems, you can temp= orarily get it here: cvs -d:ext:anoncvs@subversions.gnu.org:/cvs-latest/emacs ... I will be gone for a week after XMas, but will otherwise gladly help you. coralament / best Gr=F6tens / liebe Gr=FC=DFe / best regards / elkorajn sal= utojn Daniel Pfeiffer --=20 lerne / learn / apprends / l=E4ram=E5 Esperanto: http://lernu.net/