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: Wed, 27 Dec 2023 23:36:32 +0900 Message-ID: References: <83a5q1dy1h.fsf@gnu.org> <831qb8anak.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="5603"; 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 Wed Dec 27 15:37:26 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 1rIV2D-0001HS-O3 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 Dec 2023 15:37:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rIV1u-0001VI-3m; Wed, 27 Dec 2023 09:37: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 1rIV1r-0001Ut-JZ for bug-gnu-emacs@gnu.org; Wed, 27 Dec 2023 09:37:03 -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 1rIV1r-0003oh-Bp for bug-gnu-emacs@gnu.org; Wed, 27 Dec 2023 09:37:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rIV1p-0003Jo-SO for bug-gnu-emacs@gnu.org; Wed, 27 Dec 2023 09:37:01 -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: Wed, 27 Dec 2023 14:37:01 +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.170368780412722 (code B ref 67926); Wed, 27 Dec 2023 14:37:01 +0000 Original-Received: (at 67926) by debbugs.gnu.org; 27 Dec 2023 14:36:44 +0000 Original-Received: from localhost ([127.0.0.1]:35564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rIV1X-0003J7-9P for submit@debbugs.gnu.org; Wed, 27 Dec 2023 09:36:43 -0500 Original-Received: from mail-psaapc01olkn2010.outbound.protection.outlook.com ([40.92.52.10]:57760 helo=APC01-PSA-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rIV1V-0003Iv-A1 for 67926@debbugs.gnu.org; Wed, 27 Dec 2023 09:36:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JcWqDEbf6/uW5Quv6hZLK5HJ6anxMboKuNrkKLozoTqJyqZdvHyDGg+9eXonKJHJEJ/TTym//q1fxZxzXBer7sokq6n+p2Q5VOPkt/RD+ATl7JGcOQfssjSz87Cp1yv5WkpErhzhMpQ13MAleju5WAvz587GMIgPqBSOif7IcUy+hV/u//mcgQU2HfLDUYzOKfTVhxqefISer73gVAvCxa3YNb7WMEuqdpQ3u7lp53v/mI2KSbsmHt6zEJeptbwGUhDh6Og/dWhgf+3G695vrMQRRGlYWqfTFhnVu9OvQGwTBMseJr5VVGwOxPOvBSraANRImUcV5RF5W+/HjUnbQA== 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=vxClnP9j0SFVl/y0bg9ki42KYXie6mTliebGY/XcKjE=; b=T3gPSAzyZBabVegQddvRiwkmylqQus6ev3eKCFJTGLXlV4RJvOH3u9xt9+VJpP9+xduBwIu1aPJRKrxZaoQYdboQsFL/pnjSx5EGzzxGBZ2OKEdMJp53om66TBLVT5FdGnF1qT46ADJc9jf/P9EaBDieNUWm9Yi7bGMZ2rGFtDQPTNLeHIzJ12GCo0EDkrZQ5u09Naip5SLxs6hZfTPrlFjIA40hRzmFaZ/ddcWgdMzhsiLE82S8zrPrfyGfHJJtuFS251YMHZNcx+ayZNG4KknbNs8Am2diA+zBrQbPeEHA8uLtWBZ1MCMzbeycBxOr9jrfg0+GRhwYu1/82S4x1Q== 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=vxClnP9j0SFVl/y0bg9ki42KYXie6mTliebGY/XcKjE=; b=K6B84PN4liPO2ixaWYL9PRe+6THAWrggK2mvDsV1pmPwxvbz+JPiW5iyLHMT1lMiSHOQohpVlkFCU1/Dizbf07ilCXdIRi8+8y5g32gbyqLE9AntZfERlHzTxfLT+Z/eM9/WKMZxGhtf/I8fs/e1Moz4DQUxTMbPmZtI6wZ60LPzTKUeuJsReTa5VYOefjmrHcQauwdcM4rfB3XcZEpVx5lJ2G5UeWC0ECw+KhGk+6q2Cua8X/iljzQsNnH3H3KnAQ+ZYzrLYIDVSUydD3yKnXjfomqbvDeqrL4V7ZArshAiyrE/PWs7BjbEHwnI55UanaHO6Ce9zyPI87g7oWpWpQ== Original-Received: from TYZPR01MB3920.apcprd01.prod.exchangelabs.com (2603:1096:400:30::11) by TYZPR01MB5130.apcprd01.prod.exchangelabs.com (2603:1096:400:331::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.27; Wed, 27 Dec 2023 14:36:35 +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; Wed, 27 Dec 2023 14:36:34 +0000 In-Reply-To: <831qb8anak.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 26 Dec 2023 12:26:00 -0500") X-TMN: [v/yyYDUi1IATvCqFGcW88F//YnZDJTvarKd9knluUfI=] X-ClientProxiedBy: OS0P286CA0020.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:9d::7) To TYZPR01MB3920.apcprd01.prod.exchangelabs.com (2603:1096:400:30::11) X-Microsoft-Original-Message-ID: <86v88j67bj.fsf@outlook.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYZPR01MB3920:EE_|TYZPR01MB5130:EE_ X-MS-Office365-Filtering-Correlation-Id: 1eee1166-e20e-4cd9-e038-08dc06e93965 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RkP7WuDShqee7rCHjvEhyh4moujiZp6bVFbrhr2MvJ11B+5Jk2B81B8kE85izST5HGZI4Ty0uJZDXGb5nxD4eQMKOV8wtUTd6pXxFl+wl6c4oG++wVFQPCLE9YtJLIvhop0J7o6TNZub0q8eGpvNZVmtOBUsbCU/yEH6s4GmZlUwTVLbimkRlzS62++lfwu6bTEplLRujeqgnu8PU+6+UJEbKWDmY8xxl30PArZMl7ae7yHIrcwzDxcwquaQkci6tOw+gPLSGF3JpodA5hSxIVt7LmyemNtwYA92MPAgfAciLFpjlMyDgTfcekIGIDJo5y7G6hT/MZJpamscvsIuMfwWajrGeeO5jNxcjcjYoPOYfBtXbS1znA1MQ1QfpfFYeXk4iDQxxcfo5OP0azPlBhsX7VfAx7FsJeipHQ5BweR2Gd3ddcu68qDaP1fdLozeNyrfoyqfMxdgZetq+Bsm1bpOi9MxcQp/+yz0IB8n22EvWx6av9qhh+GLuTs+hVPrT1jPS3Q7ZaXRA/iwknSNh2twzkhJkddhHF6zU3Jn8CyQ4QbljB1G316frJ1gfJyKmo3Ak8oTDQYysPl3pZZHvMyClyxbOKrHEYYw4q47jIg= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PqkjsIb1OwDYATfPMFwVEztaVGJ0RWZKUqrDPFTSXtOxZAeeZ6SckU1MaErv2miRLnoLbH/oubpWKsZXjKky1a8yLvB0Do2Z5Otdr2f9SxVbffpdMMBnaHlHwBj3+VvIghCek6O4AKI096GeGHSaXZUc7EiKiG31HCYjeFxQ4u2Eqg8XehLUyVxCJutmPwpZM1wAtX1gdzuH17VZOqUfiosa87T8DQltNE6JCehhBIrcHZUFysHnw9kZS/GlJ8aF7yv8SO0hsfcvZqklWayzI+a0B3xNekM7JO6lworayZpQy81BKGR0/86zvGsC3ofc1yLO8ztMnZ6ItmiODXV2W1RpaRjOqUrclRm+htNS/vk7x++OhtK/jknnev6M7xQewOE/ytwCXCo6GTAQ3OckpC6T1qkwegCaZpQ9UwiHE9uHeMb8Y/58qdF5WPRbGrHFEywzF1nPnSUKKwpZ9RFXJczRfXj9nIjbGNvdvOc4H42y6llDT4sfH/4d+sJq8X2N6fZo6sw5w59WzBBXofg160A30uXgR4/aSiwjgyQ0WEXFlatBRoMsRZHmqZCjhusLHnKkc25ZgvohkztSzQ0s2IyJCnK2L1P7k2H5B0CeafRiMfbDybWBDnbXegfwV+X3EYJzma9FKolPWJ4IRsinZMPorlwA0QUbemNc5Xk74LrNryY3ccKl+Qg71GL7mQRCDKXTGsyVyqZaDVrO/Hi8Hoqr9BSEG0DzG7Lnf9CI5RVImli0B9MoIWMK5y cUmmlH7T6lW9fQ0CA5TZ3PoXPC9wQYbT9ocCMbH/5i2Tcmri+QG1ME4o+zsOeyTeKqGjx9iibCe4bFsW9X7PqvG0YuRo8FcgaL X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1eee1166-e20e-4cd9-e038-08dc06e93965 X-MS-Exchange-CrossTenant-AuthSource: TYZPR01MB3920.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2023 14:36:34.4066 (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: TYZPR01MB5130 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:276941 Archived-At: Eli Zaretskii writes: >> 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))) > > Thanks, but I don't think it's a good idea. There are more > compression methods than just those 3, and some of them aren't > documented. unzip.exe itself supports 17 methods. So I'd rather stay > with unzip.exe than invent our own wheel. If unzip.exe(or an alternative external program) is necessary, I want emacs not to load contents of archive files into archive-mode buffer. It is waste of time and memory. I never opened large ZIP archives of Giga Byte size. But I would be glad to open such files with archive-mode in a short time and with a small memory.