+2009-02-11 Chris Allegretta <chrisa@asty.org>
+ * nanorc.c (parse_include): Do call real_dir_from_tilde() on included
+ files in .nanorc, but still avoiding bug #25297. Fixes ~ and ~user
+ specifications for nanorc include files, as reported by Eitan Adler.
+
2009-02-09 Chris Allegretta <chrisa@asty.org>
* New option -q, --quiet, rcfile option "quiet" implemented. Skips printing
errors about the rcfile and asking user to press enter. Also, nano should
{
struct stat rcinfo;
FILE *rcstream;
- char *option, *nanorc_save = nanorc;
+ char *option, *nanorc_save = nanorc, *expanded;
size_t lineno_save = lineno;
option = ptr;
}
}
+ expanded = real_dir_from_tilde(option);
+
/* Open the new syntax file. */
- if ((rcstream = fopen(option, "rb")) == NULL) {
- rcfile_error(_("Error reading %s: %s"), option,
+ if ((rcstream = fopen(expanded, "rb")) == NULL) {
+ rcfile_error(_("Error reading %s: %s"), expanded,
strerror(errno));
return;
}
/* Use the name and line number position of the new syntax file
* while parsing it, so we can know where any errors in it are. */
- nanorc = option;
+ nanorc = expanded;
lineno = 0;
#ifdef DEBUG
- fprintf(stderr, "Parsing file \"%s\"\n", option);
+ fprintf(stderr, "Parsing file \"%s\" (expanded from \"%s\")\n", expanded, option);
#endif
parse_rcfile(rcstream