aboutsummaryrefslogtreecommitdiffstats
path: root/src/lread.c
diff options
context:
space:
mode:
authorPaul Eggert2017-05-16 10:24:19 -0700
committerPaul Eggert2017-05-16 10:27:41 -0700
commit2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f (patch)
tree869b2d36a6a07dca857254202d620358c004489f /src/lread.c
parent138c8256f41f242341c7d146c99f4e6fa267a638 (diff)
downloademacs-2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f.tar.gz
emacs-2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f.zip
Merge with gnulib, pacifying GCC 7
This incorporates: 2017-05-16 manywarnings: update for GCC 7 2017-05-15 sys_select: Avoid "was expanded before it was required" * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and -Wformat-overflow=2 options, due to too many false alarms. * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4: Copy from gnulib. * m4/gnulib-comp.m4: Regenerate. * src/coding.c (decode_coding_iso_2022): Fix bug uncovered by -Wimplicit-fallthrough. * src/conf_post.h (FALLTHROUGH): New macro. Use it to mark all switch cases that fall through. * src/editfns.c (styled_format): Use !, not ~, on bool. * src/gtkutil.c (xg_check_special_colors): When using sprintf, don’t trust Gtk to output colors in [0, 1] range. (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool; this bug was actually caught by Clang. * src/search.c (boyer_moore): Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character. * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Tell GCC that glyph->u.glyphless.ch must be a character.
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lread.c b/src/lread.c
index c03aad4f722..5e737d690c6 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2309,6 +2309,7 @@ read_escape (Lisp_Object readcharfun, bool stringp)
2309 c = READCHAR; 2309 c = READCHAR;
2310 if (c != '-') 2310 if (c != '-')
2311 error ("Invalid escape character syntax"); 2311 error ("Invalid escape character syntax");
2312 FALLTHROUGH;
2312 case '^': 2313 case '^':
2313 c = READCHAR; 2314 c = READCHAR;
2314 if (c == '\\') 2315 if (c == '\\')
@@ -2399,6 +2400,7 @@ read_escape (Lisp_Object readcharfun, bool stringp)
2399 case 'U': 2400 case 'U':
2400 /* Post-Unicode-2.0: Up to eight hex chars. */ 2401 /* Post-Unicode-2.0: Up to eight hex chars. */
2401 unicode_hex_count = 8; 2402 unicode_hex_count = 8;
2403 FALLTHROUGH;
2402 case 'u': 2404 case 'u':
2403 2405
2404 /* A Unicode escape. We only permit them in strings and characters, 2406 /* A Unicode escape. We only permit them in strings and characters,
@@ -3278,11 +3280,11 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
3278 *pch = c; 3280 *pch = c;
3279 return Qnil; 3281 return Qnil;
3280 } 3282 }
3281
3282 /* Otherwise, we fall through! Note that the atom-reading loop
3283 below will now loop at least once, assuring that we will not
3284 try to UNREAD two characters in a row. */
3285 } 3283 }
3284 /* The atom-reading loop below will now loop at least once,
3285 assuring that we will not try to UNREAD two characters in a
3286 row. */
3287 FALLTHROUGH;
3286 default: 3288 default:
3287 default_label: 3289 default_label:
3288 if (c <= 040) goto retry; 3290 if (c <= 040) goto retry;