Am I right in saying that write always flushes stdout instead of the port it's passed?
(xdef 'write (lambda args (if (pair? args) (write (ac-denil (car args)) (if (pair? (cdr args)) (cadr args) (current-output-port)))) (flush-output) 'nil))
-----