Show More
@@ -22,7 +22,7 b' script:' | |||
|
22 | 22 | - cd /tmp && iptest --coverage xml && cd - |
|
23 | 23 | # On the latest Python only, make sure that the docs build. |
|
24 | 24 | - | |
|
25 |
if [[ "$TRAVIS_PYTHON_VERSION" == "3. |
|
|
25 | if [[ "$TRAVIS_PYTHON_VERSION" == "3.7" ]]; then | |
|
26 | 26 | pip install -r docs/requirements.txt |
|
27 | 27 | python tools/fixup_whats_new_pr.py |
|
28 | 28 | make -C docs/ html SPHINXOPTS="-W" |
@@ -35,6 +35,7 b' after_success:' | |||
|
35 | 35 | matrix: |
|
36 | 36 | include: |
|
37 | 37 | - { python: "3.7", dist: xenial, sudo: true } |
|
38 | - { python: "3.7-dev", dist: xenial, sudo: true } | |
|
38 | 39 | - { python: "nightly", dist: xenial, sudo: true } |
|
39 | 40 | allow_failures: |
|
40 | 41 | - python: nightly |
@@ -92,30 +92,13 b' class CachingCompiler(codeop.Compile):' | |||
|
92 | 92 | linecache.checkcache = check_linecache_ipython |
|
93 | 93 | |
|
94 | 94 | |
|
95 | def _fix_module_ds(self, module): | |
|
96 | """ | |
|
97 | Starting in python 3.7 the AST for mule have changed, and if | |
|
98 | the first expressions encountered is a string it is attached to the | |
|
99 | `docstring` attribute of the `Module` ast node. | |
|
100 | ||
|
101 | This breaks IPython, as if this string is the only expression, IPython | |
|
102 | will not return it as the result of the current cell. | |
|
103 | """ | |
|
104 | from ast import Str, Expr, Module, fix_missing_locations | |
|
105 | docstring = getattr(module, 'docstring', None) | |
|
106 | if not docstring: | |
|
107 | return module | |
|
108 | new_body=[Expr(Str(docstring, lineno=1, col_offset=0), lineno=1, col_offset=0)] | |
|
109 | new_body.extend(module.body) | |
|
110 | return fix_missing_locations(Module(new_body)) | |
|
111 | ||
|
112 | 95 | def ast_parse(self, source, filename='<unknown>', symbol='exec'): |
|
113 | 96 | """Parse code to an AST with the current compiler flags active. |
|
114 | 97 | |
|
115 | 98 | Arguments are exactly the same as ast.parse (in the standard library), |
|
116 | 99 | and are passed to the built-in compile function.""" |
|
117 |
return |
|
|
118 | ||
|
100 | return compile(source, filename, symbol, self.flags | PyCF_ONLY_AST, 1) | |
|
101 | ||
|
119 | 102 | def reset_compiler_flags(self): |
|
120 | 103 | """Reset compiler flags to default state.""" |
|
121 | 104 | # This value is copied from codeop.Compile.__init__, so if that ever |
General Comments 0
You need to be logged in to leave comments.
Login now