Permalink
Commits on Nov 9, 2018
  1. Merge pull request #1682 from brandonwillard/macro-changes

    Kodiologist committed Nov 9, 2018
    Macro processing updates and fixes
  2. Update NEWS

    brandonwillard committed Oct 14, 2018
  3. Implement minimal macro namespacing and add tests

    brandonwillard committed Oct 23, 2018
    This commit adds just enough namespacing to resolve a macro first in the macro's
    defining module's namespace (i.e. the module assigned to the `HyASTCompiler`),
    then in the namespace/module it's evaluated in.  Namespacing is accomplished by
    adding a `module` attribute to `HySymbol`, so that `HyExpression`s can be
    checked for this definition namespace attribute and their car symbol resolved
    per the above.
    
    As well, a couple tests have been added that cover
    - the loading of module-level macros
      - e.g. that only macros defined in the `require`d module are added
    - the AST generated for `require`
      - using macros loaded from modules imported via bytecode
    - the non-local macro namespace resolution described above
      - a `require`d macro that uses a macro `require` exclusively in its
        module-level namespace
    - and that (second-degree `require`d) macros can reference variables within
      their module-level namespaces.
    
    Closes #1268, closes #1650, closes #1416.
  4. Integrate hy.inspect into hy.macros

    Kodiologist authored and brandonwillard committed Oct 20, 2018
    It's compatibility code, and there's not a lot of it, and having a module with the same name as a standard module can be a bit troublesome.
  5. Remove `get_arity`

    Kodiologist authored and brandonwillard committed Nov 9, 2018
    This function wasn't being used anywhere.
Commits on Oct 16, 2018
  1. Merge pull request #1683 from brandonwillard/fix-py27-failed-import-m…

    Kodiologist committed Oct 16, 2018
    …odules
    
    Fix `sys.modules` for failed imports in Python 2.7
Commits on Sep 30, 2018
  1. Fix `sys.modules` for failed imports in Python 2.7

    brandonwillard committed Sep 30, 2018
    Newly imported modules with compile and/or run-time errors were not being
    removed from `sys.modules`.  This commit modifies the Python 2.7 loader so that
    it follows Python's failed-initial-import logic and removes the module from
    `sys.modules`.
Commits on Sep 24, 2018
  1. Merge pull request #1679 from brandonwillard/fix-doc-macro

    Kodiologist committed Sep 24, 2018
    Fix missing import in `doc` macro expansion
  2. Merge pull request #1678 from brandonwillard/run-ambiguous-files-as-hy

    Kodiologist committed Sep 24, 2018
    Allow `runpy` to consider non-standard Hy source extensions
  3. Make cmdline Hy process unknown filetypes as Hy source

    brandonwillard authored and Kodiologist committed Sep 5, 2018
    This change a Hy-preferring `runhy` that is used by cmdline Hy.  Standard
    `runpy` is still patched so that it can run `.hy` files, but the default
    behaviour for unknown filetypes is preserved (i.e. assume they are Python
    source).
    
    Closes #1677.
Commits on Sep 11, 2018
  1. Merge pull request #1673 from brandonwillard/fix-docstring-with-imports

    Kodiologist committed Sep 11, 2018
    Fix AST handling of docstrings and __future__ ordering
  2. Updated NEWS

    brandonwillard authored and Kodiologist committed Aug 28, 2018
  3. Fix AST handling of docstrings and __future__ ordering

    brandonwillard authored and Kodiologist committed Aug 27, 2018
    This closes #1367 and closes #1540
Commits on Sep 3, 2018
  1. Merge pull request #1672 from brandonwillard/new-patch-importer

    Kodiologist committed Sep 3, 2018
    New patch importer
Commits on Aug 27, 2018
Commits on Aug 26, 2018
  1. Update NEWS

    brandonwillard committed Aug 25, 2018
  2. Add test for shadowed-basename imports

    brandonwillard committed Aug 24, 2018
    This test ensures that Hy will load a `.hy` instead of a `.py` counterpart.
  3. Add test for circular imports

    brandonwillard committed Aug 22, 2018
    Closes #1134.
  4. Implement new importer using PEP-302 semantics

    brandonwillard committed Aug 20, 2018
    Python 3.x is patched in a way that integrates `.hy` source files into
    Pythons default `importlib` machinery.  In Python 2.7, a PEP-302 "importer"
    and "loader" is implemented according to the standard `import` logic (via
    `pkgutil` and later pure-Python `imp` package code).
    
    In both cases, the entry-point for the loaders is through `sys.path_hooks` only.
    As well, the import semantics have been updated all throughout to utilize
    `importlib` and follow aspects of PEP-420.  This, along with some light
    patches, should allow for basic use of `runpy`, `py_compile` and `reload`.
    
    In all cases, if a `.hy` file is shadowed by a `.py`, Hy will silently use
    `.hy`.
Commits on Aug 18, 2018
  1. Merge pull request #1669 from Kodiologist/speed

    Kodiologist committed Aug 18, 2018
    Some simple speed-ups
  2. Delay importing the lexer and parser

    Kodiologist committed Aug 3, 2018
    This speeds up runs of Hy that never need to parse or compile Hy code (e.g., running a Hy program that's already byte-compiled).
  3. Use fastentrypoints

    Kodiologist committed Aug 2, 2018
    This speeds up launching `hy`.
Commits on Aug 8, 2018
  1. Merge pull request #1662 from Kodiologist/win-strftime

    Kodiologist committed Aug 8, 2018
    Fix date and time hy-reprs on Windows
Commits on Aug 3, 2018
  1. Merge pull request #1664 from brandonwillard/require-in-macroexpand-all

    gilch committed Aug 3, 2018
    Expand `require`d macros in `macroexpand-all`
Commits on Aug 1, 2018
  1. Merge pull request #1668 from hylang/gilch-help-redirect

    kirbyfan64 committed Aug 1, 2018
    Point out appropriate help forums