M2
M2 copied to clipboard
warning with debug Core and help issue
I think this issue has been around for a while, but it might be time to take a look at it:
i1 : debug Core
-- warning: symbol "topComponents" in PrimaryDecomposition.Dictionary is shadowed by a symbol in Core#"private dictionary"
-- use one of the synonyms PrimaryDecomposition$top, PrimaryDecomposition$topComponents, top
i2 : needsPackage "Graphs"
o2 = Graphs
o2 : Package
i3 : help oo
-- warning: symbol "topComponents" in Core#"private dictionary" is shadowed by a symbol in PrimaryDecomposition.Dictionary
-- use the synonym Core$top
stdio:3:1:(3): error: makeDocumentTag: package cannot be determined: (-*Function*-,ForestNode)
I realize I haven't really said what the issue is. Actually, there are two (possibly unrelated!): the warning messages, and the fact that help fails after debug Core.
I don't get the warning message, and the error occurs only with 1.19.1.
+ /Applications/Macaulay2-1.19.1/bin/M2 --no-readline --print-width 103
Macaulay2, version 1.19.1
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases,
MinimalPrimes, PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone
i1 : debug Core
i2 : needsPackage "Graphs"
o2 = Graphs
o2 : Package
i3 : help Graphs
stdio:3:1:(3): error: makeDocumentTag: package cannot be determined: (-*Function*-,ForestNode)
i4 :
Process M2 finished
+ /Applications/Macaulay2-1.19/bin/M2 --no-readline --print-width 103
Macaulay2, version 1.19
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases,
MinimalPrimes, PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone
i1 : debug Core
i2 : needsPackage "Graphs"
o2 = Graphs
o2 : Package
i3 : help Graphs
o3 = Graphs
******
o3 : DIV
It's probably a bug revealed now since help Graphs calls methods Graphs to get a list of all methods documented by that package (previously, if a package documented a method whose keys came from other packages, the package documentation would not list it). Here is a simpler version:
i1 : debug Core
i2 : methods needsPackage "FirstPackage"
stdio:2:1:(3): error: makeDocumentTag: package cannot be determined: (-*Function*-,ForestNode)
Maybe makeDocumentTag shouldn't throw an error when it fails, or maybe package should catch that error. I'm not sure.
I'm working on getting every function labelled with the package it's in, so I'll probably, as a side-effect, fix this problem.
I'm working on getting every function labelled with the package it's in, so I'll probably, as a side-effect, fix this problem.
Does a function get a package even if it is not exported? In this case ForestNode is an unexported type from Core, which is why it doesn't have a package:
i1 : debug Core
i2 : package ForestNode === null
o2 = true
i3 : dictionary ForestNode
o3 = Core#"private dictionary"
It would be nice if this was combined with the frame system and both were fixed and documented at the same time.
I'll fix that, too.
going thru all my open issues and this one is still relevant...