From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thibaut Verron Newsgroups: gmane.emacs.help Subject: Re: Package cl is deprecated Date: Wed, 28 Jul 2021 16:23:09 +0200 Message-ID: <62ae7a85-4986-4309-4f9f-cdec0f9c5329@gmail.com> References: <01eaf257-1142-c407-c9c0-0d6a2e3148b1@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32920"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 Cc: Jean-Christophe Helary , help-gnu-emacs To: Hongyi Zhao Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 28 16:24:45 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 1m8kUH-0008KZ-Ej for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 16:24:45 +0200 Original-Received: from localhost ([::1]:54492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m8kUG-0002cz-2q for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 10:24:44 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8kSo-0001X9-Hg for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:23:14 -0400 Original-Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:35401) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m8kSm-0004f1-SD for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:23:14 -0400 Original-Received: by mail-wr1-x429.google.com with SMTP id n12so2817459wrr.2 for ; Wed, 28 Jul 2021 07:23:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=gTg7scifHNGnu8sCRWR6UeoDxxe0DucwayiKzESDlME=; b=B6DsKSXBZECXILhtW5zp3MFcxM6MtLe8pzv7UJcppXk9wLrZtxc32/uwZZKrg2Z1w1 6YWMTrAC4mFoPukUKORkTR4rojxMYBT6nkegYaNPRxuA+b0FhnW0KGwYLYcbtNemlmx4 Z/OqlzazZWDepOsdFjqTbB133k2DSWvVa5jJpXuyQvZfOIIjO7vmvgL/zS0NsPBbfywA ZtcgeNWUqbi+2zvqC2pKl7kn1lKGHwZJXlWVPV6sJj7y8ejUx+Vlen8Cwies4gtMMMR3 /LJ/09DmdKjHV9hYAhpqRSbNa8Uy+uOcxexwwWwM8t7Kme9sdzU7rDojHcTMgA9DnE2E 5xyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=gTg7scifHNGnu8sCRWR6UeoDxxe0DucwayiKzESDlME=; b=Zw5cDKkG1hxAgp84rMpAGnNRVfwdcLh1ONI55HdoEPA7/MNarQ3lN5o5xEixCfA8Y/ jr6tG42WR7GL9wl1qomZNh9hWm7bnqxpuCJFZDWmfrvSB5/8qq/xlbgQlAEARhLVI+ol 2Tt5U8mMD2JVvAYMt0Ec4800t2ys6F3cf5yrNrBki9G6YoZcPUkjGhONuwVCScUh8gq+ Ft8/Du6PknPDm9SltcFGfxuzdcJSS/OnRN/O9roX8fKxWJNQl1MLSRajjfLMTpCQy5Hu DpqR8jYAM53zkzlbT7857q2qod/tIgH6ggHoanBt7pZGIP8vjiy/RyJ6JFs69LBYb5bG DxnA== X-Gm-Message-State: AOAM532iibgYe6xDay1Eyt1gPir6P6pvywjwgFxdVO8MXhg+NDEJHrlx 4FAINMWNsMv2bKtzlz4Ol96j7bngUH/IuBfdiLU= X-Google-Smtp-Source: ABdhPJwPhoxx/MEVy1AZvea0lDxk6SqY8ZZSyVdNu1QDoN2OUYHqWq1YwZGCKZm+Vz3XS26psoFa0Q== X-Received: by 2002:a5d:6da2:: with SMTP id u2mr29947938wrs.134.1627482190960; Wed, 28 Jul 2021 07:23:10 -0700 (PDT) Original-Received: from ?IPv6:2001:628:2010:4094:3c66:f7a1:82f3:9327? ([2001:628:2010:4094:3c66:f7a1:82f3:9327]) by smtp.gmail.com with ESMTPSA id q19sm5902423wmq.38.2021.07.28.07.23.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Jul 2021 07:23:10 -0700 (PDT) In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=thibaut.verron@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -23 X-Spam_score: -2.4 X-Spam_bar: -- X-Spam_report: (-2.4 / 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, NICE_REPLY_A=-0.277, 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:132153 Archived-At: 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. Thibaut