"Thomas S. Dye" <t...@tsdye.com> writes: > On Jul 8, 2010, at 9:09 AM, Eric Schulte wrote: > >> Sebastian Rose <sebastian_r...@gmx.de> writes: >> >> [...] >>> >>> It can be considered an error, since the docs say: >>> >>> "...This is done with the ‘src’ block, where you also need to >>> specify the name of the major mode that should be used to fontify >>> the example..." >>> >> >> I would vote that this be considered an error as a source block >> doesn't make sense w/o a source language. If others agree with this >> interpretation, I would be happy to submit a patch which actively >> raises an errors when this cases is encountered. >> >> Cheers -- Eric > > This seems like the right approach to me. > > Tom
As promised here's a patch which raises errors when source blocks don't have a specified language. I would prefer if the error could indicate which block caused the problem, but I don't know how to accomplish this. Best -- Eric
diff --git a/lisp/org-exp.el b/lisp/org-exp.el index 80f6e11..a680339 100644 --- a/lisp/org-exp.el +++ b/lisp/org-exp.el @@ -2107,19 +2107,21 @@ 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") + ;; 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
_______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode