Closed Bug 133814 Opened 22 years ago Closed 22 years ago

Improper spacing of embellished operators

Categories

(Core :: MathML, defect)

defect
Not set
minor

Tracking

()

RESOLVED FIXED
mozilla1.0

People

(Reporter: kluka, Assigned: rbs)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020310
BuildID:    2002031008

According to the specification (cited below), spacing surrounding an embellished
operator is the same as if only its core mo element were in place of the whole
embellished operator. However, Mozilla improperly infers spacing (or maybe just
uses a default), unless spacing of the core mo element is stated explicitly in
its attributes.

Reproducible: Always
Steps to Reproduce:
1. Look at http://www.ii.fmph.uniba.sk/~kluka/mozilla/embellished.xml


Actual Results:  An embellished operator is in a position implying usage of the
infix form and it is constructed using mover element whose core element is the
minus operator. There is no space before and a thin space after the embellished
operator as if it were considered a separator.

Expected Results:  The spacing should be the same as spacing of the plain minus
operator in the same position, i.e. a thin space both before and after the operator.

The MathML 2.0 specification, section 3.2.5.7:

   ... It is the embellished operator as a whole (...) whose position
   in an mrow is examined by the above rules and whose surrounding
   spacing is affected by its form, not the mo element at its core;
   however, the attributes influencing this surrounding spacing are
   taken from mo element at the core (or from that element's dictionary
   entry). ...
Confirming. An optimization that was meant to avoid grovelling the tree to find
out the form of the outermost embellished anscestor isn't working quite right,
because it uses embellishment flags set on the tree, but these flags themselves
can only be set by grovelling the tree... So the optimization was querying unset
flags. I will just disable this optimization at my next checkin.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Keywords: regression
I was able to find a way to fix the bug while retaining the optimization. Since
it is a tiny patch, I will be integrating it in the other changes that I am
doing right now (bug 132492, bug 129560, bug 130886). I hope that will be ok
for reviewers... I am right in the middle of that file at moment and things are
pretty fresh in mind.
s/bug 130886/bug 133429/

Cc:ing roc & attinasi for notification.
Target Milestone: --- → mozilla1.0
Summary: Improper spacing of embellished operators → [fix, have r, awaiting a] Improper spacing of embellished operators
Comment on attachment 76660 [details] [diff] [review]
patch to fix the bug

sr=attinasi
Attachment #76660 - Flags: superreview+
Summary: [fix, have r, awaiting a] Improper spacing of embellished operators → [fix, have r/sr, awaiting a] Improper spacing of embellished operators
Whiteboard: have r=dbaron, sr=attinasi
Comment on attachment 76660 [details] [diff] [review]
patch to fix the bug

a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #76660 - Flags: approval+
Checked in.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
OS: Linux → All
Hardware: PC → All
Resolution: --- → FIXED
Summary: [fix, have r/sr, awaiting a] Improper spacing of embellished operators → Improper spacing of embellished operators
Whiteboard: have r=dbaron, sr=attinasi
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: