From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: awrhygty@outlook.com Newsgroups: gmane.emacs.bugs Subject: bug#67926: 29.1; fail to extract ZIP subfile named with [...] Date: Tue, 26 Dec 2023 23:51:01 +0900 Message-ID: References: <83a5q1dy1h.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19573"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 67926@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 26 17:02:36 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1rI9t5-0004ra-3U for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 26 Dec 2023 17:02:35 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rI9sc-00061z-01; Tue, 26 Dec 2023 11:02:06 -0500 Original-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 ) id 1rI9sa-00061W-Dv for bug-gnu-emacs@gnu.org; Tue, 26 Dec 2023 11:02:04 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rI9sa-0005hn-4q for bug-gnu-emacs@gnu.org; Tue, 26 Dec 2023 11:02:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rI9sY-0000vh-E4 for bug-gnu-emacs@gnu.org; Tue, 26 Dec 2023 11:02:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: awrhygty@outlook.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 26 Dec 2023 16:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67926 X-GNU-PR-Package: emacs Original-Received: via spool by 67926-submit@debbugs.gnu.org id=B67926.17036064782629 (code B ref 67926); Tue, 26 Dec 2023 16:02:02 +0000 Original-Received: (at 67926) by debbugs.gnu.org; 26 Dec 2023 16:01:18 +0000 Original-Received: from localhost ([127.0.0.1]:54776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rI9ro-0000fd-9k for submit@debbugs.gnu.org; Tue, 26 Dec 2023 11:01:17 -0500 Original-Received: from mail-tyzapc01olkn2013.outbound.protection.outlook.com ([40.92.107.13]:31234 helo=APC01-TYZ-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rI9ri-0000dE-Sy for 67926@debbugs.gnu.org; Tue, 26 Dec 2023 11:01:13 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G+XvZ39GRC04GCLveJiw6Y9vvjzAq9KCNTROaON2iSLQ/CXPjsJ4SiKGyrxUJkxSQlioG1+VMO+i0L7z8Je+i2uurR2xSzajg7CaQS7rtrMqV3sRYEMeflaIULzJXrDqD8YpY0AJQT1+uoNJkbw4wzA+4Y1/5h7oCJkY4cnryfL9Wg7N+qKzrpBuJ8iMBm+3jCraYF7pUSIRKu90jW9dOKpNvDKgSpwiEZoPALPbT4aLLuAWm6PWS9HPOLCIMV/6P0dmSY55EGTQ444FF5QnSTIFEJPpFt6AUTQcNnB9d1plLNOw0OdJxvv35mTKJRttaNQT6T0kGwD6MUAHf8A5+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nMx3g9DpPxfwPjVU4WLbeP4gOJgHPAH5aDa47QKrMfg=; b=MPmod1AZGod3naZ2adjC21oShigHd8m5qHWV5VNJlTMVtNkTJ8YxxmOReSZ6Oe3qqCXVC1uVyZpzl51rFwx60za/5+g4uKi9vgi6h0eQmdSfvo2XmO9/DMGRTniT4Oj7VEf7jQWXpbMFeyhxG/BXJ+f4qYhy4Oti8+XeYQ0NRvCeo9f/NNpkaNUHrCGvf8ULb9Awpo2AKw1RVX0k8J1puUXdQM/OsPgZ1Z3bhDFqAiYYaCsYrXZmJpHoc2EzCz9iM7xBMCZDc3a64i13npLT3CiDR15WbjIl75hxU00Q32UXZ+fZmqb1T/VA4eTBcPAQt1wUL405fQtNbUqkDhBDPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nMx3g9DpPxfwPjVU4WLbeP4gOJgHPAH5aDa47QKrMfg=; b=KoRwUNdQRSw3ORc68FruSnFZPbu7N1FJ7jr8Mlu96mEp6nPrivntHeOlze/Zz9LLmpN6rxryqm1KkkgXGNNdAKDJ8L0gg9vsRt3Tm3f4yZp42J3H8urNzcgM1dnHQZ6k09UNQYxnRy0fEuOcYb/lpdfbHKveUmI62RMFZdH4U0yKQcHREyQtd8/Qd89Mh5WtKRnxTrNaUOqV0T78gjxwpvXSReQksO7DR8NWSM7dwDjs5MhwA+1PoL7iLDkgG7KWQicnGjy0h475XOEPhwbC5Wputos3uc7nV5JXurMdFUn+X29C/qPLi5BkV0mN45pMEHBYWTTydbsHwQdVa2wdig== Original-Received: from TYZPR01MB3920.apcprd01.prod.exchangelabs.com (2603:1096:400:30::11) by TYZPR01MB5415.apcprd01.prod.exchangelabs.com (2603:1096:400:289::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.24; Tue, 26 Dec 2023 14:51:02 +0000 Original-Received: from TYZPR01MB3920.apcprd01.prod.exchangelabs.com ([fe80::72b8:7298:fbc2:f8e7]) by TYZPR01MB3920.apcprd01.prod.exchangelabs.com ([fe80::72b8:7298:fbc2:f8e7%5]) with mapi id 15.20.7113.027; Tue, 26 Dec 2023 14:51:02 +0000 In-Reply-To: <83a5q1dy1h.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 23 Dec 2023 05:16:27 -0500") X-TMN: [m4pFOODMblTkpIwUCVOTQWEQ8EIognzm692S8t0YMcE=] X-ClientProxiedBy: OS3PR01CA0041.jpnprd01.prod.outlook.com (2603:1096:604:dd::10) To TYZPR01MB3920.apcprd01.prod.exchangelabs.com (2603:1096:400:30::11) X-Microsoft-Original-Message-ID: <86zfxx586i.fsf@outlook.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYZPR01MB3920:EE_|TYZPR01MB5415:EE_ X-MS-Office365-Filtering-Correlation-Id: 666f947a-21ff-423f-4cda-08dc06221434 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kEU/hSPPALHNiiHFJPpMp/d2DbWPdxiLS9iYqIQvHnPTjfWTwiuLUjJGgxYuS8KAJD2ZDJZcbHWn1DUiEg4jz7BJLEeeqWDgHheqI2XQ1N3Y1/CXX34r7upM6YyVIJJ+Kp+KjPzT3ofmABJ9UMP62ZB7sXXJSATOb5eZLUdUasFouP2lK+I2rUaYxQbXTTvA3WcxwaAspoUwUmcCehuFc1utUEGyFez0O/pH3vEhWiHUssjZzZG1OM6bKOt7rVNcZnUqfBjCdqP8GLq6OAis5fd7o7L3XsCzfKlj7n7Axby+gdp/BJUVq6xLq78Kr39ccK7Q/QxZ/kAA/qVpv8tGt83bGfzlg8Ekpp4p7E2GINfrtb7B9AfJGIpaZqMNCa1Os13TpfSQLRmueKJ9dNgyqdJ+HiXYzI/X8xXT52k3tQjBrFY+MPazJR3jQKMe4na4AMXuEbdU3/G/ixoV4FyQsJsXoEbp9pNXoxd9m456XYsmlR+ZdxeT11Ce8kNtcHgGc2F3w3NfQQT38FlZUyF09UGmZ2rt2aWz1Bsx2Eoe8E6fIszEveRxdpRImPYC/1aJ+NRVN+9wke1PEnlnyZ7ugu82hps+6IdJIgy2TrkU1vU= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yZ6kpknAsLBMBB/MhYQOIG/Y67U/inS8akMJEu3zhgeLXSIaHH+KBrlCcxeTMWrWuxESkIqkka0QcDsZUk7ncnZVzUwjjf94Kn2r2kjE/Y2AxNA5P7lJwF0QQtSz+6bhcGvsOe5fiCVNuoFCD7ayEy5os25Kzpv043i/IcEdTUJ0XQNuaZFLUaEJqz58d8YyMJltJfHrAvUZV29LvZseyCBjkLVdJ87y0YBwLHfy1DNReFGpn3IAlWN/uFUcU+Za0iXmQTYn91xa5roQR2JNQ140qbh4QNwwaxG7sNKrQBWH0mTOWjJbzCfTWI6yMa22dbNKVCOCtNyot3E1CLTZ23Bpe63jBXsgshISmPEAriO+f3w9F0vg0B87/dDW7UjTtHAzcZ6DkczoI9iudQwx7PMU/ydpcrwDaD2FeA6dOOx0nwUTiWHVtBiXGimP1oHE5LRlNzaY2UKhLQYe6Ab7tpX85fgIFwSfckU3ZWbDN5UsTNnmXI7Fx+j4VX09e+n5i3AKgytvmhdNB6Z3p2onVa7xQYErI2vzvt5f7vS7Sc8cw0OSKqSLJ5yY4ulv4pr1gf3RMLKCl6cPrJoon/9fFm35S0DtkdZ7kvcCvYeu5lSN00zA+FGJj4cdQkCFzpR4NmORQPkeRPX2rTmP2lQQchpZe6WO/E/771kYsoOt5r26c5VnL7Ty4WRBw0w09ubExKt6djQ6fxTviveCo3MFwbaunc9X89KMm8n5AGgvLlO+wbBkWqr7mNwbuS XHOYZqBHzM+m7C8hfNxdgul5IhsmyX34DH9xENf/TQD8etcwbttMInggtcynhNaQwnMW9sE5p1FEQUqBxDsCr3G73hRgTm7GyW X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 666f947a-21ff-423f-4cda-08dc06221434 X-MS-Exchange-CrossTenant-AuthSource: TYZPR01MB3920.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2023 14:51:02.2476 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR01MB5415 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:276908 Archived-At: Eli Zaretskii writes: >> This is because 'unzip.exe' treats subfilename arguments containing >> '[...]' as subfilename patterns. This does not occur with '7z.exe'. > > Is there any way of making 'unzip' extract file[abc].txt by name, by > some kind of escaping or protecting the [...] wildcard from expansion? > If there is such a way, we could try using it (maybe); if there's no > such way, I will tag this bug "wontfix", since it isn't a problem with > Emacs, but with the Windows build of 'unzip'. There is a tricky way to specify "file[[]abc].txt". I think that avoiding the use of unzip.exe/zip.exe solves problems about directory names, archive names, subfile names. Replacing #'archive-zip-extract with the form below, ZIP subfiles can be extracted without unzip.exe. (defun archive-zip-extract (archive name) (let* ((desc archive-subfile-mode) (buf (current-buffer)) (bufname (buffer-file-name))) (set-buffer archive-superior-buffer) (save-restriction (widen) (let* ((file-beg archive-proper-file-start) (p0 (+ file-beg (archive--file-desc-pos desc))) (p (+ file-beg (archive-l-e (+ p0 42) 4))) (bitflags (archive-l-e (+ p 6) 2)) (method (archive-l-e (+ p 8) 2)) (compsize (archive-l-e (+ p0 20) 4)) (fn-len (archive-l-e (+ p 26) 2)) (ex-len (archive-l-e (+ p 28) 2)) (data-beg (+ p 30 fn-len ex-len)) (data-end (+ data-beg compsize)) (coding-system-for-read 'no-conversion) (coding-system-for-write 'no-conversion) (default-directory temporary-file-directory)) (cond ((/= 0 (logand bitflags 1)) (message "Subfile is encrypted")) ((= method 0) (with-current-buffer buf (insert-buffer-substring archive-superior-buffer data-beg data-end))) ((eq method 8) (let ((crc-32 (buffer-substring (+ p0 16) (+ p0 20))) (orig-size (buffer-substring (+ p0 24) (+ p0 28))) (proc (start-process "gzip" buf "gzip" "-cd")) (header "\x1f\x8b\x08\0\0\0\0\0\0\0")) (set-process-sentinel proc #'ignore) (process-send-string proc header) (process-send-region proc data-beg data-end) (process-send-string proc crc-32) (process-send-string proc orig-size) (process-send-eof proc) (accept-process-output proc nil nil t) (delete-process proc))) ((eq method 12) (call-process-region data-beg data-end "bzip2" nil buf nil "-cd")) (t (message "Unknown compression method"))))) (set-buffer buf)))