From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: master 87e422f: Beef up the Emacs string utility set a bit Date: Mon, 21 Dec 2020 21:03:47 +0100 Message-ID: <87ft3zc4f0.fsf@gnus.org> References: <20201221175345.27592.89597@vcs0.savannah.gnu.org> <20201221175347.9F1B820B76@vcs0.savannah.gnu.org> <87eejjdn8e.fsf@gnus.org> <87a6u7dmnw.fsf@gnus.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="22395"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 21 21:08:14 2020 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 1krRTY-0005hx-Be for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Dec 2020 21:08:12 +0100 Original-Received: from localhost ([::1]:54602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krRTX-0007fM-BQ for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Dec 2020 15:08:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krRPQ-0005DV-06 for emacs-devel@gnu.org; Mon, 21 Dec 2020 15:03:56 -0500 Original-Received: from quimby.gnus.org ([2a01:4f9:2b:f0f::2]:33970) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krRPN-0001JP-5H for emacs-devel@gnu.org; Mon, 21 Dec 2020 15:03:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=BnrSSoUIP9pHn6GpKvv9SduJKX6l0sSvPH6pHcbnNsQ=; b=VNRkX8zj4qMwqllaJywSKDek76 pn4Cupm8YoSy4yh1pdTNP7+X9f5nOycvAVmPyENujkARqWiyZc0jL8HLEDG5VdBGzeOJ/AaEriozZ yWSB3dhJzO+vIi0d0jghzqFk1srDO7FdryE8R97AIdikgUaQ5/ib7BzeAnlgPUTGYTTs=; Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1krRPI-0003ut-Ap; Mon, 21 Dec 2020 21:03:50 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEVYWGHz8/IQEBSl qb1nb6T///90f4viAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+QMFRMTBnXaQBYAAAGiSURBVDjLxZPb YYMwDEUVmwGiigFcJwMg5AEIeP+ZqgehKWm/a77wsR73yobLtfIk6CvVfRVBUJBBkB3ojy9ABL76 AQeEOEYEEyBBzZHJAO1AFEgX8gDMzzqFCNiyTA/bHxd54BoRWtxSBMCRgWcHWvzTgDA+17S+AKR8 AJmPVKpuvDTf1MDFqt/QAWtyP30VpFR2oHkYWwDacC4WkR2EMl88eU+JzRIHIpu35PtgpyNiHBaO fTDn2gG8JUQ9zlrCf9VxYSL1RUigL7mtO1DVQsQKuMkkkufqZQFZ1FwxdYOsfRvm+tjBxsTaL1Mv CXKf68UBpBvbAJVZr7kllae5YTCDIsTAXc31SXwrJwnVtT7oAN/jLqsOg0Lgc0gRMT2BzVwF6uc1 6lRvJpcPS2i/IEu1mfKLVzvooe8H8FRDWHUCanoOq04g/QqoplQB3sFYygJ6R97Axx1WuzvvYEje 8LkrmnM8tXOExF2rbwLHeX+Zn+dUq/X6A/hDI31LsNmVfgEivAlOQ+8d7tD9IIhI633rTdYCHaCk oW26CfWP9a/gC9Piem1iKRDKAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIwLTEyLTIxVDE5OjE5OjA2 KzAwOjAwI8pwvQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0xMi0yMVQxOToxOTowNiswMDowMFKX yAEAAAAASUVORK5CYII= X-Now-Playing: Ultra =?utf-8?Q?Nat=C3=A9's?= _How Long: Ultra Nate Best Remixes Volume 2_: "How Long (Ultra's House Swing)" In-Reply-To: (Stefan Kangas's message of "Mon, 21 Dec 2020 13:05:23 -0600") Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org 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, 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: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:261429 Archived-At: Stefan Kangas writes: > I had a look at GitHub to get some data, in case that helps. Yes, thanks. > It seems to have some real world usage, at least: > > https://github.com/search?l=Emacs+Lisp&q=s-chomp&type=Code Hm... is there a way to filter out the code people are including from s.el? Many of those are just the example code from there: (defexamples s-chomp (s-chomp "no newlines\n") => "no newlines" (s-chomp "no newlines\r\n") => "no newlines" (s-chomp "some newlines\n\n") => "some newlines\n") Let's see... https://github.com/search?q=s-chomp+-defexample+-newlines&type=Code This probably filters a bit too much? But it got rid of most of the example code. What would we call it in Emacs Lisp? I guess most people would understand `string-chomp', but it's a bit un-Elispy. >> s-repeat (num s) >> >> This neither. > > Seems to see some use, but not a lot: > > https://github.com/search?l=Emacs+Lisp&q=s-repeat&type=Code 4K of those were from (s-repeat (org-habit-scheduled-repeat habit)) With https://github.com/search?q=s-repeat+-org&type=Code we're down to more reasonable numbers. Of the first few pagefuls of hits, more than nine tenths of them use s-repeat at a synonym for make-string. (s-repeat count "-") instead of (make-string count ?-). So I'm leaning towards "not". >> There's also a bunch of "titleize" functions that just seem to quirky. >> And the camelCase and SnakeCase functions? Dunno, I think they're best >> left in the s.el for people that want that. > > Unsure about titleize, but here we have: > > https://github.com/search?l=Emacs+Lisp&q=s-titleize&type=Code Oh, I forgot again that "titleize" here was the same as `capitalize' in Emacs Lisp. OK, then the possibly useful function is s-capitalize (s) which upcases the first character and downcases the rest. And that seems to have a fair number of usages: https://github.com/search?q=s-capitalize&type=Code -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no