AUCTeX wird nur noch über ELPA verteilt
Nach einer längeren Diskussion hat Tassilo Horn heute Morgen
bekanntgegeben, dass AUCTeX, die Entwicklungsumbegung für (La)TeX in
Emacs, nicht mehr als Tarball verteilt werde. AUCTeX kann seitdem nur
noch über das Archiv ELPA bezogen werden. AUCTeX 13.3 war
demnach die letzte Version, die es noch als Tarball gab. Die aktuelle
Version ist AUCTeX 14.0.6.
Hi all,
from now on, AUCTeX releases are only made through the Emacs Lisp
Package Archive [1], so auctex-13.3 is the last standalone tarball
release. Distro packagers are encouraged to use the ELPA packages as-is
and install them under one of the new Emacs locations for system-wide
packages, see `package-directory-list’.
At the same time, development is now done on the „main“ branch and the
„master“ branch has been deleted. Its last state has been pushed as
„auctex-13“ branch for archiving purposes but it won’t get any updates
anymore.
For users who tracked the master branch: do „git switch main“ to switch
to the main brach where development takes place nowadays.
Bye,
Tassilo
[1] elpa.gnu.org
Für die meisten Benutzer ändert sich dadurch in der Praxis nichts.
AUCTeX ist weiterhin nicht Bestandteil von Emacs und muss daher
nachinstalliert werden. Wer AUCTeX, wie üblich, über den Paketmanager
package.el
aus ELPA installiert hatte, wird von dort auch weiterhin
Updates erhalten. Wer bisher die Entwicklerversion bezogen hatte, kann
per git switch main
von master
zu main
wechseln. Der Branch
auctex-13
wurde heute zum Archiv.
Emacs 29.4
Emacs 29.4 ist heute veröffentlicht worden. Und with a little help from my friends gelang es mir, auch die letzten Unzulänglichkeiten beim Kompilieren unter macOS Sonoma zu beseitigen.
Entpacken muss man den Tarball nun auf der Kommandozeile. Aber erst wenn man pkg-config per Homebrew installiert, werden alle Bibliotheken gefunden.
GNU Emacs 29.4 (build 1, aarch64-apple-darwin23.5.0, NS appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-06-22
Das Upgrade ist auch diesmal sehr zu empfehlen, in den Release Notes heißt es:
* Changes in Emacs 29.4
Emacs 29.4 is an emergency bugfix release intended to fix the
security vulnerability described below.
** Arbitrary shell commands are no longer run when turning on Org mode.
This is for security reasons, to avoid running malicious commands.
Damit einher geht der Release von Org Mode 9.7.5, der ebenfalls eingespielt werden sollte. Der Bug, um den es geht, besteht seit Org Mode 7.9 = Emacs 24.2. Betroffen sind also beispielsweise auch alte Installationen von Aquamacs Emacs.
Der Wanderer 121
Upgrade von macOS Ventura auf macOS Sonoma.
-
Upgrade der Command Line Tools.
-
Upgrade von Homebrew.
-
Der selbstkompilierte Emacs 29.3 startet nicht mehr.
-
Ich versuche es mit einem Neubau.
-
Es stellt sich heraus, dass ein selbstgebauter Emacs unter Sonoma
nur noch startet, wenn man zuvor das tar.gz
-Archiv auf der
Kommandozeile entpackt hatte. Das Archivierungstool, das per
Doppelklick aus dem Finder startet, ruft den Gatekeeper auf den
Plan, und zwar auch wenn der Gatekeeper zuvor deaktiviert wurde? Hm.
Neubau erfolgreich:
GNU Emacs 29.3 (build 1, aarch64-apple-darwin23.5.0, NS appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-06-09
-
Die Peripherie funktioniert.
-
Aber das Terminalfenster startet jetzt immer im Hintergrund. Any
hints?
-
Das Drängeln von Apple in Bezug auf die iCloud nervt. Sehr. Warum ist die Synchronisierung für den Schlüsselbund nach dem Upgrade aktiv?
Emacs 29.3
GNU Emacs 29.3 ist heute
veröffentlicht
worden. ./configure
– make
– make install
lief unter macOS Ventura problemlos durch.
GNU Emacs 29.3 (build 1, aarch64-apple-darwin22.6.0, NS appkit-2299.77 Version 13.6.5 (Build 22G621)) of 2024-03-24
Der Programmstart ist ein bisschen umständlich, weil man erst den Paketinhalt des Programms anzeigen lassen und dann /Applications/Emacs.app/Contents/MacOS/emacs
per Kontextmenü öffnen muss. Bisher alles wie gehabt.
Das Update ist diesmal sehr zu empfehlen:
Emacs 29.3 is an emergency bugfix release intended to fix several
security vulnerabilities described below.
-
Arbitrary Lisp code is no longer evaluated as part of turning on Org mode.
This is for security reasons, to avoid evaluating malicious Lisp code.
-
New buffer-local variable 'untrusted-content'.
When this is non-nil, Lisp programs should treat buffer contents with
extra caution.
-
Gnus now treats inline MIME contents as untrusted.
To get back previous insecure behavior, 'untrusted-content' should be
reset to nil in the buffer.
-
LaTeX preview is now by default disabled for email attachments.
To get back previous insecure behavior, set the variable
'org--latex-preview-when-risky' to a non-nil value.
-
Org mode now considers contents of remote files to be untrusted.
Remote files are recognized by calling 'file-remote-p'.
Der Wanderer 104
Vergangenen Oktober hatte ich mich zuletzt mit dem in Emacs
integrierten Wörterbuch dictionary.el
und mit osx-dictionary
beschäftigt, mit dem man auch das Wörterbuch in macOS in Emacs nutzen
kann. Dann passierte lange Zeit relativ wenig in meiner dotemacs
,
weil mir dazu die Zeit fehlte. Letzteres ist derzeit eigentlich immer
noch so. Aber manchmal ist es vernünftig, dem Impuls nachzugeben und
sich einmal wieder der Emacs-Konfiguration zuzuwenden, weil es
erholsam und gut ist, sie zu pflegen. Was noch fehlte, war eine echte
Web-Suche, sowohl in der größten Enzyklopädie ever written als
auch in einer Internet-Suchmaschine.
Die folgende Ergänzung habe ich heute mit kleineren Änderungen aus dem
Blog von İsmail Efe Top (via jcs) übernommen. İsmail hatte dort
ursprünglich eine Google-Suche für das Wort at-point formuliert. Ich
habe das als eine Anregung genommen und für meine Zwecke leicht
angepasst, weil es tatsächlich praktisch ist und eine schöne Ergänzung
zu meiner Lexikon-Suche darstellt:
(defun wikipedia-search-word-at-point ()
"Search the current word on German Wikipedia using browse-url."
(interactive)
(let ((word (thing-at-point 'word)))
(if word
(browse-url (concat "https://de.wikipedia.org/w/index.php?search=" word))
(message "No lemma found at point."))))
(global-set-key (kbd "M-ä") 'wikipedia-search-word-at-point)
(defun metager-search-word-at-point ()
"Search the current word on MetaGer using browse-url."
(interactive)
(let ((word (thing-at-point 'word)))
(if word
(browse-url (concat "https://metager.de/meta/meta.ger3?eingabe=" word))
(message "No term found at point."))))
(global-set-key (kbd "M-Ä") 'metager-search-word-at-point)
Nachdem ich die Eingabe M-#
schon für eine Suche des Terms
at-point im Emacs-Dictionary und M-'
entsprechend für die Suche im
osx-dictionary
belegt hatte, wählte ich M-ä
für die Suche in der
deutschsprachigen Wikipedia und M-Ä
für eine ebensolche in meiner
Standardsuchmaschine MetaGer. Die Ä-Taste wählte ich, weil sie direkt
neben der anderen Taste angeordnet ist. Funktioniert sehr schön, wie
erwartet.
Die Fallback-Lösung (eine Nachricht im Minibuffer) kommt nur zum
Einsatz, wenn der Cursor beim Aufruf der Funktion nicht an einem Term
steht, den er an den Server per browse-url
übergeben könnte. Das
Fallback-Handling im Übrigen verbleibt beim Server; man wird dann ja
auch schon im Webbrowser sein, so dass man dort die Antwort erwartet.
The trouble with AUCTeX 14
AUCTeX 14 ist veröffentlicht worden. Leider gibt es ein Problem beim
Upgrade. Das Setup läuft nicht sauber durch, wenn schon eine frühere
Version von AUCTeX installiert und aktiv ist. Emacs friert ein und
läuft mit einer Prozessorlast von 100 Prozent. In dem Fall hilft
ein beherztes C-g
, um die Endlosschleife zu verlassen.
Mittlerweile gibt es eine Bugfix-Version 14.0.2 auf ELPA. Man sollte
aber weiterhin zunächst die ältere Version deinstallieren, und zwar
auf demselben Weg, mit dem man sie zuvor installiert hatte.
Standardmäßig wäre das der Emacs-eigene Paketmanager package.el
.
Gegebenenfalls sind zuvor zudem Abhängigkeiten zu entfernen, die auf
AUCTeX beruhen, in meinem Fall war das company-auctex
. Dann sollte
die Installation von AUCTeX 14.0.2 von ELPA sauber durchlaufen.
Emacs : GNU Emacs 29.2 (build 1, aarch64-apple-darwin22.6.0, NS appkit-2299.70 Version 13.6.3 (Build 22G436))
of 2024-01-18
Package: 14.0.2
Danach die zuvor entfernten Abhängigkeiten wieder herstellen. Fertig.
Es wäre zu wünschen, dass bei künftigen Versionen nicht ohne weiteres
davon ausgegangen wird, dass man eine Erstinstallation von AUCTeX
vornimmt.
Emacs 29.2
GNU Emacs 29.2 ist heute veröffentlicht worden. ./configure
– make
– make install
lief unter macOS Ventura problemlos durch.
GNU Emacs 29.2 (build 1, aarch64-apple-darwin22.6.0, NS appkit-2299.70
Version 13.6.3 (Build 22G436)) of 2024-01-18
Der Programmstart ist ein bisschen umständlich, weil man erst den Paketinhalt des Programms anzeigen lassen und dann /Applications/Emacs.app/Contents/MacOS/emacs
anklicken muss. Bisher alles wie gehabt.
Emacs 29.1.90 IV
Im zurückliegenden Jahr hatte ich definitiv viel Spaß mit Emacs. Ich
hätte nie damit gerechnet, dass ich mich noch einmal so intensiv mit
meinem wichtigsten Arbeitspferd (neben TeX and Friends und
LibreOffice) beschäftigen würde. Mit der Konfiguration von
Emacs 29 bin ich nun soweit vorangekommen, dass es eigentlich
nur noch um Feinheiten geht.
Vermisst hatte ich im Vanilla Emacs ein Feature, das eigentlich alle
Emacsen out of the box boten, mit denen ich seit 2000 gearbeitet
hatte, nämlich das automatische Kopieren von markiertem Text in die
Zwischenablage. Markierte man Text mit der Maus, landete er direkt,
also ohne weiteres „Kopieren“ oder „Ausschneiden“, im Clipboard und
konnte direkt wieder an einer anderen Stelle eingefügt werden.
Eine Diskussion im Emacs StackExchange seit dem Oktober 2015
half mir weiter. Mehrere Wege führen demnach zum Ziel. Ich habe mich
für die Variable mouse-drag-copy-region
entschieden.
If non-nil, copy to kill ring upon mouse adjustments of the region.
Und aus dem Kill Ring gelangt die Region dann eben auch in die
Zwischenablage. Das wars.
(setq mouse-drag-copy-region t)
Hat nur eine Änderung beim Editieren zur Folge, an die ich mich jetzt
noch gewöhnen müsste: Wenn man einen Hyperlink in Org-Mode einfügen
möchte, markiert man den Anker mit der Maus, gefolgt von C-c C-l
.
Und nun steht im Kill Ring freilich der Anker aus dem Ausgangstext.
Wenn man zuvor schon das Linkziel (meist aus der Adresszeile des
Webbrowsers) kopiert hatte, geht es verloren. Es ist also besser, den
Link erst an dieser Stelle zu kopieren.
Emacs 29.1.90 III
Meine M-x emacs-init-time
liegt mittlerweile nochmal ein bisschen
niedriger, bei 2 Sekunden.
In den letzten Tagen vor allem an den completion-at-point-functions
geschraubt. Bei einem der letzten Updates setzte irgendetwas bei
Company aus. Ich kann es leider nicht nachvollziehen.
Eine lebhafte Diskussion auf emacs-devel
vergangene Woche lenkte
jedenfalls meine Aufmerksamkeit auf die Alternative Corfu mit Cape. Es
wurde vorgeschlagen, Company in Emacs zu integrieren, und Corfu wurde
als bessere Lösung hingestellt. Das kann ich nach einem ersten Test
durchaus bestätigen. Darüber hinaus habe ich ich mir aber auch die
Completion bei AUCTeX endlich mal näher angesehen.
Derzeit läuft bei mir diese Lösung sehr schön:
(use-package corfu
:init
(global-corfu-mode)
:config
(setq corfu-auto t)
(setq corfu-auto-prefix 4)
(setq completion-styles '(basic))
)
(use-package cape
:init
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-tex)
(add-to-list 'completion-at-point-functions #'cape-elisp-block)
(add-to-list 'completion-at-point-functions #'TeX--completion-at-point)
)
(use-package tex
:ensure auctex
:defer nil
:config
(setq TeX-parse-self t) ;; parse on load
(setq TeX-auto-save t) ;; parse on save
(setq-default TeX-master t)
(setq TeX-auto-untabify t)
(setq-default TeX-engine 'luatex)
(setq TeX-electric-escape t)
(setq TeX-insert-braces t)
(setq LaTeX-electric-left-right-brace t)
)
(use-package reftex
:config
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(add-hook 'latex-mode-hook 'turn-on-reftex)
)
Bin mir noch nicht sicher, ob ich auf cape-tex
ganz verzichten kann,
wenn ich TeX--completion-at-point
reinnehme. Geklärt ist nur, dass
diese Funktion bei Cape konfiguriert werden muss, und zwar als letzte
in der Liste. Sie wird erst zusammen mit AUCTeX geladen und steht erst
bereit, nachdem mindestens ein (La)TeX-Buffer geöffnet wurde.
Ansonsten gibt es eine Fehlermeldung, und Corfu/Cape funktionieren gar
nicht mehr.
Für die Completion im Mini-Buffer nutze ich weiterhin Ivy mit Swiper
und Counsel. Im Buffer zum Schreiben jetzt: Corfu mit Cape.
Schön auch zu sehen, dass die Entwicklung solcher Ergänzungen
mittlerweile bei Emacs ein Tempo angenommen hat, das so groß ist, dass
selbst das EmacsWiki und teilweise auch der StackExchange nicht mehr
mitkommen.
Emacs 29.1.90 II
Der Emacs 29.1.90 läuft sehr stabil. Stabiler als Version 29.1, der bei mir bisher zweimal einfror. Wir dürfen uns also auf Version 29.2 freuen. Meine .emacs
habe ich währenddessen in Org-Babel überführt. Die exzessiven Kommentare waren so umfangreich, dass das händische Umarbeiten von Emacs Lisp zu Org-Mode drei Tage dauerte. Nun wird die .emacs
aus der Org-Datei exportiert, und mein Emacs lädt laut M-x emacs-init-time
in 2,5 Sekunden statt in 7,5.