emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/doc.c


From: Ken Raeburn
Subject: [Emacs-diffs] Changes to emacs/src/doc.c
Date: Sun, 14 Jul 2002 20:00:48 -0400

Index: emacs/src/doc.c
diff -c emacs/src/doc.c:1.97 emacs/src/doc.c:1.98
*** emacs/src/doc.c:1.97        Sun May 19 12:10:08 2002
--- emacs/src/doc.c     Sun Jul 14 20:00:36 2002
***************
*** 158,175 ****
    tem = Ffile_name_absolute_p (file);
    if (NILP (tem))
      {
!       minsize = XSTRING (Vdoc_directory)->size;
        /* sizeof ("../etc/") == 8 */
        if (minsize < 8)
        minsize = 8;
!       name = (char *) alloca (minsize + XSTRING (file)->size + 8);
!       strcpy (name, XSTRING (Vdoc_directory)->data);
!       strcat (name, XSTRING (file)->data);
        munge_doc_file_name (name);
      }
    else
      {
!       name = (char *) XSTRING (file)->data;
      }
  
    fd = emacs_open (name, O_RDONLY, 0);
--- 158,175 ----
    tem = Ffile_name_absolute_p (file);
    if (NILP (tem))
      {
!       minsize = SCHARS (Vdoc_directory);
        /* sizeof ("../etc/") == 8 */
        if (minsize < 8)
        minsize = 8;
!       name = (char *) alloca (minsize + SCHARS (file) + 8);
!       strcpy (name, SDATA (Vdoc_directory));
!       strcat (name, SDATA (file));
        munge_doc_file_name (name);
      }
    else
      {
!       name = (char *) SDATA (file);
      }
  
    fd = emacs_open (name, O_RDONLY, 0);
***************
*** 181,187 ****
          /* Preparing to dump; DOC file is probably not installed.
             So check in ../etc. */
          strcpy (name, "../etc/");
!         strcat (name, XSTRING (file)->data);
          munge_doc_file_name (name);
  
          fd = emacs_open (name, O_RDONLY, 0);
--- 181,187 ----
          /* Preparing to dump; DOC file is probably not installed.
             So check in ../etc. */
          strcpy (name, "../etc/");
!         strcat (name, SDATA (file));
          munge_doc_file_name (name);
  
          fd = emacs_open (name, O_RDONLY, 0);
***************
*** 590,606 ****
        (0)
  #endif /* CANNOT_DUMP */
      {
!       name = (char *) alloca (XSTRING (filename)->size + 14);
        strcpy (name, "../etc/");
      }
    else
      {
        CHECK_STRING (Vdoc_directory);
!       name = (char *) alloca (XSTRING (filename)->size
!                         + XSTRING (Vdoc_directory)->size + 1);
!       strcpy (name, XSTRING (Vdoc_directory)->data);
      }
!   strcat (name, XSTRING (filename)->data);    /*** Add this line ***/
  #ifdef VMS
  #ifndef VMS4_4
    /* For VMS versions with limited file name syntax,
--- 590,606 ----
        (0)
  #endif /* CANNOT_DUMP */
      {
!       name = (char *) alloca (SCHARS (filename) + 14);
        strcpy (name, "../etc/");
      }
    else
      {
        CHECK_STRING (Vdoc_directory);
!       name = (char *) alloca (SCHARS (filename)
!                         + SCHARS (Vdoc_directory) + 1);
!       strcpy (name, SDATA (Vdoc_directory));
      }
!   strcat (name, SDATA (filename));    /*** Add this line ***/
  #ifdef VMS
  #ifndef VMS4_4
    /* For VMS versions with limited file name syntax,
***************
*** 722,732 ****
    if (NILP (keymap))
      keymap = Voverriding_local_map;
  
!   bsize = STRING_BYTES (XSTRING (string));
    bufp = buf = (unsigned char *) xmalloc (bsize);
  
!   strp = (unsigned char *) XSTRING (string)->data;
!   while (strp < XSTRING (string)->data + STRING_BYTES (XSTRING (string)))
      {
        if (strp[0] == '\\' && strp[1] == '=')
        {
--- 722,732 ----
    if (NILP (keymap))
      keymap = Voverriding_local_map;
  
!   bsize = SBYTES (string);
    bufp = buf = (unsigned char *) xmalloc (bsize);
  
!   strp = (unsigned char *) SDATA (string);
!   while (strp < SDATA (string) + SBYTES (string))
      {
        if (strp[0] == '\\' && strp[1] == '=')
        {
***************
*** 737,743 ****
          if (multibyte)
            {
              int len;
!             int maxlen = XSTRING (string)->data + STRING_BYTES (XSTRING 
(string)) - strp;
  
              STRING_CHAR_AND_LENGTH (strp, maxlen, len);
              if (len == 1)
--- 737,743 ----
          if (multibyte)
            {
              int len;
!             int maxlen = SDATA (string) + SBYTES (string) - strp;
  
              STRING_CHAR_AND_LENGTH (strp, maxlen, len);
              if (len == 1)
***************
*** 759,768 ****
          changed = 1;
          strp += 2;            /* skip \[ */
          start = strp;
!         start_idx = start - XSTRING (string)->data;
  
!         while ((strp - (unsigned char *) XSTRING (string)->data
!                 < STRING_BYTES (XSTRING (string)))
                 && *strp != ']')
            strp++;
          length_byte = strp - start;
--- 759,768 ----
          changed = 1;
          strp += 2;            /* skip \[ */
          start = strp;
!         start_idx = start - SDATA (string);
  
!         while ((strp - (unsigned char *) SDATA (string)
!                 < SBYTES (string))
                 && *strp != ']')
            strp++;
          length_byte = strp - start;
***************
*** 770,783 ****
          strp++;               /* skip ] */
  
          /* Save STRP in IDX.  */
!         idx = strp - (unsigned char *) XSTRING (string)->data;
          tem = Fintern (make_string (start, length_byte), Qnil);
  
          /* Note the Fwhere_is_internal can GC, so we have to take
             relocation of string contents into account.  */
          tem = Fwhere_is_internal (tem, keymap, Qt, Qnil, Qnil);
!         strp = XSTRING (string)->data + idx;
!         start = XSTRING (string)->data + start_idx;
  
          /* Disregard menu bar bindings; it is positively annoying to
             mention them when there's no menu bar, and it isn't terribly
--- 770,783 ----
          strp++;               /* skip ] */
  
          /* Save STRP in IDX.  */
!         idx = strp - (unsigned char *) SDATA (string);
          tem = Fintern (make_string (start, length_byte), Qnil);
  
          /* Note the Fwhere_is_internal can GC, so we have to take
             relocation of string contents into account.  */
          tem = Fwhere_is_internal (tem, keymap, Qt, Qnil, Qnil);
!         strp = SDATA (string) + idx;
!         start = SDATA (string) + start_idx;
  
          /* Disregard menu bar bindings; it is positively annoying to
             mention them when there's no menu bar, and it isn't terribly
***************
*** 819,828 ****
          changed = 1;
          strp += 2;            /* skip \{ or \< */
          start = strp;
!         start_idx = start - XSTRING (string)->data;
  
!         while ((strp - (unsigned char *) XSTRING (string)->data
!                 < XSTRING (string)->size)
                 && *strp != '}' && *strp != '>')
            strp++;
  
--- 819,828 ----
          changed = 1;
          strp += 2;            /* skip \{ or \< */
          start = strp;
!         start_idx = start - SDATA (string);
  
!         while ((strp - (unsigned char *) SDATA (string)
!                 < SCHARS (string))
                 && *strp != '}' && *strp != '>')
            strp++;
  
***************
*** 830,836 ****
          strp++;                       /* skip } or > */
  
          /* Save STRP in IDX.  */
!         idx = strp - (unsigned char *) XSTRING (string)->data;
  
          /* Get the value of the keymap in TEM, or nil if undefined.
             Do this while still in the user's current buffer
--- 830,836 ----
          strp++;                       /* skip } or > */
  
          /* Save STRP in IDX.  */
!         idx = strp - (unsigned char *) SDATA (string);
  
          /* Get the value of the keymap in TEM, or nil if undefined.
             Do this while still in the user's current buffer
***************
*** 844,851 ****
                {
                  tem = get_keymap (tem, 0, 1);
                  /* Note that get_keymap can GC.  */
!                 strp = XSTRING (string)->data + idx;
!                 start = XSTRING (string)->data + start_idx;
                }
            }
  
--- 844,851 ----
                {
                  tem = get_keymap (tem, 0, 1);
                  /* Note that get_keymap can GC.  */
!                 strp = SDATA (string) + idx;
!                 start = SDATA (string) + start_idx;
                }
            }
  
***************
*** 858,865 ****
              name = Fsymbol_name (name);
              insert_string ("\nUses keymap \"");
              insert_from_string (name, 0, 0,
!                                 XSTRING (name)->size,
!                                 STRING_BYTES (XSTRING (name)), 1);
              insert_string ("\", which is not currently defined.\n");
              if (start[-1] == '<') keymap = Qnil;
            }
--- 858,865 ----
              name = Fsymbol_name (name);
              insert_string ("\nUses keymap \"");
              insert_from_string (name, 0, 0,
!                                 SCHARS (name),
!                                 SBYTES (name), 1);
              insert_string ("\", which is not currently defined.\n");
              if (start[-1] == '<') keymap = Qnil;
            }
***************
*** 872,880 ****
          set_buffer_internal (oldbuf);
  
        subst_string:
!         start = XSTRING (tem)->data;
!         length = XSTRING (tem)->size;
!         length_byte = STRING_BYTES (XSTRING (tem));
        subst:
          {
            int offset = bufp - buf;
--- 872,880 ----
          set_buffer_internal (oldbuf);
  
        subst_string:
!         start = SDATA (tem);
!         length = SCHARS (tem);
!         length_byte = SBYTES (tem);
        subst:
          {
            int offset = bufp - buf;
***************
*** 884,890 ****
            bufp += length_byte;
            nchars += length;
            /* Check STRING again in case gc relocated it.  */
!           strp = (unsigned char *) XSTRING (string)->data + idx;
          }
        }
        else if (! multibyte)           /* just copy other chars */
--- 884,890 ----
            bufp += length_byte;
            nchars += length;
            /* Check STRING again in case gc relocated it.  */
!           strp = (unsigned char *) SDATA (string) + idx;
          }
        }
        else if (! multibyte)           /* just copy other chars */
***************
*** 892,898 ****
        else
        {
          int len;
!         int maxlen = XSTRING (string)->data + STRING_BYTES (XSTRING (string)) 
- strp;
  
          STRING_CHAR_AND_LENGTH (strp, maxlen, len);
          if (len == 1)
--- 892,898 ----
        else
        {
          int len;
!         int maxlen = SDATA (string) + SBYTES (string) - strp;
  
          STRING_CHAR_AND_LENGTH (strp, maxlen, len);
          if (len == 1)



reply via email to

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