mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-23 07:18:53 +00:00
org-exp: raise an error when trying to export code blocks w/o languages
* lisp/ob.el (org-babel-get-src-block-info): ensure that we don't match (and return info for) source blocks without a language * lisp/org-exp.el (org-export-replace-src-segments-and-examples): updated source code block regexp so that the presence of a language can be explicitly checked. Also now raising an error when a source block does not have a language.
This commit is contained in:
parent
1e50216854
commit
e8033b7f04
@ -143,7 +143,8 @@ added to the header-arguments-alist."
|
||||
(setq indent (car (last info)))
|
||||
(setq info (butlast info))
|
||||
(forward-line -1)
|
||||
(if (looking-at org-babel-src-name-w-name-regexp)
|
||||
(if (and (looking-at org-babel-src-name-w-name-regexp)
|
||||
(match-string 2))
|
||||
(progn
|
||||
(setq info (append info (list (org-babel-clean-text-properties
|
||||
(match-string 2)))))
|
||||
|
@ -2107,19 +2107,29 @@ in the list) and remove property and value from the list in LISTVAR."
|
||||
lang code trans opts indent caption)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward
|
||||
"\\(^\\([ \t]*\\)#\\+BEGIN_SRC:?[ \t]+\\([^ \t\n]+\\)\\(.*\\)\n\\([^\000]+?\n\\)[ \t]*#\\+END_SRC.*\n?\\)\\|\\(^\\([ \t]*\\)#\\+BEGIN_EXAMPLE:?\\(?:[ \t]+\\(.*\\)\\)?\n\\([^\000]+?\n\\)[ \t]*#\\+END_EXAMPLE.*\n?\\)"
|
||||
"\\(^\\([ \t]*\\)#\\+BEGIN_SRC:?\\([ \t]+\\([^ \t\n]+\\)\\)?\\(.*\\)\n\\([^\000]+?\n\\)[ \t]*#\\+END_SRC.*\n?\\)\\|\\(^\\([ \t]*\\)#\\+BEGIN_EXAMPLE:?\\(?:[ \t]+\\(.*\\)\\)?\n\\([^\000]+?\n\\)[ \t]*#\\+END_EXAMPLE.*\n?\\)"
|
||||
nil t)
|
||||
(if (match-end 1)
|
||||
;; src segments
|
||||
(setq lang (match-string 3)
|
||||
opts (match-string 4)
|
||||
code (match-string 5)
|
||||
indent (length (match-string 2))
|
||||
caption (get-text-property 0 'org-caption (match-string 0)))
|
||||
(if (not (match-string 4))
|
||||
(error "source block missing language specification: %s"
|
||||
(let* ((body (match-string 6))
|
||||
(nothing (message "body:%s" body))
|
||||
(preview (or (and (string-match
|
||||
"^[ \t]*\\([^\n\r]*\\)" body)
|
||||
(match-string 1 body)) body)))
|
||||
(if (> (length preview) 35)
|
||||
(concat (substring preview 0 32) "...")
|
||||
preview)))
|
||||
;; src segments
|
||||
(setq lang (match-string 4)
|
||||
opts (match-string 5)
|
||||
code (match-string 6)
|
||||
indent (length (match-string 2))
|
||||
caption (get-text-property 0 'org-caption (match-string 0))))
|
||||
(setq lang nil
|
||||
opts (match-string 8)
|
||||
code (match-string 9)
|
||||
indent (length (match-string 7))
|
||||
opts (match-string 9)
|
||||
code (match-string 10)
|
||||
indent (length (match-string 8))
|
||||
caption (get-text-property 0 'org-caption (match-string 0))))
|
||||
|
||||
(setq trans (org-export-format-source-code-or-example
|
||||
|
Loading…
Reference in New Issue
Block a user