(cond-expand
(chicken-4
;; chicken 4 stuff here
(use readline)
(current-input-port (make-readline-port))
(install-history-file #f "/.csi.history")
)
(chicken-5
(import (chicken load))
(import (chicken format))
(import (chicken process-context))
(import (chicken process signal))
(load-verbose #f)
(let ()
(unless (get-environment-variable "INSIDE_EMACS")
(import breadline)
(import breadline-scheme-completion)
(history-file (format "~a/.csi_history" (get-environment-variable "HOME")))
(stifle-history! 10000)
(completer-word-break-characters-set! "\"\'`;|(")
(completer-set! scheme-completer)
(basic-quote-characters-set! "\"|")
(variable-bind! "blink-matching-paren" "on")
(paren-blink-timeout-set! 200000)
(let ((handler (signal-handler signal/int)))
(set-signal-handler! signal/int
(lambda (s)
(cleanup-after-signal!)
(reset-after-signal!)
(handler s))))
(on-exit reset-terminal!)
(current-input-port (make-readline-port))))
))