Subject: bug#887 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; glyph_string->gidx removal causes HEAD compilation failure under OS X

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] Thu Sep  4 08:05:13 2008
Date: Thu, 4 Sep 2008 11:04:51 -0400
From: "Sudish Joseph" <[email-masked]>
To: [email-masked]
Subject: 23.0.60; glyph_string->gidx removal causes HEAD compilation failure under OS X

------=_Part_31133_13273604.1220540691566
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I last successfully compiled Emacs 23.0.60.1 from cvs a little over a week
ago.  Trying this again today results in the following error.

gcc -c  -Demacs -DHAVE_CONFIG_H  -I. -I/Users/sj/src/emacs/src -Dtemacs
-O2 -pipe -Wall /Users/sj/src/emacs/src/nsfont.m
[...]
/Users/sj/src/emacs/src/nsfont.m:907: error: 'struct glyph_string' has no
member named 'gidx'
/Users/sj/src/emacs/src/nsfont.m:908: error: 'struct glyph_string' has no
member named 'gidx'
/Users/sj/src/emacs/src/nsfont.m:914: error: 'struct glyph_string' has no
member named 'gidx'
/Users/sj/src/emacs/src/nsfont.m:1064: warning: implicit declaration of
function 'CGContextSetFontRenderingMode'
/Users/sj/src/emacs/src/nsfont.m:1097: error: 'struct glyph_string' has no
member named 'gidx'
/Users/sj/src/emacs/src/nsfont.m:1103: error: 'struct glyph_string' has no
member named 'gidx'

The following change from src/ChangeLog seems to be the root cause -- it
seems nsfont.m wasn't updated to reflect the change:

2008-08-29  Kenichi Handa  <[email-masked]>

        These changes are to re-implement the automatic composition so
        that it doesn't use text properties.

[...]
        * dispextern.h (struct glyph): New union u.cmp.  Delete the member
        cmp_id.
        (struct glyph_string): Delete the member gidx.  New members
        cmp_id, cmp_from, and cmp_to.

Emacs is being configured and built in a tmp dir as follows:

% cd <head of emacs cvs tree>
% mkdir tmp
% cd tmp
% CC=gcc CXX=g++ CFLAGS="-O2 -pipe -Wall" CXXFLAGS=$CFLAGS ../configure
--verbose --enable-cocoa-experimental-ctrl-g --without-pop --without-x
--with-x-toolkit=no --with-ns
% make

Thanks for all your hard work in integrating all the OS X/NextStep changes
into the mainline.

-Sudish

In GNU Emacs 23.0.60.1 (i386-apple-darwin9.4.0, *Step 9.0)
 of 2008-08-27 on fluxus.int.absonant.org
Windowing system distributor `Apple', version 49.46.48
configured using `configure  '--verbose'
'--enable-cocoa-experimental-ctrl-g' '--without-pop' '--without-x'
'--with-x-toolkit=no' '--with-ns' 'CC=gcc-4.2' 'CFLAGS=-O2 -pipe -Wall''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  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: nil
  default-enable-multibyte-characters: t

Major mode: Info

Minor modes in effect:
  partial-completion-mode: t
  hi-lock-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <up> <up> <up> <up> <up> <up> <up> <up>
<up> d d d d d d d d d d s-s <up> <up> <up> <up> <up>
d d d d d d d d d d s-s C-x C-f d r <tab> <return>
<down> <down> <down> <down> d d s-s C-x C-f d e b <tab>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> R a <tab> <return> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> x x x x x x
x x x x x x x x x x x <left> <left> x x s-s <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1>
<down-mouse-1> <mouse-1> C-h i <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <right> <right>
<return> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> SPC / b u g <return> / <return>
<right> <return> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> SPC SPC SPC SPC SPC <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> M-x r e p o r t
- e m a c s - b u g <return>

Recent messages:
incremental parser error: "Wrong type argument: consp, nil" [2 times]
(New file) [2 times]
New file. Inserted dmacro: h_masthead
Wrote /Users/sj/work/drake_work/httpproxymon/submit.h
Wrote /Users/sj/work/drake_work/httpproxymon/httpproxymon.c
Wrote /Users/sj/work/drake_work/httpproxymon/Makefile [3 times]
Wrote /Users/sj/work/drake_work/httpproxymon/drake.yml
Auto-saving...done
Wrote /Users/sj/work/drake_work/httpproxymon/Rakefile
Composing main Info directory...done

------=_Part_31133_13273604.1220540691566
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<div dir="ltr">I last  successfully compiled Emacs <a href="http://23.0.60.1">23.0.60.1</a> from cvs a little over a week ago.&nbsp; Trying this again today results in the following error.<br><br>gcc -c&nbsp; -Demacs -DHAVE_CONFIG_H&nbsp; -I. -I/Users/sj/src/emacs/src -Dtemacs&nbsp;&nbsp;&nbsp; -O2 -pipe -Wall /Users/sj/src/emacs/src/nsfont.m<br>
[...]<br>/Users/sj/src/emacs/src/nsfont.m:907: error: 'struct glyph_string' has no member named 'gidx'<br>/Users/sj/src/emacs/src/nsfont.m:908: error: 'struct glyph_string' has no member named 'gidx'<br>/Users/sj/src/emacs/src/nsfont.m:914: error: 'struct glyph_string' has no member named 'gidx'<br>
/Users/sj/src/emacs/src/nsfont.m:1064: warning: implicit declaration of function 'CGContextSetFontRenderingMode'<br>/Users/sj/src/emacs/src/nsfont.m:1097: error: 'struct glyph_string' has no member named 'gidx'<br>/Users/sj/src/emacs/src/nsfont.m:1103: error: 'struct glyph_string' has no member named 'gidx'<br>
<br>The following change from src/ChangeLog seems to be the root cause -- it seems nsfont.m wasn&#39;t updated to reflect the change:<br><br>2008-08-29&nbsp; Kenichi Handa&nbsp; &lt;<a href="mailto:[email-masked]">[email-masked]</a>&gt;<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; These changes are to re-implement the automatic composition so<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; that it doesn&#39;t use text properties.<br><br>[...]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * dispextern.h (struct glyph): New union u.cmp.&nbsp; Delete the member<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmp_id.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (struct glyph_string): Delete the member gidx.&nbsp; New members<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmp_id, cmp_from, and cmp_to.<br><br>Emacs is being configured and built in a tmp dir as follows:<br><br>% cd &lt;head of emacs cvs tree&gt;<br>
% mkdir tmp<br>% cd tmp<br>% CC=gcc CXX=g++ CFLAGS=&quot;-O2 -pipe -Wall&quot; CXXFLAGS=$CFLAGS ../configure --verbose --enable-cocoa-experimental-ctrl-g --without-pop --without-x --with-x-toolkit=no --with-ns<br>% make<br>
<br>Thanks for all your hard work in integrating all the OS X/NextStep changes into the mainline.<br><br>-Sudish<br><br>In GNU Emacs <a href="http://23.0.60.1">23.0.60.1</a> (i386-apple-darwin9.4.0, *Step 9.0)<br>&nbsp;of 2008-08-27 on <a href="http://fluxus.int.absonant.org">fluxus.int.absonant.org</a><br>
Windowing system distributor `Apple&#39;, version 49.46.48<br>configured using `configure&nbsp; &#39;--verbose&#39; &#39;--enable-cocoa-experimental-ctrl-g&#39; &#39;--without-pop&#39; &#39;--without-x&#39; &#39;--with-x-toolkit=no&#39; &#39;--with-ns&#39; &#39;CC=gcc-4.2&#39; &#39;CFLAGS=-O2 -pipe -Wall&#39;&#39;<br>
<br>Important settings:<br>&nbsp; value of $LC_ALL: nil<br>&nbsp; value of $LC_COLLATE: nil<br>&nbsp; value of $LC_CTYPE: nil<br>&nbsp; value of $LC_MESSAGES: nil<br>&nbsp; value of $LC_MONETARY: nil<br>&nbsp; value of $LC_NUMERIC: nil<br>&nbsp; value of $LC_TIME: nil<br>
&nbsp; value of $LANG: nil<br>&nbsp; value of $XMODIFIERS: nil<br>&nbsp; locale-coding-system: nil<br>&nbsp; default-enable-multibyte-characters: t<br><br>Major mode: Info<br><br>Minor modes in effect:<br>&nbsp; partial-completion-mode: t<br>&nbsp; hi-lock-mode: t<br>
&nbsp; iswitchb-mode: t<br>&nbsp; tooltip-mode: t<br>&nbsp; mouse-wheel-mode: t<br>&nbsp; menu-bar-mode: t<br>&nbsp; file-name-shadow-mode: t<br>&nbsp; global-font-lock-mode: t<br>&nbsp; font-lock-mode: t<br>&nbsp; global-auto-composition-mode: t<br>&nbsp; auto-composition-mode: t<br>
&nbsp; auto-encryption-mode: t<br>&nbsp; auto-compression-mode: t<br>&nbsp; line-number-mode: t<br>&nbsp; transient-mark-mode: t<br><br>Recent input:<br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; <br>&lt;up&gt; d d d d d d d d d d s-s &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; &lt;up&gt; <br>d d d d d d d d d d s-s C-x C-f d r &lt;tab&gt; &lt;return&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; d d s-s C-x C-f d e b &lt;tab&gt; <br>&lt;backspace&gt; &lt;backspace&gt; &lt;backspace&gt; &lt;backspace&gt; &lt;backspace&gt; <br>&lt;backspace&gt; &lt;backspace&gt; R a &lt;tab&gt; &lt;return&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; <br>&lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; <br>
&lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; <br>&lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; <br>&lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; &lt;right&gt; x x x x x x <br>
x x x x x x x x x x x &lt;left&gt; &lt;left&gt; x x s-s &lt;down-mouse-1&gt; <br>&lt;mouse-1&gt; &lt;down-mouse-1&gt; &lt;mouse-1&gt; &lt;down-mouse-1&gt; &lt;mouse-1&gt; <br>&lt;down-mouse-1&gt; &lt;mouse-1&gt; C-h i &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;right&gt; &lt;right&gt; <br>&lt;return&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; SPC / b u g &lt;return&gt; / &lt;return&gt; <br>&lt;right&gt; &lt;return&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; SPC SPC SPC SPC SPC &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; <br>
&lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; &lt;down&gt; M-x r e p o r t <br>- e m a c s - b u g &lt;return&gt;<br><br>Recent messages:<br>incremental parser error: &quot;Wrong type argument: consp, nil&quot; [2 times]<br>
(New file) [2 times]<br>New file. Inserted dmacro: h_masthead<br>Wrote /Users/sj/work/drake_work/httpproxymon/submit.h<br>Wrote /Users/sj/work/drake_work/httpproxymon/httpproxymon.c<br>Wrote /Users/sj/work/drake_work/httpproxymon/Makefile [3 times]<br>
Wrote /Users/sj/work/drake_work/httpproxymon/drake.yml<br>Auto-saving...done<br>Wrote /Users/sj/work/drake_work/httpproxymon/Rakefile<br>Composing main Info directory...done<br><br></div>

------=_Part_31133_13273604.1220540691566--