Subject: bug#831 closed by Adrian Robert <[email-masked]> (#823 - 23.0.60; uninitialised variable gidx in nsfont.m - Emacs bug report logs)

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs,ns package:

#823: 23.0.60; error in nsfonts.m

It has been closed by Adrian Robert <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Adrian Robert <[email-masked]> by
replying to this email.

-- 
823: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=823
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Fri Oct  3 11:04:23 2008
From: Adrian Robert <[email-masked]>
To: [email-masked]
Subject: #823 - 23.0.60; uninitialised variable gidx in nsfont.m - Emacs bug report logs
Date: Fri, 3 Oct 2008 14:03:20 -0400

Summary: the variable gidx was removed during Kenichi Handa's update  
of composition handling and it took some time to update all of the  
code using it:

On 2008-08-29  Kenichi Handa changed the glyph_string data structure,  
composition-related portion

On 2008-09-07  Teodor Zlatanov fixed the compiler error by changing  
glyph_string.gidx to glyph_string.cmp_from

On 2008-09-27 Adrian Robert updated this patch to approximate the  
behavior before Handa's changes

>From [email-masked] Sat Aug 30 10:32:45 2008
From: Austin Frank <[email-masked]>
To: [email-masked]
Subject: 23.0.60; error in nsfonts.m
Date: Sat, 30 Aug 2008 13:32:39 -0400

--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=

I'm trying to build emacs from a current CVS checkout on OSX 10.4.11
with the configure option --with-ns.

Build fails because of error in nsfonts.m.  That file references a
variable called gidx, which is not defined in the relevant structure.
The attached patch changes all instances of gidx to x, and allows emacs
to build on my system.

--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=gidx.patch
Content-Transfer-Encoding: quoted-printable

diff --git a/src/nsfont.m b/src/nsfont.m
index f49cd0f..10b1c90 100644
=2D-- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -904,14 +904,14 @@ nsfont_draw (struct glyph_string *s, int from, int to=
, int x, int y,
     int hi, lo;
     char isComposite =3D 0; /* s->first_glyph->type =3D=3D COMPOSITE_GLYPH=
; */
     /* FIXME: composition: no vertical displacement is considered. */
=2D    t+=3D s->gidx; /* advance into composition */
=2D    for (i =3D0; i<s->nchars - s->gidx; i++, t++)
+    t+=3D s->x; /* advance into composition */
+    for (i =3D0; i<s->nchars - s->x; i++, t++)
       {
         hi =3D (*t & 0xFF00) >> 8;
         lo =3D *t & 0x00FF;
         if (isComposite)
           {
=2D            cwidth =3D s->cmp->offsets[s->gidx++ * 2] - twidth;
+            cwidth =3D s->cmp->offsets[s->x++ * 2] - twidth;
           }
         else
           {
@@ -1094,13 +1094,13 @@ nsfont_draw (struct glyph_string *s, int from, int =
to, int x, int y,
       [col set];
=20
     CGContextSetTextPosition (gcontext, r.origin.x, r.origin.y);
=2D    CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->gidx,
+    CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->x,
                                     advances, len);
=20
     if (face->overstrike)
       {
         CGContextSetTextPosition (gcontext, r.origin.x+0.5, r.origin.y);
=2D        CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->gidx,
+        CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->x,
                                         advances, len);
       }
=20

--=-=-=
Content-Transfer-Encoding: quoted-printable

In GNU Emacs 23.0.60.1 (powerpc-apple-darwin8.11.0, X toolkit)
 of 2008-08-29 on malibu.local
Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

=2D-=20
Austin Frank
http://aufrank.net
GPG Public Key (D7398C2F): http://aufrank.net/personal.asc

--=-=-=--

--==-=-=
Content-Type: application/pgp-signature

--==-=-=--