I've noticed that some (many) Python-level error messages (e.g., syntax errors) from Sage 9.5.beta8 fail to give the name of the source file in which the error occured. For example, a few minutes ago I got this error message from a Sage code I'm working on:
> Traceback (most recent call last): > > File > "/usr/local/sage/sage-9.5.beta8/local/var/lib/sage/venv-python3.7/lib/python3.7/site-packages/IPython/core/interactiveshell.py", > line 3441, in run_code > exec(code_obj, self.user_global_ns, self.user_ns) > > File "<ipython-input-2-6e41d69a86f4>", line 1, in <module> > load('setup.sage') > > File "sage/misc/persist.pyx", line 173, in sage.misc.persist.load > (build/cythonized/sage/misc/persist.c:2578) > sage.repl.load.load(filename, globals()) > > File > "/usr/local/sage/sage-9.5.beta8/local/var/lib/sage/venv-python3.7/lib/python3.7/site-packages/sage/repl/load.py", > line 272, in load > exec(preparse_file(f.read()) + "\n", globals) > > File "<string>", line 8, in <module> > > File "sage/misc/persist.pyx", line 173, in sage.misc.persist.load > (build/cythonized/sage/misc/persist.c:2578) > sage.repl.load.load(filename, globals()) > > File > "/usr/local/sage/sage-9.5.beta8/local/var/lib/sage/venv-python3.7/lib/python3.7/site-packages/sage/repl/load.py", > line 272, in load > exec(preparse_file(f.read()) + "\n", globals) > > File "<string>", line 66 > P_xx[a,b] = simplify_expression( > ^ > IndentationError: expected an indented block > > sage: Notice that the traceback entries mentioning Sage internal files all include the file name and line number, but the traceback errors for my own code just say 'File "<string>"', with no useful information about which of my source-code files the error occured in. I'm not sure how much of this is Python's fault and how much is Sage's, but the user experience is not good. To reproduce this problem, create the following 2 files: % head error* ==> error1.sage <== load('error2.sage') print bad_function(2, 3) ==> error2.sage <== def bad_function(x,y) """ Note the missing ':' at the end of the first line of this file. This will produce a Sage/python syntax error when this file is loaded. """ return x+y % and type load('error1.sage') at the sage command prompt. stay safe and COVID-free, -- -- "Jonathan Thornburg [remove color- to reply]" <jthorn4...@pink-gmail.com> on the west coast of Canada, eh? "There was of course no way of knowing whether you were being watched at any given moment. How often, or on what system, the Thought Police plugged in on any individual wire was guesswork. It was even conceivable that they watched everybody all the time." -- George Orwell, "1984" -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/YdpOjoVjfSJAO5qq%40gold.bkis-orchard.net.