From 6f30642973975a317a9c94ceba737a4bafc89919 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 19 Nov 2019 17:48:55 +0200 Subject: Fix updating members of zip archives * lisp/arc-mode.el (archive-zip-case-fiddle): Change the default to nil except on MS-DOS. Update the doc string to make clear that a non-nil value also affects updating the archive. (Bug#38260) --- lisp/arc-mode.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lisp/arc-mode.el') diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 7f435f17a17..0cdc8a147d2 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -291,11 +291,16 @@ Archive and member name will be added." (string :format "%v"))) :group 'archive-zip) -(defcustom archive-zip-case-fiddle t - "If non-nil then zip file members may be down-cased. +(declare-function msdos-long-file-names "msdos.c") +(defcustom archive-zip-case-fiddle (and (eq system-type 'ms-dos) + (not (msdos-long-file-names))) + "If non-nil, then all-caps names of zip file members will be down-cased. This case fiddling will only happen for members created by a system -that uses caseless file names." +that uses caseless file names. +In addition, this flag forces members added/updated in the zip archive +to be truncated to DOS 8+3 file-name restrictions." :type 'boolean + :version "27.1" :group 'archive-zip) ;; ------------------------------ ;; Zoo archive configuration -- cgit v1.2.1