# HG changeset patch # User james # Date 1065563546 0 # Node ID 5903b079bee13e4e2fdf8c74a78014d6818e6b0b # Parent 2efe1d771c94860d2e0d2ae222380459eff10e9b [xemacs-hg @ 2003-10-07 21:52:12 by james] Use module-extensions instead of an explicit list of module extensions. diff -r 2efe1d771c94 -r 5903b079bee1 lisp/ChangeLog --- a/lisp/ChangeLog Thu Oct 02 01:18:37 2003 +0000 +++ b/lisp/ChangeLog Tue Oct 07 21:52:26 2003 +0000 @@ -1,3 +1,11 @@ +2003-10-07 Jerry James + + * autoload.el (generate-c-file-autoloads-1): Use module-extensions + instead of listing the extensions. Use locate-file instead of + explicitly trying each extension. + * code-files.el (load): Use module-extensions instead of an + explicit list of extensions. + 2003-10-02 Steve Youngs * about.el (xemacs-hackers): Remove me. diff -r 2efe1d771c94 -r 5903b079bee1 lisp/autoload.el --- a/lisp/autoload.el Thu Oct 02 01:18:37 2003 +0000 +++ b/lisp/autoload.el Tue Oct 07 21:52:26 2003 +0000 @@ -461,11 +461,9 @@ marked by `generate-c-autoload-cookie' (which see). If FILE is being visited in a buffer, the contents of the buffer are used." - (let ((exists-p-format - "(file-exists-p (expand-file-name \"%s.%s\" module-directory))") - (autoloads-done '()) - ) - + (let ((exists-p-format + "(when (locate-file \"%s\" module-load-path module-extensions)\n") + autoloads-done) (save-excursion (save-restriction (widen) @@ -479,14 +477,7 @@ (if funlist (progn (message "Generating autoloads for %s..." trim-name) - (princ "(when (or\n " outbuf) - (princ (format exists-p-format load-name "ell") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "dll") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "so") outbuf) - ;; close the princ'd `or' form - (princ ")\n " outbuf) + (princ (format exists-p-format load-name) outbuf) (dolist (arg funlist) (goto-char (point-min)) (re-search-forward @@ -508,14 +499,7 @@ (return-from generate-c-file-autoloads-1 nil)) (message "Generating autoloads for %s..." trim-name) - (princ "(when (or\n " outbuf) - (princ (format exists-p-format load-name "ell") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "dll") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "so") outbuf) - ;; close the princ'd `or' form - (princ ")\n " outbuf) + (princ (format exists-p-format load-name) outbuf) (while match (forward-line 1) (let ((autoload (make-c-autoload load-name))) diff -r 2efe1d771c94 -r 5903b079bee1 lisp/code-files.el --- a/lisp/code-files.el Thu Oct 02 01:18:37 2003 +0000 +++ b/lisp/code-files.el Tue Oct 07 21:52:26 2003 +0000 @@ -223,15 +223,15 @@ "Execute a file of Lisp code named FILE, or load a binary module. First tries to find a Lisp FILE with .elc appended, then with .el, then with FILE unmodified. If unsuccessful, tries to find a binary module FILE with - .ell appended, then with .dll, then with .so, and finally unmodified. -Searches directories in load-path for Lisp files, and in module-load-path + the elements of `module-extensions' appended, one at a time. +Searches directories in load-path for Lisp files, and in `module-load-path' for binary modules. If optional second arg NOERROR is non-nil, report no error if FILE doesn't exist. Print messages at start and end of loading unless optional third arg NOMESSAGE is non-nil. -If optional fourth arg NOSUFFIX is non-nil, don't try adding - suffixes .elc, .el, or .ell to the specified name FILE. +If optional fourth arg NOSUFFIX is non-nil, don't try adding suffixes + .elc, .el, or elements of `module-extensions' to the specified name FILE. Return t if file exists." (declare (special load-modules-quietly)) (let* ((filename (substitute-in-file-name file)) @@ -275,8 +275,7 @@ ;; The file name is invalid, or we want to load a binary module (if (and (> (length filename) 0) (locate-file filename module-load-path - (and (not nosuffix) - '(".ell" ".dll" ".so" "")))) + (and (not nosuffix) module-extensions))) (if (featurep 'modules) (let ((load-modules-quietly nomessage)) (declare-fboundp (load-module filename))) diff -r 2efe1d771c94 -r 5903b079bee1 src/ChangeLog --- a/src/ChangeLog Thu Oct 02 01:18:37 2003 +0000 +++ b/src/ChangeLog Tue Oct 07 21:52:26 2003 +0000 @@ -1,3 +1,8 @@ +2003-10-07 Jerry James + + * emodules.c (vars_of_module): Make Vmodule_extensions visible to + Lisp. Move assignments next to the corresponding declarations. + 2003-09-30 Jerry James * Makefile.in.in (distclean): xemacs.def.in.in should not be diff -r 2efe1d771c94 -r 5903b079bee1 src/emodules.c --- a/src/emodules.c Thu Oct 02 01:18:37 2003 +0000 +++ b/src/emodules.c Tue Oct 07 21:52:26 2003 +0000 @@ -601,6 +601,7 @@ messages. This would normally only be done if `load-module' was being called by a Lisp function. */); + load_modules_quietly = 0; DEFVAR_LISP ("module-load-path", &Vmodule_load_path /* *List of directories to search for dynamic modules to load. @@ -622,21 +623,23 @@ the correctness of a dynamic module, which can have unpredictable results when a dynamic module is loaded. */); + Vmodule_load_path = Qnil; DEFVAR_BOOL ("unloading-module", &unloading_module /* Used internally by `unload-feature'. Do not set this variable. Danger, danger, Will Robinson! */); + unloading_module = 0; - /* #### Export this to Lisp */ - Vmodule_extensions = list4 (build_string (".ell"), + DEFVAR_LISP ("module-extensions", &Vmodule_extensions /* +*List of filename extensions to use when searching for dynamic modules. +*/); + Vmodule_extensions = list5 (build_string (".ell"), build_string (".so"), build_string (".dll"), - build_string (".dylib")); - staticpro (&Vmodule_extensions); + build_string (".dylib"), + build_string ("")); - load_modules_quietly = 0; - Vmodule_load_path = Qnil; Fprovide (intern ("modules")); }