emacs-devel
[Top][All Lists]
Advanced

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

Re: invisible


From: Stefan Monnier
Subject: Re: invisible
Date: Sat, 01 Dec 2007 15:41:10 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

>>> I don't know.  `line-move-ignore-invisible' is a user option (although I
>>> fail to see how it's useful).  `(global-)disable-point-adjustment' is not.
>> global-disable-point-adjustment *is* a user option.
> OK.  But according to the Elisp manual it's a "plain" variable and it's
> not customizable.

Sure.

> Also `line-move-ignore-invisible' is an option that applies to C-n/C-p
> exclusively.  `global-disable-point-adjustment', on the other hand,
> applies to all commands.

Obviously conflating the two variables into one is a change visible to
the user.  I'm just saying that it would fix your bug as well.
And I think it's a choice that might make a lot of sense.

> Because I'm not allowed to disable point-adjustment for the normal
> `line-move-ignore-invisible' t case.

AFAICT the reason is not that you're not allowed but that you haven't
needed to do it.  If you needed to do it, I don't think it'd be a big
problem since line-move already tries to avoid invisible text (so
point-adjustment shouldn't make much difference if any).

> What shall I do if someone wants to disable point-adjustment for the
> `line-move-ignore-invisible' t case too?

We'll cross this bridge only if we ever get there.

> Neither do I.  But why do these have an `interactive-p' check in the
> first place?

No idea.  It was introduced by:

  revision 1.183
  date: 1994-12-23 12:25:50 -0500;  author: rms;  state: Exp;  lines: +13 -5;
  (next-line, previous-line): If interactive and not in
  kbd macro, catch the error and beep instead.
  ----------------------------

Note that the difference is very small: in the case where it beeps,
signalling an error would beep as well and would just complain a bit
more loudly.  I.e. it only changes the way in which the error is
signalled to the user.  Not the actual behavior of the command.

So I now think that setting disable-point-adjustment only in the
interactive case is actually incorrect: it should also be set in the
non-interactive case.


        Stefan




reply via email to

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