ฉันเห็นว่ามีprogn
การใช้งานค่อนข้างมากเมื่อฉันเรียกดูไฟล์กำหนดค่าของผู้ใช้ Emac ที่มีประสบการณ์ ฉันพบคำอธิบายที่ดีของprogn
สิ่งนี้ แต่สิ่งที่ฉันอยากรู้จริงๆคือประโยชน์ของการใช้ฟังก์ชั่นนี้คืออะไร? ยกตัวอย่างเช่นตัวอย่างนี้ (นำมาจากการกำหนดค่าของ Sacha Chua ):
(use-package undo-tree
:defer t
:ensure t
:diminish undo-tree-mode
:config
(progn
(global-undo-tree-mode)
(setq undo-tree-visualizer-timestamps t)
(setq undo-tree-visualizer-diff t)))
มีความแตกต่างที่สำคัญระหว่างการกำหนดค่าข้างต้นและสิ่งนี้หรือไม่?
(use-package undo-tree
:defer t
:ensure t
:diminish undo-tree-mode
:config
(global-undo-tree-mode)
(setq undo-tree-visualizer-timestamps t)
(setq undo-tree-visualizer-diff t))
ฉันรู้สึกว่าตัวอย่างแรกสะอาดกว่าแม้ว่ามันจะมีไวยากรณ์มากกว่าและปรีชาของฉันก็คืออาจมีการเพิ่มประสิทธิภาพบางอย่างจากการใช้progn
แต่ฉันไม่แน่ใจ ขอบคุณสำหรับข้อมูลเชิงลึกใด ๆ !
progn
ต้องการ: emacs.stackexchange.com/questions/39172/…
use-package
จะprogn
ล้อมรอบของคุณ: รูปแบบการกำหนดค่าถ้ามันหายไป ลองทำดู: คุณสามารถวางจุดท้าย(use-package ...)
และเรียกM-x pp-macroexpand-last-sexp
เพื่อดูว่าแมโครขยายได้อย่างไร คุณจะเห็นว่ามันเหมือนกันสำหรับสองตัวอย่างนี้