With ibase:12 the literal 1.5b0 becomes a symbol, and with ibase:16 the literal 1.5e-3 is no longer a number
Maxima 5.49post, SBCL 2.6.7.
No error or warning is issued; downstream arithmetic silently becomes symbolic.
(%i1) display2d:false$
(%i2) ibase:12$
(%i3) x: 1.5b0$
(%i4) [x, ?symbolp(x), ?floatp(x)];
(%o4) [\1\.5b0,true,false]
(%i5) ibase:16$
(%i6) y: 1.5e-3$
(%i7) [y, ?numberp(y)];
(%o7) [\1\.5e-3,false]
Expected: x a bigfloat and y a float, as at the default ibase:
(%i1) [1.5b0, ?floatp(1.5e-3)];
(%o1) [1.5b0,true]
b becomes a digit at ibase 12 and e at ibase 15, so the exponent markers stop being recognised, but instead of erroring the reader produces a symbol whose name is the escaped literal text.