At this place, We can find a real file with suffixed filename (`fn') that needs to be handled in a special way (e.g. a compressed one: "/a.elc.gz") while `filename' holds the requested filename without the suffix ("/a"). In this case, the file shouldn't be opened and the function (openp()) should not return the fd. It should return -2, and the calling function (load()) should call the corresponding handler in order to load it. It used to check whether there is a special handler by passing `filename'. Such a test used not to give the expected result, since the handler is applicable to the real (suffixed) found filename `fn'. Loading libraries stored as compressed .elc-files used to be broken because of this: the corresponding load-handler (`jka-compr-load') used not be called, and the docstrings for the loaded functions got corrupted when displayed. Ivan Zakharyaschev --- emacs-21.3/src/lread.c.handleLoad 2003-03-30 13:22:31 +0400 +++ emacs-21.3/src/lread.c 2003-03-30 13:24:02 +0400 @@ -1012,7 +1012,7 @@ if (absolute) handler = Qnil; else - handler = Ffind_file_name_handler (filename, Qfile_exists_p); + handler = Ffind_file_name_handler (build_string (fn), Qfile_exists_p); if (! NILP (handler) && ! exec_only) { int exists;