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.help Subject: Re: [External] : Supplying DOC string in a `defun' using `defvar' Date: Thu, 3 Jun 2021 09:29:29 +0300 Message-ID: References: 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="38714"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.7+183 (3d24855) (2021-05-28) Cc: Christopher Dimech , "help-gnu-emacs@gnu.org" To: Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jun 03 08:35:06 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 1logwb-0009rW-Vf for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 03 Jun 2021 08:35:05 +0200 Original-Received: from localhost ([::1]:49898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1logwb-0000JR-0W for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 03 Jun 2021 02:35:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loguk-0007Fz-1t for help-gnu-emacs@gnu.org; Thu, 03 Jun 2021 02:33:10 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:50479) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1logui-00034s-7c for help-gnu-emacs@gnu.org; Thu, 03 Jun 2021 02:33:09 -0400 Original-Received: from localhost ([::ffff:197.157.0.35]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000AE2D9.0000000060B87781.000015A2; Wed, 02 Jun 2021 23:32:32 -0700 Mail-Followup-To: Stefan Monnier , Drew Adams , Christopher Dimech , "help-gnu-emacs@gnu.org" Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SORBS_WEB=1.5, SPF_HELO_PASS=-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:130523 Archived-At: * Stefan Monnier [2021-06-03 01:40]: > So, while it is technically possible to make :documentation work in the > old dialect, it won't fix the core problem nor its most common > manifestations. That core problem can only be fixed by helping people > move to the new dialect as quickly as possible so we can go back to > living in a single dialect. > > This discussion has already helped one user change its code to the new > dialect, so maybe the fact that `:documentation` doesn't work in the old > dialect should be seen as a feature to help people move to the > new dialect. The purpose of a function would be for example to change the documentation string. Purpose of a single function should not be to teach users whatever dialect, etc. That is not programming language any more, it is capricious manipulation of programmers. It is dark pattern by definition. See: https://en.wikipedia.org/wiki/Dark_pattern and it uses shame or invalidation of programmers who use dynamic bindings to force them to use lexical bindings. It is something we don't do in free software. I hope this remains as isolated case in Emacs Lisp. There are better places to explain programming paradigms than in the hidden features of the programming language. Btw. Emacs Lisp can function just well (and so do large Emacs Lisp packages) and you already confirmed that dynamic binding cannot just disappear. Then instead of providing good references how to program "proper" with lexical bindings, messages come across like dynamic binding is some kind of a witch and we should be witch hunting it and there is impression that new functions will be developed to manipulate users to conform to those views. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/