summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Maus <dmaus@ictsoc.de>2011-12-11 10:53:14 +0100
committerDavid Maus <dmaus@ictsoc.de>2011-12-11 10:53:14 +0100
commitbc607a9af46095035b1c0271b73d61ba4d6608d6 (patch)
treefde40348571f83f27c89f511bd990e7d7d96a735
parentebd450a170d9eb8a921fcfa38a685eca7eec4017 (diff)
downloadorg-mode-bc607a9af46095035b1c0271b73d61ba4d6608d6.tar.gz
Avoid erroneous normalization of bracket link parts
* org-exp.el (org-export-normalize-links): Mark bracket links before normalization to avoid erroneous normalization of bracket link parts. This fixes a bug reported by M. Bauer at <http://thread.gmane.org/gmane.emacs.orgmode/49756> and allows proper normalization of bracket links with a link in the query part, e.g. [[http://example.tld?q=http://example.tld][Example]]
-rw-r--r--lisp/org-exp.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index b7d447d..eae5be7 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -2083,10 +2083,11 @@ Also, store forced alignment information found in such lines."
(re-angle-link (concat "\\([^[]\\)" org-angle-link-re))
nodesc)
(goto-char (point-min))
+ (while (re-search-forward org-bracket-link-regexp nil t)
+ (put-text-property (match-beginning 0) (match-end 0) 'org-normalized-link t))
+ (goto-char (point-min))
(while (re-search-forward re-plain-link nil t)
- (unless (org-string-match-p
- "\\[\\[\\S-+:\\S-*?\\<"
- (buffer-substring (point-at-bol) (match-beginning 0)))
+ (unless (get-text-property (match-beginning 0) 'org-normalized-link)
(goto-char (1- (match-end 0)))
(org-if-unprotected-at (1+ (match-beginning 0))
(let* ((s (concat (match-string 1)