[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 8cfd9ba 2/2: Add R7RS syntax forms to scheme.el
From: |
Jorgen Schäfer |
Subject: |
[Emacs-diffs] master 8cfd9ba 2/2: Add R7RS syntax forms to scheme.el |
Date: |
Sun, 01 May 2016 11:48:08 +0000 |
branch: master
commit 8cfd9ba1a97a02157c6b730cca9d61b0fb7de53b
Author: Peter Feigl <address@hidden>
Commit: Jorgen Schaefer <address@hidden>
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
---
lisp/progmodes/scheme.el | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index c621758..1cb71fa 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -314,7 +314,16 @@ See `run-hooks'."
"and" "or" "delay" "force"
;; Stefan Monnier <address@hidden> 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