help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Package cl is deprecated


From: Hongyi Zhao
Subject: Re: Package cl is deprecated
Date: Wed, 28 Jul 2021 21:33:06 +0800

On Wed, Jul 28, 2021 at 9:23 PM Thibaut Verron <thibaut.verron@gmail.com> wrote:
>
>
> On 28/07/2021 15:03, Hongyi Zhao wrote:
> > On Wed, Jul 28, 2021 at 6:04 PM Jean-Christophe Helary
> > <lists@traduction-libre.org> wrote:
> >>
> >>
> >>> On Jul 28, 2021, at 18:54, Thibaut Verron <thibaut.verron@gmail.com> 
> >>> wrote:
> >>>
> >>> On 28/07/2021 11:46, Hongyi Zhao wrote:
> >>>> On Wed, Jul 28, 2021 at 5:33 PM Thibaut Verron 
> >>>> <thibaut.verron@gmail.com> wrote:
> >>>>> On 28/07/2021 11:23, Hongyi Zhao wrote:
> >>>>>> When I start Emacs, I always notice the following message in 
> >>>>>> *Messages* buffer:
> >>>>>>
> >>>>>> Package cl is deprecated
> >>>>>>
> >>>>>> Any hints for eliminating it?
> >>>>> If you have (require 'cl) somewhere in your init file, replace it with
> >>>>> (require 'cl-lib). You might need to change some macro calls to use
> >>>>> cl-<name> instead of <name>.
> >>>> $ egrep 'require[ ]*'\''cl' .emacs.d/init.el
> >>>> (require 'cl-lib)
> >>> Then it's from a package and you need to identify it.
> >>>
> >>> You can try (untested):
> >>>
> >>> find .emacs.d/ -name "*.el" -exec grep "(require 'cl)" {} \;
> >> find .emacs.d/ -name "*.el" -exec grep "(require 'cl)" {} \; -print
> > There are so many matches:
> >
> > $ find .emacs.d/ -name "*.el" -exec grep -q "(require 'cl)" {} \;
> > -print 2>/dev/null | sort -u | wc -l
> > 40
> >
> > So this method is basically useless for finding the problem.
>
> I just tried it, indeed quite a few packages contain some form of
> (require 'cl) as a backward-compatibility tool (52 matches in my case).
> Most of those are test files which are never loaded in a normal emacs
> session.
>
> To narrow the search, you can use egrep -q "^\(require 'cl\)" instead.
> In my .emacs, the matches go from 52 to 15. Interestingly enough,
> exactly one of them is loaded at init time (key-combo.el), without any
> warning.

Strange, I found nothing with this enhanced pattern:

$ find .emacs.d/ -type f -name "*.el" -exec grep -q "^[ ]*\([
]*require[ ]+'cl[ ]*\)" {} \; -print | wc -l
0


> [Btw I don't think that sort -u is useful in your command line, find
> should not return the same file twice. You might also want to add -type
> f to the find call, to avoid errors with packages with .el in the name
> (such as ansi.el or prescient.el).]
>
> Good luck,
>
> Thibaut
>
>


-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province



reply via email to

[Prev in Thread] Current Thread [Next in Thread]