diff --git a/ChangeLog b/ChangeLog index 083e1ec8ec1c51109a9642f0a532101e9b82763b..f2ed319d5588c81c3730cc7e7141d620d5227ebf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,7 +13,7 @@ CVS code - New functions mbstrpbrk() and mbrevstrpbrk(); changes to find_statusbar_bracket_match(), do_statusbar_find_bracket(), find_bracket_match(), do_find_bracket(), main(), - nanorc.5, and nanorc.sample. (DLR) + parse_rcfile(), nanorc.5, and nanorc.sample. (DLR) - chars.c: mbstrchr() - Make parameter c const. (DLR) diff --git a/src/chars.c b/src/chars.c index 340b682798ce11b26e3c63bcf832f66d2671fb2b..bfdaaf62ec43d0e73ca4e0921cdb0276ad6a330d 100644 --- a/src/chars.c +++ b/src/chars.c @@ -927,7 +927,7 @@ char *mbrevstrpbrk(const char *s, const char *accept, const char } #endif /* !NANO_TINY */ -#if !defined(DISABLE_JUSTIFY) && defined(ENABLE_NANORC) +#if defined(ENABLE_NANORC) && (!defined(NANO_TINY) || !defined(DISABLE_JUSTIFY)) /* Return TRUE if the string s contains one or more blank characters, * and FALSE otherwise. */ bool has_blank_chars(const char *s) @@ -973,7 +973,7 @@ bool has_blank_mbchars(const char *s) #endif return has_blank_chars(s); } -#endif /* !DISABLE_JUSTIFY && ENABLE_NANORC */ +#endif /* ENABLE_NANORC && (!NANO_TINY || !DISABLE_JUSTIFY) */ #ifdef ENABLE_UTF8 /* Return TRUE if wc is valid Unicode, and FALSE otherwise. */ diff --git a/src/proto.h b/src/proto.h index f93d56f2f6c84dc2ca1f9e541bd930fbe79bb78b..a96ea17f2363048c56cf13569f49df29ec068210 100644 --- a/src/proto.h +++ b/src/proto.h @@ -210,7 +210,7 @@ char *revstrpbrk(const char *s, const char *accept, const char char *mbrevstrpbrk(const char *s, const char *accept, const char *rev_start); #endif -#if !defined(DISABLE_JUSTIFY) && defined(ENABLE_NANORC) +#if defined(ENABLE_NANORC) && (!defined(NANO_TINY) || !defined(DISABLE_JUSTIFY)) bool has_blank_chars(const char *s); bool has_blank_mbchars(const char *s); #endif diff --git a/src/rcfile.c b/src/rcfile.c index 7d56909bac172c65b9a3c1cf43f8ef6b65e3c0f1..120fee9eb7e2a4aacd3057e1b9a34a30c3697ca9 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -647,7 +647,17 @@ void parse_rcfile(FILE *rcstream) } else #endif #ifndef NANO_TINY - if (strcasecmp(rcopts[i].name, "whitespace") == 0) { + if (strcasecmp(rcopts[i].name, + "matchbrackets") == 0) { + matchbrackets = option; + if (has_blank_mbchars(matchbrackets)) { + rcfile_error( + N_("Non-blank characters required")); + free(matchbrackets); + matchbrackets = NULL; + } + } else if (strcasecmp(rcopts[i].name, + "whitespace") == 0) { whitespace = option; if (mbstrlen(whitespace) != 2 || strlenpt(whitespace) != 2) {