Commit 133ecc54 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

(tar-header-block-summarize, tar-summarize-buffer, tar-get-descriptor): Handle

type 55, an extended pax header.
parent 31b6b8cd
2007-05-23 Eli Zaretskii <eliz@gnu.org>
* tar-mode.el (tar-header-block-summarize, tar-summarize-buffer)
(tar-get-descriptor): Handle type 55, an extended pax header.
2007-05-23 Stefan Monnier <monnier@iro.umontreal.ca> 2007-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
* autoinsert.el (auto-insert-alist): Quote elisp sample code so as not * autoinsert.el (auto-insert-alist): Quote elisp sample code so as not
......
...@@ -363,6 +363,7 @@ MODE should be an integer which is a file mode value." ...@@ -363,6 +363,7 @@ MODE should be an integer which is a file mode value."
((eq type 29) ?M) ; multivolume continuation ((eq type 29) ?M) ; multivolume continuation
((eq type 35) ?S) ; sparse ((eq type 35) ?S) ; sparse
((eq type 38) ?V) ; volume header ((eq type 38) ?V) ; volume header
((eq type 55) ?H) ; extended pax header
(t ?\s) (t ?\s)
) )
(tar-grind-file-mode mode) (tar-grind-file-mode mode)
...@@ -421,7 +422,7 @@ is visible (and the real data of the buffer is hidden)." ...@@ -421,7 +422,7 @@ is visible (and the real data of the buffer is hidden)."
(buffer-substring pos (+ pos 512))))))) (buffer-substring pos (+ pos 512)))))))
(setq pos (+ pos 512)) (setq pos (+ pos 512))
(progress-reporter-update progress-reporter pos) (progress-reporter-update progress-reporter pos)
(if (eq (tar-header-link-type tokens) 20) (if (memq (tar-header-link-type tokens) '(20 55))
;; Foo. There's an extra empty block after these. ;; Foo. There's an extra empty block after these.
(setq pos (+ pos 512))) (setq pos (+ pos 512)))
(let ((size (tar-header-size tokens))) (let ((size (tar-header-size tokens)))
...@@ -657,13 +658,14 @@ appear on disk when you save the tar-file's buffer." ...@@ -657,13 +658,14 @@ appear on disk when you save the tar-file's buffer."
(size (tar-header-size tokens)) (size (tar-header-size tokens))
(link-p (tar-header-link-type tokens))) (link-p (tar-header-link-type tokens)))
(if link-p (if link-p
(error "This is a %s, not a real file" (error "This is a%s, not a real file"
(cond ((eq link-p 5) "directory") (cond ((eq link-p 5) " directory")
((eq link-p 20) "tar directory header") ((eq link-p 20) " tar directory header")
((eq link-p 28) "next has longname") ((eq link-p 28) " next has longname")
((eq link-p 29) "multivolume-continuation") ((eq link-p 29) " multivolume-continuation")
((eq link-p 35) "sparse entry") ((eq link-p 35) " sparse entry")
((eq link-p 38) "volume header") ((eq link-p 38) " volume header")
((eq link-p 55) "n extended pax header")
(t "link")))) (t "link"))))
(if (zerop size) (error "This is a zero-length file")) (if (zerop size) (error "This is a zero-length file"))
descriptor)) descriptor))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment