Emacs 31.1 - tuż za rogiem
Główne zmiany w Emacs 31.1
Instalacja i budowanie
- Usunięto stary dumper unexec (był przestarzały od wersji 27).
- Nie buduje się już starego programu ctags (używaj Universal Ctags; jeśli potrzebujesz starego zachowania — etags --ctags).
- Zmodyfikowano domyślne flagi GCC na 32-bitowym x86.
- Nowa opcja ./configure --with-systemduserunitdir.
Uruchamianie (Startup)
- W obsługujących to terminalach tryb xterm-mouse-mode jest teraz włączony domyślnie (lepsze wsparcie myszy i schowka systemowego).
- Plik site-start.el ładuje się przed early-init użytkownika.
- Emacs domyślnie przygotowuje katalog user-lisp/ (w katalogu konfiguracyjnym), który jest automatycznie dodawany do load-path, byte-kompilowany i ma generowane autoloady. Można to wyłączyć.
Ogólne zmiany w edytorze
- Zmienna line-spacing obsługuje teraz cons cell, pozwalając określić odstępy nad i pod linią (przydatne do wyśrodkowania pionowego).
- prettify-symbols-mode lepiej radzi sobie z znakami, których nie da się wyświetlić.
- Wsparcie dla child frames na terminalach TTY (ważne dla pakietów typu Posframe, Corfu itp.).
- Tryb tty-tip-mode do pokazywania tooltipów na TTY.
- Kilka zmiennych twarzy font-lock-* zostało oznaczonych jako przestarzałe — lepiej dostosowywać twarze bezpośrednio.
Minibuffer i uzupełnianie (Completion)
Bardzo dużo ulepszeń:
- Możliwość natychmiastowego pokazywania bufora *Completions* i jego dynamicznej aktualizacji podczas pisania.
- Lepsze wsparcie dla stylu flex (szybszy i dokładniejszy).
- Nowe opcje formatowania i nawigacji w *Completions* (szczególnie w trybie pionowym i poziomym).
- Ulepszone completion-preview (lepsza integracja z Corfu/Company).
- RET w minibufferze teraz wybiera zaznaczoną pozycję z completions.
- Lepsze zarządzanie historią w funkcjach find-function, find-variable itp.
Okna i ramki (Windows & Frames)
- Nowe komendy do rotowania i przerzucania układu okien (C-x w t/r, C-x w f).
- Lepsze zarządzanie cyklem okien (other-window, windmove).
- Ulepszone mechanizmy display-buffer, quit-window, quit-restore.
- Domyślny kierunek dzielenia okna (split-window-preferred-direction) zależy teraz od orientacji ekranu.
- Lepsze wsparcie dla buforów pośrednich (indirect buffers).
- Komendy do łączenia/rozłączania ramek (split-frame, merge-frames).
Dired
- Nowe opcje dotyczące tworzenia plików, sprawdzania symlinków, ukrywania szczegółów.
- Lepsze radzenie sobie z nazwami plików zawierającymi nowe linie.
- Możliwość klikania w nazwę katalogu nadrzędnego.
VC (kontrola wersji)
Dużo ulepszeń, szczególnie dla Git i Mercurial:
- Lepsze wsparcie dla multi-worktree.
- Nowe komendy do cherry-pick, revert revision, logów branchy.
- Możliwość edycji komentarzy commita bezpośrednio z Log View.
- Asynchroniczne check-in dla Git/Hg.
- Lepsze zarządzanie stashami, konfliktami itp.
Inne tryby i pakiety
- Diff i Ediff — nowe komendy (m.in. usuwanie wszystkich hunków oprócz bieżącego).
- Python — kilka poprawek (m.in. domyślny interpreter, powtarzalne indent-shift, wsparcie electric-layout).
- Package — sporo ulepszeń w menedżerze pakietów (async refresh, isolate, autosuggest, lepszy interfejs).
- Grep — dodano tryb edycji wyników (e).
- Xref, Imenu, Customize i wiele innych drobnych usprawnień.
Podsumowanie
Emacs 31 przynosi sporo ergonomicznych i UX-owych ulepszeń (szczególnie w obszarze minibuffera/uzupełniania, okien i ramek), lepsze wsparcie dla nowoczesnych terminali oraz dalszą modernizację wewnętrznych mechanizmów (okna, bufor display, VC, Packages).

Komentarze
Prześlij komentarz