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:04:38 +0200 Message-ID: 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="18442"; 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:05:57 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 1m8kC4-0004b9-Sd for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 16:05:56 +0200 Original-Received: from localhost ([::1]:48842 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m8kC3-0004Q8-S5 for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Jul 2021 10:05:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8kAs-0004ML-VX for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:04:42 -0400 Original-Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:35712) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m8kAr-0000Ss-8M for help-gnu-emacs@gnu.org; Wed, 28 Jul 2021 10:04:42 -0400 Original-Received: by mail-wr1-x431.google.com with SMTP id n12so2736788wrr.2 for ; Wed, 28 Jul 2021 07:04:40 -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=DmE/f0Q2nrSzPNmV/pd2WBTvyU8DZUNdPmV+sXm08J0=; b=MsS8lVox/hGKs1uFY0yI4ZyQzIpBY4qP5q+ErGcsjMU6OIta+OIZWv8lRyWi+TV6lo ebtJlFdWPjnUWC9luV56mcxzXysER4GP4/yjl+UPHisPeKzy5488SmzqGpuVO64lBrqB vNmC0dJ1VX6rHoZR2YzwsK/8QQL8nS/5jwWfegrzuUoda2lGcrtogylOz6DoV2eNTpys IO427/5/TED3X4oM1yjySe5l8h9aMAjGsGX/OQZii/DJWyTedyjz+XPMqUI+Wo26GFmH NGdl3Cxtf8iQpoNDjBU0TNw3ep2HCsiMxtnmZz0Klk/muYFHYSQOS5pp3388cbJRiuvy BIRQ== 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=DmE/f0Q2nrSzPNmV/pd2WBTvyU8DZUNdPmV+sXm08J0=; b=MQaw9yjNv/TqSdHIj70ZG6/HnWmNi3k/YgZNqe0CVHnDwMSuCeq95RFM/uXY5ZFovI AEUqQAZjrpWIwEJjdcoogOybmNIKayNhN8/s2hDequMDrODoAwEQu0RGopTNp7lYVF/I VHjrsmjQyXSyAWqnZGbcRh4z4n9ndAC9CUJq3ReK95PV8/FfC/3wOH38vlUPU2nQc5iM hTa572kaRAA/RKi/n38/t8cZF8yEJWA2ol/CE3Ae+nFUTS6eT/LnVK7CkBPXsCf1VvIQ WKpyxtDi6w5JwHKkivdr2jqED8UFy7BzguKsv7E840ODmQu55OVdhbhCsk/2z2k391un 37ww== X-Gm-Message-State: AOAM532X9LyVjD5rJk1I61RbeIRwL85jNIB4MecQ4QXLWvEMBmxb/yXe 0Hvm3osteS7W/wJWr5Z8KBEWZaC5a+UA3obzC/k= X-Google-Smtp-Source: ABdhPJxo0vJ4wSVQeJCmO5GmRQwDwXeMIDOKhvawHgmluRb7QChkzoyv6tFrTL4BL6G0ZbJoCrtTzQ== X-Received: by 2002:adf:f109:: with SMTP id r9mr30480596wro.370.1627481079519; Wed, 28 Jul 2021 07:04:39 -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 j2sm7086805wrd.14.2021.07.28.07.04.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Jul 2021 07:04:39 -0700 (PDT) In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=thibaut.verron@gmail.com; helo=mail-wr1-x431.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:132149 Archived-At: 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. Best wishes, Thibaut