emacs интерактивная функция с дополнительным числовым префиксом

Как я указываю функцию, которая имеет дополнительный числовой префикс, в противном случае он запрашивает число? в основном, как goto-строка ведет себя?

(defun my-function(&optional  n)
  ; I have tried
  (interactive "N") ; reads string, no prompt
  (interactive "p") ; defaults to one
  (interactive (if (not n) (read-number "N: "))) ; runtime error

таким образом, как я делаю работу?спасибо

8
задан Anycorn 7 February 2010 в 00:10
поделиться

1 ответ

Посмотрите, как определяется 'goto-line ( M-x find-function goto-line RET ).

(defun my-function (n)
  "Example function taking a prefix arg, or reading a number if no prefix arg"
  (interactive
   (if (and current-prefix-arg (not (consp current-prefix-arg)))
       (list (prefix-numeric-value current-prefix-arg))
     (list (read-number "N: ")))))
9
ответ дан 5 December 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: