+ (eval . (put 'with-store 'scheme-indent-function 1))
+ (eval . (put 'with-error-handling 'scheme-indent-function 0))
+ (eval . (put 'with-mutex 'scheme-indent-function 1))
+ (eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
+ (eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
+ (eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
+ (eval . (put 'signature-case 'scheme-indent-function 1))
+ (eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
+ (eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
+ (eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
+ (eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
+ (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
+ (eval . (put 'with-derivation-substitute 'scheme-indent-function 1))
+
+ (eval . (put 'syntax-parameterize 'scheme-indent-function 1))
+ (eval . (put 'with-monad 'scheme-indent-function 1))
+ (eval . (put 'mbegin 'scheme-indent-function 1))
+ (eval . (put 'mwhen 'scheme-indent-function 1))
+ (eval . (put 'munless 'scheme-indent-function 1))
+ (eval . (put 'mlet* 'scheme-indent-function 2))
+ (eval . (put 'mlet 'scheme-indent-function 2))
+ (eval . (put 'run-with-store 'scheme-indent-function 1))
+ (eval . (put 'run-with-state 'scheme-indent-function 1))
+ (eval . (put 'wrap-program 'scheme-indent-function 1))
+
+ ;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols.
+ ;; This notably allows '(' in Paredit to not insert a space when the
+ ;; preceding symbol is one of these.
+ (eval . (modify-syntax-entry ?~ "'"))
+ (eval . (modify-syntax-entry ?$ "'"))
+ (eval . (modify-syntax-entry ?+ "'"))))