Jak dopasować konkretny wyraz w ciele do funkcji elisp podczas dodawania porady? W szczególności w poniższym przykładzie chciałbym doradzić funkcję, która ma być używana find-file-noselect
zamiast find-file
, tj. linia (find-file path)
obowiązywałoby (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)
Wolałbym to mieć ad-add-function
, ale staram się, żeby to działało jako pierwsze.
Odpowiedzi:
2 dla odpowiedzi № 1Możesz tymczasowo zmienić definicję find-file
tak jak find-file-noselect
w radzie.
(require "cl)
(defadvice tst-fun (around noselect activate)
(flet ((find-file (&rest args)
(apply "find-file-noselect args)))
ad-do-it))