Mercurial > emacs
changeset 105653:8177db6744a6
(tar-data-swapped-p): Make the assertion a bit more
permissive for when the buffer is empty.
(tar-header-block-tokenize): Decode the username and groupname.
(tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730).
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 17 Oct 2009 04:36:11 +0000 |
parents | 51bc239bdc37 |
children | 1a53b2a8065d |
files | lisp/ChangeLog lisp/tar-mode.el |
diffstat | 2 files changed, 32 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Oct 17 04:18:31 2009 +0000 +++ b/lisp/ChangeLog Sat Oct 17 04:36:11 2009 +0000 @@ -1,3 +1,10 @@ +2009-10-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * tar-mode.el (tar-data-swapped-p): Make the assertion a bit more + permissive for when the buffer is empty. + (tar-header-block-tokenize): Decode the username and groupname. + (tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730). + 2009-10-17 Chong Yidong <cyd@stupidchicken.com> * cedet/srecode/srt.el: @@ -13,8 +20,8 @@ (semantic-analyze-scoped-inherited-tag-map): Wrap calculation of tmpscope so that the regular scope will continue to work. - * cedet/semantic/idle.el (semantic-idle-tag-highlight): Use - semantic-idle-summary-highlight-face as the highlighting. + * cedet/semantic/idle.el (semantic-idle-tag-highlight): + Use semantic-idle-summary-highlight-face as the highlighting. * emacs-lisp/eieio-base.el (eieio-persistent-save): If buffer contains multibyte characters, choose first applicable coding @@ -40,12 +47,11 @@ * cedet/ede/proj-prog.el (project-run-target): New method. - * cedet/ede/proj-obj.el (ede-cc-linker): Rename from - ede-gcc-linker. + * cedet/ede/proj-obj.el (ede-cc-linker): Rename from ede-gcc-linker. (ede-g++-linker): Change Change link lines. - * cedet/ede/pmake.el (ede-pmake-insert-variable-shared): When - searching for old variables, go to the end of the buffer and + * cedet/ede/pmake.el (ede-pmake-insert-variable-shared): + When searching for old variables, go to the end of the buffer and search backward from there. (ede-proj-makefile-automake-insert-subdirs) (ede-proj-makefile-automake-insert-extradist): New methods. @@ -56,16 +62,16 @@ check that it exists. * cedet/ede/linux.el (ede-linux-version): Don't call "head". - (ede-linux-load): Wrap dir in file-name-as-directory. Set - :version slot. + (ede-linux-load): Wrap dir in file-name-as-directory. + Set :version slot. * cedet/ede/files.el (ede-get-locator-object): When enabling locate, do so on "top". * cedet/ede/emacs.el (ede-emacs-file-existing): Wrap "dir" in file-name-as-directory during compare. - (ede-emacs-version): Return Emacs/XEmacs differentiator. Get - version number from different places. Don't call egrep. + (ede-emacs-version): Return Emacs/XEmacs differentiator. + Get version number from different places. Don't call egrep. (ede-emacs-load): Set :version slot. Call file-name-as-directory to set the directory.
--- a/lisp/tar-mode.el Sat Oct 17 04:18:31 2009 +0000 +++ b/lisp/tar-mode.el Sat Oct 17 04:36:11 2009 +0000 @@ -171,8 +171,9 @@ ;; state correctly: the raw data is expected to be always larger than ;; the summary. (progn - (assert (eq tar-data-swapped - (> (buffer-size tar-data-buffer) (buffer-size)))) + (assert (or (= (buffer-size tar-data-buffer) (buffer-size)) + (eq tar-data-swapped + (> (buffer-size tar-data-buffer) (buffer-size))))) tar-data-swapped))) (defun tar-swap-data () @@ -312,8 +313,12 @@ link-p linkname uname-valid-p - (and uname-valid-p (substring string tar-uname-offset uname-end)) - (and uname-valid-p (substring string tar-gname-offset gname-end)) + (when uname-valid-p + (decode-coding-string + (substring string tar-uname-offset uname-end) coding)) + (when uname-valid-p + (decode-coding-string + (substring string tar-gname-offset gname-end) coding)) (tar-parse-octal-integer string tar-dmaj-offset tar-dmin-offset) (tar-parse-octal-integer string tar-dmin-offset tar-prefix-offset) )))))) @@ -1013,7 +1018,10 @@ (read-string "New UID string: " (tar-header-uname descriptor)))))) (cond ((stringp new-uid) (setf (tar-header-uname (tar-current-descriptor)) new-uid) - (tar-alter-one-field tar-uname-offset (concat new-uid "\000"))) + (tar-alter-one-field tar-uname-offset + (concat (encode-coding-string + new-uid tar-file-name-coding-system) + "\000"))) (t (setf (tar-header-uid (tar-current-descriptor)) new-uid) (tar-alter-one-field tar-uid-offset @@ -1039,7 +1047,9 @@ (cond ((stringp new-gid) (setf (tar-header-gname (tar-current-descriptor)) new-gid) (tar-alter-one-field tar-gname-offset - (concat new-gid "\000"))) + (concat (encode-coding-string + new-gid tar-file-name-coding-system) + "\000"))) (t (setf (tar-header-gid (tar-current-descriptor)) new-gid) (tar-alter-one-field tar-gid-offset