emacs-devel
[Top][All Lists]
Advanced

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

Re: [emacs-w3m:11603] Re: interactive-p obsolete


From: Andreas Röhler
Subject: Re: [emacs-w3m:11603] Re: interactive-p obsolete
Date: Thu, 07 Jul 2011 08:52:30 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.18) Gecko/20110616 SUSE/3.1.11 Thunderbird/3.1.11

[ ... ]

Hi Andreas

My main point was that backwards compatibility, as suggested in your
original post, was not sufficient justification to revert things as it
is trivial to add code

Hi Tim,

for now a workaround from org-mode was presented, which looks buggy for me, as it sends an argument collected optional to a form requiring one.

cc to Bastien for this

At least would not call it trivial.

Nontheless I agree existed two similar functions at the time, so some cleanup was recommended.

 that would provide this compatibility.
Furthermore, in many cases, packages already have this compatibility
layer in order to support both GNU Emacs and XEmacs (see the org-mode
example which has since been posted). However, while I may have things
a bit mixed up, as I understand it, there are some good reasons for
the change. It isn't just a change made  for the sake of it. Some may
debate whether the reasons are sufficient, but for me they seem
reasonable.

IMHO things are much more difficult now than before. That's a marchin into the swamp :)


Others with more experience and better memories are probably able to
fill in things better, but from memory, there are some problems with
the use of interactive-p because people misinterpret what it means and
because they tend to use it without thinking about what 'interactive'
means.

That possible misunderstanding has a much broader base, it results from perspectives of active and passiv and is still present in the remaining form.

BTW that's why we can't understand truly abstract reasoning, always need examples how to interpret.

 Its one of those subtle issues that you may think you
understand and everyone else understands in the same way until you
begin to talk to others. You then find out there are a number of
situations where it isn't as clear as it originally seemed and that
you do need to think about the context where you use such a test and
what it is you really are wanting to test for.

I also believe the water was made even more 'muddy' by the fact that a
form of called-interactive-p, without an argument, already existed.
People found it hard to know when to use called-interactive-p or
interactive-p or what the difference was or why there was both. To
clarify matters, one had to go.

There was a discussion a couple of years back regarding this.

Yeah, starting here AFAIS:

http://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00784.html

At the
time, it was recognised that fixing it would improve elisp in the
long-term, but doing so was going to cause some pain. I believe that
the result, called-interactive-p with an optional argument and the
marking of interactive-p as obsolete was considered the solution with
the least pain and best outcome and seems like a reasonable compromise
to me.

Once interactive-p is actually removed, we will realise the benefits
of having a single predicate to test for 'interactive' and because of
the additional argument, possibly a predicate that is applied after
more thought as to what the programmer is really testing for,
hopefully resulting in code where intentions are clearer and
therefore, easier to maintain.

Tim


Hm, thinking the other way.

IMHO Drew was right and Stefan and Chong have been right in their first responses.

But let's stop here and see if others notice that also.
Should I'm being wrong here - the better.

Cheers,

Andreas








reply via email to

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