On 2019-03-29 3:37 am, Thomas Morley wrote:
Am Fr., 29. März 2019 um 10:00 Uhr schrieb Richard Shann
<[email protected]>:
This sounds like a problem I had when Denemo started running under
Guile 2  - I asked on the guile mailing list and got fixed up with
this:

;;; for guile 2.0 compatibility define the define-once procedure to
work in guile 1.8
(cond-expand
   (guile-2) ; nothing
   (else ; guile < 2.0
    (define-macro (define-once sym exp)
      `(define ,sym
         (if (module-locally-bound? (current-module) ',sym)
             ,sym
             ,exp)))))

Apologies in advance if this is un-related, I've not been following
this thread :(

Richard

Hi Richard,

I tried to understand what you've got from the guile-list.

Thus I opened a guilev2 prompt and simply typed cond-expand:

scheme@(guile-user)> (version)
$1 = "2.2.4.9-71f536"
scheme@(guile-user)> cond-expand
While compiling expression:
Syntax error:
unknown location: source expression failed to match any pattern in
form cond-expand
scheme@(guile-user)>

Well, ok, the guile-manual says:
7.5.2 SRFI-0 - cond-expand
[...]

So I tried:

scheme@(guile-user)> (use-modules (srfi srfi-0))
While compiling expression:
no code for module (srfi srfi-0)

What am I missing?

Looks like srfi-0 is built into guile 2, so there is no module to use anymore.

But cond-expand does work if you do something with it:

scheme@(guile-user)> (cond-expand (guile-2 'hi))
$2 = hi

-- Aaron Hill

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to