From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: [External] : Re: Printing alist pairs to a dedicated buffur Date: Fri, 26 Apr 2024 15:55:37 +0000 Message-ID: References: <87bk65fpsz.fsf@ledu-giraud.fr> <87plukbbod.fsf@ledu-giraud.fr> <87jzkss5w8.fsf@dataswamp.org> <87y1919iu1.fsf@dataswamp.org> <87msph9ehc.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17628"; mail-complaints-to="usenet@ciao.gmane.io" To: Emanuel Berg , "help-gnu-emacs@gnu.org" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 26 17:56:35 2024 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 1s0Nw9-0004MQ-R4 for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 26 Apr 2024 17:56:34 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s0Nvc-00014I-3l; Fri, 26 Apr 2024 11:56:00 -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 1s0NvS-00013w-Bj for help-gnu-emacs@gnu.org; Fri, 26 Apr 2024 11:55:50 -0400 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s0NvP-0007Ts-Jf for help-gnu-emacs@gnu.org; Fri, 26 Apr 2024 11:55:50 -0400 Original-Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43Q8SmLL014221; Fri, 26 Apr 2024 15:55:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=H74aXswWkbVgGq47GL4x8mn5LbS9XI7VRqdR88v5CYQ=; b=C1NN183E3DLtVl+QWd6htVLgFxjZ8pgWG3mth1QjD5s6wZxAyVmUZvBvqYQWjZo406Xj GgH7WaY1rGI/2EosVFJB084TxCbiximBBdlTA+n34da3R+uALQHdRnmDvIgDgDv01/xr /LHguE/RcumWfX88Es1OU/PCxFywwarXUYpslLY1Mlbhm27HhiiObcn5j6rmtKZ0A8CK Q3uOlHKgsQuJx485JQV6B/+oX99C19TGI/X8fJ+Pdeu/zETxpHt6MHYGt0TvOzFLSHxv A+y04BaGbotNZn1W1oWv3qPphZq85s0Is0xDYT8y6EV0SYrXezyL6PpSbJlIRE5lI6yU 8g== Original-Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xm5re5wdr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 Apr 2024 15:55:41 +0000 Original-Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 43QFNb0F025298; Fri, 26 Apr 2024 15:55:40 GMT Original-Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3xm45j54vy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 Apr 2024 15:55:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dpw3m/VLnbUJBLLAptXGizHsRd9NmJIbYA84nRNQkwM+f5sm458M0vYbFq+2RnTGahZQTyjiFCm6h6uLEglrFCrDZhAUk0jjbv7ms1EkFuZ8KS7mNiptPh918WGZMeD0qWotdjjZtMBs5gVLZSp++fxuaAPihNQ1XvubKY8wZBTNALTBfzQSBrTXvmurUvrjuczOc64gbKASXw+gf9Kg65OYKJrHRXtwtwQUS/baAnrV56racFveaHq6htP1VX/mYNO0IvZ6VTabQJwRAmba8LfeDaz1ARHVqBaQK00c0TvZ1ealWa6FY6Q2Ozv1n9WFmfl1geqHXznUJwXRMxIUAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=H74aXswWkbVgGq47GL4x8mn5LbS9XI7VRqdR88v5CYQ=; b=NjuLfgrqpbGLxTXtCCgfkIbDBI9C5LQ7loeksNSboKQhzcFO2UxPmA65Q+VBfISodlfRFdfgGyFe52exuXjVHY+oZU4WE6BikPRRPodmsyJyPmqpjajV/KnwC9GZ/QjukK+gFZGD2Y1mHj39FvC2wkbEemlT447w1ZW7AiFVXvSkLba7ndU7FX4PiQo8v8aAi35wcESSWgL+fSXNaTkba3cko8/5+18jvw+Scpt0H4X+Kx6oimp+4HnPWloXg/5aGeaxZNiApX9MCHdIcq1auFW3G+0DyNI8p0poMaCZ931fb+8hEpXTAQE3zJokC5qROV68YFgrF8m9tmnxkhxH7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H74aXswWkbVgGq47GL4x8mn5LbS9XI7VRqdR88v5CYQ=; b=W8RMcSFiRI9SWRqQeMCfLfXtlnpCE+0mth+zLxTt3O9RkOoSTx4mjyObJo6TB7oel+mwSBtFflvQS/0ZzlNTqb8yvthgy350cKKxvQjsGn3Q3NQ2wNJosL7PR16Ydq/1nAMD3UT6xY9r7j9Ln3O1S3ouV9GPBLMguVcWM/8SnlU= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by DM3PR10MB7927.namprd10.prod.outlook.com (2603:10b6:0:42::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr 2024 15:55:38 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::380d:4e6d:faae:a72a]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::380d:4e6d:faae:a72a%7]) with mapi id 15.20.7519.023; Fri, 26 Apr 2024 15:55:37 +0000 Thread-Topic: [External] : Re: Printing alist pairs to a dedicated buffur Thread-Index: AQHal8Xgz15GcxtMpUilBs9PtnWSBbF6pdLw In-Reply-To: <87msph9ehc.fsf@dataswamp.org> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|DM3PR10MB7927:EE_ x-ms-office365-filtering-correlation-id: 712844c6-2efe-4db5-710e-08dc660950fa x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: =?us-ascii?Q?THwI7A49MaP3A3Muh/6ROu0eBdT9ul/7r0Z76PZGZ7qpnMbaFSoX7YWNZWYA?= =?us-ascii?Q?k7hPwo4KLPhCr1VHKLmcoIovMLlf62MG7GjCHmUNAePbv7h3D/ki0rI50H+M?= =?us-ascii?Q?g+IyHuQHY//iyhLP2HQ6sdPuNV1Js5oJHgEGy/iMVZD3eJtfeqLD1cXnTbj7?= =?us-ascii?Q?JY5D+nOjshQoJ8Lgqy7lN76zZnQ7hBnNUu38vLOpyEmeq/W48fwjoNfrAHk8?= =?us-ascii?Q?zjF10Wh84ByOPu2BPhnV/pqE5eEjlaLDhgEtuDPKg8HdDQ4HG0nsHCn1/nuU?= =?us-ascii?Q?LqMal7rlY9v1GtC1lQWcXJJt7reePltKKH2icGP949j6KKP/GzqPfZPcjND3?= =?us-ascii?Q?+qqgmKELaNGrTttoBEtnNBk7VAD4aAtbQZXuYuF9FeFL9chgZejTjGZ6dQ36?= =?us-ascii?Q?bBwHThs8b+qg1G5/z0NW1SUNmXPNyb8xbrVI5bV/oe+Z7FCvXO/Q9ePFQtIB?= =?us-ascii?Q?C2zxcmXCp/nvrrsyolpNg8mWlNxlaWMjuR8KkoGys3TBd5JmVYcbmecKgI0s?= =?us-ascii?Q?xvzBlZLzhewgf2aVZRIhAOFkYAiTlefrzqpUnjlfXtViZEHdpjphlQ8MR5p8?= =?us-ascii?Q?1sdN2TekCYeL1DEa9SW7rmWiWB1ZDlDfcEKEEkOFPzjKpaBP7S76lDxjB4Iu?= =?us-ascii?Q?Jmodq x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?eAHT8VXfcAVSB+2Pdrn84zu5pebPhE1ah/GU1netEcytd5QC71TByG1whuVa?= =?us-ascii?Q?xM9LgsmAYD9+az+9tdoWgcSRPXD//q5QrPbtKWmGhxdomjgA8u4TBpLkJKLT?= =?us-ascii?Q?p+m6UAo/bBsJ63WzMSXb+i66WxceGOUbktGW/lNVZTvaQLXA6p2b/tPqCIEo?= =?us-ascii?Q?iu71Zq0vX+T4nOLZt2Da5+6HUVz3s5JNifYY0EsnmjRV8UGJJeUKmbEe8FCQ?= =?us-ascii?Q?vyjo9xsC+KRvhDNSg7Di8R4isKxb5KZ2pxD90A9X2H+U13u4K40r6LMjpnmN?= =?us-ascii?Q?+29tYpFCnfQ+XQPFf5AUeEYtDA7ICw7ieMCY8AJCn/ZVp9Ou6+X9R7+lMv6Y?= =?us-ascii?Q?GqsR/9PiFKBLzpqb3+E9IXdqCC33OSq2J/ocRXDhtpv+r3DwXEz7uZJLlqOZ?= =?us-ascii?Q?/NBoKtqXbC9vxoTBAQG7fASnczQBUIABr1MH1g/O7XHfvhgAh8IszexS9fa2?= =?us-ascii?Q?W9mocV5ZQ4O5+vSSfqgNznYd7Kjt536an3D1rhTHzzNgvDOd/Z0HvAo4YGko?= =?us-ascii?Q?i3+0BFvbE8p8OAajUbUCtdsxVkx/vVRE8WLSYszEaZ8V4bhH9w73zxD4xjSr?= =?us-ascii?Q?GPx24oljZMGM26dKpp8MipRnoHDVH0N4hO9V1QBaJrWWsc3RY0OBRerGl7ZZ?= =?us-ascii?Q?Bz X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 342OOs5D8nI6jZ5P5DbHlJz1NXIClqtSQBjui3qH58Pi5s7fD/A+3zLG4idEeo5pPvi9wEv7/5Jkr7sAzI9If1Y5Pun+sxoq+dcdqkwwImWupsBbUMgxWlOc8HWUyT74LL0cf0RvPJ/xCGf5/T2aXGDqcpA11kL5zWlWxTcaLnmD74A7WupMj3FoTUHw28rQdGaKbDfh1IgDWOs67Y7kAToqHWTpGhjQFR4X6Hpllxns2yArHu/90xUsNJTcxd/e43laMJypIzF4X09k1Q56YUFtbJ/T2YZcS4AAR/cjrTD0xrUSA9iof3UOwSllpgCTspHfJgQ0egoZQia6DmBBeL1KoiL6eRYu2gCwkq38gW3iE13SModRvd3crcbbWDpM+u50Z/lxR37dkkYB3fYKP46gdMunTHqwdemHAFOiY5ZMBA52SiqU7w4eXjmYPqaqLHMSO+8ISFXXeA6GclXT0m1chM1yPk7uITyBFVD3t6ZGNuHAv/ebWSguNe+RRz7Vf0hUDH00ED+cB3X6iVlMpcH4PdHDplEk85j0rQp9QTOYKIoSj5WuIBUcz6FLyanXpn3T0pBjvpYZLLpMbzAFrXdsNITb1fcUBQ3DyzVtPNE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 712844c6-2efe-4db5-710e-08dc660950fa X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2024 15:55:37.8944 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Tnsh5NsmfgGzTKh6NYxfGoEk18G6rHDTaUHmNQR827zbZl0S3/+FLFBVvzBtvoJErNCgUz/aC0FNbVBVwvtwcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR10MB7927 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-26_13,2024-04-26_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxlogscore=980 mlxscore=0 phishscore=0 spamscore=0 malwarescore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404260107 X-Proofpoint-ORIG-GUID: xVfQZQFJkIvCvQydUMYtZTrkt40edcfj X-Proofpoint-GUID: xVfQZQFJkIvCvQydUMYtZTrkt40edcfj Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 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-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:146485 Archived-At: > > Dynamic binding is still the default in Elisp. The doc is > > correct about that. >=20 > Yes, but isn't that a practical measure so that legacy code > won't break?=20 Yes. Emacs isn't "Move fast & break things", because it cares about its users. Users are Emacs. Legacy code - of which there's a _ton_, likely multiple times the code delivered with Emacs. Including code used in industry and government. Don't just think "my code". Most Emacs users don't frequent mailing lists or other forums about Emacs. And not all Elisp code is by or even for individual users. And besides legacy code: legacy _habits_, i.e., people. In a word, history. ___ I said it before: what Emacs is now aiming for wrt lexical binding of variables by default, i.e., except for those declared "special", is what Common Lisp has had from the start - 40 years ago. And CL was the result of long discussions by most of the world's Lisp experts, familiar with the history of Lisp and the existing Lisp implementations. (It's true that U.S. experts participated more than Europeans or others, alas. The world was even more parochial back then than it is now.) This is by way of saying that there's nothing new about the behavior of lexical and dynamic binding (and about their coexistance) in a programming language or environment. The gotchas and foibles were well known. Scheme existed, for example, and its designers were among those who designed Common Lisp. Likewise, the problems with applicative-order evaluation (eval all args, before evaling the function body after their substitution) were well known. (Google "funarg problem".) E.g., Lisp uses applicative order, as opposed to normal order, which is used by Haskell etc. Real (i.e., pure) lazy functional programming was also already a thing back then, though not so widely known. Elisp will get to where Common Lisp has been, wrt lexical & dynamic binding. But it's not there yet. Keep in mind that Elisp is not only a general programming language (but it's also that). It's an interactive editing (and A, B, C,...) environment. Know not only the advantages of lexical binding, in general, but also those of dynamic binding - and particularly in an interactive, editing context. For that, I recommend RMS's points about why dynamic binding is _useful_ for Emacs users: https://www.gnu.org/software/emacs/emacs-paper.html#SEC15 And my point here was also to remind you that binding is not only about variables, and you cannot practically use Emacs without taking advantage of its dynamic binding of options, named functions, faces, and on and on and on. You might not think about that. Imagine, if you had to pass your preferred value of some user option or face explicitly as an argument into thousands of functions, instead of it being global. _All_ user options. The very notion of a user option disappears. I'll say it again: Let us know, when you use lexical binding for _all_ your defuns, as well as for defface and all the rest. ;-) Face it: Global definitions and dynamic binding are your friends, just as much as locally-scoped definitions and lexical binding. You just need to know which friend to call in any given context, for favor or fun.