emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Org now fontifies code blocks


From: Dan Davison
Subject: [Orgmode] Re: Org now fontifies code blocks
Date: Thu, 28 Oct 2010 12:10:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

"Thomas S. Dye" <address@hidden> writes:

> On Sep 9, 2010, at 12:35 PM, Dan Davison wrote:
>
>> "Thomas S. Dye" <address@hidden> writes:
>>
>>> Hi Dan,
>>>
>>> Glad to know that Darlan's slowdown is fixed.
>>>
>>> No change here that I can tell.  Now that I've had org-src-fontify-
>>> natively set to t for a while, I can see that the slowdown is
>>> proportional to the number and size of code blocks in the Org-mode
>>> file.  It is most noticeable in a file with about 30 printed pages of
>>> a manuscript held in several dozen LaTeX code blocks, quite a bit
>>> less
>>> so in a file where the several dozen code blocks are short R
>>> routines.

Hi Tom,

I've used fontification in Org code blocks constantly for a couple of
months now, and I do not agree that there are any editing or unfolding
delays which should deter typical Org users from using fontified src
blocks. In typical usage I do not experience any delays whatsoever (my
blocks tend to be fewer than 100 lines in length).

I have tested a file with 22000 lines containing two subtrees of 59
latex blocks each of length 190 lines. Opening the file takes perhaps 4
seconds as opposed to 1. And unfolding one of the 11,000 line subtrees
for the first time sometimes takes 1-2 seconds. However, once the file
is open and being used, folding and unfolding of blocks is
snappy. Editing and fontification is immediate in the 190 line
blocks. When editing in a 2088 line block, there is an almost 1 second
delay for a fontified character to appear, which is no good at all --
but I think users of blocks of that size should be happy using C-c '. I
do not get any fontification messages in the minibuffer. This is on a
slow machine (an Intel atom netbook), with emacs23 and emacs24 running
under linux.

So even in my 22000 line file containing 190 line blocks, the delays are
short and only occur when first opening and unfolding the file. However,
users of very large src blocks should definitely use C-c ' for editing.

>>> FWIW, I see the org-src-fontification message while unfolding,

[...]

> Could you post that message please (go to *Messages* buffer after
>> unfolding and it should be there). I haven't put any messages in,
>> but I
>> think I know the message you mean and I think it is an Emacs message.

[...]

> Yes, here is a portion of the message buffer:
>
> Searching for `makaainana.org'....
> Automatic display of crossref information was turned on
> Fontifying
> org-src-fontification:latex-mode... (regexps.............................)
> Automatic display of crossref information was turned on

[...]

> I believe the message comes from line 744 of org-src.el

No, the message comes from core Emacs fontification code. I'm unsure why
you are seeing these messages and I am not.

Do you still see the behaviour/problems you reported above?

Dan

>
> All the best,
> Tom
>>> even
>>> when the unfolded result doesn't show a code block.  Later when a
>>> sub-
>>> tree is unfolded, the org-src-fontification message appears again,
>>> which makes me wonder if there is unnecessary work going on.
>>>
>>> All the best,
>>> Tom
>>>
>>> On Sep 9, 2010, at 3:02 AM, Darlan Cavalcante Moreira wrote:
>>>
>>>>
>>>> Thank you Dan,
>>>>
>>>> It is perfect now. No perceivable slowdown
>>>>
>>>> At Wed, 08 Sep 2010 13:41:51 -0400,
>>>> Dan Davison wrote:
>>>>>
>>>>> Darlan Cavalcante Moreira <address@hidden> writes:
>>>>>
>>>>>> Maybe my problem is not related to slow folding/unfolding behavior
>>>>>> that you
>>>>>> are getting, but if I set the org-src-tab-acts-natively variable
>>>>>> to t the
>>>>>> folding/unfolding of headlines becomes very slow for me.
>>>>>
>>>>> Thank you Darlan,
>>>>>
>>>>> I have just pushed a change that should make that better -- does
>>>>> that
>>>>> improve things?
>>>>>
>>>>> I did think there was something else going on (that was why I asked
>>>>> Tom
>>>>> for confirmation), but I didn't have time to investigate
>>>>> properly. The
>>>>> problem seems to be that, on a folded headline containing many
>>>>> blocks,
>>>>> `org-edit-src-find-region-and-lang' is actually quite slow to
>>>>> come up
>>>>> with the answer "No, there's nothing for me to edit here."  (try
>>>>> issuing
>>>>> M-x org-edit-src-code on a folded headline containing many
>>>>> blocks; I
>>>>> haven't understood this properly yet.)
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> In fact, I was thinking that I had the problem described here, but
>>>>>> I just
>>>>>> isolated the cause and in my case it was the org-src-tab-acts-
>>>>>> natively
>>>>>> variable that I had set to t in my .emacs file.
>>>>>>
>>>>>> --
>>>>>> Darlan
>>>>>>
>>>>>> At Tue, 7 Sep 2010 06:05:54 -1000,
>>>>>> "Thomas S. Dye" <address@hidden> wrote:
>>>>>>>
>>>>>>> Hi Dan,
>>>>>>>
>>>>>>> Yes, I can confirm that (setq org-src-fontify-natively nil) makes
>>>>>>> unfolding snappy again.
>>>>>>>
>>>>>>> All the best,
>>>>>>> Tom
>>>>>>>
>>>>>>> On Sep 7, 2010, at 3:23 AM, Dan Davison wrote:
>>>>>>>
>>>>>>>> "Thomas S. Dye" <address@hidden> writes:
>>>>>>>>
>>>>>>>>> Aloha Dan,
>>>>>>>>>
>>>>>>>>> This is really nice.  Thanks for shepherding it along.
>>>>>>>>>
>>>>>>>>> In some of my use cases there is a substantial delay when
>>>>>>>>> opening a
>>>>>>>>> large file and then unfolding sections with many source code
>>>>>>>>> blocks.
>>>>>>>>
>>>>>>>> Hi Tom,
>>>>>>>>
>>>>>>>> I think this is a good point and probably as you say a reason
>>>>>>>> for
>>>>>>>> turning it off by default. Org should be (and was!)
>>>>>>>> lightweight by
>>>>>>>> default.
>>>>>>>>
>>>>>>>> I haven't had time to profile things properly. Before we turn it
>>>>>>>> off,
>>>>>>>> could you please confirm that all your slowness problems go away
>>>>>>>> when
>>>>>>>> you do (setq org-src-fontify-natively nil)?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Dan
>>>>>>>>
>>>>>>>>
>>>>>>>>> I don't mind this and intend to keep the feature on, but I do
>>>>>>>>> think
>>>>>>>>> it
>>>>>>>>> should be off by default because the user potentially pays an
>>>>>>>>> appreciable time penalty for the pleasure of semantic source
>>>>>>>>> code
>>>>>>>>> markup.
>>>>>>>>>
>>>>>>>>> Thanks again for this nice feature.
>>>>>>>>>
>>>>>>>>> All the best,
>>>>>>>>> Tom
>>>>>>>>>
>>>>>>>>> On Sep 3, 2010, at 7:30 AM, Eric S Fraga wrote:
>>>>>>>>>
>>>>>>>>>> On Thu, 02 Sep 2010 08:51:16 -0700, Dan Davison
>>>>>>>>>> <address@hidden
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I've just pushed changes which mean that Org now fontifies
>>>>>>>>>>> code in
>>>>>>>>>>> code
>>>>>>>>>>> blocks. Currently, this is turned on by default, so it
>>>>>>>>>>> would be
>>>>>>>>>>> helpful
>>>>>>>>>>> if people could report any problems, and opinions as to
>>>>>>>>>>> whether it
>>>>>>>>>>> should be on or off by default.<
>>>>>>>>>>
>>>>>>>>>> [...]
>>>>>>>>>>
>>>>>>>>>> This is brilliant!  Works very well on my notebook (with small
>>>>>>>>>> code
>>>>>>>>>> blocks as that's all I tend to have).  Many thanks!
>>>>>>>>>> --
>>>>>>>>>> Eric S Fraga
>>>>>>>>>> GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Emacs-orgmode mailing list
>>>>>>>>>> Please use `Reply All' to send replies to the list.
>>>>>>>>>> address@hidden
>>>>>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Emacs-orgmode mailing list
>>>>>>>>> Please use `Reply All' to send replies to the list.
>>>>>>>>> address@hidden
>>>>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Emacs-orgmode mailing list
>>>>>>> Please use `Reply All' to send replies to the list.
>>>>>>> address@hidden
>>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>>>
>>>>>> _______________________________________________
>>>>>> Emacs-orgmode mailing list
>>>>>> Please use `Reply All' to send replies to the list.
>>>>>> address@hidden
>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> address@hidden
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>
> _______________________________________________
> 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]