[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-bug-tracker] bug#8304: closed (23.2; ad-read-advised-function def
GNU bug Tracking System
[Emacs-bug-tracker] bug#8304: closed (23.2; ad-read-advised-function default to func at point)
Mon, 23 May 2011 14:41:02 +0000
Your message dated Mon, 23 May 2011 11:40:31 -0300
with message-id <address@hidden>
and subject line Re: bug#8304: 23.2; ad-read-advised-function default to func
has caused the GNU bug report #8304,
regarding 23.2; ad-read-advised-function default to func at point
to be marked as done.
(If you believe you have received this mail in error, please contact
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message ---
23.2; ad-read-advised-function default to func at point
Mon, 21 Mar 2011 10:52:21 +1100
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux)
When using the advice.el things interactively, eg. ad-disable-advice or
ad-activate, it'd be good if the read for the function name defaulted to
a func at point.
Currently I think it only offers the most recently defined advice, so
(defadvice doctor (around no-doctoring activate)
"Disable the doctor."
(error "The doctor is at a medical conference in Barbados"))
(defadvice dunnet (around no-games activate)
(error "Shouldn't you be working?"))
An M-x ad-disable-advice with point on either "doctor" or "dunnet"
offers "dunnet", where I hoped that on "doctor" it would offer doctor.
2011-03-20 Kevin Ryde <address@hidden>
* emacs-lisp/advice.el (ad-read-advised-function): Use
`function-called-at-point' as the default default, if the func at
point has advice, and passes PREDICATE.
--- advice.el.~1.68.~ 2009-10-08 11:00:28.000000000 +1100
+++ advice.el 2011-03-21 10:37:14.000000000 +1100
@@ -2200,16 +2200,29 @@
;; @@ Interactive input functions:
+(declare-function 'function-called-at-point "help")
(defun ad-read-advised-function (&optional prompt predicate default)
"Read name of advised function with completion from the minibuffer.
An optional PROMPT will be used to prompt for the function. PREDICATE
-plays the same role as for `try-completion' (which see). DEFAULT will
-be returned on empty input (defaults to the first advised function for
-which PREDICATE returns non-nil)."
+plays the same role as for `try-completion' (which see).
+DEFAULT is returned on empty input. DEFAULT defaults to the
+function name at point if it's advised and passes PREDICATE,
+otherwise to the first advised function which passes PREDICATE."
(if (null ad-advised-functions)
(error "ad-read-advised-function: There are no advised functions"))
+ ;; prefer func name at point, if it's in ad-advised-functions etc
+ (let ((function (progn
+ (require 'help)
+ (and function
+ (assoc (symbol-name function) ad-advised-functions)
+ (or (null predicate)
+ (funcall predicate function))
(if (or (null predicate)
(funcall predicate function))
In GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
of 2010-05-16 on raven, modified by Debian
configured using `configure '--build' 'i486-linux-gnu' '--build'
'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib'
'--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info'
'--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_AU
value of $XMODIFIERS: nil
default enable-multibyte-characters: t
--- End Message ---
--- Begin Message ---
Re: bug#8304: 23.2; ad-read-advised-function default to func at point
Mon, 23 May 2011 11:40:31 -0300
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
> You must have more trouble getting any comments, then getting sensible
> comments, then getting more or less grammatical comments, without
> worrying about full stops!
I like to think of it the other way: forcing people to be careful about
punctuation also forces them to be more careful in general ;-)
> 2011-05-22 Kevin Ryde <address@hidden>
> * emacs-lisp/advice.el (ad-read-advised-function): Use
> `function-called-at-point' as the default default, if it has
> advice and passes PREDICATE.
Thank you, installed in the trunk,
--- End Message ---
|[Prev in Thread]
||[Next in Thread]|
- [Emacs-bug-tracker] bug#8304: closed (23.2; ad-read-advised-function default to func at point),
GNU bug Tracking System <=