forked from mirrors/org-mode
babel: greatly simplified block exportation
This commit is contained in:
parent
7c686465b5
commit
db1fe2a619
|
@ -73,20 +73,10 @@ results - just like none only the block is run on export ensuring
|
|||
none ----- do not display either code or results upon export"
|
||||
(interactive)
|
||||
(message "org-babel-exp processing...")
|
||||
(flet ((cond-progress-marker () (when (and progress-marker (< progress-marker (point)))
|
||||
progress-marker)))
|
||||
(or (and (re-search-backward org-babel-src-block-regexp (cond-progress-marker) t)
|
||||
(setq progress-marker (match-end 0))
|
||||
(org-babel-exp-do-export (org-babel-get-src-block-info) 'block))
|
||||
(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 (cond-progress-marker) t)
|
||||
(setq progress-marker (match-end 0))
|
||||
(match-string 0))
|
||||
(error "Unmatched block [bug in `org-babel-exp-src-blocks']."))))
|
||||
(when (member (first headers) org-babel-interpreters)
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(org-babel-exp-do-export (org-babel-get-src-block-info) 'block))))
|
||||
|
||||
(defun org-babel-exp-inline-src-blocks (start end)
|
||||
"Process inline src blocks between START and END for export.
|
||||
|
|
|
@ -183,13 +183,15 @@ specified in BLOCKS which default to the value of
|
|||
(setq body (save-match-data (org-remove-indentation body))))
|
||||
(unless (memq type types) (setq types (cons type types)))
|
||||
(save-match-data (interblock start (match-beginning 0)))
|
||||
(if (setq func (cadr (assoc type org-export-blocks)))
|
||||
(progn
|
||||
(replace-match (save-match-data
|
||||
(when (setq func (cadr (assoc type org-export-blocks)))
|
||||
(let ((replacement (save-match-data
|
||||
(if (memq type org-export-blocks-witheld) ""
|
||||
(apply func body headers))) t t)
|
||||
(apply func body headers)))))
|
||||
(when replacement
|
||||
(replace-match replacement t t)
|
||||
(unless preserve-indent
|
||||
(indent-code-rigidly (match-beginning 0) (match-end 0) indentation))))
|
||||
(indent-code-rigidly
|
||||
(match-beginning 0) (match-end 0) indentation)))))
|
||||
(setq start (match-end 0)))
|
||||
(interblock start (point-max))))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue