]> git.eshelyaron.com Git - emacs.git/commitdiff
clear warnings and clean up NS port
authorAdrian Robert <Adrian.B.Robert@gmail.com>
Fri, 1 Aug 2008 14:01:08 +0000 (14:01 +0000)
committerAdrian Robert <Adrian.B.Robert@gmail.com>
Fri, 1 Aug 2008 14:01:08 +0000 (14:01 +0000)
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

index 1bf57826ca2affd48359451925194f4d6ef1b171..f5ecf80af0946bb20227443bb3d911c1c5f8a413 100644 (file)
@@ -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
index d0c3c86007272a289888194cf2e2a44dc1720eff..970ff46b8250fa0ab164ccbe1612271e6d06adaf 100644 (file)
@@ -367,6 +367,11 @@ typedef struct _widget_value
 } 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
+
 \f
 /* Macros for dealing with lispy events.  */
 
index 40e8791c318969950fdb491790b96907f83c5125..a0cac0254ef14039bc780e65df5d39022201ad9c 100644 (file)
@@ -280,7 +280,7 @@ interpret_services_menu (NSMenu *menu, Lisp_Object prefix, Lisp_Object old)
    -------------------------------------------------------------------------- */
 {
   int i, count;
-  id<NSMenuItem> item;
+  NSMenuItem *item;
   const char *name;
   Lisp_Object nameStr;
   unsigned short key;
index f206e0d27b267456d78db9626c47984b37e4f2cc..0fb98d77180b528bbe8759207b911959aeef632d 100644 (file)
@@ -597,9 +597,9 @@ fprintf (stderr, "*** CACHE HIT!\n");
   }
 #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 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
   /* 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 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
 
     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 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
         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
index 54e336fdf3de7ef9b4af23cb43c8f2f3d2b1ba7d..f8d3ae4a3a84add330d9c5381edcea01205b1ed7 100644 (file)
@@ -75,20 +75,16 @@ typedef unichar XChar2b;
 #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;
index 9d17da43596f72c9bb98a595227ee0c8a14614bc..822aa94efa9a56915d953c782d9b21e5e7935125 100644 (file)
@@ -53,8 +53,6 @@ int menu_trace_num = 0;
 #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 @@ name_is_separator (name)
   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 @@ name_is_separator (name)
   /* 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 @@ name_is_separator (name)
 - (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 @@ ns_popup_menu (Lisp_Object position, Lisp_Object menu)
 #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;
index bb8beac378c36746552ef6755fc6c21716dcaab4..a9dc32793f4d48dc598f728e16c0ba00f1dc3fcf 100644 (file)
@@ -36,8 +36,14 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 @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 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 - (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 @@ extern Lisp_Object ns_list_fonts (FRAME_PTR f, Lisp_Object pattern,
                                   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);
index 0e6c1f33cfdc6190d1053d556e334b766f032a02..a67a8e0c3b6472a446ec1d580d116596c511c79f 100644 (file)
@@ -785,7 +785,7 @@ ns_unfocus (struct frame *f)
 
 
 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 @@ ns_draw_fringe_bitmap (struct window *w, struct glyph_row *row,
       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 @@ ns_draw_window_cursor (struct window *w, struct glyph_row *glyph_row,
 
   /* 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 @@ ns_draw_glyph_string (struct glyph_string *s)
                      (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 @@ ns_read_socket (struct terminal *terminal, int expected,
     }
   /* 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 @@ x_wm_set_icon_position (struct frame *f, int icon_x, int icon_y)
 
    ========================================================================== */
 
-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 @@ ns_term_init (Lisp_Object display_name)
 #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 @@ ns_term_shutdown (int sig)
 }
 
 
+/* 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 @@ fprintf (stderr, "res = %d\n", EQ (res, Qt)); /* FIXME */
 }
 
 
-/* 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 @@ fprintf (stderr, "res = %d\n", EQ (res, Qt)); /* FIXME */
   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 @@ extern void update_window_cursor (struct window *w, int on);
          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 @@ if (NS_KEYLOG) NSLog (@"firstRectForCharRange request");
   return rect;
 }
 
-- (long)conversationIdentifier
+- (NSInteger)conversationIdentifier
 {
-  return (long)self;
+  return (NSInteger)self;
 }
 
 /* TODO: below here not yet implemented correctly, but may not be needed */
@@ -5239,7 +5240,8 @@ if (NS_KEYLOG) NSLog (@"attributedSubstringFromRange request");
     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 @@ static void selectItemWithTag (NSPopUpButton *popup, int tag)
 /* ==========================================================================
 
    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 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
 }
 
 
-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 @@ ns_font_to_xlfd (NSFont *nsfont)
 {
   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 @@ ns_font_to_xlfd (NSFont *nsfont)
   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 @@ ns_font_to_xlfd (NSFont *nsfont)
   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 @@ ns_xlfd_to_fontname (const char *xlfd)
   return ret;
 }
 
+
 void
 syms_of_nsterm ()
 {
index 4de203c9b3940a7859613b9a4b4b7effc9626dcc..fb54caf8806b5384ee73f0f7b534a714cddf9db6 100644 (file)
@@ -103,10 +103,6 @@ static Lisp_Object w32_menu_show P_ ((FRAME_PTR, int, int, int, int,
 
 void w32_free_menu_strings P_((HWND));
 \f
-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.
index 6180b899dbbdb1890d8f95e34ae1ccf65f4a931e..4d49d9a8f7c4d19aad9316841ae1bf098d0fe1be 100644 (file)
@@ -234,7 +234,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #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 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #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 void uncache_face P_ ((struct face_cache *, struct face *));
 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 *));
 
index c89fe86e3da3c5c975fb0da7a787d3f44ead65a1..199b19baec99518ae4dcc0a65cc9f2501c83673e 100644 (file)
@@ -146,11 +146,6 @@ static int popup_activated_flag;
 
 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.