> >> For that, you can just use `M-x load-library' to load > >> `cl-macs.el' and `M-x load-file to load `sortie.el' > >> and then `keysee.el'. > > You should never need to load/require explicitly `cl-macs`. > Instead you should load/require `cl-lib` (which will then load cl-macs > and other parts of cl-lib as/when needed). > If you need to manually load `cl-macs` there's probably a bug somewhere. `cl-macs' is autoloaded by `cl-lib'/`cl-loaddefs'. So you don't need to load it explicitly if you instead load `cl-lib'. Of course. But there's no need to load `cl-lib' or `cl', if all you want is a macro from `cl-macs'. Keysee uses just 2 macros, nothing else from `cl*', and both are in `cl-macs'. Occam says "Just pull in what you really need." (Same thing applies to a function definition, but macros are often needed only when compiling, in which case requiring them only at compile time doesn't add libraries to your session.) It's not about _needing_ to load `cl-macs'. It's about needing _only_ `cl-macs', and _not_ all of `cl-lib'. (And for older Emacs, not all of `cl'.) If you just need a macro then you just need to load the file that defines it (unless the macro definition needs some other file, of course). Or to use your language, "You should never need to load/require explicitly" cl-lib if all you need is available from just cl-macs. No? Why should using `keysee' require you to also add `cl-lib' to your session? That's overreach. I'd sooner code without using something as simple as `cl-case' than oblige someone to load `cl-lib' just because I've used `cl-case'. [And yes, things like `case' should just be part of Emacs (just as `push' is). And yes, `pcase' is overkill for the simple variable-value case.] [Plus, things have changed in `cl*' world over the years. What's there, and where, for older Emacs can differ from what's there, and where, for more recent releases. Libraries that are usable with multiple releases don't necessarily follow a "do this" injunction that makes sense only for some later releases.]