I have fixed an error in the function so now it works as intended.
(%i1) periodic(_expr,_x,_a,_b):=
block
(
subst(_x-_a, _x, subst(mod(_x,_b-_a)+_a,_x,_expr))
)$
(%i2) e1:f(x):=x^2-3$
(%i3) periodic(f(x),x,a,b);
(%o3) (mod(x-a,b-a)+a)^2-3
(%i4) e2:pwint(%,x);
(%o4) (mod(x-a,b-a)+a)^3/3-3*(mod(x-a,b-a)+a)+(((b^3-9*b)/3-(a^3-9*a)/3)*(-mod(x-a,b-a)+x-a))/(b-a)
(%i5) plot2d([e1,e2],[x,-10,10])$
Maybe this is useful to some people. The answer from pwint is not possible in the current version of pw.mac but it will be in the next, I hope. I don't like to do too much at once, so certainly it will be in there soon if not the next.
By the way can someone tell me how to produce and view .info files? This is the standard way of documenting packages so if I could view/create .info files I could do it that way and eliminate pwhelp().
Rich