[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core guile-readline/readline.c libg...
From: |
Thien-Thi Nguyen |
Subject: |
guile/guile-core guile-readline/readline.c libg... |
Date: |
Mon, 09 Jul 2001 00:31:06 -0700 |
CVSROOT: /cvs
Module name: guile
Branch: branch_release-1-6
Changes by: Thien-Thi Nguyen <address@hidden> 01/07/09 00:31:05
Modified files:
guile-core/guile-readline: readline.c
guile-core/libguile: alist.c alloca.c arbiters.c async.c async.h
backtrace.c boolean.c chars.c
continuations.c coop-defs.h coop-threads.c
debug-malloc.h debug.c debug.h dynl.c
dynwind.c eq.c error.c eval.c evalext.c
feature.c feature.h filesys.c filesys.h
fluids.c fluids.h fports.c fports.h gc.c
gc.h gdbint.c gsubr.c guardians.c hash.c
hashtab.c hooks.c hooks.h inet_aton.c
init.c ioext.c keywords.c keywords.h lang.c
list.c load.c macros.c mallocs.c memmove.c
modules.c net_db.c numbers.c numbers.h
objects.c objprop.c options.c pairs.c
pairs.h ports.c ports.h posix.c print.c
print.h procprop.c procs.c procs.h
properties.c putenv.c ramap.c random.c
random.h read.c regex-posix.c regex-posix.h
root.c root.h scmsigs.c script.c simpos.c
smob.c snarf.h socket.c sort.c srcprop.c
srcprop.h stackchk.c stacks.c stacks.h
stime.c strerror.c strings.c strings.h
strop.c strorder.c strports.c struct.c
struct.h symbols.c symbols.h tags.h
threads.c threads.h throw.c unif.c unif.h
variable.c variable.h vectors.c vectors.h
version.c vports.c weaks.c weaks.h
symbols-deprecated.c
Log message:
Remove "face-lift" comment.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/guile-readline/readline.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.38&tr2=1.38.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/alist.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.33&tr2=1.33.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/alloca.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.9&tr2=1.9.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/arbiters.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.28&tr2=1.28.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/async.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.58&tr2=1.58.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/async.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.18&tr2=1.18.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/backtrace.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.70&tr2=1.70.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/boolean.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.18&tr2=1.18.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/chars.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.28&tr2=1.28.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/continuations.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.38&tr2=1.38.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/coop-defs.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.21&tr2=1.21.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/coop-threads.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.31&tr2=1.31.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/debug-malloc.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.1&tr2=1.1.6.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/debug.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.92&tr2=1.92.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/debug.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.41&tr2=1.41.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/dynl.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.63&tr2=1.63.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/dynwind.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.41&tr2=1.41.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/eq.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.34&tr2=1.34.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/error.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.63&tr2=1.63.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/eval.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.234&tr2=1.234.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/evalext.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.35&tr2=1.35.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/feature.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.46&tr2=1.46.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/feature.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.23&tr2=1.23.6.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/filesys.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.104&tr2=1.104.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/filesys.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.31&tr2=1.31.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/fluids.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.42&tr2=1.42.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/fluids.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.14&tr2=1.14.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/fports.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.100&tr2=1.100.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/fports.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.29&tr2=1.29.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/gc.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.208&tr2=1.208.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/gc.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.79&tr2=1.79.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/gdbint.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.42&tr2=1.42.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/gsubr.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.40&tr2=1.40.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/guardians.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.36&tr2=1.36.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/hash.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.44&tr2=1.44.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/hashtab.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.41&tr2=1.41.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/hooks.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.21&tr2=1.21.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/hooks.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.7&tr2=1.7.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/inet_aton.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.7&tr2=1.7.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/init.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.128&tr2=1.128.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ioext.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.85&tr2=1.85.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/keywords.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.44&tr2=1.44.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/keywords.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.11&tr2=1.11.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/lang.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.21&tr2=1.21.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/list.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.58&tr2=1.58.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/load.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.65&tr2=1.65.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/macros.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.30&tr2=1.30.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/mallocs.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.27&tr2=1.27.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/memmove.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.3&tr2=1.3.6.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/modules.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.31&tr2=1.31.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/net_db.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.62&tr2=1.62.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/numbers.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.135&tr2=1.135.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/numbers.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.53&tr2=1.53.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/objects.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.63&tr2=1.63.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/objprop.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.18&tr2=1.18.4.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/options.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.34&tr2=1.34.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/pairs.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.25&tr2=1.25.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/pairs.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.28&tr2=1.28.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ports.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.153&tr2=1.153.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ports.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.77&tr2=1.77.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/posix.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.92&tr2=1.92.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/print.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.128&tr2=1.128.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/print.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.37&tr2=1.37.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/procprop.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.37&tr2=1.37.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/procs.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.60&tr2=1.60.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/procs.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.43&tr2=1.43.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/properties.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.5&tr2=1.5.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/putenv.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.8&tr2=1.8.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ramap.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.77&tr2=1.77.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/random.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.44&tr2=1.44.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/random.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.10&tr2=1.10.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/read.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.74&tr2=1.74.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/regex-posix.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.53&tr2=1.53.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/regex-posix.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.13&tr2=1.13.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/root.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.54&tr2=1.54.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/root.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.36&tr2=1.36.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/scmsigs.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.60&tr2=1.60.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/script.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.44&tr2=1.44.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/simpos.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.43&tr2=1.43.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/smob.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.47&tr2=1.47.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/snarf.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.50&tr2=1.50.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/socket.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.80&tr2=1.80.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/sort.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.36&tr2=1.36.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/srcprop.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.50&tr2=1.50.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/srcprop.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.25&tr2=1.25.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/stackchk.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.20&tr2=1.20.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/stacks.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.64&tr2=1.64.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/stacks.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.23&tr2=1.23.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/stime.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.69&tr2=1.69.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strerror.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.6&tr2=1.6.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strings.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.60&tr2=1.60.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strings.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.32&tr2=1.32.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strop.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.62&tr2=1.62.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strorder.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.25&tr2=1.25.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/strports.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.83&tr2=1.83.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/struct.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.81&tr2=1.81.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/struct.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.39&tr2=1.39.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/symbols.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.92&tr2=1.92.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/symbols.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.56&tr2=1.56.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/tags.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.82&tr2=1.82.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/threads.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.21&tr2=1.21.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/threads.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.16&tr2=1.16.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/throw.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.87&tr2=1.87.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/unif.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.120&tr2=1.120.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/unif.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.41&tr2=1.41.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/variable.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.37&tr2=1.37.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/variable.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.19&tr2=1.19.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/vectors.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.53&tr2=1.53.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/vectors.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.34&tr2=1.34.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/version.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.20&tr2=1.20.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/vports.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.48&tr2=1.48.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/weaks.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.42&tr2=1.42.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/weaks.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.16&tr2=1.16.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/symbols-deprecated.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.4&tr2=1.4.2.1&r1=text&r2=text
Patches:
Index: guile/guile-core/guile-readline/readline.c
diff -u guile/guile-core/guile-readline/readline.c:1.37
guile/guile-core/guile-readline/readline.c:1.38
--- guile/guile-core/guile-readline/readline.c:1.37 Thu Jun 14 12:51:54 2001
+++ guile/guile-core/guile-readline/readline.c Sat Jun 30 12:28:26 2001
@@ -410,7 +410,7 @@
{
SCM t = scm_makfrom0str (text);
SCM c = continuep ? SCM_BOOL_T : SCM_BOOL_F;
- res = scm_apply (compfunc, SCM_LIST2 (t, c), SCM_EOL);
+ res = scm_apply (compfunc, scm_list_2 (t, c), SCM_EOL);
if (SCM_FALSEP (res))
return NULL;
@@ -418,7 +418,7 @@
if (!SCM_STRINGP (res))
scm_misc_error (s_scm_readline,
"Completion function returned bogus value: %S",
- SCM_LIST1 (res));
+ scm_list_1 (res));
SCM_STRING_COERCE_0TERMINATION_X (res);
return strdup (SCM_STRING_CHARS (res));
}
Index: guile/guile-core/libguile/alist.c
diff -u guile/guile-core/libguile/alist.c:1.32
guile/guile-core/libguile/alist.c:1.33
--- guile/guile-core/libguile/alist.c:1.32 Fri Nov 17 08:25:03 2000
+++ guile/guile-core/libguile/alist.c Fri Mar 9 15:33:37 2001
@@ -43,7 +43,6 @@
address@hidden, http://www.cs.washington.edu/homes/gjb */
-#include <stdio.h>
#include "libguile/_scm.h"
#include "libguile/eq.h"
#include "libguile/list.h"
Index: guile/guile-core/libguile/alloca.c
diff -u guile/guile-core/libguile/alloca.c:1.8
guile/guile-core/libguile/alloca.c:1.9
--- guile/guile-core/libguile/alloca.c:1.8 Fri Apr 21 07:16:30 2000
+++ guile/guile-core/libguile/alloca.c Thu Oct 12 00:59:02 2000
@@ -25,7 +25,7 @@
address@hidden, http://www.cs.washington.edu/homes/gjb */
#ifdef HAVE_CONFIG_H
-#include <scmconfig.h>
+#include "libguile/scmconfig.h"
#endif
#ifdef HAVE_STRING_H
Index: guile/guile-core/libguile/arbiters.c
diff -u guile/guile-core/libguile/arbiters.c:1.27
guile/guile-core/libguile/arbiters.c:1.28
--- guile/guile-core/libguile/arbiters.c:1.27 Fri Mar 9 15:33:37 2001
+++ guile/guile-core/libguile/arbiters.c Thu Jun 14 12:50:43 2001
@@ -59,7 +59,7 @@
* SCM_DEFER_INTS).
*/
-static scm_bits_t scm_tc16_arbiter;
+static scm_t_bits scm_tc16_arbiter;
#define SCM_ARB_LOCKED(arb) ((SCM_CELL_WORD_0 (arb)) & (1L << 16))
Index: guile/guile-core/libguile/async.c
diff -u guile/guile-core/libguile/async.c:1.57
guile/guile-core/libguile/async.c:1.58
--- guile/guile-core/libguile/async.c:1.57 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/async.c Tue Jun 26 08:46:40 2001
@@ -363,7 +363,7 @@
if (ASYNC_GOT_IT (a))
{
SET_ASYNC_GOT_IT (a, 0);
- scm_apply (ASYNC_THUNK (a), SCM_EOL, SCM_EOL);
+ scm_call_0 (ASYNC_THUNK (a));
}
scm_mask_ints = 0;
list_of_a = SCM_CDR (list_of_a);
Index: guile/guile-core/libguile/async.h
diff -u guile/guile-core/libguile/async.h:1.17
guile/guile-core/libguile/async.h:1.18
--- guile/guile-core/libguile/async.h:1.17 Wed Jun 28 03:26:52 2000
+++ guile/guile-core/libguile/async.h Tue Jun 26 10:53:09 2001
@@ -1,7 +1,7 @@
/* classes: h_files */
-#ifndef ASYNCH
-#define ASYNCH
+#ifndef SCM_ASYNC_H
+#define SCM_ASYNC_H
/* Copyright (C) 1995, 96, 97, 98, 2000 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
@@ -70,7 +70,7 @@
extern SCM scm_mask_signals (void);
extern void scm_init_async (void);
-#endif /* ASYNCH */
+#endif /* SCM_ASYNC_H */
/*
Local Variables:
Index: guile/guile-core/libguile/backtrace.c
diff -u guile/guile-core/libguile/backtrace.c:1.69
guile/guile-core/libguile/backtrace.c:1.70
--- guile/guile-core/libguile/backtrace.c:1.69 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/backtrace.c Tue Jul 3 08:27:56 2001
@@ -47,6 +47,7 @@
address@hidden, http://www.cs.washington.edu/homes/gjb */
+#include <stdio.h>
#include <ctype.h>
#include "libguile/_scm.h"
Index: guile/guile-core/libguile/boolean.c
diff -u guile/guile-core/libguile/boolean.c:1.17
guile/guile-core/libguile/boolean.c:1.18
--- guile/guile-core/libguile/boolean.c:1.17 Fri Nov 17 08:25:03 2000
+++ guile/guile-core/libguile/boolean.c Fri Mar 9 15:33:37 2001
@@ -44,7 +44,6 @@
-#include <stdio.h>
#include "libguile/_scm.h"
#include "libguile/validate.h"
Index: guile/guile-core/libguile/chars.c
diff -u guile/guile-core/libguile/chars.c:1.27
guile/guile-core/libguile/chars.c:1.28
--- guile/guile-core/libguile/chars.c:1.27 Mon Dec 4 09:19:35 2000
+++ guile/guile-core/libguile/chars.c Fri Mar 9 15:33:37 2001
@@ -44,7 +44,6 @@
-#include <stdio.h>
#include <ctype.h>
#include "libguile/_scm.h"
#include "libguile/validate.h"
Index: guile/guile-core/libguile/continuations.c
diff -u guile/guile-core/libguile/continuations.c:1.37
guile/guile-core/libguile/continuations.c:1.38
--- guile/guile-core/libguile/continuations.c:1.37 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/continuations.c Wed Jun 27 18:11:58 2001
@@ -232,7 +232,7 @@
|| continuation->base != rootcont->base)
{
SCM_MISC_ERROR ("continuation from wrong top level: ~S",
- SCM_LIST1 (cont));
+ scm_list_1 (cont));
}
scm_dowinds (continuation->dynenv,
Index: guile/guile-core/libguile/coop-defs.h
diff -u guile/guile-core/libguile/coop-defs.h:1.20
guile/guile-core/libguile/coop-defs.h:1.21
--- guile/guile-core/libguile/coop-defs.h:1.20 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/coop-defs.h Sun Jun 24 17:56:41 2001
@@ -153,7 +153,7 @@
extern int coop_mutex_destroy (coop_m*);
#define scm_mutex_init coop_mutex_init
#define scm_mutex_lock coop_mutex_lock
-#define scm_t_mutexrylock coop_mutex_lock
+#define scm_mutex_trylock coop_mutex_lock
#define scm_mutex_unlock coop_mutex_unlock
#define scm_mutex_destroy coop_mutex_destroy
@@ -188,7 +188,7 @@
extern int coop_condition_variable_destroy (coop_c*);
#define scm_cond_init coop_new_condition_variable_init
#define scm_cond_wait coop_condition_variable_wait_mutex
-#define scm_t_condimedwait coop_condition_variable_timed_wait_mutex
+#define scm_cond_timedwait coop_condition_variable_timed_wait_mutex
#define scm_cond_signal coop_condition_variable_signal
#define scm_cond_broadcast coop_condition_variable_signal /* yes */
#define scm_cond_destroy coop_condition_variable_destroy
Index: guile/guile-core/libguile/coop-threads.c
diff -u guile/guile-core/libguile/coop-threads.c:1.30
guile/guile-core/libguile/coop-threads.c:1.31
--- guile/guile-core/libguile/coop-threads.c:1.30 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/coop-threads.c Tue Jun 26 08:46:40 2001
@@ -180,21 +180,19 @@
SCM handler;
} scheme_launch_data;
-extern SCM scm_apply (SCM, SCM, SCM);
-
static SCM
scheme_body_bootstrip (scheme_launch_data* data)
{
/* First save the new root continuation */
data->rootcont = scm_root->rootcont;
- return scm_apply (data->body, SCM_EOL, SCM_EOL);
+ return scm_call_0 (data->body);
}
static SCM
scheme_handler_bootstrip (scheme_launch_data* data, SCM tag, SCM throw_args)
{
scm_root->rootcont = data->rootcont;
- return scm_apply (data->handler, scm_cons (tag, throw_args), SCM_EOL);
+ return scm_apply_1 (data->handler, tag, throw_args);
}
static void
Index: guile/guile-core/libguile/debug.c
diff -u guile/guile-core/libguile/debug.c:1.91
guile/guile-core/libguile/debug.c:1.92
--- guile/guile-core/libguile/debug.c:1.91 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/debug.c Tue Jun 26 08:46:40 2001
@@ -120,7 +120,7 @@
with_traps_inner (void *data)
{
SCM thunk = SCM_PACK (data);
- return scm_apply (thunk, SCM_EOL, SCM_EOL);
+ return scm_call_0 (thunk);
}
SCM_DEFINE (scm_with_traps, "with-traps", 1, 0, 0,
Index: guile/guile-core/libguile/debug.h
diff -u guile/guile-core/libguile/debug.h:1.40
guile/guile-core/libguile/debug.h:1.41
--- guile/guile-core/libguile/debug.h:1.40 Mon Jun 25 04:06:33 2001
+++ guile/guile-core/libguile/debug.h Tue Jun 26 14:55:45 2001
@@ -98,13 +98,15 @@
#define SCM_RESET_DEBUG_MODE \
do {\
- CHECK_ENTRY = SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P;\
- CHECK_APPLY = SCM_APPLY_FRAME_P || SCM_TRACE_P;\
- CHECK_EXIT = SCM_EXIT_FRAME_P || SCM_TRACE_P;\
+ CHECK_ENTRY = (SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P)\
+ && SCM_NFALSEP (SCM_ENTER_FRAME_HDLR);\
+ CHECK_APPLY = (SCM_APPLY_FRAME_P || SCM_TRACE_P)\
+ && SCM_NFALSEP (SCM_APPLY_FRAME_HDLR);\
+ CHECK_EXIT = (SCM_EXIT_FRAME_P || SCM_TRACE_P)\
+ && SCM_NFALSEP (SCM_EXIT_FRAME_HDLR);\
scm_debug_mode = SCM_DEVAL_P || CHECK_ENTRY || CHECK_APPLY || CHECK_EXIT;\
scm_ceval_ptr = scm_debug_mode ? scm_deval : scm_ceval;\
} while (0)
-
/* {Evaluator}
*/
Index: guile/guile-core/libguile/dynl.c
diff -u guile/guile-core/libguile/dynl.c:1.62
guile/guile-core/libguile/dynl.c:1.63
--- guile/guile-core/libguile/dynl.c:1.62 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/dynl.c Wed Jun 27 18:11:58 2001
@@ -254,7 +254,7 @@
SCM_ALLOW_INTS;
fn = scm_makfrom0str (fname);
msg = scm_makfrom0str (lt_dlerror ());
- scm_misc_error (subr, "file: ~S, message: ~S", SCM_LIST2 (fn, msg));
+ scm_misc_error (subr, "file: ~S, message: ~S", scm_list_2 (fn, msg));
}
return (void *) handle;
}
Index: guile/guile-core/libguile/dynwind.c
diff -u guile/guile-core/libguile/dynwind.c:1.40
guile/guile-core/libguile/dynwind.c:1.41
--- guile/guile-core/libguile/dynwind.c:1.40 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/dynwind.c Tue Jun 26 08:46:40 2001
@@ -125,11 +125,11 @@
SCM_ASSERT (SCM_NFALSEP (scm_thunk_p (out_guard)),
out_guard,
SCM_ARG3, FUNC_NAME);
- scm_apply (in_guard, SCM_EOL, SCM_EOL);
+ scm_call_0 (in_guard);
scm_dynwinds = scm_acons (in_guard, out_guard, scm_dynwinds);
- ans = scm_apply (thunk, SCM_EOL, SCM_EOL);
+ ans = scm_call_0 (thunk);
scm_dynwinds = SCM_CDR (scm_dynwinds);
- scm_apply (out_guard, SCM_EOL, SCM_EOL);
+ scm_call_0 (out_guard);
return ans;
}
#undef FUNC_NAME
@@ -231,7 +231,7 @@
else if (SCM_GUARDSP (wind_key))
SCM_BEFORE_GUARD (wind_key) (SCM_GUARD_DATA (wind_key));
else if (SCM_TYP3 (wind_key) == scm_tc3_closure)
- scm_apply (wind_key, SCM_EOL, SCM_EOL);
+ scm_call_0 (wind_key);
}
}
scm_dynwinds = to;
@@ -263,7 +263,7 @@
else if (SCM_GUARDSP (wind_key))
SCM_AFTER_GUARD (wind_key) (SCM_GUARD_DATA (wind_key));
else if (SCM_TYP3 (wind_key) == scm_tc3_closure)
- scm_apply (from, SCM_EOL, SCM_EOL);
+ scm_call_0 (from);
}
}
delta--;
Index: guile/guile-core/libguile/eq.c
diff -u guile/guile-core/libguile/eq.c:1.33 guile/guile-core/libguile/eq.c:1.34
--- guile/guile-core/libguile/eq.c:1.33 Fri Mar 30 07:03:22 2001
+++ guile/guile-core/libguile/eq.c Sat Apr 21 14:50:08 2001
@@ -188,7 +188,7 @@
case scm_tc7_llvect:
#endif
case scm_tc7_byvect:
- if (scm_tc16_array && scm_smobs[0x0ff & (scm_tc16_array >> 8)].equalp)
+ if (scm_tc16_array && scm_smobs[SCM_TC2SMOBNUM (scm_tc16_array)].equalp)
return scm_array_equal_p (x, y);
#endif
}
Index: guile/guile-core/libguile/error.c
diff -u guile/guile-core/libguile/error.c:1.62
guile/guile-core/libguile/error.c:1.63
--- guile/guile-core/libguile/error.c:1.62 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/error.c Tue Jul 3 08:27:56 2001
@@ -61,6 +61,11 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+
+/* For Windows... */
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
Index: guile/guile-core/libguile/eval.c
diff -u guile/guile-core/libguile/eval.c:1.233
guile/guile-core/libguile/eval.c:1.234
--- guile/guile-core/libguile/eval.c:1.233 Tue Jun 26 14:55:45 2001
+++ guile/guile-core/libguile/eval.c Wed Jun 27 18:11:58 2001
@@ -2523,7 +2523,7 @@
proc = x;
badfun:
/* scm_everr (x, env,...) */
- scm_misc_error (NULL, "Wrong type to apply: ~S", SCM_LIST1 (proc));
+ scm_misc_error (NULL, "Wrong type to apply: ~S", scm_list_1 (proc));
case scm_tc7_vector:
case scm_tc7_wvect:
#ifdef HAVE_ARRAYS
Index: guile/guile-core/libguile/evalext.c
diff -u guile/guile-core/libguile/evalext.c:1.34
guile/guile-core/libguile/evalext.c:1.35
--- guile/guile-core/libguile/evalext.c:1.34 Thu Jun 7 14:12:19 2001
+++ guile/guile-core/libguile/evalext.c Wed Jun 27 18:11:58 2001
@@ -63,8 +63,8 @@
if (SCM_SYMBOLP (SCM_CAR (x)))
return scm_cons (SCM_IM_SET_X, x);
else if (SCM_CONSP (SCM_CAR (x)))
- return scm_cons (SCM_LIST2 (scm_sym_setter, SCM_CAAR (x)),
- scm_append (SCM_LIST2 (SCM_CDAR (x), SCM_CDR (x))));
+ return scm_cons (scm_list_2 (scm_sym_setter, SCM_CAAR (x)),
+ scm_append (scm_list_2 (SCM_CDAR (x), SCM_CDR (x))));
else
scm_misc_error (scm_s_set_x, scm_s_variable, SCM_EOL);
}
Index: guile/guile-core/libguile/feature.c
diff -u guile/guile-core/libguile/feature.c:1.45
guile/guile-core/libguile/feature.c:1.46
--- guile/guile-core/libguile/feature.c:1.45 Fri Mar 9 15:33:38 2001
+++ guile/guile-core/libguile/feature.c Tue May 15 07:57:21 2001
@@ -57,15 +57,15 @@
-static SCM features;
+static SCM features_var;
void
scm_add_feature (const char *str)
{
- SCM old = SCM_CDR (features);
+ SCM old = SCM_VARIABLE_REF (features_var);
SCM new = scm_cons (scm_str2symbol (str), old);
- SCM_SETCDR (features, new);
+ SCM_VARIABLE_SET (features_var, new);
}
@@ -103,7 +103,7 @@
void
scm_init_feature()
{
- features = scm_sysintern ("*features*", SCM_EOL);
+ features_var = scm_c_define ("*features*", SCM_EOL);
#ifdef SCM_RECKLESS
scm_add_feature("reckless");
#endif
@@ -126,7 +126,7 @@
scm_add_feature ("threads");
#endif
- scm_sysintern ("char-code-limit", SCM_MAKINUM (SCM_CHAR_CODE_LIMIT));
+ scm_c_define ("char-code-limit", SCM_MAKINUM (SCM_CHAR_CODE_LIMIT));
#ifndef SCM_MAGIC_SNARFER
#include "libguile/feature.x"
Index: guile/guile-core/libguile/feature.h
diff -u guile/guile-core/libguile/feature.h:1.22
guile/guile-core/libguile/feature.h:1.23
--- guile/guile-core/libguile/feature.h:1.22 Sun Mar 19 11:01:11 2000
+++ guile/guile-core/libguile/feature.h Fri Apr 21 16:11:05 2000
@@ -2,7 +2,7 @@
#ifndef FEATUREH
#define FEATUREH
-/* Copyright (C) 1995, 1996, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -49,30 +49,9 @@
#include "libguile/__scm.h"
-#define SCM_HOOKP(x) (SCM_NIMP(x) && (SCM_TYP16 (x) == scm_tc16_hook))
-#define SCM_HOOK_ARITY(hook) (SCM_UNPACK_CAR (hook) >> 16)
-#define SCM_HOOK_NAME(hook) SCM_CADR (hook)
-#define SCM_HOOK_PROCEDURES(hook) SCM_CDDR (hook)
-#define SCM_SET_HOOK_PROCEDURES(hook, procs) SCM_SETCDR (SCM_CDR (hook), procs)
-
-extern long scm_tc16_hook;
-
extern void scm_add_feature (const char* str);
extern SCM scm_program_arguments (void);
extern void scm_set_program_arguments (int argc, char **argv, char *first);
-extern SCM scm_make_hook (SCM n_args);
-extern SCM scm_make_hook_with_name (SCM name, SCM n_args);
-extern SCM scm_create_hook (const char* name, int n_args);
-extern void scm_free_hook (SCM hook);
-extern SCM scm_make_named_hook (const char* name, int n_args);
-extern SCM scm_hook_p (SCM x);
-extern SCM scm_hook_empty_p (SCM hook);
-extern SCM scm_add_hook_x (SCM hook, SCM thunk, SCM appendp);
-extern SCM scm_remove_hook_x (SCM hook, SCM thunk);
-extern SCM scm_reset_hook_x (SCM hook);
-extern SCM scm_run_hook (SCM hook, SCM args);
-extern void scm_c_run_hook (SCM hook, SCM args);
-extern SCM scm_hook_to_list (SCM hook);
extern void scm_init_feature (void);
#endif /* FEATUREH */
Index: guile/guile-core/libguile/filesys.c
diff -u guile/guile-core/libguile/filesys.c:1.103
guile/guile-core/libguile/filesys.c:1.104
--- guile/guile-core/libguile/filesys.c:1.103 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/filesys.c Wed Jun 27 18:11:58 2001
@@ -574,7 +574,8 @@
int en = errno;
SCM_SYSERROR_MSG ("~A: ~S",
- SCM_LIST2 (scm_makfrom0str (strerror (errno)), object),
+ scm_list_2 (scm_makfrom0str (strerror (errno)),
+ object),
en);
}
return scm_stat2scm (&stat_temp);
@@ -753,7 +754,7 @@
SCM_VALIDATE_DIR (1, port);
if (!SCM_DIR_OPEN_P (port))
- SCM_MISC_ERROR ("Directory ~S is not open.", SCM_LIST1 (port));
+ SCM_MISC_ERROR ("Directory ~S is not open.", scm_list_1 (port));
errno = 0;
SCM_SYSCALL (rdent = readdir ((DIR *) SCM_CELL_WORD_1 (port)));
@@ -774,7 +775,7 @@
{
SCM_VALIDATE_DIR (1, port);
if (!SCM_DIR_OPEN_P (port))
- SCM_MISC_ERROR ("Directory ~S is not open.", SCM_LIST1 (port));
+ SCM_MISC_ERROR ("Directory ~S is not open.", scm_list_1 (port));
rewinddir ((DIR *) SCM_CELL_WORD_1 (port));
@@ -1162,9 +1163,9 @@
if (rv < 0)
SCM_SYSERROR;
}
- return SCM_LIST3 (retrieve_select_type (&read_set, read_ports_ready, reads),
- retrieve_select_type (&write_set, write_ports_ready,
writes),
- retrieve_select_type (&except_set, SCM_EOL, excepts));
+ return scm_list_3 (retrieve_select_type (&read_set, read_ports_ready, reads),
+ retrieve_select_type (&write_set, write_ports_ready,
writes),
+ retrieve_select_type (&except_set, SCM_EOL, excepts));
}
#undef FUNC_NAME
#endif /* HAVE_SELECT */
@@ -1325,7 +1326,7 @@
int en = errno;
SCM_SYSERROR_MSG ("~A: ~S",
- SCM_LIST2 (scm_makfrom0str (strerror (errno)), str),
+ scm_list_2 (scm_makfrom0str (strerror (errno)), str),
en);
}
return scm_stat2scm(&stat_temp);
Index: guile/guile-core/libguile/filesys.h
diff -u guile/guile-core/libguile/filesys.h:1.30
guile/guile-core/libguile/filesys.h:1.31
--- guile/guile-core/libguile/filesys.h:1.30 Fri Mar 9 15:33:39 2001
+++ guile/guile-core/libguile/filesys.h Thu Jun 14 12:50:43 2001
@@ -51,7 +51,7 @@
-extern scm_bits_t scm_tc16_dir;
+extern scm_t_bits scm_tc16_dir;
#define SCM_DIR_FLAG_OPEN (1L << 16)
Index: guile/guile-core/libguile/fluids.c
diff -u guile/guile-core/libguile/fluids.c:1.41
guile/guile-core/libguile/fluids.c:1.42
--- guile/guile-core/libguile/fluids.c:1.41 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/fluids.c Thu Jun 28 09:37:19 2001
@@ -253,7 +253,7 @@
scm_c_with_fluid (SCM fluid, SCM value, SCM (*cproc) (), void *cdata)
#define FUNC_NAME "scm_c_with_fluid"
{
- return scm_c_with_fluids (scm_list_1 (fluid), SCM_LIST1 (value),
+ return scm_c_with_fluids (scm_list_1 (fluid), scm_list_1 (value),
cproc, cdata);
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/fluids.h
diff -u guile/guile-core/libguile/fluids.h:1.13
guile/guile-core/libguile/fluids.h:1.14
--- guile/guile-core/libguile/fluids.h:1.13 Fri May 18 17:36:22 2001
+++ guile/guile-core/libguile/fluids.h Thu Jun 14 12:50:43 2001
@@ -73,7 +73,7 @@
implement a more lightweight version of fluids on top of this basic
mechanism. */
-extern scm_bits_t scm_tc16_fluid;
+extern scm_t_bits scm_tc16_fluid;
#define SCM_FLUIDP(x) (!SCM_IMP (x) && (SCM_CELL_TYPE (x) ==
scm_tc16_fluid))
#define SCM_FLUID_NUM(x) (SCM_CELL_WORD_1 (x))
Index: guile/guile-core/libguile/fports.c
diff -u guile/guile-core/libguile/fports.c:1.99
guile/guile-core/libguile/fports.c:1.100
--- guile/guile-core/libguile/fports.c:1.99 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/fports.c Tue Jun 26 10:53:09 2001
@@ -68,6 +68,12 @@
#include <errno.h>
#include "libguile/iselect.h"
+/* Some defines for Windows. */
+#ifdef __MINGW32__
+# include <sys/stat.h>
+# include <winsock2.h>
+# define ftruncate(fd, size) chsize (fd, size)
+#endif /* __MINGW32__ */
scm_t_bits scm_tc16_fport;
@@ -349,6 +355,46 @@
#undef FUNC_NAME
+#ifdef __MINGW32__
+/*
+ * Try getting the appropiate file flags for a given file descriptor
+ * under Windows. This incorporates some fancy operations because Windows
+ * differentiates between file, pipe and socket descriptors.
+ */
+#ifndef O_ACCMODE
+# define O_ACCMODE 0x0003
+#endif
+
+static int getflags (int fdes)
+{
+ int flags = 0;
+ struct stat buf;
+ int error, optlen = sizeof (int);
+
+ /* Is this a socket ? */
+ if (getsockopt (fdes, SOL_SOCKET, SO_ERROR, (void *) &error, &optlen) >= 0)
+ flags = O_RDWR;
+ /* Maybe a regular file ? */
+ else if (fstat (fdes, &buf) < 0)
+ flags = -1;
+ else
+ {
+ /* Or an anonymous pipe handle ? */
+ if (buf.st_mode & 0x1000 /* _O_SHORT_LIVED */)
+ flags = O_RDWR;
+ /* stdin ? */
+ else if (fdes == 0 && isatty (fdes))
+ flags = O_RDONLY;
+ /* stdout / stderr ? */
+ else if ((fdes == 1 || fdes == 2) && isatty (fdes))
+ flags = O_WRONLY;
+ else
+ flags = buf.st_mode;
+ }
+ return flags;
+}
+#endif /* __MINGW32__ */
+
/* Building Guile ports from a file descriptor. */
/* Build a Scheme port from an open file descriptor `fdes'.
@@ -366,7 +412,11 @@
int flags;
/* test that fdes is valid. */
+#ifdef __MINGW32__
+ flags = getflags (fdes);
+#else
flags = fcntl (fdes, F_GETFL, 0);
+#endif
if (flags == -1)
SCM_SYSERROR;
flags &= O_ACCMODE;
@@ -456,9 +506,11 @@
scm_putc (' ', port);
fdes = (SCM_FSTREAM (exp))->fdes;
+#ifdef HAVE_TTYNAME
if (isatty (fdes))
scm_puts (ttyname (fdes), port);
else
+#endif /* HAVE_TTYNAME */
scm_intprint (fdes, 10, port);
}
else
@@ -595,7 +647,7 @@
while (remaining > 0)
{
- ssize_t done;
+ size_t done;
SCM_SYSCALL (done = write (fdes, data, remaining));
Index: guile/guile-core/libguile/fports.h
diff -u guile/guile-core/libguile/fports.h:1.28
guile/guile-core/libguile/fports.h:1.29
--- guile/guile-core/libguile/fports.h:1.28 Wed May 23 17:50:44 2001
+++ guile/guile-core/libguile/fports.h Thu Jun 14 12:50:43 2001
@@ -54,17 +54,17 @@
/* struct allocated for each buffered FPORT. */
-typedef struct scm_fport_t {
+typedef struct scm_t_fport {
int fdes; /* file descriptor. */
-} scm_fport_t;
+} scm_t_fport;
#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_fport scm_fport_t
+# define scm_fport scm_t_fport
#endif
-extern scm_bits_t scm_tc16_fport;
+extern scm_t_bits scm_tc16_fport;
-#define SCM_FSTREAM(x) ((scm_fport_t *) SCM_STREAM (x))
+#define SCM_FSTREAM(x) ((scm_t_fport *) SCM_STREAM (x))
#define SCM_FPORT_FDES(x) (SCM_FSTREAM (x)->fdes)
#define SCM_FPORTP(x) (!SCM_IMP (x) && (SCM_TYP16 (x) == scm_tc16_fport))
Index: guile/guile-core/libguile/gc.c
diff -u guile/guile-core/libguile/gc.c:1.207
guile/guile-core/libguile/gc.c:1.208
--- guile/guile-core/libguile/gc.c:1.207 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/gc.c Sat Jun 30 12:50:10 2001
@@ -114,6 +114,19 @@
static unsigned int debug_cells_gc_interval = 0;
+/* If an allocated cell is detected during garbage collection, this means that
+ * some code has just obtained the object but was preempted before the
+ * initialization of the object was completed. This meanst that some entries
+ * of the allocated cell may already contain SCM objects. Therefore,
+ * allocated cells are scanned conservatively. */
+static SCM
+allocated_mark (SCM allocated)
+{
+ scm_gc_mark_cell_conservatively (allocated);
+ return SCM_BOOL_F;
+}
+
+
/* Assert that the given object is a valid reference to a valid cell. This
* test involves to determine whether the object is a cell pointer, whether
* this pointer actually points into a heap segment and whether the cell
@@ -517,22 +530,6 @@
#if defined (GUILE_DEBUG) || defined (GUILE_DEBUG_FREELIST)
-/* Return the number of the heap segment containing CELL. */
-static long
-which_seg (SCM cell)
-{
- long i;
-
- for (i = 0; i < scm_n_heap_segs; i++)
- if (SCM_PTR_LE (scm_heap_table[i].bounds[0], SCM2PTR (cell))
- && SCM_PTR_GT (scm_heap_table[i].bounds[1], SCM2PTR (cell)))
- return i;
- fprintf (stderr, "which_seg: can't find segment containing cell %lux\n",
- (unsigned long) SCM_UNPACK (cell));
- abort ();
-}
-
-
static void
map_free_list (scm_t_freelist *master, SCM freelist)
{
@@ -541,10 +538,17 @@
for (f = freelist; !SCM_NULLP (f); f = SCM_FREE_CELL_CDR (f))
{
- long this_seg = which_seg (f);
+ long int this_seg = heap_segment (f);
- if (this_seg != last_seg)
+ if (this_seg == -1)
{
+ fprintf (stderr,
+ "map_free_list: can't find segment containing cell %lux\n",
+ (unsigned long int) SCM_UNPACK (cell));
+ abort ();
+ }
+ else if (this_seg != last_seg)
+ {
if (last_seg != -1)
fprintf (stderr, " %5ld %d-cells in segment %ld\n",
(long) count, master->span, (long) last_seg);
@@ -565,12 +569,14 @@
"@code{--enable-guile-debug} builds of Guile.")
#define FUNC_NAME s_scm_map_free_list
{
- long i;
+ size_t i;
+
fprintf (stderr, "%ld segments total (%d:%ld",
(long) scm_n_heap_segs,
scm_heap_table[0].span,
(long) (scm_heap_table[0].bounds[1] - scm_heap_table[0].bounds[0]));
- for (i = 1; i < scm_n_heap_segs; i++)
+
+ for (i = 1; i != scm_n_heap_segs; i++)
fprintf (stderr, ", %d:%ld",
scm_heap_table[i].span,
(long) (scm_heap_table[i].bounds[1] -
scm_heap_table[i].bounds[0]));
@@ -1120,10 +1126,10 @@
/* mark the registered roots */
{
- long i;
+ size_t i;
for (i = 0; i < SCM_VECTOR_LENGTH (scm_gc_registered_roots); ++i) {
SCM l = SCM_VELTS (scm_gc_registered_roots)[i];
- for (; ! SCM_NULLP (l); l = SCM_CDR (l)) {
+ for (; !SCM_NULLP (l); l = SCM_CDR (l)) {
SCM *p = (SCM *) (scm_num2long (SCM_CAAR (l), 0, NULL));
scm_gc_mark (*p);
}
@@ -1366,7 +1372,7 @@
goto_gc_mark_loop;
case scm_tc7_wvect:
- SCM_WVECT_GC_CHAIN (ptr) = scm_weak_vectors;
+ SCM_SET_WVECT_GC_CHAIN (ptr, scm_weak_vectors);
scm_weak_vectors = ptr;
if (SCM_IS_WHVEC_ANY (ptr))
{
@@ -1449,7 +1455,27 @@
switch (SCM_TYP16 (ptr))
{ /* should be faster than going through scm_smobs */
case scm_tc_free_cell:
- /* printf("found free_cell %X ", ptr); fflush(stdout); */
+ /* We have detected a free cell. This can happen if non-object data
+ * on the C stack points into guile's heap and is scanned during
+ * conservative marking. */
+#if (SCM_DEBUG_CELL_ACCESSES == 0)
+ /* If cell debugging is disabled, there is a second situation in
+ * which a free cell can be encountered, namely if with preemptive
+ * threading one thread has just obtained a fresh cell and was
+ * preempted before the cell initialization was completed. In this
+ * case, some entries of the cell may already contain objects.
+ * Thus, if cell debugging is disabled, free cells are scanned
+ * conservatively. */
+ scm_gc_mark_cell_conservatively (ptr);
+#else /* SCM_DEBUG_CELL_ACCESSES == 1 */
+ /* With cell debugging enabled, a freshly obtained but not fully
+ * initialized cell is guaranteed to be of type scm_tc16_allocated.
+ * Thus, no conservative scanning for free cells is necessary, but
+ * instead cells of type scm_tc16_allocated have to be scanned
+ * conservatively. This is done in the mark function of the
+ * scm_tc16_allocated smob type. */
+#endif
+ break;
case scm_tc16_big:
case scm_tc16_real:
case scm_tc16_complex:
@@ -1493,109 +1519,120 @@
#undef FNAME
-/* Mark a Region Conservatively
- */
-
-void
-scm_mark_locations (SCM_STACKITEM x[], unsigned long n)
+/* Determine whether the given value does actually represent a cell in some
+ * heap segment. If this is the case, the number of the heap segment is
+ * returned. Otherwise, -1 is returned. Binary search is used in order to
+ * determine the heap segment that contains the cell.*/
+/* FIXME: To be used within scm_gc_mark_cell_conservatively,
+ * scm_mark_locations and scm_cellp this function should be an inline
+ * function. */
+static long int
+heap_segment (SCM obj)
{
- unsigned long m;
-
- for (m = 0; m < n; ++m)
+ if (!SCM_CELLP (obj))
+ return -1;
+ else
{
- SCM obj = * (SCM *) &x[m];
- if (SCM_CELLP (obj))
+ SCM_CELLPTR ptr = SCM2PTR (obj);
+ unsigned long int i = 0;
+ unsigned long int j = scm_n_heap_segs - 1;
+
+ if (SCM_PTR_LT (ptr, scm_heap_table[i].bounds[0]))
+ return -1;
+ else if (SCM_PTR_LE (scm_heap_table[j].bounds[1], ptr))
+ return -1;
+ else
{
- SCM_CELLPTR ptr = SCM2PTR (obj);
- long i = 0;
- long j = scm_n_heap_segs - 1;
- if (SCM_PTR_LE (scm_heap_table[i].bounds[0], ptr)
- && SCM_PTR_GT (scm_heap_table[j].bounds[1], ptr))
+ while (i < j)
{
- while (i <= j)
+ if (SCM_PTR_LT (ptr, scm_heap_table[i].bounds[1]))
+ {
+ break;
+ }
+ else if (SCM_PTR_LE (scm_heap_table[j].bounds[0], ptr))
+ {
+ i = j;
+ break;
+ }
+ else
{
- long seg_id;
- seg_id = -1;
- if ((i == j)
- || SCM_PTR_GT (scm_heap_table[i].bounds[1], ptr))
- seg_id = i;
- else if (SCM_PTR_LE (scm_heap_table[j].bounds[0], ptr))
- seg_id = j;
- else
+ unsigned long int k = (i + j) / 2;
+
+ if (k == i)
+ return -1;
+ else if (SCM_PTR_LT (ptr, scm_heap_table[k].bounds[1]))
{
- long k;
- k = (i + j) / 2;
- if (k == i)
- break;
- if (SCM_PTR_GT (scm_heap_table[k].bounds[1], ptr))
- {
- j = k;
- ++i;
- if (SCM_PTR_LE (scm_heap_table[i].bounds[0], ptr))
- continue;
- else
- break;
- }
- else if (SCM_PTR_LE (scm_heap_table[k].bounds[0], ptr))
- {
- i = k;
- --j;
- if (SCM_PTR_GT (scm_heap_table[j].bounds[1], ptr))
- continue;
- else
- break;
- }
+ j = k;
+ ++i;
+ if (SCM_PTR_LT (ptr, scm_heap_table[i].bounds[0]))
+ return -1;
}
-
- if (SCM_GC_IN_CARD_HEADERP (ptr))
- break;
-
- if (scm_heap_table[seg_id].span == 1
- || DOUBLECELL_ALIGNED_P (obj))
- scm_gc_mark (obj);
-
- break;
+ else if (SCM_PTR_LE (scm_heap_table[k].bounds[0], ptr))
+ {
+ i = k;
+ --j;
+ if (SCM_PTR_LE (scm_heap_table[j].bounds[1], ptr))
+ return -1;
+ }
}
}
+
+ if (!DOUBLECELL_ALIGNED_P (obj) && scm_heap_table[i].span == 2)
+ return -1;
+ else if (SCM_GC_IN_CARD_HEADERP (ptr))
+ return -1;
+ else
+ return i;
}
}
}
+/* Mark the entries of a cell conservatively. The given cell is known to be
+ * on the heap. Still we have to determine its heap segment in order to
+ * figure out whether it is a single or a double cell. Then, each of the cell
+ * elements itself is checked and potentially marked. */
+void
+scm_gc_mark_cell_conservatively (SCM cell)
+{
+ unsigned long int cell_segment = heap_segment (cell);
+ unsigned int span = scm_heap_table[cell_segment].span;
+ unsigned int i;
+
+ for (i = 1; i != span * 2; ++i)
+ {
+ SCM obj = SCM_CELL_OBJECT (cell, i);
+ long int obj_segment = heap_segment (obj);
+ if (obj_segment >= 0)
+ scm_gc_mark (obj);
+ }
+}
+
+
+/* Mark a region conservatively */
+void
+scm_mark_locations (SCM_STACKITEM x[], unsigned long n)
+{
+ unsigned long m;
+
+ for (m = 0; m < n; ++m)
+ {
+ SCM obj = * (SCM *) &x[m];
+ long int segment = heap_segment (obj);
+ if (segment >= 0)
+ scm_gc_mark (obj);
+ }
+}
+
+
/* The function scm_cellp determines whether an SCM value can be regarded as a
- * pointer to a cell on the heap. Binary search is used in order to determine
- * the heap segment that contains the cell.
+ * pointer to a cell on the heap.
*/
int
scm_cellp (SCM value)
{
- if (SCM_CELLP (value)) {
- scm_cell * ptr = SCM2PTR (value);
- unsigned long i = 0;
- unsigned long j = scm_n_heap_segs - 1;
-
- if (SCM_GC_IN_CARD_HEADERP (ptr))
- return 0;
-
- while (i < j) {
- long k = (i + j) / 2;
- if (SCM_PTR_GT (scm_heap_table[k].bounds[1], ptr)) {
- j = k;
- } else if (SCM_PTR_LE (scm_heap_table[k].bounds[0], ptr)) {
- i = k + 1;
- }
- }
-
- if (SCM_PTR_LE (scm_heap_table[i].bounds[0], ptr)
- && SCM_PTR_GT (scm_heap_table[i].bounds[1], ptr)
- && (scm_heap_table[i].span == 1 || DOUBLECELL_ALIGNED_P (value))
- && !SCM_GC_IN_CARD_HEADERP (ptr)
- )
- return 1;
- else
- return 0;
- } else
- return 0;
+ long int segment = heap_segment (value);
+ return (segment >= 0);
}
@@ -1654,7 +1691,7 @@
register scm_t_freelist *freelist;
register unsigned long m;
register int span;
- long i;
+ size_t i;
size_t seg_size;
m = 0;
@@ -1738,9 +1775,6 @@
case scm_tc7_pws:
break;
case scm_tc7_wvect:
- m += (2 + SCM_VECTOR_LENGTH (scmptr)) * sizeof (SCM);
- scm_must_free (SCM_VECTOR_BASE (scmptr) - 2);
- break;
case scm_tc7_vector:
{
unsigned long int length = SCM_VECTOR_LENGTH (scmptr);
@@ -2222,7 +2256,7 @@
{
register SCM_CELLPTR ptr;
SCM_CELLPTR seg_end;
- long new_seg_index;
+ size_t new_seg_index;
ptrdiff_t n_new_cells;
int span = freelist->span;
@@ -2238,13 +2272,11 @@
seg_end = SCM_GC_CARD_DOWN ((char *)seg_org + size);
/* Find the right place and insert the segment record.
- *
*/
- for (new_seg_index = 0;
- ( (new_seg_index < scm_n_heap_segs)
- && SCM_PTR_LE (scm_heap_table[new_seg_index].bounds[0], seg_org));
- new_seg_index++)
- ;
+ new_seg_index = 0;
+ while (new_seg_index < scm_n_heap_segs
+ && SCM_PTR_LE (scm_heap_table[new_seg_index].bounds[0], seg_org))
+ new_seg_index++;
{
int i;
@@ -2468,7 +2500,7 @@
* parameters. Therefore, you can be sure that the compiler will keep those
* scheme values alive (on the stack or in a register) up to the point where
* scm_remember_upto_here* is called. In other words, place the call to
- * scm_remember_upt_here* _behind_ the last code in your function, that
+ * scm_remember_upto_here* _behind_ the last code in your function, that
* depends on the scheme object to exist.
*
* Example: We want to make sure, that the string object str does not get
@@ -2778,6 +2810,7 @@
#if (SCM_DEBUG_CELL_ACCESSES == 1)
scm_tc16_allocated = scm_make_smob_type ("allocated cell", 0);
+ scm_set_smob_mark (scm_tc16_allocated, allocated_mark);
#endif /* SCM_DEBUG_CELL_ACCESSES == 1 */
j = SCM_NUM_PROTECTS;
Index: guile/guile-core/libguile/gc.h
diff -u guile/guile-core/libguile/gc.h:1.78 guile/guile-core/libguile/gc.h:1.79
--- guile/guile-core/libguile/gc.h:1.78 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/gc.h Sat Jun 30 12:50:10 2001
@@ -363,6 +363,7 @@
extern void scm_igc (const char *what);
extern void scm_gc_mark (SCM p);
extern void scm_gc_mark_dependencies (SCM p);
+extern void scm_gc_mark_cell_conservatively (SCM cell);
extern void scm_mark_locations (SCM_STACKITEM x[], unsigned long n);
extern int scm_cellp (SCM value);
extern void scm_gc_sweep (void);
Index: guile/guile-core/libguile/gdbint.c
diff -u guile/guile-core/libguile/gdbint.c:1.41
guile/guile-core/libguile/gdbint.c:1.42
--- guile/guile-core/libguile/gdbint.c:1.41 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/gdbint.c Wed Jun 20 11:18:00 2001
@@ -55,7 +55,6 @@
#include <unistd.h>
#endif
-#include "libguile/tag.h"
#include "libguile/strports.h"
#include "libguile/read.h"
#include "libguile/eval.h"
Index: guile/guile-core/libguile/gsubr.c
diff -u guile/guile-core/libguile/gsubr.c:1.39
guile/guile-core/libguile/gsubr.c:1.40
--- guile/guile-core/libguile/gsubr.c:1.39 Sat May 26 13:51:20 2001
+++ guile/guile-core/libguile/gsubr.c Wed Jun 27 18:11:58 2001
@@ -220,7 +220,7 @@
if (n > SCM_GSUBR_MAX)
scm_misc_error (FUNC_NAME,
"Function ~S has illegal arity ~S.",
- SCM_LIST2 (self, SCM_MAKINUM (n)));
+ scm_list_2 (self, SCM_MAKINUM (n)));
#endif
args = SCM_CDR (args);
for (i = 0; i < SCM_GSUBR_REQ (typ); i++) {
Index: guile/guile-core/libguile/guardians.c
diff -u guile/guile-core/libguile/guardians.c:1.35
guile/guile-core/libguile/guardians.c:1.36
--- guile/guile-core/libguile/guardians.c:1.35 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/guardians.c Wed Jun 27 18:11:58 2001
@@ -230,7 +230,7 @@
{
if (DESTROYED_P (GUARDIAN (guardian)))
scm_misc_error ("guard", "attempted use of destroyed guardian: ~A",
- SCM_LIST1 (guardian));
+ scm_list_1 (guardian));
if (!SCM_UNBNDP (obj))
return scm_guard (guardian, obj,
@@ -266,7 +266,7 @@
if (throw_p)
scm_misc_error ("guard",
"object is already greedily guarded: ~A",
- SCM_LIST1 (obj));
+ scm_list_1 (obj));
else
return SCM_BOOL_F;
}
@@ -401,7 +401,8 @@
if (DESTROYED_P (g))
{
SCM_ALLOW_INTS;
- SCM_MISC_ERROR ("guardian is already destroyed: ~A", SCM_LIST1
(guardian));
+ SCM_MISC_ERROR ("guardian is already destroyed: ~A",
+ scm_list_1 (guardian));
}
if (GREEDY_P (g))
Index: guile/guile-core/libguile/hash.c
diff -u guile/guile-core/libguile/hash.c:1.43
guile/guile-core/libguile/hash.c:1.44
--- guile/guile-core/libguile/hash.c:1.43 Sat May 26 13:51:20 2001
+++ guile/guile-core/libguile/hash.c Mon Jun 4 15:16:43 2001
@@ -98,17 +98,17 @@
return (unsigned)(scm_downcase(SCM_CHAR(obj))) % n;
switch (SCM_UNPACK (obj)) {
#ifndef SICP
- case SCM_EOL:
+ case SCM_UNPACK(SCM_EOL):
d = 256;
break;
#endif
- case SCM_BOOL_T:
+ case SCM_UNPACK(SCM_BOOL_T):
d = 257;
break;
- case SCM_BOOL_F:
+ case SCM_UNPACK(SCM_BOOL_F):
d = 258;
break;
- case SCM_EOF_VAL:
+ case SCM_UNPACK(SCM_EOF_VAL):
d = 259;
break;
default:
Index: guile/guile-core/libguile/hashtab.c
diff -u guile/guile-core/libguile/hashtab.c:1.40
guile/guile-core/libguile/hashtab.c:1.41
--- guile/guile-core/libguile/hashtab.c:1.40 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/hashtab.c Tue Jun 26 08:46:40 2001
@@ -48,6 +48,7 @@
#include "libguile/alist.h"
#include "libguile/hash.h"
#include "libguile/eval.h"
+#include "libguile/root.h"
#include "libguile/vectors.h"
#include "libguile/validate.h"
@@ -380,9 +381,7 @@
{
SCM answer;
SCM_DEFER_INTS;
- answer = scm_apply (closure->hash,
- SCM_LIST2 (obj, scm_ulong2num ((unsigned long)n)),
- SCM_EOL);
+ answer = scm_call_2 (closure->hash, obj, scm_ulong2num ((unsigned long) n));
SCM_ALLOW_INTS;
return SCM_INUM (answer);
}
@@ -394,9 +393,7 @@
{
SCM answer;
SCM_DEFER_INTS;
- answer = scm_apply (closure->assoc,
- SCM_LIST2 (obj, alist),
- SCM_EOL);
+ answer = scm_call_2 (closure->assoc, obj, alist);
SCM_ALLOW_INTS;
return answer;
}
@@ -409,9 +406,7 @@
{
SCM answer;
SCM_DEFER_INTS;
- answer = scm_apply (closure->delete,
- SCM_LIST2 (obj, alist),
- SCM_EOL);
+ answer = scm_call_2 (closure->delete, obj, alist);
SCM_ALLOW_INTS;
return answer;
}
@@ -519,7 +514,7 @@
static SCM
fold_proc (void *proc, SCM key, SCM data, SCM value)
{
- return scm_apply (SCM_PACK (proc), SCM_LIST3 (key, data, value), SCM_EOL);
+ return scm_call_3 (SCM_PACK (proc), key, data, value);
}
SCM_DEFINE (scm_hash_fold, "hash-fold", 3, 0, 0,
Index: guile/guile-core/libguile/hooks.c
diff -u guile/guile-core/libguile/hooks.c:1.20
guile/guile-core/libguile/hooks.c:1.21
--- guile/guile-core/libguile/hooks.c:1.20 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/hooks.c Tue Jul 3 23:13:10 2001
@@ -187,8 +187,9 @@
SCM_DEFINE (scm_make_hook, "make-hook", 0, 1, 0,
(SCM n_args),
- "Create a hook for storing procedure of arity\n"
- "@var{n_args}. @var{n_args} defaults to zero.")
+ "Create a hook for storing procedure of arity @var{n_args}.\n"
+ "@var{n_args} defaults to zero. The returned value is a hook\n"
+ "object to be used with the other hook procedures.")
#define FUNC_NAME s_scm_make_hook
{
int n;
@@ -235,7 +236,8 @@
(SCM hook, SCM proc, SCM append_p),
"Add the procedure @var{proc} to the hook @var{hook}. The\n"
"procedure is added to the end if @var{append_p} is true,\n"
- "otherwise it is added to the front.")
+ "otherwise it is added to the front. The return value of this\n"
+ "procedure is not specified.")
#define FUNC_NAME s_scm_add_hook_x
{
SCM arity, rest;
@@ -261,7 +263,8 @@
SCM_DEFINE (scm_remove_hook_x, "remove-hook!", 2, 0, 0,
(SCM hook, SCM proc),
- "Remove the procedure @var{proc} from the hook @var{hook}.")
+ "Remove the procedure @var{proc} from the hook @var{hook}. The\n"
+ "return value of this procedure is not specified.")
#define FUNC_NAME s_scm_remove_hook_x
{
SCM_VALIDATE_HOOK (1, hook);
@@ -274,7 +277,8 @@
SCM_DEFINE (scm_reset_hook_x, "reset-hook!", 1, 0, 0,
(SCM hook),
- "Remove all procedures from the hook @var{hook}.")
+ "Remove all procedures from the hook @var{hook}. The return\n"
+ "value of this procedure is not specified.")
#define FUNC_NAME s_scm_reset_hook_x
{
SCM_VALIDATE_HOOK (1,hook);
@@ -288,7 +292,7 @@
(SCM hook, SCM args),
"Apply all procedures from the hook @var{hook} to the arguments\n"
"@var{args}. The order of the procedure application is first to\n"
- "last.")
+ "last. The return value of this procedure is not specified.")
#define FUNC_NAME s_scm_run_hook
{
SCM_VALIDATE_HOOK (1,hook);
Index: guile/guile-core/libguile/hooks.h
diff -u guile/guile-core/libguile/hooks.h:1.6
guile/guile-core/libguile/hooks.h:1.7
--- guile/guile-core/libguile/hooks.h:1.6 Mon May 28 07:18:35 2001
+++ guile/guile-core/libguile/hooks.h Thu Jun 14 12:50:43 2001
@@ -58,45 +58,45 @@
* both may want to indicate success/failure and return a result.
*/
-typedef enum scm_c_hook_type_t {
+typedef enum scm_t_c_hookype_t {
SCM_C_HOOK_NORMAL,
SCM_C_HOOK_OR,
SCM_C_HOOK_AND
-} scm_c_hook_type_t;
+} scm_t_c_hookype_t;
-typedef void *(*scm_c_hook_function_t) (void *hook_data,
+typedef void *(*scm_t_c_hook_function) (void *hook_data,
void *func_data,
void *data);
-typedef struct scm_c_hook_entry_t {
- struct scm_c_hook_entry_t *next;
- scm_c_hook_function_t func;
+typedef struct scm_t_c_hook_entry {
+ struct scm_t_c_hook_entry *next;
+ scm_t_c_hook_function func;
void *data;
-} scm_c_hook_entry_t;
+} scm_t_c_hook_entry;
-typedef struct scm_c_hook_t {
- scm_c_hook_entry_t *first;
- scm_c_hook_type_t type;
+typedef struct scm_t_c_hook {
+ scm_t_c_hook_entry *first;
+ scm_t_c_hookype_t type;
void *data;
-} scm_c_hook_t;
+} scm_t_c_hook;
-extern void scm_c_hook_init (scm_c_hook_t *hook,
+extern void scm_c_hook_init (scm_t_c_hook *hook,
void *hook_data,
- scm_c_hook_type_t type);
-extern void scm_c_hook_add (scm_c_hook_t *hook,
- scm_c_hook_function_t func,
+ scm_t_c_hookype_t type);
+extern void scm_c_hook_add (scm_t_c_hook *hook,
+ scm_t_c_hook_function func,
void *func_data,
int appendp);
-extern void scm_c_hook_remove (scm_c_hook_t *hook,
- scm_c_hook_function_t func,
+extern void scm_c_hook_remove (scm_t_c_hook *hook,
+ scm_t_c_hook_function func,
void *func_data);
-extern void *scm_c_hook_run (scm_c_hook_t *hook, void *data);
+extern void *scm_c_hook_run (scm_t_c_hook *hook, void *data);
/*
* Scheme level hooks
*/
-extern scm_bits_t scm_tc16_hook;
+extern scm_t_bits scm_tc16_hook;
#define SCM_HOOKP(x) SCM_TYP16_PREDICATE (scm_tc16_hook, x)
#define SCM_HOOK_ARITY(hook) (SCM_CELL_WORD_0 (hook) >> 16)
Index: guile/guile-core/libguile/inet_aton.c
diff -u guile/guile-core/libguile/inet_aton.c:1.6
guile/guile-core/libguile/inet_aton.c:1.7
--- guile/guile-core/libguile/inet_aton.c:1.6 Mon Jun 12 14:24:29 2000
+++ guile/guile-core/libguile/inet_aton.c Tue Jun 26 10:53:09 2001
@@ -40,9 +40,13 @@
#include <ctype.h>
+#ifdef __MINGW32__
+#include <winsock2.h>
+#else
#include <sys/param.h>
#include <netinet/in.h>
#include <arpa/inet.h>
+#endif
#if 0
Index: guile/guile-core/libguile/init.c
diff -u guile/guile-core/libguile/init.c:1.127
guile/guile-core/libguile/init.c:1.128
--- guile/guile-core/libguile/init.c:1.127 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/init.c Wed Jun 20 11:18:00 2001
@@ -132,7 +132,6 @@
#include "libguile/strports.h"
#include "libguile/struct.h"
#include "libguile/symbols.h"
-#include "libguile/tag.h"
#include "libguile/throw.h"
#include "libguile/unif.h"
#include "libguile/values.h"
@@ -548,7 +547,6 @@
scm_init_struct (); /* Requires strings */
scm_init_stacks (); /* Requires strings, struct */
scm_init_symbols ();
- scm_init_tag ();
scm_init_values (); /* Requires struct */
scm_init_load (); /* Requires strings */
scm_init_objects (); /* Requires struct */
Index: guile/guile-core/libguile/ioext.c
diff -u guile/guile-core/libguile/ioext.c:1.84
guile/guile-core/libguile/ioext.c:1.85
--- guile/guile-core/libguile/ioext.c:1.84 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/ioext.c Tue Jul 3 08:27:56 2001
@@ -44,6 +44,7 @@
+#include <stdio.h>
#include <errno.h>
#include "libguile/_scm.h"
Index: guile/guile-core/libguile/keywords.c
diff -u guile/guile-core/libguile/keywords.c:1.43
guile/guile-core/libguile/keywords.c:1.44
--- guile/guile-core/libguile/keywords.c:1.43 Fri Jun 8 03:02:33 2001
+++ guile/guile-core/libguile/keywords.c Thu Jun 14 12:50:43 2001
@@ -56,7 +56,7 @@
#include "libguile/keywords.h"
-scm_bits_t scm_tc16_keyword;
+scm_t_bits scm_tc16_keyword;
static int
keyword_print (SCM exp, SCM port, scm_print_state *pstate SCM_UNUSED)
Index: guile/guile-core/libguile/keywords.h
diff -u guile/guile-core/libguile/keywords.h:1.10
guile/guile-core/libguile/keywords.h:1.11
--- guile/guile-core/libguile/keywords.h:1.10 Fri Dec 8 09:32:56 2000
+++ guile/guile-core/libguile/keywords.h Thu Jun 14 12:50:43 2001
@@ -51,7 +51,7 @@
-extern scm_bits_t scm_tc16_keyword;
+extern scm_t_bits scm_tc16_keyword;
#define SCM_KEYWORDP(X) (!SCM_IMP (X) && (SCM_CELL_TYPE (X) ==
scm_tc16_keyword))
#define SCM_KEYWORDSYM(X) (SCM_CELL_OBJECT_1 (X))
Index: guile/guile-core/libguile/lang.c
diff -u guile/guile-core/libguile/lang.c:1.20
guile/guile-core/libguile/lang.c:1.21
--- guile/guile-core/libguile/lang.c:1.20 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/lang.c Thu Jun 14 13:14:09 2001
@@ -114,7 +114,7 @@
"return LISP's nil otherwise.")
#define FUNC_NAME s_scm_null
{
- return (SCM_NILP (x) || SCM_NULLP (x) || SCM_FALSEP (x)) ? scm_t_lisp :
scm_lisp_nil;
+ return (SCM_NILP (x) || SCM_NULLP (x) || SCM_FALSEP (x)) ? scm_lisp_t :
scm_lisp_nil;
}
#undef FUNC_NAME
@@ -146,7 +146,7 @@
return ((SCM_EQ_P (x, y)
|| (SCM_NILP (x) && (SCM_NULLP (y) || SCM_FALSEP (y)))
|| (SCM_NILP (y) && (SCM_NULLP (x) || SCM_FALSEP (x))))
- ? scm_t_lisp
+ ? scm_lisp_t
: scm_lisp_nil);
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/list.c
diff -u guile/guile-core/libguile/list.c:1.57
guile/guile-core/libguile/list.c:1.58
--- guile/guile-core/libguile/list.c:1.57 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/list.c Sat Jun 30 12:50:10 2001
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000,2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -63,8 +63,8 @@
#define SCM_I_CONS(cell,x,y) \
do { \
SCM_NEWCELL (cell); \
- SCM_SET_CELL_OBJECT_0 (cell, x); \
SCM_SET_CELL_OBJECT_1 (cell, y); \
+ SCM_SET_CELL_OBJECT_0 (cell, x); \
} while (0)
SCM
Index: guile/guile-core/libguile/load.c
diff -u guile/guile-core/libguile/load.c:1.64
guile/guile-core/libguile/load.c:1.65
--- guile/guile-core/libguile/load.c:1.64 Wed Jun 27 18:11:58 2001
+++ guile/guile-core/libguile/load.c Fri Jun 29 16:13:43 2001
@@ -136,6 +136,12 @@
}
#undef FUNC_NAME
+SCM
+scm_c_primitive_load (const char *filename)
+{
+ return scm_primitive_load (scm_makfrom0str (filename));
+}
+
/* Builtin path to scheme library files. */
#ifdef SCM_PKGDATA_DIR
@@ -459,6 +465,12 @@
return scm_primitive_load (full_filename);
}
#undef FUNC_NAME
+
+SCM
+scm_c_primitive_load_path (const char *filename)
+{
+ return scm_primitive_load_path (scm_makfrom0str (filename));
+}
#if SCM_DEBUG_DEPRECATED == 0
Index: guile/guile-core/libguile/macros.c
diff -u guile/guile-core/libguile/macros.c:1.29
guile/guile-core/libguile/macros.c:1.30
--- guile/guile-core/libguile/macros.c:1.29 Sat May 19 17:35:42 2001
+++ guile/guile-core/libguile/macros.c Thu Jun 14 12:50:43 2001
@@ -55,7 +55,7 @@
#include "libguile/validate.h"
#include "libguile/macros.h"
-scm_bits_t scm_tc16_macro;
+scm_t_bits scm_tc16_macro;
static int
Index: guile/guile-core/libguile/mallocs.c
diff -u guile/guile-core/libguile/mallocs.c:1.26
guile/guile-core/libguile/mallocs.c:1.27
--- guile/guile-core/libguile/mallocs.c:1.26 Thu Jun 7 14:12:19 2001
+++ guile/guile-core/libguile/mallocs.c Thu Jun 14 12:50:43 2001
@@ -61,7 +61,7 @@
-scm_bits_t scm_tc16_malloc;
+scm_t_bits scm_tc16_malloc;
static size_t
@@ -86,7 +86,7 @@
SCM
scm_malloc_obj (size_t n)
{
- scm_bits_t mem = n ? (scm_bits_t) malloc (n) : 0;
+ scm_t_bits mem = n ? (scm_t_bits) malloc (n) : 0;
if (n && !mem)
return SCM_BOOL_F;
SCM_RETURN_NEWSMOB (scm_tc16_malloc, mem);
Index: guile/guile-core/libguile/memmove.c
diff -u guile/guile-core/libguile/memmove.c:1.2
guile/guile-core/libguile/memmove.c:1.3
--- guile/guile-core/libguile/memmove.c:1.2 Sun Dec 12 12:35:02 1999
+++ guile/guile-core/libguile/memmove.c Sun Mar 19 11:01:12 2000
@@ -22,3 +22,9 @@
bcopy (s2, s1, n);
return s1;
}
+
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/
Index: guile/guile-core/libguile/modules.c
diff -u guile/guile-core/libguile/modules.c:1.30
guile/guile-core/libguile/modules.c:1.31
--- guile/guile-core/libguile/modules.c:1.30 Tue Jun 26 08:46:40 2001
+++ guile/guile-core/libguile/modules.c Wed Jun 27 18:11:58 2001
@@ -170,7 +170,7 @@
void (*init)(void *), void *data)
{
SCM module = scm_call_1 (SCM_VARIABLE_REF (process_define_module_var),
- SCM_LIST1 (convert_module_name (name)));
+ scm_list_1 (convert_module_name (name)));
if (init)
scm_c_call_with_current_module (module, (SCM (*)(void*))init, data);
return module;
@@ -180,7 +180,7 @@
scm_c_use_module (const char *name)
{
scm_call_1 (SCM_VARIABLE_REF (process_use_modules_var),
- SCM_LIST1 (convert_module_name (name)));
+ scm_list_1 (convert_module_name (name)));
}
static SCM module_export_x_var;
@@ -440,7 +440,7 @@
}
if (var != SCM_BOOL_F && !SCM_VARIABLEP (var))
- SCM_MISC_ERROR ("~S is not bound to a variable", SCM_LIST1 (sym));
+ SCM_MISC_ERROR ("~S is not bound to a variable", scm_list_1 (sym));
return var;
}
@@ -461,7 +461,7 @@
var = scm_sym2var (sym, scm_module_lookup_closure (module), SCM_BOOL_F);
if (SCM_FALSEP (var))
- SCM_MISC_ERROR ("unbound variable: ~S", SCM_LIST1 (sym));
+ SCM_MISC_ERROR ("unbound variable: ~S", scm_list_1 (sym));
return var;
}
#undef FUNC_NAME
@@ -478,7 +478,7 @@
SCM var =
scm_sym2var (sym, scm_current_module_lookup_closure (), SCM_BOOL_F);
if (SCM_FALSEP (var))
- scm_misc_error ("scm_lookup", "unbound variable: ~S", SCM_LIST1 (sym));
+ scm_misc_error ("scm_lookup", "unbound variable: ~S", scm_list_1 (sym));
return var;
}
@@ -639,7 +639,7 @@
#if SCM_DEBUG_DEPRECATED == 0
- module_prefix = PERM (SCM_LIST2 (scm_sym_app, scm_sym_modules));
+ module_prefix = PERM (scm_list_2 (scm_sym_app, scm_sym_modules));
make_modules_in_var = PERM (scm_c_lookup ("make-modules-in"));
root_module_lookup_closure =
PERM (scm_module_lookup_closure (SCM_VARIABLE_REF (the_root_module_var)));
@@ -669,7 +669,7 @@
if (SCM_EQ_P (SCM_CAR (name), scm_sym_app))
return name;
else
- return scm_append (SCM_LIST2 (module_prefix, name));
+ return scm_append (scm_list_2 (module_prefix, name));
}
SCM
Index: guile/guile-core/libguile/net_db.c
diff -u guile/guile-core/libguile/net_db.c:1.61
guile/guile-core/libguile/net_db.c:1.62
--- guile/guile-core/libguile/net_db.c:1.61 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/net_db.c Wed Jun 27 18:11:58 2001
@@ -260,7 +260,7 @@
entry = getnetbyaddr (netnum, AF_INET);
}
if (!entry)
- SCM_SYSERROR_MSG ("no such network ~A", SCM_LIST1 (net), errno);
+ SCM_SYSERROR_MSG ("no such network ~A", scm_list_1 (net), errno);
ve[0] = scm_mem2string (entry->n_name, strlen (entry->n_name));
ve[1] = scm_makfromstrs (-1, entry->n_aliases);
ve[2] = SCM_MAKINUM (entry->n_addrtype + 0L);
@@ -310,7 +310,7 @@
entry = getprotobynumber (protonum);
}
if (!entry)
- SCM_SYSERROR_MSG ("no such protocol ~A", SCM_LIST1 (protocol), errno);
+ SCM_SYSERROR_MSG ("no such protocol ~A", scm_list_1 (protocol), errno);
ve[0] = scm_mem2string (entry->p_name, strlen (entry->p_name));
ve[1] = scm_makfromstrs (-1, entry->p_aliases);
ve[2] = SCM_MAKINUM (entry->p_proto + 0L);
@@ -374,7 +374,7 @@
entry = getservbyport (htons (SCM_INUM (name)), SCM_STRING_CHARS
(protocol));
}
if (!entry)
- SCM_SYSERROR_MSG("no such service ~A", SCM_LIST1 (name), errno);
+ SCM_SYSERROR_MSG("no such service ~A", scm_list_1 (name), errno);
return scm_return_entry (entry);
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/numbers.c
diff -u guile/guile-core/libguile/numbers.c:1.134
guile/guile-core/libguile/numbers.c:1.135
--- guile/guile-core/libguile/numbers.c:1.134 Sun Jun 24 17:57:59 2001
+++ guile/guile-core/libguile/numbers.c Tue Jun 26 03:59:34 2001
@@ -2188,12 +2188,12 @@
if (SCM_INUMP (n)) {
char num_buf [SCM_INTBUFLEN];
size_t length = scm_iint2str (SCM_INUM (n), base, num_buf);
- return scm_makfromstr (num_buf, length, 0);
+ return scm_mem2string (num_buf, length);
} else if (SCM_BIGP (n)) {
return big2str (n, (unsigned int) base);
} else if (SCM_INEXACTP (n)) {
char num_buf [FLOBUFLEN];
- return scm_makfromstr (num_buf, iflo2str (n, num_buf), 0);
+ return scm_mem2string (num_buf, iflo2str (n, num_buf));
} else {
SCM_WRONG_TYPE_ARG (1, n);
}
Index: guile/guile-core/libguile/numbers.h
diff -u guile/guile-core/libguile/numbers.h:1.52
guile/guile-core/libguile/numbers.h:1.53
--- guile/guile-core/libguile/numbers.h:1.52 Thu Jun 14 10:41:21 2001
+++ guile/guile-core/libguile/numbers.h Thu Jun 14 12:50:43 2001
@@ -69,7 +69,7 @@
/* SCM_SRS is signed right shift */
#if (-1 == (((-1) << 2) + 2) >> 2)
-# define SCM_SRS(x, y) ((scm_signed_bits_t)(x) >> (y))
+# define SCM_SRS(x, y) ((scm_t_signed_bits)(x) >> (y))
#else
# define SCM_SRS(x, y) ((SCM_UNPACK (x) < 0) ? ~((~SCM_UNPACK (x)) >> (y)) :
(SCM_UNPACK (x) >> (y)))
#endif /* (-1 == (((-1) << 2) + 2) >> 2) */
@@ -78,7 +78,7 @@
#define SCM_INUMP(x) (2 & SCM_UNPACK (x))
#define SCM_NINUMP(x) (!SCM_INUMP (x))
#define SCM_MAKINUM(x) (SCM_PACK (((x) << 2) + 2L))
-#define SCM_INUM(x) ((scm_signed_bits_t)(SCM_SRS (SCM_UNPACK (x), 2)))
+#define SCM_INUM(x) ((scm_t_signed_bits)(SCM_SRS (SCM_UNPACK (x), 2)))
/* SCM_FIXABLE is true if its long argument can be encoded in an SCM_INUM. */
@@ -129,8 +129,8 @@
#define SCM_REALP(x) (SCM_NIMP (x) && SCM_TYP16 (x) == scm_tc16_real)
#define SCM_COMPLEXP(x) (SCM_NIMP (x) && SCM_TYP16 (x) == scm_tc16_complex)
-#define SCM_REAL_VALUE(x) (((scm_double_t *) SCM2PTR (x))->real)
-#define SCM_COMPLEX_MEM(x) ((scm_complex_t *) SCM_CELL_WORD_1 (x))
+#define SCM_REAL_VALUE(x) (((scm_t_double *) SCM2PTR (x))->real)
+#define SCM_COMPLEX_MEM(x) ((scm_t_complex *) SCM_CELL_WORD_1 (x))
#define SCM_COMPLEX_REAL(x) (SCM_COMPLEX_MEM (x)->real)
#define SCM_COMPLEX_IMAG(x) (SCM_COMPLEX_MEM (x)->imag)
@@ -186,18 +186,18 @@
-typedef struct scm_double_t
+typedef struct scm_t_double
{
SCM type;
SCM pad;
double real;
-} scm_double_t;
+} scm_t_double;
-typedef struct scm_complex_t
+typedef struct scm_t_complex
{
double real;
double imag;
-} scm_complex_t;
+} scm_t_complex;
Index: guile/guile-core/libguile/objects.c
diff -u guile/guile-core/libguile/objects.c:1.62
guile/guile-core/libguile/objects.c:1.63
--- guile/guile-core/libguile/objects.c:1.62 Tue Jun 26 03:59:34 2001
+++ guile/guile-core/libguile/objects.c Wed Jun 27 18:11:59 2001
@@ -344,19 +344,19 @@
SCM
scm_call_generic_1 (SCM gf, SCM a1)
{
- return scm_apply_generic (gf, SCM_LIST1 (a1));
+ return scm_apply_generic (gf, scm_list_1 (a1));
}
SCM
scm_call_generic_2 (SCM gf, SCM a1, SCM a2)
{
- return scm_apply_generic (gf, SCM_LIST2 (a1, a2));
+ return scm_apply_generic (gf, scm_list_2 (a1, a2));
}
SCM
scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3)
{
- return scm_apply_generic (gf, SCM_LIST3 (a1, a2, a3));
+ return scm_apply_generic (gf, scm_list_3 (a1, a2, a3));
}
SCM_DEFINE (scm_entity_p, "entity?", 1, 0, 0,
@@ -460,7 +460,7 @@
SCM layout = scm_make_struct_layout (layout_string);
c = scm_make_struct (meta,
SCM_INUM0,
- SCM_LIST4 (layout, SCM_BOOL_F, SCM_EOL, SCM_EOL));
+ scm_list_4 (layout, SCM_BOOL_F, SCM_EOL, SCM_EOL));
SCM_SET_CLASS_FLAGS (c, flags);
return c;
}
@@ -493,7 +493,7 @@
/* Convert symbol->string */
pl = scm_mem2string (SCM_SYMBOL_CHARS (pl), SCM_SYMBOL_LENGTH (pl));
return scm_i_make_class_object (SCM_STRUCT_VTABLE (class),
- scm_string_append (SCM_LIST2 (pl, layout)),
+ scm_string_append (scm_list_2 (pl, layout)),
SCM_CLASS_FLAGS (class));
}
#undef FUNC_NAME
@@ -503,16 +503,16 @@
{
SCM ms = scm_makfrom0str (SCM_METACLASS_STANDARD_LAYOUT);
SCM mt = scm_make_vtable_vtable (ms, SCM_INUM0,
- SCM_LIST3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
+ scm_list_3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
SCM os = scm_makfrom0str (SCM_METACLASS_OPERATOR_LAYOUT);
SCM ot = scm_make_vtable_vtable (os, SCM_INUM0,
- SCM_LIST3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
+ scm_list_3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
SCM es = scm_makfrom0str (SCM_ENTITY_LAYOUT);
SCM el = scm_make_struct_layout (es);
SCM et = scm_make_struct (mt, SCM_INUM0,
- SCM_LIST4 (el, SCM_BOOL_F, SCM_EOL, SCM_EOL));
+ scm_list_4 (el, SCM_BOOL_F, SCM_EOL, SCM_EOL));
scm_c_define ("<class>", mt);
scm_metaclass_standard = mt;
Index: guile/guile-core/libguile/objprop.c
diff -u guile/guile-core/libguile/objprop.c:1.17
guile/guile-core/libguile/objprop.c:1.18
--- guile/guile-core/libguile/objprop.c:1.17 Fri Mar 9 15:33:40 2001
+++ guile/guile-core/libguile/objprop.c Tue Apr 3 06:19:04 2001
@@ -68,14 +68,14 @@
SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0,
- (SCM obj, SCM plist),
+ (SCM obj, SCM alist),
"@deffnx primitive set-procedure-properties! obj alist\n"
"Set @var{obj}'s property list to @var{alist}.")
#define FUNC_NAME s_scm_set_object_properties_x
{
- SCM handle = scm_hashq_create_handle_x (scm_object_whash, obj, plist);
- SCM_SETCDR (handle, plist);
- return plist;
+ SCM handle = scm_hashq_create_handle_x (scm_object_whash, obj, alist);
+ SCM_SETCDR (handle, alist);
+ return alist;
}
#undef FUNC_NAME
@@ -92,10 +92,10 @@
#undef FUNC_NAME
SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0,
- (SCM obj, SCM key, SCM val),
+ (SCM obj, SCM key, SCM value),
"@deffnx primitive set-procedure-property! obj key value\n"
- "In @var{obj}'s property list, set the property named @var{key}
to\n"
- "@var{value}.")
+ "In @var{obj}'s property list, set the property named @var{key}\n"
+ "to @var{value}.")
#define FUNC_NAME s_scm_set_object_property_x
{
SCM h;
@@ -104,14 +104,14 @@
SCM_DEFER_INTS;
assoc = scm_assq (key, SCM_CDR (h));
if (SCM_NIMP (assoc))
- SCM_SETCDR (assoc, val);
+ SCM_SETCDR (assoc, value);
else
{
- assoc = scm_acons (key, val, SCM_CDR (h));
+ assoc = scm_acons (key, value, SCM_CDR (h));
SCM_SETCDR (h, assoc);
}
SCM_ALLOW_INTS;
- return val;
+ return value;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/options.c
diff -u guile/guile-core/libguile/options.c:1.33
guile/guile-core/libguile/options.c:1.34
--- guile/guile-core/libguile/options.c:1.33 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/options.c Wed Jun 27 18:11:59 2001
@@ -190,7 +190,7 @@
#ifndef SCM_RECKLESS
scm_must_free ((char *) flags);
scm_misc_error (s, "Unknown mode flag: ~S",
- SCM_LIST1 (SCM_CAR (new_mode)));
+ scm_list_1 (SCM_CAR (new_mode)));
#endif
cont:
new_mode = SCM_CDR (new_mode);
Index: guile/guile-core/libguile/pairs.c
diff -u guile/guile-core/libguile/pairs.c:1.24
guile/guile-core/libguile/pairs.c:1.25
--- guile/guile-core/libguile/pairs.c:1.24 Fri Jun 8 03:02:33 2001
+++ guile/guile-core/libguile/pairs.c Wed Jun 27 18:11:59 2001
@@ -68,7 +68,7 @@
{
running = 1;
scm_simple_format (scm_current_error_port (),
- message, SCM_LIST1 (non_pair));
+ message, scm_list_1 (non_pair));
abort ();
}
}
Index: guile/guile-core/libguile/pairs.h
diff -u guile/guile-core/libguile/pairs.h:1.27
guile/guile-core/libguile/pairs.h:1.28
--- guile/guile-core/libguile/pairs.h:1.27 Thu Jun 7 14:12:19 2001
+++ guile/guile-core/libguile/pairs.h Sat Jun 23 08:25:57 2001
@@ -103,7 +103,7 @@
#if (SCM_DEBUG_PAIR_ACCESSES == 1)
-extern void scm_error_pair_access (SCM) SCM_NORETURN;
+extern void scm_error_pair_access (SCM);
#endif
extern SCM scm_cons (SCM x, SCM y);
extern SCM scm_cons2 (SCM w, SCM x, SCM y);
Index: guile/guile-core/libguile/ports.c
diff -u guile/guile-core/libguile/ports.c:1.152
guile/guile-core/libguile/ports.c:1.153
--- guile/guile-core/libguile/ports.c:1.152 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/ports.c Wed Jun 27 18:11:59 2001
@@ -483,7 +483,7 @@
long i = p->entry;
if (i >= scm_t_portable_size)
- SCM_MISC_ERROR ("Port not in table: ~S", SCM_LIST1 (port));
+ SCM_MISC_ERROR ("Port not in table: ~S", scm_list_1 (port));
if (p->putback_buf)
scm_must_free (p->putback_buf);
scm_must_free (p);
Index: guile/guile-core/libguile/ports.h
diff -u guile/guile-core/libguile/ports.h:1.76
guile/guile-core/libguile/ports.h:1.77
--- guile/guile-core/libguile/ports.h:1.76 Sat May 26 13:51:21 2001
+++ guile/guile-core/libguile/ports.h Thu Jun 14 12:50:43 2001
@@ -59,11 +59,11 @@
#define SCM_INITIAL_PUTBACK_BUF_SIZE 4
/* values for the rw_active flag. */
-typedef enum scm_port_rw_active_t {
+typedef enum scm_t_port_rw_active {
SCM_PORT_NEITHER = 0,
SCM_PORT_READ = 1,
SCM_PORT_WRITE = 2
-} scm_port_rw_active_t;
+} scm_t_port_rw_active;
/* C representation of a Scheme port. */
@@ -75,7 +75,7 @@
* Revealed ports do not get GC'd.
*/
/* data for the underlying port implementation as a raw C value. */
- scm_bits_t stream;
+ scm_t_bits stream;
SCM file_name; /* debugging support. */
long line_number; /* debugging support. */
@@ -120,7 +120,7 @@
flushed before switching between
reading and writing, seeking, etc. */
- scm_port_rw_active_t rw_active; /* for random access ports,
+ scm_t_port_rw_active rw_active; /* for random access ports,
indicates which of the buffers
is currently in use. can be
SCM_PORT_WRITE, SCM_PORT_READ,
@@ -130,10 +130,10 @@
/* a buffer for un-read chars and strings. */
unsigned char *putback_buf;
size_t putback_buf_size; /* allocated size of putback_buf. */
-} scm_port_t;
+} scm_t_port;
-extern scm_port_t **scm_port_table;
-extern long scm_port_table_size; /* Number of ports in scm_port_table. */
+extern scm_t_port **scm_t_portable;
+extern long scm_t_portable_size; /* Number of ports in scm_t_portable. */
#define SCM_READ_BUFFER_EMPTY_P(c_port) (c_port->read_pos >= c_port->read_end)
@@ -167,10 +167,10 @@
#define SCM_CLR_PORT_OPEN_FLAG(p) \
SCM_SET_CELL_WORD_0 ((p), SCM_CELL_WORD_0 (p) & ~SCM_OPN)
-#define SCM_PTAB_ENTRY(x) ((scm_port_t *) SCM_CELL_WORD_1 (x))
-#define SCM_SETPTAB_ENTRY(x,ent) (SCM_SET_CELL_WORD_1 ((x), (scm_bits_t)
(ent)))
+#define SCM_PTAB_ENTRY(x) ((scm_t_port *) SCM_CELL_WORD_1 (x))
+#define SCM_SETPTAB_ENTRY(x,ent) (SCM_SET_CELL_WORD_1 ((x), (scm_t_bits)
(ent)))
#define SCM_STREAM(x) (SCM_PTAB_ENTRY(x)->stream)
-#define SCM_SETSTREAM(x,s) (SCM_PTAB_ENTRY(x)->stream = (scm_bits_t)
(s))
+#define SCM_SETSTREAM(x,s) (SCM_PTAB_ENTRY(x)->stream = (scm_t_bits)
(s))
#define SCM_FILENAME(x) (SCM_PTAB_ENTRY(x)->file_name)
#define SCM_SET_FILENAME(x, n) (SCM_PTAB_ENTRY(x)->file_name = (n))
#define SCM_LINUM(x) (SCM_PTAB_ENTRY(x)->line_number)
@@ -185,7 +185,7 @@
/* port-type description. */
-typedef struct scm_ptob_descriptor_t
+typedef struct scm_t_ptob_descriptor
{
char *name;
SCM (*mark) (SCM);
@@ -204,12 +204,12 @@
off_t (*seek) (SCM port, off_t OFFSET, int WHENCE);
void (*truncate) (SCM port, off_t length);
-} scm_ptob_descriptor_t;
+} scm_t_ptob_descriptor;
#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_port scm_port_t
-# define scm_ptob_descriptor scm_ptob_descriptor_t
-# define scm_port_rw_active scm_port_rw_active_t
+# define scm_port scm_t_port
+# define scm_ptob_descriptor scm_t_ptob_descriptor
+# define scm_port_rw_active scm_t_port_rw_active
#endif
#define SCM_TC2PTOBNUM(x) (0x0ff & ((x) >> 8))
@@ -219,14 +219,14 @@
-extern scm_ptob_descriptor_t *scm_ptobs;
+extern scm_t_ptob_descriptor *scm_ptobs;
extern long scm_numptob;
-extern long scm_port_table_room;
+extern long scm_t_portable_room;
extern SCM scm_markstream (SCM ptr);
-extern scm_bits_t scm_make_port_type (char *name,
+extern scm_t_bits scm_make_port_type (char *name,
int (*fill_input) (SCM port),
void (*write) (SCM port,
const void *data,
@@ -263,12 +263,12 @@
extern SCM scm_set_current_input_port (SCM port);
extern SCM scm_set_current_output_port (SCM port);
extern SCM scm_set_current_error_port (SCM port);
-extern scm_port_t * scm_add_to_port_table (SCM port);
+extern scm_t_port * scm_add_to_port_table (SCM port);
extern void scm_remove_from_port_table (SCM port);
extern void scm_grow_port_cbuf (SCM port, size_t requested);
extern SCM scm_pt_size (void);
extern SCM scm_pt_member (SCM member);
-extern void scm_port_non_buffer (scm_port_t *pt);
+extern void scm_port_non_buffer (scm_t_port *pt);
extern int scm_revealed_count (SCM port);
extern SCM scm_port_revealed (SCM port);
extern SCM scm_set_port_revealed_x (SCM port, SCM rcount);
Index: guile/guile-core/libguile/posix.c
diff -u guile/guile-core/libguile/posix.c:1.91
guile/guile-core/libguile/posix.c:1.92
--- guile/guile-core/libguile/posix.c:1.91 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/posix.c Tue Jul 3 08:27:56 2001
@@ -103,6 +103,7 @@
#ifdef __MINGW32__
/* Some defines for Windows here. */
+# include <process.h>
# define pipe(fd) _pipe (fd, 256, O_BINARY)
#endif /* __MINGW32__ */
@@ -576,7 +577,6 @@
return SCM_MAKINUM (0L + getuid ());
}
#undef FUNC_NAME
-#endif /* __MINGW32__ */
@@ -675,7 +675,9 @@
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME
+#endif /* __MINGW32__ */
+
#ifdef HAVE_SETEGID
SCM_DEFINE (scm_setegid, "setegid", 1, 0, 0,
(SCM id),
@@ -1382,6 +1384,21 @@
}
#undef FUNC_NAME
#endif /* HAVE_CHROOT */
+
+
+#ifdef __MINGW32__
+/* Wrapper function to supplying `getlogin()' under Windows. */
+static char * getlogin (void)
+{
+ static char user[256];
+ static unsigned long len = 256;
+
+ if (!GetUserName (user, &len))
+ return NULL;
+ return user;
+}
+#endif /* __MINGW32__ */
+
#if HAVE_GETLOGIN
SCM_DEFINE (scm_getlogin, "getlogin", 0, 0, 0,
Index: guile/guile-core/libguile/print.c
diff -u guile/guile-core/libguile/print.c:1.127
guile/guile-core/libguile/print.c:1.128
--- guile/guile-core/libguile/print.c:1.127 Tue Jun 26 08:46:40 2001
+++ guile/guile-core/libguile/print.c Wed Jun 27 18:11:59 2001
@@ -973,16 +973,15 @@
start = p + 1;
continue;
default:
- scm_misc_error (s_scm_simple_format,
- "FORMAT: Unsupported format option ~~~A - use (ice-9 format)
instead",
- SCM_LIST1 (SCM_MAKE_CHAR (*p)));
+ SCM_MISC_ERROR ("FORMAT: Unsupported format option ~~~A - use
(ice-9 format) instead",
+ scm_list_1 (SCM_MAKE_CHAR (*p)));
}
if (!SCM_CONSP (args))
- scm_misc_error (s_scm_simple_format, "FORMAT: Missing argument for
~~~A",
- SCM_LIST1 (SCM_MAKE_CHAR (*p)));
+ SCM_MISC_ERROR ("FORMAT: Missing argument for ~~~A",
+ scm_list_1 (SCM_MAKE_CHAR (*p)));
scm_lfwrite (start, p - start - 1, destination);
scm_prin1 (SCM_CAR (args), destination, writingp);
@@ -992,8 +991,8 @@
scm_lfwrite (start, p - start, destination);
if (args != SCM_EOL)
- scm_misc_error (s_scm_simple_format,
- "FORMAT: ~A superfluous arguments", SCM_LIST1 (scm_length
(args)));
+ SCM_MISC_ERROR ("FORMAT: ~A superfluous arguments",
+ scm_list_1 (scm_length (args)));
if (fReturnString)
answer = scm_strport_to_string (destination);
@@ -1110,7 +1109,7 @@
scm_init_opts (scm_print_options, scm_print_opts, SCM_N_PRINT_OPTIONS);
vtable = scm_make_vtable_vtable (scm_nullstr, SCM_INUM0, SCM_EOL);
layout = scm_make_struct_layout (scm_makfrom0str (SCM_PRINT_STATE_LAYOUT));
- type = scm_make_struct (vtable, SCM_INUM0, SCM_LIST1 (layout));
+ type = scm_make_struct (vtable, SCM_INUM0, scm_list_1 (layout));
scm_set_struct_vtable_name_x (type, scm_str2symbol ("print-state"));
print_state_pool = scm_permanent_object (scm_cons (type, SCM_EOL));
Index: guile/guile-core/libguile/print.h
diff -u guile/guile-core/libguile/print.h:1.36
guile/guile-core/libguile/print.h:1.37
--- guile/guile-core/libguile/print.h:1.36 Wed May 30 16:47:49 2001
+++ guile/guile-core/libguile/print.h Thu Jun 14 12:50:43 2001
@@ -51,7 +51,7 @@
#include "libguile/options.h"
-extern scm_option_t scm_print_opts[];
+extern scm_t_option scm_print_opts[];
#define SCM_PRINT_CLOSURE (SCM_PACK (scm_print_opts[0].val))
#define SCM_PRINT_SOURCE_P ((int) scm_print_opts[1].val)
@@ -99,7 +99,7 @@
extern SCM scm_print_state_vtable;
-extern scm_bits_t scm_tc16_port_with_ps;
+extern scm_t_bits scm_tc16_port_with_ps;
extern SCM scm_print_options (SCM setting);
SCM scm_make_print_state (void);
Index: guile/guile-core/libguile/procprop.c
diff -u guile/guile-core/libguile/procprop.c:1.36
guile/guile-core/libguile/procprop.c:1.37
--- guile/guile-core/libguile/procprop.c:1.36 Thu Apr 19 07:46:01 2001
+++ guile/guile-core/libguile/procprop.c Wed Jun 27 18:11:59 2001
@@ -155,9 +155,7 @@
default:
return SCM_BOOL_F;
}
- return SCM_LIST3 (SCM_MAKINUM (a),
- SCM_MAKINUM (o),
- SCM_BOOL(r));
+ return scm_list_3 (SCM_MAKINUM (a), SCM_MAKINUM (o), SCM_BOOL(r));
}
static SCM
@@ -167,7 +165,7 @@
answer = scm_assoc (proc, scm_stand_in_procs);
if (SCM_FALSEP (answer))
{
- answer = scm_closure (SCM_LIST2 (SCM_EOL, SCM_BOOL_F), SCM_EOL);
+ answer = scm_closure (scm_list_2 (SCM_EOL, SCM_BOOL_F), SCM_EOL);
scm_stand_in_procs = scm_acons (proc, answer, scm_stand_in_procs);
}
else
Index: guile/guile-core/libguile/procs.c
diff -u guile/guile-core/libguile/procs.c:1.59
guile/guile-core/libguile/procs.c:1.60
--- guile/guile-core/libguile/procs.c:1.59 Sat May 26 13:51:21 2001
+++ guile/guile-core/libguile/procs.c Thu Jun 14 12:50:43 2001
@@ -60,7 +60,7 @@
/* {Procedures}
*/
-scm_subr_entry_t *scm_subr_table;
+scm_t_subr_entry *scm_subr_table;
/* libguile contained approx. 700 primitive procedures on 24 Aug 1999. */
@@ -81,8 +81,8 @@
long new_size = scm_subr_table_room * 3 / 2;
void *new_table
= scm_must_realloc ((char *) scm_subr_table,
- sizeof (scm_subr_entry_t) * scm_subr_table_room,
- sizeof (scm_subr_entry_t) * new_size,
+ sizeof (scm_t_subr_entry) * scm_subr_table_room,
+ sizeof (scm_t_subr_entry) * new_size,
"scm_subr_table");
scm_subr_table = new_table;
scm_subr_table_room = new_size;
@@ -160,7 +160,7 @@
SCM
scm_makcclo (SCM proc, size_t len)
{
- scm_bits_t *base = scm_must_malloc (len * sizeof (scm_bits_t),
"compiled-closure");
+ scm_t_bits *base = scm_must_malloc (len * sizeof (scm_t_bits),
"compiled-closure");
unsigned long i;
SCM s;
@@ -390,8 +390,8 @@
scm_init_subr_table ()
{
scm_subr_table
- = ((scm_subr_entry_t *)
- scm_must_malloc (sizeof (scm_subr_entry_t) * scm_subr_table_room,
+ = ((scm_t_subr_entry *)
+ scm_must_malloc (sizeof (scm_t_subr_entry) * scm_subr_table_room,
"scm_subr_table"));
}
Index: guile/guile-core/libguile/procs.h
diff -u guile/guile-core/libguile/procs.h:1.42
guile/guile-core/libguile/procs.h:1.43
--- guile/guile-core/libguile/procs.h:1.42 Sat May 26 13:51:21 2001
+++ guile/guile-core/libguile/procs.h Thu Jun 14 12:50:43 2001
@@ -63,10 +63,10 @@
* *generic == 0 until first method
*/
SCM properties; /* procedure properties */
-} scm_subr_entry_t;
+} scm_t_subr_entry;
#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_subr_entry scm_subr_entry_t
+# define scm_subr_entry scm_t_subr_entry
#endif
#define SCM_SUBRNUM(subr) (SCM_CELL_WORD_0 (subr) >> 8)
@@ -82,7 +82,7 @@
#define SCM_CCLO_LENGTH(x) (SCM_CELL_WORD_0 (x) >> 8)
#define SCM_SET_CCLO_LENGTH(x, v) (SCM_SET_CELL_WORD_0 ((x), ((v) << 8) +
scm_tc7_cclo))
-#define SCM_CCLO_BASE(x) ((scm_bits_t *) SCM_CELL_WORD_1 (x))
+#define SCM_CCLO_BASE(x) ((scm_t_bits *) SCM_CELL_WORD_1 (x))
#define SCM_SET_CCLO_BASE(x, v) (SCM_SET_CELL_WORD_1 ((x), (v)))
#define SCM_CCLO_REF(x, i) (SCM_PACK (SCM_CCLO_BASE (x) [i]))
@@ -157,7 +157,7 @@
#define SCM_PROCEDURE(obj) SCM_CELL_OBJECT_1 (obj)
#define SCM_SETTER(obj) SCM_CELL_OBJECT_2 (obj)
-extern scm_subr_entry_t *scm_subr_table;
+extern scm_t_subr_entry *scm_subr_table;
extern long scm_subr_table_size;
extern long scm_subr_table_room;
Index: guile/guile-core/libguile/properties.c
diff -u guile/guile-core/libguile/properties.c:1.4
guile/guile-core/libguile/properties.c:1.5
--- guile/guile-core/libguile/properties.c:1.4 Fri Mar 30 07:03:22 2001
+++ guile/guile-core/libguile/properties.c Tue Jun 26 08:46:40 2001
@@ -100,7 +100,7 @@
return SCM_BOOL_F;
else
{
- SCM val = scm_apply (SCM_CAR (prop), SCM_LIST2 (prop, obj), SCM_EOL);
+ SCM val = scm_call_2 (SCM_CAR (prop), prop, obj);
if (SCM_FALSEP (h))
h = scm_hashq_create_handle_x (scm_properties_whash, obj, SCM_EOL);
SCM_SETCDR (h, scm_acons (prop, val, SCM_CDR (h)));
Index: guile/guile-core/libguile/putenv.c
diff -u guile/guile-core/libguile/putenv.c:1.7
guile/guile-core/libguile/putenv.c:1.8
--- guile/guile-core/libguile/putenv.c:1.7 Sat Mar 10 08:56:06 2001
+++ guile/guile-core/libguile/putenv.c Sun Jun 3 16:32:27 2001
@@ -13,7 +13,31 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA */
+ USA
+
+ As a special exception, the Free Software Foundation gives permission
+ for additional uses of the text contained in its release of GUILE.
+
+ The exception is that, if you link the GUILE library with other files
+ to produce an executable, this does not by itself cause the
+ resulting executable to be covered by the GNU General Public License.
+ Your use of that executable is in no way restricted on account of
+ linking the GUILE library code into it.
+
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License.
+
+ This exception applies only to the code released by the
+ Free Software Foundation under the name GUILE. If you copy
+ code from other Free Software Foundation releases into a copy of
+ GUILE, as the General Public License permits, the exception does
+ not apply to the code that you add in this way. To avoid misleading
+ anyone as to the status of such modified files, you must delete
+ this exception notice from them.
+
+ If you write modifications of your own for GUILE, it is your choice
+ whether to permit this exception to apply to your modifications.
+ If you do not wish that, delete this exception notice. */
/* Software engineering face-lift by Greg J. Badros, 11-Dec-1999,
address@hidden, http://www.cs.washington.edu/homes/gjb */
Index: guile/guile-core/libguile/ramap.c
diff -u guile/guile-core/libguile/ramap.c:1.76
guile/guile-core/libguile/ramap.c:1.77
--- guile/guile-core/libguile/ramap.c:1.76 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/ramap.c Tue Jun 26 08:46:40 2001
@@ -1241,7 +1241,7 @@
ra0 = SCM_ARRAY_V (ra0);
if (SCM_NULLP (ras))
for (; i <= n; i++)
- scm_array_set_x (ra0, scm_apply (proc, SCM_EOL, SCM_EOL), SCM_MAKINUM (i
* inc + base));
+ scm_array_set_x (ra0, scm_call_0 (proc), SCM_MAKINUM (i * inc + base));
else
{
SCM ra1 = SCM_CAR (ras);
@@ -1263,7 +1263,7 @@
for (k = SCM_INUM (scm_uniform_vector_length (ras)); k--;)
args = scm_cons (scm_uniform_vector_ref (ve[k], SCM_MAKINUM (i)),
args);
args = scm_cons (scm_cvref (ra1, i1, SCM_UNDEFINED), args);
- scm_array_set_x (ra0, scm_apply (proc, args, SCM_EOL), SCM_MAKINUM (i
* inc + base));
+ scm_array_set_x (ra0, scm_apply_0 (proc, args), SCM_MAKINUM (i * inc
+ base));
}
}
return 1;
@@ -1285,7 +1285,7 @@
default:
gencase:
for (; n-- > 0; i0 += inc0, i1 += inc1)
- scm_array_set_x (ra0, scm_apply (proc, RVREF (ra1, i1, e1),
scm_listofnull), SCM_MAKINUM (i0));
+ scm_array_set_x (ra0, scm_call_1 (proc, RVREF (ra1, i1, e1)), SCM_MAKINUM
(i0));
break;
case scm_tc7_fvect:
{
@@ -1635,7 +1635,7 @@
ra0 = SCM_ARRAY_V (ra0);
if (SCM_NULLP (ras))
for (; i <= n; i++, i0 += inc0)
- scm_apply (proc, scm_cvref (ra0, i0, SCM_UNDEFINED), scm_listofnull);
+ scm_call_1 (proc, scm_cvref (ra0, i0, SCM_UNDEFINED));
else
{
SCM ra1 = SCM_CAR (ras);
@@ -1657,7 +1657,7 @@
for (k = SCM_INUM (scm_uniform_vector_length (ras)); k--;)
args = scm_cons (scm_uniform_vector_ref (ve[k], SCM_MAKINUM (i)),
args);
args = scm_cons2 (scm_cvref (ra0, i0, SCM_UNDEFINED), scm_cvref (ra1,
i1, SCM_UNDEFINED), args);
- scm_apply (proc, args, SCM_EOL);
+ scm_apply_0 (proc, args);
}
}
return 1;
@@ -1710,7 +1710,7 @@
{
SCM *ve = SCM_VELTS (ra);
for (i = 0; i < SCM_VECTOR_LENGTH (ra); i++)
- ve[i] = scm_apply (proc, SCM_MAKINUM (i), scm_listofnull);
+ ve[i] = scm_call_1 (proc, SCM_MAKINUM (i));
return SCM_UNSPECIFIED;
}
case scm_tc7_string:
@@ -1728,7 +1728,7 @@
{
unsigned long int length = SCM_INUM (scm_uniform_vector_length (ra));
for (i = 0; i < length; i++)
- scm_array_set_x (ra, scm_apply (proc, SCM_MAKINUM (i),
scm_listofnull),
+ scm_array_set_x (ra, scm_call_1 (proc, SCM_MAKINUM (i)),
SCM_MAKINUM (i));
return SCM_UNSPECIFIED;
}
@@ -1740,8 +1740,7 @@
long *vinds = (long *) SCM_VELTS (inds);
int j, k, kmax = SCM_ARRAY_NDIM (ra) - 1;
if (kmax < 0)
- return scm_array_set_x (ra, scm_apply(proc, SCM_EOL, SCM_EOL),
- SCM_EOL);
+ return scm_array_set_x (ra, scm_call_0 (proc), SCM_EOL);
for (k = 0; k <= kmax; k++)
vinds[k] = SCM_ARRAY_DIMS (ra)[k].lbnd;
k = kmax;
@@ -1756,7 +1755,7 @@
for (j = kmax + 1, args = SCM_EOL; j--;)
args = scm_cons (SCM_MAKINUM (vinds[j]), args);
scm_array_set_x (SCM_ARRAY_V (ra),
- scm_apply (proc, args, SCM_EOL),
+ scm_apply_0 (proc, args),
SCM_MAKINUM (i));
i += SCM_ARRAY_DIMS (ra)[k].inc;
}
Index: guile/guile-core/libguile/random.c
diff -u guile/guile-core/libguile/random.c:1.43
guile/guile-core/libguile/random.c:1.44
--- guile/guile-core/libguile/random.c:1.43 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/random.c Tue Jun 26 10:53:09 2001
@@ -91,6 +91,10 @@
#define A 2131995753UL
+#ifndef M_PI
+#define M_PI 3.14159265359
+#endif
+
#if SIZEOF_LONG > 4
#if SIZEOF_INT > 4
#define LONG32 unsigned short
@@ -100,7 +104,11 @@
#define LONG64 unsigned long
#else
#define LONG32 unsigned long
+#ifdef __MINGW32__
+#define LONG64 unsigned __int64
+#else
#define LONG64 unsigned long long
+#endif
#endif
#if SIZEOF_LONG > 4 || defined (HAVE_LONG_LONGS)
Index: guile/guile-core/libguile/random.h
diff -u guile/guile-core/libguile/random.h:1.9
guile/guile-core/libguile/random.h:1.10
--- guile/guile-core/libguile/random.h:1.9 Wed May 23 17:50:48 2001
+++ guile/guile-core/libguile/random.h Thu Jun 14 12:50:43 2001
@@ -62,61 +62,61 @@
* Look how the default generator is "plugged in" in scm_init_random().
*/
-typedef struct scm_rstate_t {
+typedef struct scm_t_rstate {
int reserved0;
double reserved1;
/* Custom fields follow here */
-} scm_rstate_t;
+} scm_t_rstate;
-typedef struct scm_rng_t {
+typedef struct scm_t_rng {
size_t rstate_size; /* size of random state */
- unsigned long (*random_bits) (scm_rstate_t *state); /* gives 32 random bits
*/
- void (*init_rstate) (scm_rstate_t *state, char *seed, int n);
- scm_rstate_t *(*copy_rstate) (scm_rstate_t *state);
-} scm_rng_t;
+ unsigned long (*random_bits) (scm_t_rstate *state); /* gives 32 random bits
*/
+ void (*init_rstate) (scm_t_rstate *state, char *seed, int n);
+ scm_t_rstate *(*copy_rstate) (scm_t_rstate *state);
+} scm_t_rng;
-extern scm_rng_t scm_the_rng;
+extern scm_t_rng scm_the_rng;
/*
* Default RNG
*/
-typedef struct scm_i_rstate_t {
- scm_rstate_t rstate;
+typedef struct scm_t_i_rstate {
+ scm_t_rstate rstate;
unsigned long w;
unsigned long c;
-} scm_i_rstate_t;
+} scm_t_i_rstate;
#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_rstate scm_rstate_t
-# define scm_rng scm_rng_t
-# define scm_i_rstate scm_i_rstate_t
+# define scm_rstate scm_t_rstate
+# define scm_rng scm_t_rng
+# define scm_i_rstate scm_t_i_rstate
#endif
-extern unsigned long scm_i_uniform32 (scm_i_rstate_t *);
-extern void scm_i_init_rstate (scm_i_rstate_t *, char *seed, int n);
-extern scm_i_rstate_t *scm_i_copy_rstate (scm_i_rstate_t *);
+extern unsigned long scm_i_uniform32 (scm_t_i_rstate *);
+extern void scm_i_init_rstate (scm_t_i_rstate *, char *seed, int n);
+extern scm_t_i_rstate *scm_i_copy_rstate (scm_t_i_rstate *);
/*
* Random number library functions
*/
-extern scm_rstate_t *scm_c_make_rstate (char *, int);
-extern scm_rstate_t *scm_c_default_rstate (void);
+extern scm_t_rstate *scm_c_make_rstate (char *, int);
+extern scm_t_rstate *scm_c_default_rstate (void);
#define scm_c_uniform32(RSTATE) scm_the_rng.random_bits (RSTATE)
-extern double scm_c_uniform01 (scm_rstate_t *);
-extern double scm_c_normal01 (scm_rstate_t *);
-extern double scm_c_exp1 (scm_rstate_t *);
-extern unsigned long scm_c_random (scm_rstate_t *, unsigned long m);
-extern SCM scm_c_random_bignum (scm_rstate_t *, SCM m);
+extern double scm_c_uniform01 (scm_t_rstate *);
+extern double scm_c_normal01 (scm_t_rstate *);
+extern double scm_c_exp1 (scm_t_rstate *);
+extern unsigned long scm_c_random (scm_t_rstate *, unsigned long m);
+extern SCM scm_c_random_bignum (scm_t_rstate *, SCM m);
/*
* Scheme level interface
*/
-extern scm_bits_t scm_tc16_rstate;
+extern scm_t_bits scm_tc16_rstate;
#define SCM_RSTATEP(obj) SCM_TYP16_PREDICATE (scm_tc16_rstate, obj)
-#define SCM_RSTATE(obj) ((scm_rstate_t *) SCM_CELL_WORD_1 (obj))
+#define SCM_RSTATE(obj) ((scm_t_rstate *) SCM_CELL_WORD_1 (obj))
extern unsigned char scm_masktab[256];
Index: guile/guile-core/libguile/read.c
diff -u guile/guile-core/libguile/read.c:1.73
guile/guile-core/libguile/read.c:1.74
--- guile/guile-core/libguile/read.c:1.73 Wed Jun 27 06:15:20 2001
+++ guile/guile-core/libguile/read.c Wed Jun 27 18:11:59 2001
@@ -153,7 +153,7 @@
if (!SCM_FALSEP (SCM_FILENAME (port)))
scm_misc_error (eoferr,
"end of file in ~A",
- SCM_LIST1 (SCM_FILENAME (port)));
+ scm_list_1 (SCM_FILENAME (port)));
else
scm_misc_error (eoferr, "end of file", SCM_EOL);
}
@@ -457,7 +457,7 @@
}
unkshrp:
scm_misc_error (s_scm_read, "Unknown # object: ~S",
- SCM_LIST1 (SCM_MAKE_CHAR (c)));
+ scm_list_1 (SCM_MAKE_CHAR (c)));
}
case '"':
Index: guile/guile-core/libguile/regex-posix.c
diff -u guile/guile-core/libguile/regex-posix.c:1.52
guile/guile-core/libguile/regex-posix.c:1.53
--- guile/guile-core/libguile/regex-posix.c:1.52 Wed May 23 17:50:48 2001
+++ guile/guile-core/libguile/regex-posix.c Thu Jun 14 12:50:43 2001
@@ -91,7 +91,7 @@
#define REG_BASIC 0
#endif
-scm_bits_t scm_tc16_regex;
+scm_t_bits scm_tc16_regex;
static size_t
regex_free (SCM obj)
Index: guile/guile-core/libguile/regex-posix.h
diff -u guile/guile-core/libguile/regex-posix.h:1.12
guile/guile-core/libguile/regex-posix.h:1.13
--- guile/guile-core/libguile/regex-posix.h:1.12 Fri Dec 8 09:32:56 2000
+++ guile/guile-core/libguile/regex-posix.h Thu Jun 14 12:50:43 2001
@@ -50,7 +50,7 @@
#include "libguile/__scm.h"
-extern scm_bits_t scm_tc16_regex;
+extern scm_t_bits scm_tc16_regex;
#define SCM_RGX(X) ((regex_t *) SCM_CELL_WORD_1 (X))
#define SCM_RGXP(X) (SCM_NIMP (X) && (SCM_CELL_TYPE (X) == scm_tc16_regex))
Index: guile/guile-core/libguile/root.c
diff -u guile/guile-core/libguile/root.c:1.53
guile/guile-core/libguile/root.c:1.54
--- guile/guile-core/libguile/root.c:1.53 Thu Jun 7 14:12:19 2001
+++ guile/guile-core/libguile/root.c Thu Jun 14 12:50:43 2001
@@ -60,7 +60,7 @@
SCM scm_sys_protects[SCM_NUM_PROTECTS];
-scm_bits_t scm_tc16_root;
+scm_t_bits scm_tc16_root;
#ifndef USE_THREADS
struct scm_root_state *scm_root;
@@ -238,8 +238,8 @@
* in a messed up state. */
SCM
-scm_internal_cwdr (scm_catch_body_t body, void *body_data,
- scm_catch_handler_t handler, void *handler_data,
+scm_internal_cwdr (scm_t_catch_body body, void *body_data,
+ scm_t_catch_handler handler, void *handler_data,
SCM_STACKITEM *stack_start)
{
int old_ints_disabled = scm_ints_disabled;
@@ -253,7 +253,7 @@
SCM_REDEFER_INTS;
{
- scm_contregs_t *contregs = scm_must_malloc (sizeof (scm_contregs_t),
+ scm_t_contregs *contregs = scm_must_malloc (sizeof (scm_t_contregs),
"inferior root continuation");
contregs->num_stack_items = 0;
Index: guile/guile-core/libguile/root.h
diff -u guile/guile-core/libguile/root.h:1.35
guile/guile-core/libguile/root.h:1.36
--- guile/guile-core/libguile/root.h:1.35 Sat May 26 15:10:58 2001
+++ guile/guile-core/libguile/root.h Thu Jun 14 12:50:43 2001
@@ -80,7 +80,7 @@
-extern scm_bits_t scm_tc16_root;
+extern scm_t_bits scm_tc16_root;
#define SCM_ROOTP(obj) SCM_TYP16_PREDICATE (scm_tc16_root, obj)
#define SCM_ROOT_STATE(root) ((scm_root_state *) SCM_CELL_WORD_1 (root))
@@ -97,7 +97,7 @@
SCM continuation_stack_ptr;
#ifdef DEBUG_EXTENSIONS
/* It is very inefficient to have this variable in the root state. */
- scm_debug_frame_t *last_debug_frame;
+ scm_t_debug_frame *last_debug_frame;
#endif
SCM progargs; /* vestigial */
@@ -149,9 +149,9 @@
extern SCM scm_make_root (SCM parent);
-extern SCM scm_internal_cwdr (scm_catch_body_t body,
+extern SCM scm_internal_cwdr (scm_t_catch_body body,
void *body_data,
- scm_catch_handler_t handler,
+ scm_t_catch_handler handler,
void *handler_data,
SCM_STACKITEM *stack_start);
extern SCM scm_call_with_dynamic_root (SCM thunk, SCM handler);
Index: guile/guile-core/libguile/scmsigs.c
diff -u guile/guile-core/libguile/scmsigs.c:1.59
guile/guile-core/libguile/scmsigs.c:1.60
--- guile/guile-core/libguile/scmsigs.c:1.59 Tue Jun 26 08:46:40 2001
+++ guile/guile-core/libguile/scmsigs.c Tue Jun 26 10:53:09 2001
@@ -74,6 +74,14 @@
#endif
+#ifdef __MINGW32__
+#include <windows.h>
+#define alarm(sec) (0)
+/* This weird comma expression is because Sleep is void under Windows. */
+#define sleep(sec) (Sleep ((sec) * 1000), 0)
+#define kill(pid, sig) raise (sig)
+#endif
+
/* SIGRETTYPE is the type that signal handlers return. See <signal.h> */
@@ -298,12 +306,16 @@
case SIGFPE:
case SIGILL:
case SIGSEGV:
+#ifdef SIGBUS
case SIGBUS:
+#endif
case SIGABRT:
#if defined(SIGIOT) && (SIGIOT != SIGABRT)
case SIGIOT:
#endif
+#ifdef SIGTRAP
case SIGTRAP:
+#endif
#ifdef SIGEMT
case SIGEMT:
#endif
Index: guile/guile-core/libguile/script.c
diff -u guile/guile-core/libguile/script.c:1.43
guile/guile-core/libguile/script.c:1.44
--- guile/guile-core/libguile/script.c:1.43 Wed Jun 27 18:11:59 2001
+++ guile/guile-core/libguile/script.c Tue Jul 3 08:27:56 2001
@@ -64,6 +64,10 @@
#include <unistd.h> /* for X_OK define */
#endif
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
+
/* Concatentate str2 onto str1 at position n and return concatenated
string if file exists; 0 otherwise. */
Index: guile/guile-core/libguile/simpos.c
diff -u guile/guile-core/libguile/simpos.c:1.42
guile/guile-core/libguile/simpos.c:1.43
--- guile/guile-core/libguile/simpos.c:1.42 Wed May 23 17:50:48 2001
+++ guile/guile-core/libguile/simpos.c Tue Jun 26 03:59:34 2001
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998, 2000, 2001 Free Software Foundation,
Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -110,7 +110,7 @@
SCM_VALIDATE_STRING (1, nam);
SCM_STRING_COERCE_0TERMINATION_X (nam);
val = getenv (SCM_STRING_CHARS (nam));
- return (val) ? scm_makfromstr(val, (size_t)strlen(val), 0) : SCM_BOOL_F;
+ return val ? scm_mem2string (val, strlen (val)) : SCM_BOOL_F;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/smob.c
diff -u guile/guile-core/libguile/smob.c:1.46
guile/guile-core/libguile/smob.c:1.47
--- guile/guile-core/libguile/smob.c:1.46 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/smob.c Wed Jun 27 18:11:59 2001
@@ -200,7 +200,7 @@
static SCM
scm_smob_apply_1_001 (SCM smob, SCM a1)
{
- return SCM_SMOB_APPLY1 (smob, SCM_LIST1 (a1));
+ return SCM_SMOB_APPLY1 (smob, scm_list_1 (a1));
}
static SCM
@@ -230,13 +230,13 @@
static SCM
scm_smob_apply_2_001 (SCM smob, SCM a1, SCM a2)
{
- return SCM_SMOB_APPLY1 (smob, SCM_LIST2 (a1, a2));
+ return SCM_SMOB_APPLY1 (smob, scm_list_2 (a1, a2));
}
static SCM
scm_smob_apply_2_011 (SCM smob, SCM a1, SCM a2)
{
- return SCM_SMOB_APPLY2 (smob, a1, SCM_LIST1 (a2));
+ return SCM_SMOB_APPLY2 (smob, a1, scm_list_1 (a2));
}
static SCM
Index: guile/guile-core/libguile/snarf.h
diff -u guile/guile-core/libguile/snarf.h:1.49
guile/guile-core/libguile/snarf.h:1.50
--- guile/guile-core/libguile/snarf.h:1.49 Fri Jun 8 07:49:05 2001
+++ guile/guile-core/libguile/snarf.h Sun Jun 24 20:30:02 2001
@@ -85,14 +85,13 @@
# define SCM_SNARF_HERE(X)
# define SCM_SNARF_INIT(X)
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
-^^{ \
-^^%fname . FNAME \
-^^%type . TYPE \
-^^%location __FILE__ . __LINE__ \
-^^%arglist . ARGLIST \
-^^%argsig REQ OPT VAR \
-^^(DOCSTRING) \
-^^}
+^^ { \
+fname FNAME ^^ \
+type TYPE ^^ \
+location __FILE__ __LINE__ ^^ \
+arglist ARGLIST ^^ \
+argsig REQ OPT VAR ^^ \
+DOCSTRING ^^ }
# else
# define SCM_SNARF_HERE(X) X
# define SCM_SNARF_INIT(X)
@@ -219,7 +218,7 @@
#ifdef SCM_MAGIC_SNARF_DOCS
#undef SCM_ASSERT
-#define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^[ argpos _arg _pos __LINE__ ]
+#define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^
#endif /* SCM_MAGIC_SNARF_DOCS */
#endif /* LIBGUILE_SNARF_H */
Index: guile/guile-core/libguile/socket.c
diff -u guile/guile-core/libguile/socket.c:1.79
guile/guile-core/libguile/socket.c:1.80
--- guile/guile-core/libguile/socket.c:1.79 Tue Jun 26 10:53:09 2001
+++ guile/guile-core/libguile/socket.c Wed Jun 27 18:11:59 2001
@@ -970,7 +970,7 @@
#endif
default:
scm_misc_error (proc, "Unrecognised address family: ~A",
- SCM_LIST1 (SCM_MAKINUM (fam)));
+ scm_list_1 (SCM_MAKINUM (fam)));
}
return result;
}
Index: guile/guile-core/libguile/sort.c
diff -u guile/guile-core/libguile/sort.c:1.35
guile/guile-core/libguile/sort.c:1.36
--- guile/guile-core/libguile/sort.c:1.35 Sun May 27 15:00:03 2001
+++ guile/guile-core/libguile/sort.c Tue Jun 26 08:46:40 2001
@@ -86,6 +86,7 @@
#include "libguile/ramap.h"
#include "libguile/alist.h"
#include "libguile/feature.h"
+#include "libguile/root.h"
#include "libguile/vectors.h"
#include "libguile/validate.h"
@@ -385,10 +386,7 @@
static int
applyless (SCM less, const void *a, const void *b)
{
- return SCM_NFALSEP (scm_apply (less,
- scm_cons (*(SCM *) a,
- scm_cons (*(SCM *) b, SCM_EOL)),
- SCM_EOL));
+ return SCM_NFALSEP (scm_call_2 (less, *(SCM *) a, *(SCM *) b));
} /* applyless */
static cmp_fun_t
Index: guile/guile-core/libguile/srcprop.c
diff -u guile/guile-core/libguile/srcprop.c:1.49
guile/guile-core/libguile/srcprop.c:1.50
--- guile/guile-core/libguile/srcprop.c:1.49 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/srcprop.c Sun Jun 24 17:55:36 2001
@@ -112,7 +112,7 @@
int writingp = SCM_WRITINGP (pstate);
scm_puts ("#<srcprops ", port);
SCM_SET_WRITINGP (pstate, 1);
- scm_iprin1 (scm_t_srcpropso_plist (obj), port, pstate);
+ scm_iprin1 (scm_srcprops_to_plist (obj), port, pstate);
SCM_SET_WRITINGP (pstate, writingp);
scm_putc ('>', port);
return 1;
@@ -154,7 +154,7 @@
SCM
-scm_t_srcpropso_plist (SCM obj)
+scm_srcprops_to_plist (SCM obj)
{
SCM plist = SRCPROPPLIST (obj);
if (!SCM_UNBNDP (SRCPROPCOPY (obj)))
@@ -182,7 +182,7 @@
#endif
p = scm_hashq_ref (scm_source_whash, obj, SCM_BOOL_F);
if (SRCPROPSP (p))
- return scm_t_srcpropso_plist (p);
+ return scm_srcprops_to_plist (p);
return SCM_EOL;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/srcprop.h
diff -u guile/guile-core/libguile/srcprop.h:1.24
guile/guile-core/libguile/srcprop.h:1.25
--- guile/guile-core/libguile/srcprop.h:1.24 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/srcprop.h Sun Jun 24 17:55:36 2001
@@ -137,7 +137,7 @@
-extern SCM scm_t_srcpropso_plist (SCM obj);
+extern SCM scm_srcprops_to_plist (SCM obj);
extern SCM scm_make_srcprops (long line, int col, SCM fname, SCM copy, SCM
plist);
extern SCM scm_source_property (SCM obj, SCM key);
extern SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum);
Index: guile/guile-core/libguile/stackchk.c
diff -u guile/guile-core/libguile/stackchk.c:1.19
guile/guile-core/libguile/stackchk.c:1.20
--- guile/guile-core/libguile/stackchk.c:1.19 Fri Mar 9 15:33:41 2001
+++ guile/guile-core/libguile/stackchk.c Wed May 23 17:50:49 2001
@@ -72,7 +72,7 @@
#endif
-long
+long
scm_stack_size (SCM_STACKITEM *start)
{
SCM_STACKITEM stack;
Index: guile/guile-core/libguile/stacks.c
diff -u guile/guile-core/libguile/stacks.c:1.63
guile/guile-core/libguile/stacks.c:1.64
--- guile/guile-core/libguile/stacks.c:1.63 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/stacks.c Mon Jun 25 04:06:33 2001
@@ -1,5 +1,5 @@
/* Representation of stack frame debug information
- * Copyright (C) 1996,1997, 2000 Free Software Foundation
+ * Copyright (C) 1996,1997,2000,2001 Free Software Foundation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -230,7 +230,7 @@
#define NEXT_FRAME(iframe, n, quit) \
do { \
- if (SCM_NIMP (iframe->source) \
+ if (SCM_MEMOIZEDP (iframe->source) \
&& SCM_EQ_P (SCM_MEMOIZED_EXP (iframe->source), applybody)) \
{ \
iframe->source = SCM_BOOL_F; \
@@ -280,7 +280,8 @@
if ((info - dframe->vect) & 1)
--info;
/* Data in the apply part of an eval info frame comes from
- previous stack frame if the scm_t_debug_info vector is overflowed.
*/
+ previous stack frame if the scm_t_debug_info vector is
+ overflowed. */
else if (SCM_OVERFLOWP (*dframe)
&& !SCM_UNBNDP (info[1].a.proc))
{
@@ -348,28 +349,33 @@
narrow_stack (SCM stack,long inner,SCM inner_key,long outer,SCM outer_key)
{
scm_t_stack *s = SCM_STACK (stack);
- long i;
+ unsigned long int i;
long n = s->length;
/* Cut inner part. */
if (SCM_EQ_P (inner_key, SCM_BOOL_T))
- /* Cut all frames up to user module code */
{
+ /* Cut all frames up to user module code */
for (i = 0; inner; ++i, --inner)
{
SCM m = s->frames[i].source;
- if ( SCM_MEMOIZEDP (m)
- && SCM_NIMP (SCM_MEMOIZED_ENV (m))
+ if (SCM_MEMOIZEDP (m)
+ && !SCM_IMP (SCM_MEMOIZED_ENV (m))
&& SCM_FALSEP (scm_system_module_env_p (SCM_MEMOIZED_ENV (m))))
{
/* Back up in order to include any non-source frames */
- while (i > 0
- && !((m = s->frames[i - 1].source, SCM_MEMOIZEDP (m))
- || (SCM_NIMP (m = s->frames[i - 1].proc)
- && SCM_NFALSEP (scm_procedure_p (m))
- && SCM_NFALSEP (scm_procedure_property
- (m, scm_sym_system_procedure)))))
+ while (i > 0)
{
+ m = s->frames[i - 1].source;
+ if (SCM_MEMOIZEDP (m))
+ break;
+
+ m = s->frames[i - 1].proc;
+ if (!SCM_FALSEP (scm_procedure_p (m))
+ && !SCM_FALSEP (scm_procedure_property
+ (m, scm_sym_system_procedure)))
+ break;
+
--i;
++inner;
}
@@ -423,7 +429,7 @@
{
long n, size;
int maxp;
- scm_t_debug_frame *dframe = scm_last_debug_frame;
+ scm_t_debug_frame *dframe;
scm_t_info_frame *iframe;
long offset = 0;
SCM stack, id;
@@ -431,28 +437,28 @@
/* Extract a pointer to the innermost frame of whatever object
scm_make_stack was given. */
- /* just use dframe == scm_last_debug_frame
- (from initialization of dframe, above) if obj is #t */
- if (!SCM_EQ_P (obj, SCM_BOOL_T))
- {
- SCM_ASSERT (SCM_NIMP (obj), obj, SCM_ARG1, FUNC_NAME);
- if (SCM_DEBUGOBJP (obj))
- dframe = (scm_t_debug_frame *) SCM_DEBUGOBJ_FRAME (obj);
- else if (SCM_CONTINUATIONP (obj))
- {
- offset = ((SCM_STACKITEM *) ((char *) SCM_CONTREGS (obj) + sizeof
(scm_t_contregs))
- - SCM_BASE (obj));
+ if (SCM_EQ_P (obj, SCM_BOOL_T))
+ {
+ dframe = scm_last_debug_frame;
+ }
+ else if (SCM_DEBUGOBJP (obj))
+ {
+ dframe = SCM_DEBUGOBJ_FRAME (obj);
+ }
+ else if (SCM_CONTINUATIONP (obj))
+ {
+ offset = ((SCM_STACKITEM *) ((char *) SCM_CONTREGS (obj) + sizeof
(scm_t_contregs))
+ - SCM_BASE (obj));
#ifndef STACK_GROWS_UP
- offset += SCM_CONTINUATION_LENGTH (obj);
+ offset += SCM_CONTINUATION_LENGTH (obj);
#endif
- dframe = RELOC_FRAME (SCM_DFRAME (obj), offset);
- }
- else
- {
- SCM_WRONG_TYPE_ARG (SCM_ARG1, obj);
- /* not reached */
- }
+ dframe = RELOC_FRAME (SCM_DFRAME (obj), offset);
}
+ else
+ {
+ SCM_WRONG_TYPE_ARG (SCM_ARG1, obj);
+ /* not reached */
+ }
/* Count number of frames. Also get stack id tag and check whether
there are more stackframes than we want to record
@@ -480,7 +486,7 @@
args = SCM_CDR (args);
if (SCM_NULLP (args))
{
- outer_cut = SCM_INUM0;
+ outer_cut = SCM_INUM0;
}
else
{
@@ -516,26 +522,31 @@
scm_t_debug_frame *dframe;
long offset = 0;
if (SCM_EQ_P (stack, SCM_BOOL_T))
- dframe = scm_last_debug_frame;
- else
{
- SCM_VALIDATE_NIM (1,stack);
- if (SCM_DEBUGOBJP (stack))
- dframe = (scm_t_debug_frame *) SCM_DEBUGOBJ_FRAME (stack);
- else if (SCM_CONTINUATIONP (stack))
- {
- offset = ((SCM_STACKITEM *) ((char *) SCM_CONTREGS (stack) + sizeof
(scm_t_contregs))
- - SCM_BASE (stack));
+ dframe = scm_last_debug_frame;
+ }
+ else if (SCM_DEBUGOBJP (stack))
+ {
+ dframe = SCM_DEBUGOBJ_FRAME (stack);
+ }
+ else if (SCM_CONTINUATIONP (stack))
+ {
+ offset = ((SCM_STACKITEM *) ((char *) SCM_CONTREGS (stack) + sizeof
(scm_t_contregs))
+ - SCM_BASE (stack));
#ifndef STACK_GROWS_UP
- offset += SCM_CONTINUATION_LENGTH (stack);
+ offset += SCM_CONTINUATION_LENGTH (stack);
#endif
- dframe = RELOC_FRAME (SCM_DFRAME (stack), offset);
- }
- else if (SCM_STACKP (stack))
- return SCM_STACK (stack) -> id;
- else
- SCM_WRONG_TYPE_ARG (1, stack);
+ dframe = RELOC_FRAME (SCM_DFRAME (stack), offset);
+ }
+ else if (SCM_STACKP (stack))
+ {
+ return SCM_STACK (stack) -> id;
+ }
+ else
+ {
+ SCM_WRONG_TYPE_ARG (1, stack);
}
+
while (dframe && !SCM_VOIDFRAMEP (*dframe))
dframe = RELOC_FRAME (dframe->prev, offset);
if (dframe && SCM_VOIDFRAMEP (*dframe))
@@ -545,16 +556,18 @@
#undef FUNC_NAME
SCM_DEFINE (scm_stack_ref, "stack-ref", 2, 0, 0,
- (SCM stack, SCM i),
- "Return the @var{i}'th frame from @var{stack}.")
+ (SCM stack, SCM index),
+ "Return the @var{index}'th frame from @var{stack}.")
#define FUNC_NAME s_scm_stack_ref
{
- SCM_VALIDATE_STACK (1,stack);
- SCM_VALIDATE_INUM (2,i);
- SCM_ASSERT_RANGE (1,i,
- SCM_INUM (i) >= 0 &&
- SCM_INUM (i) < SCM_STACK_LENGTH (stack));
- return scm_cons (stack, i);
+ unsigned long int c_index;
+
+ SCM_VALIDATE_STACK (1, stack);
+ SCM_VALIDATE_INUM (2, index);
+ SCM_ASSERT_RANGE (1, index, SCM_INUM (index) >= 0);
+ c_index = SCM_INUM (index);
+ SCM_ASSERT_RANGE (1, index, c_index < SCM_STACK_LENGTH (stack));
+ return scm_cons (stack, index);
}
#undef FUNC_NAME
@@ -591,9 +604,10 @@
long offset = 0;
SCM stack;
- SCM_VALIDATE_NIM (1,obj);
if (SCM_DEBUGOBJP (obj))
- dframe = (scm_t_debug_frame *) SCM_DEBUGOBJ_FRAME (obj);
+ {
+ dframe = SCM_DEBUGOBJ_FRAME (obj);
+ }
else if (SCM_CONTINUATIONP (obj))
{
offset = ((SCM_STACKITEM *) ((char *) SCM_CONTREGS (obj) + sizeof
(scm_t_contregs))
@@ -619,7 +633,7 @@
read_frame (dframe, offset,
(scm_t_info_frame *) &SCM_STACK (stack) -> frames[0]);
- return scm_cons (stack, SCM_INUM0);;
+ return scm_cons (stack, SCM_INUM0);
}
#undef FUNC_NAME
@@ -672,8 +686,8 @@
"@var{frame} is the first frame in its stack.")
#define FUNC_NAME s_scm_frame_previous
{
- long n;
- SCM_VALIDATE_FRAME (1,frame);
+ unsigned long int n;
+ SCM_VALIDATE_FRAME (1, frame);
n = SCM_INUM (SCM_CDR (frame)) + 1;
if (n >= SCM_STACK_LENGTH (SCM_CAR (frame)))
return SCM_BOOL_F;
@@ -688,13 +702,13 @@
"@var{frame} is the last frame in its stack.")
#define FUNC_NAME s_scm_frame_next
{
- long n;
- SCM_VALIDATE_FRAME (1,frame);
- n = SCM_INUM (SCM_CDR (frame)) - 1;
- if (n < 0)
+ unsigned long int n;
+ SCM_VALIDATE_FRAME (1, frame);
+ n = SCM_INUM (SCM_CDR (frame));
+ if (n == 0)
return SCM_BOOL_F;
else
- return scm_cons (SCM_CAR (frame), SCM_MAKINUM (n));
+ return scm_cons (SCM_CAR (frame), SCM_MAKINUM (n - 1));
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/stacks.h
diff -u guile/guile-core/libguile/stacks.h:1.22
guile/guile-core/libguile/stacks.h:1.23
--- guile/guile-core/libguile/stacks.h:1.22 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/stacks.h Mon Jun 25 04:06:33 2001
@@ -1,8 +1,8 @@
/* classes: h_files */
-#ifndef STACKSH
-#define STACKSH
-/* Copyright (C) 1995,1996, 2000 Free Software Foundation
+#ifndef SCM_STACKS_H
+#define SCM_STACKS_H
+/* Copyright (C) 1995,1996,2000,2001 Free Software Foundation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -84,11 +84,12 @@
#define SCM_STACKP(obj) (SCM_STRUCTP (obj) && SCM_EQ_P (SCM_STRUCT_VTABLE
(obj), scm_t_stackype))
#define SCM_STACK_LENGTH(stack) (SCM_STACK (stack) -> length)
-#define SCM_FRAMEP(obj) (SCM_CONSP (obj) \
- && SCM_STACKP (SCM_CAR (obj)) \
- && SCM_INUMP (SCM_CDR (obj))) \
+#define SCM_FRAMEP(obj) \
+ (SCM_CONSP (obj) && SCM_STACKP (SCM_CAR (obj)) \
+ && SCM_INUMP (SCM_CDR (obj)) && SCM_INUM (SCM_CDR (obj)) >= 0 \
+ && ((unsigned long int) SCM_INUM (SCM_CDR (obj)) \
+ < SCM_STACK_LENGTH (SCM_CAR (obj))))
-
#define SCM_FRAME_REF(frame, slot) \
(SCM_STACK (SCM_CAR (frame)) -> frames[SCM_INUM (SCM_CDR (frame))].slot) \
@@ -142,7 +143,7 @@
void scm_init_stacks (void);
-#endif /* STACKSH */
+#endif /* SCM_STACKS_H */
/*
Local Variables:
Index: guile/guile-core/libguile/stime.c
diff -u guile/guile-core/libguile/stime.c:1.68
guile/guile-core/libguile/stime.c:1.69
--- guile/guile-core/libguile/stime.c:1.68 Tue Jun 26 03:59:34 2001
+++ guile/guile-core/libguile/stime.c Tue Jun 26 10:53:09 2001
@@ -99,10 +99,10 @@
/* This should be figured out by autoconf. */
#if ! defined(CLKTCK) && defined(CLK_TCK)
-# define CLKTCK CLK_TCK
+# define CLKTCK ((int) CLK_TCK)
#endif
#if ! defined(CLKTCK) && defined(CLOCKS_PER_SEC)
-# define CLKTCK CLOCKS_PER_SEC
+# define CLKTCK ((int) CLOCKS_PER_SEC)
#endif
#if ! defined(CLKTCK)
# define CLKTCK 60
Index: guile/guile-core/libguile/strerror.c
diff -u guile/guile-core/libguile/strerror.c:1.5
guile/guile-core/libguile/strerror.c:1.6
--- guile/guile-core/libguile/strerror.c:1.5 Mon Jun 12 05:28:24 2000
+++ guile/guile-core/libguile/strerror.c Sun Jun 3 16:32:27 2001
@@ -16,7 +16,31 @@
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Boston, MA 02111-1307, USA.
+
+As a special exception, the Free Software Foundation gives permission
+for additional uses of the text contained in its release of GUILE.
+
+The exception is that, if you link the GUILE library with other files
+to produce an executable, this does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+Your use of that executable is in no way restricted on account of
+linking the GUILE library code into it.
+
+This exception does not however invalidate any other reasons why
+the executable file might be covered by the GNU General Public License.
+
+This exception applies only to the code released by the
+Free Software Foundation under the name GUILE. If you copy
+code from other Free Software Foundation releases into a copy of
+GUILE, as the General Public License permits, the exception does
+not apply to the code that you add in this way. To avoid misleading
+anyone as to the status of such modified files, you must delete
+this exception notice from them.
+
+If you write modifications of your own for GUILE, it is your choice
+whether to permit this exception to apply to your modifications.
+If you do not wish that, delete this exception notice. */
/* Software engineering face-lift by Greg J. Badros, 11-Dec-1999,
address@hidden, http://www.cs.washington.edu/homes/gjb */
Index: guile/guile-core/libguile/strings.c
diff -u guile/guile-core/libguile/strings.c:1.59
guile/guile-core/libguile/strings.c:1.60
--- guile/guile-core/libguile/strings.c:1.59 Tue Jun 26 03:59:34 2001
+++ guile/guile-core/libguile/strings.c Wed Jun 27 18:11:59 2001
@@ -50,7 +50,9 @@
#include "libguile/chars.h"
#include "libguile/root.h"
#include "libguile/strings.h"
+#include "libguile/deprecation.h"
#include "libguile/validate.h"
+
/* {Strings}
Index: guile/guile-core/libguile/strings.h
diff -u guile/guile-core/libguile/strings.h:1.31
guile/guile-core/libguile/strings.h:1.32
--- guile/guile-core/libguile/strings.h:1.31 Thu Jun 14 11:26:17 2001
+++ guile/guile-core/libguile/strings.h Tue Jun 26 03:59:34 2001
@@ -1,8 +1,8 @@
/* classes: h_files */
-#ifndef STRINGSH
-#define STRINGSH
-/* Copyright (C) 1995,1996,1997,1998, 2000 Free Software Foundation, Inc.
+#ifndef SCM_STRINGS_H
+#define SCM_STRINGS_H
+/* Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -51,7 +51,7 @@
-#define SCM_STRINGP(x) (SCM_NIMP (x) && (SCM_TYP7S (x) == scm_tc7_string))
+#define SCM_STRINGP(x) (!SCM_IMP (x) && (SCM_TYP7S (x) == scm_tc7_string))
#if (SCM_DEBUG_DEPRECATED == 1)
#define SCM_STRING_UCHARS(x) ((unsigned char *) (SCM_CELL_WORD_1 (x)))
#define SCM_STRING_CHARS(x) ((char *) (SCM_CELL_WORD_1 (x)))
@@ -62,8 +62,8 @@
#define SCM_SET_STRING_LENGTH(s, l) (SCM_SET_CELL_WORD_0 ((s), ((l) << 8) +
scm_tc7_string))
#define SCM_STRING_COERCE_0TERMINATION_X(x) \
- { if (SCM_NIMP (x) && (SCM_TYP7 (x) == scm_tc7_substring)) \
- x = scm_makfromstr (SCM_STRING_CHARS (x), SCM_STRING_LENGTH (x), 0); }
+ { if (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_substring)) \
+ x = scm_mem2string (SCM_STRING_CHARS (x), SCM_STRING_LENGTH (x)); }
@@ -73,7 +73,7 @@
extern SCM scm_makfromstrs (int argc, char **argv);
extern SCM scm_take_str (char *s, size_t len);
extern SCM scm_take0str (char *s);
-extern SCM scm_makfromstr (const char *src, size_t len, int);
+extern SCM scm_mem2string (const char *src, size_t len);
extern SCM scm_makfrom0str (const char *src);
extern SCM scm_makfrom0str_opt (const char *src);
extern SCM scm_allocate_string (size_t len);
@@ -90,7 +90,7 @@
#if (SCM_DEBUG_DEPRECATED == 0)
#define SCM_SLOPPY_STRINGP(x) (SCM_STRINGP(x))
-#define SCM_RWSTRINGP(x) (SCM_NIMP (x) && (SCM_TYP7 (x) == scm_tc7_string))
+#define SCM_RWSTRINGP(x) (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_string))
#define SCM_STRING_UCHARS(x) \
((SCM_TYP7 (x) == scm_tc7_substring) \
? (unsigned char *) SCM_CELL_WORD_1 (SCM_CDDR (x)) + SCM_INUM (SCM_CADR
(x)) \
@@ -101,10 +101,11 @@
: (char *) SCM_CELL_WORD_1 (x))
extern SCM scm_make_shared_substring (SCM str, SCM frm, SCM to);
extern SCM scm_makstr (size_t len, int);
+extern SCM scm_makfromstr (const char *src, size_t len, int);
#endif /* SCM_DEBUG_DEPRECATED == 0 */
-#endif /* STRINGSH */
+#endif /* SCM_STRINGS_H */
/*
Local Variables:
Index: guile/guile-core/libguile/strop.c
diff -u guile/guile-core/libguile/strop.c:1.61
guile/guile-core/libguile/strop.c:1.62
--- guile/guile-core/libguile/strop.c:1.61 Sun Jun 3 16:32:27 2001
+++ guile/guile-core/libguile/strop.c Tue Jun 26 03:59:34 2001
@@ -1,6 +1,6 @@
/* classes: src_files */
-/* Copyright (C) 1994, 1996, 1997, 1999, 2000, 2001 Free Software
Foundation, Inc.
+/* Copyright (C) 1994,1996,1997,1999,2000,2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -324,7 +324,7 @@
#define FUNC_NAME s_scm_string_null_p
{
SCM_VALIDATE_STRING (1,str);
- return SCM_NEGATE_BOOL (SCM_STRING_LENGTH (str));
+ return SCM_BOOL (SCM_STRING_LENGTH (str) == 0);
}
#undef FUNC_NAME
@@ -353,7 +353,11 @@
static SCM
string_copy (SCM str)
{
- return scm_makfromstr (SCM_STRING_CHARS (str), SCM_STRING_LENGTH (str), 0);
+ const char* chars = SCM_STRING_CHARS (str);
+ size_t length = SCM_STRING_LENGTH (str);
+ SCM new_string = scm_mem2string (chars, length);
+ scm_remember_upto_here_1 (str);
+ return new_string;
}
@@ -487,7 +491,7 @@
len = SCM_STRING_LENGTH(str);
sz = SCM_STRING_CHARS (str);
for(i=0; i<len; i++) {
- if(SCM_NFALSEP(scm_char_alphabetic_p(SCM_MAKE_CHAR(sz[i])))) {
+ if (!SCM_FALSEP (scm_char_alphabetic_p (SCM_MAKE_CHAR (sz[i])))) {
if(!in_word) {
sz[i] = scm_upcase(sz[i]);
in_word = 1;
@@ -574,10 +578,11 @@
idx--;
if (idx >= 0)
{
- res = scm_cons (scm_makfromstr (p + idx, last_idx - idx, 0), res);
+ res = scm_cons (scm_mem2string (p + idx, last_idx - idx), res);
idx--;
}
}
+ scm_remember_upto_here_1 (str);
return res;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/strorder.c
diff -u guile/guile-core/libguile/strorder.c:1.24
guile/guile-core/libguile/strorder.c:1.25
--- guile/guile-core/libguile/strorder.c:1.24 Tue Apr 3 06:19:04 2001
+++ guile/guile-core/libguile/strorder.c Wed May 23 17:50:49 2001
@@ -64,7 +64,7 @@
"characters.")
#define FUNC_NAME s_scm_string_equal_p
{
- scm_sizet length;
+ size_t length;
SCM_VALIDATE_STRING (1, s1);
SCM_VALIDATE_STRING (2, s2);
@@ -74,7 +74,7 @@
{
unsigned char *c1 = SCM_STRING_UCHARS (s1) + length - 1;
unsigned char *c2 = SCM_STRING_UCHARS (s2) + length - 1;
- scm_sizet i;
+ size_t i;
/* comparing from back to front typically finds mismatches faster */
for (i = 0; i != length; ++i, --c1, --c2)
@@ -99,7 +99,7 @@
"return @code{#f}.")
#define FUNC_NAME s_scm_string_ci_equal_p
{
- scm_sizet length;
+ size_t length;
SCM_VALIDATE_STRING (1, s1);
SCM_VALIDATE_STRING (2, s2);
@@ -109,7 +109,7 @@
{
unsigned char *c1 = SCM_STRING_UCHARS (s1) + length - 1;
unsigned char *c2 = SCM_STRING_UCHARS (s2) + length - 1;
- scm_sizet i;
+ size_t i;
/* comparing from back to front typically finds mismatches faster */
for (i = 0; i != length; ++i, --c1, --c2)
@@ -131,7 +131,7 @@
static SCM
string_less_p (SCM s1, SCM s2)
{
- scm_sizet i, length1, length2, lengthm;
+ size_t i, length1, length2, lengthm;
unsigned char *c1, *c2;
length1 = SCM_STRING_LENGTH (s1);
@@ -211,7 +211,7 @@
static SCM
string_ci_less_p (SCM s1, SCM s2)
{
- scm_sizet i, length1, length2, lengthm;
+ size_t i, length1, length2, lengthm;
unsigned char *c1, *c2;
length1 = SCM_STRING_LENGTH (s1);
Index: guile/guile-core/libguile/strports.c
diff -u guile/guile-core/libguile/strports.c:1.82
guile/guile-core/libguile/strports.c:1.83
--- guile/guile-core/libguile/strports.c:1.82 Fri Jun 29 16:13:14 2001
+++ guile/guile-core/libguile/strports.c Sun Jul 1 04:57:56 2001
@@ -460,7 +460,7 @@
scm_c_issue_deprecation_warning
("scm_read_0str is deprecated. Use scm_c_read_string instead.");
- return scm_read_0str (expr);
+ return scm_c_read_string (expr);
}
SCM
@@ -469,7 +469,7 @@
scm_c_issue_deprecation_warning
("scm_eval_0str is deprecated. Use scm_c_eval_string instead.");
- return scm_eval_0str (expr);
+ return scm_c_eval_string (expr);
}
#endif
Index: guile/guile-core/libguile/struct.c
diff -u guile/guile-core/libguile/struct.c:1.80
guile/guile-core/libguile/struct.c:1.81
--- guile/guile-core/libguile/struct.c:1.80 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/struct.c Wed Jun 27 18:11:59 2001
@@ -90,7 +90,7 @@
len = SCM_STRING_LENGTH (fields);
if (len % 2 == 1)
SCM_MISC_ERROR ("odd length field specification: ~S",
- SCM_LIST1 (fields));
+ scm_list_1 (fields));
field_desc = SCM_STRING_CHARS (fields);
@@ -108,7 +108,7 @@
break;
default:
SCM_MISC_ERROR ("unrecognized field type: ~S",
- SCM_LIST1 (SCM_MAKE_CHAR (field_desc[x])));
+ scm_list_1 (SCM_MAKE_CHAR (field_desc[x])));
}
switch (field_desc[x + 1])
@@ -131,14 +131,14 @@
break;
default:
SCM_MISC_ERROR ("unrecognized ref specification: ~S",
- SCM_LIST1 (SCM_MAKE_CHAR (field_desc[x + 1])));
+ scm_list_1 (SCM_MAKE_CHAR (field_desc[x + 1])));
}
#if 0
if (field_desc[x] == 'd')
{
if (field_desc[x + 2] != '-')
SCM_MISC_ERROR ("missing dash field at position ~A",
- SCM_LIST1 (SCM_MAKINUM (x / 2)));
+ scm_list_1 (SCM_MAKINUM (x / 2)));
x += 2;
goto recheck_ref;
}
@@ -539,7 +539,8 @@
SCM_VALIDATE_INUM (2, tail_array_size);
SCM_VALIDATE_REST_ARGUMENT (init);
- fields = scm_string_append (SCM_LIST2 (required_vtable_fields, user_fields));
+ fields = scm_string_append (scm_list_2 (required_vtable_fields,
+ user_fields));
layout = scm_make_struct_layout (fields);
basic_size = SCM_SYMBOL_LENGTH (layout) / 2;
tail_elts = SCM_INUM (tail_array_size);
@@ -601,13 +602,13 @@
if ((ref == 'R') || (ref == 'W'))
field_type = 'u';
else
- SCM_MISC_ERROR ("ref denied for field ~A", SCM_LIST1 (pos));
+ SCM_MISC_ERROR ("ref denied for field ~A", scm_list_1 (pos));
}
}
else if (fields_desc[SCM_SYMBOL_LENGTH (layout) - 1] != 'O')
field_type = fields_desc[SCM_SYMBOL_LENGTH (layout) - 2];
else
- SCM_MISC_ERROR ("ref denied for field ~A", SCM_LIST1 (pos));
+ SCM_MISC_ERROR ("ref denied for field ~A", scm_list_1 (pos));
switch (field_type)
{
@@ -633,7 +634,7 @@
default:
SCM_MISC_ERROR ("unrecognized field type: ~S",
- SCM_LIST1 (SCM_MAKE_CHAR (field_type)));
+ scm_list_1 (SCM_MAKE_CHAR (field_type)));
}
return answer;
@@ -673,12 +674,12 @@
field_type = fields_desc[p * 2];
set_x = fields_desc [p * 2 + 1];
if (set_x != 'w')
- SCM_MISC_ERROR ("set! denied for field ~A", SCM_LIST1 (pos));
+ SCM_MISC_ERROR ("set! denied for field ~A", scm_list_1 (pos));
}
else if (fields_desc[SCM_SYMBOL_LENGTH (layout) - 1] == 'W')
field_type = fields_desc[SCM_SYMBOL_LENGTH (layout) - 2];
else
- SCM_MISC_ERROR ("set! denied for field ~A", SCM_LIST1 (pos));
+ SCM_MISC_ERROR ("set! denied for field ~A", scm_list_1 (pos));
switch (field_type)
{
@@ -705,7 +706,7 @@
default:
SCM_MISC_ERROR ("unrecognized field type: ~S",
- SCM_LIST1 (SCM_MAKE_CHAR (field_type)));
+ scm_list_1 (SCM_MAKE_CHAR (field_type)));
}
return val;
Index: guile/guile-core/libguile/struct.h
diff -u guile/guile-core/libguile/struct.h:1.38
guile/guile-core/libguile/struct.h:1.39
--- guile/guile-core/libguile/struct.h:1.38 Mon Jun 11 01:51:28 2001
+++ guile/guile-core/libguile/struct.h Thu Jun 14 12:50:43 2001
@@ -70,7 +70,7 @@
#define scm_vtable_index_printer 3 /* A printer for this struct type. */
#define scm_vtable_offset_user 4 /* Where do user fields start? */
-typedef size_t (*scm_struct_free_t) (scm_bits_t * vtable, scm_bits_t * data);
+typedef size_t (*scm_t_struct_free) (scm_t_bits * vtable, scm_t_bits * data);
#define SCM_STRUCTF_MASK (0xFFF << 20)
#define SCM_STRUCTF_ENTITY (1L << 30) /* Indicates presence of proc slots */
@@ -79,8 +79,8 @@
/* Dirk:FIXME:: the SCM_STRUCTP predicate is also fulfilled for glocs */
#define SCM_STRUCTP(X) (SCM_NIMP(X) && (SCM_TYP3(X) ==
scm_tc3_cons_gloc))
-#define SCM_STRUCT_DATA(X) ((scm_bits_t *) SCM_CELL_WORD_1 (X))
-#define SCM_STRUCT_VTABLE_DATA(X) ((scm_bits_t *) (SCM_CELL_WORD_0 (X) -
scm_tc3_cons_gloc))
+#define SCM_STRUCT_DATA(X) ((scm_t_bits *) SCM_CELL_WORD_1 (X))
+#define SCM_STRUCT_VTABLE_DATA(X) ((scm_t_bits *) (SCM_CELL_WORD_0 (X) -
scm_tc3_cons_gloc))
#define SCM_STRUCT_LAYOUT(X) (SCM_PACK (SCM_STRUCT_VTABLE_DATA (X)
[scm_vtable_index_layout]))
#define SCM_SET_STRUCT_LAYOUT(X, v) (SCM_STRUCT_VTABLE_DATA (X)
[scm_vtable_index_layout] = SCM_UNPACK (v))
@@ -91,7 +91,7 @@
#define SCM_STRUCT_PRINTER(X) (SCM_PACK (SCM_STRUCT_VTABLE_DATA (X)
[scm_vtable_index_printer]))
#define SCM_SET_STRUCT_PRINTER(x, v)\
(SCM_STRUCT_VTABLE_DATA (x) [scm_vtable_index_printer] = SCM_UNPACK (v))
-#define SCM_SET_VTABLE_DESTRUCTOR(X, D) (SCM_STRUCT_DATA (X)
[scm_struct_i_free] = (scm_bits_t) (D))
+#define SCM_SET_VTABLE_DESTRUCTOR(X, D) (SCM_STRUCT_DATA (X)
[scm_struct_i_free] = (scm_t_bits) (D))
/* Efficiency is important in the following macro, since it's used in GC */
#define SCM_LAYOUT_TAILP(X) (((X) & 32) == 0) /* R, W or O */
@@ -107,11 +107,11 @@
-extern scm_bits_t * scm_alloc_struct (int n_words, int n_extra, char * who);
-extern size_t scm_struct_free_0 (scm_bits_t * vtable, scm_bits_t * data);
-extern size_t scm_struct_free_light (scm_bits_t * vtable, scm_bits_t * data);
-extern size_t scm_struct_free_standard (scm_bits_t * vtable, scm_bits_t *
data);
-extern size_t scm_struct_free_entity (scm_bits_t * vtable, scm_bits_t * data);
+extern scm_t_bits * scm_alloc_struct (int n_words, int n_extra, char * who);
+extern size_t scm_struct_free_0 (scm_t_bits * vtable, scm_t_bits * data);
+extern size_t scm_struct_free_light (scm_t_bits * vtable, scm_t_bits * data);
+extern size_t scm_struct_free_standard (scm_t_bits * vtable, scm_t_bits *
data);
+extern size_t scm_struct_free_entity (scm_t_bits * vtable, scm_t_bits * data);
extern SCM scm_make_struct_layout (SCM fields);
extern SCM scm_struct_p (SCM x);
extern SCM scm_struct_vtable_p (SCM x);
Index: guile/guile-core/libguile/symbols-deprecated.c
diff -u guile/guile-core/libguile/symbols-deprecated.c:1.3
guile/guile-core/libguile/symbols-deprecated.c:1.4
--- guile/guile-core/libguile/symbols-deprecated.c:1.3 Wed May 23 17:50:49 2001
+++ guile/guile-core/libguile/symbols-deprecated.c Wed Jun 27 18:11:59 2001
@@ -112,7 +112,7 @@
answer = scm_sym2ovcell_soft (sym, obarray);
if (!SCM_FALSEP (answer))
return answer;
- SCM_MISC_ERROR ("uninterned symbol: ~S", SCM_LIST1 (sym));
+ SCM_MISC_ERROR ("uninterned symbol: ~S", scm_list_1 (sym));
return SCM_UNSPECIFIED; /* not reached */
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/symbols.c
diff -u guile/guile-core/libguile/symbols.c:1.91
guile/guile-core/libguile/symbols.c:1.92
--- guile/guile-core/libguile/symbols.c:1.91 Thu Jun 7 14:12:19 2001
+++ guile/guile-core/libguile/symbols.c Tue Jun 26 03:59:34 2001
@@ -185,8 +185,11 @@
"@end lisp")
#define FUNC_NAME s_scm_symbol_to_string
{
+ SCM str;
SCM_VALIDATE_SYMBOL (1, s);
- return scm_makfromstr (SCM_SYMBOL_CHARS (s), SCM_SYMBOL_LENGTH (s), 0);
+ str = scm_mem2string (SCM_SYMBOL_CHARS (s), SCM_SYMBOL_LENGTH (s));
+ scm_remember_upto_here_1 (s);
+ return str;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/symbols.h
diff -u guile/guile-core/libguile/symbols.h:1.55
guile/guile-core/libguile/symbols.h:1.56
--- guile/guile-core/libguile/symbols.h:1.55 Sun May 27 15:00:03 2001
+++ guile/guile-core/libguile/symbols.h Thu Jun 14 12:50:43 2001
@@ -98,7 +98,7 @@
#define SCM_CHARS(x) ((char *) (SCM_CELL_WORD_1 (x)))
#define SCM_UCHARS(x) ((unsigned char *) (SCM_CELL_WORD_1 (x)))
-#define SCM_SETCHARS(x, v) (SCM_SET_CELL_WORD_1 ((x), (scm_bits_t) (v)))
+#define SCM_SETCHARS(x, v) (SCM_SET_CELL_WORD_1 ((x), (scm_t_bits) (v)))
#define SCM_SLOPPY_SUBSTRP(x) (SCM_SUBSTRP (x))
#define SCM_SUBSTR_STR(x) (SCM_CDDR (x))
#define SCM_SUBSTR_OFFSET(x) (SCM_CADR (x))
Index: guile/guile-core/libguile/tags.h
diff -u guile/guile-core/libguile/tags.h:1.81
guile/guile-core/libguile/tags.h:1.82
--- guile/guile-core/libguile/tags.h:1.81 Thu Jun 14 10:39:30 2001
+++ guile/guile-core/libguile/tags.h Thu Jun 14 12:50:43 2001
@@ -61,36 +61,36 @@
/* In the beginning was the Word:
*/
#ifdef HAVE_UINTPTR_T
-typedef uintptr_t scm_bits_t;
-typedef intptr_t scm_signed_bits_t;
+typedef uintptr_t scm_t_bits;
+typedef intptr_t scm_t_signed_bits;
#else
-typedef unsigned long scm_bits_t;
-typedef signed long scm_signed_bits_t;
+typedef unsigned long scm_t_bits;
+typedef signed long scm_t_signed_bits;
#endif
/* But as external interface, we use SCM, which may, according to the desired
* level of type checking, be defined in several ways:
*/
#if (SCM_DEBUG_TYPING_STRICTNESS == 2)
- typedef union { struct { scm_bits_t n; } n; } SCM;
- static SCM scm_pack(scm_bits_t b) { SCM s; s.n.n = b; return s; }
+ typedef union { struct { scm_t_bits n; } n; } SCM;
+ static SCM scm_pack(scm_t_bits b) { SCM s; s.n.n = b; return s; }
# define SCM_UNPACK(x) ((x).n.n)
-# define SCM_PACK(x) (scm_pack ((scm_bits_t) (x)))
+# define SCM_PACK(x) (scm_pack ((scm_t_bits) (x)))
#elif (SCM_DEBUG_TYPING_STRICTNESS == 1)
/* This is the default, which provides an intermediate level of compile time
* type checking while still resulting in very efficient code.
*/
typedef struct scm_unused_struct * SCM;
-# define SCM_UNPACK(x) ((scm_bits_t) (x))
+# define SCM_UNPACK(x) ((scm_t_bits) (x))
# define SCM_PACK(x) ((SCM) (x))
#else
/* This should be used as a fall back solution for machines on which casting
* to a pointer may lead to loss of bit information, e. g. in the three least
* significant bits.
*/
- typedef scm_bits_t SCM;
+ typedef scm_t_bits SCM;
# define SCM_UNPACK(x) (x)
-# define SCM_PACK(x) ((scm_bits_t) (x))
+# define SCM_PACK(x) ((scm_t_bits) (x))
#endif
Index: guile/guile-core/libguile/threads.c
diff -u guile/guile-core/libguile/threads.c:1.20
guile/guile-core/libguile/threads.c:1.21
--- guile/guile-core/libguile/threads.c:1.20 Fri Mar 9 15:33:41 2001
+++ guile/guile-core/libguile/threads.c Thu Jun 14 12:50:43 2001
@@ -70,9 +70,9 @@
-scm_bits_t scm_tc16_thread;
-scm_bits_t scm_tc16_mutex;
-scm_bits_t scm_tc16_condvar;
+scm_t_bits scm_tc16_thread;
+scm_t_bits scm_tc16_mutex;
+scm_t_bits scm_tc16_condvar;
/* Scheme-visible thread functions. */
Index: guile/guile-core/libguile/threads.h
diff -u guile/guile-core/libguile/threads.h:1.15
guile/guile-core/libguile/threads.h:1.16
--- guile/guile-core/libguile/threads.h:1.15 Sun Dec 10 12:34:01 2000
+++ guile/guile-core/libguile/threads.h Thu Jun 14 12:50:43 2001
@@ -55,9 +55,9 @@
/* smob tags for the thread datatypes */
-extern scm_bits_t scm_tc16_thread;
-extern scm_bits_t scm_tc16_mutex;
-extern scm_bits_t scm_tc16_condvar;
+extern scm_t_bits scm_tc16_thread;
+extern scm_t_bits scm_tc16_mutex;
+extern scm_t_bits scm_tc16_condvar;
#define SCM_THREADP(x) SCM_TYP16_PREDICATE (scm_tc16_thread, x)
#define SCM_THREAD_DATA(x) ((void *) SCM_CELL_WORD_1 (x))
@@ -79,8 +79,8 @@
SCM scm_threads_unlock_mutex (SCM);
SCM scm_threads_monitor (void);
-SCM scm_spawn_thread (scm_catch_body_t body, void *body_data,
- scm_catch_handler_t handler, void *handler_data);
+SCM scm_spawn_thread (scm_t_catch_body body, void *body_data,
+ scm_t_catch_handler handler, void *handler_data);
/* These are versions of the ordinary sleep and usleep functions,
that play nicely with the thread system. */
Index: guile/guile-core/libguile/throw.c
diff -u guile/guile-core/libguile/throw.c:1.86
guile/guile-core/libguile/throw.c:1.87
--- guile/guile-core/libguile/throw.c:1.86 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/throw.c Tue Jun 26 08:46:40 2001
@@ -348,7 +348,7 @@
{
struct scm_body_thunk_data *c = (struct scm_body_thunk_data *) body_data;
- return scm_apply (c->body_proc, SCM_EOL, SCM_EOL);
+ return scm_call_0 (c->body_proc);
}
@@ -367,7 +367,7 @@
{
SCM *handler_proc_p = (SCM *) handler_data;
- return scm_apply (*handler_proc_p, scm_cons (tag, throw_args), SCM_EOL);
+ return scm_apply_1 (*handler_proc_p, tag, throw_args);
}
/* SCM_HANDLE_BY_PROC_CATCHING_ALL is like SCM_HANDLE_BY_PROC but
@@ -383,7 +383,7 @@
hbpca_body (void *body_data)
{
struct hbpca_data *data = (struct hbpca_data *)body_data;
- return scm_apply (data->proc, data->args, SCM_EOL);
+ return scm_apply_0 (data->proc, data->args);
}
SCM
Index: guile/guile-core/libguile/unif.c
diff -u guile/guile-core/libguile/unif.c:1.119
guile/guile-core/libguile/unif.c:1.120
--- guile/guile-core/libguile/unif.c:1.119 Sat Jun 30 12:56:57 2001
+++ guile/guile-core/libguile/unif.c Tue Jul 3 08:27:56 2001
@@ -74,6 +74,10 @@
#include <unistd.h>
#endif
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
+
/* The set of uniform scm_vector types is:
* Vector of: Called:
Index: guile/guile-core/libguile/unif.h
diff -u guile/guile-core/libguile/unif.h:1.40
guile/guile-core/libguile/unif.h:1.41
--- guile/guile-core/libguile/unif.h:1.40 Thu Jun 14 11:26:27 2001
+++ guile/guile-core/libguile/unif.h Thu Jun 14 12:50:43 2001
@@ -58,28 +58,28 @@
bit 15 is the SCM_ARRAY_FLAG_CONTIGUOUS flag
bits 16-31 hold the smob type id: scm_tc16_array
CDR: pointer to a malloced block containing an scm_array structure
- followed by an scm_array_dim_t structure for each dimension.
+ followed by an scm_t_array_dim structure for each dimension.
*/
-typedef struct scm_array_t
+typedef struct scm_t_array
{
SCM v; /* the contents of the array, e.g., a vector or uniform vector. */
unsigned long base;
-} scm_array_t;
+} scm_t_array;
-typedef struct scm_array_dim_t
+typedef struct scm_t_array_dim
{
long lbnd;
long ubnd;
long inc;
-} scm_array_dim_t;
+} scm_t_array_dim;
#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_array scm_array_t
-# define scm_array_dim scm_array_dim_t
+# define scm_array scm_t_array
+# define scm_array_dim scm_t_array_dim
#endif
-extern scm_bits_t scm_tc16_array;
+extern scm_t_bits scm_tc16_array;
#define SCM_ARRAY_FLAG_CONTIGUOUS (1 << 16)
@@ -95,10 +95,10 @@
#define SCM_CLR_ARRAY_CONTIGUOUS_FLAG(x) \
(SCM_SET_CELL_WORD_0 ((x), SCM_CELL_WORD_0 (x) & ~SCM_ARRAY_FLAG_CONTIGUOUS))
-#define SCM_ARRAY_MEM(a) ((scm_array_t *) SCM_CELL_WORD_1 (a))
+#define SCM_ARRAY_MEM(a) ((scm_t_array *) SCM_CELL_WORD_1 (a))
#define SCM_ARRAY_V(a) (SCM_ARRAY_MEM (a)->v)
#define SCM_ARRAY_BASE(a) (SCM_ARRAY_MEM (a)->base)
-#define SCM_ARRAY_DIMS(a) ((scm_array_dim_t *)((char *) SCM_ARRAY_MEM (a) +
sizeof (scm_array_t)))
+#define SCM_ARRAY_DIMS(a) ((scm_t_array_dim *)((char *) SCM_ARRAY_MEM (a) +
sizeof (scm_t_array)))
#define SCM_I_MAX_LENGTH ((unsigned long) (-1L) >> 8)
@@ -148,7 +148,7 @@
extern SCM scm_bit_count_star (SCM v, SCM kv, SCM obj);
extern SCM scm_bit_invert_x (SCM v);
extern SCM scm_istr2bve (char *str, long len);
-extern SCM scm_array_to_list (SCM v);
+extern SCM scm_t_arrayo_list (SCM v);
extern SCM scm_list_to_uniform_array (SCM ndim, SCM prot, SCM lst);
extern int scm_raprin1 (SCM exp, SCM port, scm_print_state *pstate);
extern SCM scm_array_prototype (SCM ra);
Index: guile/guile-core/libguile/variable.c
diff -u guile/guile-core/libguile/variable.c:1.36
guile/guile-core/libguile/variable.c:1.37
--- guile/guile-core/libguile/variable.c:1.36 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/variable.c Wed Jun 27 18:11:59 2001
@@ -130,7 +130,7 @@
SCM_VALIDATE_VARIABLE (1, var);
val = SCM_VARIABLE_REF (var);
if (val == SCM_UNDEFINED)
- SCM_MISC_ERROR ("variable is unbound: ~S", SCM_LIST1 (var));
+ SCM_MISC_ERROR ("variable is unbound: ~S", scm_list_1 (var));
return val;
}
#undef FUNC_NAME
Index: guile/guile-core/libguile/variable.h
diff -u guile/guile-core/libguile/variable.h:1.18
guile/guile-core/libguile/variable.h:1.19
--- guile/guile-core/libguile/variable.h:1.18 Tue May 15 07:57:20 2001
+++ guile/guile-core/libguile/variable.h Thu Jun 14 12:50:43 2001
@@ -54,7 +54,7 @@
/* Variables
*/
-extern scm_bits_t scm_tc16_variable;
+extern scm_t_bits scm_tc16_variable;
#define SCM_VARIABLEP(X) SCM_SMOB_PREDICATE (scm_tc16_variable, X)
Index: guile/guile-core/libguile/vectors.c
diff -u guile/guile-core/libguile/vectors.c:1.52
guile/guile-core/libguile/vectors.c:1.53
--- guile/guile-core/libguile/vectors.c:1.52 Thu Jun 14 12:50:43 2001
+++ guile/guile-core/libguile/vectors.c Wed Jun 27 18:11:59 2001
@@ -244,10 +244,10 @@
#define FUNC_NAME s_vector_set_x
{
SCM_GASSERTn (SCM_VECTORP (v),
- g_vector_set_x, SCM_LIST3 (v, k, obj),
+ g_vector_set_x, scm_list_3 (v, k, obj),
SCM_ARG1, s_vector_set_x);
SCM_GASSERTn (SCM_INUMP (k),
- g_vector_set_x, SCM_LIST3 (v, k, obj),
+ g_vector_set_x, scm_list_3 (v, k, obj),
SCM_ARG2, s_vector_set_x);
SCM_ASSERT_RANGE (2, k, SCM_INUM (k) < SCM_VECTOR_LENGTH (v) && SCM_INUM (k)
>= 0);
SCM_VELTS(v)[(long) SCM_INUM(k)] = obj;
Index: guile/guile-core/libguile/vectors.h
diff -u guile/guile-core/libguile/vectors.h:1.33
guile/guile-core/libguile/vectors.h:1.34
--- guile/guile-core/libguile/vectors.h:1.33 Fri Jun 8 03:02:33 2001
+++ guile/guile-core/libguile/vectors.h Thu Jun 14 12:50:43 2001
@@ -52,7 +52,7 @@
#define SCM_VECTORP(x) (SCM_NIMP (x) && (SCM_TYP7S (x) == scm_tc7_vector))
-#define SCM_VECTOR_BASE(x) ((scm_bits_t *) SCM_CELL_WORD_1 (x))
+#define SCM_VECTOR_BASE(x) ((scm_t_bits *) SCM_CELL_WORD_1 (x))
#define SCM_SET_VECTOR_BASE(v, b) (SCM_SET_CELL_WORD_1 ((v), (b)))
#define SCM_VECTOR_MAX_LENGTH ((1L << 24) - 1)
#define SCM_VECTOR_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
Index: guile/guile-core/libguile/version.c
diff -u guile/guile-core/libguile/version.c:1.19
guile/guile-core/libguile/version.c:1.20
--- guile/guile-core/libguile/version.c:1.19 Wed May 16 21:54:27 2001
+++ guile/guile-core/libguile/version.c Fri May 18 18:24:59 2001
@@ -75,13 +75,13 @@
}
#undef FUNC_NAME
-/* Return a Scheme string containing Guile's minor version number. */
+/* Return a Scheme string containing Guile's micro version number. */
SCM_DEFINE (scm_micro_version, "micro-version", 0, 0, 0,
(),
"Return a string containing Guile's micro version number.\n"
"E.g., the 5 in \"1.6.5\".")
-#define FUNC_NAME s_scm_minor_version
+#define FUNC_NAME s_scm_micro_version
{
return scm_makfrom0str (GUILE_MICRO_VERSION);
}
Index: guile/guile-core/libguile/vports.c
diff -u guile/guile-core/libguile/vports.c:1.47
guile/guile-core/libguile/vports.c:1.48
--- guile/guile-core/libguile/vports.c:1.47 Tue Jun 26 03:59:34 2001
+++ guile/guile-core/libguile/vports.c Tue Jun 26 08:46:40 2001
@@ -81,8 +81,7 @@
if (pt->write_pos > pt->write_buf)
{
/* write the byte. */
- scm_apply (SCM_VELTS (stream)[0], SCM_MAKE_CHAR (*pt->write_buf),
- scm_listofnull);
+ scm_call_1 (SCM_VELTS (stream)[0], SCM_MAKE_CHAR (*pt->write_buf));
pt->write_pos = pt->write_buf;
/* flush the output. */
@@ -90,7 +89,7 @@
SCM f = SCM_VELTS (stream)[2];
if (!SCM_FALSEP (f))
- scm_apply (f, SCM_EOL, SCM_EOL);
+ scm_call_0 (f);
}
}
}
@@ -100,9 +99,7 @@
{
SCM p = SCM_PACK (SCM_STREAM (port));
- scm_apply (SCM_VELTS (p)[1],
- scm_cons (scm_mem2string ((char *) data, size), SCM_EOL),
- SCM_EOL);
+ scm_call_1 (SCM_VELTS (p)[1], scm_mem2string ((char *) data, size));
}
/* calling the flush proc (element 2) is in case old code needs it,
@@ -116,7 +113,7 @@
SCM p = SCM_PACK (SCM_STREAM (port));
SCM ans;
- ans = scm_apply (SCM_VELTS (p)[3], SCM_EOL, SCM_EOL); /* get char. */
+ ans = scm_call_0 (SCM_VELTS (p)[3]); /* get char. */
if (SCM_FALSEP (ans) || SCM_EOF_OBJECT_P (ans))
return EOF;
SCM_ASSERT (SCM_CHARP (ans), ans, SCM_ARG1, "sf_fill_input");
@@ -138,7 +135,7 @@
SCM f = SCM_VELTS (p)[4];
if (SCM_FALSEP (f))
return 0;
- f = scm_apply (f, SCM_EOL, SCM_EOL);
+ f = scm_call_0 (f);
errno = 0;
return SCM_FALSEP (f) ? EOF : 0;
}
Index: guile/guile-core/libguile/weaks.c
diff -u guile/guile-core/libguile/weaks.c:1.41
guile/guile-core/libguile/weaks.c:1.42
--- guile/guile-core/libguile/weaks.c:1.41 Thu Jun 7 16:10:33 2001
+++ guile/guile-core/libguile/weaks.c Sat Jun 30 12:50:10 2001
@@ -43,18 +43,72 @@
address@hidden, http://www.cs.washington.edu/homes/gjb */
+
#include "libguile/_scm.h"
#include "libguile/vectors.h"
#include "libguile/validate.h"
#include "libguile/weaks.h"
-
+
/* {Weak Vectors}
*/
+/* Allocate memory for a weak vector on behalf of the caller. The allocated
+ * vector will be of the given weak vector subtype. It will contain size
+ * elements which are initialized with the 'fill' object, or, if 'fill' is
+ * undefined, with an unspecified object.
+ */
+static SCM
+allocate_weak_vector (scm_t_bits type, SCM size, SCM fill, const char* caller)
+#define FUNC_NAME caller
+{
+ if (SCM_INUMP (size))
+ {
+ size_t c_size;
+ SCM v;
+
+ SCM_ASSERT_RANGE (1, size, SCM_INUM (size) >= 0);
+ c_size = SCM_INUM (size);
+
+ SCM_NEWCELL2 (v);
+ SCM_SET_WVECT_GC_CHAIN (v, SCM_EOL);
+ SCM_SET_WVECT_TYPE (v, type);
+
+ if (c_size > 0)
+ {
+ scm_t_bits *base;
+ size_t j;
+
+ if (SCM_UNBNDP (fill))
+ fill = SCM_UNSPECIFIED;
+
+ SCM_ASSERT_RANGE (1, size, c_size <= SCM_VECTOR_MAX_LENGTH);
+ base = scm_must_malloc (c_size * sizeof (scm_t_bits), FUNC_NAME);
+ for (j = 0; j != c_size; ++j)
+ base[j] = SCM_UNPACK (fill);
+ SCM_SET_VECTOR_BASE (v, base);
+ SCM_SET_VECTOR_LENGTH (v, c_size, scm_tc7_wvect);
+ scm_remember_upto_here_1 (fill);
+ }
+ else
+ {
+ SCM_SET_VECTOR_BASE (v, NULL);
+ SCM_SET_VECTOR_LENGTH (v, 0, scm_tc7_wvect);
+ }
+
+ return v;
+ }
+ else if (SCM_BIGP (size))
+ SCM_OUT_OF_RANGE (1, size);
+ else
+ SCM_WRONG_TYPE_ARG (1, size);
+}
+#undef FUNC_NAME
+
+
SCM_DEFINE (scm_make_weak_vector, "make-weak-vector", 1, 1, 0,
(SCM size, SCM fill),
"Return a weak vector with @var{size} elements. If the optional\n"
@@ -63,16 +117,7 @@
"empty list.")
#define FUNC_NAME s_scm_make_weak_vector
{
- /* Dirk:FIXME:: We should probably rather use a double cell for weak
vectors. */
- SCM v;
- v = scm_make_vector (scm_sum (size, SCM_MAKINUM (2)), fill);
- SCM_DEFER_INTS;
- SCM_SET_VECTOR_LENGTH (v, SCM_INUM (size), scm_tc7_wvect);
- SCM_SETVELTS(v, SCM_VELTS(v) + 2);
- SCM_VELTS(v)[-2] = SCM_EOL;
- SCM_VECTOR_BASE (v) [-1] = 0;
- SCM_ALLOW_INTS;
- return v;
+ return allocate_weak_vector (0, size, fill, FUNC_NAME);
}
#undef FUNC_NAME
@@ -116,16 +161,12 @@
"weak hashes are also weak vectors.")
#define FUNC_NAME s_scm_weak_vector_p
{
- return SCM_BOOL(SCM_WVECTP (obj) && !SCM_IS_WHVEC (obj));
+ return SCM_BOOL (SCM_WVECTP (obj) && !SCM_IS_WHVEC (obj));
}
#undef FUNC_NAME
-
-
-
-
SCM_DEFINE (scm_make_weak_key_hash_table, "make-weak-key-hash-table", 1, 0, 0,
(SCM size),
"@deffnx primitive make-weak-value-hash-table size\n"
@@ -138,13 +179,7 @@
"would modify regular hash tables. (@pxref{Hash Tables})")
#define FUNC_NAME s_scm_make_weak_key_hash_table
{
- SCM v;
- SCM_VALIDATE_INUM (1, size);
- v = scm_make_weak_vector (size, SCM_EOL);
- SCM_DEFER_INTS;
- SCM_VECTOR_BASE (v) [-1] = 1;
- SCM_ALLOW_INTS;
- return v;
+ return allocate_weak_vector (1, size, SCM_EOL, FUNC_NAME);
}
#undef FUNC_NAME
@@ -155,34 +190,22 @@
"(@pxref{Hash Tables})")
#define FUNC_NAME s_scm_make_weak_value_hash_table
{
- SCM v;
- SCM_VALIDATE_INUM (1, size);
- v = scm_make_weak_vector (size, SCM_EOL);
- SCM_DEFER_INTS;
- SCM_VECTOR_BASE (v) [-1] = 2;
- SCM_ALLOW_INTS;
- return v;
+ return allocate_weak_vector (2, size, SCM_EOL, FUNC_NAME);
}
#undef FUNC_NAME
-
SCM_DEFINE (scm_make_doubly_weak_hash_table, "make-doubly-weak-hash-table", 1,
0, 0,
(SCM size),
"Return a hash table with weak keys and values with @var{size}\n"
"buckets. (@pxref{Hash Tables})")
#define FUNC_NAME s_scm_make_doubly_weak_hash_table
{
- SCM v;
- SCM_VALIDATE_INUM (1, size);
- v = scm_make_weak_vector (size, SCM_EOL);
- SCM_DEFER_INTS;
- SCM_VECTOR_BASE (v) [-1] = 3;
- SCM_ALLOW_INTS;
- return v;
+ return allocate_weak_vector (3, size, SCM_EOL, FUNC_NAME);
}
#undef FUNC_NAME
+
SCM_DEFINE (scm_weak_key_hash_table_p, "weak-key-hash-table?", 1, 0, 0,
(SCM obj),
"@deffnx primitive weak-value-hash-table? obj\n"
@@ -192,7 +215,7 @@
"nor a weak value hash table.")
#define FUNC_NAME s_scm_weak_key_hash_table_p
{
- return SCM_BOOL(SCM_WVECTP (obj) && SCM_IS_WHVEC(obj));
+ return SCM_BOOL (SCM_WVECTP (obj) && SCM_IS_WHVEC (obj));
}
#undef FUNC_NAME
@@ -202,7 +225,7 @@
"Return @code{#t} if @var{obj} is a weak value hash table.")
#define FUNC_NAME s_scm_weak_value_hash_table_p
{
- return SCM_BOOL(SCM_WVECTP (obj) && SCM_IS_WHVEC_V(obj));
+ return SCM_BOOL (SCM_WVECTP (obj) && SCM_IS_WHVEC_V (obj));
}
#undef FUNC_NAME
@@ -212,10 +235,11 @@
"Return @code{#t} if @var{obj} is a doubly weak hash table.")
#define FUNC_NAME s_scm_doubly_weak_hash_table_p
{
- return SCM_BOOL(SCM_WVECTP (obj) && SCM_IS_WHVEC_B (obj));
+ return SCM_BOOL (SCM_WVECTP (obj) && SCM_IS_WHVEC_B (obj));
}
#undef FUNC_NAME
+
static void *
scm_weak_vector_gc_init (void *dummy1 SCM_UNUSED,
void *dummy2 SCM_UNUSED,
@@ -226,6 +250,7 @@
return 0;
}
+
static void *
scm_mark_weak_vector_spines (void *dummy1 SCM_UNUSED,
void *dummy2 SCM_UNUSED,
@@ -265,6 +290,7 @@
return 0;
}
+
static void *
scm_scan_weak_vectors (void *dummy1 SCM_UNUSED,
void *dummy2 SCM_UNUSED,
@@ -325,10 +351,8 @@
return 0;
}
-
-
void
scm_weaks_prehistory ()
{
@@ -336,6 +360,7 @@
scm_c_hook_add (&scm_before_sweep_c_hook, scm_mark_weak_vector_spines, 0, 0);
scm_c_hook_add (&scm_after_sweep_c_hook, scm_scan_weak_vectors, 0, 0);
}
+
void
scm_init_weaks ()
Index: guile/guile-core/libguile/weaks.h
diff -u guile/guile-core/libguile/weaks.h:1.15
guile/guile-core/libguile/weaks.h:1.16
--- guile/guile-core/libguile/weaks.h:1.15 Fri Apr 21 16:14:19 2000
+++ guile/guile-core/libguile/weaks.h Sat Jun 30 12:50:10 2001
@@ -1,8 +1,8 @@
/* classes: h_files */
-#ifndef WEAKSH
-#define WEAKSH
-/* Copyright (C) 1995,1996, 2000 Free Software Foundation, Inc.
+#ifndef SCM_WEAKS_H
+#define SCM_WEAKS_H
+/* Copyright (C) 1995,1996,2000,2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -51,14 +51,16 @@
+#define SCM_WVECTP(x) (!SCM_IMP (x) && SCM_TYP7 (x) == scm_tc7_wvect)
+#define SCM_WVECT_TYPE(x) (SCM_CELL_WORD_2 (x))
+#define SCM_SET_WVECT_TYPE(x, t) (SCM_SET_CELL_WORD_2 ((x), (t)))
+#define SCM_IS_WHVEC(X) (SCM_WVECT_TYPE (X) == 1)
+#define SCM_IS_WHVEC_V(X) (SCM_WVECT_TYPE (X) == 2)
+#define SCM_IS_WHVEC_B(X) (SCM_WVECT_TYPE (X) == 3)
+#define SCM_IS_WHVEC_ANY(X) (SCM_WVECT_TYPE (X) != 0)
+#define SCM_WVECT_GC_CHAIN(X) (SCM_CELL_OBJECT_3 (X))
+#define SCM_SET_WVECT_GC_CHAIN(X, o) (SCM_SET_CELL_OBJECT_3 ((X), (o)))
-#define SCM_WVECTP(x) (SCM_NIMP(x) && (SCM_TYP7(x)==scm_tc7_wvect))
-#define SCM_IS_WHVEC(X) (SCM_UNPACK (SCM_VELTS(X)[-1]) == 1)
-#define SCM_IS_WHVEC_V(X) (SCM_UNPACK (SCM_VELTS(X)[-1]) == 2)
-#define SCM_IS_WHVEC_B(X) (SCM_UNPACK (SCM_VELTS(X)[-1]) == 3)
-#define SCM_IS_WHVEC_ANY(X) (SCM_UNPACK (SCM_VELTS(X)[-1]) != 0)
-#define SCM_WVECT_GC_CHAIN(X) (SCM_VELTS(X)[-2])
-
extern SCM scm_weak_vectors;
@@ -75,7 +77,7 @@
extern void scm_weaks_prehistory (void);
extern void scm_init_weaks (void);
-#endif /* WEAKSH */
+#endif /* SCM_WEAKS_H */
/*
Local Variables:
- guile/guile-core guile-readline/readline.c libg...,
Thien-Thi Nguyen <=