From c0285682e47b018791f20afc11fd08016c1839a5 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Mon, 16 May 2016 20:57:25 +0200 Subject: [PATCH] startup: show an error message when argument of --operatingdir is invalid Move the initialization of the operating directory to after the initialization of the screen, so that the above error can be shown. This fixes the first part of https://savannah.gnu.org/bugs/?47798. --- src/files.c | 1 + src/nano.c | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/files.c b/src/files.c index 471420c7..f8af4ec2 100644 --- a/src/files.c +++ b/src/files.c @@ -1591,6 +1591,7 @@ void init_operating_dir(void) /* If get_full_path() failed or the operating directory is * inaccessible, unset operating_dir. */ if (full_operating_dir == NULL || chdir(full_operating_dir) == -1) { + statusline(ALERT, _("Not a valid directory: %s"), operating_dir); free(full_operating_dir); full_operating_dir = NULL; free(operating_dir); diff --git a/src/nano.c b/src/nano.c index f3f3ee6e..68a13568 100644 --- a/src/nano.c +++ b/src/nano.c @@ -2422,12 +2422,6 @@ int main(int argc, char **argv) init_backup_dir(); #endif -#ifndef DISABLE_OPERATINGDIR - /* Set up the operating directory. This entails chdir()ing there, - * so that file reads and writes will be based there. */ - init_operating_dir(); -#endif - #ifndef DISABLE_JUSTIFY /* If punct wasn't specified, set its default value. */ if (punct == NULL) @@ -2559,6 +2553,12 @@ int main(int argc, char **argv) controlright = key_defined(keyvalue); #endif +#ifndef DISABLE_OPERATINGDIR + /* Set up the operating directory. This entails chdir()ing there, + * so that file reads and writes will be based there. */ + init_operating_dir(); +#endif + #ifdef DEBUG fprintf(stderr, "Main: open file\n"); #endif