annotate nt/installer/Wise/filelist.py @ 4716:dca5bb2adff1

Don't cons with #'mapcar calls where the result is discarded, decide on mapc-internal at compile time if the Common Lisp functionality is not being used. 2009-10-12 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (mapc): New compiler macro, use mapc-internal at compile time if we're not using the Common Lisp functionality. * bytecomp.el (byte-compile-mapcar, byte-compile-maplist): New. If the return value of mapcar is being discarded, compile it to a mapc-internal call instead, and warn, because the programmer probably can't rely on always being compiled by an XEmacs that does this. Similarly for maplist and mapl; and use byte-compile-funarg for map, mapl, mapcan, mapcon.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 12 Oct 2009 17:19:52 +0100
parents 74fd4e045ea6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
1 import os
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
2 import dirs
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
3 import string
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
4
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
5 def listdir_recursive(basedir):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
6 ret = []
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
7 for f in os.listdir(basedir):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
8 if os.path.isfile(basedir+"\\"+f):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
9 ret.append(f)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
10 elif os.path.isdir(basedir+"\\"+f):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
11 for f1 in listdir_recursive(basedir+"\\"+f):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
12 ret.append(f+"\\"+f1)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
13 return ret
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
14
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
15 all = []
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
16
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
17
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
18
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
19 for f in listdir_recursive(dirs.installed):
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
20 if string.find(f,'CVS')>=0:
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
21 continue
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
22 all.append((f, dirs.installed, dirs.dst))
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
23