Измените выражение в теле функции elisp с советом
Как вы сопоставляете конкретное выражение в теле функции elisp при добавлении совета? В частности, в следующем примере я бы посоветовал использовать функцию find-file-noselect
на месте find-file
т.е. линия (find-file path)
будет в силе (find-file-noselect path)
,
(defun tst-fun (path line column)
(find-file path)
(goto-char (point-min))
(forward-line (1- line))
(forward-char column))
;; not sure how to structure this
(defadvice tst-fun (around noselect activate)
(find-file-noselect (ad-get-arg 0))
ad-do-it)
Я предпочел бы это как ad-add-function
, но я пытаюсь заставить это работать сначала.
1 ответ
Решение
Вы можете временно переопределить find-file
как find-file-noselect
в совет.
(require 'cl)
(defadvice tst-fun (around noselect activate)
(flet ((find-file (&rest args)
(apply 'find-file-noselect args)))
ad-do-it))