From xemacs-m  Mon Jan  6 13:11:36 1997
Received: from nvwls.cc.purdue.edu (root@nvwls.cc.purdue.edu [128.210.7.3])
          by xemacs.cs.uiuc.edu (8.8.4/8.8.4) with ESMTP
	  id NAA29070 for <XEmacs-Beta@XEmacs.org>; Mon, 6 Jan 1997 13:11:35 -0600 (CST)
Received: from nvwls.cc.purdue.edu (nuspl@localhost [127.0.0.1]) by nvwls.cc.purdue.edu (8.7.5/8.7.3) with ESMTP id OAA04740 for <XEmacs-Beta@XEmacs.org>; Mon, 6 Jan 1997 14:04:57 -0500
Message-Id: <199701061904.OAA04740@nvwls.cc.purdue.edu>
Reply-to: nuspl@purdue.edu
X-Mailer: MH-E 5.0.2
X-Attribution: jjn
X-Face: K'Q`VIQx)c-;TPHDA`.,kBQq(WyNe3AdopJ?B(.4yT%n|F?4>+?x]pQ4XC83s-4;|U{%9x]
 =yr4dko
To: XEmacs-Beta@XEmacs.org
Subject: 20.0-b34-MULE success
Date: Mon, 06 Jan 1997 14:04:56 -0500
From: Joe Nuspl <nuspl@nvwls.cc.purdue.edu>


Configured for `i586-unknown-linux2.0.27'.

  Where should the build process find the source code?    /usr/opt/xemacs-20.0-b34
  What installation prefix should install use?            /usr/local
  What operating system and machine description files should XEmacs use?
        `s/linux.h' and `m/intel386.h'
  What compiler should XEmacs be built with?              gcc  -g -O 
  Should XEmacs use the GNU version of malloc?            yes
  Should XEmacs use the relocating allocator for buffers? yes
  What window system should XEmacs use?                   x11
  Where do we find X Windows header files?                /usr/X11R6/include
  Where do we find X Windows libraries?                   /usr/X11R6/lib
  Additional header files:                                 /usr/include/ncurses
  Compiling in support for XAUTH.
  Compiling in support for XPM.
  Compiling in support for X-Face headers.
  Compiling in support for GIF image conversion.
  Compiling in support for JPEG image conversion.
  Compiling in support for Berkeley DB.
  Compiling in support for GNU DBM.
  Compiling in Mule (multi-lingual) support.
  Using the Lucid menubar.
  Using the Athena scrollbar.
  Using the union type for Lisp_Objects.
  Compiling in extra code for debugging.
  Compiling in code for checking XEmacs memory usage.

The following patch is necessary for compiling w/ Athena scrollbars.

--- lwlib/lwlib-Xaw.c   1997/01/06 16:52:20     1.1
+++ lwlib/lwlib-Xaw.c   1997/01/06 16:53:04
@@ -557,6 +557,7 @@
 xaw_create_scrollbar (widget_instance *instance, int vertical)
 {
   Arg av[10];
+  Widget scrollbar;
   int ac = 0;
 
   static XtCallbackRec jumpCallbacks[2] =

Some warnings though...

Finding pointers to doc strings...
Note: Strange doc (duplicate) for bytecode find-non-ascii-charset-string @ 1225263
Note: Strange doc (duplicate) for bytecode find-non-ascii-charset-region @ 1225443
Note: Strange doc (no doc slot) for bytecode char-length @ 1226160
Note: Strange doc (duplicate) for bytecode char-columns @ 1226222
Note: Strange doc (duplicate) for bytecode string-columns @ 1226411
Note: Strange doc (duplicate) for bytecode truncate-string @ 1226615
Finding pointers to doc strings...done
Warning: doc lost for variable ccl-read-vscii.
Warning: doc lost for variable ccl-read-viscii.

I don't know if all of the use-union-type patches were sent in:

--- src/toolbar.c	1997/01/06 17:18:01	1.1
+++ src/toolbar.c	1997/01/06 17:20:21
@@ -1675,18 +1675,18 @@
   elt = list1 (Fcons (list1 (Qtty), Qzero));
 #endif
 #ifdef HAVE_X_WINDOWS
-  if (elt != Qnil)
+  if (! NILP(elt))
     elt = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_HEIGHT)), elt);
   else
     elt = list1 (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_HEIGHT)));
 #endif
 #ifdef HAVE_NEXTSTEP
-  if (elt != Qnil)
+  if (! NILP(elt))
     elt = Fcons (Fcons (list1 (Qns), make_int (DEFAULT_TOOLBAR_HEIGHT)), elt);
   else
     elt = list1 (Fcons (list1 (Qns), make_int (DEFAULT_TOOLBAR_HEIGHT)));
 #endif
-  if (elt != Qnil)
+  if (! NILP(elt))
     set_specifier_fallback (Vdefault_toolbar_height, elt);
 
   elt = Qnil;
@@ -1694,18 +1694,18 @@
   elt = list1 (Fcons (list1 (Qtty), Qzero));
 #endif
 #ifdef HAVE_X_WINDOWS
-  if (elt != Qnil)
+  if (! NILP(elt))
     elt = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_WIDTH)), elt);
   else
     elt = list1 (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_WIDTH)));
 #endif
 #ifdef HAVE_NEXTSTEP
-  if (elt != Qnil)
+  if (! NILP(elt))
     elt = Fcons (Fcons (list1 (Qns), make_int (DEFAULT_TOOLBAR_WIDTH)), elt);
   else
     elt = list1 (Fcons (list1 (Qns), make_int (DEFAULT_TOOLBAR_WIDTH)));
 #endif
-  if (elt != Qnil)
+  if (! NILP(elt))
     set_specifier_fallback (Vdefault_toolbar_width, elt);
 
   set_specifier_fallback (Vtoolbar_size[TOP_TOOLBAR], Vdefault_toolbar_height);

--- src/mule-canna.c	1997/01/06 17:30:39	1.1
+++ src/mule-canna.c	1997/01/06 17:32:54
@@ -785,7 +785,7 @@
   for (i = 0 ; i < len ; i++)
     {
       slen = strlen (p);
-      if (res == Qnil)
+      if (NILP(res))
 	{
 	  endp = res = Fcons (make_string (p, slen), Qnil);
 	}

--- src/mule-wnnfns.c	1997/01/06 18:52:38	1.1
+++ src/mule-wnnfns.c	1997/01/06 18:57:13
@@ -340,7 +340,7 @@
       break;
     }
   strncpy (envname, XSTRING (lname)->data, 32);
-  if (hname == Qnil) strcpy (hostname, "");
+  if (NILP(hname)) strcpy (hostname, "");
   else
     {
       CHECK_STRING (hname);
@@ -379,13 +379,13 @@
   if (!wnnfns_buf[snum]) return Qnil;
   if (wnnfns_env_norm[snum])
     {
-      if (Vwnnenv_sticky == Qnil) jl_env_un_sticky_e (wnnfns_env_norm[snum]);
+      if (NILP(Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_norm[snum]);
       else jl_env_sticky_e (wnnfns_env_norm[snum]);
       jl_disconnect (wnnfns_env_norm[snum]);
     }
   if (wnnfns_env_rev[snum])
     {
-      if (Vwnnenv_sticky == Qnil) jl_env_un_sticky_e (wnnfns_env_rev[snum]);
+      if (NILP(Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_rev[snum]);
       else jl_env_sticky_e (wnnfns_env_rev[snum]);
       jl_disconnect (wnnfns_env_rev[snum]);
     }
@@ -410,8 +410,8 @@
   CHECK_STRING (args[0]);
   CHECK_STRING (args[1]);
   CHECK_INT (args[2]);
-  if (args[5] != Qnil) CHECK_STRING (args[5]);
-  if (args[6] != Qnil) CHECK_STRING (args[6]);
+  if (! NILP(args[5])) CHECK_STRING (args[5]);
+  if (! NILP(args[6])) CHECK_STRING (args[6]);
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
   if (!wnnfns_buf[snum]) return Qnil;
   GCPRO1 (*args);
@@ -421,10 +421,10 @@
 		  XSTRING (args[1])->data,
 		  wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
 		  XINT (args[2]),
-		  (args[3] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW,
-		  (args[4] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW,
-		  (args[5] == Qnil) ? 0 : XSTRING (args[5])->data,
-		  (args[6] == Qnil) ? 0 : XSTRING (args[6])->data,
+		  (NILP(args[3])) ? WNN_DIC_RDONLY : WNN_DIC_RW,
+		  (NILP(args[4])) ? WNN_DIC_RDONLY : WNN_DIC_RW,
+		  (NILP(args[5])) ? 0 : XSTRING (args[5])->data,
+		  (NILP(args[6])) ? 0 : XSTRING (args[6])->data,
 		  yes_or_no,
 		  puts2 ) < 0)
     {
@@ -512,7 +512,7 @@
 {
   int	snum;
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
-  if (rev == Qnil)
+  if (NILP(rev))
     {
       if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return;
       jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]);
@@ -566,7 +566,7 @@
   if (Vwnn_uniq_level == Qwnn_no_uniq) uniq_level = WNN_NO_UNIQ;
   else if (Vwnn_uniq_level == Qwnn_uniq) uniq_level = WNN_UNIQ;
   else uniq_level = WNN_UNIQ_KNJ;
-  if (dai == Qnil)
+  if (NILP(dai))
     {
       if (offset = jl_zenkouho (wnnfns_buf[snum],no,WNN_USE_MAE, uniq_level) < 0)
 	return Qnil;
@@ -653,7 +653,7 @@
   CHECK_INT (offset);
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
   if (!wnnfns_buf[snum]) return Qnil;
-  if (dai == Qnil)
+  if (NILP(dai))
     {
       if (jl_set_jikouho (wnnfns_buf[snum], XINT (offset)) < 0) return Qnil;
     }
@@ -680,11 +680,11 @@
   no = XINT (bunNo);
 #ifdef	WNN6
   if ((cnt = jl_fi_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE,
-			      (dai == Qnil) ? WNN_SHO : WNN_DAI)) < 0)
+			      (NILP(dai)) ? WNN_SHO : WNN_DAI)) < 0)
     return Qnil;
 #else
   if ((cnt = jl_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE,
-			   (dai == Qnil) ? WNN_SHO : WNN_DAI)) < 0)
+			   (NILP(dai)) ? WNN_SHO : WNN_DAI)) < 0)
     return Qnil;
 #endif
   return make_int (cnt);
@@ -804,7 +804,7 @@
   Lisp_Object	val;
   int	snum;
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
-  if (bunNo == Qnil) no = -1;
+  if (NILP(bunNo)) no = -1;
   else
     {
       CHECK_INT (bunNo);
@@ -1214,7 +1214,7 @@
   int   snum;
   CHECK_STRING (args[0]);
   CHECK_STRING (args[1]);
-  if (args[3] != Qnil) CHECK_STRING (args[3]);
+  if (! NILP(args[3])) CHECK_STRING (args[3]);
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   GCPRO1 (*args);
@@ -1224,9 +1224,9 @@
                 XSTRING(args[1])->data,
 		WNN_FI_SYSTEM_DICT,
 		WNN_DIC_RDONLY,
-                (args[2] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW,
+                (NILP(args[2])) ? WNN_DIC_RDONLY : WNN_DIC_RW,
 		0,
-                (args[3] == Qnil) ? 0 : XSTRING(args[3])->data,
+                (NILP(args[3])) ? 0 : XSTRING(args[3])->data,
                 yes_or_no,
                 puts2 ) < 0) {
     UNGCPRO;
@@ -1249,8 +1249,8 @@
   int   snum;
   CHECK_STRING (args[0]);
   CHECK_STRING (args[1]);
-  if (args[4] != Qnil) CHECK_STRING (args[4]);
-  if (args[5] != Qnil) CHECK_STRING (args[5]);
+  if (! NILP(args[4])) CHECK_STRING (args[4]);
+  if (! NILP(args[5])) CHECK_STRING (args[5]);
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   GCPRO1 (*args);
@@ -1259,10 +1259,10 @@
                 XSTRING(args[0])->data,
                 XSTRING(args[1])->data,
                 WNN_FI_USER_DICT,
-                (args[2] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW,
-		(args[3] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW,
-		(args[4] == Qnil) ? 0 : XSTRING(args[4])->data,
-                (args[5] == Qnil) ? 0 : XSTRING(args[5])->data,
+                (NILP(args[2])) ? WNN_DIC_RDONLY : WNN_DIC_RW,
+		(NILP(args[3])) ? WNN_DIC_RDONLY : WNN_DIC_RW,
+		(NILP(args[4])) ? 0 : XSTRING(args[4])->data,
+                (NILP(args[5])) ? 0 : XSTRING(args[5])->data,
                 yes_or_no,
                 puts2 ) < 0) {
     UNGCPRO;
@@ -1288,7 +1288,7 @@
   struct wnn_henkan_env henv;
   CHECK_STRING (args[0]);
   CHECK_INT (args[1]);
-  if (args[3] != Qnil) CHECK_STRING (args[3]);
+  if (! NILP(args[3])) CHECK_STRING (args[3]);
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   GCPRO1 (*args);
@@ -1305,7 +1305,7 @@
 			      wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
 			      XINT(args[1]),
 			      WNN_DIC_RW, WNN_DIC_RW,
-			      (args[3] == Qnil) ? 0 : XSTRING(args[3])->data,
+			      (NILP(args[3])) ? 0 : XSTRING(args[3])->data,
 			      0,
 			      yes_or_no,
 			      puts2)) < 0) {
@@ -1322,7 +1322,7 @@
       }
   }
   vmask |= WNN_ENV_MUHENKAN_LEARN_MASK;
-  henv.muhenkan_flag = (args[2] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW;
+  henv.muhenkan_flag = (NILP(args[2])) ? WNN_DIC_RDONLY : WNN_DIC_RW;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) {
@@ -1349,7 +1349,7 @@
   struct wnn_henkan_env henv;
   CHECK_STRING (args[0]);
   CHECK_INT (args[1]);
-  if (args[3] != Qnil) CHECK_STRING (args[3]);
+  if (! NILP(args[3])) CHECK_STRING (args[3]);
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   GCPRO1 (*args);
@@ -1366,7 +1366,7 @@
                               wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV,
                               XINT(args[1]),
                               WNN_DIC_RW, WNN_DIC_RW,
-                              (args[3] == Qnil) ? 0 : XSTRING(args[3])->data,
+                              (NILP(args[3])) ? 0 : XSTRING(args[3])->data,
                               0,
                               yes_or_no,
                               puts2)) < 0) {
@@ -1383,7 +1383,7 @@
       }
   }
   vmask |= WNN_ENV_BUNSETSUGIRI_LEARN_MASK;
-  henv.bunsetsugiri_flag = (args[2] == Qnil) ? WNN_DIC_RDONLY : WNN_DIC_RW;
+  henv.bunsetsugiri_flag = (NILP(args[2])) ? WNN_DIC_RDONLY : WNN_DIC_RW;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) {
@@ -1405,7 +1405,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_LAST_IS_FIRST_MASK;      
-  henv.last_is_first_flag = (mode == Qnil) ? False : True;
+  henv.last_is_first_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
 		       vmask,
 		       &henv) < 0) return Qnil;
@@ -1423,7 +1423,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_COMPLEX_CONV_MASK;
-  henv.complex_flag = (mode == Qnil) ? False : True;
+  henv.complex_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1441,7 +1441,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_OKURI_LEARN_MASK;
-  henv.okuri_learn_flag = (mode == Qnil) ? False : True;
+  henv.okuri_learn_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1483,7 +1483,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_PREFIX_LEARN_MASK;
-  henv.prefix_learn_flag = (mode == Qnil) ? False : True;
+  henv.prefix_learn_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1523,7 +1523,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_SUFFIX_LEARN_MASK;
-  henv.suffix_learn_flag = (mode == Qnil) ? False : True;
+  henv.suffix_learn_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1541,7 +1541,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_COMMON_LAERN_MASK;
-  henv.common_learn_flag = (mode == Qnil) ? False : True;
+  henv.common_learn_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1653,7 +1653,7 @@
   if ((snum = check_wnn_server_type()) == -1) return Qnil;
   if(!wnnfns_buf[snum]) return Qnil;
   vmask |= WNN_ENV_YURAGI_MASK;
-  henv.yuragi_flag = (mode == Qnil) ? False : True;
+  henv.yuragi_flag = (NILP(mode)) ? False : True;
   if(jl_set_henkan_env(wnnfns_buf[snum],
                        vmask,
                        &henv) < 0) return Qnil;
@@ -1832,7 +1832,7 @@
 	  if (Vwnn_server_type == Qcserver)
 	    {
 	      len = cwnn_yincod_pzy (pzy, wc,
-				     (Vcwnn_zhuyin == Qnil)
+				     (NILP(Vcwnn_zhuyin))
 				     ? CWNN_PINYIN
 				     : CWNN_ZHUYIN);
 	      for (i = 0; i < len; i++)
@@ -1944,7 +1944,7 @@
       w++; pin++;
     }
   len = cwnn_pzy_yincod (ybuf, pbuf,
-			 (Vcwnn_zhuyin == Qnil) ? CWNN_PINYIN : CWNN_ZHUYIN);
+			 (NILP(Vcwnn_zhuyin)) ? CWNN_PINYIN : CWNN_ZHUYIN);
   if (len <= 0)
     return;
 
@@ -1999,7 +1999,7 @@
   /* truncate "(Y/N)" */
   for (len = 0; (mbuf[len]) && (len < 512); len++);
   for (; (mbuf[len] != '(') && (len > 0); len--);
-  if (Fy_or_n_p (make_string (mbuf, len)) == Qnil) return 0;
+  if (NILP(Fy_or_n_p (make_string (mbuf, len)))) return 0;
   else return (1);
 }


NOTE: I have not tested the MULE ones since I don't have canna or wnn.

