Ignore:
Timestamp:
10/08/12 18:06:57 (9 years ago)
Author:
Mark Evenson
Message:

Fix the broken require contracts in ABCL-CONTRIB.

CL:REQUIRE now calls PROVIDE with module names when successful (as
opposed to relying in the loaded code to do this explicity).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/require.lisp

    r13303 r14170  
    3939(defun module-provide-system (module)
    4040  (let ((*readtable* (copy-readtable nil)))
    41     (handler-case
    42         (load-system-file (string-downcase (string module)))
     41    (handler-case
     42        (progn
     43          (load-system-file (string-downcase (string module)))
     44          (provide module))
    4345      (t (e)
    4446        (unless (and (typep e 'error)
     
    5860             (unless (listp pathnames) (setf pathnames (list pathnames)))
    5961             (dolist (x pathnames)
    60                (load x)))
     62               (load x))
     63             (provide module-name))
    6164            (t
    62              (unless (some (lambda (p) (funcall p module-name))
     65             (if (some (lambda (p) (funcall p module-name))
    6366                           (append (list #'module-provide-system)
    6467                                 sys::*module-provider-functions*))
    65                (error "Don't know how to ~S ~A." 'require module-name))))
     68                 (provide module-name) ;; Shouldn't hurt
     69                 (error "Don't know how to ~S ~A." 'require module-name))))
    6670      (set-difference *modules* saved-modules))))
    6771
Note: See TracChangeset for help on using the changeset viewer.