emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: [PATCH] Skip source block fontification when the language


From: Dan Davison
Subject: [Orgmode] Re: [PATCH] Skip source block fontification when the language is not defined
Date: Wed, 22 Dec 2010 15:11:37 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (darwin)

Bernt Hansen <address@hidden> writes:

> Dan Davison <address@hidden> writes:
>
>> Bernt Hansen <address@hidden> writes:
>>
>>> * lisp/org.el: Skip source block fontification during export when language
>>> is not defined
>>> ---
>>> This may not be the correct fix for this issue but it works for me.
>>
>> Hi Bernt,
>>
>> I've checked in a slightly different version[1] of this fix. Thanks for
>> the report; it wasn't nice to have been throwing errors every time an
>> unrecognised (e.g. partial) language string was entered, even if most of
>> the time font-lock was subduing these errors.
>>
>> Dan
>>
>> Footnotes:
>> [1] I've made the org-src fontification function test, early on, whether
>> the language major-mode function exists. If it doesn't then it returns
>> immediately.
>
> Thanks Dan,
>
> Your fix works for me :).
>
> I'm confused about _why_ I'm getting these errors though - I was
> expecting fontification only to apply to #+begin_src blocks and I'm only
> using a few languages in that document (sh, org, emacs-lisp, ditaa, and dot).
>
> Unless it's picking up on the begin_src in the following text

Hi Bernt,

I was wondering about the same thing.

How about hacking the org-src-font-lock-fontify-block function so that
it throws an error with a helpful message when the language string is
unrecognised? I just tried this on your document with C-c C-e h and it
didn't throw anything, but maybe in your setup it will? (Check the
*Messages* buffer, it may be that font-lock handles the error). I've
prepended the below with "$ " to stop patchwork from grabbing it.

$ diff --git a/lisp/org-src.el b/lisp/org-src.el
$ index f55e292..0d796b4 100644
$ --- a/lisp/org-src.el
$ +++ b/lisp/org-src.el
$ @@ -781,7 +781,9 @@ fontification of code blocks see `org-src-fontify-block' 
and
$         (add-text-properties
$          start end
$          '(font-lock-fontified t fontified t font-lock-multiline t))
$ -       (set-buffer-modified-p modified)))))
$ +       (set-buffer-modified-p modified))
$ +      (error "Unrecognised language: %s line: %d"
$ +            lang (line-number-at-pos (point))))))

Dan

>
> ,----
> | I use this to create =#+begin_*= blocks like 
> | - =#+begin_example=
> | - =#+begin_ditaa=
> | - =#+begin_dot=
> | - =#+begin_src=
> | - etc.
> `----
>
> I wasn't able to determine the source line of the problem from the stack
> dump information.  Is there any way to determine what part of the
> document is causing this (other than manually bisecting and exporting
> with missing sections) ?
>
> Regards,
> Bernt
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

[Prev in Thread] Current Thread [Next in Thread]