* mes.c (MAKE_REF, MAKE_STRING): Oops, remove stray semicolon.
* posix.c (getenv_): New function.
* module/mes/base-0.mes (load): Use it to switch on MES_DEBUG=1.
(mes-use-module): Remove commented-out code.
#define MAKE_CHAR(n) make_cell (tmp_num_ (CHAR), 0, tmp_num2_ (n))
#define MAKE_NUMBER(n) make_cell (tmp_num_ (NUMBER), 0, tmp_num2_ (n))
#define MAKE_CHAR(n) make_cell (tmp_num_ (CHAR), 0, tmp_num2_ (n))
#define MAKE_NUMBER(n) make_cell (tmp_num_ (NUMBER), 0, tmp_num2_ (n))
-#define MAKE_REF(n) make_cell (tmp_num_ (REF), n, 0);
-#define MAKE_STRING(x) make_cell (tmp_num_ (STRING), x, 0);
+#define MAKE_REF(n) make_cell (tmp_num_ (REF), n, 0)
+#define MAKE_STRING(x) make_cell (tmp_num_ (STRING), x, 0)
int error (char const* msg, SCM x);
SCM vm_call (function0_t f, SCM p1, SCM p2, SCM a);
int error (char const* msg, SCM x);
SCM vm_call (function0_t f, SCM p1, SCM p2, SCM a);
'o))
(define-macro (load file)
(list 'begin
'o))
(define-macro (load file)
(list 'begin
- (list core:stderr "read ")
- (list core:stderr file)
- (list core:stderr "\n")
+ (list 'if (list getenv "MES_DEBUG")
+ (list 'begin
+ (list core:stderr "read ")
+ (list core:stderr file)
+ (list core:stderr "\n")))
(list 'push! '*input-ports* (list current-input-port))
(list 'set-current-input-port (list open-input-file file))
(list 'primitive-load)
(list 'push! '*input-ports* (list current-input-port))
(list 'set-current-input-port (list open-input-file file))
(list 'primitive-load)
(list
'begin
(list 'set! '*modules* (list cons (list string->symbol (module->file module)) '*modules*))
(list
'begin
(list 'set! '*modules* (list cons (list string->symbol (module->file module)) '*modules*))
- ;; (list core:stderr "read ")
- ;; (list core:stderr file)
- ;; (list core:stderr "\n")
(list 'load (list string-append '*mes-prefix* (module->file module)))))))
(mes-use-module (srfi srfi-0))
(list 'load (list string-append '*mes-prefix* (module->file module)))))))
(mes-use-module (srfi srfi-0))
+SCM
+getenv_ (SCM s) ///((name . "getenv"))
+{
+ char *p = getenv (string_to_cstring (s));
+ return p ? MAKE_STRING (cstring_to_list (p)) : cell_f;
+}
+