Emacs 31.1의 새로운 기능

1 week ago 18

Emacs 31.1은 단일 대형 기능보다 완성·창 관리·Tree-sitter·VC·터미널 사용성을 폭넓게 개선했으며, 새 가비지 컬렉터 도입은 Emacs 32로 연기됨 호환 터미널에서 마우스가 기본 활성화되고 TTY 자식 프레임·툴팁·24비트 색상을 지원하며, 완성 UI는 즉시 표시·갱신·세로 탐색·대규모 후보 렌더링이 개선됨 Tree-sitter는 문법 자동 설치, 범용 모드, 다중 언어 파서, 구조 탐색·코드 접기·들여쓰기 사용자화를 강화하고 mhtml-ts-mode, go-work-ts-mode 같은 모드를 추가함 VC와 편집 워크플로는 Git worktree·Mercurial share 관리, incoming/outgoing diff, cherry-pick·리비전 되돌리기, Grep·Occur·Xref 결과 직접 편집을 지원함 unexec와 자체 ctags, 여러 오래된 라이브러리가 제거됐고 스크립트의 lexical binding 기본화, 문자열 변경 규칙 강화, Tree-sitter 변수명 변경 등은 기존 설정과 Lisp 패키지의 호환성 점검이 필요함 시작·빌드·호환성 변화 Emacs는 temacs에 표준 Lisp 라이브러리를 적재한 실행 상태를 저장해 시작 시간을 줄이며, 메모리 세그먼트를 바이너리에 직접 덤프하던 unexec가 완전히 제거됨 Emacs 내부 구조를 표준화해 직렬화하는 portable dumper가 계속 사용되며 m68k a.out도 지원함 기존 Emacs ctags는 더 이상 빌드·설치되지 않아 Universal Ctags 사용이 권장됨 이전 동작은 etags --ctags 또는 이를 감싼 셸 스크립트로 유지할 수 있음 site-start.el이 사용자 early-init.el보다 먼저 로드돼 사이트 관리자가 package-directory-list 같은 초기 설정을 적용할 수 있음 설정 디렉터리의 user-lisp/는 하위 디렉터리까지 바이트 컴파일하고 autoload를 수집해 load-path에 추가함 user-lisp-auto-scrape로 끄거나 user-lisp-directory로 위치를 바꿀 수 있으며 prepare-user-lisp로 수동 실행 가능함 새 --with-systemduserunitdir 옵션은 systemd 사용자 유닛 설치 위치를 지정하며 기본값은 ${prefix}/usr/lib/systemd/user임 32비트 x86과 GCC 4 이상 조합에서는 GCC...

Read Entire Article