From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Kroos Subject: Re: [PATCH] org-e-latex--collect-errors Date: Sat, 15 Sep 2012 15:08:09 +0200 Message-ID: <20120915130809.GA7816@desktop> References: <20120915113429.GA6236@desktop> <87fw6jlbca.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="9jxsPFA5p3P2qPhR" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:46290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCs5n-0001ft-3b for emacs-orgmode@gnu.org; Sat, 15 Sep 2012 09:07:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCs5l-0007rg-T6 for emacs-orgmode@gnu.org; Sat, 15 Sep 2012 09:07:27 -0400 Received: from mailout11.t-online.de ([194.25.134.85]:33546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCs5l-0007qL-Jk for emacs-orgmode@gnu.org; Sat, 15 Sep 2012 09:07:25 -0400 Content-Disposition: inline In-Reply-To: <87fw6jlbca.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nicolas Goaziou Cc: orgmode --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Yes, you're completely right. I missed that. Should be better now, I moved the defcustom to the end of the compilation-customs-block. Thank you, Philipp On Sat, Sep 15, 2012 at 02:28:05PM +0200, Nicolas Goaziou wrote: > Hello, > > Philipp Kroos writes: > > > the attached patch tries to solve two issues: > > - Currently, org-e-latex--collect-errors only finds errors in > > pdf.*latex-logs. I removed the `pdf`, cause most of the time I'm using > > xelatex which wouldn't match. I don't know if this is generic enough > > for all engines though. > > - Occasionally, I'm running into errors currently not matched (Like > > 'Runaway argument'). What about the customizable > > org-e-latex-known-errors introduced in the patch that would allow the > > user to adjust the matcher to his needs and the used engine? > > This also makes the code more concise. > > > > What do you think about this? > > (The first customizable I ever wrote, I think it's correct like this, is > > it?) > > I think this patch is good, but would you mind moving your defcustom in > the appropriate section within org-e-latex.el ? Also, there are spurious > blank lines in this patch. Could you remove them too? > > Thank you. > > > Regards, > > -- > Nicolas Goaziou --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="0001-org-e-latex-Introduced-org-e-latex-known-errors.patch" Content-Transfer-Encoding: quoted-printable =46rom 493b2fa1914fff5e5eaf7875f1489e996efb92ca Mon Sep 17 00:00:00 2001 =46rom: Philipp Kroos Date: Sat, 15 Sep 2012 14:58:49 +0200 Subject: [PATCH] org-e-latex: Introduced org-e-latex-known-errors * contrib/lisp/org-e-latex.el: new customizable org-e-latex-known-errors is an alist of possible errors, taken from org-e-latex--collect-errors * contrib/lisp/org-e-latex.el (org-e-latex--collect-errors): More concise code. The previous explicit search for errors is replaced by an iteration over the alist org-e-latex-known-errors. --- contrib/lisp/org-e-latex.el | 36 ++++++++++++++++++++---------------- 1 Datei ge=E4ndert, 20 Zeilen hinzugef=FCgt(+), 16 Zeilen entfernt(-) diff --git a/contrib/lisp/org-e-latex.el b/contrib/lisp/org-e-latex.el index 458579c..66a4d9d 100644 --- a/contrib/lisp/org-e-latex.el +++ b/contrib/lisp/org-e-latex.el @@ -820,6 +820,21 @@ These are the .aux, .log, .out, and .toc files." :group 'org-export-e-latex :type 'boolean) =20 +(defcustom org-e-latex-known-errors + '(("Reference.*?undefined" . "[undefined reference]") + ("Citation.*?undefined" . "[undefined citation]") + ("Undefined control sequence" . "[undefined control sequence]") + ("^! LaTeX.*?Error" . "[LaTeX error]") + ("^! Package.*?Error" . "[package error]") + ("Runaway argument" . "Runaway argument")) + "Alist of regular expressions and associated messages for the user. + The regular expressions are used to find possible errors in + the log of a latex-run." + :group 'org-export-e-latex + :type '(repeat + (cons + (string :tag "Regexp") + (string :tag "Message")))) =20 =0C ;;; Internal Functions @@ -2709,24 +2724,13 @@ none." (save-excursion (goto-char (point-max)) ;; Find final "pdflatex" run. - (when (re-search-backward "^[ \t]*This is pdf.*?TeX.*?Version" nil t) + (when (re-search-backward "^[ \t]*This is .*?TeX.*?Version" nil t) (let ((case-fold-search t) (errors "")) - (when (save-excursion - (re-search-forward "Reference.*?undefined" nil t)) - (setq errors (concat errors " [undefined reference]"))) - (when (save-excursion - (re-search-forward "Citation.*?undefined" nil t)) - (setq errors (concat errors " [undefined citation]"))) - (when (save-excursion - (re-search-forward "Undefined control sequence" nil t)) - (setq errors (concat errors " [undefined control sequence]"))) - (when (save-excursion - (re-search-forward "^! LaTeX.*?Error" nil t)) - (setq errors (concat errors " [LaTeX error]"))) - (when (save-excursion - (re-search-forward "^! Package.*?Error" nil t)) - (setq errors (concat errors " [package error]"))) + (dolist (latex-error org-e-latex-known-errors) + (when (save-excursion + (re-search-forward (car latex-error) nil t)) + (setq errors (concat errors " " (cdr latex-error))))) (and (org-string-nw-p errors) (org-trim errors))))))) =20 =20 --=20 1.7.12 --9jxsPFA5p3P2qPhR--