emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: [release_8.3beta-1062-gce4e64] Error when exporting to ODT
Date: Thu, 23 Apr 2015 12:44:46 +0200	[thread overview]
Message-ID: <87egnb3yzl.fsf@gmx.us> (raw)
In-Reply-To: CAMfbzvDK4DVR1ct-TF17xwcSi2Fj3rA3ohjv9Uy9Pk0=8ADqUA@mail.gmail.com

[-- Attachment #1: Type: text/plain, Size: 1148 bytes --]

Hi Vicente,

Thanks for catching another bug.

Vicente Vera <vicentemvp@gmail.com> writes:

> Just tried to export an Org file to ODT but this error appeared (taken
> from the Messages buffer):
>
> ...
> LaTeX to MathML converter not available.
> Formatting LaTeX using verbatim
> OpenDocument export failed: Assertion failed: (funcall predicate element info)
>
> Tried with a MWE and with a minimal init.el (because of
> org-export-backends and the "odt" symbol) but the error persists.

Yeah, my guess is that the error is in org-odt-format-label.  It used to
be that an inline formula would not have a label.  But now it does.  So
label is non-nil.  The attached patch seems to fix it, but
org-odt-format-label is pretty fragile in its assumptions...

I also pushed a fix to org.el that may be related if you e.g. use
latexmlmath.

For the record, it can be reproduced with the following example from 
emacs -q.

—Rasmus

* set up							   :noexport:
#+BEGIN_SRC emacs-lisp
  (require 'ox-odt)
  (setq org-latex-to-mathml-convert-command
          "latexmlmath \"%i\" --presentationmathml=%o")
#+END_SRC
* test
  see \(x\)

-- 
Don't panic!!!

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-ox-odt-Fix-bug-links-without-labels.patch --]
[-- Type: text/x-diff, Size: 1485 bytes --]

From aad7dd24864f3ce988a67061a391d85e649aa375 Mon Sep 17 00:00:00 2001
From: Rasmus <rasmus@gmx.us>
Date: Thu, 23 Apr 2015 12:35:43 +0200
Subject: [PATCH 1/2] ox-odt: Fix bug links without labels.

* ox-odt.el (org-odt-format-label): Determine label more carefully.

Reported-by: Vicente Vera <vicentemvp@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97090>
---
 lisp/ox-odt.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el
index a8544a4..faf0b1c 100644
--- a/lisp/ox-odt.el
+++ b/lisp/ox-odt.el
@@ -2152,13 +2152,15 @@ Return value is a string if OP is set to `reference' or a cons
 cell like CAPTION . SHORT-CAPTION) where CAPTION and
 SHORT-CAPTION are strings."
   (assert (memq (org-element-type element) '(link table src-block paragraph)))
-  (let* ((caption-from
+  (let* ((element-or-parent
 	  (case (org-element-type element)
 	    (link (org-export-get-parent-element element))
 	    (t element)))
 	 ;; Get label and caption.
-	 (label (org-export-get-reference element info))
-	 (caption (let ((c (org-export-get-caption caption-from)))
+	 (label (and (or (org-element-property :name element)
+			 (org-element-property :name element-or-parent))
+		     (org-export-get-reference element-or-parent info)))
+	 (caption (let ((c (org-export-get-caption element-or-parent)))
 		    (and c (org-export-data c info))))
 	 ;; FIXME: We don't use short-caption for now
 	 (short-caption nil))
-- 
2.3.6


  reply	other threads:[~2015-04-23 10:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-23  1:49 [release_8.3beta-1062-gce4e64] Error when exporting to ODT Vicente Vera
2015-04-23 10:44 ` Rasmus [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-04-23 15:29 Vicente Vera
2015-04-24  7:47 ` Rasmus

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=87egnb3yzl.fsf@gmx.us \
    --to=rasmus@gmx.us \
    --cc=emacs-orgmode@gnu.org \
    /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).