This article is outdated. The elisp manual now clearly states new coding conventions:
If you need Common Lisp extensions, use the cl-lib library rather than the old cl library. The latter does not use a clean namespace (i.e., its definitions do not start with a ‘cl-’ prefix). If your package loads cl at run time, that could cause name clashes for users who don't use that package. There is no problem with using the cl package at compile time, with (eval-when-compile (require 'cl)). That's sufficient for using the macros in the cl package, because the compiler expands them before generating the byte-code. It is still better to use the more modern cl-lib in this case, though.
so please require cl-lib, not cl !!!
– memeplex 2014-08-01 01:40 UTC
Why not update the article then instead of just writing a warning in it?
– NicFerrier 2014-08-01 23:00 UTC