emacs-devel
[Top][All Lists]
Advanced

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

Re: address@hidden: shell-script-mode case indenting]


From: Stefan Monnier
Subject: Re: address@hidden: shell-script-mode case indenting]
Date: Wed, 04 Oct 2006 00:09:25 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>>> In your new code, what is the purpose of the following line in the loop:
>>>> (unless (eobp) (forward-char 1))
>>> Don't move forward by a character if at the end of a (narrowed)
>>> buffer.
>> 
>> Well, that's the result, not the purpose :-(
>> 
>>> The need to move forward a character was experimentally
>>> determined, I am afraid.
>> 
>> That's the part I'm interested in.  Could you give us some idea of the 
>> case(s)
>> you've encountered where it was found necessary?

> It actually took me a long time to figure out why.  (I was at work
> when I answered you originally, and as such couldn't verify why at the
> time.)

> Before you restructured `sh-prev-thing' to not use narrowing, the

>               (unless (bolp)
>                 (forward-char -1)))

> on line 2263-4 (in `sh-get-indent-info') would place the cursor before
> the last character of the previous token.  When narrowed by the next
> call to `sh-prev-thing', the narrowing cut off that character, causing
> `sh-get-word' to fail to get the next word.

> Your change which removes narrowing in favor of explicit match limits
> is a much more elegant solution, and obviates the need for the
> questionable line.

Thanks for tracking it down.


        Stefan




reply via email to

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