Using latest sources from repository all
source-position-XXX identifiers in your script
should be replaced with source-XXX.
And ... &source-information condition type with
accessors & predicate is not exported  at all.
Am I missing something ?

--
Bohdan

On Dec 27, 7:51 am, Abdulaziz Ghuloum <[email protected]> wrote:
> On Dec 26, 2008, at 8:39 PM, kub wrote:
>
> > I asked for help because vim error format settings are somewhat
> > tricky and my hope was that somebody already has this done.
>
> Parsing error messages and compiler output is tricky and no one
> likes to do it.  So, please accept the following solution from
> within Ikarus itself (revision 1729).  The following program
> takes an R6RS script as input and tries to compile it (without
> running it or serializing any of the libraries it depends on),
> and if there is an error with a source position, it runs vim on
> the offending file and positions the cursor accordingly.  It's
> probably easy to modify for emacs, but emacs is probably too
> heavy to fire up for every error message.  You can also modify
> it so that it attempts to recompile the script after you exit
> vim (successfully).
>
> Script follows.  Let me know if you have any suggestions.
>
> Aziz,,,
>
> $  cat ikarus-quickfix
> #!/usr/bin/env scheme-script
>
> (import (ikarus))
>
> (define (compile script-name)
>    (call/cc
>      (lambda (break)
>        (with-exception-handler
>          (lambda (con)
>            (print-condition con (current-output-port))
>            (when (source-position-condition? con)
>              (system
>                (format "vim ~s -c \"goto ~a\""
>                  (source-position-file-name con)
>                  (source-position-character con))))
>            (break))
>          (lambda ()
>            (load-r6rs-script script-name #f #f))))))
>
> (apply
>    (case-lambda
>      [(script script-name) (compile script-name)]
>      [(script . args) (error #f "usage: ~a <script-name>" script)])
>    (command-line))

Reply via email to