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: New year - Out with the old! [was: ...Beef up the Emacs string utility set a bit] Date: Tue, 22 Dec 2020 09:04:32 -0800 (PST) Message-ID: <2f78ecd7-5846-44eb-89aa-4483503f0799@default> 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="21397"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Kangas , emacs-devel@gnu.org To: Lars Ingebrigtsen , =?utf-8?B?TWF0dGlhcyBFbmdkZWfDpXJk?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 22 18:11:27 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 1krlC3-0005Tf-6R for ged-emacs-devel@m.gmane-mx.org; Tue, 22 Dec 2020 18:11:27 +0100 Original-Received: from localhost ([::1]:33026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krlC2-0000yE-75 for ged-emacs-devel@m.gmane-mx.org; Tue, 22 Dec 2020 12:11:26 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58066) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krl5g-0003tf-T6 for emacs-devel@gnu.org; Tue, 22 Dec 2020 12:04:52 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:60016) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krl5X-0004Pf-JO for emacs-devel@gnu.org; Tue, 22 Dec 2020 12:04:52 -0500 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 0BMH015q172782; Tue, 22 Dec 2020 17:04:35 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 : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=yhzuasLW/GoicrvDEupCoHB8s/JidEI/Kscl+r875qQ=; b=NCvCjaJh1FBiYFiowkbMZoJhqwofIhHWk/qo9EfBef+Kd6t6iCWyz4ev2hdJyXJOHNfP +Onc1TvByJFxA0udWgbtUPoflr35JSMJjeaAEuXGL+S/rMR+PMa18brBS1jSUpsIUyps yn8w0up9DUdMqYr3A6jmWfZn9w82ahDreLffYETS5Xqa8oAFocRwsECGF5bJWLeJ1RGj hDoyLRZNjalohDNtEQ7KLWUwelgbt4T4Dg/uVW31NmFz10nnR79aLqumRkmj8+DWBBmP 0+lJL/8BbWUutCWn9fCGoaHDrYO6R0LYSn1MGY5DnIt5WReLXdJh6bpxjPUCLJKlNll/ QQ== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2130.oracle.com with ESMTP id 35k0d14dkv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 22 Dec 2020 17:04:35 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0BMGxbCe069270; Tue, 22 Dec 2020 17:04:35 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3030.oracle.com with ESMTP id 35k0e8nejy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 22 Dec 2020 17:04:35 +0000 Original-Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 0BMH4Xm4018735; Tue, 22 Dec 2020 17:04:33 GMT 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=9842 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012220126 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9842 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1031 phishscore=0 mlxlogscore=999 spamscore=0 impostorscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012220126 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.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:261512 Archived-At: Just a comment on the purported problem of Emacs users who tend to write their own or use an existing 3rd-party library for things like string concatenation etc. People mention problems of discovery, historical names that are less than ideal or can be confusing, and so on. I'll just mention that there can be other things at play, and the fact that some users don't use the predefined functions etc. isn't always or necessarily an indication that something basic or important is crying out to be "fixed". Consider, as an example, the use of plain string manipulation functions to fiddle with file and directory names. That's a fairly common mistake that some users make. Instead of using what Emacs makes available for this, and which is well and carefully documented in (elisp) `File Names' and its subsections (`File Name Components', `Relative File Names', `Directory Names', `File Name Expansion', `Unique File Names', `File Name Completion', and `Standard File Names'), some people just blunder ahead using general string operations. Maybe they're used to thinking of file names as just strings, maybe they couldn't find the file-name functions,... whatever. Why? Whose fault is this? What, if anything should Emacs do about it? Maybe consider that example, when you're off thinking about the "problems" of Emacs's appeal to new users, discoverability, poor names, etc. Does Emacs's "string utility" need to be "beefed up"? Maybe, maybe not. Dunno. But perhaps consider the context of such discussions in the light of our file-name "utilities" situation. Is it Emacs's "fault" that some users unwisely use string functions to manipulate file names? Maybe, maybe not. Worth pondering, perhaps. Another thing that can be involved: Emacs and Elisp are great grounds for tinkering. And some users (many of us) find it interesting or enjoyable to either roll our own or be among the first ("Look Ma!", "Tu m'as vu !") to discover some 3rd-party library that does some things differently or better. That then gets compared/contrasted with what conventional, old-school, vanilla Emacs offers. And we get crusaders and evangelizers for "modernizing", "innovating" etc., based sometimes on whatever flavor they happen to favor at the moment. I'm by no means making an argument that Emacs and Elisp have no room for improvement. But if someone follows these mailing lists for a few years it becomes apparent that there's recurring periodic "discovery", by a new crop of explorers, of perceived HUGE weaknesses in what Emacs and Elisp provide. And as "proof" we get anecdotes and "surveys" that show that users - especially new users - don't know about this or that, can't find this or that, expect something different, or just don't like this or that. Plus ca change... I don't argue that such ideas or complaints are inherently misplaced (out of familiarity with other approaches, ignorance, or whatever). I do think it can be good to take a somewhat historical, more distant view, and put such "Eureka! Emacs has huge problems!" discovery exclamations in context. Everyone new to Emacs finds how different it is. That can be like discovering a new continent. For some, it's marvelous. For others, it's just primitive, populated by savages, a decaying culture, or is just no longer relevant. For some, it's a mix. All of that's to be expected, and as expected it continues. Check back in another 40 years. ;-) Just one primitive observer, with one observation.