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:30:47 +0800 Message-ID: References: <01eaf257-1142-c407-c9c0-0d6a2e3148b1@gmail.com> <62ae7a85-4986-4309-4f9f-cdec0f9c5329@gmail.com> <3d2ecf7e-10e6-d69e-7987-2cdac7e41da2@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="27600"; 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:31:29 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 1m8kan-0006xz-17 for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 16:31:29 +0200 Original-Received: from localhost ([::1]:59026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m8kam-00063W-13 for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 10:31:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8kaN-00063K-7G for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:31:03 -0400 Original-Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]:36485) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m8kaL-0001Zw-C4 for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:31:02 -0400 Original-Received: by mail-lf1-x135.google.com with SMTP id bp1so4398445lfb.3 for ; Wed, 28 Jul 2021 07:31:01 -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=wsM8b0+t5VUIm92CwgJgpJFcnhhBJmowaaXrTqraeCo=; b=mM1uQ3ZrFstFrtwDb7uCUtP3uPnpZrRz6wlScaNFHQndwlnzN0FYYcfoASbq3r0V9j +n1kZL2qQTczcSj2XnoDUKAL6oYHFsURLO77hLNr1xdXVksjSTv9eKD16cRqe3Hi2AfF qplb6nI/fZ4zzNKyQYePZYXOYbhWvLy3DJAtmZ/fbjTc7RcdpyJgkyBxUkLUioIMwYDQ YIgHcMOOa5gZ3Ab4J7F6HhppHHaA4QEUzjsbk7m8tbEqrYfa55LoowD7fnQ4gXkXqG5g A+Z9jmx5/btkQrovDJ00txYwW0q5WsiKoTezaJ0GAKiYgyB8Q+F4BfvFJyUnk4StBNq0 OxwA== 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=wsM8b0+t5VUIm92CwgJgpJFcnhhBJmowaaXrTqraeCo=; b=YjFE8nV43SCIXYexu6x8n/3jXo+gdzWBuQKb4J+Jtya9+PiVl3liVM1x6n0g2YetoC EP6g4IDDsq0ZkjI68Gwb8ViPL9DvRydk6kwe4aPR0+1HNa4WQBjcvlehYZoIPMPPd//p Eox0BKD/ypfpeQVcgHZTFu3YoLzFATls3Gb0sSA8fqkHMD4Yf/RO273EoMfqMU9qxnUM zb4F1oSB48TagCB90JhxTOwPYVVr7tsX4gH/mRgEWK3w9GKSgTrsEpWJo+EX1TJth9d2 JeTZUtbvBv+gsh+rcuN2nFrMrTFyuJOSjx6i/b8Tuwgl1m9yg3gGtEvbAuL0b0Q7mmL1 gYzg== X-Gm-Message-State: AOAM530WCWoOnEBQ+1KHX95jnXRvvu3fMax+H0V6lT9PVN9A1LQL6ivy MiYyEfj6ZaX4B5hyNuzV0OP8BgEOs9ePvSscYUg= X-Google-Smtp-Source: ABdhPJwbuw0kcfIEVA/7p9OJU6ZPAVWdK6OA57UbJmBUa1AyeELotg+WuMP+qO4JvnovL8Ap6Q4iuWDQojr6UpMyc1o= X-Received: by 2002:a05:6512:da:: with SMTP id c26mr21494030lfp.390.1627482659583; Wed, 28 Jul 2021 07:30:59 -0700 (PDT) In-Reply-To: <3d2ecf7e-10e6-d69e-7987-2cdac7e41da2@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::135; envelope-from=hongyi.zhao@gmail.com; helo=mail-lf1-x135.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:132155 Archived-At: On Wed, Jul 28, 2021 at 10:25 PM Thibaut Verron wrote: > > > On 28/07/2021 16:23, Thibaut Verron wrote: > > On 28/07/2021 16:15, Hongyi Zhao wrote: > >> 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 > > > > Then I guess you will have to check the other candidates, sorry. I'd > > start with the 10 you found above, and then move to the other 30 if > > necessary. > > showtip.el is one. I've changed the corresponding lines into the following: (eval-when-compile (require 'cl-lib)) But Emacs still reports the same messages, so there must be other culprits. 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