Received: (at 60929) by debbugs.gnu.org; 18 Jan 2023 11:14:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 18 06:14:51 2023 Received: from localhost ([127.0.0.1]:39463 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pI6P4-0008S5-Vj for submit <at> debbugs.gnu.org; Wed, 18 Jan 2023 06:14:51 -0500 Received: from netyu.xyz ([152.44.41.246]:49304 helo=mail.netyu.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ruijie@HIDDEN>) id 1pI6P2-0008Rw-KB for 60929 <at> debbugs.gnu.org; Wed, 18 Jan 2023 06:14:49 -0500 Received: from fw.net.yu.netyu.xyz (<unknown> [222.248.4.98]) by netyu.xyz (OpenSMTPD) with ESMTPSA id cb23116c (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 18 Jan 2023 11:14:47 +0000 (UTC) References: <87o7qw6rrz.fsf@localhost> User-agent: mu4e 1.8.13; emacs 29.0.60 From: Ruijie Yu <ruijie@HIDDEN> To: Ihor Radchenko <yantar92@HIDDEN> Subject: Re: bug#60929: 30.0.50; [FR] `file-name-extension' and backup suffixes Date: Wed, 18 Jan 2023 19:08:36 +0800 In-reply-to: <87o7qw6rrz.fsf@localhost> Message-ID: <sdvilh4ccwy.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60929 Cc: 60929 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.0 (/) Ihor Radchenko <yantar92@HIDDEN> writes: > Hi, > > Would it be possible to make `file-name-sans-extension' strip extension > upon removing backup suffixes (optionally)? > > Currently, Emacs' handling of backup extensions is a bit inconsistent: > > auto-mode-alist recognizes > > ("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t) > ("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t) > > as backup extension and thus opens files like foo.org.bak with Org mode. > > [...] > > It would be useful if functions like `file-name-extension', > `file-name-sans-extension', and similar could optionally strip backup > suffixes that contain ".". > [...] Note that since the backup extensions can be stripped recursively in `auto-mode-alist' (that is, "test.c.bak.Bak.BAK.baK" is opened in c-mode because of the recursive extension stripping), if this FR is to be accepted, we would need to ensure that the above scenario is covered. Best, RY
bug-gnu-emacs@HIDDEN
:bug#60929
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 18 Jan 2023 10:49:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 18 05:49:51 2023 Received: from localhost ([127.0.0.1]:39397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pI60t-0005Sr-0d for submit <at> debbugs.gnu.org; Wed, 18 Jan 2023 05:49:51 -0500 Received: from lists.gnu.org ([209.51.188.17]:51454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <yantar92@HIDDEN>) id 1pI60o-0005Sf-Vl for submit <at> debbugs.gnu.org; Wed, 18 Jan 2023 05:49:49 -0500 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 <yantar92@HIDDEN>) id 1pI60o-0002pn-ML for bug-gnu-emacs@HIDDEN; Wed, 18 Jan 2023 05:49:46 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <yantar92@HIDDEN>) id 1pI60l-0002Ey-8O for bug-gnu-emacs@HIDDEN; Wed, 18 Jan 2023 05:49:46 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 3D09F240323 for <bug-gnu-emacs@HIDDEN>; Wed, 18 Jan 2023 11:49:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1674038979; bh=3/Bg2V8mCuyttnQcBdiRxYKE83R/MuOPy0zJ0O2WhBk=; h=From:To:Subject:Date:From; b=aUF3csAEcEvHWaIq61Wh7Ju497F4Yc2u6W5YVwrurAebCm6EJO/EtoDxJCdiGcfFs PTuzwp7AhliaozLgN3S8eXDPVMDrGbzH3vCg+n5W7yqnjoDQMtOjx+hkIxigoxxk7+ 4UtVotNXHQq/EfwoRWwmHYqEzOv/zekY4rBITl9NkCmd9EootO9qi5BV3B+EWfc6NQ 8tDFI7tcNCnr89ydr3/trFJkVoylGs0+Jwqge1q2BEO9djEa5YK8BC2DCp1rDhmbrm F1JoVPu80wNXQZMxWCA2//GlaC2B/p29GzNgGL7zVL8AvWGmfjN5k1kGgnF5TzY5YK rPSBYntcl60Mw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NxjFF1MRGz9rxX for <bug-gnu-emacs@HIDDEN>; Wed, 18 Jan 2023 11:49:36 +0100 (CET) From: Ihor Radchenko <yantar92@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 30.0.50; [FR] `file-name-extension' and backup suffixes Date: Wed, 18 Jan 2023 10:50:08 +0000 Message-ID: <87o7qw6rrz.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@HIDDEN; helo=mout01.posteo.de 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, 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_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) Hi, Would it be possible to make `file-name-sans-extension' strip extension upon removing backup suffixes (optionally)? Currently, Emacs' handling of backup extensions is a bit inconsistent: auto-mode-alist recognizes ("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t) ("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t) as backup extension and thus opens files like foo.org.bak with Org mode. Further, `file-name-extension' returns: The extension, in a file name, is the part that begins with the last ., excluding version numbers and backup suffixes, except that a leading . of the file name, if there is one, doesn't count. But it only works for the native Emacs "~" style of backups (on Linux, at least). If one tries (file-name-extension "foo.org.bak") ; => "bak", we do not see backup extension stripped, which is correct wrt the docstring, but problematic when we need to handle backup files on Windows. If one needs to strip backup extension/suffix for .bak and similar files, there is a need to re-use "\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" regexp, which is not ideal because auto-mode-alist may include other backup suffixes in future. It would be useful if functions like `file-name-extension', `file-name-sans-extension', and similar could optionally strip backup suffixes that contain ".". Context: https://orgmode.org/list/25543.50706.554658.6937@HIDDEN In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.17.6) of 2023-01-16 built on localhost Repository revision: bb679244152dddd9949ca065aa6617457f7a7144 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101006 System Description: Gentoo Linux -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>
Ihor Radchenko <yantar92@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#60929
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.