diff options
| author | Eli Zaretskii | 2007-05-23 18:36:16 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2007-05-23 18:36:16 +0000 |
| commit | 133ecc548e3c1318a1011bcec2cd11ecf32c00fa (patch) | |
| tree | d54e7ee7f8a971fb9527ae06462a5de4cfbf8a31 | |
| parent | 31b6b8cde68588dc176d20f039f9cba00c79feba (diff) | |
| download | emacs-133ecc548e3c1318a1011bcec2cd11ecf32c00fa.tar.gz emacs-133ecc548e3c1318a1011bcec2cd11ecf32c00fa.zip | |
(tar-header-block-summarize, tar-summarize-buffer, tar-get-descriptor): Handle
type 55, an extended pax header.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/tar-mode.el | 18 |
2 files changed, 15 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c6c30bd3918..8c6fb99178c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-05-23 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * tar-mode.el (tar-header-block-summarize, tar-summarize-buffer) | ||
| 4 | (tar-get-descriptor): Handle type 55, an extended pax header. | ||
| 5 | |||
| 1 | 2007-05-23 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2007-05-23 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * autoinsert.el (auto-insert-alist): Quote elisp sample code so as not | 8 | * autoinsert.el (auto-insert-alist): Quote elisp sample code so as not |
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index f5022a9fcd4..5d5f13776a2 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el | |||
| @@ -363,6 +363,7 @@ MODE should be an integer which is a file mode value." | |||
| 363 | ((eq type 29) ?M) ; multivolume continuation | 363 | ((eq type 29) ?M) ; multivolume continuation |
| 364 | ((eq type 35) ?S) ; sparse | 364 | ((eq type 35) ?S) ; sparse |
| 365 | ((eq type 38) ?V) ; volume header | 365 | ((eq type 38) ?V) ; volume header |
| 366 | ((eq type 55) ?H) ; extended pax header | ||
| 366 | (t ?\s) | 367 | (t ?\s) |
| 367 | ) | 368 | ) |
| 368 | (tar-grind-file-mode mode) | 369 | (tar-grind-file-mode mode) |
| @@ -421,7 +422,7 @@ is visible (and the real data of the buffer is hidden)." | |||
| 421 | (buffer-substring pos (+ pos 512))))))) | 422 | (buffer-substring pos (+ pos 512))))))) |
| 422 | (setq pos (+ pos 512)) | 423 | (setq pos (+ pos 512)) |
| 423 | (progress-reporter-update progress-reporter pos) | 424 | (progress-reporter-update progress-reporter pos) |
| 424 | (if (eq (tar-header-link-type tokens) 20) | 425 | (if (memq (tar-header-link-type tokens) '(20 55)) |
| 425 | ;; Foo. There's an extra empty block after these. | 426 | ;; Foo. There's an extra empty block after these. |
| 426 | (setq pos (+ pos 512))) | 427 | (setq pos (+ pos 512))) |
| 427 | (let ((size (tar-header-size tokens))) | 428 | (let ((size (tar-header-size tokens))) |
| @@ -657,13 +658,14 @@ appear on disk when you save the tar-file's buffer." | |||
| 657 | (size (tar-header-size tokens)) | 658 | (size (tar-header-size tokens)) |
| 658 | (link-p (tar-header-link-type tokens))) | 659 | (link-p (tar-header-link-type tokens))) |
| 659 | (if link-p | 660 | (if link-p |
| 660 | (error "This is a %s, not a real file" | 661 | (error "This is a%s, not a real file" |
| 661 | (cond ((eq link-p 5) "directory") | 662 | (cond ((eq link-p 5) " directory") |
| 662 | ((eq link-p 20) "tar directory header") | 663 | ((eq link-p 20) " tar directory header") |
| 663 | ((eq link-p 28) "next has longname") | 664 | ((eq link-p 28) " next has longname") |
| 664 | ((eq link-p 29) "multivolume-continuation") | 665 | ((eq link-p 29) " multivolume-continuation") |
| 665 | ((eq link-p 35) "sparse entry") | 666 | ((eq link-p 35) " sparse entry") |
| 666 | ((eq link-p 38) "volume header") | 667 | ((eq link-p 38) " volume header") |
| 668 | ((eq link-p 55) "n extended pax header") | ||
| 667 | (t "link")))) | 669 | (t "link")))) |
| 668 | (if (zerop size) (error "This is a zero-length file")) | 670 | (if (zerop size) (error "This is a zero-length file")) |
| 669 | descriptor)) | 671 | descriptor)) |