Saya telah melihat progn
cukup banyak digunakan ketika saya menelusuri file konfigurasi pengguna Emacs yang berpengalaman. Saya menemukan penjelasan yang bagus tentang iniprogn
, tetapi yang paling saya ingin tahu adalah, apa manfaat menggunakan fungsi ini? Ambil contoh cuplikan ini (diambil dari konfigurasi 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)))
Apakah ada perbedaan besar antara konfigurasi di atas dan ini?
(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))
Saya merasa contoh pertama entah bagaimana lebih bersih, meskipun memiliki lebih banyak sintaksis, dan intuisi saya adalah bahwa mungkin ada semacam peningkatan kinerja dari penggunaan progn
, tetapi saya tidak yakin. Terima kasih atas wawasannya!
progn
diperlukan: emacs.stackexchange.com/questions/39172/…
use-package
akan membungkusprogn
Anda: config bentuk jika hilang. Cobalah: Anda bisa memberi titik di akhir a(use-package ...)
dan meneleponM-x pp-macroexpand-last-sexp
untuk melihat bagaimana makro diperluas. Anda akan melihat bahwa itu identik untuk dua contoh ini.