From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [External] : Re: Lisp files that load cl-lib in problematical ways Date: Wed, 01 Nov 2023 14:32:51 +0200 Message-ID: <837cn1ac24.fsf@gnu.org> References: <83ttqnm4ti.fsf@gnu.org> <831qdlpoye.fsf@gnu.org> <83sf5xhnym.fsf@gnu.org> <871qdhk49w.fsf@dataswamp.org> <25914.49745.111873.734458@orion.rgrjr.com> <87y1fl9ful.fsf@gmail.com> <871qdci3fr.fsf@dataswamp.org> <87y1fkgjof.fsf@dataswamp.org> <87v8aogj1u.fsf@dataswamp.org> <87o7gdhgfp.fsf@dataswamp.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8524"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Emanuel Berg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 01 13:33:35 2023 Return-path: Envelope-to: ged-emacs-devel@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 1qyAPd-0001uZ-NE for ged-emacs-devel@m.gmane-mx.org; Wed, 01 Nov 2023 13:33:34 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qyAPA-0006S2-Sx; Wed, 01 Nov 2023 08:33:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qyAP7-0006Lz-Rj for emacs-devel@gnu.org; Wed, 01 Nov 2023 08:33:01 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qyAP6-00033J-Cx; Wed, 01 Nov 2023 08:33:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=5VRPoEmroCmRoozbkET3vwyU0gUF0IxvBtqZQUs0NRs=; b=bYfgVgQDCOV7 fW2o6bHkTIJI2LxeSKyzsJA9bXnQ4YZkVBKuCCbu9Lv6S+dC3IifoLpc+QBEPg7nf7MNzurrfiCDK UqEg22h496sU15ILwVQp/0d3mCpsHFSR99U0BP1UBn6kezadg94kDXzT4B3zrvFEISv2/dCi05pIi lBMIcEuvebyOYS2WZyKDfCQxL1mxPQkzxCWlxmAdSTz0lMoCgyjnSUjQ+oCmjlcEmnlnnA3viCUu7 rWYMO5LfuzCPybXZIcMB6cd2mp8NjjDyF/VnkEm/cM2YNuBlxj+zy14iE3SG4aaMghysEnDdU42KR BnPcWUlyMp6/CzydEqTEJQ==; In-Reply-To: <87o7gdhgfp.fsf@dataswamp.org> (message from Emanuel Berg on Wed, 01 Nov 2023 12:16:26 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:312060 Archived-At: > From: Emanuel Berg > Date: Wed, 01 Nov 2023 12:16:26 +0100 > > Richard Stallman wrote: > > > Would someoe like to filter that list to remove everything > > not defined in cl-lib.el itself? > > One can do this in zsh by means of an extended glob pattern. > > We see that `cl-pushnew' is on position #15, used 169 times. > So it is popular, but perhaps less so than expected? > > `cl-loop' (#2, 979 times) and `cl-incf' (#3, 715 times) are as > expected very popular. > > And there are more stuff that has been mentioned that appears > on the top 10 part of the list. > > It is the list processing langauge :P > > #! /bin/zsh > # > # this file: > # https://dataswamp.org/~incal/conf/.zsh/emacs > > setopt extendedglob > > cle () { > cd ~/src/emacs > grep -E -h -o 'cl-[-a-z]+' **/*.el~lisp/emacs-lisp/cl-lib.el | > sort | > uniq -c | > sort -r -b -n | > head -n 100 > } > > $ cle > 1416 cl-defmethod > 979 cl-loop > 715 cl-incf > 611 cl-lib > 486 cl-assert > 309 cl-letf > 301 cl-seq > 279 cl-defstruct > 257 cl-defgeneric > 227 cl-case > 209 cl-end > 208 cl-list > 189 cl-call-next-method > 172 cl-start > 169 cl-pushnew > 149 cl-defun > 142 cl-p > 142 cl-decf > 135 cl-flet > 132 cl-return > 130 cl-keys > 125 cl--loop-args > 114 cl--generic- > 106 cl-block > 103 cl-destructuring-bind > 101 cl-macs > 99 cl-check-type > 95 cl-some > 89 cl-kwds > 88 cl-typep > 76 cl-prin > 72 cl-getf > 67 cl-pred > 67 cl--find-class > 66 cl-remove-if-not > 66 cl-defmacro > 66 cl-callf > 65 cl-labels > 65 cl-extra > 63 cl-x > 62 cl-second > 62 cl-return-from > 62 cl-mode > 62 cl-count > 61 cl-or-cast > 60 cl-set-difference > 53 cl-remove-if > 53 cl-generic > 51 cl-ecase > 50 cl-plusp > 50 cl-first > 50 cl-cvs > 49 cl-position > 47 cl-program > 47 cl-mapcan > 47 cl-every > 46 cl-third > 46 cl-res > 45 cl-tempo-comma > 45 cl-substitute > 44 cl-current-ic > 43 cl-subseq > 42 cl-key > 41 cl-item > 39 cl-tempo-right-paren > 39 cl-tempo-left-paren > 39 cl-function > 39 cl-dolist > 38 cl-print-object > 38 cl-mapcar > 37 cl-tempo-tags > 37 cl--slot-descriptor-name > 37 cl-macrolet > 37 cl-do > 36 cl-progv > 36 cl-find-if > 35 cl-f > 35 cl-embed-code > 34 cl-tree > 34 cl-func > 33 cl-gensym > 33 cl-evenp > 33 cl-defsubst > 33 cl-check-register > 32 cl-rest > 32 cl-print > 32 cl-pos > 32 cl-get-next-code > 30 cl-remove-duplicates > 30 cl--loop-body > 30 cl-block-end-regexp > 30 cl-block-begin-regexp > 30 cl-basic-offset > 29 cl-remove > 29 cl-i > 28 cl-union > 28 cl-member > 28 cl-adjoin > 27 cl-new > 27 cl-mismatch This list is not what Richard asked for, AFAIU. Richard asked for a list of functions defined in cl-lib.el, and only functions defined in cl-lib.el. The list above shows stuff that doesn't fit the request; some examples of irrelevant symbols: cl-defmethod cl-defgeneric cl-loop cl-assert cl-defstruct cl-case cl-end cl-list and many more. I conclude that the above script is not a good way of producing a useful list that Richard asked for.