In C I can use `#ifdef' .. `#endif' to "comment out" code segments.
In Scheme, one can use `#|' and '|#' which is OK but requires dealing with both ends of the segment to switch on / off. And emacs (v 24.5) scheme mode does not always fontify the buffer correctly with #|...|#. I can use (if #f (begin ....)) but it's not pretty and indents 4 spaces (or an ugly 1 space). I tried using cond-expand but it does not work as expected: scheme@(guile-user)> (cond-expand-provide (current-module) '(abc)) $1 = (abc) scheme@(guile-user)> (cond-expand (abc #t)) While compiling expression: Syntax error: unknown file:2:0: cond-expand: unfulfilled cond-expand in form (cond-expand (abc #t)) My current attempt is to add this: (define-syntax-rule (if-true form ...) (begin form ...)) (define-syntax-rule (if-false form ...) (begin)) (if-false (define x ...) ... ) (if-true (define x ...) ... ) Any other solutions / suggestions?