emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r102949: Merge: Promote SSDATA macro


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102949: Merge: Promote SSDATA macro to lisp.h.
Date: Sat, 22 Jan 2011 18:57:40 -0800
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102949 [merge]
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sat 2011-01-22 18:57:40 -0800
message:
  Merge: Promote SSDATA macro to lisp.h.
modified:
  src/ChangeLog
  src/callint.c
  src/callproc.c
  src/charset.c
  src/coding.c
  src/dispnew.c
  src/doc.c
  src/editfns.c
  src/emacs.c
  src/fileio.c
  src/filelock.c
  src/font.c
  src/fontset.c
  src/frame.c
  src/ftfont.c
  src/gnutls.c
  src/gtkutil.c
  src/image.c
  src/keyboard.c
  src/lisp.h
  src/lread.c
  src/menu.c
  src/nsmenu.m
  src/process.c
  src/search.c
  src/term.c
  src/w32fns.c
  src/w32menu.c
  src/w32term.c
  src/xdisp.c
  src/xfaces.c
  src/xfns.c
  src/xfont.c
  src/xmenu.c
  src/xselect.c
  src/xsmfns.c
  src/xterm.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-01-22 19:36:45 +0000
+++ b/src/ChangeLog     2011-01-23 02:56:06 +0000
@@ -1,3 +1,12 @@
+2011-01-23  Paul Eggert  <address@hidden>
+
+       Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h.
+       * lisp.h (SSDATA): New macro.
+       All uses of (char *) SDATA (x) replaced with SSDATA (x),
+       and all uses of (unsigned char *) SDATA (x) replaced with SDATA (x).
+       * gtkutil.c (SSDATA): Remove, as lisp.h now defines this.
+       * xsmfns.c (SSDATA): Likewise.
+
 2011-01-22  Martin Rudalics  <address@hidden>
 
        * window.c (select_window): New function.

=== modified file 'src/callint.c'
--- a/src/callint.c     2011-01-18 20:45:37 +0000
+++ b/src/callint.c     2011-01-23 02:56:06 +0000
@@ -646,7 +646,7 @@
          if (next_event >= key_count)
            error ("%s must be bound to an event with parameters",
                   (SYMBOLP (function)
-                   ? (char *) SDATA (SYMBOL_NAME (function))
+                   ? SSDATA (SYMBOL_NAME (function))
                    : "command"));
          args[i] = AREF (keys, next_event);
          next_event++;
@@ -974,4 +974,3 @@
   defsubr (&Scall_interactively);
   defsubr (&Sprefix_numeric_value);
 }
-

=== modified file 'src/callproc.c'
--- a/src/callproc.c    2011-01-18 20:45:37 +0000
+++ b/src/callproc.c    2011-01-23 02:56:06 +0000
@@ -1278,7 +1278,7 @@
        {
          if (SBYTES (entry) > varlen && SREF (entry, varlen) == '=')
            {
-             *value = (char *) SDATA (entry) + (varlen + 1);
+             *value = SSDATA (entry) + (varlen + 1);
              *valuelen = SBYTES (entry) - (varlen + 1);
              return 1;
            }
@@ -1310,7 +1310,7 @@
        = Fframe_parameter (NILP (frame) ? selected_frame : frame, Qdisplay);
       if (STRINGP (display))
        {
-         *value    = (char *) SDATA (display);
+         *value    = SSDATA (display);
          *valuelen = SBYTES (display);
          return 1;
        }
@@ -1594,4 +1594,3 @@
   defsubr (&Sgetenv_internal);
   defsubr (&Scall_process_region);
 }
-

=== modified file 'src/charset.c'
--- a/src/charset.c     2011-01-18 20:45:37 +0000
+++ b/src/charset.c     2011-01-23 02:56:06 +0000
@@ -666,7 +666,7 @@
   c = temp_charset_work->min_char;
   stop = (temp_charset_work->max_char < 0x20000
          ? temp_charset_work->max_char : 0xFFFF);
-         
+
   while (1)
     {
       int index = GET_TEMP_CHARSET_WORK_ENCODER (c);
@@ -1828,7 +1828,7 @@
       else
        {
          code = GET_TEMP_CHARSET_WORK_ENCODER (c);
-         code = INDEX_TO_CODE_POINT (charset, code);     
+         code = INDEX_TO_CODE_POINT (charset, code);
        }
     }
   else                         /* method == CHARSET_METHOD_OFFSET */
@@ -2295,7 +2295,7 @@
 {
   Lisp_Object tempdir;
   tempdir = Fexpand_file_name (build_string ("charsets"), Vdata_directory);
-  if (access ((char *) SDATA (tempdir), 0) < 0)
+  if (access (SSDATA (tempdir), 0) < 0)
     {
       dir_warning ("Error: charsets directory (%s) does not exist.\n\
 Emacs will not function correctly without the character map files.\n\
@@ -2431,4 +2431,3 @@
 }
 
 #endif /* emacs */
-

=== modified file 'src/coding.c'
--- a/src/coding.c      2011-01-18 20:45:37 +0000
+++ b/src/coding.c      2011-01-23 02:56:06 +0000
@@ -5380,9 +5380,9 @@
   attrs = CODING_ID_ATTRS (coding->id);
   valids = AREF (attrs, coding_attr_charset_valids);
   name = CODING_ID_NAME (coding->id);
-  if (strncmp ((char *) SDATA (SYMBOL_NAME (name)),
+  if (strncmp (SSDATA (SYMBOL_NAME (name)),
               "iso-8859-", sizeof ("iso-8859-") - 1) == 0
-      || strncmp ((char *) SDATA (SYMBOL_NAME (name)),
+      || strncmp (SSDATA (SYMBOL_NAME (name)),
                  "iso-latin-", sizeof ("iso-latin-") - 1) == 0)
     check_latin_extra = 1;
 
@@ -10827,7 +10827,7 @@
       Lisp_Object dec = code_convert_string_norecord (build_string (str),
                                                      Vlocale_coding_system,
                                                      0);
-      str = (char *) SDATA (dec);
+      str = SSDATA (dec);
     }
 
   return str;

=== modified file 'src/dispnew.c'
--- a/src/dispnew.c     2011-01-18 20:45:37 +0000
+++ b/src/dispnew.c     2011-01-23 02:56:06 +0000
@@ -312,7 +312,7 @@
           w,
           ((BUFFERP (w->buffer)
             && STRINGP (XBUFFER (w->buffer)->name))
-           ? (char *) SDATA (XBUFFER (w->buffer)->name)
+           ? SSDATA (XBUFFER (w->buffer)->name)
            : "???"),
           paused_p ? " ***paused***" : "");
   strcat (buf, msg);
@@ -6592,4 +6592,3 @@
       Vwindow_system_version = Qnil;
     }
 }
-

=== modified file 'src/doc.c'
--- a/src/doc.c 2011-01-18 20:45:37 +0000
+++ b/src/doc.c 2011-01-23 02:56:06 +0000
@@ -126,7 +126,7 @@
     }
   else
     {
-      name = (char *) SDATA (file);
+      name = SSDATA (file);
     }
 
   fd = emacs_open (name, O_RDONLY, 0);
@@ -891,7 +891,7 @@
            bufp += length_byte;
            nchars += length;
            /* Check STRING again in case gc relocated it.  */
-           strp = (unsigned char *) SDATA (string) + idx;
+           strp = SDATA (string) + idx;
          }
        }
       else if (! multibyte)            /* just copy other chars */
@@ -938,4 +938,3 @@
   defsubr (&Ssnarf_documentation);
   defsubr (&Ssubstitute_command_keys);
 }
-

=== modified file 'src/editfns.c'
--- a/src/editfns.c     2011-01-18 20:45:37 +0000
+++ b/src/editfns.c     2011-01-23 02:56:06 +0000
@@ -1397,7 +1397,7 @@
 get_system_name (void)
 {
   if (STRINGP (Vsystem_name))
-    return (const char *) SDATA (Vsystem_name);
+    return SSDATA (Vsystem_name);
   else
     return "";
 }
@@ -1406,7 +1406,7 @@
 get_operating_system_release (void)
 {
   if (STRINGP (Voperating_system_release))
-    return (char *) SDATA (Voperating_system_release);
+    return SSDATA (Voperating_system_release);
   else
     return "";
 }
@@ -1814,7 +1814,7 @@
       if (EQ (zone, Qt))
        tzstring = "UTC0";
       else if (STRINGP (zone))
-       tzstring = (char *) SDATA (zone);
+       tzstring = SSDATA (zone);
       else if (INTEGERP (zone))
        {
          int abszone = eabs (XINT (zone));
@@ -2003,7 +2003,7 @@
   else
     {
       CHECK_STRING (tz);
-      tzstring = (char *) SDATA (tz);
+      tzstring = SSDATA (tz);
     }
 
   set_time_zone_rule (tzstring);
@@ -4677,4 +4677,3 @@
   defsubr (&Ssave_restriction);
   defsubr (&Stranspose_regions);
 }
-

=== modified file 'src/emacs.c'
--- a/src/emacs.c       2011-01-18 20:45:37 +0000
+++ b/src/emacs.c       2011-01-23 02:56:06 +0000
@@ -2205,7 +2205,7 @@
     {
       *plocale = desired_locale;
       setlocale (category, (STRINGP (desired_locale)
-                           ? (char *) SDATA (desired_locale)
+                           ? SSDATA (desired_locale)
                            : ""));
     }
 }
@@ -2490,4 +2490,3 @@
   /* Make sure IS_DAEMON starts up as false.  */
   daemon_pipe[1] = 0;
 }
-

=== modified file 'src/fileio.c'
--- a/src/fileio.c      2011-01-18 20:45:37 +0000
+++ b/src/fileio.c      2011-01-23 02:56:06 +0000
@@ -194,7 +194,7 @@
          {
            int c;
 
-           str = (char *) SDATA (errstring);
+           str = SSDATA (errstring);
            c = STRING_CHAR (str);
            Faset (errstring, make_number (0), make_number (DOWNCASE (c)));
          }
@@ -2558,7 +2558,7 @@
     return Qnil;
   return (statbuf.st_mode & S_IFMT) == S_IFDIR ? Qt : Qnil;
 #else
-  return (check_writable (!NILP (dir) ? (char *) SDATA (dir) : "")
+  return (check_writable (!NILP (dir) ? SSDATA (dir) : "")
          ? Qt : Qnil);
 #endif
 }

=== modified file 'src/filelock.c'
--- a/src/filelock.c    2011-01-18 20:45:37 +0000
+++ b/src/filelock.c    2011-01-23 02:56:06 +0000
@@ -358,11 +358,11 @@
   boot_time = get_boot_time ();
 
   if (STRINGP (Fuser_login_name (Qnil)))
-    user_name = (char *)SDATA (Fuser_login_name (Qnil));
+    user_name = SSDATA (Fuser_login_name (Qnil));
   else
     user_name = "";
   if (STRINGP (Fsystem_name ()))
-    host_name = (char *)SDATA (Fsystem_name ());
+    host_name = SSDATA (Fsystem_name ());
   else
     host_name = "";
   lock_info_str = (char *)alloca (strlen (user_name) + strlen (host_name)
@@ -738,4 +738,3 @@
   defsubr (&Sfile_locked_p);
 #endif
 }
-

=== modified file 'src/font.c'
--- a/src/font.c        2011-01-18 20:45:37 +0000
+++ b/src/font.c        2011-01-23 02:56:06 +0000
@@ -1190,7 +1190,7 @@
          if (SYMBOLP (val))
            val = SYMBOL_NAME (val);
          if (j == XLFD_REGISTRY_INDEX
-             && ! strchr ((char *) SDATA (val), '-'))
+             && ! strchr (SSDATA (val), '-'))
            {
              /* Change "jisx0208*" and "jisx0208" to "jisx0208*-*".  */
              if (SDATA (val)[SBYTES (val) - 1] == '*')
@@ -1207,7 +1207,7 @@
                }
            }
          else
-           f[j] = (char *) SDATA (val), len += SBYTES (val) + 1;
+           f[j] = SSDATA (val), len += SBYTES (val) + 1;
        }
     }
 
@@ -1220,7 +1220,7 @@
       else
        {
          val = SYMBOL_NAME (val);
-         f[j] = (char *) SDATA (val), len += SBYTES (val) + 1;
+         f[j] = SSDATA (val), len += SBYTES (val) + 1;
        }
     }
 
@@ -1703,7 +1703,7 @@
     {
       CHECK_STRING (family);
       len = SBYTES (family);
-      p0 = (char *) SDATA (family);
+      p0 = SSDATA (family);
       p1 = strchr (p0, '-');
       if (p1)
        {
@@ -1722,7 +1722,7 @@
       /* Convert "XXX" and "XXX*" to "XXX*-*".  */
       CHECK_STRING (registry);
       len = SBYTES (registry);
-      p0 = (char *) SDATA (registry);
+      p0 = SSDATA (registry);
       p1 = strchr (p0, '-');
       if (! p1)
        {
@@ -1855,7 +1855,7 @@
     otf = XSAVE_VALUE (XCDR (val))->pointer;
   else
     {
-      otf = STRINGP (file) ? OTF_open ((char *) SDATA (file)) : NULL;
+      otf = STRINGP (file) ? OTF_open (SSDATA (file)) : NULL;
       val = make_save_value (otf, 0);
       otf_list = Fcons (Fcons (file, val), otf_list);
     }
@@ -3000,7 +3000,7 @@
   Lisp_Object spec = Ffont_spec (0, NULL);
 
   CHECK_STRING (font_name);
-  if (font_parse_name ((char *) SDATA (font_name), spec) == -1)
+  if (font_parse_name (SSDATA (font_name), spec) == -1)
     return Qnil;
   font_put_extra (spec, QCname, font_name);
   font_put_extra (spec, QCuser_spec, font_name);
@@ -3158,7 +3158,7 @@
   else if (STRINGP (attrs[LFACE_FOUNDRY_INDEX]))
     {
       val = attrs[LFACE_FOUNDRY_INDEX];
-      foundry[0] = font_intern_prop ((char *) SDATA (val), SBYTES (val), 1);
+      foundry[0] = font_intern_prop (SSDATA (val), SBYTES (val), 1);
       foundry[1] = Qnil;
       foundry[2] = null_vector;
     }
@@ -3189,7 +3189,7 @@
   if (NILP (val) && STRINGP (attrs[LFACE_FAMILY_INDEX]))
     {
       val = attrs[LFACE_FAMILY_INDEX];
-      val = font_intern_prop ((char *) SDATA (val), SBYTES (val), 1);
+      val = font_intern_prop (SSDATA (val), SBYTES (val), 1);
     }
   if (NILP (val))
     {
@@ -3620,7 +3620,7 @@
         if (strcmp (boolean_properties[i], keystr) == 0)
           {
             const char *str = INTEGERP (val) ? (XINT (val) ? "true" : "false")
-             : SYMBOLP (val) ? (const char *) SDATA (SYMBOL_NAME (val))
+             : SYMBOLP (val) ? SSDATA (SYMBOL_NAME (val))
              : "true";
 
             if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0
@@ -3890,7 +3890,7 @@
       if (EQ (key, QCname))
        {
          CHECK_STRING (val);
-         font_parse_name ((char *) SDATA (val), spec);
+         font_parse_name (SSDATA (val), spec);
          font_put_extra (spec, key, val);
        }
       else
@@ -4250,7 +4250,7 @@
        {
          if (NILP (fold_wildcards))
            return font_name;
-         strcpy (name, (char *) SDATA (font_name));
+         strcpy (name, SSDATA (font_name));
          goto done;
        }
       pixel_size = XFONT_OBJECT (font)->pixel_size;
@@ -4913,7 +4913,7 @@
 
       if (fontset >= 0)
        name = fontset_ascii (fontset);
-      font_object = font_open_by_name (f, (char *) SDATA (name));
+      font_object = font_open_by_name (f, SSDATA (name));
     }
   else if (FONT_OBJECT_P (name))
     font_object = name;
@@ -4991,7 +4991,7 @@
     return;
   if (STRINGP (AREF (Vfont_log_deferred, 0)))
     {
-      char *str = (char *) SDATA (AREF (Vfont_log_deferred, 0));
+      char *str = SSDATA (AREF (Vfont_log_deferred, 0));
 
       ASET (Vfont_log_deferred, 0, Qnil);
       font_add_log (str, AREF (Vfont_log_deferred, 1),
@@ -5269,4 +5269,3 @@
 {
   Vfont_log = egetenv ("EMACS_FONT_LOG") ? Qnil : Qt;
 }
-

=== modified file 'src/fontset.c'
--- a/src/fontset.c     2011-01-18 20:45:37 +0000
+++ b/src/fontset.c     2011-01-23 02:56:06 +0000
@@ -1049,7 +1049,7 @@
    the corresponding regular expression.  */
 static Lisp_Object Vcached_fontset_data;
 
-#define CACHED_FONTSET_NAME ((char *) SDATA (XCAR (Vcached_fontset_data)))
+#define CACHED_FONTSET_NAME SSDATA (XCAR (Vcached_fontset_data))
 #define CACHED_FONTSET_REGEX (XCDR (Vcached_fontset_data))
 
 /* If fontset name PATTERN contains any wild card, return regular
@@ -1058,13 +1058,13 @@
 static Lisp_Object
 fontset_pattern_regexp (Lisp_Object pattern)
 {
-  if (!strchr ((char *) SDATA (pattern), '*')
-      && !strchr ((char *) SDATA (pattern), '?'))
+  if (!strchr (SSDATA (pattern), '*')
+      && !strchr (SSDATA (pattern), '?'))
     /* PATTERN does not contain any wild cards.  */
     return Qnil;
 
   if (!CONSP (Vcached_fontset_data)
-      || strcmp ((char *) SDATA (pattern), CACHED_FONTSET_NAME))
+      || strcmp (SSDATA (pattern), CACHED_FONTSET_NAME))
     {
       /* We must at first update the cached data.  */
       unsigned char *regex, *p0, *p1;
@@ -1115,7 +1115,7 @@
       *p1++ = '$';
       *p1++ = 0;
 
-      Vcached_fontset_data = Fcons (build_string ((char *) SDATA (pattern)),
+      Vcached_fontset_data = Fcons (build_string (SSDATA (pattern)),
                                    build_string ((char *) regex));
     }
 
@@ -1225,7 +1225,7 @@
 
       if (STRINGP (regexp)
          ? (fast_string_match (regexp, name) < 0)
-         : strcmp ((char *) SDATA (pattern), (char *) SDATA (name)))
+         : strcmp (SSDATA (pattern), SSDATA (name)))
        continue;
 
       val = Fcons (Fcopy_sequence (FONTSET_NAME (fontset)), val);
@@ -1651,10 +1651,10 @@
       char xlfd[256];
       int len;
 
-      if (font_parse_xlfd ((char *) SDATA (name), font_spec) < 0)
+      if (font_parse_xlfd (SSDATA (name), font_spec) < 0)
        error ("Fontset name must be in XLFD format");
       short_name = AREF (font_spec, FONT_REGISTRY_INDEX);
-      if (strncmp ((char *) SDATA (SYMBOL_NAME (short_name)), "fontset-", 8)
+      if (strncmp (SSDATA (SYMBOL_NAME (short_name)), "fontset-", 8)
          || SBYTES (SYMBOL_NAME (short_name)) < 9)
        error ("Registry field of fontset name must be \"fontset-*\"");
       Vfontset_alias_alist = Fcons (Fcons (name, SYMBOL_NAME (short_name)),

=== modified file 'src/frame.c'
--- a/src/frame.c       2011-01-18 20:45:37 +0000
+++ b/src/frame.c       2011-01-23 02:56:06 +0000
@@ -4037,7 +4037,7 @@
 
   CHECK_STRING (string);
 
-  geometry = XParseGeometry ((char *) SDATA (string),
+  geometry = XParseGeometry (SSDATA (string),
                             &x, &y, &width, &height);
   result = Qnil;
   if (geometry & XValue)
@@ -4637,4 +4637,3 @@
 #endif
 
 }
-

=== modified file 'src/ftfont.c'
--- a/src/ftfont.c      2011-01-15 23:16:57 +0000
+++ b/src/ftfont.c      2011-01-23 02:56:06 +0000
@@ -392,7 +392,7 @@
   if (cache_for == FTFONT_CACHE_FOR_FACE
       ? ! cache_data->ft_face : ! cache_data->fc_charset)
     {
-      char *filename = (char *) SDATA (XCAR (key));
+      char *filename = SSDATA (XCAR (key));
       int index = XINT (XCDR (key));
 
       if (cache_for == FTFONT_CACHE_FOR_FACE)
@@ -555,7 +555,7 @@
 static int
 ftfont_get_charset (Lisp_Object registry)
 {
-  char *str = (char *) SDATA (SYMBOL_NAME (registry));
+  char *str = SSDATA (SYMBOL_NAME (registry));
   char *re = alloca (SBYTES (SYMBOL_NAME (registry)) * 2 + 1);
   Lisp_Object regexp;
   int i, j;
@@ -2453,7 +2453,7 @@
       flt_font_ft.flt_font.family = Mnil;
     else
       flt_font_ft.flt_font.family
-       = msymbol ((char *) SDATA (Fdowncase (SYMBOL_NAME (family))));
+       = msymbol (SSDATA (Fdowncase (SYMBOL_NAME (family))));
   }
   flt_font_ft.flt_font.x_ppem = ft_face->size->metrics.x_ppem;
   flt_font_ft.flt_font.y_ppem = ft_face->size->metrics.y_ppem;
@@ -2675,4 +2675,3 @@
   ftfont_driver.type = Qfreetype;
   register_font_driver (&ftfont_driver, NULL);
 }
-

=== modified file 'src/gnutls.c'
--- a/src/gnutls.c      2011-01-15 22:10:37 +0000
+++ b/src/gnutls.c      2011-01-23 02:56:06 +0000
@@ -448,7 +448,7 @@
                 (x509_cred,
                  SDATA (trustfile),
                  file_format);
-              
+
               if (ret < GNUTLS_E_SUCCESS)
                 return gnutls_make_error (ret);
             }
@@ -470,7 +470,7 @@
                 (x509_cred,
                  SDATA (keyfile),
                  file_format);
-              
+
               if (ret < GNUTLS_E_SUCCESS)
                 return gnutls_make_error (ret);
             }
@@ -497,7 +497,7 @@
 
   if (STRINGP (priority_string))
     {
-      priority_string_ptr = (char*) SDATA (priority_string);
+      priority_string_ptr = SSDATA (priority_string);
       GNUTLS_LOG2 (1, max_log_level, "got non-default priority string:",
                    priority_string_ptr);
     }
@@ -506,7 +506,7 @@
       GNUTLS_LOG2 (1, max_log_level, "using default priority string:",
                    priority_string_ptr);
     }
-  
+
   GNUTLS_LOG (1, max_log_level, "setting the priority string");
 
   ret = gnutls_priority_set_direct (state,

=== modified file 'src/gtkutil.c'
--- a/src/gtkutil.c     2011-01-18 17:28:28 +0000
+++ b/src/gtkutil.c     2011-01-23 02:56:06 +0000
@@ -46,9 +46,6 @@
 #define FRAME_TOTAL_PIXEL_WIDTH(f) \
   (FRAME_PIXEL_WIDTH (f) + FRAME_TOOLBAR_WIDTH (f))
 
-/* Avoid "differ in sign" warnings */
-#define SSDATA(x)  ((char *) SDATA (x))
-
 #ifndef HAVE_GTK_WIDGET_SET_HAS_WINDOW
 #define gtk_widget_set_has_window(w, b) \
   (gtk_fixed_set_has_window (GTK_FIXED (w), b))
@@ -4565,4 +4562,3 @@
 }
 
 #endif /* USE_GTK */
-

=== modified file 'src/image.c'
--- a/src/image.c       2011-01-18 20:45:37 +0000
+++ b/src/image.c       2011-01-23 02:56:06 +0000
@@ -350,7 +350,7 @@
     {
       if (dpyinfo->bitmaps[id].refcount
          && dpyinfo->bitmaps[id].file
-         && !strcmp (dpyinfo->bitmaps[id].file, (char *) SDATA (file)))
+         && !strcmp (dpyinfo->bitmaps[id].file, SSDATA (file)))
        {
          ++dpyinfo->bitmaps[id].refcount;
          return id + 1;
@@ -363,7 +363,7 @@
     return -1;
   emacs_close (fd);
 
-  filename = (char *) SDATA (found);
+  filename = SSDATA (found);
 
   result = XReadBitmapFile (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                            filename, &width, &height, &bitmap, &xhot, &yhot);
@@ -8883,4 +8883,3 @@
 init_image (void)
 {
 }
-

=== modified file 'src/keyboard.c'
--- a/src/keyboard.c    2011-01-18 20:45:37 +0000
+++ b/src/keyboard.c    2011-01-23 02:56:06 +0000
@@ -8177,8 +8177,8 @@
       /* Try to make one from caption and key.  */
       Lisp_Object key = PROP (TOOL_BAR_ITEM_KEY);
       Lisp_Object capt = PROP (TOOL_BAR_ITEM_CAPTION);
-      const char *label = SYMBOLP (key) ? (char *) SDATA (SYMBOL_NAME (key)) : 
"";
-      const char *caption = STRINGP (capt) ? (char *) SDATA (capt) : "";
+      const char *label = SYMBOLP (key) ? SSDATA (SYMBOL_NAME (key)) : "";
+      const char *caption = STRINGP (capt) ? SSDATA (capt) : "";
       EMACS_INT max_lbl = 2 * tool_bar_max_label_size;
       char *buf = (char *) xmalloc (max_lbl + 1);
       Lisp_Object new_lbl;
@@ -12298,4 +12298,3 @@
       }
   }
 }
-

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2011-01-18 20:45:37 +0000
+++ b/src/lisp.h        2011-01-23 02:56:06 +0000
@@ -635,6 +635,9 @@
 #define SCHARS(string)         (XSTRING (string)->size + 0)
 #define SBYTES(string)         (STRING_BYTES (XSTRING (string)) + 0)
 
+/* Avoid "differ in sign" warnings.  */
+#define SSDATA(x)  ((char *) SDATA (x))
+
 #define STRING_SET_CHARS(string, newsize) \
     (XSTRING (string)->size = (newsize))
 
@@ -1844,7 +1847,7 @@
 
 /* Macros we use to define forwarded Lisp variables.
    These are used in the syms_of_FILENAME functions.
-   
+
    An ordinary (not in buffer_defaults, per-buffer, or per-keyboard)
    lisp variable is actually a field in `struct emacs_globals'.  The
    field's name begins with "f_", which is a convention enforced by

=== modified file 'src/lread.c'
--- a/src/lread.c       2011-01-18 20:45:37 +0000
+++ b/src/lread.c       2011-01-23 02:56:06 +0000
@@ -1082,9 +1082,9 @@
 #ifdef DOS_NT
          fmode = "rb";
 #endif /* DOS_NT */
-         stat ((char *)SDATA (efound), &s1);
+         stat (SSDATA (efound), &s1);
          SSET (efound, SBYTES (efound) - 1, 0);
-         result = stat ((char *)SDATA (efound), &s2);
+         result = stat (SSDATA (efound), &s2);
          SSET (efound, SBYTES (efound) - 1, 'c');
 
          if (result >= 0 && (unsigned) s1.st_mtime < (unsigned) s2.st_mtime)
@@ -1125,7 +1125,7 @@
 #ifdef WINDOWSNT
   emacs_close (fd);
   efound = ENCODE_FILE (found);
-  stream = fopen ((char *) SDATA (efound), fmode);
+  stream = fopen (SSDATA (efound), fmode);
 #else  /* not WINDOWSNT */
   stream = fdopen (fd, fmode);
 #endif /* not WINDOWSNT */
@@ -4404,4 +4404,3 @@
   Qrehash_threshold = intern_c_string ("rehash-threshold");
   staticpro (&Qrehash_threshold);
 }
-

=== modified file 'src/menu.c'
--- a/src/menu.c        2011-01-15 23:16:57 +0000
+++ b/src/menu.c        2011-01-23 02:56:06 +0000
@@ -695,7 +695,7 @@
 #endif
 
          pane_string = (NILP (pane_name)
-                        ? "" : (char *) SDATA (pane_name));
+                        ? "" : SSDATA (pane_name));
          /* If there is just one top-level pane, put all its items directly
             under the top-level menu.  */
          if (menu_items_n_panes == 1)
@@ -847,7 +847,7 @@
     {
       if (STRINGP (wv->lname))
         {
-          wv->name = (char *) SDATA (wv->lname);
+          wv->name = SSDATA (wv->lname);
 
           /* Ignore the @ that means "separate pane".
              This is a kludge, but this isn't worth more time.  */
@@ -860,7 +860,7 @@
         }
 
       if (STRINGP (wv->lkey))
-        wv->key = (char *) SDATA (wv->lkey);
+        wv->key = SSDATA (wv->lkey);
 
       if (wv->contents)
         update_submenu_strings (wv->contents);
@@ -1353,4 +1353,3 @@
 
   defsubr (&Sx_popup_menu);
 }
-

=== modified file 'src/nsmenu.m'
--- a/src/nsmenu.m      2011-01-19 22:11:33 +0000
+++ b/src/nsmenu.m      2011-01-23 02:56:06 +0000
@@ -355,7 +355,7 @@
 /*           if (submenu && strcmp (submenuTitle, SDATA (string)))
                continue; */
 
-         wv->name = (char *) SDATA (string);
+         wv->name = SSDATA (string);
           update_submenu_strings (wv->contents);
          wv = wv->next;
        }
@@ -444,7 +444,7 @@
             strncpy (previous_strings[i/4], SDATA (string), 10);
 
          wv = xmalloc_widget_value ();
-         wv->name = (char *) SDATA (string);
+         wv->name = SSDATA (string);
          wv->value = 0;
          wv->enabled = 1;
          wv->button_type = BUTTON_TYPE_NONE;
@@ -833,7 +833,7 @@
            }
 #endif
          pane_string = (NILP (pane_name)
-                        ? "" : (char *) SDATA (pane_name));
+                        ? "" : SSDATA (pane_name));
          /* If there is just one top-level pane, put all its items directly
             under the top-level menu.  */
          if (menu_items_n_panes == 1)
@@ -898,9 +898,9 @@
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
-         wv->name = (char *) SDATA (item_name);
+         wv->name = SSDATA (item_name);
          if (!NILP (descrip))
-           wv->key = (char *) SDATA (descrip);
+           wv->key = SSDATA (descrip);
          wv->value = 0;
          /* If this item has a null value,
             make the call_data null so that it won't display a box
@@ -949,7 +949,7 @@
        title = ENCODE_MENU_STRING (title);
 #endif
 
-      wv_title->name = (char *) SDATA (title);
+      wv_title->name = SSDATA (title);
       wv_title->enabled = NO;
       wv_title->button_type = BUTTON_TYPE_NONE;
       wv_title->help = Qnil;
@@ -1036,7 +1036,7 @@
       helpObj = TOOLPROP (TOOL_BAR_ITEM_HELP);
       if (NILP (helpObj))
         helpObj = TOOLPROP (TOOL_BAR_ITEM_CAPTION);
-      helpText = NILP (helpObj) ? "" : (char *)SDATA (helpObj);
+      helpText = NILP (helpObj) ? "" : SSDATA (helpObj);
 
       /* Ignore invalid image specifications.  */
       if (!valid_image_p (image))

=== modified file 'src/process.c'
--- a/src/process.c     2011-01-18 20:45:37 +0000
+++ b/src/process.c     2011-01-23 02:56:06 +0000
@@ -411,7 +411,7 @@
               max_input_desc = fd;
               break;
             }
-      
+
     }
 }
 
@@ -498,7 +498,7 @@
          if (! NILP (Vlocale_coding_system))
            string = (code_convert_string_norecord
                      (string, Vlocale_coding_system, 0));
-         c1 = STRING_CHAR ((char *) SDATA (string));
+         c1 = STRING_CHAR (SSDATA (string));
          c2 = DOWNCASE (c1);
          if (c1 != c2)
            Faset (string, make_number (0), make_number (c2));
@@ -1420,7 +1420,7 @@
            port = Fformat_network_address (Fplist_get (p->childp, QClocal), 
Qnil);
          sprintf (tembuf, "(network %s server on %s)\n",
                   (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
-                  (STRINGP (port) ? (char *)SDATA (port) : "?"));
+                  (STRINGP (port) ? SSDATA (port) : "?"));
          insert_string (tembuf);
        }
       else if (NETCONN1_P (p))
@@ -1438,7 +1438,7 @@
            host = Fformat_network_address (Fplist_get (p->childp, QCremote), 
Qnil);
          sprintf (tembuf, "(network %s connection to %s)\n",
                   (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
-                  (STRINGP (host) ? (char *)SDATA (host) : "?"));
+                  (STRINGP (host) ? SSDATA (host) : "?"));
          insert_string (tembuf);
        }
       else if (SERIALCONN1_P (p))
@@ -2517,7 +2517,7 @@
 
   CHECK_SYMBOL (opt);
 
-  name = (char *) SDATA (SYMBOL_NAME (opt));
+  name = SSDATA (SYMBOL_NAME (opt));
   for (sopt = socket_options; sopt->name; sopt++)
     if (strcmp (name, sopt->name) == 0)
       break;
@@ -2556,7 +2556,7 @@
        memset (devname, 0, sizeof devname);
        if (STRINGP (val))
          {
-           char *arg = (char *) SDATA (val);
+           char *arg = SSDATA (val);
            int len = min (strlen (arg), IFNAMSIZ);
            memcpy (devname, arg, len);
          }
@@ -2841,7 +2841,7 @@
   record_unwind_protect (make_serial_process_unwind, proc);
   p = XPROCESS (proc);
 
-  fd = serial_open ((char*) SDATA (port));
+  fd = serial_open (SSDATA (port));
   p->infd = fd;
   p->outfd = fd;
   if (fd > max_process_desc)
@@ -3377,7 +3377,7 @@
        /* Attempt to interpret host as numeric inet address */
        {
          unsigned long numeric_addr;
-         numeric_addr = inet_addr ((char *) SDATA (host));
+         numeric_addr = inet_addr (SSDATA (host));
          if (numeric_addr == -1)
            error ("Unknown host \"%s\"", SDATA (host));
 
@@ -5645,7 +5645,7 @@
 #ifdef HAVE_GNUTLS
                  if (XPROCESS (proc)->gnutls_p)
                    rv = emacs_gnutls_write (outfd,
-                                            XPROCESS (proc), 
+                                            XPROCESS (proc),
                                             (char *) buf, this);
                  else
 #endif
@@ -7727,4 +7727,3 @@
   defsubr (&Slist_system_processes);
   defsubr (&Sprocess_attributes);
 }
-

=== modified file 'src/search.c'
--- a/src/search.c      2011-01-18 20:45:37 +0000
+++ b/src/search.c      2011-01-23 02:56:06 +0000
@@ -153,7 +153,7 @@
   else
     re_set_whitespace_regexp (NULL);
 
-  val = (char *) re_compile_pattern ((char *) SDATA (pattern),
+  val = (char *) re_compile_pattern (SSDATA (pattern),
                                     SBYTES (pattern), &cp->buf);
 
   /* If the compiled pattern hard codes some of the contents of the
@@ -414,7 +414,7 @@
   immediate_quit = 1;
   re_match_object = string;
 
-  val = re_search (bufp, (char *) SDATA (string),
+  val = re_search (bufp, SSDATA (string),
                   SBYTES (string), pos_byte,
                   SBYTES (string) - pos_byte,
                   (NILP (Vinhibit_changing_match_data)
@@ -485,7 +485,7 @@
   immediate_quit = 1;
   re_match_object = string;
 
-  val = re_search (bufp, (char *) SDATA (string),
+  val = re_search (bufp, SSDATA (string),
                   SBYTES (string), 0,
                   SBYTES (string), 0);
   immediate_quit = 0;
@@ -528,7 +528,7 @@
   immediate_quit = 1;
   re_match_object = string;
 
-  val = re_search (bufp, (char *) SDATA (string),
+  val = re_search (bufp, SSDATA (string),
                   SBYTES (string), 0,
                   SBYTES (string), 0);
   immediate_quit = 0;
@@ -1268,7 +1268,7 @@
 
       if (multibyte == STRING_MULTIBYTE (string))
        {
-         raw_pattern = (unsigned char *) SDATA (string);
+         raw_pattern = SDATA (string);
          raw_pattern_size = SCHARS (string);
          raw_pattern_size_byte = SBYTES (string);
        }
@@ -3254,4 +3254,3 @@
   defsubr (&Sset_match_data);
   defsubr (&Sregexp_quote);
 }
-

=== modified file 'src/term.c'
--- a/src/term.c        2011-01-18 20:45:37 +0000
+++ b/src/term.c        2011-01-23 02:56:06 +0000
@@ -1949,7 +1949,7 @@
          if (! STRINGP (acronym) && CHAR_TABLE_P (Vglyphless_char_display))
            acronym = CHAR_TABLE_REF (Vglyphless_char_display, it->c);
          buf[0] = '[';
-         str = STRINGP (acronym) ? (char *) SDATA (acronym) : "";
+         str = STRINGP (acronym) ? SSDATA (acronym) : "";
          for (len = 0; len < 6 && str[len] && ASCII_BYTE_P (str[len]); len++)
            buf[1 + len] = str[len];
          buf[1 + len] = ']';
@@ -3157,7 +3157,7 @@
   tty->mouse_highlight.mouse_face_window = Qnil;
 #endif
 
-  
+
 #ifndef DOS_NT
   set_tty_hooks (terminal);
 
@@ -3800,4 +3800,3 @@
   encode_terminal_src = NULL;
   encode_terminal_dst = NULL;
 }
-

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2011-01-19 15:55:47 +0000
+++ b/src/w32fns.c      2011-01-23 02:56:06 +0000
@@ -1507,11 +1507,11 @@
   BLOCK_INPUT;
 
   result = x_text_icon (f,
-                       (char *) SDATA ((!NILP (f->icon_name)
-                                        ? f->icon_name
-                                        : !NILP (f->title)
-                                        ? f->title
-                                        : f->name)));
+                       SSDATA ((!NILP (f->icon_name)
+                                ? f->icon_name
+                                : !NILP (f->title)
+                                ? f->title
+                                : f->name)));
 
   if (result)
     {
@@ -3877,7 +3877,7 @@
      Elsewhere we specify the window name for the window manager.  */
 
   {
-    char *str = (char *) SDATA (Vx_resource_name);
+    char *str = SSDATA (Vx_resource_name);
     f->namebuf = (char *) xmalloc (strlen (str) + 1);
     strcpy (f->namebuf, str);
   }
@@ -3943,9 +3943,9 @@
         ? IconicState
         : NormalState));
 
-  x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name)
-                                    ? f->icon_name
-                                    : f->name)));
+  x_text_icon (f, SSDATA ((!NILP (f->icon_name)
+                          ? f->icon_name
+                          : f->name)));
 #endif
 
   UNBLOCK_INPUT;
@@ -4723,7 +4723,7 @@
   validate_x_resource_name ();
 
   dpyinfo = w32_term_init (name, (unsigned char *)0,
-                            (char *) SDATA (Vx_resource_name));
+                          SSDATA (Vx_resource_name));
 
   if (dpyinfo == 0)
     error ("Cannot connect to server %s", SDATA (name));
@@ -4786,7 +4786,7 @@
   add_system_logical_colors_to_map (&Vw32_color_map);
 
   if (! NILP (xrm_string))
-    xrm_option = (unsigned char *) SDATA (xrm_string);
+    xrm_option = SDATA (xrm_string);
   else
     xrm_option = (unsigned char *) 0;
 
@@ -4807,7 +4807,7 @@
   /* This is what opens the connection and sets x_current_display.
      This also initializes many symbols, such as those used for input.  */
   dpyinfo = w32_term_init (display, xrm_option,
-                            (char *) SDATA (Vx_resource_name));
+                          SSDATA (Vx_resource_name));
 
   if (dpyinfo == 0)
     {
@@ -6188,7 +6188,7 @@
        code_convert_string_norecord (make_unibyte_string (errstr,
                                                           strlen (errstr)),
                                      Vlocale_coding_system, 0);
-      errstr = (char *)SDATA (decoded);
+      errstr = SSDATA (decoded);
     }
   error ("ShellExecute failed: %s", errstr);
 }
@@ -7203,4 +7203,3 @@
 {
   return GetLastError ();
 }
-

=== modified file 'src/w32menu.c'
--- a/src/w32menu.c     2011-01-18 20:45:37 +0000
+++ b/src/w32menu.c     2011-01-23 02:56:06 +0000
@@ -527,7 +527,7 @@
          string = AREF (items, i + 1);
          if (NILP (string))
            break;
-         wv->name = (char *) SDATA (string);
+         wv->name = SSDATA (string);
          update_submenu_strings (wv->contents);
          wv = wv->next;
        }
@@ -555,7 +555,7 @@
            break;
 
          wv = xmalloc_widget_value ();
-         wv->name = (char *) SDATA (string);
+         wv->name = SSDATA (string);
          wv->value = 0;
          wv->enabled = 1;
          wv->button_type = BUTTON_TYPE_NONE;
@@ -745,7 +745,7 @@
            }
 
          pane_string = (NILP (pane_name)
-                        ? "" : (char *) SDATA (pane_name));
+                        ? "" : SSDATA (pane_name));
          /* If there is just one top-level pane, put all its items directly
             under the top-level menu.  */
          if (menu_items_n_panes == 1)
@@ -813,9 +813,9 @@
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
-         wv->name = (char *) SDATA (item_name);
+         wv->name = SSDATA (item_name);
          if (!NILP (descrip))
-           wv->key = (char *) SDATA (descrip);
+           wv->key = SSDATA (descrip);
          wv->value = 0;
          /* Use the contents index as call_data, since we are
              restricted to 16-bits.  */
@@ -861,7 +861,7 @@
       else if (STRING_MULTIBYTE (title))
        title = ENCODE_SYSTEM (title);
 
-      wv_title->name = (char *) SDATA (title);
+      wv_title->name = SSDATA (title);
       wv_title->enabled = TRUE;
       wv_title->title = TRUE;
       wv_title->button_type = BUTTON_TYPE_NONE;
@@ -1021,7 +1021,7 @@
     pane_name = AREF (menu_items, MENU_ITEMS_PANE_NAME);
     prefix = AREF (menu_items, MENU_ITEMS_PANE_PREFIX);
     pane_string = (NILP (pane_name)
-                  ? "" : (char *) SDATA (pane_name));
+                  ? "" : SSDATA (pane_name));
     prev_wv = xmalloc_widget_value ();
     prev_wv->value = pane_string;
     if (keymaps && !NILP (prefix))
@@ -1069,8 +1069,8 @@
        prev_wv->next = wv;
        wv->name = (char *) button_names[nb_buttons];
        if (!NILP (descrip))
-         wv->key = (char *) SDATA (descrip);
-       wv->value = (char *) SDATA (item_name);
+         wv->key = SSDATA (descrip);
+       wv->value = SSDATA (item_name);
        wv->call_data = (void *) &AREF (menu_items, i);
        wv->enabled = !NILP (enable);
        wv->help = Qnil;
@@ -1730,4 +1730,3 @@
   unicode_append_menu = (AppendMenuW_Proc) GetProcAddress (user32, 
"AppendMenuW");
   unicode_message_box = (MessageBoxW_Proc) GetProcAddress (user32, 
"MessageBoxW");
 }
-

=== modified file 'src/w32term.c'
--- a/src/w32term.c     2011-01-18 20:45:37 +0000
+++ b/src/w32term.c     2011-01-23 02:56:06 +0000
@@ -1406,7 +1406,7 @@
                                     glyph->u.glyphless.ch)
                   : XCHAR_TABLE (Vglyphless_char_display)->extras[0]);
              if (STRINGP (acronym))
-               str = (char *) SDATA (acronym);
+               str = SSDATA (acronym);
            }
        }
       else if (glyph->u.glyphless.method == GLYPHLESS_DISPLAY_HEX_CODE)
@@ -6429,4 +6429,3 @@
   staticpro (&last_mouse_motion_frame);
   last_mouse_motion_frame = Qnil;
 }
-

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-01-18 20:45:37 +0000
+++ b/src/xdisp.c       2011-01-23 02:56:06 +0000
@@ -11035,7 +11035,7 @@
             w,
             ((BUFFERP (w->buffer)
               && STRINGP (XBUFFER (w->buffer)->name))
-             ? (char *) SDATA (XBUFFER (w->buffer)->name)
+             ? SSDATA (XBUFFER (w->buffer)->name)
              : "no buffer"),
             buffer);
 }
@@ -19298,9 +19298,9 @@
     case 'F':
       /* %F displays the frame name.  */
       if (!NILP (f->title))
-       return (char *) SDATA (f->title);
+       return SSDATA (f->title);
       if (f->explicit_name || ! FRAME_WINDOW_P (f))
-       return (char *) SDATA (f->name);
+       return SSDATA (f->name);
       return "Emacs";
 
     case 'f':
@@ -19583,7 +19583,7 @@
   if (STRINGP (obj))
     {
       *string = obj;
-      return (char *) SDATA (obj);
+      return SSDATA (obj);
     }
   else
     return "";
@@ -22230,7 +22230,7 @@
        {
          if (! STRINGP (acronym) && CHAR_TABLE_P (Vglyphless_char_display))
            acronym = CHAR_TABLE_REF (Vglyphless_char_display, it->c);
-         str = STRINGP (acronym) ? (char *) SDATA (acronym) : "";
+         str = STRINGP (acronym) ? SSDATA (acronym) : "";
        }
       else
        {
@@ -22266,7 +22266,7 @@
          else
            upper_xoff = (width - metrics_upper.width) / 2;
        }
-  
+
       /* +5 is for horizontal bars of a box plus 1-pixel spaces at
         top, bottom, and between upper and lower strings.  */
       height = (metrics_upper.ascent + metrics_upper.descent
@@ -26991,4 +26991,3 @@
 #endif
 }
 #endif /* ! WINDOWSNT  */
-

=== modified file 'src/xfaces.c'
--- a/src/xfaces.c      2011-01-18 20:45:37 +0000
+++ b/src/xfaces.c      2011-01-23 02:56:06 +0000
@@ -3612,7 +3612,7 @@
 #if defined HAVE_X_I18N
              char *fontsetname = xic_create_fontsetname (SDATA (xlfd), motif);
 #else
-             char *fontsetname = (char *) SDATA (xlfd);
+             char *fontsetname = SSDATA (xlfd);
 #endif
              sprintf (line, "%s.pane.menubar*font%s: %s",
                       myname, suffix, fontsetname);
@@ -3621,7 +3621,7 @@
                       myname, popup_path, suffix, fontsetname);
              XrmPutLineResource (&rdb, line);
              changed_p = 1;
-             if (fontsetname != (char *) SDATA (xlfd))
+             if (fontsetname != SSDATA (xlfd))
                xfree (fontsetname);
            }
        }
@@ -6763,4 +6763,3 @@
   defsubr (&Sx_family_fonts);
 #endif
 }
-

=== modified file 'src/xfns.c'
--- a/src/xfns.c        2011-01-18 20:45:37 +0000
+++ b/src/xfns.c        2011-01-23 02:56:06 +0000
@@ -723,7 +723,7 @@
     {
       GdkPixbuf *pixbuf;
       GError *err = NULL;
-      char *filename = (char *) SDATA (found);
+      char *filename = SSDATA (found);
       BLOCK_INPUT;
 
       pixbuf = gdk_pixbuf_new_from_file (filename, &err);
@@ -1161,9 +1161,9 @@
   BLOCK_INPUT;
   if (NILP (arg))
     result = x_text_icon (f,
-                         (char *) SDATA ((!NILP (f->icon_name)
-                                            ? f->icon_name
-                                            : f->name)));
+                         SSDATA ((!NILP (f->icon_name)
+                                  ? f->icon_name
+                                  : f->name)));
   else
     result = x_bitmap_icon (f, arg);
 
@@ -1198,11 +1198,11 @@
   BLOCK_INPUT;
 
   result = x_text_icon (f,
-                       (char *) SDATA ((!NILP (f->icon_name)
-                                        ? f->icon_name
-                                        : !NILP (f->title)
-                                        ? f->title
-                                        : f->name)));
+                       SSDATA ((!NILP (f->icon_name)
+                                ? f->icon_name
+                                : !NILP (f->title)
+                                ? f->title
+                                : f->name)));
 
   if (result)
     {
@@ -1598,14 +1598,14 @@
 
 #ifdef USE_GTK
         gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-                              (char *) SDATA (encoded_name));
+                              SSDATA (encoded_name));
 #else /* not USE_GTK */
        XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text);
        XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
                         FRAME_X_DISPLAY_INFO (f)->Xatom_net_wm_name,
                         FRAME_X_DISPLAY_INFO (f)->Xatom_UTF8_STRING,
                         8, PropModeReplace,
-                        (char *) SDATA (encoded_name),
+                        SSDATA (encoded_name),
                         SBYTES (encoded_name));
 #endif /* not USE_GTK */
 
@@ -1614,7 +1614,7 @@
                         FRAME_X_DISPLAY_INFO (f)->Xatom_net_wm_icon_name,
                         FRAME_X_DISPLAY_INFO (f)->Xatom_UTF8_STRING,
                         8, PropModeReplace,
-                        (char *) SDATA (encoded_icon_name),
+                        SSDATA (encoded_icon_name),
                         SBYTES (encoded_icon_name));
 
        if (do_free_icon_value)
@@ -2397,7 +2397,7 @@
      Elsewhere we specify the window name for the window manager.  */
 
   {
-    char *str = (char *) SDATA (Vx_resource_name);
+    char *str = SSDATA (Vx_resource_name);
     f->namebuf = (char *) xmalloc (strlen (str) + 1);
     strcpy (f->namebuf, str);
   }
@@ -2546,8 +2546,8 @@
 
   validate_x_resource_name ();
 
-  class_hints.res_name = (char *) SDATA (Vx_resource_name);
-  class_hints.res_class = (char *) SDATA (Vx_resource_class);
+  class_hints.res_name = SSDATA (Vx_resource_name);
+  class_hints.res_class = SSDATA (Vx_resource_class);
   XSetClassHint (FRAME_X_DISPLAY (f), XtWindow (shell_widget), &class_hints);
 
 #ifdef HAVE_X_I18N
@@ -2711,8 +2711,8 @@
 
   validate_x_resource_name ();
 
-  class_hints.res_name = (char *) SDATA (Vx_resource_name);
-  class_hints.res_class = (char *) SDATA (Vx_resource_class);
+  class_hints.res_name = SSDATA (Vx_resource_name);
+  class_hints.res_class = SSDATA (Vx_resource_class);
   XSetClassHint (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), &class_hints);
 
   /* The menubar is part of the ordinary display;
@@ -2824,9 +2824,9 @@
         : NormalState));
 #endif
 
-  x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name)
-                                    ? f->icon_name
-                                    : f->name)));
+  x_text_icon (f, SSDATA ((!NILP (f->icon_name)
+                          ? f->icon_name
+                          : f->name)));
 
   UNBLOCK_INPUT;
 }
@@ -4047,7 +4047,7 @@
   validate_x_resource_name ();
 
   dpyinfo = x_term_init (name, (char *)0,
-                        (char *) SDATA (Vx_resource_name));
+                        SSDATA (Vx_resource_name));
 
   if (dpyinfo == 0)
     error ("Cannot connect to X server %s", SDATA (name));
@@ -4082,7 +4082,7 @@
 #endif
 
   if (! NILP (xrm_string))
-    xrm_option = (unsigned char *) SDATA (xrm_string);
+    xrm_option = SDATA (xrm_string);
   else
     xrm_option = (unsigned char *) 0;
 
@@ -4091,7 +4091,7 @@
   /* This is what opens the connection and sets x_current_display.
      This also initializes many symbols, such as those used for input.  */
   dpyinfo = x_term_init (display, xrm_option,
-                        (char *) SDATA (Vx_resource_name));
+                        SSDATA (Vx_resource_name));
 
   if (dpyinfo == 0)
     {

=== modified file 'src/xfont.c'
--- a/src/xfont.c       2011-01-15 23:16:57 +0000
+++ b/src/xfont.c       2011-01-23 02:56:06 +0000
@@ -362,7 +362,7 @@
          script = Qnil;
        }
     }
-      
+
   BLOCK_INPUT;
   x_catch_errors (display);
 
@@ -540,7 +540,7 @@
            if (STRINGP (XCAR (alter))
                && ((r - name) + SBYTES (XCAR (alter))) < 256)
              {
-               strcpy (r, (char *) SDATA (XCAR (alter)));
+               strcpy (r, SSDATA (XCAR (alter)));
                list = xfont_list_pattern (display, name, registry, script);
                if (! NILP (list))
                  break;
@@ -797,7 +797,7 @@
   ASET (font_object, FONT_TYPE_INDEX, Qx);
   if (STRINGP (fullname))
     {
-      font_parse_xlfd ((char *) SDATA (fullname), font_object);
+      font_parse_xlfd (SSDATA (fullname), font_object);
       ASET (font_object, FONT_NAME_INDEX, fullname);
     }
   else
@@ -1113,4 +1113,3 @@
   xfont_driver.type = Qx;
   register_font_driver (&xfont_driver, NULL);
 }
-

=== modified file 'src/xmenu.c'
--- a/src/xmenu.c       2011-01-14 17:18:41 +0000
+++ b/src/xmenu.c       2011-01-23 02:56:06 +0000
@@ -882,7 +882,7 @@
 apply_systemfont_to_dialog (Widget w)
 {
   const char *fn = xsettings_get_system_normal_font ();
-  if (fn) 
+  if (fn)
     {
       XrmDatabase db = XtDatabase (XtDisplay (w));
       if (db)
@@ -1106,7 +1106,7 @@
          string = XVECTOR (items)->contents[i + 1];
          if (NILP (string))
             break;
-          wv->name = (char *) SDATA (string);
+          wv->name = SSDATA (string);
           update_submenu_strings (wv->contents);
           wv = wv->next;
        }
@@ -1135,7 +1135,7 @@
            break;
 
          wv = xmalloc_widget_value ();
-         wv->name = (char *) SDATA (string);
+         wv->name = SSDATA (string);
          wv->value = 0;
          wv->enabled = 1;
          wv->button_type = BUTTON_TYPE_NONE;
@@ -1680,7 +1680,7 @@
            }
 #endif
          pane_string = (NILP (pane_name)
-                        ? "" : (char *) SDATA (pane_name));
+                        ? "" : SSDATA (pane_name));
          /* If there is just one top-level pane, put all its items directly
             under the top-level menu.  */
          if (menu_items_n_panes == 1)
@@ -1745,9 +1745,9 @@
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
-         wv->name = (char *) SDATA (item_name);
+         wv->name = SSDATA (item_name);
          if (!NILP (descrip))
-           wv->key = (char *) SDATA (descrip);
+           wv->key = SSDATA (descrip);
          wv->value = 0;
          /* If this item has a null value,
             make the call_data null so that it won't display a box
@@ -1798,7 +1798,7 @@
        title = ENCODE_MENU_STRING (title);
 #endif
 
-      wv_title->name = (char *) SDATA (title);
+      wv_title->name = SSDATA (title);
       wv_title->enabled = TRUE;
       wv_title->button_type = BUTTON_TYPE_NONE;
       wv_title->help = Qnil;
@@ -2019,7 +2019,7 @@
     pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME];
     prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX];
     pane_string = (NILP (pane_name)
-                  ? "" : (char *) SDATA (pane_name));
+                  ? "" : SSDATA (pane_name));
     prev_wv = xmalloc_widget_value ();
     prev_wv->value = pane_string;
     if (keymaps && !NILP (prefix))
@@ -2066,8 +2066,8 @@
        prev_wv->next = wv;
        wv->name = (char *) button_names[nb_buttons];
        if (!NILP (descrip))
-         wv->key = (char *) SDATA (descrip);
-       wv->value = (char *) SDATA (item_name);
+         wv->key = SSDATA (descrip);
+       wv->value = SSDATA (item_name);
        wv->call_data = (void *) &XVECTOR (menu_items)->contents[i];
        wv->enabled = !NILP (enable);
        wv->help = Qnil;
@@ -2317,7 +2317,7 @@
          pane_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_NAME];
          prefix = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX];
          pane_string = (NILP (pane_name)
-                        ? "" : (char *) SDATA (pane_name));
+                        ? "" : SSDATA (pane_name));
          if (keymaps && !NILP (prefix))
            pane_string++;
 
@@ -2582,4 +2582,3 @@
   defsubr (&Sx_popup_dialog);
 #endif
 }
-

=== modified file 'src/xselect.c'
--- a/src/xselect.c     2011-01-19 23:32:42 +0000
+++ b/src/xselect.c     2011-01-23 02:56:06 +0000
@@ -235,9 +235,9 @@
   if (EQ (sym, QNULL))     return dpyinfo->Xatom_NULL;
   if (!SYMBOLP (sym)) abort ();
 
-  TRACE1 (" XInternAtom %s", (char *) SDATA (SYMBOL_NAME (sym)));
+  TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym)));
   BLOCK_INPUT;
-  val = XInternAtom (display, (char *) SDATA (SYMBOL_NAME (sym)), False);
+  val = XInternAtom (display, SSDATA (SYMBOL_NAME (sym)), False);
   UNBLOCK_INPUT;
   return val;
 }
@@ -2255,7 +2255,7 @@
       else if (STRINGP (o))
         {
           BLOCK_INPUT;
-          val = (long) XInternAtom (dpy, (char *) SDATA (o), False);
+          val = (long) XInternAtom (dpy, SSDATA (o), False);
           UNBLOCK_INPUT;
         }
       else
@@ -2392,7 +2392,7 @@
   else if (STRINGP (atom))
     {
       BLOCK_INPUT;
-      x_atom = XInternAtom (FRAME_X_DISPLAY (f), (char *) SDATA (atom), False);
+      x_atom = XInternAtom (FRAME_X_DISPLAY (f), SSDATA (atom), False);
       UNBLOCK_INPUT;
     }
   else

=== modified file 'src/xsmfns.c'
--- a/src/xsmfns.c      2011-01-18 20:45:37 +0000
+++ b/src/xsmfns.c      2011-01-23 02:56:06 +0000
@@ -39,9 +39,6 @@
 #include "termopts.h"
 #include "xterm.h"
 
-/* Avoid "differ in sign" warnings */
-#define SSDATA(x)  ((char *) SDATA (x))
-
 /* This is the event used when SAVE_SESSION_EVENT occurs.  */
 
 static struct input_event emacs_event;
@@ -232,7 +229,7 @@
   props[props_idx]->vals[2].value = NOSPLASH_OPT;
 
   cwd = get_current_dir_name ();
-  if (cwd) 
+  if (cwd)
     {
       chdir_opt = xmalloc (strlen (CHDIR_OPT) + strlen (cwd) + 1);
       strcpy (chdir_opt, CHDIR_OPT);
@@ -394,8 +391,8 @@
                            -1, -1, 1, 1,
                            CopyFromParent, CopyFromParent, CopyFromParent);
 
-  class_hints.res_name = (char *) SDATA (Vx_resource_name);
-  class_hints.res_class = (char *) SDATA (Vx_resource_class);
+  class_hints.res_name = SSDATA (Vx_resource_name);
+  class_hints.res_class = SSDATA (Vx_resource_class);
   XSetClassHint (dpyinfo->display, w, &class_hints);
   XStoreName (dpyinfo->display, w, class_hints.res_name);
 
@@ -537,10 +534,10 @@
       SmcCloseConnection (smc_conn, 0, 0);
       ice_connection_closed ();
     }
-  
+
   return Qnil;
 }
-  
+
 
 
 /***********************************************************************
@@ -584,4 +581,3 @@
 }
 
 #endif /* HAVE_X_SM */
-

=== modified file 'src/xterm.c'
--- a/src/xterm.c       2011-01-18 20:45:37 +0000
+++ b/src/xterm.c       2011-01-23 02:56:06 +0000
@@ -1365,7 +1365,7 @@
                                     glyph->u.glyphless.ch)
                   : XCHAR_TABLE (Vglyphless_char_display)->extras[0]);
              if (STRINGP (acronym))
-               str = (char *) SDATA (acronym);
+               str = SSDATA (acronym);
            }
        }
       else if (glyph->u.glyphless.method == GLYPHLESS_DISPLAY_HEX_CODE)
@@ -8442,7 +8442,7 @@
   for (i = 0; i < actual_size; ++i)
     {
       Atom a = ((Atom*)tmp_data)[i];
-      if (a == dpyinfo->Xatom_net_wm_state_maximized_horz) 
+      if (a == dpyinfo->Xatom_net_wm_state_maximized_horz)
         {
           if (*size_state == FULLSCREEN_HEIGHT)
             *size_state = FULLSCREEN_MAXIMIZED;
@@ -9894,7 +9894,7 @@
       {
         static char display_opt[] = "--display";
         static char name_opt[] = "--name";
-        
+
         for (argc = 0; argc < NUM_ARGV; ++argc)
           argv[argc] = 0;
 
@@ -10849,4 +10849,3 @@
 }
 
 #endif /* HAVE_X_WINDOWS */
-


reply via email to

[Prev in Thread] Current Thread [Next in Thread]