Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

2 changed files:

Changes:

  • src/code/module.lisp
    ... ... @@ -37,8 +37,13 @@
    37 37
     (defvar *require-verbose* t
    
    38 38
       "*load-verbose* is bound to this before loading files.")
    
    39 39
     
    
    40
    +(defvar *cmucl-provider-functions*
    
    41
    +  '(module-provide-cmucl-defmodule module-provide-cmucl-library)
    
    42
    +  "Provider functions for cmucl modules and libraries.  These are
    
    43
    +  searched first before trying *module-provider-functions*")
    
    44
    +
    
    40 45
     (defvar *module-provider-functions*
    
    41
    -    '(module-provide-cmucl-defmodule module-provide-cmucl-library)
    
    46
    +  nil
    
    42 47
       "See function documentation for REQUIRE")
    
    43 48
     
    
    44 49
     ;;;; Defmodule.
    
    ... ... @@ -102,11 +107,6 @@
    102 107
       \"contrib-games-feebs\", \"contrib-hist\", \"contrib-psgraph\",
    
    103 108
       \"contrib-ops\", \"contrib-embedded-c\", \"contrib-sprof\", and
    
    104 109
       \"contrib-packed-sse2\". "
    
    105
    -  ;; First, load asdf if it's not already loaded.  This is needed to
    
    106
    -  ;; load easily the contribs that use asdf.  There are no contribs
    
    107
    -  ;; that use defsystem, so we won't autoload defsystem.
    
    108
    -  (unless (featurep :asdf)
    
    109
    -    (load "modules:asdf/asdf"))
    
    110 110
       (let ((saved-modules (copy-list *modules*))
    
    111 111
             (module-name (module-name-string module-name)))
    
    112 112
         (unless (member module-name *modules* :test #'string=)
    
    ... ... @@ -114,9 +114,20 @@
    114 114
             (if pathname
    
    115 115
                 (dolist (file (if (consp pathname) pathname (list pathname)) t)
    
    116 116
     	      (load file))
    
    117
    -            (unless (some (lambda (p) (funcall p module-name))
    
    118
    -                          *module-provider-functions*)
    
    119
    -              (error (intl:gettext "Don't know how to load ~A") module-name)))))
    
    117
    +	    ;; Search *cmucl-provider-functions* first so that we'll
    
    118
    +	    ;; load our version of clx (and friends) before loading
    
    119
    +	    ;; any asdf version, if asdf is loaded.
    
    120
    +	    (or (some (lambda (p) (funcall p module-name))
    
    121
    +                      *cmucl-provider-functions*)
    
    122
    +		(progn
    
    123
    +		  ;; Load asdf if it's not already loaded.  This is needed to
    
    124
    +		  ;; load easily the contribs that use asdf.  There are no contribs
    
    125
    +		  ;; that use defsystem, so we won't autoload defsystem.
    
    126
    +		  (unless (featurep :asdf)
    
    127
    +		    (load "modules:asdf/asdf"))
    
    128
    +		  (some (lambda (p) (funcall p module-name))
    
    129
    +			*module-provider-functions*))
    
    130
    +		(error (intl:gettext "Don't know how to load ~A") module-name)))))
    
    120 131
         (set-difference *modules* saved-modules)))
    
    121 132
     
    
    122 133
     ;;;; Default module providers
    

  • src/i18n/locale/cmucl.pot
    ... ... @@ -10397,6 +10397,12 @@ msgstr ""
    10397 10397
     msgid "*load-verbose* is bound to this before loading files."
    
    10398 10398
     msgstr ""
    
    10399 10399
     
    
    10400
    +#: src/code/module.lisp
    
    10401
    +msgid ""
    
    10402
    +"Provider functions for cmucl modules and libraries.  These are\n"
    
    10403
    +"  searched first before trying *module-provider-functions*"
    
    10404
    +msgstr ""
    
    10405
    +
    
    10400 10406
     #: src/code/module.lisp
    
    10401 10407
     msgid "See function documentation for REQUIRE"
    
    10402 10408
     msgstr ""