OSX - Emacs für die Verwendung von NSSpellChecker konfigurieren

Ich habe Probleme beim Reverse Engineering von Aquamacs, um die Verwendung / Funktionalität von NSSpellChecker zu extrahieren. Ich möchte diese Verwendung / Funktionalität in eine reine Emacs-Entwicklung aus dem Quellcode integrieren. Ich habe die scheinbar relevanten Dateien gefunden -ns-win.el; flyspell.el; undispell.el - Durch einfaches Ersetzen dieser Dateien von Aquamacs auf Emacs wird jedoch das Popup-Menü zum Ausführen der in OSX integrierten Rechtschreibprüfung nicht aktiviert. Ich vermisse ein oder mehrere Teile des Puzzles - Ich habe alle Aquamacs * .gz-Dateien geöffnet und nach ein paar Stichwörtern in all diesen Dateien gesucht, aber ich habe keine anderen Dateien gefunden, die so aussehen wie sie etwas mit dieser Funktionalität zu tun. Die Funktionalität wird von Aquamacs aktiviertbefore seine site-start.el wird initiiert.

Ich habe gelernt, wie man Emacs aus dem Quellcode mit dem Tarball und auch mit bzr erstellt. Wenn jemand weiß, wie man NSSpellChecker während des Erstellungsprozesses konfiguriert, wäre das großartig.

Es gibt nichts, was ich im Internet gefunden habe, das beschreibt, wie man das macht.

Die Rechtschreibprüfung von Aspell erinnert mich an das Leben in den späten Achtzigern. Ich habe das Popup-Menü mit den Schaltflächen zur Auswahl der Optionen für die Rechtschreibprüfung immer mehr gemocht.

Hier ist der Link zu einer Erklärung zum Erstellen von Aquamacs, und der Blick auf das Build-Skript befindet sich als nächstes auf meiner To-Do-Liste:

http://www.emacswiki.org/cgi-bin/wiki/BuildingAquamacs

Edit 1: Die Build-Skripte haben ein wenig mehr über NSSpellChecker zu sagen. Zusätzliche Dateien, die betrachtet werden müssen, sind:nsterm.m undnsfns.m. Ich glaube nichtaquamacs-menu.el oderosxkeys.el sind notwendig, da diese nach site-start.el laden. Es sieht immer mehr so ​​aus, als ob NSSpellChecker während des Erstellungsprozesses in Verbindung mit den oben genannten Dateien fest in die ausführbare Datei der Anwendung codiert wird.

Edit 2: Ja, das war das fehlende Puzzleteil. Die ausführbare Datei von Aquamacs im Anwendungspaket (d. H.... Aquamacs.app/Contents/MacOS/Aquamacs) enthält die fest programmierte Magie für NSSpellChecker in Verbindung mit den von Aquamacs modifizierten Versionen vonns-win.el; flyspell.el; undispell.el.

Bearbeiten 3: Zu diesem Zeitpunkt besteht eine Option darin, das Erstellungsskript für Aquamacs und zugehörige Dateien, die im Erstellungsprozess verwendet werden, zu ändern, um eine benutzerdefinierte Anwendung zu erstellen. Alternativ ist auch die Erstellung eines Hybrids möglich, was jedoch mit eigenen Problemen verbunden ist, da die ausführbare Datei von Aquamacs mit Spezialitäten wie zone-frame-one-buffer-mode beim Öffnen einer Datei aus Finder.app;switch-to-buffer-in-tab beim Öffnen einer Datei aus Finder.app;ns-application-activated das muss so eingestellt sein, dass es ignoriert wird; Einfügen der Versions-ID in die Datei init.el, um die Fehlermeldung ordnungsgemäß zu unterdrücken. einfache Menüoptionen, die auf Aquamacs ausgerichtet sind, um Optionen zu speichern; und ein paar andere Probleme, die leicht ersichtlich sind. Kurz gesagt, ein Hybrid ist machbar, aber ein Schmerz im Nacken. Ich habe einen Hybrid, aber ich bin mir sicher, dass ich mehr Optimierungen vornehmen muss, wenn ich mehr Aquamacs-Anpassungen finde (die von der ausführbaren Datei erstellt wurden), die behandelt werden müssen. Es ist zu früh für mich, irgendeine Art von Antwort zu posten. Die Änderung des Erstellungsskripts scheint die beste Lösung zu sein, würde jedoch viel Zeit in Anspruch nehmen, um es ordnungsgemäß zu ändern und eine benutzerdefinierte Erstellung zu erstellen, die die NSSpellChecker-Funktion isoliert.

Bearbeiten 4: Ich habe eine funktionierende Version mit NSSpellChecker, die die ausführbare Datei eines benutzerdefinierten Builds von Aquamacs24 ist (wobei fast alle Aquamacs außer der Rechtschreibprüfung weggelassen werden), und den neuesten Emacs-Trunk-Build von Emacs24 (nächtliche Erstellung). Ich warte darauf, technischen Support zu erhalten, um das Terminal zum Herunterladen des neuesten Zweigs von Aquamacs24 mit git zu verwenden, da beim Duplizieren der ZIP-Version mit dem Terminal einige Probleme auftreten. Dies ist ziemlich detailliert und ich möchte den Prozess vereinfachen, bevor ich eine Antwort poste, und ich möchte es vorher gründlich testen.

NSSpellChecker http://lawlist.com/images/spellchecker.png

Antworten auf die Frage(1)

Ihre Antwort auf die Frage