From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thomas S. Dye" Subject: Re: Org now fontifies code blocks Date: Thu, 28 Oct 2010 06:24:45 -1000 Message-ID: References: <8739uvw0hg.fsf@stats.ox.ac.uk> <87vd7j1nck.fsf@stats.ox.ac.uk> <87lj7kqh3f.fsf_-_@stats.ox.ac.uk> <874oe6pwew.wl%ucecesf@ucl.ac.uk> <871v95ofg2.fsf@stats.ox.ac.uk> <59CB03F7-D330-47CF-98FC-5242CFE07A20@tsdye.com> <4c87bb85.07a5640a.16d3.09f2@mx.google.com> <87fwxk874w.fsf@stats.ox.ac.uk> <4c88dadb.014a640a.4502.4474@mx.google.com> <72D49F8C-CEE4-4EFE-9208-5589B10DE8BD@tsdye.com> <87tylylf45.fsf@stats.ox.ac.uk> <87sjzqbmjm.fsf@gmail.com> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=52210 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PBVHk-0007zL-Je for emacs-orgmode@gnu.org; Thu, 28 Oct 2010 12:25:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PBVHg-0001p3-Kp for emacs-orgmode@gnu.org; Thu, 28 Oct 2010 12:25:02 -0400 Received: from oproxy1-pub.bluehost.com ([66.147.249.253]:50452) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1PBVHg-0001oW-5z for emacs-orgmode@gnu.org; Thu, 28 Oct 2010 12:25:00 -0400 In-Reply-To: <87sjzqbmjm.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: Dan Davison , emacs-orgmode Mailinglist On Oct 28, 2010, at 1:10 AM, Dan Davison wrote: > "Thomas S. Dye" writes: > >> On Sep 9, 2010, at 12:35 PM, Dan Davison wrote: >> >>> "Thomas S. Dye" 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 > HI Dan, No, the slowness that I had with this on OS X is gone now. I think the key is this, as Jules Bean noted: #+begin_src emacs-lisp :tangle yes (setq font-lock-verbose nil) #+end_src This was set to 0 previously. Thanks for this improvement. It is great to see semantic markup in code blocks in the Org-mode buffer. Tom >> >> 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 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" 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" 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 >>>>>>>>>>> >>>>>>>>>>> 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. >>>>>>>>>>> Emacs-orgmode@gnu.org >>>>>>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> 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 >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> 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 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 >>>> >>>> >>>> _______________________________________________ >>>> 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 >> >> >> _______________________________________________ >> 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