Skip to content

Commit 712c9d2

Browse files
committed
Merge github.com:mathics/Mathics into sanitizeloadmodules
2 parents 31630c0 + 32dcf61 commit 712c9d2

21 files changed

Lines changed: 9000 additions & 9104 deletions

mathics/builtin/__init__.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646

4747
modules.append(module)
4848

49-
builtins = []
49+
_builtins = []
5050
builtins_by_module = {}
5151

5252

@@ -78,7 +78,7 @@ def is_builtin(var):
7878
# This set the default context for symbols in mathics.builtins
7979
if not type(instance).context:
8080
type(instance).context = "System`"
81-
builtins.append( (instance.get_name(), instance))
81+
_builtins.append( (instance.get_name(), instance))
8282
builtins_by_module[module.__name__].append(instance)
8383

8484

@@ -88,7 +88,6 @@ def is_builtin(var):
8888
mathics_to_python = {} # here we have: name -> string
8989
sympy_to_mathics = {}
9090

91-
box_constructs = {}
9291
pattern_objects = {}
9392
builtins_precedence = {}
9493

@@ -104,20 +103,24 @@ def add_builtins(new_builtins):
104103
mathics_to_sympy[name] = builtin
105104
for sympy_name in builtin.get_sympy_names():
106105
sympy_to_mathics[sympy_name] = builtin
107-
if isinstance(builtin, BoxConstruct):
108-
box_constructs[name] = builtin
109106
if isinstance(builtin, Operator):
110107
builtins_precedence[name] = builtin.precedence
111108
if isinstance(builtin, PatternObject):
112109
pattern_objects[name] = builtin.__class__
113-
builtins.update(dict(new_builtins))
110+
_builtins.update(dict(new_builtins))
114111

115112

116-
new_builtins = builtins
117-
builtins = {}
113+
new_builtins = _builtins
114+
_builtins = {}
118115
add_builtins(new_builtins)
119116

120117

118+
def builtins_dict():
119+
return { builtin.get_name() : builtin
120+
for modname, builtins in builtins_by_module.items()
121+
for builtin in builtins}
122+
123+
121124
def get_module_doc(module):
122125
doc = module.__doc__
123126
if doc is not None:
@@ -137,8 +140,8 @@ def get_module_doc(module):
137140

138141
def contribute(definitions):
139142
# let MakeBoxes contribute first
140-
builtins["System`MakeBoxes"].contribute(definitions)
141-
for name, item in builtins.items():
143+
_builtins["System`MakeBoxes"].contribute(definitions)
144+
for name, item in _builtins.items():
142145
if name != "System`MakeBoxes":
143146
item.contribute(definitions)
144147

0 commit comments

Comments
 (0)