Mercurial > emacs
diff src/w32fns.c @ 46370:40db0673e6f0
Most uses of XSTRING combined with STRING_BYTES or indirection changed to
SCHARS, SBYTES, STRING_INTERVALS, SREF, SDATA; explicit size_byte references
left unchanged for now.
author | Ken Raeburn <raeburn@raeburn.org> |
---|---|
date | Mon, 15 Jul 2002 00:00:41 +0000 |
parents | 1fb8f75062c6 |
children | ebc447bb0250 |
line wrap: on
line diff
--- a/src/w32fns.c Sun Jul 14 23:54:05 2002 +0000 +++ b/src/w32fns.c Mon Jul 15 00:00:41 2002 +0000 @@ -571,7 +571,7 @@ { if (dpyinfo->bitmaps[id].refcount && dpyinfo->bitmaps[id].file - && !strcmp (dpyinfo->bitmaps[id].file, (char *) XSTRING (file)->data)) + && !strcmp (dpyinfo->bitmaps[id].file, (char *) SDATA (file))) { ++dpyinfo->bitmaps[id].refcount; return id + 1; @@ -584,7 +584,7 @@ return -1; emacs_close (fd); - filename = (char *) XSTRING (found)->data; + filename = (char *) SDATA (found); hinst = LoadLibraryEx (filename, NULL, LOAD_LIBRARY_AS_DATAFILE); @@ -600,11 +600,11 @@ id = x_allocate_bitmap_record (f); dpyinfo->bitmaps[id - 1].pixmap = bitmap; dpyinfo->bitmaps[id - 1].refcount = 1; - dpyinfo->bitmaps[id - 1].file = (char *) xmalloc (XSTRING (file)->size + 1); + dpyinfo->bitmaps[id - 1].file = (char *) xmalloc (SCHARS (file) + 1); dpyinfo->bitmaps[id - 1].depth = 1; dpyinfo->bitmaps[id - 1].height = height; dpyinfo->bitmaps[id - 1].width = width; - strcpy (dpyinfo->bitmaps[id - 1].file, XSTRING (file)->data); + strcpy (dpyinfo->bitmaps[id - 1].file, SDATA (file)); return id; #endif /* TODO */ @@ -1216,7 +1216,7 @@ CHECK_STRING (filename); abspath = Fexpand_file_name (filename, Qnil); - fp = fopen (XSTRING (filename)->data, "rt"); + fp = fopen (SDATA (filename), "rt"); if (fp) { char buf[512]; @@ -1556,7 +1556,7 @@ tem = Fcar (elt); - if (lstrcmpi (XSTRING (tem)->data, colorname) == 0) + if (lstrcmpi (SDATA (tem), colorname) == 0) { ret = XUINT (Fcdr (elt)); break; @@ -1986,9 +1986,9 @@ CHECK_STRING (arg); - if (strcmp (XSTRING (arg)->data, "black") == 0) + if (strcmp (SDATA (arg), "black") == 0) return BLACK_PIX_DEFAULT (f); - else if (strcmp (XSTRING (arg)->data, "white") == 0) + else if (strcmp (SDATA (arg), "white") == 0) return WHITE_PIX_DEFAULT (f); if ((FRAME_W32_DISPLAY_INFO (f)->n_planes * FRAME_W32_DISPLAY_INFO (f)->n_cbits) == 1) @@ -1996,7 +1996,7 @@ /* w32_defined_color is responsible for coping with failures by looking for a near-miss. */ - if (w32_defined_color (f, XSTRING (arg)->data, &cdef, 1)) + if (w32_defined_color (f, SDATA (arg), &cdef, 1)) return cdef.pixel; /* defined_color failed; return an ultimate default. */ @@ -2476,11 +2476,11 @@ BLOCK_INPUT; result = x_text_icon (f, - (char *) XSTRING ((!NILP (f->icon_name) - ? f->icon_name - : !NILP (f->title) - ? f->title - : f->name))->data); + (char *) SDATA ((!NILP (f->icon_name) + ? f->icon_name + : !NILP (f->title) + ? f->title + : f->name))); if (result) { @@ -2522,12 +2522,12 @@ BLOCK_INPUT; result = (STRINGP (fontset_name) - ? x_new_fontset (f, XSTRING (fontset_name)->data) - : x_new_font (f, XSTRING (arg)->data)); + ? x_new_fontset (f, SDATA (fontset_name)) + : x_new_font (f, SDATA (arg))); UNBLOCK_INPUT; if (EQ (result, Qnil)) - error ("Font `%s' is not defined", XSTRING (arg)->data); + error ("Font `%s' is not defined", SDATA (arg)); else if (EQ (result, Qt)) error ("The characters of the given font have varying widths"); else if (STRINGP (result)) @@ -2812,7 +2812,7 @@ /* Check for no change needed in this very common case before we do any consing. */ if (!strcmp (FRAME_W32_DISPLAY_INFO (f)->w32_id_name, - XSTRING (f->name)->data)) + SDATA (f->name))) return; name = build_string (FRAME_W32_DISPLAY_INFO (f)->w32_id_name); } @@ -2836,7 +2836,7 @@ name = ENCODE_SYSTEM (name); BLOCK_INPUT; - SetWindowText(FRAME_W32_WINDOW (f), XSTRING (name)->data); + SetWindowText(FRAME_W32_WINDOW (f), SDATA (name)); UNBLOCK_INPUT; } } @@ -2896,7 +2896,7 @@ name = ENCODE_SYSTEM (name); BLOCK_INPUT; - SetWindowText(FRAME_W32_WINDOW (f), XSTRING (name)->data); + SetWindowText(FRAME_W32_WINDOW (f), SDATA (name)); UNBLOCK_INPUT; } } @@ -3002,10 +3002,10 @@ if (STRINGP (Vx_resource_name)) { - unsigned char *p = XSTRING (Vx_resource_name)->data; + unsigned char *p = SDATA (Vx_resource_name); int i; - len = STRING_BYTES (XSTRING (Vx_resource_name)); + len = SBYTES (Vx_resource_name); /* Only letters, digits, - and _ are valid in resource names. Count the valid characters and count the invalid ones. */ @@ -3044,12 +3044,12 @@ for (i = 0; i < len; i++) { - int c = XSTRING (new)->data[i]; + int c = SREF (new, i); if (! ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-' || c == '_')) - XSTRING (new)->data[i] = '_'; + SREF (new, i) = '_'; } } @@ -3087,37 +3087,37 @@ /* Allocate space for the components, the dots which separate them, and the final '\0'. Make them big enough for the worst case. */ - name_key = (char *) alloca (STRING_BYTES (XSTRING (Vx_resource_name)) + name_key = (char *) alloca (SBYTES (Vx_resource_name) + (STRINGP (component) - ? STRING_BYTES (XSTRING (component)) : 0) - + STRING_BYTES (XSTRING (attribute)) + ? SBYTES (component) : 0) + + SBYTES (attribute) + 3); class_key = (char *) alloca ((sizeof (EMACS_CLASS) - 1) - + STRING_BYTES (XSTRING (class)) + + SBYTES (class) + (STRINGP (subclass) - ? STRING_BYTES (XSTRING (subclass)) : 0) + ? SBYTES (subclass) : 0) + 3); /* Start with emacs.FRAMENAME for the name (the specific one) and with `Emacs' for the class key (the general one). */ - strcpy (name_key, XSTRING (Vx_resource_name)->data); + strcpy (name_key, SDATA (Vx_resource_name)); strcpy (class_key, EMACS_CLASS); strcat (class_key, "."); - strcat (class_key, XSTRING (class)->data); + strcat (class_key, SDATA (class)); if (!NILP (component)) { strcat (class_key, "."); - strcat (class_key, XSTRING (subclass)->data); + strcat (class_key, SDATA (subclass)); strcat (name_key, "."); - strcat (name_key, XSTRING (component)->data); + strcat (name_key, SDATA (component)); } strcat (name_key, "."); - strcat (name_key, XSTRING (attribute)->data); + strcat (name_key, SDATA (attribute)); value = x_get_string_resource (Qnil, name_key, class_key); @@ -3140,13 +3140,13 @@ /* Allocate space for the components, the dots which separate them, and the final '\0'. */ - name_key = (char *) alloca (STRING_BYTES (XSTRING (Vinvocation_name)) + name_key = (char *) alloca (SBYTES (Vinvocation_name) + strlen (attribute) + 2); class_key = (char *) alloca ((sizeof (EMACS_CLASS) - 1) + strlen (class) + 2); sprintf (name_key, "%s.%s", - XSTRING (Vinvocation_name)->data, + SDATA (Vinvocation_name), attribute); sprintf (class_key, "%s.%s", EMACS_CLASS, class); @@ -3201,15 +3201,15 @@ switch (type) { case RES_TYPE_NUMBER: - return make_number (atoi (XSTRING (tem)->data)); + return make_number (atoi (SDATA (tem))); case RES_TYPE_FLOAT: - return make_float (atof (XSTRING (tem)->data)); + return make_float (atof (SDATA (tem))); case RES_TYPE_BOOLEAN: tem = Fdowncase (tem); - if (!strcmp (XSTRING (tem)->data, "on") - || !strcmp (XSTRING (tem)->data, "true")) + if (!strcmp (SDATA (tem), "on") + || !strcmp (SDATA (tem), "true")) return Qt; else return Qnil; @@ -3223,11 +3223,11 @@ { Lisp_Object lower; lower = Fdowncase (tem); - if (!strcmp (XSTRING (lower)->data, "on") - || !strcmp (XSTRING (lower)->data, "true")) + if (!strcmp (SDATA (lower), "on") + || !strcmp (SDATA (lower), "true")) return Qt; - else if (!strcmp (XSTRING (lower)->data, "off") - || !strcmp (XSTRING (lower)->data, "false")) + else if (!strcmp (SDATA (lower), "off") + || !strcmp (SDATA (lower), "false")) return Qnil; else return Fintern (tem, Qnil); @@ -3284,7 +3284,7 @@ CHECK_STRING (string); - geometry = XParseGeometry ((char *) XSTRING (string)->data, + geometry = XParseGeometry ((char *) SDATA (string), &x, &y, &width, &height); result = Qnil; @@ -5342,7 +5342,7 @@ Elsewhere we specify the window name for the window manager. */ { - char *str = (char *) XSTRING (Vx_resource_name)->data; + char *str = (char *) SDATA (Vx_resource_name); f->namebuf = (char *) xmalloc (strlen (str) + 1); strcpy (f->namebuf, str); } @@ -5409,9 +5409,9 @@ ? IconicState : NormalState)); - x_text_icon (f, (char *) XSTRING ((!NILP (f->icon_name) + x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name) ? f->icon_name - : f->name))->data); + : f->name))); #endif UNBLOCK_INPUT; @@ -5621,9 +5621,9 @@ { tem = Fquery_fontset (font, Qnil); if (STRINGP (tem)) - font = x_new_fontset (f, XSTRING (tem)->data); + font = x_new_fontset (f, SDATA (tem)); else - font = x_new_font (f, XSTRING (font)->data); + font = x_new_font (f, SDATA (font)); } /* Try out a font which we hope has bold and italic variations. */ if (!STRINGP (font)) @@ -5912,12 +5912,12 @@ for (tail = font_names; CONSP (tail); tail = XCDR (tail)) if (dpyinfo->font_table[i].name && (!strcmp (dpyinfo->font_table[i].name, - XSTRING (XCAR (tail))->data) + SDATA (XCAR (tail))) || !strcmp (dpyinfo->font_table[i].full_name, - XSTRING (XCAR (tail))->data))) + SDATA (XCAR (tail))))) return (dpyinfo->font_table + i); - fontname = (char *) XSTRING (XCAR (font_names))->data; + fontname = (char *) SDATA (XCAR (font_names)); } else if (w32_strict_fontnames) { @@ -6125,9 +6125,9 @@ char *bdf_name, *bdf_file; Lisp_Object bdf_pair; - bdf_name = XSTRING (XCAR (bdf_fonts))->data; + bdf_name = SDATA (XCAR (bdf_fonts)); bdf_pair = Fassoc (XCAR (bdf_fonts), Vw32_bdf_filename_alist); - bdf_file = XSTRING (XCDR (bdf_pair))->data; + bdf_file = SDATA (XCDR (bdf_pair)); retval = w32_load_bdf_font (f, bdf_name, size, bdf_file); @@ -6413,7 +6413,7 @@ || !SYMBOLP (XCAR (XCDR (this_entry)))) continue; - x_charset = XSTRING (XCAR (this_entry))->data; + x_charset = SDATA (XCAR (this_entry)); w32_charset = XCAR (XCDR (this_entry)); codepage = XCDR (XCDR (this_entry)); @@ -7196,7 +7196,7 @@ if (!NILP (lpef->pattern)) { - charset = xlfd_charset_of_font (XSTRING(lpef->pattern)->data); + charset = xlfd_charset_of_font (SDATA (lpef->pattern)); /* We already checked charsets above, but DEFAULT_CHARSET slipped through. So only allow exact matches for DEFAULT_CHARSET. */ @@ -7216,7 +7216,7 @@ for ( ; CONSP (charset_list); charset_list = Fcdr (charset_list)) { Lisp_Object this_charset = Fcar (charset_list); - charset = XSTRING (this_charset)->data; + charset = SDATA (this_charset); /* List bold and italic variations if w32-enable-synthesized-fonts is non-nil and this is a plain font. */ @@ -7261,7 +7261,7 @@ return; if (NILP (lpef->pattern) - || w32_font_match (buf, XSTRING (lpef->pattern)->data)) + || w32_font_match (buf, SDATA (lpef->pattern))) { /* Check if we already listed this font. This may happen if w32_enable_synthesized_fonts is non-nil, and there are real @@ -7335,15 +7335,15 @@ int n_fonts = 0; list = Vw32_bdf_filename_alist; - ptnstr = XSTRING (pattern)->data; + ptnstr = SDATA (pattern); for ( ; CONSP (list); list = XCDR (list)) { tem = XCAR (list); if (CONSP (tem)) - fontname = XSTRING (XCAR (tem))->data; + fontname = SDATA (XCAR (tem)); else if (STRINGP (tem)) - fontname = XSTRING (tem)->data; + fontname = SDATA (tem); else continue; @@ -7395,7 +7395,7 @@ /* Avoid expensive EnumFontFamilies functions if we are not going to be able to output one of these anyway. */ - codepage = w32_codepage_for_font (XSTRING (tpat)->data); + codepage = w32_codepage_for_font (SDATA (tpat)); if (codepage != CP_8BIT && codepage != CP_UNICODE && codepage != CP_DEFAULT && codepage != CP_UNKNOWN && !IsValidCodePage(codepage)) @@ -7422,7 +7422,7 @@ /* Use EnumFontFamiliesEx where it is available, as it knows about character sets. Fall back to EnumFontFamilies for older versions of NT that don't support the 'Ex function. */ - x_to_w32_font (XSTRING (tpat)->data, &ef.logfont); + x_to_w32_font (SDATA (tpat), &ef.logfont); { LOGFONT font_match_pattern; HMODULE gdi32 = GetModuleHandle ("gdi32.dll"); @@ -7492,7 +7492,7 @@ HDC hdc; HANDLE oldobj; - if (!x_to_w32_font (XSTRING (XCAR (tem))->data, &lf)) + if (!x_to_w32_font (SDATA (XCAR (tem)), &lf)) continue; BLOCK_INPUT; @@ -7639,7 +7639,7 @@ for ( ; CONSP(filelist); filelist = XCDR (filelist)) { Lisp_Object filename = XCAR (filelist); - if (w32_BDF_to_x_font (XSTRING (filename)->data, fontname, 100)) + if (w32_BDF_to_x_font (SDATA (filename), fontname, 100)) store_in_alist (&list, build_string (fontname), filename); } return list; @@ -7684,7 +7684,7 @@ CHECK_STRING (color); - if (w32_defined_color (f, XSTRING (color)->data, &foo, 0)) + if (w32_defined_color (f, SDATA (color), &foo, 0)) return Qt; else return Qnil; @@ -7700,7 +7700,7 @@ CHECK_STRING (color); - if (w32_defined_color (f, XSTRING (color)->data, &foo, 0)) + if (w32_defined_color (f, SDATA (color), &foo, 0)) { Lisp_Object rgb[3]; @@ -8031,10 +8031,10 @@ validate_x_resource_name (); dpyinfo = w32_term_init (name, (unsigned char *)0, - (char *) XSTRING (Vx_resource_name)->data); + (char *) SDATA (Vx_resource_name)); if (dpyinfo == 0) - error ("Cannot connect to server %s", XSTRING (name)->data); + error ("Cannot connect to server %s", SDATA (name)); w32_in_use = 1; XSETFASTINT (Vwindow_system_version, 3); @@ -8089,7 +8089,7 @@ Vw32_color_map = Fw32_default_color_map (); if (! NILP (xrm_string)) - xrm_option = (unsigned char *) XSTRING (xrm_string)->data; + xrm_option = (unsigned char *) SDATA (xrm_string); else xrm_option = (unsigned char *) 0; @@ -8098,7 +8098,7 @@ { char basename[ MAX_PATH ], *str; - strcpy (basename, XSTRING (Vinvocation_name)->data); + strcpy (basename, SDATA (Vinvocation_name)); str = strrchr (basename, '.'); if (str) *str = 0; Vinvocation_name = build_string (basename); @@ -8110,15 +8110,15 @@ /* 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 *) XSTRING (Vx_resource_name)->data); + (char *) SDATA (Vx_resource_name)); if (dpyinfo == 0) { if (!NILP (must_succeed)) fatal ("Cannot connect to server %s.\n", - XSTRING (display)->data); + SDATA (display)); else - error ("Cannot connect to server %s", XSTRING (display)->data); + error ("Cannot connect to server %s", SDATA (display)); } w32_in_use = 1; @@ -8402,7 +8402,7 @@ /* Find key in KEYWORDS. Error if not found. */ for (i = 0; i < nkeywords; ++i) - if (strcmp (keywords[i].name, XSTRING (SYMBOL_NAME (key))->data) == 0) + if (strcmp (keywords[i].name, SDATA (SYMBOL_NAME (key))) == 0) break; if (i == nkeywords) @@ -8916,7 +8916,7 @@ xassert (STRINGP (color_name)); - if (w32_defined_color (f, XSTRING (color_name)->data, &color, 1)) + if (w32_defined_color (f, SDATA (color_name), &color, 1)) { /* This isn't called frequently so we get away with simply reallocating the color vector to the needed size, here. */ @@ -9694,7 +9694,7 @@ if (STRINGP (elt)) { - if (XSTRING (elt)->size + if (SCHARS (elt) < (width + BITS_PER_CHAR - 1) / BITS_PER_CHAR) return 0; } @@ -9709,7 +9709,7 @@ } else if (STRINGP (data)) { - if (XSTRING (data)->size + if (SCHARS (data) < (width + BITS_PER_CHAR - 1) / BITS_PER_CHAR * height) return 0; } @@ -10073,9 +10073,9 @@ { int w, h; return (STRINGP (data) - && xbm_read_bitmap_data (XSTRING (data)->data, - (XSTRING (data)->data - + STRING_BYTES (XSTRING (data))), + && xbm_read_bitmap_data (SDATA (data), + (SDATA (data) + + SBYTES (data)), &w, &h, NULL)); } @@ -10111,7 +10111,7 @@ return 0; } - contents = slurp_file (XSTRING (file)->data, &size); + contents = slurp_file (SDATA (file), &size); if (contents == NULL) { image_error ("Error loading XBM image `%s'", img->spec, Qnil); @@ -10161,9 +10161,9 @@ background); if (in_memory_file_p) - success_p = xbm_load_image (f, img, XSTRING (data)->data, - (XSTRING (data)->data - + STRING_BYTES (XSTRING (data)))); + success_p = xbm_load_image (f, img, SDATA (data), + (SDATA (data) + + SBYTES (data))); else { if (VECTORP (data)) @@ -10177,13 +10177,13 @@ { Lisp_Object line = XVECTOR (data)->contents[i]; if (STRINGP (line)) - bcopy (XSTRING (line)->data, p, nbytes); + bcopy (SDATA (line), p, nbytes); else bcopy (XBOOL_VECTOR (line)->data, p, nbytes); } } else if (STRINGP (data)) - bits = XSTRING (data)->data; + bits = SDATA (data); else bits = XBOOL_VECTOR (data)->data; @@ -10372,10 +10372,10 @@ { Lisp_Object name = XCAR (XCAR (tail)); Lisp_Object color = XCDR (XCAR (tail)); - xpm_syms[i].name = (char *) alloca (XSTRING (name)->size + 1); - strcpy (xpm_syms[i].name, XSTRING (name)->data); - xpm_syms[i].value = (char *) alloca (XSTRING (color)->size + 1); - strcpy (xpm_syms[i].value, XSTRING (color)->data); + xpm_syms[i].name = (char *) alloca (SCHARS (name) + 1); + strcpy (xpm_syms[i].name, SDATA (name)); + xpm_syms[i].value = (char *) alloca (SCHARS (color) + 1); + strcpy (xpm_syms[i].value, SDATA (color)); } } @@ -10394,14 +10394,14 @@ } rc = XpmReadFileToPixmap (NULL, FRAME_W32_WINDOW (f), - XSTRING (file)->data, &img->pixmap, &img->mask, + SDATA (file), &img->pixmap, &img->mask, &attrs); } else { Lisp_Object buffer = image_spec_value (img->spec, QCdata, NULL); rc = XpmCreatePixmapFromBuffer (NULL, FRAME_W32_WINDOW (f), - XSTRING (buffer)->data, + SDATA (buffer), &img->pixmap, &img->mask, &attrs); } @@ -11218,8 +11218,8 @@ char *buf = NULL; struct stat st; - if (stat (XSTRING (file)->data, &st) == 0 - && (fp = fopen (XSTRING (file)->data, "r")) != NULL + if (stat (SDATA (file), &st) == 0 + && (fp = fopen (SDATA (file), "r")) != NULL && (buf = (char *) xmalloc (st.st_size), fread (buf, 1, st.st_size, fp) == st.st_size)) { @@ -11272,7 +11272,7 @@ return 0; } - contents = slurp_file (XSTRING (file)->data, &size); + contents = slurp_file (SDATA (file), &size); if (contents == NULL) { image_error ("Error reading `%s'", file, Qnil); @@ -11287,8 +11287,8 @@ { Lisp_Object data; data = image_spec_value (img->spec, QCdata, NULL); - p = XSTRING (data)->data; - end = p + STRING_BYTES (XSTRING (data)); + p = SDATA (data); + end = p + SBYTES (data); } /* Check magic number. */ @@ -11644,7 +11644,7 @@ } /* Open the image file. */ - fp = fopen (XSTRING (file)->data, "rb"); + fp = fopen (SDATA (file), "rb"); if (!fp) { image_error ("Cannot open image file `%s'", file, Qnil); @@ -11666,8 +11666,8 @@ else { /* Read from memory. */ - tbr.bytes = XSTRING (specified_data)->data; - tbr.len = STRING_BYTES (XSTRING (specified_data)); + tbr.bytes = SDATA (specified_data); + tbr.len = SBYTES (specified_data); tbr.index = 0; /* Check PNG signature. */ @@ -11793,7 +11793,7 @@ /* The user specified `:background', use that. */ { COLORREF color; - if (w32_defined_color (f, XSTRING (specified_bg)->data, &color, 0)) + if (w32_defined_color (f, SDATA (specified_bg), &color, 0)) { png_color_16 user_bg; @@ -12213,7 +12213,7 @@ return 0; } - fp = fopen (XSTRING (file)->data, "r"); + fp = fopen (SDATA (file), "r"); if (fp == NULL) { image_error ("Cannot open `%s'", file, Qnil); @@ -12260,8 +12260,8 @@ if (NILP (specified_data)) jpeg_stdio_src (&cinfo, fp); else - jpeg_memory_src (&cinfo, XSTRING (specified_data)->data, - STRING_BYTES (XSTRING (specified_data))); + jpeg_memory_src (&cinfo, SDATA (specified_data), + SBYTES (specified_data)); jpeg_read_header (&cinfo, TRUE); @@ -12604,7 +12604,7 @@ } /* Try to open the image file. */ - tiff = TIFFOpen (XSTRING (file)->data, "r"); + tiff = TIFFOpen (SDATA (file), "r"); if (tiff == NULL) { image_error ("Cannot open `%s'", file, Qnil); @@ -12615,8 +12615,8 @@ else { /* Memory source! */ - memsrc.bytes = XSTRING (specified_data)->data; - memsrc.len = STRING_BYTES (XSTRING (specified_data)); + memsrc.bytes = SDATA (specified_data); + memsrc.len = SBYTES (specified_data); memsrc.index = 0; tiff = TIFFClientOpen ("memory_source", "r", &memsrc, @@ -12852,7 +12852,7 @@ } /* Open the GIF file. */ - gif = DGifOpenFileName (XSTRING (file)->data); + gif = DGifOpenFileName (SDATA (file)); if (gif == NULL) { image_error ("Cannot open `%s'", file, Qnil); @@ -12864,8 +12864,8 @@ { /* Read from memory! */ current_gif_memory_src = &memsrc; - memsrc.bytes = XSTRING (specified_data)->data; - memsrc.len = STRING_BYTES (XSTRING (specified_data)); + memsrc.bytes = SDATA (specified_data); + memsrc.len = SBYTES (specified_data); memsrc.index = 0; gif = DGifOpen(&memsrc, gif_read_from_memory); @@ -13323,10 +13323,10 @@ CHECK_STRING (value); BLOCK_INPUT; - prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), XSTRING (prop)->data, False); + prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), SDATA (prop), False); XChangeProperty (FRAME_W32_DISPLAY (f), FRAME_W32_WINDOW (f), prop_atom, XA_STRING, 8, PropModeReplace, - XSTRING (value)->data, XSTRING (value)->size); + SDATA (value), SCHARS (value)); /* Make sure the property is set when we return. */ XFlush (FRAME_W32_DISPLAY (f)); @@ -13352,7 +13352,7 @@ CHECK_STRING (prop); BLOCK_INPUT; - prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), XSTRING (prop)->data, False); + prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), SDATA (prop), False); XDeleteProperty (FRAME_W32_DISPLAY (f), FRAME_W32_WINDOW (f), prop_atom); /* Make sure the property is removed when we return. */ @@ -13386,7 +13386,7 @@ CHECK_STRING (prop); BLOCK_INPUT; - prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), XSTRING (prop)->data, False); + prop_atom = XInternAtom (FRAME_W32_DISPLAY (f), SDATA (prop), False); rc = XGetWindowProperty (FRAME_W32_DISPLAY (f), FRAME_W32_WINDOW (f), prop_atom, 0, 0, False, XA_STRING, &actual_type, &actual_format, &actual_size, @@ -13753,9 +13753,9 @@ { tem = Fquery_fontset (font, Qnil); if (STRINGP (tem)) - font = x_new_fontset (f, XSTRING (tem)->data); + font = x_new_fontset (f, SDATA (tem)); else - font = x_new_font (f, XSTRING (font)->data); + font = x_new_font (f, SDATA (font)); } /* Try out a font which we hope has bold and italic variations. */ @@ -14313,14 +14313,14 @@ /* Create the dialog with PROMPT as title, using DIR as initial directory and using "*" as pattern. */ dir = Fexpand_file_name (dir, Qnil); - strncpy (init_dir, XSTRING (dir)->data, MAX_PATH); + strncpy (init_dir, SDATA (dir), MAX_PATH); init_dir[MAX_PATH] = '\0'; unixtodos_filename (init_dir); if (STRINGP (default_filename)) { char *file_name_only; - char *full_path_name = XSTRING (default_filename)->data; + char *full_path_name = SDATA (default_filename); unixtodos_filename (full_path_name); @@ -14354,7 +14354,7 @@ file_details.lpstrFile = filename; file_details.nMaxFile = sizeof (filename); file_details.lpstrInitialDir = init_dir; - file_details.lpstrTitle = XSTRING (prompt)->data; + file_details.lpstrTitle = SDATA (prompt); file_details.Flags = (OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_ENABLEHOOK); if (!NILP (mustmatch)) @@ -14507,11 +14507,11 @@ document = ENCODE_FILE (document); if ((int) ShellExecute (NULL, (STRINGP (operation) ? - XSTRING (operation)->data : NULL), - XSTRING (document)->data, + SDATA (operation) : NULL), + SDATA (document), (STRINGP (parameters) ? - XSTRING (parameters)->data : NULL), - XSTRING (current_dir)->data, + SDATA (parameters) : NULL), + SDATA (current_dir), (INTEGERP (show_flag) ? XINT (show_flag) : SW_SHOWDEFAULT)) > 32) @@ -14573,7 +14573,7 @@ c = Fcar (c); if (!SYMBOLP (c)) abort (); - vk_code = lookup_vk_code (XSTRING (SYMBOL_NAME (c))->data); + vk_code = lookup_vk_code (SDATA (SYMBOL_NAME (c))); } else if (INTEGERP (c)) { @@ -14777,7 +14777,7 @@ /* On Windows, we may need to specify the root directory of the volume holding FILENAME. */ char rootname[MAX_PATH]; - char *name = XSTRING (encoded)->data; + char *name = SDATA (encoded); /* find the root name of the volume if given */ if (isalpha (name[0]) && name[1] == ':')