emacs-devel
[Top][All Lists]
Advanced

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

Re: Brittleness of called-interactively-p


From: raman
Subject: Re: Brittleness of called-interactively-p
Date: Sat, 18 Jul 2015 15:29:55 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Hi Stefan,

See this message on the Emacspeak mailing list:
http://www.cs.vassar.edu/~priestdo/emacspeak/2015/msg00086.html

At the time I also posted the problem report to bug-emacs.

That gives some background  on why I had to move away from called-interactive-p 
and
implement my own version of the ems-interactive-p check.

Here are the relevant bits from that message:

Hi,

I've used a check of the form 
(when (interactive-p) ...)
within advice forms in emacspeak to speak *if and only if* a
command is
  called  by the user -- as opposed from within other lisp
function. When we transitioned to Emacs 24, I replaced that
check with (when (called-interactively-p 'interactive) ..)
and this has again worked without any issues --- until now.

We're seeing a  problem now in ruby-mode when command
electric-newline-and-maybe-indent is invoked -- that function for
ruby-mode goes through a complex dance with smie-next-sexp.

The long and short of it is that we eventually deadlock within a
call to advice--called-interactively-skip -- the comments in
nadvice.el where that function is implemented looks pretty scary.

What emacspeak really needs is a clean way of checking whether
something is called interactively, and this is the  first time
in 20 years that the test is failing.

-- 



reply via email to

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