commit c0285682e47b018791f20afc11fd08016c1839a5
parent 60da39cdf7f5a268994177ae49b35fd39830be78
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Mon, 16 May 2016 20:57:25 +0200
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.
Diffstat:
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git 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
@@ -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