Saya telah melihat progncukup 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!
progndiperlukan: emacs.stackexchange.com/questions/39172/…
use-packageakan membungkusprognAnda: config bentuk jika hilang. Cobalah: Anda bisa memberi titik di akhir a(use-package ...)dan meneleponM-x pp-macroexpand-last-sexpuntuk melihat bagaimana makro diperluas. Anda akan melihat bahwa itu identik untuk dua contoh ini.