Hello,
As you may know, op(a/b) => "//". I have a patch which changes that to "/".
Replacing "//" by "/" has been floated on this mailing list before, I think.
In any event, I've searched for instances of "//" in src and share and
replaced them with "/". The resulting code seems to work as expected,
to judge by run_testsuite and batch(rtest_foo, test) for some of the
test scripts in share.
If there isn't too much opposition I'll commit these changes tomorrow.
HTH
Robert Dodier
PS. Here are the "//" I found:
$ find . -name \*.lisp -o -name \*.mac -o -name \*.dem |xargs grep '"\/\/"'
./share/algebra/solver/solver.mac:SetProp( "//", 'Valuation, 4 )$
./share/contrib/log10.mac:divp (e) := not atom(e) and op(e) = "//";
./share/contrib/opsubst.lisp:(%i3) opsubst("^^","//",a/b);
./share/contrib/Zeilberger/shiftQuotient.mac: not(zb_op(expr) = "//" and
./share/contrib/Zeilberger/shiftQuotient.mac: if zb_op(expr) = "//" then
./share/contrib/ezunits/ezunits.mac:mult_exprp (e%) := not atom(e%)
and atom (op(e%)) and (nounify (op(e%)) = nounify ("*") or nounify
(op(e%)) = nounify ("//"));
./share/contrib/gentran/fdata.lisp: (append (list (mkforttab) "data "
(cadr stmt) "//")
./share/contrib/gentran/fdata.lisp: (list "//"))
./share/contrib/solve_rec/solve_rec.mac: else if member(part(expr,
0), ["+", "*", "//", "^", "-"]) then
./share/contrib/solve_rec/solve_rec.mac: else if part(expr, 0)="//" then block(
./share/contrib/solve_rec/solve_rec.mac: else if member(part(expr,
0), ["+", "-", "*", "//", "^"]) then
./share/contrib/solve_rec/solve_rec.mac: else if part(expr, 0)="//" then block(
./share/contrib/solve_rec/solve_rec.mac: if part(factors, 0)="//"
then factors : part(factors, 1),
./share/contrib/solve_rec/solve_rec.mac: if member(part(prod, 0),
["+", "-", "*", "//", "^"]) then
./share/contrib/solve_rec/solve_rec.mac: else if part(term, 0)="//" then block(
./share/contrib/solve_rec/solve_rec.mac: else if member(part(%expr,
0), ["+", "-", "*", "//", "^", "="]) then
./share/contrib/solve_rec/simplify_sum.mac: else if member(part(expr,
0), ["*", "//"]) then
./share/contrib/solve_rec/simplify_sum.mac: else if part(expr,
0)="//" then find_exponent(num(expr), var)/find_exponent(denom(expr),
var)
./share/physics/dimension.mac: else if op = "//" or op = "/" then (
./share/tensor/ex_calc.mac: else if op(t)="//" then
append(contind(part(t,1)),covind(part(t,2)))
./share/tensor/ex_calc.mac: else if op(t)="//" then
append(covind(part(t,1)),contind(part(t,2)))
./share/tensor/iframe.mac: else if op(exp)="//" then
./share/tensor/iframe.mac: else if op(exp)="//" then
apply(simpmetderiv,cons(part(exp,1),stop))/
./src/comm.lisp: (mnctimes ".") (rat "//") (mquotient "//")
(mncexpt "^^")
./tests/rexamples.mac:(kill(all),example("//"));