Как передать arg в абстрактную функцию Emacs
Я пытаюсь написать функцию, которая абстрагирует helm-imenu
вариант для использования:
(defun my/helm-menu ()
"For Org mode buffers, show Org headlines.
For programming mode buffers, show functions, variables, etc."
(interactive)
(cond ((derived-mode-p 'org-mode)
(helm-org-in-buffer-headings))
(t
(helm-semantic-or-imenu))))
Хотя, когда он используется в буфере не в режиме Org, он терпит неудачу, говоря, что ему нужен один аргумент.
В самом деле, helm-semantic-or-imenu
требует arg
,
Как я должен пройти это?
Почему это работает с M-x helm-semantic-or-imenu
: где аргумент?
1 ответ
Следуя совету Дрю, он должен это сделать:
(defun my/helm-menu (arg)
"For Org mode buffers, show Org headlines.
For programming mode buffers, show functions, variables, etc."
(interactive "P")
(cond ((derived-mode-p 'org-mode)
(helm-org-in-buffer-headings))
(t
(helm-semantic-or-imenu arg))))
По крайней мере, это работает!