У вас уже есть хорошие отправные точки для исследования собственного решения.
thing-at-point
, вероятно, полезно в этом контексте. Я недавно ответил
вопрос, где я объяснил, как решить этот тип проблемы, исследуя
Кодовая база Emacs.
Вот грубая игрушка, которую я придумал.
(defun say-word (word)
(interactive (list
(read-string (format "word (%s): " (thing-at-point 'word))
nil nil (thing-at-point 'word))))
(message "The word is %s" word))
Здесь важно понять, как работает форма interactive
. я мог бы
внимательно прочитайте соответствующий раздел руководства .