[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
compiling es
> Date: Fri, 2 Oct 1992 19:07:49 -0400
> From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
>
>
> | Thanks and kudos to Paul && Byron for a downright excellent piece
> | of software artistry.
>
> Agreed; it looks pretty nice.
Just read the paper over dinner. Looks nice. I had been doing some
thinking about a shell too, and es seems to have gotten much correct.
> As in rc, null terminated strings are used. This means that things like
> x = `` '' {printf 'a\000b\000c\n' }
> don't work properly, which is kind of a shame.
In my thinking, I had thought of using \002 as a quote character for
\001 (and \002). You could extend this to \000, but exec(2) treats
environment strings as null terminated, so you'd have to, e.g.
translate \000 to \002\003. I haven't looked, you may have removed
the \001 separators in your canonical representation code.
> Surprisingly, es binary is quite a bit bigger than that of rc, even
> though the source isn't much bigger. Maybe gcc just generated really
> bad code, or something?
What's worse, es is as big as itcsh on this machine, and almost as big
as csh. Any idea why? I was aiming for a shell noticeably smaller
than /bin/sh.
../Dave