我無法逆向工程Aquamacs來提取NSSpellChecker的使用/功能。我希望將這些使用/功能從源代碼中整合到Emacs的裸骨架中。我找到了看似相關的文件 - ns-win.el
; flyspell.el
;和ispell.el
- 但是,僅僅將這些文件從Aquamacs替換爲Emacs並不能啓用運行OSX原生的拼寫檢查程序的彈出式菜單。我錯過了一個或多個拼圖 - 我打開了所有的Aquamacs * .gz文件,並在所有這些文件中搜索了幾個關鍵字,但是我還沒有發現任何其他文件看起來像他們與此功能有關。該功能由Aquamacs before
啓用,它的site-start.el啓動。OSX - 配置Emacs以使用NSSpellChecker
我學會了如何使用tarball從源代碼構建Emacs,並且也使用bzr。如果有人知道如何在構建過程中配置NSSpellChecker,那就太好了。
我在互聯網上找不到任何東西可以遠程描述如何做到這一點。
Aspell的拼寫檢查功能讓我想起了80年代後期的生活。我越來越喜歡用按鈕選擇拼寫檢查選項的彈出式菜單。
這裏是鏈接到一個解釋爲建設Aquamacs,並尋找到構建腳本是我的待辦事項列表中的下:
http://www.emacswiki.org/cgi-bin/wiki/BuildingAquamacs
編輯1:構建腳本有更多一點說NSSpellChecker,所以需要查看的其他文件包括:nsterm.m
和nsfns.m
。我不認爲aquamacs-menu.el
或osxkeys.el
是必要的,因爲那些加載後,site-start.el。越來越像NSSpellChecker在構建過程中被硬編碼到應用程序可執行文件中,並與上述文件一起使用。
編輯2:是的,這是拼圖的缺失部分。應用程序包內的Aquamacs的可執行文件(即... Aquamacs.app/Contents/MacOS/Aquamacs
)包含NSSpellChecker的硬編碼魔術,並結合了Aquamacs修改版本ns-win.el
; flyspell.el
;和ispell.el
。
編輯3:此時,一個選項是修改構建過程中使用的Aquamacs和相關文件的構建腳本,以構建自定義應用程序。另外,創建一個混合也是可能的,但也帶有它自己的問題,因爲當從Finder.app打開一個文件時,Aquamacs可執行文件被硬編碼爲特殊文件,如one-frame-one-buffer-mode
;當從Finder.app打開一個文件時, ns-application-activated
需要設置爲忽略;包括init.el文件中的版本ID以正確地清除錯誤消息;簡單的菜單選項,適用於Aquamacs以節省選項;和其他一些顯而易見的問題。總之,混合動力是可行的,但頸部疼痛。我確實有一個混合工作,但我相信我將不得不做更多的調整,因爲我發現需要處理的更多Aquamacs定製(由可執行文件創建)。現在發佈任何類型的答案爲時尚早。構建腳本修改似乎是最好的解決方案,但需要很多時間才能正確修改它,以便創建一個可隔離NSSpellChecker功能的自定義構建。編輯4:我有一個NSSpellChecker的工作版本,它是Aquamacs24的自定義版本的可執行文件(省略了幾乎所有的Aquamacs,除了拼寫檢查器)以及emacs-trunk最新版本的Emacs24(夜間版本)。我在等待接收一些技術支持,使用終端下載最新的Aquamacs24分支與git,因爲我有一些問題與終端複製ZIP版本。這非常詳細,我想在發佈答案之前簡化流程,並且我希望事先徹底測試它。
NSSpellChecker http://lawlist.com/images/spellchecker.png
是否有任何努力使其成爲主線Emacs的配置選項? – tripleee 2016-06-02 04:11:03
@tripleee - 我不確定Richard M. Stallman,John Wiegley或Eli Zaretskii是否有興趣擁有OSX特有的功能。我的猜測是,他們不會,但是,約翰使用OSX - 所以他*可能*有興趣。毫無疑問,RMS將堅持讓David Swelt(用於C源代碼修改)和Nathaniel Cunningham(ispell.el/flyspell.el)等人簽署文件,讓他們的貢獻成爲Emacs的官方部分,他們即使許可證是GNU,也可能不願意這樣做。此外,「Aquamacs」接受捐贈。 。 。 – lawlist 2016-06-02 04:21:09