Guile Mailing List Archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] problems with ice-9/slib.scm

I believe there is a problem in the handling of guile's builtin
features, at least relative to slib version 2c3 and guile 1.3
(snapshot 19981110).

ice-9/slib.scm defines a list of features which is already
supported and thus should not be loaded from the slib. The list is
stored into the variable `slib:features', but with slib version 2c3,
`require' consults the value of the variable `*features*', thus
leading to unnecessary loading of slib code.

A test case could be:

	(set! %load-verbosely #t)
	(use-modules (ice-9 slib))
	(require 'format)

which gives the output

	guile> (set! %load-verbosely #t)
	guile> (use-modules (ice-9 slib))
	;;; loading /nmc/mbase/share/guile/1.3a/ice-9/slib.scm
	;;; loading /nmc/mbase/share/guile/site/slib/require.scm
	guile> (require 'format)
	;;; loading /nmc/mbase/share/guile/site/slib/format
	;;; loading /nmc/mbase/share/guile/site/slib/format.scm
	;;; loading /nmc/mbase/share/guile/site/slib/strcase
	;;; loading /nmc/mbase/share/guile/site/slib/strcase.scm
	;;; loading /nmc/mbase/share/guile/site/slib/strport
	;;; loading /nmc/mbase/share/guile/site/slib/strport.scm
	;;; loading /nmc/mbase/share/guile/site/slib/sc4opt
	;;; loading /nmc/mbase/share/guile/site/slib/sc4opt.scm

demonstrating that `strport.scm' (call-with-output-string) is loaded,
when it shouldn't have been.

The following patch is one way to fix the problem:

Index: slib.scm
RCS file: /nmc/Repository/tools/guile/guile-core/ice-9/slib.scm,v
retrieving revision
diff -u -r1.1.1.3 slib.scm
--- slib.scm	1998/10/20 03:18:39
+++ slib.scm	1998/11/12 14:26:48
@@ -127,8 +127,10 @@
+;;at least with 2c3, the features variable is called `*features*'
+(define *features* slib:features)
-;;; FIXME: Because uers want require to search the path, this uses
+;;; FIXME: Because users want require to search the path, this uses
 ;;; load-from-path, which probably isn't a hot idea.  slib
 ;;; doesn't expect this function to search a path, so I expect to get
 ;;; bug reports at some point complaining that the wrong file gets

Christian Lynbech          | Telebit Communications A/S                       
Fax:   +45 8628 8186       | Fabrik 11, DK-8260 Viby J
Phone: +45 8628 8177 + 28  | email: --- URL:
Hit the philistines three times over the head with the Elisp reference manual.
                                        - (Michael A. Petonic)

Guile Home | Main Index | Thread Index