From f747ee43bd369f46c39363072f25e9842d783ece Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 13 Dec 2016 09:06:48 +0100 Subject: [PATCH] ox-beamer: Fix last commit * lisp/ox-beamer.el (org-beamer-link): Fix commit 5c28ea6aad2245944bb4f626fe7b039bfbb2b91b. --- lisp/ox-beamer.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 9a26dc09a..d566516d8 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))))