Hello, These notes about APE could be of some use to others.
Context : I'm verifying that my compilation framework, made for POSIX, is able to work for Plan9 too (for TeX and al.: everything works on Unix, so time to verify the whole thing on Plan9). Note: this is not a plea to add more. ape/psh is not supposed, IMO, to end in profile... - some utilities are included in POSIX.2, but are not in Plan9, including under APE : find(1), id(1), expr(1) --- of course ln(1)---. These are just the ones I stumbled upon since they were used in my scripts. I have find a way, so you may find one to do differently. Note: expr(1) is typically a thing I do _not_ use, since I always feel uncomfortable with it; but I guess I wanted to "optimize" and avoid forking a "| sed ..." -> that just highlights indeed that an interpreter must have regexp handling natively à la rc(1) ~. - "grep -q" (with -s) is in SUS.v3, but Plan9 has "only" traditionnal "grep -s". To not be eaten by a system that has "-q" and not "-s", I ended with grep ... >/dev/null 2>&1. - sed(1) does not support single character duplication : \{m,n\}---I have "unrolled" the patterns, since ".+" is not supported by POSIX sed(1) (..* does the thing in this case for example). - I have been hit by aux/getflags I think that doesn't like too many arguments (typically a sed(1) with a bunch of "-e s/.../.../g"). I have simply put the rules in a temporary file, and used sed -f. -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C