2012-11-25 4 views
2

정보 페이지에는이 선언이 언급되어 있지 않습니다. 1, 2 또는 3으로 설정되어있는 곳을 찾았지만 가능한 다른 옵션은 무엇입니까? 그것은 정확히 무엇을합니까?(declare (indent *))는 어떻게 작동합니까?

숫자가 매크로 이름 다음에 오는 줄 수를 의미하는 것처럼 보입니다. 그러나 그 경우에는 모든 양식을 첫 번째 것으로 들여 쓰기하도록 어떻게 말합니까?

예 :

(-iter 
    (with (a b c)) 
    (for i from 0 to 5) 
    (collect i) 
    (message "i: %s" i)) 
:

(-iter 
    (with (a b c)) 
    (for i from 0 to 5) 
    (collect i) 
    (message "i: %s" i)) 

(declare (indent 256)) (또는 어떤 충분히 큰 수)이 수행합니다

(-iter 
    (with (a b c)) 
    (for i from 0 to 5) 
    (collect i) 
    (message "i: %s" i)) 

(declare (indent 2))이 수행합니다

(declare (indent 1))이 수행

임의의 큰 번호를 제공하는 것을 제외하고는 마지막 하나를하고 싶습니다. "모든 것"또는 그 효과를 알리는 방법이 있습니까?

+0

무엇을하려고합니까? 특수 양식에 자체 들여 쓰기 규칙이있는 것을 원하지만 왜 그런가? – tripleee

답변

1

그것은 수동으로 같습니다

C-H 나g(elisp) Indenting MacrosRET FYI declare의 인덱스 항목에 링크

. (Emacs 24.2.1)

+0

바로,'declare'에 대한 docstring은'(cl)'info 페이지를 가리키고 있음을 알았습니다. 아마도 이것을 문서 버그로보고 할 수 있습니다. 정보는 거기에 있습니다. 그러나 그 docstring은'elisp ('elisp) '매뉴얼에서 당신을 멀어지게합니다. 두 페이지 모두에 연결되어야합니다. – phils

관련 문제