emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <dandavison7@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Skip source block fontification when the language is not defined
Date: Wed, 22 Dec 2010 15:11:37 +0000	[thread overview]
Message-ID: <m1bp4drgeu.fsf@94.197.185.4.threembb.co.uk> (raw)
In-Reply-To: 87r5d9ykob.fsf@norang.ca

Bernt Hansen <bernt@norang.ca> writes:

> Dan Davison <dandavison7@gmail.com> writes:
>
>> Bernt Hansen <bernt@norang.ca> 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.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  reply	other threads:[~2010-12-22 15:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-22  3:56 Bug: Publishing with org-src-fontify-natively fails with Lisp error: (void-function -mode) [7.4 (release_7.4.79.g9c4b9)] Bernt Hansen
2010-12-22  4:06 ` [PATCH] Skip source block fontification when the language is not defined Bernt Hansen
2010-12-22 12:08   ` Dan Davison
2010-12-22 13:57     ` Bernt Hansen
2010-12-22 15:11       ` Dan Davison [this message]
2010-12-22 17:34         ` Bernt Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m1bp4drgeu.fsf@94.197.185.4.threembb.co.uk \
    --to=dandavison7@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).