[racket] quack mode indentation control for define-* with-* etc

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Mon Nov 29 15:14:34 EST 2010

YC wrote at 11/29/2010 02:53 PM:
> anyone knows how to control indentations in quack mode for define and 
> with like keywords?

The preferred way is to edit your ".emacs" file to put the 
"scheme-indent-function" property on the Emacs Lisp symbol that matches 
the Racket/Scheme symbol for which you wish to specify the special 
indent behavior.  You can find examples of this buried in "quack.el".

There are other ways, but they are not recommended.  For example, you 
can defadvice the function "scheme-indent-function" (don't confuse the 
function with the property name) to add whatever behavior you want.  Or 
you can add a "scheme-mode-hook" callback to set the 
"lisp-indent-function" buffer-local variable to point to a function 
other than "scheme-indent-function".

Also, I should probably go through the latest "racket/base" or "racket" 
language and add to Quack any appropriate "scheme-indent-function" props 
and special-syntax highlighting.  If that's all you want, I will move 
that up my TODO list.

(BTW, I don't know how on-topic Quack is for the Racket list, so people 
might want to just email me directly.)


Posted on the users mailing list.