[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp ChangeLog arc-mode.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] emacs/lisp ChangeLog arc-mode.el |
Date: |
Thu, 26 Mar 2009 01:19:55 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 09/03/26 01:19:55
Modified files:
lisp : ChangeLog arc-mode.el
Log message:
(archive-ar-summarize): Don't burp on special GNU
extension entries for lookup tables or extended file name tables.
Distinguish the internal and external name, so lookup is easier.
(archive-ar-extract): Take advantage of more precise name.
Preserve point.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15523&r2=1.15524
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/arc-mode.el?cvsroot=emacs&r1=1.97&r2=1.98
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15523
retrieving revision 1.15524
diff -u -b -r1.15523 -r1.15524
--- ChangeLog 25 Mar 2009 17:47:07 -0000 1.15523
+++ ChangeLog 26 Mar 2009 01:19:50 -0000 1.15524
@@ -1,3 +1,11 @@
+2009-03-26 Stefan Monnier <address@hidden>
+
+ * arc-mode.el (archive-ar-summarize): Don't burp on special GNU
+ extension entries for lookup tables or extended file name tables.
+ Distinguish the internal and external name, so lookup is easier.
+ (archive-ar-extract): Take advantage of more precise name.
+ Preserve point.
+
2009-03-25 Chong Yidong <address@hidden>
* play/bubbles.el (bubbles): Doc fix (Bug#2776).
@@ -56,8 +64,8 @@
2009-03-21 Eli Zaretskii <address@hidden>
- * eshell/em-ls.el (eshell-ls-dir): Call
- eshell-directory-files-and-attributes with additional argument
+ * eshell/em-ls.el (eshell-ls-dir):
+ Call eshell-directory-files-and-attributes with additional argument
'integer or 'string, according to numeric-uid-gid.
(eshell-ls-file): Don't convert UID and GID to strings, as
eshell-ls-dir already did. Enlarge max user-name string length to
@@ -66,8 +74,8 @@
* eshell/esh-util.el (directory-files-and-attributes): Accept and
ignore additional optional argument id-format.
- (eshell-directory-files-and-attributes): Call
- directory-files-and-attributes with additional argument id-format.
+ (eshell-directory-files-and-attributes):
+ Call directory-files-and-attributes with additional argument id-format.
* eshell/em-ls.el (eshell-ls-file): Enlarge default size-width to 8.
(eshell-ls-dir): Under -l, call eshell-ls-printable-size with last
Index: arc-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/arc-mode.el,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -b -r1.97 -r1.98
--- arc-mode.el 5 Jan 2009 03:18:42 -0000 1.97
+++ arc-mode.el 26 Mar 2009 01:19:54 -0000 1.98
@@ -2015,6 +2015,7 @@
(search-forward "!<arch>\n")
(while (looking-at archive-ar-file-header-re)
(let ((name (match-string 1))
+ extname
;; Emacs will automatically use float here because those
;; timestamps don't fit in our ints.
(time (string-to-number (match-string 2)))
@@ -2024,20 +2025,18 @@
(size (string-to-number (match-string 6))))
;; Move to the beginning of the data.
(goto-char (match-end 0))
- (cond
- ((equal name "// ")
- ;; FIXME: todo
- nil)
- ((equal name "/ ")
- ;; FIXME: todo
- nil)
- (t
(setq time
(format-time-string
"%Y-%m-%d %H:%M"
(let ((high (truncate (/ time 65536))))
(list high (truncate (- time (* 65536.0 high)))))))
- (setq name (substring name 0 (string-match "/? *\\'" name)))
+ (setq extname
+ (cond ((equal name "// ")
+ (propertize ".<ExtNamesTable>." 'face 'italic))
+ ((equal name "/ ")
+ (propertize ".<LookupTable>." 'face 'italic))
+ ((string-match "/? *\\'" name)
+ (substring name 0 (match-beginning 0)))))
(setq user (substring user 0 (string-match " +\\'" user)))
(setq group (substring group 0 (string-match " +\\'" group)))
(setq mode (tar-grind-file-mode mode))
@@ -2050,9 +2049,9 @@
(if (> (length group) maxgroup) (setq maxgroup (length group)))
(if (> (length mode) maxmode) (setq maxmode (length mode)))
(if (> (length size) maxsize) (setq maxsize (length size)))
- (push (vector name name nil mode
+ (push (vector name extname nil mode
time user group size)
- files)))))
+ files)))
(setq files (nreverse files))
(goto-char (point-min))
(let* ((format (format "%%%ds %%%ds/%%-%ds %%%ds %%%ds %%s"
@@ -2091,13 +2090,13 @@
(save-restriction
;; We may be in archive-mode or not, so either with or without
;; narrowing and with or without a prepended summary.
+ (save-excursion
(widen)
(search-forward "!<arch>\n")
(while (and (not from) (looking-at archive-ar-file-header-re))
(let ((this (match-string 1)))
(setq size (string-to-number (match-string 6)))
(goto-char (match-end 0))
- (setq this (substring this 0 (string-match "/? *\\'" this)))
(if (equal name this)
(setq from (point))
;; Move to the end of the data.
@@ -2109,7 +2108,7 @@
(insert-buffer-substring archivebuf from (+ from size)))
(set-buffer-multibyte 'to)
;; Inform the caller that the call succeeded.
- t)))))
+ t))))))
;; -------------------------------------------------------------------------
;; This line was a mistake; it is kept now for compatibility.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/lisp ChangeLog arc-mode.el,
Stefan Monnier <=