changeset 97198:cf43f4e3ecc8

clear warnings and clean up NS port
author Adrian Robert <Adrian.B.Robert@gmail.com>
date Fri, 01 Aug 2008 14:01:08 +0000
parents 406ac82acbcc
children 1aaeadd306da
files src/ChangeLog src/keyboard.h src/nsfns.m src/nsfont.m src/nsgui.h src/nsmenu.m src/nsterm.h src/nsterm.m src/w32menu.c src/xfaces.c src/xmenu.c
diffstat 11 files changed, 114 insertions(+), 217 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/ChangeLog	Fri Aug 01 14:01:08 2008 +0000
@@ -1,3 +1,47 @@
+2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
+	Warning clearing and clean-up in NS port.
+	* keyboard.h (xmalloc_widget_value, digest_single_submenu): Add
+	prototypes.
+	* nsgui.h (FACE_DEFAULT): Remove, unused.
+	(XGCValues): Change colors to unsigned long.
+	* nsterm.h (EmacsApp): Add declaration of all methods implemented in
+	nsterm.m.
+	(EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
+	(ns_list_fonts): Remove, unused.
+	(ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
+	* nsfns.m (interpret_services_menu): Use NSMenuItem class.
+	* nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
+	(nsfont_draw): Compare face colors to 0, not nil.
+	* nsmenu.m (struct widget_value): Drop unneeded declaration.
+	(EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
+	(-addSubmenuWithTitle:): Use NSMenuItem class.
+	(ns_popup_menu): Use NO, not NULL, for enabled setting.
+	* nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
+	(ns_clip_to_row): Make gc arg a BOOL.
+	(ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
+	ns_clip_to_row() call.
+	(ns_draw_glyph_string): Drop face comparison to ~0 (no longer
+	used). Cast FRAME_FONT assignments.
+	(ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
+	(ns_string_to_lispmod): Change arg to const char.
+	(ns_term_init): Use NSMenuItem class.
+	(EmacsApp -openFile:): Move to different section of file.
+	(EmacsApp -application:openFiles:): Don't return a value, call
+	-replyToOpenOrPrint:.
+	(EmacsView -keyDown:): Fix up cast.
+	(EmacsView -converstationIdentifier): Use NSInteger instead of long.
+	(EmacsView -menuDown:): Cast tag in call to
+	find_and_call_menu_selection().
+	(ns_list_fonts): Remove, unused.
+	(ns_font_to_xlfd): Make static.  Cast result of UTF8String.
+	(ns_fontname_to_xlfd): Make static.
+	* w32menu.c (xmalloc_widget_value, digest_single_submenu): Remove
+	prototypes (now in keyboard.h).
+	(next_menubar_widget_id): Remove, unused.
+	* xmenu.c (xmalloc_widget_value, digest_single_submenu): Remove
+	prototypes (now in keyboard.h).
+	* xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
+
 2008-08-01  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* systty.h: Fix previous change that removed BSD_TERMIOS.  Add
--- a/src/keyboard.h	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/keyboard.h	Fri Aug 01 14:01:08 2008 +0000
@@ -367,6 +367,11 @@
 } widget_value;
 #endif
 
+#if defined (HAVE_NS) || defined (HAVE_NTGUI) || defined (USE_X_TOOLKIT) || defined (USE_GTK)
+extern widget_value *xmalloc_widget_value P_ ((void));
+extern widget_value *digest_single_submenu P_ ((int, int, int));
+#endif
+
 
 /* Macros for dealing with lispy events.  */
 
--- a/src/nsfns.m	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsfns.m	Fri Aug 01 14:01:08 2008 +0000
@@ -280,7 +280,7 @@
    -------------------------------------------------------------------------- */
 {
   int i, count;
-  id<NSMenuItem> item;
+  NSMenuItem *item;
   const char *name;
   Lisp_Object nameStr;
   unsigned short key;
--- a/src/nsfont.m	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsfont.m	Fri Aug 01 14:01:08 2008 +0000
@@ -597,9 +597,9 @@
   }
 #endif
 
-  font_info->glyphs = (unsigned short *)
+  font_info->glyphs = (unsigned short **)
     xmalloc (0x100 * sizeof (unsigned short *));
-  font_info->metrics = (struct font_metrics *)
+  font_info->metrics = (struct font_metrics **)
     xmalloc (0x100 * sizeof (struct font_metrics *));
   if (!font_info->glyphs || !font_info->metrics)
     return Qnil;
@@ -984,7 +984,7 @@
   /* set up for character rendering */
   r.origin.y += font->voffset + (s->height - font->height)/2;
 
-  col = (NS_FACE_FOREGROUND (face) != nil
+  col = (NS_FACE_FOREGROUND (face) != 0
          ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f)
          : FRAME_FOREGROUND_COLOR (s->f));
   /* FIXME: find another way to pass this */
@@ -1077,7 +1077,7 @@
 
     if (face->underline_p)
       {
-        if (face->underline_color != nil)
+        if (face->underline_color != 0)
           [ns_lookup_indexed_color (face->underline_color, s->f) set];
         else
           [col set];
@@ -1087,7 +1087,7 @@
         CGContextAddLineToPoint (gcontext, r.origin.x + r.size.width,
                                 r.origin.y + font->underpos);
         CGContextStrokePath (gcontext);
-        if (face->underline_color != nil)
+        if (face->underline_color != 0)
           [col set];
       }
     else
--- a/src/nsgui.h	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsgui.h	Fri Aug 01 14:01:08 2008 +0000
@@ -75,20 +75,16 @@
 #define XCHAR2B_BYTE2(chp) \
  ((*chp) & 0x00ff)
 
-#define FACE_DEFAULT (~0)
-
 
 /* XXX: xfaces requires these structures, but the question is are we
         forced to use them? */
 typedef struct _XGCValues
 {
+  unsigned long foreground;
+  unsigned long background;
 #ifdef __OBJC__
-  NSColor *foreground;
-  NSColor *background;
   struct ns_font *font;
 #else
-  void *foreground;
-  void *background;
   void *font;
 #endif
 } XGCValues;
--- a/src/nsmenu.m	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsmenu.m	Fri Aug 01 14:01:08 2008 +0000
@@ -53,8 +53,6 @@
 #include "nsmenu_common.c"
 #endif
 
-extern struct widget_value;
-
 extern Lisp_Object Qundefined, Qmenu_enable, Qmenu_bar_update_hook;
 extern Lisp_Object QCtoggle, QCradio;
 
@@ -594,9 +592,9 @@
   return [NSString stringWithFormat: @"%c", tpos[2]];
 }
 
-- (id <NSMenuItem>)addItemWithWidgetValue: (void *)wvptr
+- (NSMenuItem *)addItemWithWidgetValue: (void *)wvptr
 {
-  id <NSMenuItem> item;
+  NSMenuItem *item;
   widget_value *wv = (widget_value *)wvptr;
 
   if (name_is_separator (wv->name))
@@ -663,7 +661,7 @@
   /* add new contents */
   for (; wv != NULL; wv = wv->next)
     {
-      id <NSMenuItem> item = [self addItemWithWidgetValue: wv];
+      NSMenuItem *item = [self addItemWithWidgetValue: wv];
 
       if (wv->contents)
         {
@@ -691,10 +689,9 @@
 - (EmacsMenu *)addSubmenuWithTitle: (char *)title forFrame: (struct frame *)f
 {
   NSString *titleStr = [NSString stringWithUTF8String: title];
-  id <NSMenuItem> item
-      = [self addItemWithTitle: titleStr
-                        action: nil /*@selector (menuDown:) */
-	         keyEquivalent: @""];
+  NSMenuItem *item = [self addItemWithTitle: titleStr
+                                     action: nil /*@selector (menuDown:) */
+                              keyEquivalent: @""];
   EmacsMenu *submenu = [[EmacsMenu alloc] initWithTitle: titleStr frame: f];
   [self setSubmenu: submenu forItem: item];
   [submenu release];
@@ -1107,7 +1104,7 @@
 #endif
 
       wv_title->name = (char *) SDATA (title);
-      wv_title->enabled = NULL;
+      wv_title->enabled = NO;
       wv_title->button_type = BUTTON_TYPE_NONE;
       wv_title->help = Qnil;
       wv_title->next = wv_sep;
--- a/src/nsterm.h	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsterm.h	Fri Aug 01 14:01:08 2008 +0000
@@ -36,8 +36,14 @@
 @interface EmacsApp : NSApplication
 {
 }
+- (void)logNotification: (NSNotification *)notification;
 - (void)sendEvent: (NSEvent *)theEvent;
 - (void)showPreferencesWindow: (id)sender;
+- (BOOL) openFile: (NSString *)fileName;
+- (void)fd_handler: (NSTimer *) fdEntry;
+- (void)cursor_blink_handler: (NSTimer *)cursorEntry;
+- (void)timeout_handler: (NSTimer *)timedEntry;
+- (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg;
 @end
 
 
@@ -104,7 +110,7 @@
 - (void)setFrame: (struct frame *)f;
 - (void)menuNeedsUpdate: (NSMenu *)menu; /* (delegate method) */
 - (NSString *)parseKeyEquiv: (char *)key;
-- (id <NSMenuItem>)addItemWithWidgetValue: (void *)wvptr;
+- (NSMenuItem *)addItemWithWidgetValue: (void *)wvptr;
 - (void)fillWithWidgetValue: (void *)wvptr;
 - (EmacsMenu *)addSubmenuWithTitle: (char *)title forFrame: (struct frame *)f;
 - (void) clear;
@@ -727,10 +733,6 @@
                                   int size, int maxnames);
 extern void ns_clear_frame (struct frame *f);
 
-#ifdef __OBJC__
-extern const char *ns_font_to_xlfd (NSFont *font);
-#endif
-extern const char *ns_fontname_to_xlfd (const char *name);
 extern const char *ns_xlfd_to_fontname (const char *xlfd);
 
 extern void check_ns (void);
--- a/src/nsterm.m	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/nsterm.m	Fri Aug 01 14:01:08 2008 +0000
@@ -785,7 +785,7 @@
 
 
 static void
-ns_clip_to_row (struct window *w, struct glyph_row *row, int area, GC gc)
+ns_clip_to_row (struct window *w, struct glyph_row *row, int area, BOOL gc)
 /* --------------------------------------------------------------------------
      23: Internal (but parallels other terms): Focus drawing on given row
    -------------------------------------------------------------------------- */
@@ -2212,7 +2212,7 @@
       int oldVH = row->visible_height;
       row->visible_height = p->h;
       row->y -= rowY - p->y;
-      ns_clip_to_row (w, row, -1, NULL);
+      ns_clip_to_row (w, row, -1, NO);
       row->y = oldY;
       row->visible_height = oldVH;
     }
@@ -2329,7 +2329,7 @@
 
   /* TODO: only needed in rare cases with last-resort font in HELLO..
      should we do this more efficiently? */
-  ns_clip_to_row (w, glyph_row, -1, NULL);
+  ns_clip_to_row (w, glyph_row, -1, NO);
 /*  ns_focus (f, &r, 1); */
 
   if (FRAME_LAST_INACTIVE (f))
@@ -2943,8 +2943,8 @@
                      (s->for_overlaps ? NS_DUMPGLYPH_FOREGROUND :
                       NS_DUMPGLYPH_NORMAL));
       ns_tmp_font = (struct nsfont_info *)s->face->font;
-      if (ns_tmp_font == ~0 || ns_tmp_font == NULL)
-          ns_tmp_font = FRAME_FONT (s->f);
+      if (ns_tmp_font == NULL)
+          ns_tmp_font = (struct nsfont_info *)FRAME_FONT (s->f);
 
       ns_tmp_font->font.driver->draw
         (s, 0, s->nchars, s->x, s->y,
@@ -3078,8 +3078,9 @@
     }
   /* Deal with pending service requests. */
   else if (ns_pending_service_names && [ns_pending_service_names count] != 0
-    && [NSApp fulfillService: [ns_pending_service_names objectAtIndex: 0]
-                     withArg: [ns_pending_service_args objectAtIndex: 0]])
+    && [(EmacsApp *)
+         NSApp fulfillService: [ns_pending_service_names objectAtIndex: 0]
+                      withArg: [ns_pending_service_args objectAtIndex: 0]])
     {
       [ns_pending_service_names removeObjectAtIndex: 0];
       [ns_pending_service_args removeObjectAtIndex: 0];
@@ -3437,7 +3438,7 @@
 
    ========================================================================== */
 
-static Lisp_Object ns_string_to_lispmod (char *s)
+static Lisp_Object ns_string_to_lispmod (const char *s)
 /* --------------------------------------------------------------------------
      Convert modifier name to lisp symbol
    -------------------------------------------------------------------------- */
@@ -3876,7 +3877,7 @@
 #ifdef NS_IMPL_COCOA
   {
     NSMenu *appMenu;
-    id<NSMenuItem> item;
+    NSMenuItem *item;
     /* set up the application menu */
     svcsMenu = [[EmacsMenu alloc] initWithTitle: @"Services"];
     [svcsMenu setAutoenablesItems: NO];
@@ -4029,6 +4030,26 @@
 }
 
 
+/* Open a file (used by below, after going into queue read by ns_read_socket) */
+- (BOOL) openFile: (NSString *)fileName
+{
+  struct frame *emacsframe = SELECTED_FRAME ();
+  NSEvent *theEvent = [NSApp currentEvent];
+
+  if (!emacs_event)
+    return NO;
+
+  emacs_event->kind = NON_ASCII_KEYSTROKE_EVENT;
+  emacs_event->code = KEY_NS_OPEN_FILE_LINE;
+  ns_input_file = append2 (ns_input_file, build_string ([fileName UTF8String]));
+  ns_input_line = Qnil; /* can be start or cons start,end */
+  emacs_event->modifiers =0;
+  EV_TRAILER (theEvent);
+
+  return YES;
+}
+
+
 /* **************************************************************************
 
       EmacsApp delegate implementation
@@ -4080,26 +4101,6 @@
 }
 
 
-/* Open a file (used by below, after going into queue read by ns_read_socket) */
--(BOOL) openFile: (NSString *)fileName
-{
-  struct frame *emacsframe = SELECTED_FRAME ();
-  NSEvent *theEvent = [NSApp currentEvent];
-
-  if (!emacs_event)
-    return NO;
-
-  emacs_event->kind = NON_ASCII_KEYSTROKE_EVENT;
-  emacs_event->code = KEY_NS_OPEN_FILE_LINE;
-  ns_input_file = append2 (ns_input_file, build_string ([fileName UTF8String]));
-  ns_input_line = Qnil; /* can be start or cons start,end */
-  emacs_event->modifiers =0;
-  EV_TRAILER (theEvent);
-
-  return YES;
-}
-
-
 /*   Notification from the Workspace to open a file */
 - (BOOL)application: sender openFile: (NSString *)file
 {
@@ -4131,7 +4132,7 @@
   NSString *file;
   while ((file = [files nextObject]) != nil)
     [ns_pending_files addObject: file];
-  return YES;
+  [self replyToOpenOrPrint: NSApplicationDelegateReplySuccess];
 }
 
 /* TODO: these may help w/IO switching btwn terminal and NSApp */
@@ -4359,7 +4360,7 @@
          NSView most recently updated (I guess), which is not the correct one.
          UPDATE: After multi-TTY merge this happens even w/o NO_SOCK_SIGIO */
      if ([[theEvent window] isKindOfClass: [EmacsWindow class]])
-         [[(EmacsView *)[theEvent window] delegate] keyDown: theEvent];
+         [(EmacsView *)[[theEvent window] delegate] keyDown: theEvent];
      return;
    }
 
@@ -4638,9 +4639,9 @@
   return rect;
 }
 
-- (long)conversationIdentifier
-{
-  return (long)self;
+- (NSInteger)conversationIdentifier
+{
+  return (NSInteger)self;
 }
 
 /* TODO: below here not yet implemented correctly, but may not be needed */
@@ -5239,7 +5240,8 @@
     context_menu_value = [sender tag];
   else
     find_and_call_menu_selection (emacsframe, emacsframe->menu_bar_items_used,
-                                  emacsframe->menu_bar_vector, [sender tag]);
+                                  emacsframe->menu_bar_vector,
+                                  (void *)[sender tag]);
   ns_send_appdefined (-1);
   return self;
 }
@@ -6156,6 +6158,7 @@
 /* ==========================================================================
 
    Font-related functions; these used to be in nsfaces.m
+   The XLFD functions (115 lines) are an abomination that should be removed.
 
    ========================================================================== */
 
@@ -6204,141 +6207,9 @@
 }
 
 
-Lisp_Object
-ns_list_fonts (FRAME_PTR f, Lisp_Object pattern, int size, int maxnames)
-/* --------------------------------------------------------------------------
-     This is used by the xfaces system.  It is expected to speak XLFD.
-   -------------------------------------------------------------------------- */
-{
-  Lisp_Object list = Qnil,
-    rpattern,
-    key,
-    tem,
-    args[2];
-  struct re_pattern_buffer *bufp;
-  id fm = [NSFontManager sharedFontManager];
-  NSEnumerator *fenum, *senum;
-  NSArray *membInfo;
-  NSString *fontname;
-  const char *xlfdName;
-  char *pattFam;
-  char *patt;
-  NSString *famName;
-
-  NSTRACE (ns_list_fonts);
-
-  CHECK_STRING (pattern);
-  patt = SDATA (pattern);
-
-#if 0
-/* temporary: for font_backend, we use fontsets, and when these are defined,
-   the old XLFD-based system is used; eventually this will be replaced by
-   backend code, but for now we allow specs that are just family names */
-      /* if pattern is not XLFD, panic now */
-      if (patt[0] != '-')
-        error ("ns_list_fonts: X font name (XLFD) expected.");
-
-      /* if unicode encoding not requested, also die */
-      if (!strstr (patt, "iso10646") && patt[strlen (patt)-3] != '*')
-        return Qnil;
-#endif /* 0 */
-
-  key = f ? Fcons (pattern, make_number (maxnames)) : Qnil;
-  tem = f ? XCDR (FRAME_NS_DISPLAY_INFO (f)->name_list_element) : Qnil;
-
-  /* See if we cached the result for this particular query.
-     The cache is an alist of the form:
-     ((((PATTERN . MAXNAMES) FONTNAME) ...) ...)
-  */
-  if (f && !NILP (list = Fassoc (key, tem)))
-    {
-      list = Fcdr_safe (list);
-      /* We have a cached list.  Don't have to get the list again.  */
-      if (!NILP (list))
-        return list;
-    }
-
-  if (patt[0] != '-')
-      pattFam = patt;
-  else
-      pattFam = ns_xlfd_to_fontname (patt);
-  /* XXX: '*' at beginning matches literally.. */
-  if (pattFam[0] == '*')
-    pattFam[0] = '.';
-
-  /* must start w/family name, but can have other stuff afterwards
-    (usually bold and italic specifiers) */
-  args[0] = build_string ("^");
-  args[1] = build_string (pattFam);
-  rpattern = Fconcat (2, args);
-  bufp = compile_pattern (rpattern, 0, Vascii_canon_table, 0, 0);
-
-  list = Qnil;
-  fenum = [[fm availableFontFamilies] objectEnumerator];
-  while ( (famName = [fenum nextObject]) )
-    {
-      NSMutableString *tmp = [famName mutableCopy];
-      const char *fname;
-      NSRange r;
-
-      /* remove spaces, to look like postscript name */
-      while ((r = [tmp rangeOfString: @" "]).location != NSNotFound)
-        [tmp deleteCharactersInRange: r];
-
-      fname = [tmp UTF8String];
-      int len = strlen (fname);
-      BOOL foundItal;
-      const char *synthItalFont;
-
-      if (re_search (bufp, fname, len, 0, len, 0) >= 0)
-        {
-          /* Found a family.  Add all variants.  If we have no italic variant,
-             add a synthItal. */
-          senum =[[fm availableMembersOfFontFamily: famName] objectEnumerator];
-          foundItal = NO;
-          synthItalFont = NULL;
-          while (membInfo = [senum nextObject])
-            {
-              xlfdName
-		= ns_fontname_to_xlfd ([[membInfo objectAtIndex: 0]
-					 UTF8String]);
-              list = Fcons (build_string (xlfdName), list);
-              if (!synthItalFont)
-                {
-                  NSString *synthName
-		    = [[membInfo objectAtIndex: 0]
-			stringByAppendingString: @"-synthItal"];
-                  synthItalFont = [synthName UTF8String];
-                }
-              else if ([[membInfo objectAtIndex: 3] intValue]
-                         & NSItalicFontMask)
-                foundItal = YES;
-            }
-          if (foundItal == NO)
-            {
-              xlfdName = ns_fontname_to_xlfd (synthItalFont);
-              list = Fcons (build_string (xlfdName), list);
-            }
-        }
-      [tmp release];
-    }
-
-  /* fallback */
-  if (XFASTINT (Flength (list)) == 0)
-      list = Fcons (build_string (ns_fontname_to_xlfd ("Monaco")), list);
-
-  /* store result in cache */
-  if (f != NULL)
-    XCDR_AS_LVALUE (FRAME_NS_DISPLAY_INFO (f)->name_list_element)
-      = Fcons (Fcons (key, list),
-               XCDR (FRAME_NS_DISPLAY_INFO (f)->name_list_element));
-  return list;
-}
-
-
 /* XLFD: -foundry-family-weight-slant-swidth-adstyle-pxlsz-ptSz-resx-resy-spc-avgWidth-rgstry-encoding */
 
-const char *
+static const char *
 ns_font_to_xlfd (NSFont *nsfont)
 /* --------------------------------------------------------------------------
     Convert an NS font name to an X font name (XLFD).
@@ -6347,7 +6218,7 @@
 {
   NSFontManager *mgr = [NSFontManager sharedFontManager];
   NSString *sname = [nsfont /*familyName*/fontName];
-  char *famName = [sname UTF8String];
+  char *famName = (char *)[sname UTF8String];
   char *weightStr = [mgr fontNamed: sname hasTraits: NSBoldFontMask] ?
       "bold" : "medium";
   char *slantStr = [mgr fontNamed: sname hasTraits: NSItalicFontMask] ?
@@ -6358,7 +6229,7 @@
   int i, len;
 
   /* change '-' to '$' to avoid messing w/XLFD separator */
-  for (len =strlen (famName), i =0; i<len; i++)
+  for (len = strlen (famName), i =0; i<len; i++)
     if (famName[i] == '-')
       {
         famName[i] = '\0';
@@ -6373,7 +6244,7 @@
   return xlfd;
 }
 
-const char *
+static const char *
 ns_fontname_to_xlfd (const char *name)
 /* --------------------------------------------------------------------------
     Convert an NS font name to an X font name (XLFD).
@@ -6453,6 +6324,7 @@
   return ret;
 }
 
+
 void
 syms_of_nsterm ()
 {
--- a/src/w32menu.c	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/w32menu.c	Fri Aug 01 14:01:08 2008 +0000
@@ -103,10 +103,6 @@
 
 void w32_free_menu_strings P_((HWND));
 
-static int next_menubar_widget_id;
-
-extern widget_value *xmalloc_widget_value P_ ((void));
-extern widget_value *digest_single_submenu P_ ((int, int, int));
 
 /* This is set nonzero after the user activates the menu bar, and set
    to zero again after the menu bars are redisplayed by prepare_menu_bar.
--- a/src/xfaces.c	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/xfaces.c	Fri Aug 01 14:01:08 2008 +0000
@@ -234,7 +234,6 @@
 #define x_display_info w32_display_info
 #define FRAME_X_FONT_TABLE FRAME_W32_FONT_TABLE
 #define check_x check_w32
-#define x_list_fonts w32_list_fonts
 #define GCGraphicsExposures 0
 #endif /* WINDOWSNT */
 
@@ -245,7 +244,6 @@
 #define x_display_info ns_display_info
 #define FRAME_X_FONT_TABLE FRAME_NS_FONT_TABLE
 #define check_x check_ns
-#define x_list_fonts ns_list_fonts
 #define GCGraphicsExposures 0
 #endif /* HAVE_NS */
 
@@ -557,14 +555,6 @@
 static GC x_create_gc P_ ((struct frame *, unsigned long, XGCValues *));
 static void x_free_gc P_ ((struct frame *, GC));
 
-#ifdef WINDOWSNT
-extern Lisp_Object w32_list_fonts P_ ((struct frame *, Lisp_Object, int, int));
-#endif /* WINDOWSNT */
-
-#ifdef HAVE_NS
-extern Lisp_Object ns_list_fonts P_ ((struct frame *, Lisp_Object, int, int));
-#endif /* HAVE_NS */
-
 #ifdef USE_X_TOOLKIT
 static void x_update_menu_appearance P_ ((struct frame *));
 
--- a/src/xmenu.c	Fri Aug 01 12:56:49 2008 +0000
+++ b/src/xmenu.c	Fri Aug 01 14:01:08 2008 +0000
@@ -146,11 +146,6 @@
 
 static int next_menubar_widget_id;
 
-#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
-extern widget_value *xmalloc_widget_value P_ ((void));
-extern widget_value *digest_single_submenu P_ ((int, int, int));
-#endif
-
 /* This is set nonzero after the user activates the menu bar, and set
    to zero again after the menu bars are redisplayed by prepare_menu_bar.
    While it is nonzero, all calls to set_frame_menubar go deep.