Commit Graph

2363 Commits

Author SHA1 Message Date
Simon Gomizelj
c663d38e33 Add metaclass support, support PEP 3115 and PEP 487 2018-03-22 13:28:22 -07:00
Simon Gomizelj
75af667fa1 Fix test_hy2py not respecting 'only_py36' 2018-03-22 13:27:56 -07:00
Kodi Arfer
ea2f5f859b Clean up NEWS 2018-03-22 13:27:42 -07:00
Tuukka Turto
cb72a8c155
Merge pull request #1530 from vodik/pytest-cleanups
Use pytest.raises for asserting compiler exceptions
2018-03-15 08:14:09 +02:00
Kodi Arfer
b023ebd0b5
Merge pull request #1517 from Kodiologist/mangling-makeover
Mangling makeover
2018-03-13 12:16:13 -07:00
Kodi Arfer
4c5dea0756 Use io.StringIO instead of the StringIO module 2018-03-13 14:57:31 -04:00
Kodi Arfer
ca06294c18 Update NEWS 2018-03-13 14:57:30 -04:00
Kodi Arfer
eda0b89f67 Document mangling 2018-03-13 14:56:49 -04:00
Kodi Arfer
4d77dd0d40 Spin off syntax documentation from api.rst 2018-03-13 14:56:49 -04:00
Kodi Arfer
6875ae0e3f Replace hyify with unmangle 2018-03-13 14:56:49 -04:00
Kodi Arfer
3c97d2982c Use *1 instead of _ for REPL history
`_`, as a variable, is now the shadow subtraction operator.
2018-03-13 14:56:47 -04:00
Kodi Arfer
85968e70dd Add mangle and unmangle as core functions 2018-03-13 14:55:55 -04:00
Kodi Arfer
ebc9bda7ee Remove an obsolete test 2018-03-13 14:55:55 -04:00
Kodi Arfer
0c8c5dc830 Mangle special forms 2018-03-13 14:55:55 -04:00
Kodi Arfer
ccb3ba6092 Mangle macro names 2018-03-13 14:55:55 -04:00
Kodi Arfer
0c816f2e83 Mangle keyword arguments 2018-03-13 14:55:55 -04:00
Kodi Arfer
d252bb0e94 Mangle names that coincide with Python keywords 2018-03-13 14:55:55 -04:00
Kodi Arfer
52edad28e2 Overhaul mangling rules 2018-03-13 14:55:53 -04:00
Kodi Arfer
d501d4d806 Mangle symbols at compile-time instead of parse-time
This means that a HySymbol remembers its original name. That is, `a-b` and `a_b` are different symbols although `(setv a-b 1)` and `(setv a_b 1)` set the same variable (namely, `a_b`).

Most of the edits in this commit are to switch underscores to hyphens in places where mangling hasn't happened yet.

I removed some lexer tests since the lexer no longer does any mangling.
2018-03-13 14:55:15 -04:00
Kodi Arfer
d947a27022
Merge pull request #1520 from Kodiologist/test-parens
Make unary comparison ops evaluate their argument
2018-03-13 11:46:55 -07:00
Kodi Arfer
7fcc7ac4b6 Make unary comparison ops evaluate their argument 2018-03-13 14:38:36 -04:00
Kodi Arfer
9f0911161d Fix tests with =-and-parentheses errors 2018-03-13 14:38:36 -04:00
Simon Gomizelj
e3f4fc8481 Use pytest.raises for asserting compiler exceptions 2018-03-12 01:44:57 -04:00
Kodi Arfer
6d977ab541
Merge pull request #1516 from Kodiologist/hy-repr-extensions
hy-repr improvements
2018-03-10 18:12:21 -08:00
Kodi Arfer
8c00ab66f9 NEWS and docs for hy-repr 2018-03-10 18:11:07 -08:00
Kodi Arfer
0574e275b5 Make hy-repr support some collections classes 2018-03-10 18:11:07 -08:00
Kodi Arfer
38f461890d Make hy-repr support DateTime objects 2018-03-10 18:11:07 -08:00
Kodi Arfer
3dbe05302e Make hy-repr support regex match objects 2018-03-10 18:11:07 -08:00
Kodi Arfer
f7ab9a6e7c Make hy-repr support dictionary views 2018-03-10 18:11:07 -08:00
Kodi Arfer
90a09b5b44 Make hy-repr use double spaces for dictionaries 2018-03-10 18:11:07 -08:00
Kodi Arfer
199bb70150 Add a hy-repr test for keyword-like bytes objects 2018-03-10 18:11:07 -08:00
Kodi Arfer
4f2706e18e Test a case where hy-repr shouldn't round-trip 2018-03-10 18:11:07 -08:00
Kodi Arfer
83c4f63bc2 Reimplement hy-repr with registered functions
This removes a lot of hy-reprs that were hard-coded into the hy-repr function itself. It also allows you to add a hy-repr for an existing class without monkey-patching the class.
2018-03-10 18:11:07 -08:00
Ryan Gonzalez
a688355777
Merge pull request #1525 from Kodiologist/remove-obsolete-shields
Remove obsolete shields in README
2018-03-06 15:14:25 -06:00
Kodi Arfer
24309d7cc8 Remove obsolete shields in README
PyPI shields are "no longer available", and we haven't updated Coveralls since Jaunary 2016.
2018-03-06 11:50:17 -08:00
Tuukka Turto
c1e5c3e48c
Merge pull request #1500 from vodik/deprecations
Deal with some deprecation and resource warnings / fix (return) semantics
2018-02-27 23:20:49 +02:00
Kodi Arfer
0345d2b688
Merge pull request #1508 from Kodiologist/merge-policy
Policy: allow PRs to be merged more easily
2018-02-24 10:07:07 -08:00
Kodi Arfer
6994be6cfd Policy: allow PRs to be merged more easily 2018-02-24 10:04:56 -08:00
Kodi Arfer
10cd36d13d
Merge pull request #1511 from jwilk-forks/spelling
Fix typos
2018-02-15 07:56:19 -08:00
Jakub Wilk
d1cb630698 Fix typos 2018-02-15 16:35:33 +01:00
Simon Gomizelj
db58dacce6 Fix invalid escape sequence \s in test_escapes 2018-02-14 16:05:31 -05:00
Simon Gomizelj
cf304714ce Turn on pytests's warning reporter 2018-02-14 16:05:31 -05:00
Simon Gomizelj
ef2f435647 Add a hy.introspect module to deal with getargspec deprecation 2018-02-14 16:05:31 -05:00
Simon Gomizelj
97d7bbb96b Add posargs to tox test runner 2018-02-14 16:05:31 -05:00
Simon Gomizelj
c35d2a3a22 Drop --allow-all-external, deprecated by PEP 470 2018-02-14 16:05:31 -05:00
Simon Gomizelj
be6ddd4bb2 Fix deprecation warning triggered by PEP 479 2018-02-14 16:05:31 -05:00
Simon Gomizelj
316220b742 Fix AST generation of a naked return 2018-02-14 16:05:31 -05:00
Simon Gomizelj
7b87d42221 Properly teardown subprocesses when testing 2018-02-14 15:38:47 -05:00
Kodi Arfer
7cf23fabc4
Merge pull request #1503 from vodik/travis-py37
Add python 3.7-dev to travis, allow it to fail
2018-02-14 08:41:14 -08:00
Ryan Gonzalez
2859d1e6b8
Merge pull request #1498 from Kodiologist/release-0.14.0
Release 0.14.0
2018-02-13 21:23:09 -06:00