Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
26a52b3
more tweaks in InputForm
mmatera Jan 19, 2026
e67e06f
improve OptionValues InputForm. Adding documentation
mmatera Jan 19, 2026
f843756
improve Definition
mmatera Jan 19, 2026
14ddd30
Fix parenthesized condition in inputform.py
mmatera Jan 19, 2026
d7cdc45
Use new implementation of OutputForm
mmatera Jan 19, 2026
a5a2f09
more explicit logic for parenthesize
mmatera Jan 19, 2026
13c71b9
more explicit parenthesize
mmatera Jan 19, 2026
0f84406
merge
mmatera Jan 19, 2026
dff8acd
group in
mmatera Jan 19, 2026
461f552
group in
mmatera Jan 19, 2026
8e6db2f
Merge branch 'more_on_inputform' into rebase_1d_OutputForm
mmatera Jan 19, 2026
54be619
improve associativity
mmatera Jan 19, 2026
e670635
merge
mmatera Jan 19, 2026
34d5c01
Merge remote-tracking branch 'origin/rebase_1d_OutputForm' into rebas…
mmatera Jan 19, 2026
616c143
Update mathics/format/form/util.py
mmatera Jan 19, 2026
fd095d9
black
mmatera Jan 19, 2026
d9b7184
Merge branch 'more_on_inputform' into rebase_1d_OutputForm
mmatera Jan 19, 2026
f6395c8
Apply suggestions from code review
mmatera Jan 19, 2026
018b5e2
Merge branch 'more_on_inputform' into rebase_1d_OutputForm
mmatera Jan 19, 2026
3a74c9e
fix alternatives
mmatera Jan 19, 2026
dd5ad9e
Merge remote-tracking branch 'origin/master' into rebase_1d_OutputForm
mmatera Jan 20, 2026
bc8826b
move MakeBoxes rules to their right place
mmatera Jan 20, 2026
b591419
fix Optional
mmatera Jan 20, 2026
e597a04
handle `Optional` in OutputForm. Fix PrecedenceForm.
mmatera Jan 20, 2026
e24eac4
Merge branch 'rebase_1d_OutputForm' into move_makeboxes_rules_to_thei…
mmatera Jan 20, 2026
de96e38
add more tests for format_test.yaml
mmatera Jan 20, 2026
45c4445
Merge remote-tracking branch 'origin/move_makeboxes_rules_to_their_sy…
mmatera Jan 20, 2026
95b08a2
merge
mmatera Jan 20, 2026
cc4925d
Merge remote-tracking branch 'origin/master' into move_makeboxes_rule…
mmatera Jan 20, 2026
a718404
makeboxes_overhault
mmatera Jan 21, 2026
a733349
add FormBox
mmatera Jan 21, 2026
2eb1105
Merge branch 'formbox' into makeboxes_overhault
mmatera Jan 21, 2026
a97fa9b
removing trailing code
mmatera Jan 21, 2026
76fac71
interpretationbox tweaks
mmatera Jan 21, 2026
51bb3c9
missing import. Input and FullForm escape quotes in strings
mmatera Jan 21, 2026
02e7c12
Update layout.py
mmatera Jan 23, 2026
ba922a1
Makeboxes overhault (#1642)
mmatera Jan 24, 2026
7c3b14f
Merge branch 'master' into move_makeboxes_rules_to_their_symbols
mmatera Jan 25, 2026
35f9dc4
Merge branch 'master' into formbox
mmatera Jan 25, 2026
5e9213f
format optional
mmatera Jan 25, 2026
55d5c1e
Merge branch 'Format_Optional' into move_makeboxes_rules_to_their_sym…
mmatera Jan 25, 2026
322be25
Merge remote-tracking branch 'origin/master' into makeboxes_overhault
mmatera Jan 25, 2026
d85b179
new_formbox
mmatera Jan 25, 2026
1004bc9
add FormBox
mmatera Jan 25, 2026
99bb5b6
Merge branch 'formbox' into makeboxes_overhault
mmatera Jan 25, 2026
ab21698
Merge branch 'move_makeboxes_rules_to_their_symbols' into new_formbox
mmatera Jan 25, 2026
a42e744
Merge branch 'master' into new_formbox
mmatera Jan 25, 2026
2e7083b
Merge branch 'new_formbox' into makeboxes_overhault
mmatera Jan 25, 2026
9e8fc07
merge
mmatera Jan 25, 2026
1c6c63c
Merge remote-tracking branch 'origin/master' into makeboxes_overhault
mmatera Jan 25, 2026
e011bda
boxed-> boxes
mmatera Jan 25, 2026
01d23a1
Merge remote-tracking branch 'origin/master' into makeboxes_overhault
mmatera Jan 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions mathics/builtin/box/layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,16 +124,16 @@ class FormBox(BoxExpression):
def init(self, *elems, **kwargs):
self.box_options = kwargs
self.form = elems[1]
self.boxed = elems[0]
assert isinstance(self.boxed, BoxElementMixin), f"{type(self.boxes)}"
self.boxes = elems[0]
assert isinstance(self.boxes, BoxElementMixin), f"{type(self.boxes)}"

@property
def elements(self):
if self._elements is None:
self._elements = elements_to_expressions(
self,
(
self.boxed,
self.boxes,
self.form,
),
self.box_options,
Expand Down Expand Up @@ -288,12 +288,12 @@ class InterpretationBox(BoxExpression):
summary_text = "box associated to an input expression"

def __repr__(self):
result = "InterpretationBox\n " + repr(self.boxed)
result = "InterpretationBox\n " + repr(self.boxes)
result += f"\n {self.box_options}"
return result

def init(self, *expr, **options):
self.boxed = expr[0]
self.boxes = expr[0]
self.expr = expr[1]
self.box_options = options

Expand All @@ -303,7 +303,7 @@ def elements(self):
self._elements = elements_to_expressions(
self,
(
self.boxed,
self.boxes,
self.expr,
),
self.box_options,
Expand Down Expand Up @@ -333,7 +333,7 @@ def eval_to_expression2(self, boxexpr, form, evaluation):

def eval_display(self, boxexpr, evaluation):
"""DisplayForm[boxexpr_InterpretationBox]"""
return boxexpr.boxed
return boxexpr.boxes


class PaneBox(BoxExpression):
Expand All @@ -357,12 +357,12 @@ class PaneBox(BoxExpression):
def elements(self):
if self._elements is None:
self._elements = elements_to_expressions(
self, (self.boxed,), self.box_options
self, (self.boxes,), self.box_options
)
return self._elements

def init(self, expr, **options):
self.boxed = expr
self.boxes = expr
self.box_options = options

def eval_panebox1(self, expr, evaluation, options):
Expand Down Expand Up @@ -745,16 +745,16 @@ class TagBox(BoxExpression):
def init(self, *elems, **kwargs):
self.box_options = kwargs
self.form = elems[1]
self.boxed = elems[0]
assert isinstance(self.boxed, BoxElementMixin), f"{type(self.boxes)}"
self.boxes = elems[0]
assert isinstance(self.boxes, BoxElementMixin), f"{type(self.boxes)}"

@property
def elements(self):
if self._elements is None:
self._elements = elements_to_expressions(
self,
(
self.boxed,
self.boxes,
self.form,
),
self.box_options,
Expand Down
6 changes: 3 additions & 3 deletions mathics/format/render/latex.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,14 @@ def render(format, string, in_text=False):


def interpretation_box(self, **options):
return lookup_conversion_method(self.boxed, "latex")(self.boxed, **options)
return lookup_conversion_method(self.boxes, "latex")(self.boxes, **options)


add_conversion_fn(InterpretationBox, interpretation_box)


def pane_box(self, **options):
content = lookup_conversion_method(self.boxed, "latex")(self.boxed, **options)
content = lookup_conversion_method(self.boxes, "latex")(self.boxes, **options)
options = self.box_options
size = options.get("System`ImageSize", SymbolAutomatic).to_python()

Expand Down Expand Up @@ -665,7 +665,7 @@ def graphics3dbox(self, elements=None, **options) -> str:


def tag_and_form_box(self, **options):
return lookup_conversion_method(self.boxed, "latex")(self.boxed, **options)
return lookup_conversion_method(self.boxes, "latex")(self.boxes, **options)


add_conversion_fn(FormBox, tag_and_form_box)
Expand Down
6 changes: 3 additions & 3 deletions mathics/format/render/mathml.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,14 +124,14 @@ def render(format, string):


def interpretation_box(self, **options):
return lookup_conversion_method(self.boxed, "mathml")(self.boxed, **options)
return lookup_conversion_method(self.boxes, "mathml")(self.boxes, **options)


add_conversion_fn(InterpretationBox, interpretation_box)


def pane_box(self, **options):
content = lookup_conversion_method(self.boxed, "mathml")(self.boxed, **options)
content = lookup_conversion_method(self.boxes, "mathml")(self.boxes, **options)
options = self.box_options
size = options.get("System`ImageSize", SymbolAutomatic).to_python()
if size is SymbolAutomatic:
Expand Down Expand Up @@ -373,7 +373,7 @@ def graphics3dbox(self, elements=None, **options) -> str:


def tag_and_form_box(self, **options):
return lookup_conversion_method(self.boxed, "mathml")(self.boxed, **options)
return lookup_conversion_method(self.boxes, "mathml")(self.boxes, **options)


add_conversion_fn(FormBox, tag_and_form_box)
Expand Down
6 changes: 3 additions & 3 deletions mathics/format/render/text.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ def string(self, **options) -> str:


def interpretation_box(self, **options):
return boxes_to_text(self.boxed, **options)
return boxes_to_text(self.boxes, **options)


add_conversion_fn(InterpretationBox, interpretation_box)


def pane_box(self, **options):
result = boxes_to_text(self.boxed, **options)
result = boxes_to_text(self.boxes, **options)
return result


Expand Down Expand Up @@ -237,7 +237,7 @@ def graphics3dbox(self, elements=None, **options) -> str:


def tag_and_form_box(self, **options):
return boxes_to_text(self.boxed, **options)
return boxes_to_text(self.boxes, **options)


add_conversion_fn(FormBox, tag_and_form_box)
Expand Down
Loading