[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64686: 30.0.50; Tar mode @PaxHeader bug
From: |
Basil L. Contovounesios |
Subject: |
bug#64686: 30.0.50; Tar mode @PaxHeader bug |
Date: |
Fri, 28 Jul 2023 12:04:27 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii [2023-07-27 11:38 +0300] wrote:
> Should be fixed now on the master branch.
Thanks, but doesn't tar-parse-pax-extended-header mutate
tar-attr-vector, which is initialised with a constant vector?
E.g. (aset [nil] 0 nil) would normally result in:
Warning: ‘aset’ on constant vector (arg 1)
Is this a welcome change?
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index e4ea95343e0..2b6329fecc3 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -255,15 +255,14 @@ pax-decode-string
(decode-coding-string str coding)
str))
-(defvar tar-attr-vector '[nil nil nil nil nil nil nil nil])
+(defvar tar-attr-vector (make-vector 8 nil))
(defun tar-parse-pax-extended-header (pos)
"Parse a pax external header of a Posix-format tar file."
(let ((end (+ pos 512))
(result tar-attr-vector)
(coding 'utf-8-unix)
attr value record-len value-len)
- (dotimes (i 8)
- (aset result i nil))
+ (fillarray result nil)
(goto-char pos)
(while (and (< pos end)
(re-search-forward pax-extended-attribute-record-regexp
Thanks,
--
Basil