Hi Eric, Eric S Fraga wrote: > Sébastien Vauban <wxhgmqzgw...@spammotel.com> writes: >> Maybe this is (partly?) due to the overlay I added: >> >> #+begin_src emacs-lisp >> (overlay-put (make-overlay beg1 block-end) >> 'face 'org-block-background)) >> #+end_src > > This could indeed be one cause, especially depending on what this does when > there is no block-end line, or at least not anywhere near in the buffer. I > seem to get a slowdown when I have a situation like this: > > #+begin_example > > [... some text ...] > #+begin_src somelanguage > [... text which is part of the source block...] > <point here> > > [... lots of other text ...] > [... including other source blocks] > > #+end_example > > where there is no matching #+end_src or, more precisely, the next #+end_src > line is one that does not belong to this current source block. Your search > (in org.el) for the end of the block assumes that it does have the end > statement in place already. I'm not sure how to fix this because it's an > ill-defined situation.
You say "your search..." but I only added the overlay-put command... and I must admit this whole block is difficult to follow (so many cases). > It may be worthwhile making the overlay optional? Although I must admit that > I like it! I simply can't live without it, either. > My solution, by the way, is to insert the #+end_src line immediately upon > writing a #+begin_src line and then back up a line to start writing the > code. "My" solution is even simpler: just use a yasnippet template, that prompts you for the language and puts the begin/end upfront: --8<---------------cut here---------------start------------->8--- #name : #+begin_src...#+end_src # -- #+srcname: ${1:name} #+begin_src ${2:language} $3 $0 #+end_src --8<---------------cut here---------------end--------------->8--- Best regards, Seb -- Sébastien Vauban