From: Philipp Kroos <Philipp.Kroos@t-online.de>
To: Nicolas Goaziou <n.goaziou@gmail.com>
Cc: orgmode <emacs-orgmode@gnu.org>
Subject: Re: [PATCH] org-e-latex--collect-errors
Date: Sat, 15 Sep 2012 15:08:09 +0200 [thread overview]
Message-ID: <20120915130809.GA7816@desktop> (raw)
In-Reply-To: <87fw6jlbca.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]
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 <Philipp.Kroos@t-online.de> 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
[-- Attachment #2: 0001-org-e-latex-Introduced-org-e-latex-known-errors.patch --]
[-- Type: text/plain, Size: 3045 bytes --]
From 493b2fa1914fff5e5eaf7875f1489e996efb92ca Mon Sep 17 00:00:00 2001
From: Philipp Kroos <philipp.kroos@t-online.de>
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ändert, 20 Zeilen hinzugefügt(+), 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)
+(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"))))
\f
;;; 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)))))))
--
1.7.12
next prev parent reply other threads:[~2012-09-15 13:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-15 11:34 [PATCH] org-e-latex--collect-errors Philipp Kroos
2012-09-15 12:28 ` Nicolas Goaziou
2012-09-15 13:08 ` Philipp Kroos [this message]
2012-09-15 13:23 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120915130809.GA7816@desktop \
--to=philipp.kroos@t-online.de \
--cc=emacs-orgmode@gnu.org \
--cc=n.goaziou@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).