diff --git a/configure b/configure index a6974c3..90489c8 100755 --- a/configure +++ b/configure @@ -3804,6 +3804,9 @@ case "$target_os" in *linux*) LDFLAGS="-rdynamic $LDFLAGS" ;; + *bsd*) + LDFLAGS="-Wl,-E $LDFLAGS" + ;; esac # Checks for libraries. diff --git a/configure.ac b/configure.ac index c8a1cd5..c8b73d5 100644 --- a/configure.ac +++ b/configure.ac @@ -18,6 +18,9 @@ case "$target_os" in *linux*) LDFLAGS="-rdynamic $LDFLAGS" ;; + *bsd*) + LDFLAGS="-Wl,-E $LDFLAGS" + ;; esac # Checks for libraries. diff --git a/scheme/ikarus.boot.orig b/scheme/ikarus.boot.orig index 24a6365..e3652b6 100644 Binary files a/scheme/ikarus.boot.orig and b/scheme/ikarus.boot.orig differ diff --git a/scheme/ikarus.writer.ss b/scheme/ikarus.writer.ss index 38de685..a1e7174 100644 --- a/scheme/ikarus.writer.ss +++ b/scheme/ikarus.writer.ss @@ -261,7 +261,7 @@ "!$%&*/:<=>?^_~+-.@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")) (define initials-map (ascii-map - "!$%&*/:<=>?^_~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")) + "!$%&*/:<=>?^_~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")) (define (in-map? byte map) @@ -301,7 +301,8 @@ (let* ([c0 ($string-ref str 0)] [b0 ($char->fixnum c0)]) (cond - [(in-map? b0 initials-map) (write-char c0 p)] + [(in-map? b0 initials-map) + (write-char c0 p)] [($fx< b0 128) (write-inline-hex b0 p)] [(unicode-printable-char? c0) (write-char c0 p)] [else (write-inline-hex b0 p)])