From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.devel Subject: Re: master b72f885: Make dlet work like let, not let* Date: Tue, 21 Sep 2021 12:31:09 +0300 Message-ID: References: <83wnp5m9i5.fsf@gnu.org> <87y27rhwp0.fsf@gnu.org> <878rzqtopk.fsf@gnu.org> <874kaetip8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27972"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.7+183 (3d24855) (2021-05-28) Cc: emacs-devel@gnu.org To: Tassilo Horn Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 21 11:38:25 2021 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 1mScEL-00076A-QE for ged-emacs-devel@m.gmane-mx.org; Tue, 21 Sep 2021 11:38:25 +0200 Original-Received: from localhost ([::1]:40100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mScEI-0007YN-G9 for ged-emacs-devel@m.gmane-mx.org; Tue, 21 Sep 2021 05:38:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52984) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mScC7-0005U4-3t for emacs-devel@gnu.org; Tue, 21 Sep 2021 05:36:07 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:32953) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mScC1-0006Xq-K7; Tue, 21 Sep 2021 05:36:06 -0400 Original-Received: from localhost ([::ffff:41.210.154.92]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000005A04E.000000006149A77D.00005681; Tue, 21 Sep 2021 02:35:57 -0700 Mail-Followup-To: Tassilo Horn , emacs-devel@gnu.org Content-Disposition: inline In-Reply-To: <874kaetip8.fsf@gnu.org> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com 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, SPF_HELO_PASS=-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:275212 Archived-At: * Tassilo Horn [2021-09-21 11:52]: > > As a side note, the advise for variables to be first `defvar-ed' if > > they are to be used in `let*' is not practical. It increases work, it > > does not lessen the work. > > The advice is to defvar variables which should be dynamically bound, and > to have few of them because dynamic scope is very hard to debug. So the > work saved at coding time might be invested when debugging > later. ;-) I understand the approach. On my side I look at it practically. I had no problems with the implementation. > > You know when you start creating `let*' variables you don't want to > > think much, just do it. Now I am supposed to make 50-100 `defvar-ed' > > variables. > > Well, it seems not to match your design. If I would try to build a > templating system I'd try to have just one defvar-ed wcr::variables and > access that when replacing the template placeholders rather than having > to dlet each and every thing inside vcr::variables. I understand idea, though I think with uncertainty, it would bring the unwanted limitations. With certainty I know that such change would give more problems then it is worth, not less. Once programmed it worked for months, and I have not touched it until today. The RCD Template system it will interpolate any passed variables in hash first, if any is there, otherwise global variables, including any Emacs Lisp code. It does not expect by rule variables to be passed. Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/