nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit bc5c7c3b748897e1ce07c9129e52fb1497c0d257
parent 3aea69daae6d33b4e59cd61216206867b1e85343
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Sat,  1 Mar 2014 10:20:57 +0000

Not writing to stderr on magic errors, patch mostly by Mike Frysinger.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4629 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 9+++++++++
Msrc/color.c | 13++++++-------
2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,12 @@ +2014-03-01 Mike Frysinger <vapier@gentoo.org> + * src/color.c (color_update) - Do not write to stderr on magic + errors. If the magic db has errors such that magic_load() fails, + the current code dumps to stderr which messes up the terminal. + The error message is also vague to the point where it's confusing + -- I thought nano had problems writing to the file I was editing. + Instead, use statusbar() and clarify the messages. + (Patch tweaked by Benno.) + 2014-02-28 Benno Schulenberg <bensberg@justemail.net> * src/text.c (execute_command) - Equalize pipe error messages. * src/global.c (thanks_for_all_the_fish) - Remove a redundant diff --git a/src/color.c b/src/color.c @@ -160,24 +160,23 @@ void color_update(void) } #ifdef HAVE_LIBMAGIC - - if (strcmp(openfile->filename,"") && stat(openfile->filename, &fileinfo) == 0) { + if (stat(openfile->filename, &fileinfo) == 0) { m = magic_open(MAGIC_SYMLINK | #ifdef DEBUG MAGIC_DEBUG | MAGIC_CHECK | -#endif /* DEBUG */ +#endif MAGIC_ERROR); if (m == NULL || magic_load(m, NULL) < 0) - fprintf(stderr, "something went wrong: %s [%s]\n", strerror(errno), openfile->filename); + statusbar(_("magic_load() failed: %s"), strerror(errno)); else { magicstring = magic_file(m,openfile->filename); if (magicstring == NULL) { magicerr = magic_error(m); - fprintf(stderr, "something went wrong: %s [%s]\n", magicerr, openfile->filename); + statusbar(_("magic_file(%s) failed: %s"), openfile->filename, magicerr); } #ifdef DEBUG - fprintf(stderr, "magic string returned: %s\n", magicstring); -#endif /* DEBUG */ + fprintf(stderr, "magic string returned: %s\n", magicstring); +#endif } } #endif /* HAVE_LIBMAGIC */