Il progetto GNU ha pubblicato la versione del suo editor di testo GNU Emacs 30.1 (primo rilascio della serie 30.x, il ramo 30.0 è stato utilizzato per lo sviluppo). Fino al rilascio di GNU Emacs 24.5, il progetto è stato guidato personalmente da Richard Stallman, che ha passato la leadership a John Wiegley nell'autunno del 2015. Il codice del progetto è scritto nei linguaggi C e Lisp e distribuito sotto licenza GPLv3.
Tra le novità:
- È inclusa per default la possibilità di compilare i file Lisp in codice eseguibile utilizzando la libreria libgccjit, invece di utilizzare la compilazione JIT. Per disabilitare la compilazione integrata durante la costruzione, è necessario specificare l'opzione ‘—with-native-compilation=no’; altrimenti, tutti i pacchetti Elisp forniti con Emacs verranno precompilati in codice eseguibile.
- È stato preparato un porting dell'editor per la piattaforma Android.
- È supportato nativamente il formato JSON, non legato alla libreria libjansson.
- Sulle piattaforme NetBSD e OpenBSD, per impostazione predefinita, viene utilizzata la libreria ossaudio per gestire l'audio.
- È stata aggiunta l'opzione ‘—disable-gc-mark-trace’ per disabilitare il buffer di tracciamento del garbage collector. Disabilitarlo può accelerare la raccolta dei rifiuti di circa il 5%, ma complica il debug dei problemi.
- È stato aggiunto il supporto per la specifica Unicode 15.1.
- L'implementazione della modalità Org è stata aggiornata alla versione 9.7.
- Migliorata l'usabilità sui dispositivi con schermo tattile. Supportati molti gesti di controllo.
- Aggiunti attributi per gestire lo stile di sottolineatura (ad esempio, sottolineatura a doppia linea, a punti e a tratteggi). Supportati sottolineature colorate.
- Su tutte le piattaforme tranne macOS e GNUstep (Nextstep), è stata implementata la possibilità di spostare la barra degli strumenti verso il basso.
- Risolta la vulnerabilità CVE-2025-1244 nel gestore delle pagine man, che consentiva la sostituzione di comandi shell.
- Risolta la vulnerabilità CVE-2024-53920 nel sistema di controllo della sintassi Flymake, che consentiva l'esecuzione di codice arbitrario durante la visualizzazione o l'editing di codice Lisp appositamente formattato.

Fonte: opennet.ru

