programmatūra · 6 min · 25.08.2026

Emacs 31.1 ieslēdz peli terminālī pēc noklusējuma, jaunpienācēju tēma uzstāda 48 opcijas

GNU Emacs 31.1 iznāca 24. augustā. Terminālī tagad pēc noklusējuma ieslēdzas xterm-mouse-mode, tāpēc pele darbojas bez nevienas konfigurācijas rindas. Otra pamanāmā izmaiņa ir tēma newcomers-presets, kas uzstāda 48 lietotāja opcijas tiem, kas Emacs atver pirmo reizi.

Kopš iepriekšējā funkciju laidiena Emacs 30.1 pagājuši 18 mēneši. Laidiena paziņojums uzskaita astoņas galvenās izmaiņas. Fails etc/NEWS zarā emacs-31 ir 4301 rinda ar 523 atsevišķiem ierakstiem.

Pele terminālī strādā uzreiz

Līdz šim peli terminālī vajadzēja ieslēgt pašam. Tagad xterm-mouse-mode startē visos saderīgajos termināļos. Saderīgs nozīmē termināli, kas ļauj Emacs lasīt un rakstīt operētājsistēmas starpliktuvi, kā arī nodod peles pogu un kustību notikumus.

Kompromiss ir aprakstīts pašā NEWS failā: ar ieslēgtu peles režīmu kopēšanai starpliktuvē jālieto Emacs taustiņu kombinācijas, nevis termināļa savas. Veco uzvedību atgriež, uzstādot xterm-mouse-mode uz nil.

Blakus tam parādījusies opcija xterm-update-cursor. Emacs sūta termināļa vadības secības, lai kursora forma un krāsa TTY režīmā atbilstu tam, kas uzstādīts grafiskajā logā. Teksta režīma kadri tagad atbalsta arī bērnu kadrus caur tty-child-frames. Tas nozīmē, ka Posframe un Corfu stila uzlecošie logi beidzot darbojas terminālī.

Pati opcija Emacs kodā ir jau ilgi. Praksē tā nozīmēja rindu (xterm-mouse-mode 1) init failā, ko ierakstīja tie, kas jau zināja par tās esamību. Tagad terminālī klikšķis pārvieto kursoru un vilkšana atlasa tekstu bez neviena iestatījuma.

Jaunpienācēju tēma uzstāda 48 opcijas

Tēmu newcomers-presets uzrakstījis Philip Kaludercic. Fails ir 174 rindas garš. Tajā uzskaitītas 48 lietotāja opcijas plus viens sīkrežīms, kas tēmu ieslēdz startā.

Sadalījums pa grupām: deviņas opcijas attiecas uz papildināšanu minibuferī, astoņas uz peli, astoņas uz rediģēšanu, septiņas uz versiju kontroli, četras uz izskatu, trīs uz stāvokļa saglabāšanu starp sesijām, trīs uz Dired, trīs uz kadriem un logiem, divas uz pakotnēm un viena uz kompilācijas buferi.

Praktiski jaunam lietotājam uzreiz strādā electric-pair-mode, delete-selection-mode, which-key-mode, savehist-mode, save-place-mode, recentf-mode un editorconfig-mode. Tabulācijas rakstzīmes atslēgtas ar indent-tabs-mode uz nil. Programmēšanas režīmos tēma pieliek display-line-numbers-mode, flymake-mode un flyspell-prog-mode.

Mērķis ir dot labāku sākumpunktu lietotājiem, kuri citādi justos pārslogoti, pirmo reizi sākot darbu ar Emacs, bez invazīvām izmaiņām esošo lietotāju noklusējumos. Opcijas šajā tēmā nedrīkst traucēt labākas izpratnes veidošanu par Emacs, piemēram, ieslēdzot emulācijas režīmus.

Tas ir komentārs tēmas pirmkoda failā. Tēma pati par sevi neieslēdzas. NEWS to formulē tieši: šīs opcijas būtu pārāk invazīvas, lai tās uzstādītu pēc noklusējuma. Aprakstu uztur Info mezgls (emacs) Newcomers Theme.

Emacs tēma nav tikai krāsu shēma. Tā ir vispārīga iestatījumu kopa, kurai nemaz nav jāskar izskats. Tāpēc newcomers-presets tehniski ir tēma, kaut tā nemaina nevienu krāsu. Tā vietā tā ieslēdz context-menu-mode, pixel-scroll-mode, repeat-mode, tab-bar-history-mode un septiņas versiju kontroles opcijas, sākot ar vc-follow-symlinks.

Konfigurācija pārceļas uz user-lisp/

Emacs konfigurācijas mapē tagad var izveidot apakšmapi user-lisp/. Failus no tās Emacs pats baitkompilē, izskrāpē autoload atzīmes un pievieno load-path. Skrāpēšanu atslēdz ar user-lisp-auto-scrape uz nil, bet mapes atrašanās vietu maina opcija user-lisp-directory. Komanda prepare-user-lisp to pašu izpilda pēc pieprasījuma.

Mainījusies arī ielādes secība. Fails site-start.el tagad ielādējas pirms lietotāja early-init.el. Agrāk secība bija early-init.el, tad site-start.el un tad parastais init fails. Izmaiņa ļauj sistēmas administratoram uzstādīt lietas, ko līdz šim varēja darīt vienīgi no early-init.el, piemēram, papildināt package-directory-list.

Pakotnes var izlasīt pirms instalēšanas

Opcija package-review-policy nosaka, kuras pakotnes lietotājs redz pirms jebkuras apstrādes. Pārbaude var ietvert lejupielādētā pirmkoda lasīšanu, diff starp lejupielādēto kodu un iepriekšējo instalāciju vai ChangeLog rādīšanu. Līdz šim to nācās darīt ar rokām katram, kas neuzticējās kārtējam ELPA atjauninājumam.

Pakotņu apstrādē ir vēl četras izmaiņas. Komanda package-autosuggest pēc iebūvētas datubāzes piedāvā ELPA pakotnes, ja pašreizējā bufera saturam nav piemērota galvenā režīma. Sīkrežīms package-autosuggest-mode to pašu rāda kā pogu stāvokļa joslā. Opcija package-retention-policy ļauj paturēt vecās versijas pēc jauninājuma, pēc noklusējuma tā ir nil. Pakotnes atinstalēšana tagad izmet tās mapi no load-path. Pirms instalēšanas pakotnes tiek pārbaudītas pret rekursīvām atkarībām. Ja kāda atkarība nav pieejama nevienā arhīvā no package-archives, pakotne parādās kā nepieejama ar norādītu iemeslu.

Pārējās izmaiņas

Buferi *grep* un *xref* atbalsta rediģējamus režīmus, tāpēc meklēšanas rezultātus var labot uz vietas. Logu sadalīšanas komandas izvēlas virzienu pēc jaunās opcijas split-window-preferred-direction, kuras noklusējums ir longest. Klāt trīs izkārtojuma komandas: window-layout-rotate-clockwise, window-layout-flip-topdown un window-layout-transpose.

Minibufera papildināšana ieguva completion-eager-display un completion-eager-update, kas *Completions* buferi zīmē un atjauno rakstīšanas laikā. Lielas papildināšanas tabulas parādās ātrāk, jo Emacs sākumā ievieto tikai redzamos kandidātus. Tree-sitter gramatikas var instalēties pašas caur treesit-auto-install-grammar ar vērtībām ask, ask-dir vai always. Funkciju sarakstu ar piemēriem uztur Mastering Emacs.

Divas lietas izmestas pavisam. Vecais unexec izmetējs, kas bija atzīmēts par novecojušu jau Emacs 27 laikā, vairs nav kodā. Būvējumi tagad iet vienīgi caur pārnesamo izmetēju. Emacs savu ctags programmu vairs nebūvē un neinstalē. Vietā projekts iesaka Universal Ctags, bet veco uzvedību var izsaukt ar etags --ctags.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie