コマンド ad-start-advice

(setq x "*")
  => "*"
(defun foo ()
  (format "%s %s" "foo" x))
  => foo
(defadvice foo (around foo-around)
  (let ((x "hoge"))
    ad-do-it))
  => foo
(foo)
  => "foo *"
(ad-start-advice)
  => documentation
(foo)
  => "foo *"
(defadvice foo (around foo-around)
  (let ((x "hoge"))
    ad-do-it))
  => foo
(foo)
  => "foo *"

予想と違う動き


続けて

(defun bar ()
  (format "%s %s" "bar" x))
  => bar
(defadvice bar (around bar-around)
  (let ((x "hoge"))
    ad-do-it))
  => bar
(bar)
  => "bar *"

これまた予想と違う動き

  • ad-start-advice って結局どういうもの?
  • (ad-start-advice) をいきなりやると、エラーに