From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Hongyi Zhao Newsgroups: gmane.emacs.help Subject: Re: Package cl is deprecated Date: Wed, 28 Jul 2021 22:15:37 +0800 Message-ID: References: <01eaf257-1142-c407-c9c0-0d6a2e3148b1@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12523"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Jean-Christophe Helary , help-gnu-emacs To: Thibaut Verron Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 28 16:21:01 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m8kQe-00031j-Oq for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 16:21:00 +0200 Original-Received: from localhost ([::1]:49002 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m8kQd-0007BO-OL for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 10:20:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57430) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8kLh-0005dn-Pt for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:15:53 -0400 Original-Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]:36741) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m8kLf-000834-FB for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:15:53 -0400 Original-Received: by mail-lf1-x133.google.com with SMTP id bp1so4302186lfb.3 for ; Wed, 28 Jul 2021 07:15:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gxvKJ2datFnQb5R9VAsW63n/hfyGdy598sX91wAhaHQ=; b=FsVy3ivuuSh7Ygqy4fDM6gMVHrdN0lYKap/1PL/lkHiFH8BQmB/wuVHCOoMQNuzKc9 F0w+xpaRp1ZzhW+elFuPXJ5S1dtWYh8x25wUQ5fHNFENAGIRDh+YNfmLe5KIaIOITm0h H/CDwOUpNhSVfiEswQ5ddgmX4+jrq1yDepssF2TqEgTcd8nayqQbdRHuwJBQFPG4/RuB qg58RTsCB8tevynmJzCXqjtsZn/REN9c/5IVg6ptz4QTPKxiVIqilIiLyCPvLvXkRmrt 9xcgYamaGEgrdpEWM51mZmZc6vd0Ke2O5x+r+j8MLqSQifFlHkzJNby77GfOJgblcPUv D2Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=gxvKJ2datFnQb5R9VAsW63n/hfyGdy598sX91wAhaHQ=; b=Pd0D/GejoMCzfjP5HuDU7WwWrjRpmel1zI1gWcoyJHJ2MBsTzWQz08xLxdJyW+u6fx loqi0vFa6R3DJwHgtasAbvwghd2TXabugbMgfr7mforzpodNilPTNHwcv48Pu7Lgexmi TkPSu6s3S46ZCtXE+vNAPfEqHyjgNa+2O6vjNocbI647zmhSbDo2egH9yyIaqAsB+1hV Y5f6YObLVKJbFJspGkHFSeSLz7B5Kg6LkbsuQ5YogXu+cz027InJ2uujpRZ+DsVMG3fs K5/VA/TLuuZKAWSLfZmhNxyTM/mxCwCiBRRaSLJbgMnGz4EbWwHRjRCByWbstYfa/qRX a3Cg== X-Gm-Message-State: AOAM530cJpOAtAmE9wIfcSJHdan9doh8yNJVrGgGg9pscdr07z7sGwEq BTgV+pJoE2G+IGhbP+fFcndH7kWFUUC30wU+bjM= X-Google-Smtp-Source: ABdhPJy6gw1AeKcWy7f1PL76V+caVB3N9KGHo6GWpOGeH4/tAec5DOdrq57CkRIaD/csa3K+T5qdpEDq8KIrl4MuTXg= X-Received: by 2002:a19:fc13:: with SMTP id a19mr21350714lfi.466.1627481749796; Wed, 28 Jul 2021 07:15:49 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=hongyi.zhao@gmail.com; helo=mail-lf1-x133.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:132151 Archived-At: On Wed, Jul 28, 2021 at 10:04 PM Thibaut Verron wrote: > > On 28/07/2021 15:36, Hongyi Zhao wrote: > > On Wed, Jul 28, 2021 at 9:33 PM Hongyi Zhao wrote: > >> On Wed, Jul 28, 2021 at 9:23 PM Thibaut Verron wrote: > >>> > >>> On 28/07/2021 15:03, Hongyi Zhao wrote: > >>>> On Wed, Jul 28, 2021 at 6:04 PM Jean-Christophe Helary > >>>> wrote: > >>>>> > >>>>>> On Jul 28, 2021, at 18:54, Thibaut Verron wrote: > >>>>>> > >>>>>> On 28/07/2021 11:46, Hongyi Zhao wrote: > >>>>>>> On Wed, Jul 28, 2021 at 5:33 PM Thibaut Verron 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- instead of . > >>>>>>> $ 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 > > Sorry, egrep should be used: > > > > $ find .emacs.d/ -type f -name "*.el" -exec egrep -q "^[ ]*\([ > > ]*require[ ]+'cl[ ]*\)" {} \; -print | egrep -v '[/]tests?[/]' > > .emacs.d/straight/repos/dash.el/dash.el > > .emacs.d/straight/repos/dash.el/dev/examples.el > > .emacs.d/straight/repos/stardiviner-sdcv.el/sdcv.el > > .emacs.d/straight/repos/showtip/showtip.el > > .emacs.d/straight/repos/unicode-escape.el/unicode-escape.el > > .emacs.d/straight/repos/use-package/use-package-tests.el > > .emacs.d/straight/repos/macrostep/lib/cl-lib.el > > .emacs.d/straight/repos/macrostep/lib/ert.el > > .emacs.d/straight/repos/emacs-websocket/websocket-functional-test.el > > .emacs.d/straight/repos/s.el/dev/ert.el > > The point of the regexp was to exclude files which have something > (including indentation) before the form, if you allow [ ]* you lose > that. That's the case in dash.el for example. > > In any case, the number of candidates is now small enough that you can > examine them. The dev/ and lib/ folders can probably be safely ignored to. If so, nothing seems responsible for the problem: $ find .emacs.d/ -type f -name "*.el" -exec egrep -q "^\(require 'cl\)" {} \; -print |egrep -v '[/]tests?[/]' .emacs.d/straight/repos/use-package/use-package-tests.el .emacs.d/straight/repos/macrostep/lib/cl-lib.el .emacs.d/straight/repos/emacs-websocket/websocket-functional-test.el Hongyi -- Assoc. Prof. Hongyi Zhao Theory and Simulation of Materials Hebei Vocational University of Technology and Engineering No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province