bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#19102: 24.4; outline-move-subtree-up/down error at last and second-l


From: Stephen Berman
Subject: bug#19102: 24.4; outline-move-subtree-up/down error at last and second-last subtree
Date: Thu, 20 Nov 2014 11:08:13 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

On Thu, 20 Nov 2014 16:46:22 +1000 Paul Rankin <paul@tilk.co> wrote:

> Stephen Berman <stephen.berman@gmx.net> writes:
>
>> On Wed, 19 Nov 2014 22:32:06 +0200 Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>>> From: Stephen Berman <stephen.berman@gmx.net>
>>>> Cc: paul@tilk.co,  19102@debbugs.gnu.org
>>>> Date: Wed, 19 Nov 2014 21:14:42 +0100
>>>> 
>>>> > Wouldn't using eolp instead of the comparison solve that problem more
>>>> > easily?
>>>> 
>>>> Well, that eliminates the wrong-type-argument error in the current code,
>>>> but it instead signals "End of buffer"
>>>
>>> From forward-char?  If so, you could avoid the call if eobp.  Or wrap
>>> the call in condition-case and ignore errors.
>>
>> Those solutions work only if there's an empty line after the last
>> subtree.  If there isn't, I can't see any way other than my patch.
>>
>>>> Do you see any other problems with the patch or more room for
>>>> improvement?
>>>
>>> I was worried by the complexity of maybe-forward-char, but maybe now
>>> it is much simpler.
>>
>> I simplified it just a bit more, but that's all I can think of.  I also
>> had overlooked a side-effect of the error signaled when trying to move
>> the last subtree down: it leaves a dangling newline; this is avoided
>> using with-demoted-errors.  The revised patch is appended.
>>
>> Steve Berman
>
> Sorry if there is some very obvious reason I'm missing, but can't we
> just change
>
>     (= (char-after) ?\n)
>
> to
>
>     (eq (char-after) ?\n)
>
> ...?

This has the same effect as Eli's suggestion of not calling forward-char
at eob or wrapping it in condition-case: outline-move-subtree-up/down
works if there's an empty line after the last subtree, but if not, it
puts the last two subtree headers on the same line.

Steve Berman





reply via email to

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