1. 31 Oct, 2022 1 commit
    • Ralf W. Grosse-Kunstleve's avatar
      fix: define (non-empty) `PYBIND11_EXPORT_EXCEPTION` only under macOS. (#4298) · b1bd7f26
      Ralf W. Grosse-Kunstleve authored
      Background: #2999, #4105, #4283, #4284
      
      In a nutshell:
      
      * Only macOS actually needs `PYBIND11_EXPORT_EXCEPTION` (#4284).
      
      * Evidently (#4283), under macOS `PYBIND11_EXPORT_EXCEPTION` does not run the risk of introducing ODR violations,
      
      * but evidently (#4283) under Linux it does, in the presumably rare/unusual situation that `RTLD_GLOBAL` is used.
      
      * Windows does no have the equivalent of `RTLD_GLOBAL`, therefore `PYBIND11_EXPORT_EXCEPTION` has no practical benefit, on the contrary, noisy warning suppression pragmas are needed, therefore it is best left empty.
      b1bd7f26
  2. 11 Feb, 2022 1 commit
    • Ralf W. Grosse-Kunstleve's avatar
      Python 2 removal part 1: tests (C++ code is intentionally ~untouched) (#3688) · 6493f496
      Ralf W. Grosse-Kunstleve authored
      
      
      * `#error BYE_BYE_GOLDEN_SNAKE`
      
      * Removing everything related to 2.7 from ci.yml
      
      * Commenting-out Centos7
      
      * Removing `PYTHON: 27` from .appveyor.yml
      
      * "PY2" removal, mainly from tests. C++ code is not touched.
      
      * Systematic removal of `u` prefix from `u"..."` and `u'...'` literals. Collateral cleanup of a couple minor other things.
      
      * Cleaning up around case-insensitive hits for `[^a-z]py.*2` in tests/.
      
      * Removing obsolete Python 2 mention in compiling.rst
      
      * Proper `#error` for Python 2.
      
      * Using PY_VERSION_HEX to guard `#error "PYTHON 2 IS NO LONGER SUPPORTED.`
      
      * chore: bump pre-commit
      
      * style: run pre-commit for pyupgrade 3+
      
      * tests: use sys.version_info, not PY
      
      * chore: more Python 2 removal
      
      * Uncommenting Centos7 block (PR #3691 showed that it is working again).
      
      * Update pre-commit hooks
      
      * Fix pre-commit hook
      
      * refactor: remove Python 2 from CMake
      
      * refactor: remove Python 2 from setup code
      
      * refactor: simplify, better static typing
      
      * feat: fail with nice messages
      
      * refactor: drop Python 2 C++ code
      
      * docs: cleanup for Python 3
      
      * revert: intree
      
      revert: intree
      
      * docs: minor touchup to py2 statement
      Co-authored-by: default avatarHenry Schreiner <henryschreineriii@gmail.com>
      Co-authored-by: default avatarAaron Gokaslan <skylion.aaron@gmail.com>
      6493f496
  3. 16 Nov, 2021 1 commit
  4. 23 Oct, 2021 1 commit
  5. 08 Oct, 2021 1 commit
  6. 24 Aug, 2021 1 commit
  7. 21 Jul, 2021 1 commit
    • jesse-sony's avatar
      Feature/local exception translator (#2650) · d65edfb0
      jesse-sony authored
      * Create a module_internals struct
      
      Since we now have two things that are going to be module local, it felt
      correct to add a struct to manage them.
      
      * Add local exception translators
      
      These are added via the  register_local_exception_translator function
      and are then applied before the global translators
      
      * Add unit tests to show the local exception translator works
      
      * Fix a bug in the unit test with the string value of KeyError
      
      * Fix a formatting issue
      
      * Rename registered_local_types_cpp()
      
      Rename it to get_registered_local_types_cpp() to disambiguate from the
      new member of module_internals
      
      * Add additional comments to new local exception code path
      
      * Add a register_local_exception function
      
      * Add additional unit tests for register_local_exception
      
      * Use get_local_internals like get_internals
      
      * Update documentation for new local exception feature
      
      * Add back a missing space
      
      * Clean-up some issues in the docs
      
      * Remove the code duplication when translating exceptions
      
      Separated out the exception processing into a standalone function in the
      details namespace.
      
      Clean-up some comments as per PR notes as well
      
      * Remove the code duplication in register_exception
      
      * Cleanup some formatting things caught by clang-format
      
      * Remove the templates from exception translators
      
      But I added a using declaration to alias the type.
      
      * Remove the extra local from local_internals variable names
      
      * Add an extra explanatory comment to local_internals
      
      * Fix a typo in the code
      d65edfb0
  8. 27 May, 2021 1 commit
  9. 14 Jan, 2021 1 commit
  10. 19 Nov, 2020 1 commit
  11. 03 Oct, 2020 1 commit
  12. 15 Sep, 2020 1 commit
  13. 06 Sep, 2020 1 commit
  14. 22 Aug, 2020 1 commit
    • jbarlow83's avatar
      Improve documentation of Python and C++ exceptions (#2408) · b8863698
      jbarlow83 authored
      The main change is to treat error_already_set as a separate category
      of exception that arises in different circumstances and needs to be
      handled differently. The asymmetry between Python and C++ exceptions
      is further emphasized.
      b8863698
  15. 20 Aug, 2020 1 commit
  16. 16 Aug, 2020 1 commit
  17. 14 Nov, 2019 1 commit
  18. 11 Jun, 2019 1 commit
  19. 09 Apr, 2018 1 commit
  20. 11 Jan, 2018 1 commit
  21. 20 Oct, 2016 1 commit