Currently, the function glob_setfilename() is defined in g_canvas.c  
like this:
void glob_setfilename(void *dummy, t_symbol *filesym, t_symbol *dirsym)
That means when you send names from tcl using [pd filename], any  
spaces in the directory name get dropped.  I propose adding this to  
g_canvas.c and then using that for the 'pd filename' callback  
instead.  glob_setfilename() would then be left since it is used  
interally and in some extenrals:
void glob_setfilename_gimme(void *dummy, t_symbol *s, int argc,  
t_atom *argv)
How does that sound?  Any better approach?
.hc
------------------------------------------------------------------------ 
----
"[T]he greatest purveyor of violence in the world today [is] my own  
government." - Martin Luther King, Jr.