В emacs как работает «гиперссылка» в буфере * Help *? - PullRequest
4 голосов
/ 11 ноября 2009

Я пытаюсь выяснить, как работает «гиперссылка» в буфере *Help* (чтобы я мог реализовать нечто подобное в выходных данных компиляции M-x). Вот более подробное описание поведения, которое я хочу имитировать: M-x describe-function find-file открывает буфер *Help*. Первая строка этого буфера (для меня) показывает: find-file is an interactive Lisp function in files.el. files.el подчеркнут, и нажатие (или нажатие клавиши enter, когда точка есть) открывает новый буфер с files.el и точкой, расположенной в определении find-file , Выполнение ключа описания для говорит вызывает кнопку в button.el, которая говорит мне Perform the action specified by a button at location pos - но как мне определить кнопку и связать действие с этой кнопкой в ​​моем собственном буфере?

1 Ответ

2 голосов
/ 11 ноября 2009

Основной режим буферов *Help* - help-mode. В его исходном коде (help-mode.el) вы найдете функцию help-make-xrefs, которая "Перекрестные ссылки документации Parse [s] и гиперссылки [s] в данном буфере" . Вы можете проверить, как это было реализовано.

В противном случае, я бы предложил вместо этого использовать org-mode, в котором используется простая форма [[URI][caption]] до , помечающая гиперссылки .

...