diff options
| author | Paul Eggert | 2011-09-15 11:11:37 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-09-15 11:11:37 -0700 |
| commit | 7812ba2dea75097980bb6371381385b417479c74 (patch) | |
| tree | a38b0b64682184f3ea6de8aac7b83406fe7a4a6d /src | |
| parent | 4c12272509481fd87428364a102fc1ac73c1e275 (diff) | |
| download | emacs-7812ba2dea75097980bb6371381385b417479c74.tar.gz emacs-7812ba2dea75097980bb6371381385b417479c74.zip | |
* editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/editfns.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b89fe55ec30..15281f47438 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-09-15 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514). | ||
| 4 | Don't mishandle (length (format "%%")) and (format "%4000s%%" ""). | ||
| 5 | |||
| 1 | 2011-09-15 Andreas Schwab <schwab@linux-m68k.org> | 6 | 2011-09-15 Andreas Schwab <schwab@linux-m68k.org> |
| 2 | 7 | ||
| 3 | * editfns.c (Fformat): Correctly handle text properties on "%%". | 8 | * editfns.c (Fformat): Correctly handle text properties on "%%". |
diff --git a/src/editfns.c b/src/editfns.c index fb9ef7a5b9f..3dd58377ada 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3721,11 +3721,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3721 | memset (&discarded[format0 - format_start], 1, format - format0); | 3721 | memset (&discarded[format0 - format_start], 1, format - format0); |
| 3722 | conversion = *format; | 3722 | conversion = *format; |
| 3723 | if (conversion == '%') | 3723 | if (conversion == '%') |
| 3724 | { | 3724 | goto copy_char; |
| 3725 | format0++; | ||
| 3726 | nchars++; | ||
| 3727 | goto copy_char; | ||
| 3728 | } | ||
| 3729 | discarded[format - format_start] = 1; | 3725 | discarded[format - format_start] = 1; |
| 3730 | format++; | 3726 | format++; |
| 3731 | 3727 | ||
| @@ -4142,7 +4138,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 4142 | while (! CHAR_HEAD_P (*format)); | 4138 | while (! CHAR_HEAD_P (*format)); |
| 4143 | 4139 | ||
| 4144 | convbytes = format - src; | 4140 | convbytes = format - src; |
| 4145 | memset (&discarded[format0 + 1 - format_start], 2, convbytes - 1); | 4141 | memset (&discarded[src + 1 - format_start], 2, convbytes - 1); |
| 4146 | } | 4142 | } |
| 4147 | else | 4143 | else |
| 4148 | { | 4144 | { |