From 3c75e4b157b8249a63c54b293728c6376add01ea Mon Sep 17 00:00:00 2001 From: ThomasBreuer Date: Tue, 20 Aug 2024 23:59:25 +0200 Subject: [PATCH] do not document `OtherPackagesLoadedInAdvance` This feature is regarded as deprecated. Currently only the documentation gets changed, the implementation is kept as it is. --- doc/ref/gappkg.xml | 33 ++++----------------------------- lib/package.gd | 9 ++------- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/doc/ref/gappkg.xml b/doc/ref/gappkg.xml index 3a71010247..cd0d284cac 100644 --- a/doc/ref/gappkg.xml +++ b/doc/ref/gappkg.xml @@ -377,12 +377,6 @@ The following components of the record are optional. denoting the other packages which shall be loaded together with the current package if they are available, - OtherPackagesLoadedInAdvance - - a list of pairs [ pkgname, pkgversion ] of strings, - denoting the other packages that must be completely loaded before loading - of the current package is started, - ExternalConditions a list of strings or of pairs [ text, URL ] of strings, @@ -1178,14 +1172,6 @@ In this situation, loading A forces an attempt to load also B, but A is loaded even if B is not available.

-Also the component Dependencies.OtherPackagesLoadedInAdvance in -PackageInfo.g is supported, which describes needed packages that -shall be loaded before the current package is loaded. -See -for details about this and more generally about the order in which the files -of the packages in question are read. -

- All package dependencies must be documented explicitly in the PackageInfo.g file. It is important to properly identify package dependencies and make the right decision @@ -1449,21 +1435,10 @@ If one wants to call the function f or to access components of the record r in the code of the package A then the problem is that it may be not possible to determine a cyclic dependency between A and B from the packages A and B alone. -A safe solution is then to add the name of B to the component -Dependencies.OtherPackagesLoadedInAdvance of the PackageInfo.g -file of A. -The effect is that package B is completely loaded before the file -read.g of A is read, provided that there is no cyclic -dependency between A and B, -and that package A is regarded as not available in the case that -such a cyclic dependency between A and B exists. -

- -A special case where Dependencies.OtherPackagesLoadedInAdvance -can be useful is that a package wants to force the complete ⪆ library -to be read before the file read.g of the package A is read. -In this situation, the package name "gap" should be added -to this component in the PackageInfo.g file of A. +A safe solution is then to design A in such a way that the code that +calls f or accesses r belongs to package extensions +of A that get loaded only after B has been loaded; +see Section for details.

autoreadable variables diff --git a/lib/package.gd b/lib/package.gd index 84d16df7b3..b1d40c1d80 100644 --- a/lib/package.gd +++ b/lib/package.gd @@ -288,16 +288,11 @@ DeclareGlobalFunction( "LinearOrderByPartialWeakOrder" ); ## the required version is not installed, ## ## -## some needed package cannot be loaded, +## some needed package cannot be loaded, or ## ## ## the AvailabilityTest function in the PackageInfo.g file -## of the package returned false, or -## -## -## some condition from the (optional) list -## Dependencies.OtherPackagesLoadedInAdvance in the -## PackageInfo.g file of the package is not satisfied. +## of the package returned false. ## ## ##