hi Daniel! Custom color-scheme is done now! ;-D But we have a problem... :-(
It's OK to test this code in the REPL: --------------------cut------------------- (use-modules (ice-9 colorized)) (add-color-scheme! `((,(lambda (data) (and (number? data) (> data 10000))) MY-LONG-NUM ,color-it (RED)))) (activate-colorized) --------------------end------------------- But when I put these lines into our ~/.guile, it throw error: ----------------err msg---------------- In /usr/local/share/guile/2.0/ice-9/colorized.scm: 31: 0 [activate-colorized] /usr/local/share/guile/2.0/ice-9/colorized.scm:31:20: In procedure activate-colorized: /usr/local/share/guile/2.0/ice-9/colorized.scm:31:20: In procedure car: Wrong type argument in position 1 (expecting pair): () ------------------end------------------ Seems (fluid-ref *repl-stack*) is not a pair/list when REPL is just started? Please checkout here: https://github.com/NalaGinrut/guile-colorized/blob/upstream/ice-9/colorized.scm#L31 Thanks! On Tue, 2012-12-04 at 13:34 +0800, Daniel Hartwig wrote: > On 4 December 2012 13:19, nalaginrut <nalagin...@gmail.com> wrote: > > Hi Daniel! > > I believe this patch simplified my work, and 'colorized' module has been > > finished, I'm testing and debugging. > > I'll post it when it's all done. > > Glad to hear it. > > Attached is an alternate patch that handles before-print-hook and > *unspecified* outside of the custom print procedure, to avoid the need > for boilerplate there. > > -- > scheme@(guile-user)> (define (repl-print* repl val) > (format #t "~20@y" val) > (newline)) > scheme@(guile-user)> (use-modules (system repl common)) > scheme@(guile-user)> (repl-option-set! (car (fluid-ref *repl-stack*)) > 'print repl-print*) > scheme@(guile-user)> (use-modules (srfi srfi-1)) > scheme@(guile-user)> (iota 20) > $1 = (0 1 2 3 4 5 6 7 …)