···11+diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py
22+index 8a455b69b0..a93e1c9e04 100644
33+--- a/src/sage/repl/interface_magic.py
44++++ b/src/sage/repl/interface_magic.py
55+@@ -260,7 +260,7 @@ class InterfaceMagic(object):
66+ 2
77+ 120
88+ sage: shell.run_cell('%%gap foo\n1+1;\n')
99+- ...File "<string>", line unknown
1010++ ...File...<string>...
1111+ SyntaxError: Interface magics have no options, got "foo"
1212+ <BLANKLINE>
1313+ sage: shell.run_cell('%%gap?')
1414+diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py
1515+index 71dbe429fd..36b1d986d6 100644
1616+--- a/src/sage/repl/interpreter.py
1717++++ b/src/sage/repl/interpreter.py
1818+@@ -70,25 +70,6 @@ that shell. The bulk of this functionality is provided through
1919+2020+ TESTS:
2121+2222+-Check that Cython source code appears in tracebacks::
2323+-
2424+- sage: from sage.repl.interpreter import get_test_shell
2525+- sage: shell = get_test_shell()
2626+- sage: print("dummy line"); shell.run_cell('1/0') # see #25320 for the reason of the `...` and the dummy line in this test
2727+- dummy line
2828+- ...
2929+- ZeroDivisionError...Traceback (most recent call last)
3030+- <ipython-input-...> in <module>...
3131+- ----> 1 Integer(1)/Integer(0)
3232+- .../sage/rings/integer.pyx in sage.rings.integer.Integer...div...
3333+- ...
3434+- -> ... raise ZeroDivisionError("rational division by zero")
3535+- ....: x = <Rational> Rational.__new__(Rational)
3636+- ....: mpq_div_zz(x.value, ....value, (<Integer>right).value)
3737+- <BLANKLINE>
3838+- ZeroDivisionError: rational division by zero
3939+- sage: shell.quit()
4040+-
4141+ Test prompt transformer::
4242+4343+ sage: from sage.repl.interpreter import SagePromptTransformer
4444+@@ -423,7 +404,7 @@ def SagePreparseTransformer(lines):
4545+ sage: from sage.repl.interpreter import get_test_shell
4646+ sage: shell = get_test_shell()
4747+ sage: shell.run_cell(bad_syntax)
4848+- File "<string>", line unknown
4949++ File...<string>...
5050+ SyntaxError: Mismatched ']'
5151+ <BLANKLINE>
5252+ sage: shell.quit()
+10
pkgs/applications/science/math/sage/sage-src.nix
···119119 # https://trac.sagemath.org/ticket/32959
120120 ./patches/linbox-1.7-upgrade.patch
121121122122+ # To emit better tracebacks, IPython 8 parses Python files using the ast
123123+ # module (via the stack_data package). Since Cython is a superset of Python,
124124+ # this results in no Cython code being printed in tracebacks. Fixing this
125125+ # properly is tracked in https://github.com/alexmojaki/stack_data/issues/21,
126126+ # but for now we just disable the corresponding test. An alternative would
127127+ # be to revert IPython's IPython/core/ultratb.py, but this would need to be
128128+ # Sage-specific (since it would worsen tracebacks for pure Python code).
129129+ # Sage tracks this at https://trac.sagemath.org/ticket/33170
130130+ ./patches/no-cython-sources-in-tracebacks-on-ipython8.patch
131131+122132 # https://trac.sagemath.org/ticket/32968
123133 (fetchSageDiff {
124134 base = "9.5";
+4-4
pkgs/data/misc/hackage/pin.json
···11{
22- "commit": "72a59574747346b3f9aa2cd91cb7469d4e168b53",
33- "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/72a59574747346b3f9aa2cd91cb7469d4e168b53.tar.gz",
44- "sha256": "0nspncjgh8lgr15zx8ss3fp289jl7gg21wchj0k821y3cz057ry3",
55- "msg": "Update from Hackage at 2022-01-31T19:23:21Z"
22+ "commit": "a4422bb744c0b60e56ccbdd350df5c205caf0b20",
33+ "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/a4422bb744c0b60e56ccbdd350df5c205caf0b20.tar.gz",
44+ "sha256": "1ih77xavy81mjhf8d3nknbgvhpql14nbak01pddh7y195wv1dknd",
55+ "msg": "Update from Hackage at 2022-02-06T15:34:38Z"
66}
···6363 # works fine there.
6464 fakedata = dontCheck super.fakedata;
65656666+ # The latest release on hackage has an upper bound on containers which
6767+ # breaks the build, though it works with the version of containers present
6868+ # and the upper bound doesn't exist in code anymore:
6969+ # > https://github.com/roelvandijk/numerals
7070+ numerals = doJailbreak (dontCheck super.numerals);
7171+6672 # This test keeps being aborted because it runs too quietly for too long
6773 Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
6874···307313 network-dbus = dontCheck super.network-dbus;
308314 notcpp = dontCheck super.notcpp;
309315 ntp-control = dontCheck super.ntp-control;
310310- numerals = dontCheck super.numerals;
311316 odpic-raw = dontCheck super.odpic-raw; # needs a running oracle database server
312317 opaleye = dontCheck super.opaleye;
313318 openpgp = dontCheck super.openpgp;
···706706 } super.nix-output-monitor;
707707708708 haskell-language-server = overrideCabal (drv: {
709709+ # starting with 1.6.1.1 haskell-language-server wants to be linked dynamically
710710+ # by default. Unless we reflect this in the generic builder, GHC is going to
711711+ # produce some illegal references to /build/.
712712+ enableSharedExecutables = true;
709713 postInstall = "ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${self.ghc.version}";
710714 testToolDepends = [ self.cabal-install pkgs.git ];
711715 testTarget = "func-test"; # wrapper test accesses internet
···730734731735 # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
732736 ihaskell = overrideCabal (drv: {
733733- configureFlags = (drv.configureFlags or []) ++ [
734734- # ihaskell's cabal file forces building a shared executable,
735735- # but without passing --enable-executable-dynamic, the RPATH
736736- # contains /build/ and leads to a build failure with nix
737737- "--enable-executable-dynamic"
738738- ];
737737+ # ihaskell's cabal file forces building a shared executable, which we need
738738+ # to reflect here or RPATH will contain a reference to /build/.
739739+ enableSharedExecutables = true;
739740 preCheck = ''
740741 export HOME=$TMPDIR/home
741742 export PATH=$PWD/dist/build/ihaskell:$PATH