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:
Peter Feigl 2016-05-01 13:43:37 +02:00 committed by Jorgen Schaefer
parent 7bced5ed11
commit 8cfd9ba1a9

View file

@ -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