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 08:37:50 -0700 (PDT) Message-ID: <4373c134-bdfe-4ad6-bee2-a98807aacd60@default> References: <20201019031002.iulr45ztrkwsiqlo@E15-2016.optimum.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18134"; mail-complaints-to="usenet@ciao.gmane.io" To: Stefan Kangas , Boruch Baum , Emacs-Devel List Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 19 17:41:25 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 1kUXHo-0004bM-IQ for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 17:41:24 +0200 Original-Received: from localhost ([::1]:58734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUXHn-0000ll-JM for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 11:41:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUXGS-0007j5-M6 for emacs-devel@gnu.org; Mon, 19 Oct 2020 11:40:00 -0400 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:57176) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUXGQ-0006G6-Uw for emacs-devel@gnu.org; Mon, 19 Oct 2020 11:40:00 -0400 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09JFYmkK094435; Mon, 19 Oct 2020 15:39:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=Sv9lR+trdcOG4wgsH29tlpA0luz+w39XbIQAyfnUqQo=; b=dz/TdyK6myIYN5yoQJnhy/iUePqEtPiSYL5jqWFaRJnr/DKo29R2aP6u4vK2D7y58kLS dFwAGLaTBKSq2ZqzIh8OXkP2xpt1Jb2Ebtku9gu3p2o4MY2Pgizgc8M65LiUH+l87rNM QvYUGCZqXrtVpjYdTtP6I6VY/olwJFSWdQ2GntqAq49poWzArQ46x/BrYUyXVT0mGHLG Rkn9p+2iqvdcKyBtOo2Lfy1RwZMi1zQWyXW1rqw7XQhAz8fJqiHafIEy7ismCzfSGE80 v3wRc5nw0UP27OzszkRKU8G5G2gbDTXW7EpaEJGpjRoC9LkSbQu3GPgqt61zPACxMSn9 7g== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 347rjkp6t0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 19 Oct 2020 15:39:53 +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 09JFV5e2061422; Mon, 19 Oct 2020 15:37:53 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3030.oracle.com with ESMTP id 348ahv3stw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 Oct 2020 15:37:52 +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 09JFbp86018491; Mon, 19 Oct 2020 15:37:51 GMT In-Reply-To: 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=9778 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-2010190108 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9778 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 clxscore=1015 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010190108 Received-SPF: pass client-ip=141.146.126.78; envelope-from=drew.adams@oracle.com; helo=aserp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/19 11:16:41 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, 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:258126 Archived-At: > FWIW, I wouldn't like to see this added to our coding standards at a > language level. I find it overly bureaucratic. Files should follow a > standard that makes sense to what its trying to present. >=20 > Also, third-party package developers should have some room to maintain > their own standards. FWIW, I agree. I personally do group things, and label the groupings, when it makes sense. But there are different ways to group/organize things, and, as always, local consistency is more important than global consistency. (Who knows best which organization makes most sense locally? The author.) For example, it may typically make sense to put defcustoms together - I generally do that, in a section labeled to that effect. But sometimes it makes sense to put a particular defcustom together with some other bits of code directly related to it, where that group of stuff is not so tightly related to the other parts of the file. For example, when some subfeature is involved, guarded by some condition, e.g., (when (featurep 'foo) ...). Our coding conventions are just guidelines (except for inclusion in Emacs, where they're considered more strictly). But they should be important, not gratuitous. In general, users should be the judges of how to organize and present their work. Guidelines should be a help, not a hindrance. [BTW, there is plenty of code that's part of Emacs that doesn't strictly follow our guidelines - max line length, for instance.]