I think that there is an omission in the new poplog script. Toward the end, PATH is set to $popsys\:$PATH\:$popcom, but $popcom hasn't been defined. Harmless, but probably not what was intended.

Well, if we want this as install for many users then we need to
look for conflicts.  Currently there is Lisp implementation
called 'clisp', trying to hijack this name may meet fierce
resistance from 'clisp' users.  I am not sure about 'prolog',
but I suspect that in Debian it is used to point to user
prefferred Prolog system, which may be different from Poplog.
So some diplomacy may be useful here.  'pop11' and 'xved'
are probably safe (only used for Poplog).

How about adopting the busybox idea of having several symbolic links to the same program, which behaves slightly differently depending on the name by which it has been called.

Putting the lines

name=`basename ${0}`
[ $name == 'poplog' ] && [ $# == 1 ] || set $name

near the top of the script would not change its behaviour when called with "poplog pop11", nor would it hijack any name not linked to the script. But if the user did make the name pop11 be a link to the script, calling just "pop11" would have the effect of "poplog pop11". A user who wanted prolog or clisp to be the poplog version could link those names to the poplog script, but a user who wanted other versions wouldn't have to.

This manuever depends on the basename command being present on the user's system. I think it's pretty common, but maybe not universal. The syntax ${0##*/} does the same thing in bash, but I don't know about other shells. Maybe test for the presence of basename in configure and only insert the lines if it is found.

Steve

Reply via email to