Katakanlah saya memiliki fungsi yang terlihat seperti berikut (seperti yang sering terjadi saat mencetak keluaran elisp).
(defun my-example-function () (let ((a (do-something)) (b (do-something))) (setq someone me) (with-current-buffer b (do-that (or this (and that those))) (format "%s" a))))
Saya ingin perintah yang dapat mengubah itu menjadi sesuatu yang manusia akan tulis, seperti berikut ini.
(defun my-example-function ()
(let ((a (do-something))
(b (do-something)))
(setq someone me)
(with-current-buffer b
(do-that (or this (and that those)))
(format "%s" a))))
Saya mengerti bahwa ada lebih dari satu cara untuk memformat sepotong kode elisp , dan manusia yang berbeda melakukannya secara berbeda. Selanjutnya, saya mengerti itu agak subjektif. Tetapi harus cukup mudah untuk membuat seperangkat aturan yang menghasilkan kode yang setidaknya layak.
Saya sebenarnya sulit melakukan ini sendiri beberapa waktu lalu, tetapi saya pikir lebih baik untuk bertanya sebelum saya menemukan kembali kemudi.
Catatan, saya mengetahui fungsi pp , tetapi tidak cukup sampai di sana:
(defun my-example-function nil
(let
((a
(do-something))
(b
(do-something)))
(setq someone me)
(with-current-buffer b
(do-that
(or this
(and that those)))
(format "%s" a))))
pp
.