Subject: CVS commit: pkgsrc/devel/R-pkgload
From: Makoto Fujiwara
Date: 2021-06-01 15:31:23
Message id: 20210601133123.8609DFA95@cvs.NetBSD.org

Log Message:
(devel/R-pkgload) Updated 1.1.0 to 1.2.1

# pkgload 1.2.1

* `unload()` no longer unregisters methods for generics of the package being \ 
unloaded. This way dangling references to generics defined in the stale \ 
namespace still work as expected (r-lib/vctrs#1341).
* `load_all()` will now work for packages that have testthat tests but do not \ 
have testthat installed (#151)
* The `pkgbuild` dependency has been moved to `Suggests`, as it is only needed \ 
for packages with compiled code.

* `load_all()` will now work for packages that have testthat tests but do not \ 
have testthat installed (#151)

* `load_all(warn_conflicts = TRUE)` becomes more narrow and only warns when a \ 
*function* in the global environment masks a *function* in the package, \ 
consistent with the docs (#125, #143 @jennybc).

* `load_all()` no longer does a comprehensive check on the `DESCRIPTION` file \ 
when loading, instead just checking that it exists and starts with Package \ 
(#149, @malcolmbarrett)

* `unload()` no longer warns when it can't unload a namespace.

# pkgload 1.2.0

* Fix test failure in R 4.1 with regards to S4 method registration

* `load_all()` now preserves existing namespaces in working order. In
  particular, it doesn't unload the package's shared library and keeps
  it loaded instead. When reloading, a copy of the SO for the new
  namespace is loaded from a temporary location. These temporary SOs
  are only unloaded on GC and deleted from their temporary location
  via a weak reference attached to the namespace.

  This mechanism ensures that lingering references to the namespace
  keep working as expected. Consequently the namespace
  propagation routine that was added to pkgload as a workaround has
  been removed.

  Note that `.Call()` invocations that pass a string symbol rather
  than a structured symbol may keep crashing, because R will look into
  the most recently loaded SO of a given name. Since symbol
  registration is now the norm, we don't expect this to cause much
  trouble.

* `load_all()` no longer forces all bindings of a namespace to avoid
  lazy-load errors. Instead, it removes exported S3 methods from the
  relevant tables.

  - This improves the loading behaviour with packages that define
    objects in their namespaces lazily (e.g. with `delayedAssign()`).

  - This also makes `load_all()` more predictable after a method has
    been removed from the package. It is now actually removed from the
    generic table. It would previously linger until R was restarted.

* If `load_all()` attaches testthat, it automatically suppresses conflicts.

Files:
RevisionActionfile
1.3modifypkgsrc/devel/R-pkgload/Makefile
1.3modifypkgsrc/devel/R-pkgload/distinfo