summaryrefslogtreecommitdiff
path: root/lisp/arc-mode.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2019-11-19 17:48:55 +0200
committerEli Zaretskii <eliz@gnu.org>2019-11-19 17:48:55 +0200
commit6f30642973975a317a9c94ceba737a4bafc89919 (patch)
tree3c879f677c216974b21416644e19120185055d7f /lisp/arc-mode.el
parentbb1e7433cb6c9d96ff048a82be1ea6bdc06dba96 (diff)
downloademacs-6f30642973975a317a9c94ceba737a4bafc89919.tar.gz
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)
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r--lisp/arc-mode.el11
1 files changed, 8 insertions, 3 deletions
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