Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!batcomputer!lacey From: lacey@batcomputer.tn.cornell.edu (John Lacey) Newsgroups: comp.emacs Subject: Can't compile jove 4.13 (macros.c) Message-ID: <8462@batcomputer.tn.cornell.edu> Date: 20 Jul 89 17:27:20 GMT Reply-To: lacey@tcgould.tn.cornell.edu (John Lacey) Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 47 I am trying to compile Jove 4.13 on a Gould running UTX/32 2.1. I am currently using 4.12 (which I also compiled). The glitch is that an == compare between pointer to functions is giving the compiler grief. The only relevant lines that I can find (those involving the commands variable, and the Forget function; see below) I have changed back to their 4.12 versions (which, for example, lacked the proto macro). This was no go either. I thought maybe our compiler had changed (they did that to me before), but 4.12 still compiles ok. I am using the same setup in tune.h and sysdep.h in both versions. I am one clueless morsel. Anybody have any ideas? Line 346, below, is the one causing the problem. In version 4.12, the c_proc member was defined as void (*c_proc)(); but changing back to that has no discernible effect. macros.c is virually unchanged from 4.12. *** dataobj.h struct cmd { int Type; char *Name; void (*c_proc) proto((void)); #ifdef MAC char c_map; /* prefix map for About Jove... */ char c_key; /* key binding for About Jove... */ #endif }; *** end of dataobj.h *** macros.c 331- void 332- Forget() 333- { 344- if (PrefChar(*cp)) 345- m->m_len -= 2; 346: else if (commands[cp[1]].c_proc == Forget) 347- m->m_len -= 1; 348- } else *** end of macros.c -- John Lacey | cornell!batcomputer!lacey lacey@tcgould.tn.cornell.edu | lacey@crnlthry.bitnet