2009-11-11 18 views
4

我想弄清楚「超鏈接」如何在*Help*緩衝區中工作(以便我可以在M-x編譯的輸出中實現類似的東西)。以下是我想模仿的行爲的更詳細描述: M-x describe-function find-file打開了一個*Help*緩衝區。這個緩衝區的第一行(對我來說)顯示:find-file is an interactive Lisp function in files.el. files.el帶下劃線並點擊(或點擊時輸入點)打開一個新的緩衝區與files.el和點定位在find-file的定義。做一個描述鍵說在button.el中調用按鈕,它告訴我Perform the action specified by a button at location pos - 但是如何定義一個按鈕並將該按鈕與我自己的緩衝區中的按鈕相關聯?在emacs中,* Help *緩衝區中的「超鏈接」是如何工作的?

回答

2

*Help*緩衝區的主要模式是help-mode。在其源代碼(help-mode.el)中,您可以找到功能help-make-xrefs,即「在給定BUFFER」中解析和超鏈接文檔交叉引用。你可以檢查它是如何實現的。

否則,我建議使用org-mode來代替,它使用簡單的形式[[URI][caption]]mark hyperlinks

+0

謝謝你,幫助。我在編譯模式下調試了代碼,意識到有一種方法可以指定一個regexp(在compilation-error-regexp-alist中),它允許我添加其他模式,這些模式將被編譯模式用於創建交叉引用。 – Rohith 2009-11-13 13:13:16

相關問題