| # HG changeset patch |
| # User Miro HronĨok <miro@hroncok.cz> |
| # Date 1530720528 -7200 |
| # Branch py37 |
| # Node ID 933b5f6afe35e6d554f46085a4e62dc5bf413c87 |
| # Parent 7941677dc77d4f2bf0bbd6140ade85a9454b8b80 |
| PEP 479: Raising StopIteration from a generator is now an error |
| |
| So we return instead. Fix needed for Python 3.7. |
| |
| Fixes https://bitbucket.org/birkenfeld/pygments-main/issues/1457 |
| |
| diff --git a/pygments/lexers/lisp.py b/pygments/lexers/lisp.py |
| --- a/pygments/lexers/lisp.py |
| +++ b/pygments/lexers/lisp.py |
| @@ -2327,13 +2327,13 @@ |
| token = Name.Function if token == Literal else token |
| yield index, token, value |
| |
| - raise StopIteration |
| + return |
| |
| def _process_signature(self, tokens): |
| for index, token, value in tokens: |
| if token == Literal and value == '}': |
| yield index, Punctuation, value |
| - raise StopIteration |
| + return |
| elif token in (Literal, Name.Function): |
| token = Name.Variable if value.istitle() else Keyword.Type |
| yield index, token, value |
| diff --git a/pygments/lexers/sql.py b/pygments/lexers/sql.py |
| --- a/pygments/lexers/sql.py |
| +++ b/pygments/lexers/sql.py |
| @@ -347,7 +347,10 @@ |
| # Emit the output lines |
| out_token = Generic.Output |
| while 1: |
| - line = next(lines) |
| + try: |
| + line = next(lines) |
| + except StopIteration: |
| + return |
| mprompt = re_prompt.match(line) |
| if mprompt is not None: |
| # push the line back to have it processed by the prompt |