summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2016-12-13 09:06:48 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2016-12-13 09:06:48 +0100
commitf747ee43bd369f46c39363072f25e9842d783ece (patch)
tree5f977aeed54858fee426d8f7da2ace8724093f67
parentb09d161873fccc2b79e2f309319accf6a668800e (diff)
downloadorg-mode-f747ee43bd369f46c39363072f25e9842d783ece.tar.gz
ox-beamer: Fix last commit
* lisp/ox-beamer.el (org-beamer-link): Fix commit 5c28ea6aad2245944bb4f626fe7b039bfbb2b91b.
-rw-r--r--lisp/ox-beamer.el15
1 files changed, 8 insertions, 7 deletions
diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el
index 9a26dc0..d566516 100644
--- a/lisp/ox-beamer.el
+++ b/lisp/ox-beamer.el
@@ -721,13 +721,14 @@ channel."
CONTENTS is the description part of the link. INFO is a plist
used as a communication channel."
(or (org-export-custom-protocol-maybe link contents 'beamer)
- ;; Fall-back to LaTeX export. However, if link is becomes
- ;; a "\hyperlink" macro, try to sneak in Beamer overlay
- ;; specification, if any.
- (let ((latex-link (org-export-with-backend 'latex link contents info))
- (overlay (org-beamer--element-has-overlay-p link)))
- (if (and overlay (string-match "\\`\\\\hyperlink" latex-link))
- (replace-match (concat "\\&" overlay) nil nil latex-link)
+ ;; Fall-back to LaTeX export. However, prefer "\hyperlink" over
+ ;; "\hyperref" since the former handles overlay specifications.
+ (let ((latex-link (org-export-with-backend 'latex link contents info)))
+ (if (string-match "\\`\\\\hyperref\\[\\(.*?\\)\\]" latex-link)
+ (replace-match
+ (format "\\\\hyperlink%s{\\1}"
+ (or (org-beamer--element-has-overlay-p link) ""))
+ nil nil latex-link)
latex-link))))