unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* zip-mode mis-displays large files
@ 2006-04-21 20:30 Sam Steingold
  2006-04-21 22:38 ` Kevin Rodgers
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Sam Steingold @ 2006-04-21 20:30 UTC (permalink / raw)


GNU Emacs 22.0.50.19 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2006-04-21 on quant8

 when I open a large zip file, I get a buffer:

 
M Filemode      Length  Date         Time      File
- ----------  --------  -----------  --------  ---------------
  -rw-rw-r--  43554195  22-Feb-2006  16:21:02  no-match-2.log
  -rw-rw-r--  23450570  22-Feb-2006  13:04:32  no-match-1.log
  -rw-rw-r--   1429515  27-Feb-2006  12:28:14  no-match-5.log
  -rw-rw-r--  13436029  24-Feb-2006  13:58:28  no-match-3.log
  -rw-rw-r--   1098419  24-Feb-2006  14:50:58  no-match-4.log
  -rw-rw-r--   3229672   8-Mar-2006  12:27:24  no-match-6.log
  -rw-rw-r--     78222   8-Mar-2006  16:07:08  no-match-7.log
  -rw-rw-r--   2125479   9-Mar-2006  10:15:20  no-match-8.log
  -rw-rw-r--    795894   9-Mar-2006  11:29:06  no-match-9.log
  -rw-rw-r--   1150734   9-Mar-2006  16:01:32  no-match-10.log
  -rw-rw-r--   4312779  13-Mar-2006  16:20:16  no-match-11.log
  -rw-rw-r--   3441758  16-Mar-2006  09:05:30  no-match-12.log
  -rw-rw-r--   4846691  17-Mar-2006  16:12:34  no-match-13.log
  -rw-rw-r--   8225778  21-Mar-2006  16:26:42  no-match-14.log
  -rw-rw-r--   6936304  23-Mar-2006  16:03:52  no-match-15.log
  -rw-rw-r--   6654086  27-Mar-2006  14:42:10  no-match-16.log
  -rw-rw-r--   4730025  29-Mar-2006  16:40:02  no-match-17.log
  -rw-rw-r--  -174564534   4-Apr-2006  12:27:04  no-match-18.log
  -rw-rw-r--   1955745   5-Apr-2006  09:00:16  no-match-19.log
  -rw-rw-r--   7809176   5-Apr-2006  16:20:36  no-match-20.log
  -rw-rw-r--   2328621   6-Apr-2006  17:25:24  no-match-21.log
  -rw-rw-r--    959910   7-Apr-2006  16:20:50  no-match-22.log
  -rw-rw-r--   2142728  17-Apr-2006  09:15:32  no-match-23.log
  -rw-rw-r--  105777607  17-Apr-2006  16:55:06  no-match-24.log
  -rw-rw-r--  66358753  18-Apr-2006  16:19:50  no-match-25.log
- ----------  --------  -----------  --------  ---------------
              142264156                         25 files

note the negative length of the "no-match-18.log" file.

unzip shows the size correctly:

$ unzip -l no-match.zip
Archive:  no-match.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
 43554195  02-22-06 16:21   no-match-2.log
 23450570  02-22-06 13:04   no-match-1.log
  1429515  02-27-06 12:28   no-match-5.log
 13436029  02-24-06 13:58   no-match-3.log
  1098419  02-24-06 14:50   no-match-4.log
  3229672  03-08-06 12:27   no-match-6.log
    78222  03-08-06 16:07   no-match-7.log
  2125479  03-09-06 10:15   no-match-8.log
   795894  03-09-06 11:29   no-match-9.log
  1150734  03-09-06 16:01   no-match-10.log
  4312779  03-13-06 16:20   no-match-11.log
  3441758  03-16-06 09:05   no-match-12.log
  4846691  03-17-06 16:12   no-match-13.log
  8225778  03-21-06 16:26   no-match-14.log
  6936304  03-23-06 16:03   no-match-15.log
  6654086  03-27-06 14:42   no-match-16.log
  4730025  03-29-06 16:40   no-match-17.log
1436048202  04-04-06 12:27   no-match-18.log
  1955745  04-05-06 09:00   no-match-19.log
  7809176  04-05-06 16:20   no-match-20.log
  2328621  04-06-06 17:25   no-match-21.log
   959910  04-07-06 16:20   no-match-22.log
  2142728  04-17-06 09:15   no-match-23.log
105777607  04-17-06 16:55   no-match-24.log
 66358753  04-18-06 16:19   no-match-25.log
 --------                   -------
1752876892                   25 files



-- 
Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 4 (Stentz)
http://www.palestinefacts.org http://ffii.org http://pmw.org.il
http://www.memri.org http://www.dhimmi.com http://www.openvotingconsortium.org
Good programmers treat Microsoft products as damage and route around it.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-21 20:30 zip-mode mis-displays large files Sam Steingold
@ 2006-04-21 22:38 ` Kevin Rodgers
  2006-04-22 12:00 ` Eli Zaretskii
  2006-04-22 12:03 ` Richard Stallman
  2 siblings, 0 replies; 7+ messages in thread
From: Kevin Rodgers @ 2006-04-21 22:38 UTC (permalink / raw)


Sam Steingold wrote:
> GNU Emacs 22.0.50.19 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
>  of 2006-04-21 on quant8
> 
>  when I open a large zip file, I get a buffer:
> 
>  
> M Filemode      Length  Date         Time      File
> - ----------  --------  -----------  --------  ---------------
>   -rw-rw-r--  43554195  22-Feb-2006  16:21:02  no-match-2.log
>   -rw-rw-r--  23450570  22-Feb-2006  13:04:32  no-match-1.log
>   -rw-rw-r--   1429515  27-Feb-2006  12:28:14  no-match-5.log
>   -rw-rw-r--  13436029  24-Feb-2006  13:58:28  no-match-3.log
>   -rw-rw-r--   1098419  24-Feb-2006  14:50:58  no-match-4.log
>   -rw-rw-r--   3229672   8-Mar-2006  12:27:24  no-match-6.log
>   -rw-rw-r--     78222   8-Mar-2006  16:07:08  no-match-7.log
>   -rw-rw-r--   2125479   9-Mar-2006  10:15:20  no-match-8.log
>   -rw-rw-r--    795894   9-Mar-2006  11:29:06  no-match-9.log
>   -rw-rw-r--   1150734   9-Mar-2006  16:01:32  no-match-10.log
>   -rw-rw-r--   4312779  13-Mar-2006  16:20:16  no-match-11.log
>   -rw-rw-r--   3441758  16-Mar-2006  09:05:30  no-match-12.log
>   -rw-rw-r--   4846691  17-Mar-2006  16:12:34  no-match-13.log
>   -rw-rw-r--   8225778  21-Mar-2006  16:26:42  no-match-14.log
>   -rw-rw-r--   6936304  23-Mar-2006  16:03:52  no-match-15.log
>   -rw-rw-r--   6654086  27-Mar-2006  14:42:10  no-match-16.log
>   -rw-rw-r--   4730025  29-Mar-2006  16:40:02  no-match-17.log
>   -rw-rw-r--  -174564534   4-Apr-2006  12:27:04  no-match-18.log
>   -rw-rw-r--   1955745   5-Apr-2006  09:00:16  no-match-19.log
>   -rw-rw-r--   7809176   5-Apr-2006  16:20:36  no-match-20.log
>   -rw-rw-r--   2328621   6-Apr-2006  17:25:24  no-match-21.log
>   -rw-rw-r--    959910   7-Apr-2006  16:20:50  no-match-22.log
>   -rw-rw-r--   2142728  17-Apr-2006  09:15:32  no-match-23.log
>   -rw-rw-r--  105777607  17-Apr-2006  16:55:06  no-match-24.log
>   -rw-rw-r--  66358753  18-Apr-2006  16:19:50  no-match-25.log
> - ----------  --------  -----------  --------  ---------------
>               142264156                         25 files
> 
> note the negative length of the "no-match-18.log" file.

,----[ C-h v most-positive-fixnum RET ]
| most-positive-fixnum is a variable defined in `C source code'.
| Its value is 268435455
|
| Documentation:
| The largest value that is representable in a Lisp integer.
|
| [back]
`----

-- 
Kevin Rodgers
Sr. Software Engineer, IHS

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-21 20:30 zip-mode mis-displays large files Sam Steingold
  2006-04-21 22:38 ` Kevin Rodgers
@ 2006-04-22 12:00 ` Eli Zaretskii
  2006-04-22 13:19   ` Eli Zaretskii
  2006-04-22 12:03 ` Richard Stallman
  2 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2006-04-22 12:00 UTC (permalink / raw)
  Cc: emacs-devel

> From: Sam Steingold <sds@podval.org>
> Date: Fri, 21 Apr 2006 16:30:05 -0400
> 
>   -rw-rw-r--  -174564534   4-Apr-2006  12:27:04  no-match-18.log
>   -rw-rw-r--   1955745   5-Apr-2006  09:00:16  no-match-19.log
>   -rw-rw-r--   7809176   5-Apr-2006  16:20:36  no-match-20.log
>   -rw-rw-r--   2328621   6-Apr-2006  17:25:24  no-match-21.log
>   -rw-rw-r--    959910   7-Apr-2006  16:20:50  no-match-22.log
>   -rw-rw-r--   2142728  17-Apr-2006  09:15:32  no-match-23.log
>   -rw-rw-r--  105777607  17-Apr-2006  16:55:06  no-match-24.log
>   -rw-rw-r--  66358753  18-Apr-2006  16:19:50  no-match-25.log
> - ----------  --------  -----------  --------  ---------------
>               142264156                         25 files
> 
> note the negative length of the "no-match-18.log" file.

Does the patch below give good results?

Index: lisp/arc-mode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/arc-mode.el,v
retrieving revision 1.72
diff -u -r1.72 arc-mode.el
--- lisp/arc-mode.el	8 Mar 2006 01:57:59 -0000	1.72
+++ lisp/arc-mode.el	22 Apr 2006 11:57:42 -0000
@@ -464,10 +464,12 @@
 (defsubst archive-name (suffix)
   (intern (concat "archive-" (symbol-name archive-subtype) "-" suffix)))
 
-(defun archive-l-e (str &optional len)
+(defun archive-l-e (str &optional len float)
   "Convert little endian string/vector STR to integer.
 Alternatively, STR may be a buffer position in the current buffer
-in which case a second argument, length LEN, should be supplied."
+in which case a second argument, length LEN, should be supplied.
+FLOAT, if non-nil, means generate and return a float instead of an integer
+\(use this for numbers that can overflow the Emacs integer)."
   (if (stringp str)
       (setq len (length str))
     (setq str (buffer-substring str (+ str len))))
@@ -475,7 +477,8 @@
         (i 0))
     (while (< i len)
       (setq i (1+ i)
-            result (+ (ash result 8) (aref str (- len i)))))
+            result (+ (if float (* result 256.0) (ash result 8))
+		      (aref str (- len i)))))
     result))
 
 (defun archive-int-to-mode (mode)
@@ -1331,13 +1334,13 @@
       (let* ((namefld (buffer-substring (+ p 2) (+ p 2 13)))
 	     (fnlen   (or (string-match "\0" namefld) 13))
 	     (efnname (substring namefld 0 fnlen))
-             (csize   (archive-l-e (+ p 15) 4))
+             (csize   (archive-l-e (+ p 15) 4 'float))
              (moddate (archive-l-e (+ p 19) 2))
              (modtime (archive-l-e (+ p 21) 2))
-             (ucsize  (archive-l-e (+ p 25) 4))
+             (ucsize  (float (archive-l-e (+ p 25) 4 'float)))
 	     (fiddle  (string= efnname (upcase efnname)))
              (ifnname (if fiddle (downcase efnname) efnname))
-             (text    (format "  %8d  %-11s  %-8s  %s"
+             (text    (format "  %8.0f  %-11s  %-8s  %s"
                               ucsize
                               (archive-dosdate moddate)
                               (archive-dostime modtime)
@@ -1359,7 +1362,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "  %8d                         %d file%s"
+	      (format "  %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))
@@ -1393,9 +1396,9 @@
     (while (progn (goto-char p)		;beginning of a base header.
 		  (looking-at "\\(.\\|\n\\)\\(.\\|\n\\)-l[hz][0-9ds]-"))
       (let* ((hsize   (char-after p))	;size of the base header (level 0 and 1)
-	     (csize   (archive-l-e (+ p 7) 4)) ;size of a compressed file to follow (level 0 and 2),
+	     (csize   (archive-l-e (+ p 7) 4 'float)) ;size of a compressed file to follow (level 0 and 2),
 					;size of extended headers + the compressed file to follow (level 1).
-             (ucsize  (archive-l-e (+ p 11) 4))	;size of an uncompressed file.
+             (ucsize  (archive-l-e (+ p 11) 4 'float))	;size of an uncompressed file.
 	     (time1   (archive-l-e (+ p 15) 2))	;date/time (MSDOS format in level 0, 1 headers
 	     (time2   (archive-l-e (+ p 17) 2))	;and UNIX format in level 2 header.)
 	     (hdrlvl  (char-after (+ p 20))) ;header level
@@ -1471,12 +1474,12 @@
 			  (archive-unixtime time1 time2)
 			(archive-dostime time1)))
 	(setq text    (if archive-alternate-display
-			  (format "  %8d  %5S  %5S  %s"
+			  (format "  %8.0f  %5S  %5S  %s"
 				  ucsize
 				  (or uid "?")
 				  (or gid "?")
 				  ifnname)
-			(format "  %10s  %8d  %-11s  %-8s  %s"
+			(format "  %10s  %8.0f  %-11s  %-8s  %s"
 				modestr
 				ucsize
 				moddate
@@ -1506,8 +1509,8 @@
 		       "M   Length    Uid    Gid  File\n"
 		    "M   Filemode    Length  Date         Time      File\n"))
 	  (sumline (if archive-alternate-display
-		       "  %8d                %d file%s"
-		     "              %8d                         %d file%s")))
+		       "  %8.0f                %d file%s"
+		     "              %8.0f                         %d file%s")))
       (insert header dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
@@ -1603,7 +1606,7 @@
 	     ;; (method  (archive-l-e (+ p 10) 2))
              (modtime (archive-l-e (+ p 12) 2))
              (moddate (archive-l-e (+ p 14) 2))
-             (ucsize  (archive-l-e (+ p 24) 4))
+             (ucsize  (archive-l-e (+ p 24) 4 'float))
              (fnlen   (archive-l-e (+ p 28) 2))
              (exlen   (archive-l-e (+ p 30) 2))
              (fclen   (archive-l-e (+ p 32) 2))
@@ -1629,7 +1632,7 @@
 			   (string= (upcase efnname) efnname)))
              (ifnname (if fiddle (downcase efnname) efnname))
 	     (width (string-width ifnname))
-             (text    (format "  %10s  %8d  %-11s  %-8s  %s"
+             (text    (format "  %10s  %8.0f  %-11s  %-8s  %s"
 			      modestr
                               ucsize
                               (archive-dosdate moddate)
@@ -1655,7 +1658,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "              %8d                         %d file%s"
+	      (format "              %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))
@@ -1709,7 +1712,7 @@
       (let* ((next    (1+ (archive-l-e (+ p 6) 4)))
              (moddate (archive-l-e (+ p 14) 2))
              (modtime (archive-l-e (+ p 16) 2))
-             (ucsize  (archive-l-e (+ p 20) 4))
+             (ucsize  (archive-l-e (+ p 20) 4 'float))
 	     (namefld (buffer-substring (+ p 38) (+ p 38 13)))
 	     (dirtype (char-after (+ p 4)))
 	     (lfnlen  (if (= dirtype 2) (char-after (+ p 56)) 0))
@@ -1733,7 +1736,7 @@
 	     (fiddle  (and (= lfnlen 0) (string= efnname (upcase efnname))))
              (ifnname (if fiddle (downcase efnname) efnname))
 	     (width (string-width ifnname))
-             (text    (format "  %8d  %-11s  %-8s  %s"
+             (text    (format "  %8.0f  %-11s  %-8s  %s"
                               ucsize
                               (archive-dosdate moddate)
                               (archive-dostime modtime)
@@ -1755,7 +1758,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "  %8d                         %d file%s"
+	      (format "  %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-21 20:30 zip-mode mis-displays large files Sam Steingold
  2006-04-21 22:38 ` Kevin Rodgers
  2006-04-22 12:00 ` Eli Zaretskii
@ 2006-04-22 12:03 ` Richard Stallman
  2 siblings, 0 replies; 7+ messages in thread
From: Richard Stallman @ 2006-04-22 12:03 UTC (permalink / raw)
  Cc: emacs-devel

The problem is integer overflow.  Emacs would be unable to visit that
subfile either, since it can't make a buffer that big.

If you edit a file that comes before the big file in the archive, does
it mess up the archive?  I can imagine that it might.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-22 12:00 ` Eli Zaretskii
@ 2006-04-22 13:19   ` Eli Zaretskii
  2006-04-24 12:33     ` Sam Steingold
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2006-04-22 13:19 UTC (permalink / raw)


> Date: Sat, 22 Apr 2006 15:00:10 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> > note the negative length of the "no-match-18.log" file.
> 
> Does the patch below give good results?

Oops, I failed to remove left-overs from the initial (and
unsuccessful) attack of the problem.  Please try this patch instead:

Index: lisp/arc-mode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/arc-mode.el,v
retrieving revision 1.72
diff -u -r1.72 arc-mode.el
--- lisp/arc-mode.el	8 Mar 2006 01:57:59 -0000	1.72
+++ lisp/arc-mode.el	22 Apr 2006 11:57:42 -0000
@@ -464,10 +464,12 @@
 (defsubst archive-name (suffix)
   (intern (concat "archive-" (symbol-name archive-subtype) "-" suffix)))
 
-(defun archive-l-e (str &optional len)
+(defun archive-l-e (str &optional len float)
   "Convert little endian string/vector STR to integer.
 Alternatively, STR may be a buffer position in the current buffer
-in which case a second argument, length LEN, should be supplied."
+in which case a second argument, length LEN, should be supplied.
+FLOAT, if non-nil, means generate and return a float instead of an integer
+\(use this for numbers that can overflow the Emacs integer)."
   (if (stringp str)
       (setq len (length str))
     (setq str (buffer-substring str (+ str len))))
@@ -475,7 +477,8 @@
         (i 0))
     (while (< i len)
       (setq i (1+ i)
-            result (+ (ash result 8) (aref str (- len i)))))
+            result (+ (if float (* result 256.0) (ash result 8))
+		      (aref str (- len i)))))
     result))
 
 (defun archive-int-to-mode (mode)
@@ -1331,13 +1334,13 @@
       (let* ((namefld (buffer-substring (+ p 2) (+ p 2 13)))
 	     (fnlen   (or (string-match "\0" namefld) 13))
 	     (efnname (substring namefld 0 fnlen))
-             (csize   (archive-l-e (+ p 15) 4))
+             (csize   (archive-l-e (+ p 15) 4 'float))
              (moddate (archive-l-e (+ p 19) 2))
              (modtime (archive-l-e (+ p 21) 2))
-             (ucsize  (archive-l-e (+ p 25) 4))
+             (ucsize  (archive-l-e (+ p 25) 4 'float))
 	     (fiddle  (string= efnname (upcase efnname)))
              (ifnname (if fiddle (downcase efnname) efnname))
-             (text    (format "  %8d  %-11s  %-8s  %s"
+             (text    (format "  %8.0f  %-11s  %-8s  %s"
                               ucsize
                               (archive-dosdate moddate)
                               (archive-dostime modtime)
@@ -1359,7 +1362,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "  %8d                         %d file%s"
+	      (format "  %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))
@@ -1393,9 +1396,9 @@
     (while (progn (goto-char p)		;beginning of a base header.
 		  (looking-at "\\(.\\|\n\\)\\(.\\|\n\\)-l[hz][0-9ds]-"))
       (let* ((hsize   (char-after p))	;size of the base header (level 0 and 1)
-	     (csize   (archive-l-e (+ p 7) 4)) ;size of a compressed file to follow (level 0 and 2),
+	     (csize   (archive-l-e (+ p 7) 4 'float)) ;size of a compressed file to follow (level 0 and 2),
 					;size of extended headers + the compressed file to follow (level 1).
-             (ucsize  (archive-l-e (+ p 11) 4))	;size of an uncompressed file.
+             (ucsize  (archive-l-e (+ p 11) 4 'float))	;size of an uncompressed file.
 	     (time1   (archive-l-e (+ p 15) 2))	;date/time (MSDOS format in level 0, 1 headers
 	     (time2   (archive-l-e (+ p 17) 2))	;and UNIX format in level 2 header.)
 	     (hdrlvl  (char-after (+ p 20))) ;header level
@@ -1471,12 +1474,12 @@
 			  (archive-unixtime time1 time2)
 			(archive-dostime time1)))
 	(setq text    (if archive-alternate-display
-			  (format "  %8d  %5S  %5S  %s"
+			  (format "  %8.0f  %5S  %5S  %s"
 				  ucsize
 				  (or uid "?")
 				  (or gid "?")
 				  ifnname)
-			(format "  %10s  %8d  %-11s  %-8s  %s"
+			(format "  %10s  %8.0f  %-11s  %-8s  %s"
 				modestr
 				ucsize
 				moddate
@@ -1506,8 +1509,8 @@
 		       "M   Length    Uid    Gid  File\n"
 		    "M   Filemode    Length  Date         Time      File\n"))
 	  (sumline (if archive-alternate-display
-		       "  %8d                %d file%s"
-		     "              %8d                         %d file%s")))
+		       "  %8.0f                %d file%s"
+		     "              %8.0f                         %d file%s")))
       (insert header dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
@@ -1603,7 +1606,7 @@
 	     ;; (method  (archive-l-e (+ p 10) 2))
              (modtime (archive-l-e (+ p 12) 2))
              (moddate (archive-l-e (+ p 14) 2))
-             (ucsize  (archive-l-e (+ p 24) 4))
+             (ucsize  (archive-l-e (+ p 24) 4 'float))
              (fnlen   (archive-l-e (+ p 28) 2))
              (exlen   (archive-l-e (+ p 30) 2))
              (fclen   (archive-l-e (+ p 32) 2))
@@ -1629,7 +1632,7 @@
 			   (string= (upcase efnname) efnname)))
              (ifnname (if fiddle (downcase efnname) efnname))
 	     (width (string-width ifnname))
-             (text    (format "  %10s  %8d  %-11s  %-8s  %s"
+             (text    (format "  %10s  %8.0f  %-11s  %-8s  %s"
 			      modestr
                               ucsize
                               (archive-dosdate moddate)
@@ -1655,7 +1658,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "              %8d                         %d file%s"
+	      (format "              %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))
@@ -1709,7 +1712,7 @@
       (let* ((next    (1+ (archive-l-e (+ p 6) 4)))
              (moddate (archive-l-e (+ p 14) 2))
              (modtime (archive-l-e (+ p 16) 2))
-             (ucsize  (archive-l-e (+ p 20) 4))
+             (ucsize  (archive-l-e (+ p 20) 4 'float))
 	     (namefld (buffer-substring (+ p 38) (+ p 38 13)))
 	     (dirtype (char-after (+ p 4)))
 	     (lfnlen  (if (= dirtype 2) (char-after (+ p 56)) 0))
@@ -1733,7 +1736,7 @@
 	     (fiddle  (and (= lfnlen 0) (string= efnname (upcase efnname))))
              (ifnname (if fiddle (downcase efnname) efnname))
 	     (width (string-width ifnname))
-             (text    (format "  %8d  %-11s  %-8s  %s"
+             (text    (format "  %8.0f  %-11s  %-8s  %s"
                               ucsize
                               (archive-dosdate moddate)
                               (archive-dostime modtime)
@@ -1755,7 +1758,7 @@
 	      dash)
       (archive-summarize-files (nreverse visual))
       (insert dash
-	      (format "  %8d                         %d file%s"
+	      (format "  %8.0f                         %d file%s"
 		      totalsize
 		      (length files)
 		      (if (= 1 (length files)) "" "s"))

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-22 13:19   ` Eli Zaretskii
@ 2006-04-24 12:33     ` Sam Steingold
  2006-05-05 10:59       ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Sam Steingold @ 2006-04-24 12:33 UTC (permalink / raw)
  Cc: emacs-devel

> * Eli Zaretskii <ryvm@tah.bet> [2006-04-22 16:19:54 +0300]:
>
>> Date: Sat, 22 Apr 2006 15:00:10 +0300
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: emacs-devel@gnu.org
>> 
>> > note the negative length of the "no-match-18.log" file.
>> 
>> Does the patch below give good results?
>
> Oops, I failed to remove left-overs from the initial (and
> unsuccessful) attack of the problem.  Please try this patch instead:

this solved the problem.
thanks.

-- 
Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 4 (Stentz)
http://www.mideasttruth.com http://truepeace.org http://www.dhimmi.com
http://www.memri.org http://www.camera.org http://www.openvotingconsortium.org
The difference between genius and stupidity is that genius has its limits.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: zip-mode mis-displays large files
  2006-04-24 12:33     ` Sam Steingold
@ 2006-05-05 10:59       ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2006-05-05 10:59 UTC (permalink / raw)
  Cc: emacs-devel

> Cc: emacs-devel@gnu.org
> From: Sam Steingold <sds@podval.org>
> Date: Mon, 24 Apr 2006 08:33:19 -0400
> 
> > * Eli Zaretskii <ryvm@tah.bet> [2006-04-22 16:19:54 +0300]:
> >
> >> Date: Sat, 22 Apr 2006 15:00:10 +0300
> >> From: Eli Zaretskii <eliz@gnu.org>
> >> Cc: emacs-devel@gnu.org
> >> 
> >> > note the negative length of the "no-match-18.log" file.
> >> 
> >> Does the patch below give good results?
> >
> > Oops, I failed to remove left-overs from the initial (and
> > unsuccessful) attack of the problem.  Please try this patch instead:
> 
> this solved the problem.
> thanks.

Thanks for testing, I (belatedly) installed this patch.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-05-05 10:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-21 20:30 zip-mode mis-displays large files Sam Steingold
2006-04-21 22:38 ` Kevin Rodgers
2006-04-22 12:00 ` Eli Zaretskii
2006-04-22 13:19   ` Eli Zaretskii
2006-04-24 12:33     ` Sam Steingold
2006-05-05 10:59       ` Eli Zaretskii
2006-04-22 12:03 ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).