it cannot find the Windows installation file. If this file does
not exist in the expected place, tell the user. */
- if (!noninteractive && !inhibit_window_system) {
- extern Lisp_Object Vwindow_system, Vload_path;
- Lisp_Object init_file;
- int fd;
-
- init_file = build_string ("term/w32-win");
- fd = openp (Vload_path, init_file, ".el:.elc", NULL, 0);
- if (fd < 0) {
- Lisp_Object load_path_print = Fprin1_to_string (Vload_path, Qnil);
- char *init_file_name = XSTRING (init_file)->data;
- char *load_path = XSTRING (load_path_print)->data;
- char *buffer = alloca (1024);
-
- sprintf (buffer,
- "The Emacs Windows initialization file \"%s.el\" "
- "could not be found in your Emacs installation. "
- "Emacs checked the following directories for this file:\n"
- "\n%s\n\n"
- "When Emacs cannot find this file, it usually means that it "
- "was not installed properly, or its distribution file was "
- "not unpacked properly.\nSee the README.W32 file in the "
- "top-level Emacs directory for more information.",
- init_file_name, load_path);
- MessageBox (NULL,
- buffer,
- "Emacs Abort Dialog",
- MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
- close (fd);
+ if (!noninteractive && !inhibit_window_system)
+ {
+ extern Lisp_Object Vwindow_system, Vload_path, Qfile_exists_p;
+ Lisp_Object init_file;
+ int fd;
+ init_file = build_string ("term/w32-win");
+ fd = openp (Vload_path, init_file, ".el:.elc", NULL, 0);
+ if (fd < 0)
+ {
+ Lisp_Object load_path_print = Fprin1_to_string (Vload_path, Qnil);
+ char *init_file_name = XSTRING (init_file)->data;
+ char *load_path = XSTRING (load_path_print)->data;
+ char *buffer = alloca (1024);
+
+ sprintf (buffer,
+ "The Emacs Windows initialization file \"%s.el\" "
+ "could not be found in your Emacs installation. "
+ "Emacs checked the following directories for this file:\n"
+ "\n%s\n\n"
+ "When Emacs cannot find this file, it usually means that it "
+ "was not installed properly, or its distribution file was "
+ "not unpacked properly.\nSee the README.W32 file in the "
+ "top-level Emacs directory for more information.",
+ init_file_name, load_path);
+ MessageBox (NULL,
+ buffer,
+ "Emacs Abort Dialog",
+ MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
/* Use the low-level Emacs abort. */
#undef abort
- abort ();
+ abort ();
+ }
+ else
+ {
+ close (fd);
+ }
}
- }
}
void
/* shutdown the socket interface if necessary */
term_winsock ();
#endif
-
- /* Check whether we are shutting down because we cannot find the
- Windows initialization file. Do this during shutdown so that
- Emacs is initialized as possible, and so that it is out of the
- critical startup path. */
- check_windows_init_file ();
}
void
(*drive)++;
}
}
+
+ /* Check to see if Emacs has been installed correctly. */
+ check_windows_init_file ();
}
/* end of nt.c */