case sensitivity of provide, require and module-provide-asdf
Daniel Jour <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <CACZHyTMfdQDBfDB+O2HOE69EUZ6sYdY4j0gVKFKR9Vkr=GfCJA@mail.gmail.com> |
While updating the asdf module to 3.1.7, I found that our provide and require functions are actually case sensitive. Given the ignorance of case prevalent in Common Lisp, I was surprised that the HyperSpec doesn't contain any notes about case sensitivity for provide and require, thus I'd assume that we're conforming to ANSI here, right? All of this originated from the surprise when running CLISP with the new asdf, because asdf now provides both "ASDF" and "asdf" (as well as "UIOP" and "uiop"). Excerpt from asdf.lisp: ;; Provide both lowercase and uppercase, to satisfy more people, especially LispWorks users. (provide "asdf") (provide "ASDF") Consequently, *modules* now also contains both the lowercase and the uppercase names. So far so good, where it really gets surprising is in the registered module provider function asdf/operate::module-provide-asdf, because that function (part of asdf.lisp) just downcases the module name right away. Thus, (require "foo"), (require "foO") and (require "FOO") will each try to load (via asdf) the module "foo". *modules* will only contain what the module actually provides, though. This feels very inconsistent to me. Some approaches: * Leave as it is. * Make provide and require case insensitive. * Let asdf only provide either of "ASDF" or "asdf". Though this is more of a cosmetic fix. * Ask asdf about it. What are your thoughts on this? ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ clisp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clisp-devel