From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Too fine design granularity leads to numerous macro/function/command existed in Emacs. Date: Fri, 13 Aug 2021 20:21:18 +0200 Message-ID: <87eeax6w9t.fsf@zoho.eu> References: <87czqh3b8u.fsf@zoho.eu> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3663"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:3MXcLiAcui5QFF2Vapp49m8RMCc= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Aug 13 20:25:37 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 1mEbs7-0000j8-VO for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 20:25:35 +0200 Original-Received: from localhost ([::1]:58020 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mEbs6-00049a-A5 for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 14:25:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEbre-00049G-QD for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 14:25:06 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:60486) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEbrb-0005Zt-Qi for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 14:25:06 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mEbrZ-000AKM-5h for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 20:25:01 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:132509 Archived-At: Arthur Miller wrote: > learn relatively recently, say one year ago, but I find lisp > much faster to code than shell. That what you coded there > requires knowledge of zshell, awk, sort and tail. They are just basic building blocks the basic usage of which is known to everyone, it is like building Lego or something, meanwhile the below code requires both some general programming fluency AND some inside knowledge how the particulars work in Lisp and even Emacs/Elisp. Everyone that writes it can also combine a bunch of shell tools, but everyone who can combine a bunch of shell tools can't write that - many of them can't program at all, actually. (defun sort-lines-length (beg end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (point-min) (point-max)) )) (save-excursion (save-restriction (narrow-to-region beg end) (goto-char (point-min)) (sort-subr nil #'forward-line #'end-of-line nil nil (lambda (a b) (> (- (cdr a) (car a)) (- (cdr b) (car b)) )))))) (defalias 'sll #'sort-lines-length) -- underground experts united https://dataswamp.org/~incal