diff --git a/ChangeLog b/ChangeLog index 758061fa63b2e2a04c995d4bd5f0e8b75f71c8d1..86b413d8c9c474968a18deaee7e8f1c4a79774f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ --enable-tiny plus --enable-browser. * src/rcfile.c: Tweak some comments and reshuffle some lines. * src/rcfile.c (color_to_short): Elide a variable. + * src/rcfile.c (grab_and_store): First check that there is an + open syntax before checking that it is named "default". 2016-03-10 Benno Schulenberg <bensberg@justemail.net> * src/rcfile.c (grab_and_store): Do not accept 'header" and 'magic' diff --git a/src/rcfile.c b/src/rcfile.c index 87cb186f5b817916a841d7f07074d1f294d1ce39..cdf112e39ab183eadb16de73248263293b99bb4a 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -797,16 +797,16 @@ void grab_and_store(const char *kind, char *ptr, regexlisttype **storage) { regexlisttype *lastthing; - /* The default syntax doesn't take any file matching stuff. */ - if (strcmp(live_syntax->name, "default") == 0 && *ptr != '\0') { + if (!opensyntax) { rcfile_error( - N_("The \"default\" syntax does not accept '%s' regexes"), kind); + N_("A '%s' command requires a preceding 'syntax' command"), kind); return; } - if (!opensyntax) { + /* The default syntax doesn't take any file matching stuff. */ + if (strcmp(live_syntax->name, "default") == 0 && *ptr != '\0') { rcfile_error( - N_("A '%s' command requires a preceding 'syntax' command"), kind); + N_("The \"default\" syntax does not accept '%s' regexes"), kind); return; }