[plt-scheme] should mzscheme -ue work?

From: David T. Pierson (dtp at mindstory.com)
Date: Thu Jan 22 23:28:21 EST 2009

Is mzscheme's -e supposed to work when -u is also used?

##############################
$ mzscheme --version
Welcome to MzScheme v4.1.3 [3m], Copyright (c) 2004-2008 PLT Scheme Inc.

$ cat foo.ss
#lang scheme
(provide bar)
(define (bar)
  (display 'foo))

$ mzscheme -ue foo.ss '(bar)'
#f::0: compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (bar)

$ mzscheme -u foo.ss -e '(bar)'

$ mzscheme -e '(require (file "foo.ss"))' -e '(bar)'
foo
##############################

The behavior of the last command was what I was expecting from the previous 2.
(It also seems weird that -ue produced different results from -u -e.)

Anyway, my real reason for wanting -ue to work is for a trampoline from a shell
script.  My workaround is:

#!/bin/sh
#|
exec mzscheme --name "$0" -e "(require (file \"$0\"))" -e "(bar)" -- "$@"
|#

This seems to work fine, so I have no complaint.  I just thought -ue would have
worked too.

David


Posted on the users mailing list.