Package cl is deprecated

Package cl is deprecated

I’ve been ignoring this startup message for maybe a year now (since the release of Emacs 27). After recently updating all my packages (and completely breaking my emacs setup) I decided to go through all the startup messages and start fixing things.

The Fix

Searching around the fix is straight forward. Instead of requiring cl the correct name is now cl-lib.

(require 'cl-lib)

I knew of one place where I had used cl (I used the return-from function to do an early exit from a while loop), but after making the change, I was still getting the startup message. Unfortunately that meant the startup message was coming from one of the many packages I had installed, how would I ever find it?

Finding cl requirements

Luckily, we have the emacs stackexchange, with this handy snippet:

(require 'loadhist)
(file-dependents (feature-file 'cl))

Showing the one place with a cl requirement:


Unfortunately this is in one of the packages I’ve been hand carrying around for over 10 years (longer than my dotfiles repo has existed). It’s finally time to update the implementation of my preferred color theme, but that is a post for another day.