emacs-devel
[Top][All Lists]
Advanced

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

Re: ad-remove-advice bug.


From: Michaël Cadilhac
Subject: Re: ad-remove-advice bug.
Date: Thu, 08 Mar 2007 19:07:33 +0100
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.95 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     Now, use M-x ad-remove-advice RET RET RET RET (the default each time)
>     There's two annoying things :
>     1. M-x describe-function RET forward-line RET says :
>     | This subr is advised.
>
> That's not a bug; we need not do anything now.
>
> Your patch looks maybe ok for the future, but let's not do anything
> there now.

OK, so we'll see later.

>     2. M-x ad-remove-advice default values are impossible.
>
> I do not understand.

After the first call to `ad-remove-advice', the second call defaults
its arguments to `forward-line' which has no more advices.

Maybe we just want the following:

Index: lisp/emacs-lisp/advice.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/advice.el,v
retrieving revision 1.49
diff -B -w -c -r1.49 advice.el
*** lisp/emacs-lisp/advice.el   21 Jan 2007 02:44:24 -0000      1.49
--- lisp/emacs-lisp/advice.el   8 Mar 2007 18:04:43 -0000
***************
*** 2278,2284 ****
    "Read a complete function/class/name specification from minibuffer.
  The list of read symbols will be returned.  The optional PROMPT will
  be used to prompt for the function."
!   (let* ((function (ad-read-advised-function prompt))
         (class (ad-read-advice-class function))
         (name (ad-read-advice-name function class)))
      (list function class name)))
--- 2278,2288 ----
    "Read a complete function/class/name specification from minibuffer.
  The list of read symbols will be returned.  The optional PROMPT will
  be used to prompt for the function."
!   (let* ((predicate (lambda (fun)
!                     (ad-dolist (class ad-advice-classes)
!                       (if (ad-get-advice-info-field fun class)
!                           (ad-do-return t)))))
!        (function (ad-read-advised-function prompt predicate))
         (class (ad-read-advice-class function))
         (name (ad-read-advice-name function class)))
      (list function class name)))
Index: lisp/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.10783
diff -C0 -r1.10783 ChangeLog
*** lisp/ChangeLog      7 Mar 2007 12:50:23 -0000       1.10783
--- lisp/ChangeLog      8 Mar 2007 18:05:05 -0000
***************
*** 0 ****
--- 1,6 ----
+ 2007-03-08  Michaël Cadilhac  <address@hidden>
+ 
+       * emacs-lisp/advice.el (ad-read-advice-specification): Check that the
+       default value taken by `ad-read-advised-function' has non-empty
+       classes.
+ 
-- 
 |   Michaël `Micha' Cadilhac       |  ... KVim is cited in the talk.        |
 |   http://michael.cadilhac.name   |   "I can't tell if I am more sorry     |
 |   JID/MSN:                       |        for vim or for KDE."            |
 `----  address@hidden  |          -- RMS                   -  --'

Attachment: pgphP5EpDgms_.pgp
Description: PGP signature


reply via email to

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