ligges@statistik.uni-dortmund.de
2003-May-25  18:34 UTC
[Rd] surprising behaviour of "bgroup": sets all in greek letters (PR#3099)
Let me summarize the bug reported by Ulf Martin on R-help with the same 
subject line.
The code
   plot(1:10)
   text(1, 9, expression(F == bgroup("{", x, "")))
results in greek letters, which is not expected here.
That happens if the user tries to set only a left delimeter, the same with:
   text(2, 8, expression(F == bgroup("{", x, ".")))
or
   text(3, 7, expression(F == bgroup(".", x, "}")))
but it works if delimeters are specified, as in:
   text(4, 6, expression(F == bgroup("{", x, ")")))
I don't know whether I have just fixed the symptoms here (Paul ?). 
Anyway, the following fix of  .../src/main/plotmath.c  works as expected.
Uwe Ligges
=========================(diff'ed to R-1.7.0 patched (2003-05-25))
 >  diff -u ./plotmath.old ./r-patched/src/main/plotmath.c
--- ./plotmath.old     2003-05-25 17:47:23.000000000 +0200
+++ ./r-patched/src/main/plotmath.c     2003-05-25 17:49:38.000000000 +0200
@@ -2075,10 +2075,12 @@
      delim2 = DelimCode(expr, CADDDR(expr));
      bbox = RenderElement(CADDR(expr), 0);
      dist = max(bboxHeight(bbox) - axisHeight, bboxDepth(bbox) + 
axisHeight);
-    bbox = RenderDelim(delim1, dist + extra, draw);
+    if (delim1 != '.')
+        bbox = RenderDelim(delim1, dist + extra, draw);
      bbox = CombineBBoxes(bbox, RenderElement(CADDR(expr), draw));
      bbox = RenderItalicCorr(bbox, draw);
-    bbox = CombineBBoxes(bbox, RenderDelim(delim2, dist + extra, draw));
+    if (delim2 != '.')
+        bbox = CombineBBoxes(bbox,     RenderDelim(delim2, dist + 
extra, draw));
      return bbox;
  }
