comparison lisp/arc-mode.el @ 49238:86973b914660

(archive-arc-rename-entry): Fix error message. (archive-lzh-summarize): Replace local var `path' with `dir'. (archive-unique-fname) [!MSDOS]: Avoid byte-compiler warning.
author Kim F. Storm <storm@cua.dk>
date Tue, 14 Jan 2003 22:31:30 +0000
parents 05ad80e1c6d2
children 3a18e49975cb
comparison
equal deleted inserted replaced
49237:9a2cb7cc7942 49238:86973b914660
787 (let ((fullname (expand-file-name fname dir)) 787 (let ((fullname (expand-file-name fname dir))
788 (alien (string-match file-name-invalid-regexp fname))) 788 (alien (string-match file-name-invalid-regexp fname)))
789 (if (or alien (file-exists-p fullname)) 789 (if (or alien (file-exists-p fullname))
790 (make-temp-file 790 (make-temp-file
791 (expand-file-name 791 (expand-file-name
792 (if (and (fboundp 'msdos-long-file-names) 792 (if (if (fboundp 'msdos-long-file-names)
793 (not (msdos-long-file-names))) 793 (not (msdos-long-file-names)))
794 "am" 794 "am"
795 "arc-mode.") 795 "arc-mode.")
796 dir)) 796 dir))
797 fullname))) 797 fullname)))
798 798
1384 "\n")) 1384 "\n"))
1385 (apply 'vector (nreverse files)))) 1385 (apply 'vector (nreverse files))))
1386 1386
1387 (defun archive-arc-rename-entry (archive newname descr) 1387 (defun archive-arc-rename-entry (archive newname descr)
1388 (if (string-match "[:\\\\/]" newname) 1388 (if (string-match "[:\\\\/]" newname)
1389 (error "File names in arc files may not contain a path")) 1389 (error "File names in arc files must not contain a directory component"))
1390 (if (> (length newname) 12) 1390 (if (> (length newname) 12)
1391 (error "File names in arc files are limited to 12 characters")) 1391 (error "File names in arc files are limited to 12 characters"))
1392 (let ((name (concat newname (substring "\0\0\0\0\0\0\0\0\0\0\0\0\0" 1392 (let ((name (concat newname (substring "\0\0\0\0\0\0\0\0\0\0\0\0\0"
1393 (length newname)))) 1393 (length newname))))
1394 buffer-read-only) 1394 buffer-read-only)
1424 (fiddle (string= efnname (upcase efnname))) 1424 (fiddle (string= efnname (upcase efnname)))
1425 (ifnname (if fiddle (downcase efnname) efnname)) 1425 (ifnname (if fiddle (downcase efnname) efnname))
1426 (width (string-width ifnname)) 1426 (width (string-width ifnname))
1427 (p2 (+ p 22 fnlen)) 1427 (p2 (+ p 22 fnlen))
1428 (creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0)) 1428 (creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0))
1429 mode modestr uid gid text path prname 1429 mode modestr uid gid text dir prname
1430 ) 1430 )
1431 (if (= hdrlvl 0) 1431 (if (= hdrlvl 0)
1432 (setq mode (if (= creator ?U) (archive-l-e (+ p2 8) 2) ?\666) 1432 (setq mode (if (= creator ?U) (archive-l-e (+ p2 8) 2) ?\666)
1433 uid (if (= creator ?U) (archive-l-e (+ p2 10) 2)) 1433 uid (if (= creator ?U) (archive-l-e (+ p2 10) 2))
1434 gid (if (= creator ?U) (archive-l-e (+ p2 12) 2))) 1434 gid (if (= creator ?U) (archive-l-e (+ p2 12) 2)))
1438 (etype (char-after (+ p3 2)))) 1438 (etype (char-after (+ p3 2))))
1439 (while (not (= hsize 0)) 1439 (while (not (= hsize 0))
1440 (cond 1440 (cond
1441 ((= etype 2) (let ((i (+ p3 3))) 1441 ((= etype 2) (let ((i (+ p3 3)))
1442 (while (< i (+ p3 hsize)) 1442 (while (< i (+ p3 hsize))
1443 (setq path (concat path 1443 (setq dir (concat dir
1444 (if (= (char-after i) 1444 (if (= (char-after i)
1445 255) 1445 255)
1446 "/" 1446 "/"
1447 (char-to-string 1447 (char-to-string
1448 (char-after i))))) 1448 (char-after i)))))
1452 (setq gid (archive-l-e (+ p3 5) 2)))) 1452 (setq gid (archive-l-e (+ p3 5) 2))))
1453 ) 1453 )
1454 (setq p3 (+ p3 hsize)) 1454 (setq p3 (+ p3 hsize))
1455 (setq hsize (archive-l-e p3 2)) 1455 (setq hsize (archive-l-e p3 2))
1456 (setq etype (char-after (+ p3 2))))))) 1456 (setq etype (char-after (+ p3 2)))))))
1457 (setq prname (if path (concat path ifnname) ifnname)) 1457 (setq prname (if dir (concat dir ifnname) ifnname))
1458 (setq modestr (if mode (archive-int-to-mode mode) "??????????")) 1458 (setq modestr (if mode (archive-int-to-mode mode) "??????????"))
1459 (setq text (if archive-alternate-display 1459 (setq text (if archive-alternate-display
1460 (format " %8d %5S %5S %s" 1460 (format " %8d %5S %5S %s"
1461 ucsize 1461 ucsize
1462 (or uid "?") 1462 (or uid "?")