From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: Re: [External] : Re: Lisp files that load cl-lib in problematical ways Date: Wed, 01 Nov 2023 12:16:26 +0100 Message-ID: <87o7gdhgfp.fsf@dataswamp.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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6707"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:48wzALOFRzmxMzbTMAq8QC6ARHQ= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 01 13:01:45 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 1qy9uq-0001Tw-Aj for ged-emacs-devel@m.gmane-mx.org; Wed, 01 Nov 2023 13:01:44 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qy9tt-0000Zg-Sf; Wed, 01 Nov 2023 08:00:46 -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 1qy9DC-0005TZ-9D for emacs-devel@gnu.org; Wed, 01 Nov 2023 07:16:38 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qy9DA-0005tL-Cc for emacs-devel@gnu.org; Wed, 01 Nov 2023 07:16:37 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1qy9D7-0004mp-Tm for emacs-devel@gnu.org; Wed, 01 Nov 2023 12:16:33 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 01 Nov 2023 08:00:43 -0400 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:312051 Archived-At: Richard Stallman wrote: >> Here is the top 100 list. >> >> A few hits don't make sense since the command is imperfect, >> but other than that the list should be a pretty good >> reflection of the situation. > > 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 -- underground experts united https://dataswamp.org/~incal