From unknown Sat Aug 09 19:19:56 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Apr 2019 09:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 35448 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 35448@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15563578023812 (code B ref -1); Sat, 27 Apr 2019 09:37:01 +0000 Received: (at submit) by debbugs.gnu.org; 27 Apr 2019 09:36:42 +0000 Received: from localhost ([127.0.0.1]:34347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKJlB-0000zQ-KS for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKJl9-0000zC-Tv for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:40 -0400 Received: from lists.gnu.org ([209.51.188.17]:53322) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hKJkw-0002ft-Ri for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKJkv-0006ks-IV for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hKJkt-0002em-PK for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:25 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:55405) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hKJkt-0002eM-4q for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:23 -0400 Received: by mail-wm1-x333.google.com with SMTP id o25so6878684wmf.5 for ; Sat, 27 Apr 2019 02:36:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=MYyjfXEYaW9nPuRJWym/S/Vh3ksmvDR408SdWD6yaos=; b=gmBagvbhB3U7bKyP1BNzdYPbtqrjyUk9myGL9uOyKG/qO9kMiO3NAUYjlGInuGb4Fd fX1Ob1WDwUMjeIhr8rKnq1M4e4YDp7MswP4TqnD1JAEqZKsscoYuVVBIYL6y5j0cM5im yty9Q32XaKC/Mzz+k5J1C9A3kLfhN2kWrI5G5Z9XeWHjP49T4shveylZRuViQMNNdctk PaDyhacqot/fOT+oecUawRRO7XE9xHlqH52HzcojCRdWFoUXjH0kK9JGNTfU4Kt8EgGo pzWdqlQioDkDeelEbrOvla+J0xgLjSDF/puWiSHxK2U7lM2BttQczdyhbMKp5eEXyHxG oprg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=MYyjfXEYaW9nPuRJWym/S/Vh3ksmvDR408SdWD6yaos=; b=pQ2Oieqzu5UeDn+kCMelFmOwe0tKPMCAHFSqrFH2i2Vwzol6AClz+ZyXQ6D5WaHa0D mh3Iy69abAl9DEPnQ18GKV5J1Yvy/axRh6DshRP23fXIKMxVm2EkDmUolnRP4O2VJ46J 3NKSBHQIHq7ft3o9mKsMzkgV6CnqxCko3V+cXCSw6mWmCYWy05hhU7tyeVFrNsWq6xsV b/De178Hc0uQhPQ4HIJI19H1WfY/7FHmTphr144L2ipMtlyvX2O0lXQ55Q5pw+dkm5iI NgpGYIVE5G8z/CEFt4BJfnE/3z3OBIHwV5nhum3ZkfGqFSuo2kbYR6z1MQ9gllVTPAq9 lGmA== X-Gm-Message-State: APjAAAUWSROEPBPoSFOdwWtFTiu9kq6RNJ4WG51AYiHheOXUWhtzTgYE odMsahWXyVdsrwg+uLEkSD+9ZKNc9bS5kA== X-Google-Smtp-Source: APXvYqxfaBhFG3swwSdq09p97G64sWpMZrE+W9eRpy+S/sB4IgE+57Mk+61dgkE0jNbILljK87ziyg== X-Received: by 2002:a1c:be0e:: with SMTP id o14mr11204890wmf.118.1556357780791; Sat, 27 Apr 2019 02:36:20 -0700 (PDT) Received: from calancha-pc.dy.bbexcite.jp ([2a02:8308:703c:300:e753:cca1:dac7:cbb0]) by smtp.gmail.com with ESMTPSA id b184sm999002wmh.17.2019.04.27.02.36.19 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 27 Apr 2019 02:36:19 -0700 (PDT) From: Tino Calancha Date: Sat, 27 Apr 2019 18:36:14 +0900 Message-ID: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) emacs -Q ;; Do the following recipe in an empty directory C-x b schrodinger:cat RET Miauuuu!!! C-x C-s RET ;; A message in the minibuffer confirms the name of the file writen to disk. ;; Apparentely, the base name of such a file matches the buffer name. M-: (file-exists-p buffer-file-name) => t M-: (string= (file-name-nondirectory buffer-file-name) (buffer-name)) => t ;; In fact, no file matches the buffer name in the directory M-: (directory-files default-directory nil (buffer-name)) => nil ;; There is an _empty_ file with name, the buffer name upto the colon M-: (directory-files default-directory nil "schrod") => ("schrodinger") M-: (with-temp-buffer (insert-file-contents "schrodinger") (buffer-size)) => 0 --8<-----------------------------cut here---------------start------------->8--- diff --git a/lisp/files.el b/lisp/files.el index c05d70a00e..93600d2edb 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -5106,6 +5106,9 @@ basic-save-buffer (expand-file-name (read-file-name "File to save in: " nil (expand-file-name (buffer-name)))))) + (when (and (eq 'windows-nt system-type) + (string-match-p "[:*?\"<>]" (file-name-nondirectory filename))) + (error "A file name cannot contain any of the following characters: :*?\"<>")) (if (file-exists-p filename) (if (file-directory-p filename) ;; Signal an error if the user specified the name of an --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13 built on CIRROCUMULUS Repository revision: fd1b34bfba8f3f6298df47c8e10b61530426f749 Windowing system distributor 'Microsoft Corp.', version 10.0.17763 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --without-dbus --host=x86_64-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS LCMS2 Important settings: value of $LANG: ENU locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 97250 8162) (symbols 48 20206 1) (miscs 40 40 94) (strings 32 29729 1209) (string-bytes 1 773709) (vectors 16 14066) (vector-slots 8 496277 12810) (floats 8 51 284) (intervals 56 250 17) (buffers 992 11)) From unknown Sat Aug 09 19:19:56 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Apr 2019 10:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35448 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Tino Calancha Cc: 35448@debbugs.gnu.org Received: via spool by 35448-submit@debbugs.gnu.org id=B35448.15563595327070 (code B ref 35448); Sat, 27 Apr 2019 10:06:01 +0000 Received: (at 35448) by debbugs.gnu.org; 27 Apr 2019 10:05:32 +0000 Received: from localhost ([127.0.0.1]:34516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKKD6-0001py-8O for submit@debbugs.gnu.org; Sat, 27 Apr 2019 06:05:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKKD5-0001pn-CC for 35448@debbugs.gnu.org; Sat, 27 Apr 2019 06:05:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43746) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKKCz-0002ej-P5; Sat, 27 Apr 2019 06:05:25 -0400 Received: from [176.228.60.248] (port=3147 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hKKCw-0004EB-Ky; Sat, 27 Apr 2019 06:05:25 -0400 Date: Sat, 27 Apr 2019 13:05:05 +0300 Message-Id: <83y33vvk4u.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> (message from Tino Calancha on Sat, 27 Apr 2019 18:36:14 +0900) References: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Tino Calancha > Date: Sat, 27 Apr 2019 18:36:14 +0900 > > > emacs -Q > ;; Do the following recipe in an empty directory > > C-x b schrodinger:cat RET > Miauuuu!!! > C-x C-s RET > ;; A message in the minibuffer confirms the name of the file writen to disk. > ;; Apparentely, the base name of such a file matches the buffer name. > M-: (file-exists-p buffer-file-name) > => t > M-: (string= (file-name-nondirectory buffer-file-name) (buffer-name)) > => t > > > ;; In fact, no file matches the buffer name in the directory > M-: (directory-files default-directory nil (buffer-name)) > => nil > > ;; There is an _empty_ file with name, the buffer name upto the colon > M-: (directory-files default-directory nil "schrod") > => ("schrodinger") It's a feature. See https://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_(ADS) http://www.flexhex.com/docs/articles/alternate-streams.phtml Whether we should allow this in Emacs is a different matter, but this was supported since day one, FWIW. From unknown Sat Aug 09 19:19:56 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Apr 2019 11:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35448 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: tino.calancha@gmail.com Cc: 35448@debbugs.gnu.org Received: via spool by 35448-submit@debbugs.gnu.org id=B35448.155636369814281 (code B ref 35448); Sat, 27 Apr 2019 11:15:01 +0000 Received: (at 35448) by debbugs.gnu.org; 27 Apr 2019 11:14:58 +0000 Received: from localhost ([127.0.0.1]:34636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKLIH-0003iH-R5 for submit@debbugs.gnu.org; Sat, 27 Apr 2019 07:14:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKLIG-0003i2-0k for 35448@debbugs.gnu.org; Sat, 27 Apr 2019 07:14:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKLIA-0005Da-Rl; Sat, 27 Apr 2019 07:14:50 -0400 Received: from [176.228.60.248] (port=3691 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hKLIA-00088Q-2r; Sat, 27 Apr 2019 07:14:50 -0400 Date: Sat, 27 Apr 2019 14:14:35 +0300 Message-Id: <83sgu3vgx0.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <83y33vvk4u.fsf@gnu.org> (message from Eli Zaretskii on Sat, 27 Apr 2019 13:05:05 +0300) References: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> <83y33vvk4u.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 27 Apr 2019 13:05:05 +0300 > From: Eli Zaretskii > Cc: 35448@debbugs.gnu.org > > > M-: (directory-files default-directory nil "schrod") > > => ("schrodinger") > > It's a feature. See > > https://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_(ADS) > http://www.flexhex.com/docs/articles/alternate-streams.phtml And to see that your cat's meow is not lost, try this: C-u M-! streams schrodinger RET From unknown Sat Aug 09 19:19:56 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Apr 2019 11:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35448 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: tino.calancha@gmail.com Cc: 35448@debbugs.gnu.org Received: via spool by 35448-submit@debbugs.gnu.org id=B35448.155636416315013 (code B ref 35448); Sat, 27 Apr 2019 11:23:01 +0000 Received: (at 35448) by debbugs.gnu.org; 27 Apr 2019 11:22:43 +0000 Received: from localhost ([127.0.0.1]:34656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKLPm-0003u4-QJ for submit@debbugs.gnu.org; Sat, 27 Apr 2019 07:22:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKLPl-0003tt-RS for 35448@debbugs.gnu.org; Sat, 27 Apr 2019 07:22:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44342) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKLPg-0002c5-Kq; Sat, 27 Apr 2019 07:22:36 -0400 Received: from [176.228.60.248] (port=4216 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hKLPg-0000ET-0u; Sat, 27 Apr 2019 07:22:36 -0400 Date: Sat, 27 Apr 2019 14:22:21 +0300 Message-Id: <83r29nvgk2.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <83sgu3vgx0.fsf@gnu.org> (message from Eli Zaretskii on Sat, 27 Apr 2019 14:14:35 +0300) References: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> <83y33vvk4u.fsf@gnu.org> <83sgu3vgx0.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 27 Apr 2019 14:14:35 +0300 > From: Eli Zaretskii > Cc: 35448@debbugs.gnu.org > > > https://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_(ADS) > > http://www.flexhex.com/docs/articles/alternate-streams.phtml > > And to see that your cat's meow is not lost, try this: > > C-u M-! streams schrodinger RET Even better, kill the buffer and then "C-x C-f schrodinger:cat RET". (A program such as 'cat' will also show the text.) From debbugs-submit-bounces@debbugs.gnu.org Sat May 04 04:23:47 2019 Received: (at control) by debbugs.gnu.org; 4 May 2019 08:23:47 +0000 Received: from localhost ([127.0.0.1]:50327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMpxS-0006Sp-NO for submit@debbugs.gnu.org; Sat, 04 May 2019 04:23:46 -0400 Received: from mail-wr1-f48.google.com ([209.85.221.48]:37735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMpxR-0006Sc-25 for control@debbugs.gnu.org; Sat, 04 May 2019 04:23:45 -0400 Received: by mail-wr1-f48.google.com with SMTP id a12so506037wrn.4 for ; Sat, 04 May 2019 01:23:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:message-id:to:from:subject; bh=x1VFIoJCPx7NdkPtKOaa9j2dH6rZGjXUnY0ZUliJTCY=; b=jyXJmkbvpU2g/Rond50dp8u3WTsrBL6V2ohcHZuWvyF3DS9Gf+tcGiSiBjlBVnQpBh 7nOL7vC+kktOLucDcFilxxSUJnienpLGQ4md/kQGoXd1D7z3HC+aYyr3/EfdabCKOPet TsPwCT/KP6u5svZLmUadcRmgkO8nA2WtNEHjs+7/i+bG8w1lZOgkU7woMLy/+aHDqwgE p3rH4QmP0W0rFrQoUYx9LFLp/1jD6MnDFHx0V/8zL+lvcAFzhQ866KZTc3IyuTflz8Ia uD1qY63H9dALJIp3s5VMNr+jCOetj7nvureKRmTxU5GI0yckp6fBdMEHk7Mip1C5El2L UPlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:to:from:subject; bh=x1VFIoJCPx7NdkPtKOaa9j2dH6rZGjXUnY0ZUliJTCY=; b=i8j9rEg1p4wqfzHT25P/grm81koQUVtEAgzeflMxKRQPt70whoOPeEmB64w6Cmehnj wSRTrMicPAvoRAMyhVgbRmLEH2TmQBa4kACWZHSv+vUWr/+EFR1N4/EU9heSaeouOY3f HYpjGX9dDFMWX/BgAutQ2TvqGqi443rcXFZw5P1/k4yE4wz11gZ3UiKzB6GHRBYlvxx0 37X76s8Y6+7btvkyBGd+LJJWKXJbxUMnwhDHl3YpOWgzWSNQZIXQzXUQ03YHNS94XwNd x5/tatwDMmcIxxrdhnhCnSFNEjT53KwNYX0CVPq7EaG5qUyEh+ARH7ve9J6I1hxXjMS5 G26A== X-Gm-Message-State: APjAAAWcojNbEzDixFaoFTt4CJbNHFVPLohctQFZxEu0wh1dvedea0Bo smfaAYmk0C+erxGqdkzTyBdoxGcdWHs/QA== X-Google-Smtp-Source: APXvYqwpU7c8G2JcY2eOuuUaWF/XcNv9JgQ83ypUVx1Otid8e78kHPGE1dpTGpzWt8lEbA+caFdwPw== X-Received: by 2002:adf:f309:: with SMTP id i9mr10056892wro.258.1556958218660; Sat, 04 May 2019 01:23:38 -0700 (PDT) Received: from calancha-pc.dy.bbexcite.jp ([2a02:8308:703c:300:a925:e08:4b0c:f265]) by smtp.gmail.com with ESMTPSA id y6sm7771363wra.24.2019.05.04.01.23.37 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 04 May 2019 01:23:37 -0700 (PDT) Date: Sat, 04 May 2019 17:23:31 +0900 Message-Id: <87imuqiq64.fsf@calancha-pc.dy.bbexcite.jp> To: control@debbugs.gnu.org From: Tino Calancha Subject: control message for bug #35448 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 35448 notabug From unknown Sat Aug 09 19:19:56 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Tino Calancha Subject: bug#35448: closed (Re: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars) Message-ID: References: <87ftpuip7h.fsf@calancha-pc.dy.bbexcite.jp> <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> X-Gnu-PR-Message: they-closed 35448 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: notabug Reply-To: 35448@debbugs.gnu.org Date: Sat, 04 May 2019 08:45:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1556959502-2270-1" This is a multi-part message in MIME format... ------------=_1556959502-2270-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #35448: 26.2; save-buffer silently fails in winNT if buffer name has forbid= den chars which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 35448@debbugs.gnu.org. --=20 35448: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35448 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1556959502-2270-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 35448-done) by debbugs.gnu.org; 4 May 2019 08:44:30 +0000 Received: from localhost ([127.0.0.1]:50342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMqHV-0000Zl-QX for submit@debbugs.gnu.org; Sat, 04 May 2019 04:44:30 -0400 Received: from mail-wr1-f47.google.com ([209.85.221.47]:34141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMqHS-0000ZX-Qx for 35448-done@debbugs.gnu.org; Sat, 04 May 2019 04:44:27 -0400 Received: by mail-wr1-f47.google.com with SMTP id f7so350650wrq.1 for <35448-done@debbugs.gnu.org>; Sat, 04 May 2019 01:44:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=dUlin7Mcr41QKvDO4+ks1nvdPRV/F2Gv9t85gXUaWFo=; b=KGagTLkndWwLMKXCFD647yeSdb9b9KynBwx1rCtw9p7W3/9OnIHSAonSWqnchuKqs0 FcY+S4y/FsgvpLIBY06bfn9aZBzJ2a/p03dT8IQNoyu48Bbcvx3WZsHc6cq38NLBUvmj aooxrJuok/SNMMMmJFqtVZbi0OXrpySJv+X03pe85Of2JzJoQ2LrYLH1t7fHFb97puty R9x9XxgAxA8PnFrhVzV9H8X83rzSloMSc+//fzwZ7zVfyQh4LmB1cgIpyC7de6DSlirh jzLWAGW1HNrf1rJoZZmm7Y4/PH8Y6xCPLev8ZusRGfijbY55CEgl/hXWwGhPuKkz25yU UTNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=dUlin7Mcr41QKvDO4+ks1nvdPRV/F2Gv9t85gXUaWFo=; b=W53kpZPrLzS1CAw4vynrcELXFsXX85LU8lW38KWbxF+qrruMg2UyGYgGulWi0SDwXe wsmTm7DpvZ2xPm5rwyRs7kpAkQdHa5zVXngMeeYIi00HeD0P3owibgLcdJ0TkyBHrE4u jU2SmYzScNDhdJ3/89y+A365FnFX/TBG5uRQBJ2p0dUvr/IobmyxnC4jxMvHu4Vyh3Ly +fz4IT9VtZ3q+C+hd+wQqytSemZgaF9Hd1rGG85HYKHeMWd1QJ+qkPchqveOj3yxPTdx lwy7THxQczcLH0RHyA9eDdZVhpvWyrG0Nu1sIfGzuSMm2oUjn+IGwrM/xyftbZyK65p+ TT9w== X-Gm-Message-State: APjAAAW0FnnUd3g7/BhM4dPVH+Zn0IaxVVSGePZpVa9E3klByS692fYZ FhhEl1iX5oElPH+Kx2/+oi+1AzdMJyI3lg== X-Google-Smtp-Source: APXvYqxPdthdvnAF6Acl5LHEsoBVrcHaDg4SPO1G5D9mjA/L3yP2WbG2eps/aHAYgkJaMeJ3wFGURg== X-Received: by 2002:adf:f6c6:: with SMTP id y6mr540699wrp.275.1556959460865; Sat, 04 May 2019 01:44:20 -0700 (PDT) Received: from calancha-pc.dy.bbexcite.jp ([2a02:8308:703c:300:a925:e08:4b0c:f265]) by smtp.gmail.com with ESMTPSA id d4sm7075122wrf.7.2019.05.04.01.44.19 for <35448-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 04 May 2019 01:44:20 -0700 (PDT) From: Tino Calancha To: 35448-done@debbugs.gnu.org Subject: Re: bug#35448: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars References: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> <83y33vvk4u.fsf@gnu.org> <83sgu3vgx0.fsf@gnu.org> <83r29nvgk2.fsf@gnu.org> Date: Sat, 04 May 2019 17:44:18 +0900 In-Reply-To: <83r29nvgk2.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Apr 2019 14:22:21 +0300") Message-ID: <87ftpuip7h.fsf@calancha-pc.dy.bbexcite.jp> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35448-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: I saw the cat meow. Since this is a feature I wasn't aware of, not a bug, then I am closing this bug. >> > https://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_(ADS) >> > http://www.flexhex.com/docs/articles/alternate-streams.phtml >> >> And to see that your cat's meow is not lost, try this: >> >> C-u M-! streams schrodinger RET > > Even better, kill the buffer and then "C-x C-f schrodinger:cat RET". > (A program such as 'cat' will also show the text.) ------------=_1556959502-2270-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 27 Apr 2019 09:36:42 +0000 Received: from localhost ([127.0.0.1]:34347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKJlB-0000zQ-KS for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hKJl9-0000zC-Tv for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:40 -0400 Received: from lists.gnu.org ([209.51.188.17]:53322) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hKJkw-0002ft-Ri for submit@debbugs.gnu.org; Sat, 27 Apr 2019 05:36:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKJkv-0006ks-IV for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hKJkt-0002em-PK for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:25 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:55405) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hKJkt-0002eM-4q for bug-gnu-emacs@gnu.org; Sat, 27 Apr 2019 05:36:23 -0400 Received: by mail-wm1-x333.google.com with SMTP id o25so6878684wmf.5 for ; Sat, 27 Apr 2019 02:36:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=MYyjfXEYaW9nPuRJWym/S/Vh3ksmvDR408SdWD6yaos=; b=gmBagvbhB3U7bKyP1BNzdYPbtqrjyUk9myGL9uOyKG/qO9kMiO3NAUYjlGInuGb4Fd fX1Ob1WDwUMjeIhr8rKnq1M4e4YDp7MswP4TqnD1JAEqZKsscoYuVVBIYL6y5j0cM5im yty9Q32XaKC/Mzz+k5J1C9A3kLfhN2kWrI5G5Z9XeWHjP49T4shveylZRuViQMNNdctk PaDyhacqot/fOT+oecUawRRO7XE9xHlqH52HzcojCRdWFoUXjH0kK9JGNTfU4Kt8EgGo pzWdqlQioDkDeelEbrOvla+J0xgLjSDF/puWiSHxK2U7lM2BttQczdyhbMKp5eEXyHxG oprg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=MYyjfXEYaW9nPuRJWym/S/Vh3ksmvDR408SdWD6yaos=; b=pQ2Oieqzu5UeDn+kCMelFmOwe0tKPMCAHFSqrFH2i2Vwzol6AClz+ZyXQ6D5WaHa0D mh3Iy69abAl9DEPnQ18GKV5J1Yvy/axRh6DshRP23fXIKMxVm2EkDmUolnRP4O2VJ46J 3NKSBHQIHq7ft3o9mKsMzkgV6CnqxCko3V+cXCSw6mWmCYWy05hhU7tyeVFrNsWq6xsV b/De178Hc0uQhPQ4HIJI19H1WfY/7FHmTphr144L2ipMtlyvX2O0lXQ55Q5pw+dkm5iI NgpGYIVE5G8z/CEFt4BJfnE/3z3OBIHwV5nhum3ZkfGqFSuo2kbYR6z1MQ9gllVTPAq9 lGmA== X-Gm-Message-State: APjAAAUWSROEPBPoSFOdwWtFTiu9kq6RNJ4WG51AYiHheOXUWhtzTgYE odMsahWXyVdsrwg+uLEkSD+9ZKNc9bS5kA== X-Google-Smtp-Source: APXvYqxfaBhFG3swwSdq09p97G64sWpMZrE+W9eRpy+S/sB4IgE+57Mk+61dgkE0jNbILljK87ziyg== X-Received: by 2002:a1c:be0e:: with SMTP id o14mr11204890wmf.118.1556357780791; Sat, 27 Apr 2019 02:36:20 -0700 (PDT) Received: from calancha-pc.dy.bbexcite.jp ([2a02:8308:703c:300:e753:cca1:dac7:cbb0]) by smtp.gmail.com with ESMTPSA id b184sm999002wmh.17.2019.04.27.02.36.19 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 27 Apr 2019 02:36:19 -0700 (PDT) From: Tino Calancha To: bug-gnu-emacs@gnu.org Subject: 26.2; save-buffer silently fails in winNT if buffer name has forbidden chars Date: Sat, 27 Apr 2019 18:36:14 +0900 Message-ID: <87k1ffiycx.fsf@calancha-pc.dy.bbexcite.jp> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) emacs -Q ;; Do the following recipe in an empty directory C-x b schrodinger:cat RET Miauuuu!!! C-x C-s RET ;; A message in the minibuffer confirms the name of the file writen to disk. ;; Apparentely, the base name of such a file matches the buffer name. M-: (file-exists-p buffer-file-name) => t M-: (string= (file-name-nondirectory buffer-file-name) (buffer-name)) => t ;; In fact, no file matches the buffer name in the directory M-: (directory-files default-directory nil (buffer-name)) => nil ;; There is an _empty_ file with name, the buffer name upto the colon M-: (directory-files default-directory nil "schrod") => ("schrodinger") M-: (with-temp-buffer (insert-file-contents "schrodinger") (buffer-size)) => 0 --8<-----------------------------cut here---------------start------------->8--- diff --git a/lisp/files.el b/lisp/files.el index c05d70a00e..93600d2edb 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -5106,6 +5106,9 @@ basic-save-buffer (expand-file-name (read-file-name "File to save in: " nil (expand-file-name (buffer-name)))))) + (when (and (eq 'windows-nt system-type) + (string-match-p "[:*?\"<>]" (file-name-nondirectory filename))) + (error "A file name cannot contain any of the following characters: :*?\"<>")) (if (file-exists-p filename) (if (file-directory-p filename) ;; Signal an error if the user specified the name of an --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13 built on CIRROCUMULUS Repository revision: fd1b34bfba8f3f6298df47c8e10b61530426f749 Windowing system distributor 'Microsoft Corp.', version 10.0.17763 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --without-dbus --host=x86_64-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS LCMS2 Important settings: value of $LANG: ENU locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 97250 8162) (symbols 48 20206 1) (miscs 40 40 94) (strings 32 29729 1209) (string-bytes 1 773709) (vectors 16 14066) (vector-slots 8 496277 12810) (floats 8 51 284) (intervals 56 250 17) (buffers 992 11)) ------------=_1556959502-2270-1--