#define max(a, b) ((a) > (b) ? (a) : (b))
-Lisp_Object Vexec_path, Vexec_directory;
+Lisp_Object Vexec_path, Vexec_directory, Vdata_directory;
Lisp_Object Vshell_file_name;
{
register char * sh;
register char **envp;
- Lisp_Object execdir;
+ Lisp_Object tempdir;
+
+ Vdata_directory = Ffile_name_as_directory (build_string (PATH_DATA));
/* Turn PATH_EXEC into a path. `==' is just a string which we know
will not be the name of an environment variable. */
Vexec_directory = Ffile_name_as_directory (Fcar (Vexec_path));
Vexec_path = nconc2 (decode_env_path ("PATH", ""), Vexec_path);
- execdir = Fdirectory_file_name (Vexec_directory);
- if (access (XSTRING (execdir)->data, 0) < 0)
+ tempdir = Fdirectory_file_name (Vexec_directory);
+ if (access (XSTRING (tempdir)->data, 0) < 0)
{
- printf ("Warning: executable/documentation dir (%s) does not exist.\n",
+ printf ("Warning: arch-dependent data dir (%s) does not exist.\n",
XSTRING (Vexec_directory)->data);
sleep (2);
}
+ tempdir = Fdirectory_file_name (Vdata_directory);
+ if (access (XSTRING (tempdir)->data, 0) < 0)
+ {
+ printf ("Warning: arch-independent data dir (%s) does not exist.\n",
+ XSTRING (Vdata_directory)->data);
+ sleep (2);
+ }
+
#ifdef VMS
Vshell_file_name = build_string ("*dcl*");
#else
Each element is a string (directory name) or nil (try default directory).");
DEFVAR_LISP ("exec-directory", &Vexec_directory,
- "Directory that holds programs that come with GNU Emacs,\n\
-intended for Emacs to invoke.");
+ "Directory of architecture-dependent files that come with GNU Emacs,\n\
+especially executable programs intended for Emacs to invoke.");
+
+ DEFVAR_LISP ("data-directory", &Vdata_directory,
+ "Directory of architecture-independent files that come with GNU Emacs,\n\
+intended for Emacs to use.");
#ifndef MAINTAIN_ENVIRONMENT
DEFVAR_LISP ("process-environment", &Vprocess_environment,
extern Lisp_Object Fcons (), Flist(), Fmake_list ();
extern Lisp_Object Fmake_vector (), Fvector (), Fmake_symbol (), Fmake_marker ();
extern Lisp_Object Fmake_string (), build_string (), make_string ();
-extern Lisp_Object make_uninit_string ();
+extern Lisp_Object make_array (), make_uninit_string ();
extern Lisp_Object Fpurecopy (), make_pure_string ();
extern Lisp_Object pure_cons (), make_pure_vector ();
extern Lisp_Object Fgarbage_collect ();
extern Lisp_Object Fprin1 (), Fprin1_to_string (), Fprinc ();
extern Lisp_Object Fterpri (), Fprint ();
extern Lisp_Object Vstandard_output, Qstandard_output;
+extern Lisp_Object Qexternal_debugging_output;
extern void temp_output_buffer_setup (), temp_output_buffer_show ();
extern int print_level, print_escape_newlines;
extern Lisp_Object Qprint_escape_newlines;
/* defined in keyboard.c */
extern Lisp_Object Qdisabled;
+extern Lisp_Object Qmode_line, Qvertical_split;
extern Lisp_Object Vhelp_form, Vtop_level;
extern Lisp_Object Fdiscard_input (), Frecursive_edit ();
extern Lisp_Object Fcommand_execute (), Finput_pending_p ();
extern Lisp_Object Fget_buffer_window ();
extern Lisp_Object Fsave_window_excursion ();
extern Lisp_Object Fset_window_configuration (), Fcurrent_window_configuration ();
+extern Lisp_Object Fcoordinates_in_window_p ();
+extern Lisp_Object Fwindow_at ();
/* defined in screen.c */
extern Lisp_Object Fscreenp ();
extern Lisp_Object Fset_screen_width ();
extern Lisp_Object Fset_screen_size ();
extern Lisp_Object Fset_screen_position ();
-extern Lisp_Object Fcoordinates_in_window_p ();
-extern Lisp_Object Flocate_window_from_coordinates ();
#ifndef HAVE_X11
extern Lisp_Object Frubber_band_rectangle ();
#endif /* HAVE_X11 */
extern Lisp_Object Fprocess_status (), Fkill_process ();
/* defined in callproc.c */
-extern Lisp_Object Vexec_path, Vexec_directory;
+extern Lisp_Object Vexec_path, Vexec_directory, Vdata_directory;
#ifdef MAINTAIN_ENVIRONMENT
/* defined in environ.c */