Add R7RS syntax forms to scheme.el
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add a number of special forms introduced in R7RS-small. * lisp/progmodes/scheme.el (scheme-indent-function): Same. Copyright-paperwork-exempt: yes
This commit is contained in:
parent
7bced5ed11
commit
8cfd9ba1a9
1 changed files with 22 additions and 1 deletions
|
@ -314,7 +314,16 @@ See `run-hooks'."
|
|||
"and" "or" "delay" "force"
|
||||
;; Stefan Monnier <stefan.monnier@epfl.ch> says don't bother:
|
||||
;;"quasiquote" "quote" "unquote" "unquote-splicing"
|
||||
"map" "syntax" "syntax-rules") t)
|
||||
"map" "syntax" "syntax-rules"
|
||||
;; For R7RS
|
||||
"when" "unless" "letrec*" "include" "include-ci" "cond-expand"
|
||||
"delay-force" "parameterize" "guard" "case-lambda"
|
||||
"syntax-error" "only" "except" "prefix" "rename" "define-values"
|
||||
"define-record-type" "define-library"
|
||||
"include-library-declarations"
|
||||
;; SRFI-8
|
||||
"receive"
|
||||
) t)
|
||||
"\\>") 1)
|
||||
;;
|
||||
;; It wouldn't be Scheme w/o named-let.
|
||||
|
@ -547,6 +556,18 @@ indentation."
|
|||
(put 'call-with-values 'scheme-indent-function 1) ; r5rs?
|
||||
(put 'dynamic-wind 'scheme-indent-function 3) ; r5rs?
|
||||
|
||||
;; R7RS
|
||||
(put 'when 'scheme-indent-function 1)
|
||||
(put 'unless 'scheme-indent-function 1)
|
||||
(put 'letrec* 'scheme-indent-function 1)
|
||||
(put 'parameterize 'scheme-indent-function 1)
|
||||
(put 'define-values 'scheme-indent-function 1)
|
||||
(put 'define-record-type 'scheme-indent-function 1) ;; is 1 correct?
|
||||
(put 'define-library 'scheme-indent-function 1)
|
||||
|
||||
;; SRFI-8
|
||||
(put 'receive 'scheme-indent-function 2)
|
||||
|
||||
;;;; MIT Scheme specific indentation.
|
||||
|
||||
(if scheme-mit-dialect
|
||||
|
|
Loading…
Add table
Reference in a new issue