โครงการ GNU ได้เผยแพร่ GNU Emacs 30.1 (รุ่นแรกของซีรีย์ 30.x โดยใช้สาขา 30.0 ในการพัฒนา) จนกระทั่งมีการเปิดตัว GNU Emacs 24.5 โปรเจ็กต์นี้ได้รับการพัฒนาภายใต้การนำส่วนตัวของ Richard Stallman ซึ่งส่งมอบตำแหน่งหัวหน้าโครงการให้กับ John Wiegley ในช่วงฤดูใบไม้ร่วงปี 2015 โค้ดโครงการเขียนด้วยภาษา C และ Lisp และเผยแพร่ภายใต้ใบอนุญาต GPLv3
ท่ามกลางการเปลี่ยนแปลง:
- เปิดใช้งานความสามารถในการคอมไพล์ไฟล์ Lisp เป็นโค้ดที่สามารถทำงานได้โดยใช้ไลบรารี libgccjit ตามค่าเริ่มต้น แทนที่จะใช้การคอมไพล์ JIT หากต้องการปิดการใช้งานการคอมไพล์แบบเนทีฟระหว่างการสร้าง คุณต้องระบุตัวเลือก '--with-native-compilation=no' มิฉะนั้น แพ็กเกจ Elisp ทั้งหมดที่มาพร้อม Emacs จะถูกคอมไพล์ไว้ล่วงหน้าเป็นโค้ดที่ปฏิบัติการได้
- ได้เตรียมพอร์ตสำหรับโปรแกรมแก้ไขข้อความบนแพลตฟอร์มเรียบร้อยแล้ว Android.
- มีการรวมการรองรับรูปแบบ JSON ในตัว ไม่ผูกติดกับไลบรารี libjansson
- บนแพลตฟอร์ม NetBSD และ OpenBSD ไลบรารี ossaudio จะถูกใช้ตามค่าเริ่มต้นเพื่อทำงานกับเสียง
- เพิ่มตัวเลือก '--disable-gc-mark-trace' เพื่อปิดใช้งานบัฟเฟอร์การติดตามตัวรวบรวมขยะ การปิดใช้งานจะทำให้การรวบรวมขยะเร็วขึ้นประมาณ 5% แต่ทำให้การดีบักปัญหามีความยากยิ่งขึ้น
- เพิ่มการรองรับข้อกำหนด Unicode 15.1
- การใช้งานโหมด Org ได้รับการอัปเดตเป็นเวอร์ชัน 9.7 แล้ว
- ปรับปรุงประสิทธิภาพบนอุปกรณ์ที่มีหน้าจอสัมผัส มีการนำการรองรับท่าทางการควบคุมมากมายมาใช้แล้ว
- เพิ่มแอตทริบิวต์เพื่อควบคุมรูปแบบการขีดเส้นใต้ (เช่น ขีดเส้นใต้สองเส้น จุด และเส้นประ) มีการนำการรองรับการขีดเส้นใต้สีมาใช้แล้ว
- บนทุกแพลตฟอร์ม ยกเว้น macOS และใน GNUstep (Nextstep) ได้มีการเพิ่มความสามารถในการเลื่อนแถบเครื่องมือลงด้านล่างแล้ว
- แก้ไขช่องโหว่ CVE-2025-1244 ในตัวจัดการหน้าคู่มือ อนุญาตให้แทนที่คำสั่งเชลล์ได้
- แก้ไขช่องโหว่ CVE-2024-53920 ในตัวตรวจสอบไวยากรณ์ Flymake ซึ่งอนุญาตให้มีการเรียกใช้รหัสตามอำเภอใจเมื่อดูหรือแก้ไขรหัส Lisp ที่ได้รับการจัดรูปแบบพิเศษ

ที่มา: opennet.ru
