I think I worded myself badly in the previous post. I see now that its a design decision to use this syntax
USAGE: ``attach file1 file2 ...`` - space-separated list of .py, .spyx, and .sage files. instead of ``attach file1 arguments`` (this is the ipython syntax). You are right obviously, only one of those can work, so forget about the argument passing. Here is a more concise version of the problems I see (unless i am doing something wrong): 1)``load "home/rado/.sage/test space.py" `` doesn't work in a notebook, works in prompt 2)``load test1.py test2.py`` doesn't work in prompt, works in notebook I can fix 2) at $SAGE_ROOT/devel/sage/sage/misc/interpreter.py but actually I need a fix for 1) since I keep my files with folders with spaces. Since prompt works with files with spaces, it shouldn't be too hard to make the notebook work with those too, right?!? I will keep digging around to find which file causes 1). Rado On Apr 24, 8:48 pm, mabshoff <mabsh...@googlemail.com> wrote: > On Apr 24, 6:24 pm, Rado <rki...@gmail.com> wrote: > > > Hello, > > Hi Rado, > > > > > I was trying to load some python files and found some weird behaviour > > of the load/attach commands. I have three test files > > > (a normal file) /home/rado/.sage/test.py > > (a file with space in the name) /home/rado/.sage/test space.py > > (a file to take arguments from command line) /home/rado/.sage/ > > testarg.py > > > In sage prompt: > > sage: cd /home/rado/.sage > > sage: load test > > File 'test' not found ... > > > sage: load test.py > > Works > > > sage: load test space.py > > Works (and probably shouldn't so it can enforce quotation marks) > > No, this was explicitly fixed since it was requested by users. I think > if you add spaces to file names you have it coming, but I think it was > worth fixing it. > > > sage: load "test space.py" > > Works > > > sage: load testarg.py arg1 > > File 'testarg.py arg1' not found ... > > Why would that even work? The attach doctstring says: > > USAGE: ``attach file1 file2 ...`` - space-separated > list of .py, .spyx, and .sage files. > > So arg1 is not going to get passed as an argument. The error message > should probably be specific and tell you that arg1 cannot be found. I > am also not sure of the fix that allowed spaces in filenames does not > break the attach command for multiple files. > > <SNIP> > > > Hope this shows the inconsistency in the execution of load/attach in > > prompt and in notebook. What also worries me is that both fail at > > passing arguments to the scripted called. I feel that that the ipython > > %run syntax is the best (of course the decision is up to the > > developers). > > > I found the code for the prompt in ~/sage-3.4/local/lib/python2.5/site- > > packages/sage/misc/interpreter.py and looked over it. I know enough > > python to understand the code there, and I can purpose a patch (once > > its decided how exactly this should work). > > The code you want to edit is in $SAGE_ROOT/devel/sage/sage. Once you > have done changes you need to exit Sage, run sage -b and restart Sage > to have the changes go live. (you can also run ./sage -br to build any > changes and then start Sage). > > The files in devel/sage are in a mercurial repo, if you need some more > pointers here let us know. > > > I don't know where to look for the notebook interpreter code. > > I have no clue, but I would expect it to use the same code as the Sage > command line interface. > > > Rado > > Cheers, > > Michael --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---