]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fformat): Don't extend text properties from arguments
authorGerd Moellmann <gerd@gnu.org>
Mon, 22 Jan 2001 13:10:49 +0000 (13:10 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 22 Jan 2001 13:10:49 +0000 (13:10 +0000)
to padding chars in the result.

src/ChangeLog
src/editfns.c

index 3444e89b63ef1ba4e641246e56fc15d09fc972df..f85dd0e7602dfe3f2029f3eefdadf74e05fef644 100644 (file)
@@ -1,3 +1,8 @@
+2001-01-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (Fformat): Don't extend text properties from arguments
+       to padding chars in the result.
+
 2001-01-20  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
index 1871c54d2b7044a2a922ff411809add4198c34a7..590d177133846dbf8c1c2eab79b8e15028fd9245 100644 (file)
@@ -3310,9 +3310,8 @@ Use %% to put a single % into the output.")
 
          if (STRINGP (args[n]))
            {
-             int padding, nbytes;
+             int padding, nbytes, start, end;
              int width = lisp_string_width (args[n], -1, NULL, NULL);
-             int start = nchars;
 
              /* If spec requires it, pad on right with spaces.  */
              padding = minlen - width;
@@ -3320,9 +3319,11 @@ Use %% to put a single % into the output.")
                while (padding-- > 0)
                  {
                    *p++ = ' ';
-                   nchars++;
+                   ++nchars;
                  }
 
+             start = nchars;
+             
              if (p > buf
                  && multibyte
                  && !ASCII_BYTE_P (*((unsigned char *) p - 1))
@@ -3334,6 +3335,7 @@ Use %% to put a single % into the output.")
                                  STRING_MULTIBYTE (args[n]), multibyte);
              p += nbytes;
              nchars += XSTRING (args[n])->size;
+             end = nchars;
 
              if (negative)
                while (padding-- > 0)
@@ -3354,7 +3356,7 @@ Use %% to put a single % into the output.")
                    }
 
                  info[n].start = start;
-                 info[n].end = nchars;
+                 info[n].end = end;
                }
            }
          else if (INTEGERP (args[n]) || FLOATP (args[n]))