Việc thụt mã Emacs của mã lac Emacs thực sự tuyệt vời, ngoại trừ một điều:
(defconst one-to-ten '(one two three
four five six seven
eight nine ten))
Đây thực sự là cách ưa thích để thụt lề khối này? Như trái ngược với
(defconst one-to-ten '(one two three
four five six seven
eight nine ten))
Tôi thấy nó đặc biệt khó hiểu khi so sánh với mặc định cho alists:
(defconst one-to-ten '((one . 1) (two . 2) (three . 3)
(four . 4) (five . 5) (six . 6) (seven . 7)
(eight . 8) (nine . 9) (ten . 10)))
Có một lý do cho hành vi này? Tôi có thể có thể hiểu nó cho các danh sách được trích dẫn lại, vì nó sẽ mang lại sự thụt lề tốt hơn cho các macro, nhưng còn các danh sách thì sao?
Các quy ước mã hóa có thể nói rằng theo quy ước, chúng tôi tôn trọng thụt lề mặc định, nhưng điều đó không cung cấp lý do tại sao thụt lề mặc định là như vậy. Không có gì trong các quy ước mã hóa nói rằng tại sao một danh sách không đổi được thụt vào như nó là. (Đây là giống như một phụ huynh mệt trả lời, để đáp ứng với 99 " "Tại sao?" Chỉ vì ".)
—
Drew
@EmacsUser: Tất nhiên rồi. Ý bạn là sao? Câu hỏi được đặt ra là " Có lý do cho hành vi này không? " Tại sao lại quy ước thụt lề này? Các quy ước không rơi khỏi bầu trời. Và đôi khi chúng được thay đổi. Nếu câu trả lời duy nhất được đưa ra cho Tại sao? là " Đó là quy ước ", đó không phải là câu trả lời nào cả.
—
vẽ
@EmacsUser: Không ai tranh cãi với "quan điểm" của bạn. Câu hỏi là một trong những tốt. Có thể có lý do tốt cho việc chọn mặc định này. Hay không. Có thể có lý do cho một vết lõm thay thế. Không có gì sai khi đặt câu hỏi.
—
vẽ
@ Clément: FWIW, cá nhân tôi nghĩ rằng đây là một lỗi và đã có những thay đổi xung quanh phần này của chế độ Elisp "gần đây", vì vậy bạn có thể muốn
—
Stefan
M-x report-emacs-bug
.
Indent the file using the default indentation parameters.