Commit 3bd9628b authored by David Lawrence Ramsey's avatar David Lawrence Ramsey
Browse files

minor rcfile fixes

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1540 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
No related merge requests found
Showing with 37 additions and 23 deletions
+37 -23
...@@ -61,6 +61,12 @@ CVS code - ...@@ -61,6 +61,12 @@ CVS code -
support, pressing Ctrl-Z to suspend nano at the Linux console support, pressing Ctrl-Z to suspend nano at the Linux console
with keypad(TRUE) generates Ctrl-Z instead of KEY_SUSPEND with keypad(TRUE) generates Ctrl-Z instead of KEY_SUSPEND
(which is what ncurses generates then). (DLR) (which is what ncurses generates then). (DLR)
- rcfile.c:
parse_colors()
- Generate an error if we try to use a bright background color
in a nanorc file. (DLR; found by Brand Huntsman)
- Make sure all rcfile error messages are capitalized, for
consistency. (DLR)
- winio.c: - winio.c:
titlebar() titlebar()
- Fix problem with the available space for a filename on the - Fix problem with the available space for a filename on the
...@@ -82,6 +88,9 @@ CVS code - ...@@ -82,6 +88,9 @@ CVS code -
- nanorc.sample: - nanorc.sample:
- Remove duplicate "historylog" entry, remove "keypad" entry, - Remove duplicate "historylog" entry, remove "keypad" entry,
and add "rebinddelete" entry. (DLR) and add "rebinddelete" entry. (DLR)
- Update the regexes for nanorc files. (Brand Huntsman, slightly
modified by DLR)
- Fix one attempt at a bright background color. (DLR)
- AUTHORS - AUTHORS
- Updated to show 1.2/1.3 maintainers. - Updated to show 1.2/1.3 maintainers.
......
...@@ -193,16 +193,15 @@ ...@@ -193,16 +193,15 @@
# color blue "//.*" # color blue "//.*"
# color blue start="/\*" end="\*/" # color blue start="/\*" end="\*/"
# color brightblue start="/\*\*" end="\*/" # color brightblue start="/\*\*" end="\*/"
# color brightgreen,brightgreen "[ ]+$" # color green,brightgreen "[ ]+$"
## Here is an example for your .nanorc ## Here is an example for your .nanorc
## ##
# syntax "nanorc" "[\.]*nanorc$" # syntax "nanorc" "(\.)?nanorc$"
# color white "^ *(set|unset).*$" # color brightwhite "^ *(set|unset|syntax|color).*$"
# color cyan "^ *(set|unset) (autoindent|backup|const|cut|fill|keypad|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|quotestr|regexp|smooth|speller|suspend|tabsize|tempfile|historylog|view)" # color cyan "^ *(set|unset)([ ]+)(autoindent|backup|const|cut|fill|historylog|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|quotestr|rebinddelete|regexp|smooth|speller|suspend|tabsize|tempfile|view)"
# color brightwhite "^ *syntax [^ ]*" # color green "^ *(set|unset|syntax)\>"
# color brightblue "^ *set\>" "^ *unset\>" "^ *syntax\>" # color yellow "^ *color([ ]+)(bright)?(white|black|red|blue|green|yellow|magenta|cyan)(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
# color white "^ *color\>.*" # color magenta "^ *color\>" "\<(start|end)="
# color yellow "^ *color (bright)?(white|black|red|blue|green|yellow|magenta|cyan)\>" # color white "\"(\\.|[^\"])*\""
# color magenta "^ *color\>" # color blue "^ *#.*$"
# color green "^#.*$"
...@@ -170,7 +170,7 @@ char *parse_argument(char *ptr) ...@@ -170,7 +170,7 @@ char *parse_argument(char *ptr)
ptr = NULL; ptr = NULL;
else else
*ptr++ = '\0'; *ptr++ = '\0';
rcfile_error(_("argument %s has unterminated \""), ptr_bak); rcfile_error(_("Argument %s has unterminated \""), ptr_bak);
} else { } else {
*last_quote = '\0'; *last_quote = '\0';
ptr = last_quote + 1; ptr = last_quote + 1;
...@@ -212,11 +212,11 @@ int colortoint(const char *colorname, int *bright) ...@@ -212,11 +212,11 @@ int colortoint(const char *colorname, int *bright)
else if (!strcasecmp(colorname, "black")) else if (!strcasecmp(colorname, "black"))
mcolor = COLOR_BLACK; mcolor = COLOR_BLACK;
else { else {
rcfile_error(_("color %s not understood.\n" rcfile_error(_("Color %s not understood.\n"
"Valid colors are \"green\", \"red\", \"blue\", \n" "Valid colors are \"green\", \"red\", \"blue\", \n"
"\"white\", \"yellow\", \"cyan\", \"magenta\" and \n" "\"white\", \"yellow\", \"cyan\", \"magenta\" and \n"
"\"black\", with the optional prefix \"bright\".\n"), "\"black\", with the optional prefix \"bright\" \n"
colorname); "for foreground colors.\n"), colorname);
mcolor = -1; mcolor = -1;
} }
return mcolor; return mcolor;
...@@ -271,7 +271,7 @@ void parse_syntax(char *ptr) ...@@ -271,7 +271,7 @@ void parse_syntax(char *ptr)
return; return;
if (*ptr != '"') { if (*ptr != '"') {
rcfile_error(_("regex strings must begin and end with a \" character\n")); rcfile_error(_("Regex strings must begin and end with a \" character\n"));
return; return;
} }
ptr++; ptr++;
...@@ -354,8 +354,14 @@ void parse_colors(char *ptr) ...@@ -354,8 +354,14 @@ void parse_colors(char *ptr)
} }
if (strstr(fgstr, ",")) { if (strstr(fgstr, ",")) {
char *bgcolorname;
strtok(fgstr, ","); strtok(fgstr, ",");
bg = colortoint(strtok(NULL, ","), &bright); bgcolorname = strtok(NULL, ",");
if (!strncasecmp(bgcolorname, "bright", 6)) {
rcfile_error(_("Background color %s cannot be bright"), bgcolorname);
return;
}
bg = colortoint(bgcolorname, &bright);
} else } else
bg = -1; bg = -1;
...@@ -395,7 +401,7 @@ void parse_colors(char *ptr) ...@@ -395,7 +401,7 @@ void parse_colors(char *ptr)
} }
if (*ptr != '"') { if (*ptr != '"') {
rcfile_error(_("regex strings must begin and end with a \" character\n")); rcfile_error(_("Regex strings must begin and end with a \" character\n"));
ptr = parse_next_regex(ptr); ptr = parse_next_regex(ptr);
continue; continue;
} }
...@@ -442,7 +448,7 @@ void parse_colors(char *ptr) ...@@ -442,7 +448,7 @@ void parse_colors(char *ptr)
if (*ptr != '"') { if (*ptr != '"') {
rcfile_error(_ rcfile_error(_
("regex strings must begin and end with a \" character\n")); ("Regex strings must begin and end with a \" character\n"));
continue; continue;
} }
ptr++; ptr++;
...@@ -538,7 +544,7 @@ void parse_rcfile(FILE *rcstream) ...@@ -538,7 +544,7 @@ void parse_rcfile(FILE *rcstream)
) { ) {
if (*ptr == '\n' || *ptr == '\0') { if (*ptr == '\n' || *ptr == '\0') {
rcfile_error(_ rcfile_error(_
("option %s requires an argument"), ("Option %s requires an argument"),
rcopts[i].name); rcopts[i].name);
continue; continue;
} }
...@@ -563,7 +569,7 @@ void parse_rcfile(FILE *rcstream) ...@@ -563,7 +569,7 @@ void parse_rcfile(FILE *rcstream)
* errors. */ * errors. */
j = (int)strtol(option, &first_error, 10); j = (int)strtol(option, &first_error, 10);
if (errno == ERANGE || *option == '\0' || *first_error != '\0') if (errno == ERANGE || *option == '\0' || *first_error != '\0')
rcfile_error(_("requested fill size %d invalid"), rcfile_error(_("Requested fill size %d invalid"),
j); j);
else else
wrap_at = j; wrap_at = j;
...@@ -587,7 +593,7 @@ void parse_rcfile(FILE *rcstream) ...@@ -587,7 +593,7 @@ void parse_rcfile(FILE *rcstream)
* errors. */ * errors. */
j = (int)strtol(option, &first_error, 10); j = (int)strtol(option, &first_error, 10);
if (errno == ERANGE || *option == '\0' || *first_error != '\0') if (errno == ERANGE || *option == '\0' || *first_error != '\0')
rcfile_error(_("requested tab size %d invalid"), rcfile_error(_("Requested tab size %d invalid"),
j); j);
else else
tabsize = j; tabsize = j;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment