LINUX.ORG.RU

ellisp: вопросы про ввод значений в (interactive)


0

0

1. Как в interactive-функции задать возможность выбрать значение только из списка возможных?

Например, тут:

(defun my-set-align (align)
     (interactive "...")
     (insert (concat ":align:" align)))

Хочется, что бы можно было выбрать только left, center и right, а произвольные значения не допускались. В идеале — что бы предлагался autocomplete.

2. Как в все том же интерактивном режим задать predifined значение по умолчанию?

(defun my-insert-greetings (greetings)
      (setq greetings "hello")    <-- так, не работает
      (interactive "MGrettings: \n")
      (insert (concat grettins "!\n")))

3. Как задать тип для более чем одной переменной в интерактивном режиме? Так не работает:

(defun read-args (arg1 arg2)
   (interactive "Marg1: \n" "Marg2: \n")
   (insert (concat arg1 arg2)))

Спасибо.

anonymous

(interactive (list (completing-read ">> " (list "aa" "bb" "cc") nil t "aa")
		   (completing-read "<< " (list "aa" "bb" "cc") nil t "cc")))

mv ★★★★★
()

В емаксе можно нажать C-h f, ввести имя интересующей функции и прочитать её подробное описание.

Ещё есть C-h v, C-h k, C-h m, ...

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.