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.devel Subject: RE: adding to emacs coding standard / formatting Date: Mon, 19 Oct 2020 13:07:15 -0700 (PDT) Message-ID: <2d7ec6c1-3eb8-403d-8b8e-f23d4a058033@default> References: <20201019031002.iulr45ztrkwsiqlo@E15-2016.optimum.net> <83tuuqp9pi.fsf@gnu.org> <20201019195935.5m6owfzy4iuvbz2e@E15-2016.optimum.net> 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="18001"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Boruch Baum , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 19 22:08:05 2020 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 1kUbRt-0004b4-5d for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 22:08:05 +0200 Original-Received: from localhost ([::1]:43748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUbRs-0007mf-7q for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 16:08:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUbRE-00077g-5P for emacs-devel@gnu.org; Mon, 19 Oct 2020 16:07:24 -0400 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:56836) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUbRC-000126-4l; Mon, 19 Oct 2020 16:07:23 -0400 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09JJwpt5121431; Mon, 19 Oct 2020 20:07:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=6xzD9GG7k5AhJzDJ5w8vPvLFckHGHsVdJpH3Y+bf3IM=; b=L1B4NRto5umkJy4igEmRz7Jy4J5tGL6tM+qCjUJfRKe2yHJ10+0ozcxDpmnqkluXzW0K 1LqBkw3RDWbO/h+4jOdbg9sIwUpj+bfkCWiSUEvDkuyZ6BJGkWjabJWbAiryLQ7h2Pmh duFOcb0TOTA6Z+jTcosTHFJsRDCInv3PRfu1NLDPKVlQ7diF5rnoenGbbr0J2AhlTzDC qzDXHOBHinWIb5qwAhmiRWVDAAZzZqX0z7dZJ3CphigXx8Qii8X13Ul0SzeUqRELLjoh fZ2dNPBWngA6KsOF0mPKF1VmwwUxq3SKoO82eycuEWnYP8y1P4PZr1mdGF8rDifNNfUR uQ== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2130.oracle.com with ESMTP id 347p4aqnk8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 19 Oct 2020 20:07:18 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09JK4qj7062963; Mon, 19 Oct 2020 20:07:17 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3030.oracle.com with ESMTP id 348ahvcdgu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 Oct 2020 20:07:17 +0000 Original-Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 09JK7GpI006976; Mon, 19 Oct 2020 20:07:17 GMT In-Reply-To: <20201019195935.5m6owfzy4iuvbz2e@E15-2016.optimum.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9779 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010190136 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9779 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 mlxscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010190135 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/19 16:07:21 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, 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:258148 Archived-At: > > > Also, this is an opportunity to address a pet peeve: I occasionally s= ee > > > code either defining keybindings to lambda functions, or setting lamb= da > > > functions as elements of function lists (eg. lists of hook functions)= . > > > I'd like to propose that those uses be banned because of their > > > difficulty to modify. > > > > Where would you allow lambda functions, then? >=20 > I see them most used as arguments/predicates to mapping functions or as > common-lisp predicates (eg. :test). >=20 > My complaint is against their use in situations that make standard > manipulation practices difficult: 1) When you assign a keybinding to a > lambda function, you can't remap to it; 2) When you add a lambda > function to a list, you lose the ability to perform operations such as > memq, delq, and you can't modify the element in place. Why would this be part of the code conventions? Yes, users should be given this guidance, to save themselves trouble (e.g. for advice and hooks). And they should be told the reasons (i.e., told about the potential bother). I agree with that whole-heartedly. But what does this have to do with coding conventions? (Let alone why would such usage be "banned".) This is on the order of helpful tips, not coding conventions, IMO.