แม้ว่า Emacs (24.3.93.1) จะทำงานได้ดีหากเปิดตัวจาก Finder หากรุ่นเทอร์มินัลเปิดตัว:
/Applications/Emacs.app/Contents/MacOS/Emacs -nw
Emacs ล่มด้วย:
Fatal error 11: Segmentation fault[1] 51512 abort /Applications/Emacs.app/Contents/MacOS/Emacs -nw
.
ดูเหมือนว่าปัญหาเกิดจากบรรทัดเดียวใน init.el
(set-face-attribute 'default nil :font "Menlo-16")
หากบรรทัดนั้นถูกคอมเม้นต์แล้วเวอร์ชันเทอร์มินัลของ Emacs ก็จะเริ่มต้นเช่นกัน
เพื่อระบุสาเหตุของความผิดพลาดนั้นทำให้ฉันใช้เวลาหลายชั่วโมง (ลดการเริ่มต้นของฉันครึ่งต่อครึ่ง)
ฉันทราบว่าในกรณีใด ๆ Emacs จะรับช่วงตัวอักษรและขนาดตัวอักษรใด ๆ ก็ตามที่ระบุไว้ในแอปเทอร์มินัล (โดยทั่วไปแล้วบรรทัดนั้นไม่มีความหมายใน cli)
- โดยทั่วไปแล้วจะมีวิธีที่ดีกว่าในการดีบัก Emacs ที่ล้มเหลวหรือไม่ บางทีใช้ cli debugger บางชนิดที่จะพิมพ์ข้อความอธิบายเพิ่มเติมหรือไม่
- เหตุใดบรรทัดนั้นจึงส่งผลกระทบกับ Emacs ผ่านทาง CLI แต่ไม่เปิดตัวจาก Finder
(condition-case err (set-face-attribute 'default nil :font "Menlo-16") (error (message "Whoops!")))
ฉันยังคงมีข้อผิดพลาดเดียวกันกับข้อความแสดงข้อผิดพลาดเดียวกัน ไม่มีข้อความที่มาจากต้นกำเนิดเพิ่มเติม
GNU Emacs 24.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2013-03-13 on bob.porkrind.org
จากemacsformacosx.comแล้วและ Emacs ก็ไม่ผิดพลาด ดังนั้นมันจะต้องเป็นข้อบกพร่องในรุ่นที่ใหม่กว่า ฉันจะยื่นรายงานข้อผิดพลาด
M-x report-emacs-bug
(ทันที): นักพัฒนาของ Emacs จะนำคุณผ่านสิ่งที่คุณสามารถทำได้เพื่อช่วยแก้ไขปัญหา