summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2015-03-31 21:50:43 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2015-03-31 21:52:07 +0200
commitb3e3f901b13f5cd86de279a9400fd8ba2f833195 (patch)
tree4f5322733330023ff2860a77384cdbd6aad102c5
parent33e2e375df2bfafca32b1aa0823d7abd9964f70f (diff)
downloadorg-mode-b3e3f901b13f5cd86de279a9400fd8ba2f833195.tar.gz
ob-ref: Small refactoring
* lisp/ob-ref.el (org-babel-ref-goto-headline-id): (org-babel-ref-headline-body): Small refactoring.
-rw-r--r--lisp/ob-ref.el31
1 files changed, 14 insertions, 17 deletions
diff --git a/lisp/ob-ref.el b/lisp/ob-ref.el
index 6172895..1a771dc 100644
--- a/lisp/ob-ref.el
+++ b/lisp/ob-ref.el
@@ -53,6 +53,8 @@
(eval-when-compile
(require 'cl))
+(declare-function org-end-of-meta-data "org" (&optional full))
+(declare-function org-find-property "org" (property &optional value))
(declare-function org-remove-if-not "org" (predicate seq))
(declare-function org-at-table-p "org" (&optional table-type))
(declare-function org-count "org" (CL-ITEM CL-SEQ))
@@ -98,29 +100,24 @@ the variable."
out))))))
(defun org-babel-ref-goto-headline-id (id)
- (goto-char (point-min))
- (let ((rx (regexp-quote id)))
- (or (re-search-forward
- (concat "^[ \t]*:CUSTOM_ID:[ \t]+" rx "[ \t]*$") nil t)
- (let* ((file (org-id-find-id-file id))
- (m (when file (org-id-find-id-in-file id file 'marker))))
- (when (and file m)
- (message "file:%S" file)
- (org-pop-to-buffer-same-window (marker-buffer m))
- (goto-char m)
- (move-marker m nil)
- (org-show-context)
- t)))))
+ (or (let ((h (org-find-property "CUSTOM_ID" id)))
+ (when h (goto-char h)))
+ (let* ((file (org-id-find-id-file id))
+ (m (when file (org-id-find-id-in-file id file 'marker))))
+ (when (and file m)
+ (message "file:%S" file)
+ (org-pop-to-buffer-same-window (marker-buffer m))
+ (goto-char m)
+ (move-marker m nil)
+ (org-show-context)
+ t))))
(defun org-babel-ref-headline-body ()
(save-restriction
(org-narrow-to-subtree)
(buffer-substring
(save-excursion (goto-char (point-min))
- (forward-line 1)
- (when (looking-at "[ \t]*:PROPERTIES:")
- (re-search-forward ":END:" nil)
- (forward-char))
+ (org-end-of-meta-data)
(point))
(point-max))))