[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scheme with vim
From: |
Ricardo Wurmus |
Subject: |
Re: scheme with vim |
Date: |
Wed, 05 Feb 2020 13:58:55 +0100 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Hi Marc,
> # please be quiet
>
> a way to test a code in vim is to use the interpreter as a filter using
> the ! action (:h !) or write in a pipe. if you do that with guile, the
> repl header is printed:
>
> GNU Guile 2.2.4
> Copyright (C) 1995-2017 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> i wrote a wrapper:
>
> guile_as_filter () {
> local x=$( mktemp /tmp/guile-as-filter-XXXXX )
> cat "$@" > $x
> guile -s $x
> rm $x
> }
>
> then i got
>
> ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
> ;;; or pass the --no-auto-compile argument to disable.
> ;;; compiling /tmp/guile-as-filter-RTGLe
> ;;; compiled
> /home/mc/.cache/guile/ccache/2.2-LE-8-3.A/tmp/guile-as-filter-RTGLe.go
>
> is there a way to restrict stderr and stdout to the content produced by
> the actual script ? (also interesting for a quickfix errformat)
Does it make sense for your application to auto compile sources at all?
If not you can disable it by passing “--no-auto-compile” as an option to
your invocation of Guile in “guile_as_filter”.
I also wonder if perhaps it would be better to start a Guile REPL and
have vim send S-expressions to the socket instead of saving a temporary
file and starting a new Guile process every time.
--
Ricardo