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: Internationalize Emacs's messages (swahili) Date: Sat, 26 Dec 2020 20:03:59 -0800 (PST) Message-ID: References: <<87o8ivumn5.fsf@telefonica.net>> <> <> <<83sg7xrgr5.fsf@gnu.org>> <> <<83h7odrdwy.fsf@gnu.org>> <<86sg7w39fh.fsf@163.com>> <<83pn30pku5.fsf@gnu.org>> <<86wnx8otoj.fsf@163.com>> <<834kkbp9vr.fsf@gnu.org>> <<87czyxuxw6.fsf@db48x.net>> <<87y2hlt82w.fsf@db48x.net>> <<87lfdlvsw4.fsf@logand.com>> <<83h7o8ncly.fsf@gnu.org>> <<87pn2wudab.fsf@db48x.net>> <<87mty0c3m1.fsf@gnus.org>> <<83czywnb86.fsf@gnu.org>> <<87im8ob707.fsf@gnus.org>> <<87eejcb6nx.fsf@gnus.org>> <> <<875z4ob5c9.fsf@gnus.org>> <> <<83mtxzly4f.fsf@gnu.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="35431"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, emacs-devel@gnu.org To: Eli Zaretskii , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Dec 27 05:05:43 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 1ktNJP-000955-2D for ged-emacs-devel@m.gmane-mx.org; Sun, 27 Dec 2020 05:05:43 +0100 Original-Received: from localhost ([::1]:47232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ktNJO-0002Rc-1Z for ged-emacs-devel@m.gmane-mx.org; Sat, 26 Dec 2020 23:05:42 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ktNHv-0001yi-If for emacs-devel@gnu.org; Sat, 26 Dec 2020 23:04:11 -0500 Original-Received: from userp2130.oracle.com ([156.151.31.86]:45092) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ktNHt-0001aJ-85; Sat, 26 Dec 2020 23:04:10 -0500 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0BR3wuiH054194; Sun, 27 Dec 2020 04:04:03 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=XP4x7T3jlJNchkvOIBOfBTP2y/pk2Ey26d5BV3Lvumk=; b=YPRapQ4um74r6yD8lQ733sphKBnSahb0Tc9OvsimyBbshBYrqPNADQ1LY99yUHv7RXCV Ufw/ifoZEpe/eT2ACyONxs+bawaIYIzyGg4SClmlSsUMelpQVCbx6fz/uWLOVMoZ7lim Uya5MAHCjBwxsxfsd4rKbebP0mF5apcurHqmeeDhqwHXRW19a/IQ+paRoMGO+Si/qW0U VBa6YeYay+W8/ag06OMJz45KpQdpGzJNjSTiV7bYxB+4pIoTc6Lpap9OZddVkt0onCwf p+/32K0UCHcMrApY6sUsll9lrc48ZwiuCwV4YxcVUPrkbPsavqlq7Qvcr/WPrMre9G79 KQ== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 35nvkqh666-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 27 Dec 2020 04:04:03 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0BR3xmpO148327; Sun, 27 Dec 2020 04:04:02 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 35pexneev8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 27 Dec 2020 04:04:02 +0000 Original-Received: from abhmp0016.oracle.com (abhmp0016.oracle.com [141.146.116.22]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 0BR440NQ008742; Sun, 27 Dec 2020 04:04:01 GMT In-Reply-To: <<83mtxzly4f.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5095.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9846 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012270023 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9846 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012270023 Received-SPF: pass client-ip=156.151.31.86; envelope-from=drew.adams@oracle.com; helo=userp2130.oracle.com 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:261879 Archived-At: > > Actually, AFAICT this all started from: > > (not (null (cdr deleted))) would avoid traversing > > the entire list, but it wouldn't be easier to read. >=20 > No, it started from (> (length LIST) 1) being a waste of cycles. I can't believe this thread is going on & on about this. Users need _anyway_ to learn that `length' traverses the entire list. And it's not the only function that does so. This is part of learning Lisp (and not just Lisp). All of your machinations to create additional functions to "help" users avoid the gotcha of using `length' when it's not needed won't really help, is my guess. With that "solution" you've only added a new problem: you now need to advertise the new functions and advise users to use them, not `length', in such a use case. Which means you still have the need to identify the relevant use cases, which means teach them about the `length' gotcha (or hope they follow advice without understanding). IOW, now you have 2 problems... This seems like a classic case of going against Occam's, Razor, i.e., a case of multiplying things needlessly. ___ [Personally, in the case considered, I'd use (cdr x). I wouldn't use (not (null (cdr x))). And it doesn't get simpler _or clearer_ than that, IMO.]