The mystery as to the origins of the "negative sized edge?" error, generated from xc/lib/font/Type1/regions.c/ChangeDirection (), has been solved. Below are the details. On 2001-05-16, John Turner wrote: (http://cygwin.com/ml/cygwin-xfree/2001-q2/msg01449.html) > [...] however, although XEmacs (version 21.5b1) works fine with 4.0.3 and Test 22, > Test 23 crashes [with the "negative sized edge?" error ...] Test 22 was released on 2001-05-01 and did not contain the bug: http://xfree86.cygwin.com/devel/shadow/changelog.html On 2001-05-06, xc/config/cf/cygwin.cf was revised from version 3.15 to 3.16, adding the -ansi build flag: http://cvsweb.xfree86.org/cvsweb/xc/config/cf/cygwin.cf.diff?r1=3.15&r2=3.16 On 2001-05-07, Test 23 was released and contained the bug for the first time: http://xfree86.cygwin.com/devel/shadow/changelog.html On 2001-08-03, xc/config/cf/cygwin.cf was revised from version 3.25 to 3.26, removing the -ansi build flag: http://cvsweb.xfree86.org/cvsweb/xc/config/cf/cygwin.cf.diff?r1=3.25&r2=3.26 On 2001-08-04, Test 42 was released and no longer contained the bug: http://xfree86.cygwin.com/devel/shadow/changelog.html Clearly, the presence of the -ansi build flag causes the "negative sized edge?" error to occur. It is highly likely that the missing prototype for hypot, when building with -ansi, causes the error, as hypot is called from two files in the xc/lib/font/Type1/ directory. It is likely that, as Alan had speculated, a hypotenuse is being incorrectly calculated or stored, while the error doesn't show up until the ChangeDirection () function is called. However, this theory must be verified before we make any decisions by it. For now we just can't build with the -ansi flag. Hope that clears things up, Harold P.S. Yup, it's clear now, about as clear as mud...
