emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [dev] org-indent-mode patch


From: Nicolas Goaziou
Subject: Re: [O] [dev] org-indent-mode patch
Date: Thu, 21 Jul 2011 17:14:55 +0200

Hello,

Carsten Dominik <address@hidden> writes:

> On 13.3.2011, at 17:21, Nicolas wrote:
>
>> I'd like to submit the following org-indent-mode patch for testing.
>> 
>> 
>> It implements two things:
>> 
>> 1. It indents correctly text when using visual-line-mode;
>> 2. It removes the idle timer previous implementation was using, which
>>   means it won't refresh indentation more often than necessary.
>> 
>> Unfortunately, there is a price to pay:
>> 
>> 1. Initialization will be much longer for large Org files, but I've
>>   added a message to the user saying so.
>> 2. It is a bit slower, as the algorithm has more things to check.
>> 
>> 
>> Last point is obviously my main concern. Although not noticeable on my
>> not-so-recent laptop, I don't know how it behaves on old machines.
>> 

> Initial testing seems to show that this works well, very nice.
>
> The delay at the beginning is long, and it might be annoying
> when org pulls in a buffer just to look something up,
> without org-inhibit-startup scoped into the file loading.
>
> Maybe one could arrange for the initialization to happen just
> before the buffer is first *displayed* (I do not know if that
> is possible).
>
> Just one nitpicking:  The idle timer may force updating when
> not necessary - but using after-change-functions will update after
> each character inserted.  So in fact your code might be updating
> more often at least while typing - maybe not while looking at
> the buffer and jumping around.  I am not a fast typist, but maybe
> fast typists will notice significant delays, in particular
> while writing inside a very long section?

In order to circumvent the slow process at initialization, I've
implemented an asynchronous initialization. Thus, one can open the
buffer and start to write in it before initialization is complete. Once
it is done, everything else is synchronous again.

I think it is a good compromise. It needs testing though. Thus, if
anyone is interested, I'll gladly hear his feedback.

The branch is located at :

     git://github.com/ngz/org-mode-lists.git indent-patch-no-timer


Regards,

-- 
Nicolas Goaziou



reply via email to

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