babel: no longer overwriting non-babel src blocks org-exp-blocks: adding progress-marker local variable

the progress-marker local variable set inside of a let in
  org-exp-blocks is used to constrain searches in org-babel-exp to
  ensure that a babel block doesn't overwrite non-babel src blocks
This commit is contained in:
Eric Schulte 2010-01-18 13:03:36 -07:00
parent 53868111d0
commit d154f27947
2 changed files with 12 additions and 3 deletions

View File

@ -56,6 +56,8 @@ will be indented by this many characters. See
`org-babel-function-def-export-name' for the definition of a `org-babel-function-def-export-name' for the definition of a
source block function.") source block function.")
(defvar obe-marker nil)
(defun org-babel-exp-src-blocks (body &rest headers) (defun org-babel-exp-src-blocks (body &rest headers)
"Process src block for export. Depending on the 'export' "Process src block for export. Depending on the 'export'
headers argument in replace the source code block with... headers argument in replace the source code block with...
@ -71,9 +73,16 @@ results - just like none only the block is run on export ensuring
none ----- do not display either code or results upon export" none ----- do not display either code or results upon export"
(interactive) (interactive)
(message "org-babel-exp processing...") (message "org-babel-exp processing...")
(or (and (re-search-backward org-babel-src-block-regexp nil t) (or (and (re-search-backward org-babel-src-block-regexp progress-marker t)
(setq progress-marker (match-end 0))
(org-babel-exp-do-export (org-babel-get-src-block-info) 'block)) (org-babel-exp-do-export (org-babel-get-src-block-info) 'block))
(and (re-search-backward org-block-regexp nil t) (save-excursion
(forward-line 0)
(and (org-babel-where-is-src-block-head)
(goto-char (org-babel-where-is-src-block-head))
(org-babel-exp-do-export (org-babel-get-src-block-info) 'block)))
(and (re-search-backward org-block-regexp progress-marker t)
(setq progress-marker (match-end 0))
(match-string 0)) (match-string 0))
(error "Unmatched block [bug in `org-babel-exp-src-blocks']."))) (error "Unmatched block [bug in `org-babel-exp-src-blocks'].")))

View File

@ -166,7 +166,7 @@ specified in BLOCKS which default to the value of
(save-window-excursion (save-window-excursion
(let ((case-fold-search t) (let ((case-fold-search t)
(types '()) (types '())
indentation type func start body headers preserve-indent) indentation type func start body headers preserve-indent progress-marker)
(flet ((interblock (start end) (flet ((interblock (start end)
(mapcar (lambda (pair) (funcall (second pair) start end)) (mapcar (lambda (pair) (funcall (second pair) start end))
org-export-interblocks))) org-export-interblocks)))