1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-30 19:53:09 +00:00

(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).
This commit is contained in:
Stefan Monnier 2009-10-17 04:36:11 +00:00
parent 67d3ffe498
commit 4062011e2f
2 changed files with 32 additions and 16 deletions

View File

@ -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.

View File

@ -171,8 +171,9 @@ This information is useful, but it takes screen space away from file names."
;; 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 @@ write-date, checksum, link-type, and link-name."
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 @@ for this to be permanent."
(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 @@ for this to be permanent."
(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