Просмотр исходного кода

New variable org-babel-named-src-block-regexp to match src block with
srcname, and function org-babel-named-src-block-regexp-for-name
returning regexp matching a block with a particular
name. org-babel-named-src-block-regexp is set by
org-babel-set-interpreters.

Dan Davison 16 лет назад
Родитель
Сommit
317a062a9a
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      lisp/org-babel.el

+ 11 - 0
lisp/org-babel.el

@@ -49,9 +49,17 @@ then run `org-babel-execute-src-block'."
 (defvar org-babel-src-block-regexp nil
   "Regexp used to test when inside of a org-babel src-block")
 
+(defvar org-babel-named-src-block-regexp nil
+  "Regexp used to match an org-babel src-block with srcname")
+
 (defvar org-babel-inline-src-block-regexp nil
   "Regexp used to test when on an inline org-babel src-block")
 
+(defun org-babel-named-src-block-regexp-for-name (name)
+  "Regexp used to match named src block."
+  (concat "#\\+srcname:[ \t]*" (regexp-quote name) "[ \t\n]*"
+	  org-babel-src-block-regexp))
+
 (defun org-babel-set-interpreters (var value)
   (set-default var value)
   (setq org-babel-src-block-regexp
@@ -60,6 +68,9 @@ then run `org-babel-execute-src-block'."
 		"\\)[ \t]*"
                 "\\([ \t]+\\([^\n]+\\)\\)?\n" ;; match header arguments
                 "\\([^\000]+?\\)#\\+end_src"))
+  (setq org-babel-named-src-block-regexp
+	(concat "#\\+srcname:[ \t]*\\([^ \t\n]+\\)[ \t\n]*"
+		org-babel-src-block-regexp))
   (setq org-babel-inline-src-block-regexp
 	(concat "src_\\("
 		(mapconcat 'regexp-quote value "\\|")