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: 10 problems with Elisp, part 10 Date: Fri, 09 Aug 2024 10:36:58 +0200 Message-ID: <87le163xed.fsf@dataswamp.org> References: <877ccq5g2u.fsf@dataswamp.org> <877ccq9kdo.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10817"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:8L45X3QSlr4060cYS+YNy2HRvM4= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Aug 09 12:21:41 2024 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 1scMkf-0002Wu-T0 for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Aug 2024 12:21:41 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scMk4-0007qp-T3; Fri, 09 Aug 2024 06:21: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 1scL7W-0003Kj-WC for emacs-devel@gnu.org; Fri, 09 Aug 2024 04:37:11 -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 1scL7U-0001VL-1n for emacs-devel@gnu.org; Fri, 09 Aug 2024 04:37:09 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1scL7R-00089i-TH for emacs-devel@gnu.org; Fri, 09 Aug 2024 10:37:05 +0200 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: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 09 Aug 2024 06:21:04 -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:322560 Archived-At: Dr. Arne Babenhauserheide wrote: >> (unless end >> (setq end 73)) >> (unless step >> (setq step (min 10 (max 2 (/ end 10))))) >> (unless i >> (setq i 0)) > > This could already be trimmed a lot: > > (setq > end (or end 37) > step (or step (min 10 (max 2 (/ end 10)))) > i (or i 0)) > > → start optimizing where no syntax breakage is needed. That's the thing, one shouldn't have to optimize anything, and in particular not such common and everyday things, the language should optimize that for you. Besides what you did is almost nothing. For that part, it is from 108 to 82 chars, a mere 26 chars. Please write all this in Lisp anywhere near this 88 chars, and then I'm even generous with the whitespace. [ end :r 0< :d 73 :pa step :rc 2-10 :d (/ end 10) i :r 0<= :d 0 ] :r means signal error if outside of the interval. :rc means set to min or max if outside of the interval. Defaults should be the same for interactive and non-interactive use. :pa means both M-x, C-u M-x, and C-u x M-x should work. -- underground experts united https://dataswamp.org/~incal