=> Bootstrap dependency digest>=20211023: found digest-20220214
WARNING: [license.mk] Every package should define a LICENSE.
===> Building for scm-5.5.3nb2
echo "#ifndef IMPLINIT" > newflags.h
echo "#define IMPLINIT \"Init5e3.scm\"" >> newflags.h
echo "#endif" >> newflags.h
echo "#define CHEAP_CONTINUATIONS" >> newflags.h
echo "#define CAUTIOUS" >> newflags.h
if (cmp -s newflags.h scmflags.h) then rm newflags.h;  else mv newflags.h scmflags.h; fi
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scm.c -o scm.o
scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
        wta(UNDEFINED, (char *)i, "");
                       ^~~~~~~~~
scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
  wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), "");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      wta(UNDEFINED, (char *)i, "");
                     ^~~~~~~~~
scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = alarm(INUM(i)););
              ^
scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration]
  pause();
  ^
scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = sleep(INUM(i)););
              ^
scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration]
  return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T;
              ^
scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  alarm(0);                     /* kill any pending ALRM interrupts */
  ^
scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (isatty(fileno(inport))) {
      ^
9 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses time.c -o time.o
time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    return MAKINUM(-1);
           ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
1 warning generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses repl.c -o repl.o
repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */
                   ^~~~~~~~~
repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration]
             (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0]))
              ^
repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace'
repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
    scm_dumped_brk = (unsigned long)sbrk(0);
                                    ^
repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
  unsigned long scm_curbrk = (unsigned long)sbrk(0),
                                            ^
repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
    lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp);
                                              ^~~~~~~~~~~~
repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
  else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp);
                      ^~~~~~~~~~~~
repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_pos = pos;
          ^ ~~~
repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_s_subr = s_subr;
             ^ ~~~~~~
repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast]
           COOKIE(1) : COOKIE((int)pos));
                              ^~~~~~~~
./scm.h:286:21: note: expanded from macro 'COOKIE'
# define COOKIE(n) (n)
                    ^
repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F;
         ^
11 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scl.c -o scl.o
scl.c:1665:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
scl.c:1797:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
scl.c:2128:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x;
                             ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
scl.c:2148:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else]
        else goto overflow;
        ^
scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc;
      ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
6 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses sys.c -o sys.o
sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations]
  SYSCALL(tmpnam(name););
          ^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.")
^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp))))
                                              ^
sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^
sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:777:38: note: passing argument to parameter 's' here
SCM_EXPORT void lputs P((const char *s, SCM port));
                                     ^
sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont);
                  ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM));
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast]
        while(0 <= --m) if (CELLP(*(SCM **)&x[m])) {
                            ^~~~~~~~~~~~~~~~~~~~~
./scm.h:301:20: note: expanded from macro 'CELLP'
#define CELLP(x) (!NCELLP(x))
                   ^~~~~~~~~
./scm.h:302:39: note: expanded from macro 'NCELLP'
#define NCELLP(x) ((sizeof(cell)-1) & (int)(x))
                                      ^~~~~~~~
8 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses eval.c -o eval.o
eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
2 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses subr.c -o subr.o
subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
erout:  ASRTER(NIMP(lst) && CONSP(lst),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (UNBNDP(x)) return MAKINUM(-1);
                          ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  return difference(MAKINUM(-1L), n);
                    ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
3 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses unif.c -o unif.o
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses rope.c -o rope.o
rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    must_free(argv[i], 1+strlen(argv[i]));
              ^~~~~~~
./scm.h:720:36: note: passing argument to parameter 'obj' here
SCM_EXPORT void must_free P((char *obj, sizet len));
                                   ^
5 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses continue.c -o continue.o
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses findexec.c -o findexec.o
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses script.c -o script.o
script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  char *extptr = exec_path + strlen(exec_path);
        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  extptr = exec_path + strlen(exec_path);
         ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  nargv[0] = argv[0];
           ^ ~~~~~~~
script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
      nargv[nargi++] = argv[argi++];
                     ^ ~~~~~~~~~~~~
script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  while (argi <= argc) nargv[nargi++] = argv[argi++];
                                      ^ ~~~~~~~~~~~~
5 warnings generated.
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses debug.c -o debug.o
clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scmmain.c -o scmmain.o
scmmain.c:133:32: warning: assigning to 'const char **' from 'const char *const [1]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */
                               ^ ~~~~~~~~~~~~
scmmain.c:143:16: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    script_arg = argv[2];       /* Save for scm_find_execpath() call */
               ^ ~~~~~~~
scmmain.c:144:31: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    nargc = script_count_argv(nargv);
                              ^~~~~
./scm.h:1092:51: note: passing argument to parameter 'argv' here
SCM_EXPORT int  script_count_argv P((const char **argv));
                                                  ^
scmmain.c:146:15: warning: assigning to 'char **' from 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  else {nargv = argv; nargc = argc;}
              ^ ~~~~
scmmain.c:148:39: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  execpath = scm_find_execpath(nargc, nargv, script_arg);
                                      ^~~~~
./scm.h:798:69: note: passing argument to parameter 'argv' here
SCM_EXPORT char *scm_find_execpath P((int argc, const char * const *argv, const char *script_arg));
                                                                    ^
scmmain.c:150:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (isatty(fileno(stdin)) && isatty(fileno(stdout)))
      ^
scmmain.c:155:31: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    scm_init_from_argv(nargc, nargv, script_arg, iverbose, buf0stdin);
                              ^~~~~
./scm.h:791:69: note: passing argument to parameter 'argv' here
SCM_EXPORT void scm_init_from_argv P((int argc, const char * const *argv, char *script_arg,
                                                                    ^
7 warnings generated.
clang -o scmlit scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o  continue.o findexec.o script.o debug.o scmmain.o -lm
/opt/pkg/bin/bmake checklit
./scmlit -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)'  -e '(or (null? errs) (quit 1))'
SECTION(2 1)
SECTION(3 4)
 #<primitive-procedure boolean?>
    #<primitive-procedure char?>
       #<primitive-procedure null?>
          #<primitive-procedure number?>
             #<primitive-procedure pair?>
                #<primitive-procedure procedure?>
                   #<primitive-procedure string?>
                      #<primitive-procedure symbol?>
                         #<primitive-procedure vector?>
(#t #f #f #f #f #f #f #f #f)#t
(#t #f #f #f #f #f #f #f #f)#f
(#f #t #f #f #f #f #f #f #f)#\a
(#f #f #t #f #f #f #f #f #f)()
(#f #f #f #t #f #f #f #f #f)9739
(#f #f #f #f #t #f #f #f #f)(test)
(#f #f #f #f #f #t #f #f #f)#<CLOSURE record-error "r4rstest.scm": (e) (set! errs (cons (list cur-section e) errs))>
(#f #f #f #f #f #f #t #f #f)"test"
(#f #f #f #f #f #f #t #f #f)""
(#f #f #f #f #f #f #f #t #f)test
(#f #f #f #f #f #f #f #f #t)#()
(#f #f #f #f #f #f #f #f #t)#(a b c)
SECTION(4 1 2)
(quote (quote a))  ==> (quote a)
(quote (quote a))  ==> (quote a)
SECTION(4 1 3)
(#<primitive-procedure *> 3 4)  ==> 12
SECTION(4 1 4)
(#<CLOSURE <anon> "r4rstest.scm": (x) (+ x x)> 4)  ==> 8
(#<CLOSURE reverse-subtract "r4rstest.scm": (x y) (- y x)> 7 10)  ==> 3
(#<CLOSURE <anon> "r4rstest.scm": (y) (+ x y)> 6)  ==> 10
(#<CLOSURE <anon> "r4rstest.scm": x x> 3 4 5 6)  ==> (3 4 5 6)
(#<CLOSURE <anon> "r4rstest.scm": (x y . z) z> 3 4 5 6)  ==> (5 6)
SECTION(4 1 5)
(if yes)  ==> yes
(if no)  ==> no
(if 1)  ==> 1
SECTION(4 1 6)
(define 3)  ==> 3
(set! 5)  ==> 5
SECTION(4 2 1)
(cond greater)  ==> greater
(cond equal)  ==> equal
(cond 2)  ==> 2
(case composite)  ==> composite
(case consonant)  ==> consonant
(and #t)  ==> #t
(and #f)  ==> #f
(and (f g))  ==> (f g)
(and #t)  ==> #t
(or #t)  ==> #t
(or #t)  ==> #t
(or #f)  ==> #f
(or #f)  ==> #f
(or (b c))  ==> (b c)
SECTION(4 2 2)
(let 6)  ==> 6
(let 35)  ==> 35
(let* 70)  ==> 70
(letrec #t)  ==> #t
(let 5)  ==> 5
(let 34)  ==> 34
(let 6)  ==> 6
(let 34)  ==> 34
(let* 7)  ==> 7
(let* 34)  ==> 34
(let* 8)  ==> 8
(let* 34)  ==> 34
(letrec 9)  ==> 9
(letrec 34)  ==> 34
(letrec 10)  ==> 10
(letrec 34)  ==> 34
SECTION(4 2 3)
(begin 6)  ==> 6
SECTION(4 2 4)
(do #(0 1 2 3 4))  ==> #(0 1 2 3 4)
(do 25)  ==> 25
(let 1)  ==> 1
(let ((6 1 3) (-5 -2)))  ==> ((6 1 3) (-5 -2))
(let -1)  ==> -1
SECTION(4 2 6)
(quasiquote (list 3 4))  ==> (list 3 4)
(quasiquote (list a (quote a)))  ==> (list a (quote a))
(quasiquote (a 3 4 5 6 b))  ==> (a 3 4 5 6 b)
(quasiquote ((foo 7) . cons))  ==> ((foo 7) . cons)
(quasiquote #(10 5 2 4 3 8))  ==> #(10 5 2 4 3 8)
(quasiquote 5)  ==> 5
(quasiquote (a (quasiquote (b (unquote (+ 1 2)) (unquote (foo 4 d)) e)) f))  ==> (a (quasiquote (b (unquote (+ 1 2)) (unquote (foo 4 d)) e)) f)
(quasiquote (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e))  ==> (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e)
(quasiquote (list 3 4))  ==> (list 3 4)
(quasiquote (quasiquote (list (unquote (+ 1 2)) 4)))  ==> (quasiquote (list (unquote (+ 1 2)) 4))
SECTION(5 2 1)
(tprint #t)  ==> #t
(define 6)  ==> 6
(define 1)  ==> 1
(#<CLOSURE add3 "r4rstest.scm": (x) (#@+ #@x 3)> 6)  ==> (3 6)
(#<CLOSURE add3 "r4rstest.scm": (x) (#@+ #@x 3)> 6)  ==> 9
SECTION(5 2 2)
(define 45)  ==> 45
(#<CLOSURE foo "r4rstest.scm": () (#@define ((x 5))  x)>)  ==> 5
(define 34)  ==> 34
(#<CLOSURE foo "r4rstest.scm": () (#@define ((x 5))  x)>)  ==> 5
(define 34)  ==> 34
(#<CLOSURE foo "r4rstest.scm": (x) ((lambda () (define x 5) x)) x> 88)  ==> 88
(#<CLOSURE foo "r4rstest.scm": (x) (#@let ()  (#@define ((x 5))  #@x)) #@x> 4)  ==> 4
(define 34)  ==> 34
(internal-define 99)  ==> 99
(internal-define 77)  ==> 77
SECTION(6 1)
(#<primitive-procedure not> #t)  ==> #f
(#<primitive-procedure not> 3)  ==> #f
(#<primitive-procedure not> (3))  ==> #f
(#<primitive-procedure not> #f)  ==> #t
(#<primitive-procedure not> ())  ==> #f
(#<primitive-procedure not> ())  ==> #f
(#<primitive-procedure not> nil)  ==> #f
SECTION(6 2)
(#<primitive-procedure eqv?> a a)  ==> #t
(#<primitive-procedure eqv?> a b)  ==> #f
(#<primitive-procedure eqv?> 2 2)  ==> #t
(#<primitive-procedure eqv?> () ())  ==> #t
(#<primitive-procedure eqv?> 10000 10000)  ==> #t
(#<primitive-procedure eqv?> (1 . 2) (1 . 2))  ==> #f
(#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () 1> #<CLOSURE <anon> "r4rstest.scm": () 2>)  ==> #f
(#<primitive-procedure eqv?> #f nil)  ==> #f
(#<primitive-procedure eqv?> #<CLOSURE p "r4rstest.scm": (x) x> #<CLOSURE p "r4rstest.scm": (x) x>)  ==> #t
(#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n>)  ==> #t
(#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n>)  ==> #f
(#<primitive-procedure eqv?> #<CLOSURE f "r4rstest.scm": () (if (eqv? f g) (quote f) (quote both))> #<CLOSURE g "r4rstest.scm": () (if (eqv? f g) (quote g) (quote both))>)  ==> #f
(#<primitive-procedure eq?> a a)  ==> #t
(#<primitive-procedure eq?> (a) (a))  ==> #f
(#<primitive-procedure eq?> () ())  ==> #t
(#<primitive-procedure eq?> #<primitive-procedure car> #<primitive-procedure car>)  ==> #t
(#<primitive-procedure eq?> (a) (a))  ==> #t
(#<primitive-procedure eq?> #() #())  ==> #t
(#<primitive-procedure eq?> #<CLOSURE x "r4rstest.scm": (x) x> #<CLOSURE x "r4rstest.scm": (x) x>)  ==> #t
(#<primitive-procedure equal?> a a)  ==> #t
(#<primitive-procedure equal?> (a) (a))  ==> #t
(#<primitive-procedure equal?> (a (b) c) (a (b) c))  ==> #t
(#<primitive-procedure equal?> "abc" "abc")  ==> #t
(#<primitive-procedure equal?> 2 2)  ==> #t
(#<primitive-procedure equal?> #(a a a a a) #(a a a a a))  ==> #t
SECTION(6 3)
(dot (a b c d e))  ==> (a b c d e)
(#<primitive-procedure list?> (a b c))  ==> #t
(set-cdr! (a . 4))  ==> (a . 4)
(#<primitive-procedure eqv?> (a . 4) (a . 4))  ==> #t
(dot (a b c . d))  ==> (a b c . d)
(#<primitive-procedure list?> (a . 4))  ==> #f
(list? #f)  ==> #f
(#<primitive-procedure cons> a ())  ==> (a)
(#<primitive-procedure cons> (a) (b c d))  ==> ((a) b c d)
(#<primitive-procedure cons> "a" (b c))  ==> ("a" b c)
(#<primitive-procedure cons> a 3)  ==> (a . 3)
(#<primitive-procedure cons> (a b) c)  ==> ((a b) . c)
(#<primitive-procedure car> (a b c))  ==> a
(#<primitive-procedure car> ((a) b c d))  ==> (a)
(#<primitive-procedure car> (1 . 2))  ==> 1
(#<primitive-procedure cdr> ((a) b c d))  ==> (b c d)
(#<primitive-procedure cdr> (1 . 2))  ==> 2
(#<primitive-procedure list> a 7 c)  ==> (a 7 c)
(#<primitive-procedure list>)  ==> ()
(#<primitive-procedure length> (a b c))  ==> 3
(#<primitive-procedure length> (a (b) (c d e)))  ==> 3
(#<primitive-procedure length> ())  ==> 0
(#<primitive-procedure append> (x) (y))  ==> (x y)
(#<primitive-procedure append> (a) (b c d))  ==> (a b c d)
(#<primitive-procedure append> (a (b)) ((c)))  ==> (a (b) (c))
(#<primitive-procedure append>)  ==> ()
(#<primitive-procedure append> (a b) (c . d))  ==> (a b c . d)
(#<primitive-procedure append> () a)  ==> a
(#<primitive-procedure reverse> (a b c))  ==> (c b a)
(#<primitive-procedure reverse> (a (b c) d (e (f))))  ==> ((e (f)) d (b c) a)
(#<primitive-procedure list-ref> (a b c d) 2)  ==> c
(#<primitive-procedure memq> a (a b c))  ==> (a b c)
(#<primitive-procedure memq> b (a b c))  ==> (b c)
(#<primitive-procedure memq> a (b c d))  ==> #f
(#<primitive-procedure memq> (a) (b (a) c))  ==> #f
(#<primitive-procedure member> (a) (b (a) c))  ==> ((a) c)
(#<primitive-procedure memv> 101 (100 101 102))  ==> (101 102)
(#<primitive-procedure assq> a ((a 1) (b 2) (c 3)))  ==> (a 1)
(#<primitive-procedure assq> b ((a 1) (b 2) (c 3)))  ==> (b 2)
(#<primitive-procedure assq> d ((a 1) (b 2) (c 3)))  ==> #f
(#<primitive-procedure assq> (a) (((a)) ((b)) ((c))))  ==> #f
(#<primitive-procedure assoc> (a) (((a)) ((b)) ((c))))  ==> ((a))
(#<primitive-procedure assv> 5 ((2 3) (5 7) (11 13)))  ==> (5 7)
SECTION(6 4)
(#<primitive-procedure symbol?> a)  ==> #t
(standard-case #t)  ==> #t
(standard-case #t)  ==> #t
(#<primitive-procedure symbol->string> flying-fish)  ==> "flying-fish"
(#<primitive-procedure symbol->string> martin)  ==> "martin"
(#<primitive-procedure symbol->string> \Malvina)  ==> "Malvina"
(standard-case #t)  ==> #t
(string-set! "cb")  ==> "cb"
(#<primitive-procedure symbol->string> ab)  ==> "ab"
(#<primitive-procedure string->symbol> "ab")  ==> ab
(#<primitive-procedure eq?> mississippi mississippi)  ==> #t
(string->symbol #f)  ==> #f
(#<primitive-procedure string->symbol> "jollywog")  ==> jollywog
SECTION(6 5 5)
(#<primitive-procedure number?> 3)  ==> #t
(#<primitive-procedure complex?> 3)  ==> #t
(#<primitive-procedure real?> 3)  ==> #t
(#<primitive-procedure rational?> 3)  ==> #t
(#<primitive-procedure integer?> 3)  ==> #t
(#<primitive-procedure exact?> 3)  ==> #t
(#<primitive-procedure inexact?> 3)  ==> #f
(#<primitive-procedure integer-expt> 0 0)  ==> 1
(#<primitive-procedure integer-expt> 0 1)  ==> 0
(#<primitive-procedure integer-expt> 0 256)  ==> 0
(#<primitive-procedure integer-expt> -1 256)  ==> 1
(#<primitive-procedure integer-expt> -1 255)  ==> -1
(#<primitive-procedure integer-expt> -1 -256)  ==> 1
(#<primitive-procedure integer-expt> -1 -255)  ==> -1
(#<primitive-procedure integer-expt> 256 0)  ==> 1
(#<primitive-procedure integer-expt> -256 0)  ==> 1
(#<primitive-procedure integer-expt> 256 1)  ==> 256
(#<primitive-procedure integer-expt> -256 1)  ==> -256
(#<primitive-procedure integer-expt> 2 3)  ==> 8
(#<primitive-procedure integer-expt> -2 3)  ==> -8
(#<primitive-procedure integer-expt> 3 2)  ==> 9
(#<primitive-procedure integer-expt> -3 2)  ==> 9
(#<primitive-procedure => 22 22 22)  ==> #t
(#<primitive-procedure => 22 22)  ==> #t
(#<primitive-procedure => 34 34 35)  ==> #f
(#<primitive-procedure => 34 35)  ==> #f
(#<primitive-procedure >> 3 -6246)  ==> #t
(#<primitive-procedure >> 9 9 -2424)  ==> #f
(#<primitive-procedure >=> 3 -4 -6246)  ==> #t
(#<primitive-procedure >=> 9 9)  ==> #t
(#<primitive-procedure >=> 8 9)  ==> #f
(#<primitive-procedure <> -1 2 3 4 5 6 7 8)  ==> #t
(#<primitive-procedure <> -1 2 3 4 4 5 6 7)  ==> #f
(#<primitive-procedure <=> -1 2 3 4 5 6 7 8)  ==> #t
(#<primitive-procedure <=> -1 2 3 4 4 5 6 7)  ==> #t
(#<primitive-procedure <> 1 3 2)  ==> #f
(#<primitive-procedure >=> 1 3 2)  ==> #f
(#<primitive-procedure zero?> 0)  ==> #t
(#<primitive-procedure zero?> 1)  ==> #f
(#<primitive-procedure zero?> -1)  ==> #f
(#<primitive-procedure zero?> -100)  ==> #f
(#<primitive-procedure positive?> 4)  ==> #t
(#<primitive-procedure positive?> -4)  ==> #f
(#<primitive-procedure positive?> 0)  ==> #f
(#<primitive-procedure negative?> 4)  ==> #f
(#<primitive-procedure negative?> -4)  ==> #t
(#<primitive-procedure negative?> 0)  ==> #f
(#<primitive-procedure odd?> 3)  ==> #t
(#<primitive-procedure odd?> 2)  ==> #f
(#<primitive-procedure odd?> -4)  ==> #f
(#<primitive-procedure odd?> -1)  ==> #t
(#<primitive-procedure even?> 3)  ==> #f
(#<primitive-procedure even?> 2)  ==> #t
(#<primitive-procedure even?> -4)  ==> #t
(#<primitive-procedure even?> -1)  ==> #f
(#<primitive-procedure max> 34 5 7 38 6)  ==> 38
(#<primitive-procedure min> 3 5 5 330 4 -24)  ==> -24
(#<primitive-procedure +> 3 4)  ==> 7
(#<primitive-procedure +> 3)  ==> 3
(#<primitive-procedure +>)  ==> 0
(#<primitive-procedure *> 4)  ==> 4
(#<primitive-procedure *>)  ==> 1
(#<primitive-procedure -> 3 4)  ==> -1
(#<primitive-procedure -> 3)  ==> -3
(#<primitive-procedure abs> -7)  ==> 7
(#<primitive-procedure abs> 7)  ==> 7
(#<primitive-procedure abs> 0)  ==> 0
(#<primitive-procedure quotient> 35 7)  ==> 5
(#<primitive-procedure quotient> -35 7)  ==> -5
(#<primitive-procedure quotient> 35 -7)  ==> -5
(#<primitive-procedure quotient> -35 -7)  ==> 5
(#<primitive-procedure modulo> 13 4)  ==> 1
(#<primitive-procedure remainder> 13 4)  ==> 1
(#<primitive-procedure modulo> -13 4)  ==> 3
(#<primitive-procedure remainder> -13 4)  ==> -1
(#<primitive-procedure modulo> 13 -4)  ==> -3
(#<primitive-procedure remainder> 13 -4)  ==> 1
(#<primitive-procedure modulo> -13 -4)  ==> -1
(#<primitive-procedure remainder> -13 -4)  ==> -1
(#<primitive-procedure modulo> 0 86400)  ==> 0
(#<primitive-procedure modulo> 0 -86400)  ==> 0
(#<CLOSURE divtest "r4rstest.scm": (n1 n2) (= n1 (+ (* n2 (quotient n1 n2)) (remainder n1 n2)))> 238 9)  ==> #t
(#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> -238 9)  ==> #t
(#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> 238 -9)  ==> #t
(#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> -238 -9)  ==> #t
(#<primitive-procedure gcd> 0 4)  ==> 4
(#<primitive-procedure gcd> -4 0)  ==> 4
(#<primitive-procedure gcd> 32 -36)  ==> 4
(#<primitive-procedure gcd>)  ==> 0
(#<primitive-procedure lcm> 32 -36)  ==> 288
(#<primitive-procedure lcm>)  ==> 1
SECTION(6 5 5)
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (string->number str)))  (cond ((not ans) #t) ((number? ans) #t) (else ans)))> "+#.#")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-#.#")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#.#")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "+1/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0-0/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0-1/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0+1/0i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#e")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#")  ==> #t
(#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str)))  (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i0/0")  ==> #t
SECTION(6 5 9)
(#<primitive-procedure number->string> 0)  ==> "0"
(#<primitive-procedure number->string> 100)  ==> "100"
(#<primitive-procedure number->string> 256 16)  ==> "100"
(#<primitive-procedure string->number> "100")  ==> 100
(#<primitive-procedure string->number> "100" 16)  ==> 256
(#<primitive-procedure string->number> "")  ==> #f
(#<primitive-procedure string->number> ".")  ==> #f
(#<primitive-procedure string->number> "d")  ==> #f
(#<primitive-procedure string->number> "D")  ==> #f
(#<primitive-procedure string->number> "i")  ==> #f
(#<primitive-procedure string->number> "I")  ==> #f
(#<primitive-procedure string->number> "3i")  ==> #f
(#<primitive-procedure string->number> "3I")  ==> #f
(#<primitive-procedure string->number> "33i")  ==> #f
(#<primitive-procedure string->number> "33I")  ==> #f
(#<primitive-procedure string->number> "3.3i")  ==> #f
(#<primitive-procedure string->number> "3.3I")  ==> #f
(#<primitive-procedure string->number> "-")  ==> #f
(#<primitive-procedure string->number> "+")  ==> #f
(string->number #t)  ==> #t
(string->number #t)  ==> #t
SECTION(6 6)
(#<primitive-procedure eqv?> #\space #\space)  ==> #t
(#<primitive-procedure eqv?> #\space #\space)  ==> #t
(#<primitive-procedure char?> #\a)  ==> #t
(#<primitive-procedure char?> #\()  ==> #t
(#<primitive-procedure char?> #\space)  ==> #t
(#<primitive-procedure char?> #\nl)  ==> #t
(#<primitive-procedure char=?> #\A #\B)  ==> #f
(#<primitive-procedure char=?> #\a #\b)  ==> #f
(#<primitive-procedure char=?> #\9 #\0)  ==> #f
(#<primitive-procedure char=?> #\A #\A)  ==> #t
(#<primitive-procedure char<?> #\A #\B)  ==> #t
(#<primitive-procedure char<?> #\a #\b)  ==> #t
(#<primitive-procedure char<?> #\9 #\0)  ==> #f
(#<primitive-procedure char<?> #\A #\A)  ==> #f
(#<primitive-procedure char>?> #\A #\B)  ==> #f
(#<primitive-procedure char>?> #\a #\b)  ==> #f
(#<primitive-procedure char>?> #\9 #\0)  ==> #t
(#<primitive-procedure char>?> #\A #\A)  ==> #f
(#<primitive-procedure char<=?> #\A #\B)  ==> #t
(#<primitive-procedure char<=?> #\a #\b)  ==> #t
(#<primitive-procedure char<=?> #\9 #\0)  ==> #f
(#<primitive-procedure char<=?> #\A #\A)  ==> #t
(#<primitive-procedure char>=?> #\A #\B)  ==> #f
(#<primitive-procedure char>=?> #\a #\b)  ==> #f
(#<primitive-procedure char>=?> #\9 #\0)  ==> #t
(#<primitive-procedure char>=?> #\A #\A)  ==> #t
(#<primitive-procedure char-ci=?> #\A #\B)  ==> #f
(#<primitive-procedure char-ci=?> #\a #\B)  ==> #f
(#<primitive-procedure char-ci=?> #\A #\b)  ==> #f
(#<primitive-procedure char-ci=?> #\a #\b)  ==> #f
(#<primitive-procedure char-ci=?> #\9 #\0)  ==> #f
(#<primitive-procedure char-ci=?> #\A #\A)  ==> #t
(#<primitive-procedure char-ci=?> #\A #\a)  ==> #t
(#<primitive-procedure char-ci<?> #\A #\B)  ==> #t
(#<primitive-procedure char-ci<?> #\a #\B)  ==> #t
(#<primitive-procedure char-ci<?> #\A #\b)  ==> #t
(#<primitive-procedure char-ci<?> #\a #\b)  ==> #t
(#<primitive-procedure char-ci<?> #\9 #\0)  ==> #f
(#<primitive-procedure char-ci<?> #\A #\A)  ==> #f
(#<primitive-procedure char-ci<?> #\A #\a)  ==> #f
(#<primitive-procedure char-ci>?> #\A #\B)  ==> #f
(#<primitive-procedure char-ci>?> #\a #\B)  ==> #f
(#<primitive-procedure char-ci>?> #\A #\b)  ==> #f
(#<primitive-procedure char-ci>?> #\a #\b)  ==> #f
(#<primitive-procedure char-ci>?> #\9 #\0)  ==> #t
(#<primitive-procedure char-ci>?> #\A #\A)  ==> #f
(#<primitive-procedure char-ci>?> #\A #\a)  ==> #f
(#<primitive-procedure char-ci<=?> #\A #\B)  ==> #t
(#<primitive-procedure char-ci<=?> #\a #\B)  ==> #t
(#<primitive-procedure char-ci<=?> #\A #\b)  ==> #t
(#<primitive-procedure char-ci<=?> #\a #\b)  ==> #t
(#<primitive-procedure char-ci<=?> #\9 #\0)  ==> #f
(#<primitive-procedure char-ci<=?> #\A #\A)  ==> #t
(#<primitive-procedure char-ci<=?> #\A #\a)  ==> #t
(#<primitive-procedure char-ci>=?> #\A #\B)  ==> #f
(#<primitive-procedure char-ci>=?> #\a #\B)  ==> #f
(#<primitive-procedure char-ci>=?> #\A #\b)  ==> #f
(#<primitive-procedure char-ci>=?> #\a #\b)  ==> #f
(#<primitive-procedure char-ci>=?> #\9 #\0)  ==> #t
(#<primitive-procedure char-ci>=?> #\A #\A)  ==> #t
(#<primitive-procedure char-ci>=?> #\A #\a)  ==> #t
(#<primitive-procedure char-alphabetic?> #\a)  ==> #t
(#<primitive-procedure char-alphabetic?> #\A)  ==> #t
(#<primitive-procedure char-alphabetic?> #\z)  ==> #t
(#<primitive-procedure char-alphabetic?> #\Z)  ==> #t
(#<primitive-procedure char-alphabetic?> #\0)  ==> #f
(#<primitive-procedure char-alphabetic?> #\9)  ==> #f
(#<primitive-procedure char-alphabetic?> #\space)  ==> #f
(#<primitive-procedure char-alphabetic?> #\;)  ==> #f
(#<primitive-procedure char-numeric?> #\a)  ==> #f
(#<primitive-procedure char-numeric?> #\A)  ==> #f
(#<primitive-procedure char-numeric?> #\z)  ==> #f
(#<primitive-procedure char-numeric?> #\Z)  ==> #f
(#<primitive-procedure char-numeric?> #\0)  ==> #t
(#<primitive-procedure char-numeric?> #\9)  ==> #t
(#<primitive-procedure char-numeric?> #\space)  ==> #f
(#<primitive-procedure char-numeric?> #\;)  ==> #f
(#<primitive-procedure char-whitespace?> #\a)  ==> #f
(#<primitive-procedure char-whitespace?> #\A)  ==> #f
(#<primitive-procedure char-whitespace?> #\z)  ==> #f
(#<primitive-procedure char-whitespace?> #\Z)  ==> #f
(#<primitive-procedure char-whitespace?> #\0)  ==> #f
(#<primitive-procedure char-whitespace?> #\9)  ==> #f
(#<primitive-procedure char-whitespace?> #\space)  ==> #t
(#<primitive-procedure char-whitespace?> #\;)  ==> #f
(#<primitive-procedure char-upper-case?> #\0)  ==> #f
(#<primitive-procedure char-upper-case?> #\9)  ==> #f
(#<primitive-procedure char-upper-case?> #\space)  ==> #f
(#<primitive-procedure char-upper-case?> #\;)  ==> #f
(#<primitive-procedure char-lower-case?> #\0)  ==> #f
(#<primitive-procedure char-lower-case?> #\9)  ==> #f
(#<primitive-procedure char-lower-case?> #\space)  ==> #f
(#<primitive-procedure char-lower-case?> #\;)  ==> #f
(#<primitive-procedure integer->char> 46)  ==> #\.
(#<primitive-procedure integer->char> 65)  ==> #\A
(#<primitive-procedure integer->char> 97)  ==> #\a
(#<primitive-procedure char-upcase> #\A)  ==> #\A
(#<primitive-procedure char-upcase> #\a)  ==> #\A
(#<primitive-procedure char-downcase> #\A)  ==> #\a
(#<primitive-procedure char-downcase> #\a)  ==> #\a
SECTION(6 7)
(#<primitive-procedure string?> "The word \"recursion\\\" has many meanings.")  ==> #t
(string-set! "?**")  ==> "?**"
(#<primitive-procedure string> #\a #\b #\c)  ==> "abc"
(#<primitive-procedure string>)  ==> ""
(#<primitive-procedure string-length> "abc")  ==> 3
(#<primitive-procedure string-ref> "abc" 0)  ==> #\a
(#<primitive-procedure string-ref> "abc" 2)  ==> #\c
(#<primitive-procedure string-length> "")  ==> 0
(#<primitive-procedure substring> "ab" 0 0)  ==> ""
(#<primitive-procedure substring> "ab" 1 1)  ==> ""
(#<primitive-procedure substring> "ab" 2 2)  ==> ""
(#<primitive-procedure substring> "ab" 0 1)  ==> "a"
(#<primitive-procedure substring> "ab" 1 2)  ==> "b"
(#<primitive-procedure substring> "ab" 0 2)  ==> "ab"
(#<primitive-procedure string-append> "foo" "bar")  ==> "foobar"
(#<primitive-procedure string-append> "foo")  ==> "foo"
(#<primitive-procedure string-append> "foo" "")  ==> "foo"
(#<primitive-procedure string-append> "" "foo")  ==> "foo"
(#<primitive-procedure string-append>)  ==> ""
(#<primitive-procedure make-string> 0)  ==> ""
(#<primitive-procedure string=?> "" "")  ==> #t
(#<primitive-procedure string<?> "" "")  ==> #f
(#<primitive-procedure string>?> "" "")  ==> #f
(#<primitive-procedure string<=?> "" "")  ==> #t
(#<primitive-procedure string>=?> "" "")  ==> #t
(#<primitive-procedure string-ci=?> "" "")  ==> #t
(#<primitive-procedure string-ci<?> "" "")  ==> #f
(#<primitive-procedure string-ci>?> "" "")  ==> #f
(#<primitive-procedure string-ci<=?> "" "")  ==> #t
(#<primitive-procedure string-ci>=?> "" "")  ==> #t
(#<primitive-procedure string=?> "A" "B")  ==> #f
(#<primitive-procedure string=?> "a" "b")  ==> #f
(#<primitive-procedure string=?> "9" "0")  ==> #f
(#<primitive-procedure string=?> "A" "A")  ==> #t
(#<primitive-procedure string<?> "A" "B")  ==> #t
(#<primitive-procedure string<?> "a" "b")  ==> #t
(#<primitive-procedure string<?> "9" "0")  ==> #f
(#<primitive-procedure string<?> "A" "A")  ==> #f
(#<primitive-procedure string>?> "A" "B")  ==> #f
(#<primitive-procedure string>?> "a" "b")  ==> #f
(#<primitive-procedure string>?> "9" "0")  ==> #t
(#<primitive-procedure string>?> "A" "A")  ==> #f
(#<primitive-procedure string<=?> "A" "B")  ==> #t
(#<primitive-procedure string<=?> "a" "b")  ==> #t
(#<primitive-procedure string<=?> "9" "0")  ==> #f
(#<primitive-procedure string<=?> "A" "A")  ==> #t
(#<primitive-procedure string>=?> "A" "B")  ==> #f
(#<primitive-procedure string>=?> "a" "b")  ==> #f
(#<primitive-procedure string>=?> "9" "0")  ==> #t
(#<primitive-procedure string>=?> "A" "A")  ==> #t
(#<primitive-procedure string-ci=?> "A" "B")  ==> #f
(#<primitive-procedure string-ci=?> "a" "B")  ==> #f
(#<primitive-procedure string-ci=?> "A" "b")  ==> #f
(#<primitive-procedure string-ci=?> "a" "b")  ==> #f
(#<primitive-procedure string-ci=?> "9" "0")  ==> #f
(#<primitive-procedure string-ci=?> "A" "A")  ==> #t
(#<primitive-procedure string-ci=?> "A" "a")  ==> #t
(#<primitive-procedure string-ci<?> "A" "B")  ==> #t
(#<primitive-procedure string-ci<?> "a" "B")  ==> #t
(#<primitive-procedure string-ci<?> "A" "b")  ==> #t
(#<primitive-procedure string-ci<?> "a" "b")  ==> #t
(#<primitive-procedure string-ci<?> "9" "0")  ==> #f
(#<primitive-procedure string-ci<?> "A" "A")  ==> #f
(#<primitive-procedure string-ci<?> "A" "a")  ==> #f
(#<primitive-procedure string-ci>?> "A" "B")  ==> #f
(#<primitive-procedure string-ci>?> "a" "B")  ==> #f
(#<primitive-procedure string-ci>?> "A" "b")  ==> #f
(#<primitive-procedure string-ci>?> "a" "b")  ==> #f
(#<primitive-procedure string-ci>?> "9" "0")  ==> #t
(#<primitive-procedure string-ci>?> "A" "A")  ==> #f
(#<primitive-procedure string-ci>?> "A" "a")  ==> #f
(#<primitive-procedure string-ci<=?> "A" "B")  ==> #t
(#<primitive-procedure string-ci<=?> "a" "B")  ==> #t
(#<primitive-procedure string-ci<=?> "A" "b")  ==> #t
(#<primitive-procedure string-ci<=?> "a" "b")  ==> #t
(#<primitive-procedure string-ci<=?> "9" "0")  ==> #f
(#<primitive-procedure string-ci<=?> "A" "A")  ==> #t
(#<primitive-procedure string-ci<=?> "A" "a")  ==> #t
(#<primitive-procedure string-ci>=?> "A" "B")  ==> #f
(#<primitive-procedure string-ci>=?> "a" "B")  ==> #f
(#<primitive-procedure string-ci>=?> "A" "b")  ==> #f
(#<primitive-procedure string-ci>=?> "a" "b")  ==> #f
(#<primitive-procedure string-ci>=?> "9" "0")  ==> #t
(#<primitive-procedure string-ci>=?> "A" "A")  ==> #t
(#<primitive-procedure string-ci>=?> "A" "a")  ==> #t
SECTION(6 8)
(#<primitive-procedure vector?> #(0 (2 2 2 2) "Anna"))  ==> #t
(#<primitive-procedure vector> a b c)  ==> #(a b c)
(#<primitive-procedure vector>)  ==> #()
(#<primitive-procedure vector-length> #(0 (2 2 2 2) "Anna"))  ==> 3
(#<primitive-procedure vector-length> #())  ==> 0
(#<primitive-procedure vector-ref> #(1 1 2 3 5 8 13 21) 5)  ==> 8
(vector-set #(0 ("Sue" "Sue") "Anna"))  ==> #(0 ("Sue" "Sue") "Anna")
(#<primitive-procedure make-vector> 2 hi)  ==> #(hi hi)
(#<primitive-procedure make-vector> 0)  ==> #()
(#<primitive-procedure make-vector> 0 a)  ==> #()
SECTION(6 9)
(#<primitive-procedure procedure?> #<primitive-procedure car>)  ==> #t
(#<primitive-procedure procedure?> #<CLOSURE <anon> "r4rstest.scm": (x) (* x x)>)  ==> #t
(#<primitive-procedure procedure?> (lambda (x) (* x x)))  ==> #f
(#<primitive-procedure call-with-current-continuation> #<primitive-procedure procedure?>)  ==> #t
(#<primitive-procedure apply> #<primitive-procedure +> (3 4))  ==> 7
(#<primitive-procedure apply> #<CLOSURE <anon> "r4rstest.scm": (a b) (+ a b)> (3 4))  ==> 7
(#<primitive-procedure apply> #<primitive-procedure +> 10 (3 4))  ==> 17
(#<primitive-procedure apply> #<primitive-procedure list> ())  ==> ()
(#<CLOSURE <anon> "r4rstest.scm": args (f (apply g args))> 12 75)  ==> 30
(#<primitive-procedure map> #<primitive-procedure cadr> ((a b) (d e) (g h)))  ==> (b e h)
(#<primitive-procedure map> #<primitive-procedure +> (1 2 3) (4 5 6))  ==> (5 7 9)
(#<primitive-procedure map> #<primitive-procedure +> (1 2 3))  ==> (1 2 3)
(#<primitive-procedure map> #<primitive-procedure *> (1 2 3))  ==> (1 2 3)
(#<primitive-procedure map> #<primitive-procedure -> (1 2 3))  ==> (-1 -2 -3)
(for-each #(0 1 4 9 16))  ==> #(0 1 4 9 16)
(#<primitive-procedure call-with-current-continuation> #<CLOSURE <anon> "r4rstest.scm": (exit) (for-each (lambda (x) (if (negative? x) (exit x))) (quote (54 0 37 -3 245 19))) #t>)  ==> -3
(#<CLOSURE list-length "r4rstest.scm": (obj) (call-with-current-continuation (lambda (return) (letrec ((r (lambda (obj) (cond ((null? obj) 0) ((pair? obj) (+ (r (cdr obj)) 1)) (else (return #f)))))) (r obj))))> (1 2 3 4))  ==> 4
(#<CLOSURE list-length "r4rstest.scm": (obj) (#@call-with-current-continuation (#@lambda (return) (#@letrec ((r (#@lambda (obj) (#@cond ((#@null? #@obj) 0) ((#@pair? #@obj) (#@+ (#@r (#@cdr #@obj)) 1)) (#t (return #f))))))  (#@r #@obj))))> (a b . c))  ==> #f
(#<primitive-procedure map> #<primitive-procedure cadr> ())  ==> ()
SECTION(6 10 1)
(#<primitive-procedure input-port?> #<input-port 0>)  ==> #t
(#<primitive-procedure output-port?> #<output-port 1 L1 C1>)  ==> #t
(#<CLOSURE call-with-input-file "/Users/pbulk/build/lang/scm/work/scm/Init5e3.scm": (str proc) (#@call-with-open-ports (#@open-input-file #@str) #@proc)> "r4rstest.scm" #<primitive-procedure input-port?>)  ==> #t
(#<primitive-procedure input-port?> #<input-port "r4rstest.scm">)  ==> #t
SECTION(6 10 2)
(#<primitive-procedure peek-char> #<input-port "r4rstest.scm">)  ==> #\;
(#<primitive-procedure read-char> #<input-port "r4rstest.scm">)  ==> #\;
(#<primitive-procedure read> #<input-port "r4rstest.scm">)  ==> (define cur-section (quote ()))
(#<primitive-procedure peek-char> #<input-port "r4rstest.scm">)  ==> #\(
(#<primitive-procedure read> #<input-port "r4rstest.scm">)  ==> (define errs (quote ()))
SECTION(6 10 3)
(#<CLOSURE call-with-output-file "/Users/pbulk/build/lang/scm/work/scm/Init5e3.scm": (str proc) (#@call-with-open-ports (#@open-output-file #@str) #@proc)> "tmp1" #<CLOSURE <anon> "r4rstest.scm": (test-file) (write-char #\; test-file) (display #\; test-file) (display ";" test-file) (write write-test-obj test-file) (newline test-file) (write load-test-obj test-file) (output-port? test-file)>)  ==> #t
(#<primitive-procedure read> #<input-port "tmp1">)  ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))))
(#<primitive-procedure eof-object?> #<eof>)  ==> #t
(#<primitive-procedure eof-object?> #<eof>)  ==> #t
(input-port? #t)  ==> #t
(#<primitive-procedure read-char> #<input-port "tmp1">)  ==> #\;
(#<primitive-procedure read-char> #<input-port "tmp1">)  ==> #\;
(#<primitive-procedure read-char> #<input-port "tmp1">)  ==> #\;
(#<primitive-procedure read> #<input-port "tmp1">)  ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))
(#<primitive-procedure read> #<input-port "tmp1">)  ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))))
(#<primitive-procedure output-port?> #<output-port "tmp2">)  ==> #t
(#<primitive-procedure read> #<input-port "tmp2">)  ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))))
(#<primitive-procedure eof-object?> #<eof>)  ==> #t
(#<primitive-procedure eof-object?> #<eof>)  ==> #t
(input-port? #t)  ==> #t
(#<primitive-procedure read-char> #<input-port "tmp2">)  ==> #\;
(#<primitive-procedure read-char> #<input-port "tmp2">)  ==> #\;
(#<primitive-procedure read-char> #<input-port "tmp2">)  ==> #\;
(#<primitive-procedure read> #<input-port "tmp2">)  ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))
(#<primitive-procedure read> #<input-port "tmp2">)  ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))))

Passed all tests

To fully test continuations, Scheme 4, and DELAY/FORCE do:
(test-cont) (test-sc4) (test-delay)

;testing scheme 4 functions; 
SECTION(6 7)
(#<primitive-procedure string->list> "P l")  ==> (#\P #\space #\l)
(#<primitive-procedure string->list> "")  ==> ()
(#<primitive-procedure list->string> (#\1 #\\ #\"))  ==> "1\\\""
(#<primitive-procedure list->string> ())  ==> ""
SECTION(6 8)
(#<primitive-procedure vector->list> #(dah dah didah))  ==> (dah dah didah)
(#<primitive-procedure vector->list> #())  ==> ()
(#<primitive-procedure list->vector> (dididit dah))  ==> #(dididit dah)
(#<primitive-procedure list->vector> ())  ==> #()
SECTION(6 10 4)
(load (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))  ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))

Passed all tests

;testing DELAY and FORCE; 
SECTION(6 9)
(delay 3)  ==> 3
(delay (3 3))  ==> (3 3)
(delay 2)  ==> 2
(#<primitive-procedure force> #<promise #<CLOSURE test-delay "r4rstest.scm": () (begin (set! count (+ count 1)) (if (> count x) count (force p)))>>)  ==> 6
(#<primitive-procedure force> #<promise 6>)  ==> 6
(force 3)  ==> 3

Passed all tests
echo "-F cautious bignums arrays inexact" >> libscm.opt
echo "-F engineering-notation" >> libscm.opt
echo "-F dynamic-linking" >> libscm.opt
./build -hsystem -t lib -f libscm.opt
; Scheme (unix) script created by SLIB/batch 
; [-p darwin]
; used options from: libscm.opt
; ================ Write file with C defines
(delete-file "scmflags.h")
(call-with-output-file
  "scmflags.h"
  (lambda (fp)
    (for-each
      (lambda (string) (write-line string fp))
      '("#define IMPLINIT \"Init5e3.scm\""
        "#define CAUTIOUS"
        "#define BIGNUMS"
        "#define ARRAYS"
        "#define FLOATS"
        "#define ENGNOT"))))
; ================ Compile C source files
(system "cc -O3 -c dynl.c continue.c scm.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c debug.c unif.c rope.c")
scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
        wta(UNDEFINED, (char *)i, "");
                       ^~~~~~~~~
scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
  wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), "");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      wta(UNDEFINED, (char *)i, "");
                     ^~~~~~~~~
scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = alarm(INUM(i)););
              ^
scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration]
  pause();
  ^
scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = sleep(INUM(i)););
              ^
scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration]
  return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T;
              ^
scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  alarm(0);                     /* kill any pending ALRM interrupts */
  ^
scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (isatty(fileno(inport))) {
      ^
9 warnings generated.
script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  char *extptr = exec_path + strlen(exec_path);
        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  extptr = exec_path + strlen(exec_path);
         ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  nargv[0] = argv[0];
           ^ ~~~~~~~
script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
      nargv[nargi++] = argv[argi++];
                     ^ ~~~~~~~~~~~~
script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  while (argi <= argc) nargv[nargi++] = argv[argi++];
                                      ^ ~~~~~~~~~~~~
5 warnings generated.
time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    return MAKINUM(-1);
           ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
1 warning generated.
repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */
                   ^~~~~~~~~
repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration]
             (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0]))
              ^
repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace'
repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
    scm_dumped_brk = (unsigned long)sbrk(0);
                                    ^
repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
  unsigned long scm_curbrk = (unsigned long)sbrk(0),
                                            ^
repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
    lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp);
                                              ^~~~~~~~~~~~
repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
  else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp);
                      ^~~~~~~~~~~~
repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_pos = pos;
          ^ ~~~
repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_s_subr = s_subr;
             ^ ~~~~~~
repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast]
           COOKIE(1) : COOKIE((int)pos));
                              ^~~~~~~~
./scm.h:286:21: note: expanded from macro 'COOKIE'
# define COOKIE(n) (n)
                    ^
repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F;
         ^
11 warnings generated.
scl.c:1071:12: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'int *' [-Wincompatible-pointer-types]
  frexp(d, &dlen);
           ^~~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:401:34: note: passing argument to parameter here
extern double frexp(double, int *);
                                 ^
scl.c:2041:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x;
                             ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else]
        else goto overflow;
        ^
scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc;
      ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
scl.c:2455:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
5 warnings generated.
eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
2 warnings generated.
sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations]
  SYSCALL(tmpnam(name););
          ^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.")
^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp))))
                                              ^
sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^
sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:777:38: note: passing argument to parameter 's' here
SCM_EXPORT void lputs P((const char *s, SCM port));
                                     ^
sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont);
                  ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM));
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast]
        while(0 <= --m) if (CELLP(*(SCM **)&x[m])) {
                            ^~~~~~~~~~~~~~~~~~~~~
./scm.h:301:20: note: expanded from macro 'CELLP'
#define CELLP(x) (!NCELLP(x))
                   ^~~~~~~~~
./scm.h:302:39: note: expanded from macro 'NCELLP'
#define NCELLP(x) ((sizeof(cell)-1) & (int)(x))
                                      ^~~~~~~~
8 warnings generated.
subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
erout:  ASRTER(NIMP(lst) && CONSP(lst),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
subr.c:891:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (blen <= -cnt) return sign ? MAKINUM(-1) : INUM0;
                                    ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (UNBNDP(x)) return MAKINUM(-1);
                          ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  return difference(MAKINUM(-1L), n);
                    ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1324:52: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (BIGSIGN(n)) return scm_logcount(difference(MAKINUM(-1L), n));
                                                   ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1349:53: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (BIGSIGN(n)) return scm_intlength(difference(MAKINUM(-1L), n));
                                                    ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1800:31: warning: while loop has empty body [-Wempty-body]
  while (nlen-- && !zds[nlen]); nlen++;
                              ^
subr.c:1800:31: note: put the semicolon on a separate line to silence this warning
subr.c:1960:13: warning: promoted type 'int' of K&R function parameter is not compatible with the parameter type 'unsigned short' declared in a previous prototype [-Wknr-promoted-parameter]
     BIGDIG div;
            ^
./scm.h:1077:66: note: previous declaration is here
SCM_EXPORT unsigned int divbigdig P((BIGDIG *ds, sizet h, BIGDIG div));
                                                                 ^
8 warnings generated.
unif.c:141:12: warning: promoted type 'double' of K&R function parameter is not compatible with the parameter type 'float' declared in a previous prototype [-Wknr-promoted-parameter]
     float x;
           ^
./scm.h:1005:33: note: previous declaration is here
SCM_EXPORT SCM  makflo P((float x));
                                ^
unif.c:1098:38: warning: implicit declaration of function 'num2char' is invalid in C99 [-Wimplicit-function-declaration]
    ((signed char *)VELTS(v))[pos] = num2char(obj, (char *)ARG2, s_aset); break;
                                     ^
unif.c:1396:24: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (0==len) return MAKINUM(-1L);
                       ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2022:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ32: return MAKINUM(-32L);
                           ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2024:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ16: return MAKINUM(-16L);
                           ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2026:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ8: return MAKINUM(-8L);
                          ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
6 warnings generated.
rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:193:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    must_free(argv[i], 1+strlen(argv[i]));
              ^~~~~~~
./scm.h:720:36: note: passing argument to parameter 'obj' here
SCM_EXPORT void must_free P((char *obj, sizet len));
                                   ^
6 warnings generated.
; ================ Link C object files
(system "ar rc libscm.a dynl.o continue.o scm.o findexec.o script.o time.o repl.o scl.o eval.o sys.o subr.o debug.o unif.o rope.o")
(system "ranlib libscm.a")
cd /Users/pbulk/build/lang/scm/work/scm && env USETOOLS=no GOTMPDIR=/Users/pbulk/build MACOSX_DEPLOYMENT_TARGET=12.3 CC=clang CFLAGS=-pipe\ -Os\ -DX11\ -I/opt/pkg/include\ -I/opt/pkg/include/ncurses CPPFLAGS=-I/opt/pkg/include\ -I/opt/pkg/include/ncurses CXX=clang++ CXXFLAGS=-pipe\ -Os\ -DX11\ -I/opt/pkg/include\ -I/opt/pkg/include/ncurses COMPILER_RPATH_FLAG=-L F77=f77 FC=f77 FFLAGS=-O LANG=C LC_ALL=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LDFLAGS=-L/opt/pkg/lib LINKER_RPATH_FLAG=-L PATH=/Users/pbulk/build/lang/scm/work/.cwrapper/bin:/Users/pbulk/build/lang/scm/work/.buildlink/bin:/Users/pbulk/build/lang/scm/work/.tools/bin:/opt/pkg/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/pkg/bin:/opt/pkg/bin PREFIX=/opt/pkg MAKELEVEL=0 CONFIG_SITE= ftp_proxy=downloads-forbidden-except-during-fetch http_proxy=downloads-forbidden-except-during-fetch https_proxy=downloads-forbidden-except-during-fetch no_proxy= PKG_SYSCONFDIR=/opt/pkg/etc CXXCPP=clang\ -E HOME=/Users/pbulk/build/lang/scm/work/.home CWRAPPERS_CONFIG_DIR=/Users/pbulk/build/lang/scm/work/.cwrapper/config CPP=clang\ -E LOCALBASE=/opt/pkg X11BASE=/opt/pkg PKGMANDIR=share/man PKGINFODIR=info PKGGNUDIR=gnu/ MAKECONF=/dev/null OBJECT_FMT=Mach-O USETOOLS=no BSD_INSTALL_PROGRAM=/usr/bin/install\ -c\ \ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_SCRIPT=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_LIB=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_DATA=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 644 BSD_INSTALL_MAN=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 644 BSD_INSTALL=/usr/bin/install BSD_INSTALL_PROGRAM_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_SCRIPT_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_LIB_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_DATA_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_MAN_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_GAME=/usr/bin/install\ -c\ \ -o\ pbulk\ -g\ staff\ -m\ 2555 BSD_INSTALL_GAME_DATA=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 664 BSD_INSTALL_GAME_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 775 INSTALL_INFO=/Users/pbulk/build/lang/scm/work/.tools/bin/install-info MAKEINFO=/Users/pbulk/build/lang/scm/work/.tools/bin/makeinfo FLEX= BISON= ITSTOOL=/Users/pbulk/build/lang/scm/work/.tools/bin/itstool GDBUS_CODEGEN=/Users/pbulk/build/lang/scm/work/.tools/bin/gdbus-codegen PKG_CONFIG=/Users/pbulk/build/lang/scm/work/.tools/bin/pkg-config PKG_CONFIG_LIBDIR=/Users/pbulk/build/lang/scm/work/.buildlink/lib/pkgconfig:/Users/pbulk/build/lang/scm/work/.buildlink/share/pkgconfig PKG_CONFIG_LOG=/Users/pbulk/build/lang/scm/work/.pkg-config.log PKG_CONFIG_PATH= CWRAPPERS_CONFIG_DIR=/Users/pbulk/build/lang/scm/work/.cwrapper/config LIBS=-L/opt/pkg/lib\ -lX11\   SRCS=sc2.c\ ramap.c\ dynl.c\ edline.c\ gsubr.c\ ioext.c\ posix.c\ record.c\ rgx.c\ socket.c\ unix.c\ continue.c\ scm.c\ scmmain.c\ findexec.c\ script.c\ time.c\ repl.c\ scl.c\ eval.c\ sys.c\ subr.c\ debug.c\ unif.c\ rope.c\ unexelf.c\ x.c OBJS=sc2.o\ ramap.o\ dynl.o\ edline.o\ gsubr.o\ ioext.o\ posix.o\ record.o\ rgx.o\ socket.o\ unix.o\ continue.o\ scm.o\ scmmain.o\ findexec.o\ script.o\ time.o\ repl.o\ scl.o\ eval.o\ sys.o\ subr.o\ debug.o\ unif.o\ rope.o\ unexelf.o\ x.o  /opt/pkg/bin/mksh ./buildscm.sh
ramap.c:212:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        hp_indv = make_uve(ARRAY_NDIM(ra0)+0L, MAKINUM(-32L));
                                               ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
ramap.c:1568:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    hp_indv = make_uve(i+0L, MAKINUM(-32L));
                             ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
2 warnings generated.
gsubr.c:128:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
1 warning generated.
ioext.c:257:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port)));
  ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
ioext.c:257:18: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port)));
                 ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:257:18: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port)));
                 ^
                 ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:290:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt))));
  ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
ioext.c:290:20: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt))));
                   ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:290:20: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt))));
                   ^
                   ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:319:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(ans = dup2(oldfd, newfd));
               ~~~~^~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
ioext.c:319:20: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(ans = dup2(oldfd, newfd));
                   ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:319:20: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(ans = dup2(oldfd, newfd));
                   ^
                   ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:341:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(ds = opendir(CHARS(dirname)));
  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
ioext.c:341:19: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(ds = opendir(CHARS(dirname)));
                  ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:341:19: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(ds = opendir(CHARS(dirname)));
                  ^
                  ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:869:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms));
  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
ioext.c:869:19: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms));
                  ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
ioext.c:869:19: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms));
                  ^
                  ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
5 warnings generated.
posix.c:80:17: warning: implicit declaration of function 'chown' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(val = chown(CHARS(path), INUM(owner), INUM(group)););
                ^
posix.c:91:17: warning: implicit declaration of function 'link' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(val = link(CHARS(oldpath), CHARS(newpath)););
                ^
posix.c:102:17: warning: implicit declaration of function 'pipe' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(ret = pipe(fd););
                ^
posix.c:106:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(fd[0]);
    ^
posix.c:109:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(f_wt = fdopen(fd[1], "w"));
               ~~~~~^~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
posix.c:109:21: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(f_wt = fdopen(fd[1], "w"));
                    ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
posix.c:109:21: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(f_wt = fdopen(fd[1], "w"));
                    ^
                    ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
posix.c:113:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(fd[1]);
    ^
posix.c:105:7: warning: variable 'f_wt' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
  if (!f_rd) {
      ^~~~~
posix.c:117:25: note: uninitialized use occurs here
  p_wt = scm_port_entry(f_wt, tc16_fport, mode_bits("w", (char *)0));
                        ^~~~
posix.c:105:3: note: remove the 'if' if its condition is always false
  if (!f_rd) {
  ^~~~~~~~~~~~
posix.c:98:20: note: initialize the variable 'f_wt' to silence this warning
  FILE *f_rd, *f_wt;
                   ^
                    = NULL
posix.c:134:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes)));
        ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
posix.c:134:17: note: place parentheses around the assignment to silence this warning
        SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes)));
                       ^
                     (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
posix.c:134:17: note: use '==' to turn this assignment into an equality comparison
        SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes)));
                       ^
                       ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
posix.c:148:17: warning: implicit declaration of function 'getgroups' is invalid in C99 [-Wimplicit-function-declaration]
  int ngroups = getgroups(0, 0);
                ^
posix.c:218:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  ve[ 3] = makfromstrs(-1, entry->gr_mem);
                           ^~~~~~~~~~~~~
./scm.h:1049:62: note: passing argument to parameter 'argv' here
SCM_EXPORT SCM  makfromstrs P((int argc, const char * const *argv));
                                                             ^
posix.c:259:21: warning: implicit declaration of function 'getppid' is invalid in C99 [-Wimplicit-function-declaration]
  return MAKINUM(0L+getppid());
                    ^
posix.c:264:21: warning: implicit declaration of function 'getuid' is invalid in C99 [-Wimplicit-function-declaration]
  return MAKINUM(0L+getuid());
                    ^
posix.c:268:21: warning: implicit declaration of function 'getgid' is invalid in C99 [-Wimplicit-function-declaration]
  return MAKINUM(0L+getgid());
                    ^
posix.c:273:21: warning: implicit declaration of function 'geteuid' is invalid in C99 [-Wimplicit-function-declaration]
  return MAKINUM(0L+geteuid());
                    ^
posix.c:277:21: warning: implicit declaration of function 'getegid' is invalid in C99 [-Wimplicit-function-declaration]
  return MAKINUM(0L+getegid());
                    ^
posix.c:286:10: warning: implicit declaration of function 'setuid' is invalid in C99 [-Wimplicit-function-declaration]
  return setuid(INUM(id)) ? BOOL_F : BOOL_T;
         ^
posix.c:293:10: warning: implicit declaration of function 'setgid' is invalid in C99 [-Wimplicit-function-declaration]
  return setgid(INUM(id)) ? BOOL_F : BOOL_T;
         ^
posix.c:302:10: warning: implicit declaration of function 'seteuid' is invalid in C99 [-Wimplicit-function-declaration]
  return seteuid(INUM(id)) ? BOOL_F : BOOL_T;
         ^
posix.c:309:10: warning: implicit declaration of function 'setegid' is invalid in C99 [-Wimplicit-function-declaration]
  return setegid(INUM(id)) ? BOOL_F : BOOL_T;
         ^
posix.c:320:17: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(ans = ttyname(fileno(STREAM(port))););
                ^
posix.c:320:15: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
  SYSCALL(ans = ttyname(fileno(STREAM(port))););
  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:803:37: note: expanded from macro 'SYSCALL'
# define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno))
                                    ^~~~
posix.c:327:19: warning: implicit declaration of function 'fork' is invalid in C99 [-Wimplicit-function-declaration]
  long pid = 0L + fork();
                  ^
22 warnings generated.
record.c:190:33: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion]
      wna: rec_error(UNDEFINED, WNA, s_rec_constr1, RCLO_RTD(cclo), -1);
                                ^~~
./scm.h:1134:25: note: expanded from macro 'WNA'
#define WNA             7
                        ^
record.c:226:20: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion]
    rec_error(rec, ARG1, s_rec_accessor1, RCLO_RTD(cclo), i);
                   ^~~~
./scm.h:1128:25: note: expanded from macro 'ARG1'
#define ARG1            2
                        ^
record.c:237:20: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion]
    rec_error(rec, ARG1, s_rec_modifier1, RCLO_RTD(cclo), i);
                   ^~~~
./scm.h:1128:25: note: expanded from macro 'ARG1'
#define ARG1            2
                        ^
3 warnings generated.
rgx.c:322:45: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
      ans = make_vector(MAKINUM(2L * nsub), MAKINUM(-1L));
                                            ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
rgx.c:455:49: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
      matches = make_vector(MAKINUM(2L * nsub), MAKINUM(-1L));
                                                ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
rgx.c:57:13: warning: unused variable 'rcsid' [-Wunused-variable]
static char rcsid[] =
            ^
3 warnings generated.
socket.c:171:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  ve[ 1] = makfromstrs(-1, entry->h_aliases);
                           ^~~~~~~~~~~~~~~~
./scm.h:1049:62: note: passing argument to parameter 'argv' here
SCM_EXPORT SCM  makfromstrs P((int argc, const char * const *argv));
                                                             ^
socket.c:176:12: warning: assigning to 'const char **' from 'char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  for(argv = entry->h_addr_list; argv[i]; i++);
           ^ ~~~~~~~~~~~~~~~~~~
socket.c:208:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  ve[ 1] = makfromstrs(-1, entry->n_aliases);
                           ^~~~~~~~~~~~~~~~
./scm.h:1049:62: note: passing argument to parameter 'argv' here
SCM_EXPORT SCM  makfromstrs P((int argc, const char * const *argv));
                                                             ^
socket.c:238:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  ve[ 1] = makfromstrs(-1, entry->p_aliases);
                           ^~~~~~~~~~~~~~~~
./scm.h:1049:62: note: passing argument to parameter 'argv' here
SCM_EXPORT SCM  makfromstrs P((int argc, const char * const *argv));
                                                             ^
socket.c:271:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  ve[ 1] = makfromstrs(-1, entry->s_aliases);
                           ^~~~~~~~~~~~~~~~
./scm.h:1049:62: note: passing argument to parameter 'argv' here
SCM_EXPORT SCM  makfromstrs P((int argc, const char * const *argv));
                                                             ^
socket.c:325:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(sd);
    ^
socket.c:357:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(f[0] = fdopen(sv[0], "r+"));
               ~~~~~^~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
socket.c:357:21: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(f[0] = fdopen(sv[0], "r+"));
                    ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:357:21: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(f[0] = fdopen(sv[0], "r+"));
                    ^
                    ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:359:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(sv[0]);
    ^
socket.c:362:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(f[1] = fdopen(sv[1], "r+"));
               ~~~~~^~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
socket.c:362:21: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(f[1] = fdopen(sv[1], "r+"));
                    ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:362:21: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(f[1] = fdopen(sv[1], "r+"));
                    ^
                    ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:365:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(sv[1]);
    ^
socket.c:505:56: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
  SYSCALL(newsd = accept(fileno(STREAM(sockpt)), &sad, &sadlen););
                                                       ^~~~~~~
./scmfig.h:803:37: note: expanded from macro 'SYSCALL'
# define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno))
                                    ^~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:704:73: note: passing argument to parameter here
int     accept(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                        ^
socket.c:514:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  SCM_OPENCALL(newfd = fdopen(newsd, "r+"));
               ~~~~~~^~~~~~~~~~~~~~~~~~~~~
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^~~~
socket.c:514:22: note: place parentheses around the assignment to silence this warning
  SCM_OPENCALL(newfd = fdopen(newsd, "r+"));
                     ^
               (
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:514:22: note: use '==' to turn this assignment into an equality comparison
  SCM_OPENCALL(newfd = fdopen(newsd, "r+"));
                     ^
                     ==
./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL'
                             while (!0) {errno = 0; if (line) break;\
                                                        ^
socket.c:516:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(newsd);
    ^
socket.c:614:32: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
                            (struct sockaddr*)&sad, &sadlen););
                                                    ^~~~~~~
./scmfig.h:803:37: note: expanded from macro 'SYSCALL'
# define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno))
                                    ^~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:708:78: note: passing argument to parameter here
int     getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                             ^
socket.c:617:18: warning: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'struct sockaddr *' [-Wincompatible-pointer-types]
  return maksknm(&sad);
                 ^~~~
socket.c:628:32: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
                            (struct sockaddr*)&sad, &sadlen););
                                                    ^~~~~~~
./scmfig.h:803:37: note: expanded from macro 'SYSCALL'
# define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno))
                                    ^~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:710:78: note: passing argument to parameter here
int     getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                             ^
socket.c:630:18: warning: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'struct sockaddr *' [-Wincompatible-pointer-types]
  return maksknm(&sad);
                 ^~~~
17 warnings generated.
unix.c:100:19: warning: implicit declaration of function 'acct' is invalid in C99 [-Wimplicit-function-declaration]
    SYSCALL(val = acct(0););
                  ^
unix.c:104:17: warning: implicit declaration of function 'acct' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(val = acct(CHARS(path)););
                ^
unix.c:113:10: warning: implicit declaration of function 'nice' is invalid in C99 [-Wimplicit-function-declaration]
  return nice(INUM(incr)) ? BOOL_F : BOOL_T;
         ^
unix.c:118:3: warning: implicit declaration of function 'sync' is invalid in C99 [-Wimplicit-function-declaration]
  sync();
  ^
unix.c:129:17: warning: implicit declaration of function 'symlink' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(val = symlink(CHARS(oldpath), CHARS(newpath)););
                ^
unix.c:139:15: warning: implicit declaration of function 'readlink' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(i = readlink(CHARS(path), buf, (sizet)sizeof(buf)););
              ^
6 warnings generated.
scm.c:125:5: warning: implicit declaration of function 'init_unix' is invalid in C99 [-Wimplicit-function-declaration]
    INITS;                      /* call initialization of extension files */
    ^
./scmflags.h:2:117: note: expanded from macro 'INITS'
#define INITS init_sc2();init_ramap();init_gsubr();init_ioext();init_posix();init_record();init_rgx();init_socket();init_unix();
                                                                                                                    ^
scm.c:134:3: warning: implicit declaration of function 'init_x' is invalid in C99 [-Wimplicit-function-declaration]
  COMPILED_INITS;               /* initialize statically linked add-ons */
  ^
./scmflags.h:3:39: note: expanded from macro 'COMPILED_INITS'
#define COMPILED_INITS init_edline(); init_x();
                                      ^
scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
        wta(UNDEFINED, (char *)i, "");
                       ^~~~~~~~~
scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
  wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), "");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      wta(UNDEFINED, (char *)i, "");
                     ^~~~~~~~~
scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = alarm(INUM(i)););
              ^
scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration]
  pause();
  ^
scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration]
  SYSCALL(j = sleep(INUM(i)););
              ^
scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration]
  return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T;
              ^
scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration]
  alarm(0);                     /* kill any pending ALRM interrupts */
  ^
scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (isatty(fileno(inport))) {
      ^
11 warnings generated.
scmmain.c:133:32: warning: assigning to 'const char **' from 'const char *const [1]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */
                               ^ ~~~~~~~~~~~~
scmmain.c:143:16: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    script_arg = argv[2];       /* Save for scm_find_execpath() call */
               ^ ~~~~~~~
scmmain.c:144:31: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    nargc = script_count_argv(nargv);
                              ^~~~~
./scm.h:1092:51: note: passing argument to parameter 'argv' here
SCM_EXPORT int  script_count_argv P((const char **argv));
                                                  ^
scmmain.c:146:15: warning: assigning to 'char **' from 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  else {nargv = argv; nargc = argc;}
              ^ ~~~~
scmmain.c:148:39: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
  execpath = scm_find_execpath(nargc, nargv, script_arg);
                                      ^~~~~
./scm.h:798:69: note: passing argument to parameter 'argv' here
SCM_EXPORT char *scm_find_execpath P((int argc, const char * const *argv, const char *script_arg));
                                                                    ^
scmmain.c:150:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (isatty(fileno(stdin)) && isatty(fileno(stdout)))
      ^
scmmain.c:155:31: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    scm_init_from_argv(nargc, nargv, script_arg, iverbose, buf0stdin);
                              ^~~~~
./scm.h:791:69: note: passing argument to parameter 'argv' here
SCM_EXPORT void scm_init_from_argv P((int argc, const char * const *argv, char *script_arg,
                                                                    ^
7 warnings generated.
script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  char *extptr = exec_path + strlen(exec_path);
        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  extptr = exec_path + strlen(exec_path);
         ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  nargv[0] = argv[0];
           ^ ~~~~~~~
script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
      nargv[nargi++] = argv[argi++];
                     ^ ~~~~~~~~~~~~
script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  while (argi <= argc) nargv[nargi++] = argv[argi++];
                                      ^ ~~~~~~~~~~~~
5 warnings generated.
time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    return MAKINUM(-1);
           ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
1 warning generated.
repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
    wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */
                   ^~~~~~~~~
repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration]
             (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0]))
              ^
repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace'
repl.c:1451:19: warning: incompatible integer to pointer conversion passing 'long' to parameter of type 'SCM *' (aka 'long *') [-Wint-conversion]
    igc(s_unexec, BOOL_F);
                  ^~~~~~
./scm.h:271:16: note: expanded from macro 'BOOL_F'
#define BOOL_F MAKIFLAG(NUM_ISYMS+0)
               ^~~~~~~~~~~~~~~~~~~~~
./scm.h:200:21: note: expanded from macro 'MAKIFLAG'
#define MAKIFLAG(n) (((n)<<9)+0x174L)
                    ^~~~~~~~~~~~~~~~~
repl.c:47:35: note: passing argument to parameter 'sys_protects' here
void    igc P((const char *what, SCM rootcont));
                                     ^
./scm.h:643:26: note: expanded from macro 'rootcont'
#define rootcont         sys_protects[14]
                         ^
repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
    scm_dumped_brk = (unsigned long)sbrk(0);
                                    ^
repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration]
  unsigned long scm_curbrk = (unsigned long)sbrk(0),
                                            ^
repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
    lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp);
                                              ^~~~~~~~~~~~
repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast]
  else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp);
                      ^~~~~~~~~~~~
repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_pos = pos;
          ^ ~~~
repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  err_s_subr = s_subr;
             ^ ~~~~~~
repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast]
           COOKIE(1) : COOKIE((int)pos));
                              ^~~~~~~~
./scm.h:286:21: note: expanded from macro 'COOKIE'
# define COOKIE(n) (n)
                    ^
repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F;
         ^
12 warnings generated.
scl.c:1071:12: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'int *' [-Wincompatible-pointer-types]
  frexp(d, &dlen);
           ^~~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:401:34: note: passing argument to parameter here
extern double frexp(double, int *);
                                 ^
scl.c:2041:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x;
                             ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else]
        else goto overflow;
        ^
scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc;
      ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
scl.c:2455:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
scl.c:2917:13: warning: unused function 'safe_add_1' [-Wunused-function]
static void safe_add_1(f, fsum)
            ^
6 warnings generated.
eval.c:548:12: warning: variable 'pv' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
  else if (NIMP(addr) && IM_KEYWORD==CAR(addr)) { /* local macro binding */
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:173:17: note: expanded from macro 'NIMP'
#define NIMP(x) (!IMP(x))
                ^
eval.c:566:10: note: uninitialized use occurs here
  return pv;
         ^~
eval.c:548:8: note: remove the 'if' if its condition is always false
  else if (NIMP(addr) && IM_KEYWORD==CAR(addr)) { /* local macro binding */
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eval.c:540:10: note: initialize the variable 'pv' to silence this warning
  SCM *pv, val, var = CAR(vloc), env = STATIC_ENV;
         ^
          = NULL
eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
      ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
3 warnings generated.
sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations]
  SYSCALL(tmpnam(name););
          ^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.")
^
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration]
  if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp))))
                                              ^
sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^
sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
    lputs(ttyname(fileno(STREAM(exp))), port);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:777:38: note: passing argument to parameter 's' here
SCM_EXPORT void lputs P((const char *s, SCM port));
                                     ^
sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
sys.c:1645:9: warning: variable 'n' set but not used [-Wunused-but-set-variable]
  sizet n;
        ^
sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont);
                  ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM));
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast]
        while(0 <= --m) if (CELLP(*(SCM **)&x[m])) {
                            ^~~~~~~~~~~~~~~~~~~~~
./scm.h:301:20: note: expanded from macro 'CELLP'
#define CELLP(x) (!NCELLP(x))
                   ^~~~~~~~~
./scm.h:302:39: note: expanded from macro 'NCELLP'
#define NCELLP(x) ((sizeof(cell)-1) & (int)(x))
                                      ^~~~~~~~
9 warnings generated.
subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast]
erout:  ASRTER(NIMP(lst) && CONSP(lst),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1123:85: note: expanded from macro 'ASRTER'
# define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr);
                                                                                    ^~~~~~~~~~~~~~
subr.c:456:9: warning: variable 'yy' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
    if (!(z = INUM(y))) goto ov;
        ^~~~~~~~~~~~~~
subr.c:476:15: note: uninitialized use occurs here
  z = INUM(x)%yy;
              ^~
subr.c:456:5: note: remove the 'if' if its condition is always false
    if (!(z = INUM(y))) goto ov;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
subr.c:447:19: note: initialize the variable 'yy' to silence this warning
  register long yy, z;
                  ^
                   = 0
subr.c:891:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (blen <= -cnt) return sign ? MAKINUM(-1) : INUM0;
                                    ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (UNBNDP(x)) return MAKINUM(-1);
                          ^~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  return difference(MAKINUM(-1L), n);
                    ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1324:52: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (BIGSIGN(n)) return scm_logcount(difference(MAKINUM(-1L), n));
                                                   ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1349:53: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (BIGSIGN(n)) return scm_intlength(difference(MAKINUM(-1L), n));
                                                    ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
subr.c:1800:31: warning: while loop has empty body [-Wempty-body]
  while (nlen-- && !zds[nlen]); nlen++;
                              ^
subr.c:1800:31: note: put the semicolon on a separate line to silence this warning
subr.c:1960:13: warning: promoted type 'int' of K&R function parameter is not compatible with the parameter type 'unsigned short' declared in a previous prototype [-Wknr-promoted-parameter]
     BIGDIG div;
            ^
./scm.h:1077:66: note: previous declaration is here
SCM_EXPORT unsigned int divbigdig P((BIGDIG *ds, sizet h, BIGDIG div));
                                                                 ^
9 warnings generated.
unif.c:141:12: warning: promoted type 'double' of K&R function parameter is not compatible with the parameter type 'float' declared in a previous prototype [-Wknr-promoted-parameter]
     float x;
           ^
./scm.h:1005:33: note: previous declaration is here
SCM_EXPORT SCM  makflo P((float x));
                                ^
unif.c:522:12: warning: variable 'vlen' set but not used [-Wunused-but-set-variable]
  sizet k, vlen = 1;
           ^
unif.c:860:5: warning: variable 'pos' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
    ASRTGO(NULLP(args), badarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1124:36: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE'
#define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
unif.c:882:23: note: uninitialized use occurs here
  outrng: wta(MAKINUM(pos), (char *)OUTOFRANGE, s_aref);
                      ^~~
./scmfig.h:590:24: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                       ^
unif.c:860:5: note: remove the 'if' if its condition is always false
    ASRTGO(NULLP(args), badarg);
    ^
./scm.h:1124:32: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                               ^
unif.c:858:11: note: initialize the variable 'pos' to silence this warning
  long pos;
          ^
           = 0
unif.c:1098:38: warning: implicit declaration of function 'num2char' is invalid in C99 [-Wimplicit-function-declaration]
    ((signed char *)VELTS(v))[pos] = num2char(obj, (char *)ARG2, s_aset); break;
                                     ^
unif.c:1062:3: warning: variable 'pos' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
  ASRTGO(NIMP(v), badarg1);
  ^~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1124:36: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE'
#define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
unif.c:1081:23: note: uninitialized use occurs here
  outrng: wta(MAKINUM(pos), (char *)OUTOFRANGE, s_aset);
                      ^~~
./scmfig.h:590:24: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                       ^
unif.c:1062:3: note: remove the 'if' if its condition is always false
  ASRTGO(NIMP(v), badarg1);
  ^
./scm.h:1124:32: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                               ^
unif.c:1061:11: note: initialize the variable 'pos' to silence this warning
  long pos;
          ^
           = 0
unif.c:1396:24: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    if (0==len) return MAKINUM(-1L);
                       ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2022:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ32: return MAKINUM(-32L);
                           ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2024:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ16: return MAKINUM(-16L);
                           ^~~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
unif.c:2026:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
  case tc7_VfixZ8: return MAKINUM(-8L);
                          ^~~~~~~~~~~~
./scmfig.h:590:26: note: expanded from macro 'MAKINUM'
# define MAKINUM(x) (((x)<<2)+2L)
                      ~~~^
9 warnings generated.
rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:193:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    must_free(argv[i], 1+strlen(argv[i]));
              ^~~~~~~
./scm.h:720:36: note: passing argument to parameter 'obj' here
SCM_EXPORT void must_free P((char *obj, sizet len));
                                   ^
6 warnings generated.
unexelf.c:426:10: fatal error: 'elf.h' file not found
#include <elf.h>
         ^~~~~~~
1 error generated.
x.c:361:51: warning: incompatible integer to pointer conversion passing 'SCM' (aka 'long') to parameter of type 'const char *' [-Wint-conversion]
  XSaveContext(XDISPLAY(sdpy), (XID)cmp, xtc_cmp, z);
                                                  ^
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xutil.h:581:1: note: passing argument to parameter here
);
^
x.c:609:47: warning: incompatible integer to pointer conversion passing 'SCM' (aka 'long') to parameter of type 'const char *' [-Wint-conversion]
    XSaveContext(ccc->dpy, (XID)ccc, xtc_ccc, s_ccc);
                                              ^~~~~
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xutil.h:581:1: note: passing argument to parameter here
);
^
x.c:1013:9: warning: variable 'previous_after_function' set but not used [-Wunused-but-set-variable]
  int (*previous_after_function)();
        ^
x.c:1315:10: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign]
                              VELTS(pxra), npixels,
                              ^~~~~~~~~~~
./scm.h:455:18: note: expanded from macro 'VELTS'
#define VELTS(x) ((SCM *)CDR(x))
                 ^~~~~~~~~~~~~~~
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1988:39: note: passing argument to parameter here
    unsigned long*      /* pixels_return */,
                                           ^
x.c:1328:7: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign]
                           VELTS(plra), nplanes, VELTS(pxra), npixels);
                           ^~~~~~~~~~~
./scm.h:455:18: note: expanded from macro 'VELTS'
#define VELTS(x) ((SCM *)CDR(x))
                 ^~~~~~~~~~~~~~~
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1978:44: note: passing argument to parameter here
    unsigned long*      /* plane_masks_return */,
                                                ^
x.c:1328:29: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign]
                           VELTS(plra), nplanes, VELTS(pxra), npixels);
                                                 ^~~~~~~~~~~
./scm.h:455:18: note: expanded from macro 'VELTS'
#define VELTS(x) ((SCM *)CDR(x))
                 ^~~~~~~~~~~~~~~
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1980:39: note: passing argument to parameter here
    unsigned long*      /* pixels_return */,
                                           ^
x.c:1347:36: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign]
    XFreeColors(xcm->dpy, xcm->cm, VELTS(spxls), INUM(spxls), planes);
                                   ^~~~~~~~~~~~
./scm.h:455:18: note: expanded from macro 'VELTS'
#define VELTS(x) ((SCM *)CDR(x))
                 ^~~~~~~~~~~~~~~
/Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:2538:32: note: passing argument to parameter here
    unsigned long*      /* pixels */,
                                    ^
x.c:1958:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
      case 8: return makfrom0str(data);
                                 ^~~~
./scm.h:1050:44: note: passing argument to parameter 'scr' here
SCM_EXPORT SCM  makfrom0str P((const char *scr));
                                           ^
x.c:2094:35: warning: incompatible function pointer types passing 'int (*)(Display *, Drawable, GC, int, int, const char *, int)' (aka 'int (*)(struct _XDisplay *, unsigned long, struct _XGC *, int, int, const char *, int)') to parameter of type 'int (*)(void)' [-Wincompatible-function-pointer-types]
  xldraw_string(sdbl, sgc, sargs, &XDrawString, s_x_draw_string);
                                  ^~~~~~~~~~~~
x.c:2100:35: warning: incompatible function pointer types passing 'int (*)(Display *, Drawable, GC, int, int, const char *, int)' (aka 'int (*)(struct _XDisplay *, unsigned long, struct _XGC *, int, int, const char *, int)') to parameter of type 'int (*)(void)' [-Wincompatible-function-pointer-types]
  xldraw_string(sdbl, sgc, sargs, &XDrawImageString, s_x_image_string);
                                  ^~~~~~~~~~~~~~~~~
x.c:2274:3: warning: variable 'ev' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
  ASRTGO(NIMP(sevent) && XEVENTP(sevent), badarg);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scm.h:1124:36: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE'
#define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
x.c:2283:23: note: uninitialized use occurs here
  ans = XLookupKeysym(ev, ev->state);
                      ^~
x.c:2274:3: note: remove the 'if' if its condition is always false
  ASRTGO(NIMP(sevent) && XEVENTP(sevent), badarg);
  ^
./scm.h:1124:32: note: expanded from macro 'ASRTGO'
# define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label;
                               ^
x.c:2272:16: note: initialize the variable 'ev' to silence this warning
  XKeyEvent *ev;
               ^
                = NULL
11 warnings generated.
mv: rename scm to scm~: No such file or directory
clang: error: no such file or directory: 'unexelf.o'
*** Error code 1

Stop.
bmake[1]: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/lang/scm
*** Error code 1

Stop.
bmake: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/lang/scm