/[emacs]/emacs/src/emacs.c
ViewVC logotype

Diff of /emacs/src/emacs.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.287 by monnier, Fri Oct 12 03:37:43 2001 UTC revision 1.288 by pj, Sat Oct 27 10:40:07 2001 UTC
# Line 91  EMACS_INT  gdb_data_seg_bits = 0; Line 91  EMACS_INT  gdb_data_seg_bits = 0;
91  #endif  #endif
92  EMACS_INT PVEC_FLAG = PSEUDOVECTOR_FLAG;  EMACS_INT PVEC_FLAG = PSEUDOVECTOR_FLAG;
93    
94  /* Command line args from shell, as list of strings */  /* Command line args from shell, as list of strings.  */
95  Lisp_Object Vcommand_line_args;  Lisp_Object Vcommand_line_args;
96    
97  /* The name under which Emacs was invoked, with any leading directory  /* The name under which Emacs was invoked, with any leading directory
# Line 112  Lisp_Object Vkill_emacs_hook; Line 112  Lisp_Object Vkill_emacs_hook;
112  Lisp_Object empty_string;  Lisp_Object empty_string;
113    
114  #ifdef SIGUSR1  #ifdef SIGUSR1
115  /* Hooks for signal USR1 and USR2 handing */  /* Hooks for signal USR1 and USR2 handling.  */
116  Lisp_Object Vsignal_USR1_hook;  Lisp_Object Vsignal_USR1_hook;
117  #ifdef SIGUSR2  #ifdef SIGUSR2
118  Lisp_Object Vsignal_USR2_hook;  Lisp_Object Vsignal_USR2_hook;
119  #endif  #endif
120  #endif  #endif
121    
122  /* Search path separator.  */  /* Search path separator.  */
# Line 159  Lisp_Object Vsystem_time_locale; Line 159  Lisp_Object Vsystem_time_locale;
159  Lisp_Object Vprevious_system_time_locale;  Lisp_Object Vprevious_system_time_locale;
160    
161  /* If non-zero, emacs should not attempt to use an window-specific code,  /* If non-zero, emacs should not attempt to use an window-specific code,
162     but instead should use the virtual terminal under which it was started */     but instead should use the virtual terminal under which it was started.  */
163  int inhibit_window_system;  int inhibit_window_system;
164    
165  /* If nonzero, set Emacs to run at this priority.  This is also used  /* If nonzero, set Emacs to run at this priority.  This is also used
166     in child_setup and sys_suspend to make sure subshells run at normal     in child_setup and sys_suspend to make sure subshells run at normal
167     priority; Those functions have their own extern declaration.  */     priority; those functions have their own extern declaration.  */
168  int emacs_priority;  int emacs_priority;
169    
170  /* If non-zero a filter or a sentinel is running.  Tested to save the match  /* If non-zero, a filter or a sentinel is running.  Tested to save the match
171     data on the first attempt to change it inside asynchronous code. */     data on the first attempt to change it inside asynchronous code.  */
172  int running_asynch_code;  int running_asynch_code;
173    
174  #ifdef BSD_PGRPS  #ifdef BSD_PGRPS
# Line 177  extern int inherited_pgroup; Line 177  extern int inherited_pgroup;
177  #endif  #endif
178    
179  #ifdef HAVE_X_WINDOWS  #ifdef HAVE_X_WINDOWS
180  /* If non-zero, -d was specified, meaning we're using some window system. */  /* If non-zero, -d was specified, meaning we're using some window system.  */
181  int display_arg;  int display_arg;
182  #endif  #endif
183    
# Line 265  Display options:\n\ Line 265  Display options:\n\
265  --border-width, -bw WIDTH       width of main border\n\  --border-width, -bw WIDTH       width of main border\n\
266  --cursor-color, -cr COLOR       color of the Emacs cursor indicating point\n\  --cursor-color, -cr COLOR       color of the Emacs cursor indicating point\n\
267  --display, -d DISPLAY           use X server DISPLAY\n\  --display, -d DISPLAY           use X server DISPLAY\n\
268  --font, -fn FONT                default font; must be fixed-widthp\n\  --font, -fn FONT                default font; must be fixed-width\n\
269  --foreground-color, -fg COLOR   window foreground color\n\  --foreground-color, -fg COLOR   window foreground color\n\
270  --geometry, -g GEOMETRY         window geometry\n\  --geometry, -g GEOMETRY         window geometry\n\
271  --iconic                        start Emacs in iconified state\n\  --iconic                        start Emacs in iconified state\n\
# Line 275  Display options:\n\ Line 275  Display options:\n\
275  --mouse-color, -ms COLOR        mouse cursor color in Emacs window\n\  --mouse-color, -ms COLOR        mouse cursor color in Emacs window\n\
276  --name NAME                     title of main Emacs window\n\  --name NAME                     title of main Emacs window\n\
277  --reverse-video, -r, -rv        switch foreground and background\n\  --reverse-video, -r, -rv        switch foreground and background\n\
278  --title, -T, -wn, TITLE         title for Emacs windows\n\  --title, -T, -wn TITLE          title for Emacs windows\n\
279  --vertical-scroll-bars, -vb     enable vertical scroll bars\n\  --vertical-scroll-bars, -vb     enable vertical scroll bars\n\
280  --xrm XRESOURCES                set additional X resources\n\  --xrm XRESOURCES                set additional X resources\n\
281  \n\  \n\
# Line 290  Report bugs to bug-gnu-emacs@gnu.org.  F Line 290  Report bugs to bug-gnu-emacs@gnu.org.  F
290  section of the Emacs manual or the file BUGS.\n"  section of the Emacs manual or the file BUGS.\n"
291    
292    
293  /* Signal code for the fatal signal that was received */  /* Signal code for the fatal signal that was received.  */
294  int fatal_error_code;  int fatal_error_code;
295    
296  /* Nonzero if handling a fatal error already */  /* Nonzero if handling a fatal error already.  */
297  int fatal_error_in_progress;  int fatal_error_in_progress;
298    
299  /* If non-null, call this function from fata_error_signal before  /* If non-null, call this function from fatal_error_signal before
300     committing suicide.  */     committing suicide.  */
301    
302  void (*fatal_error_signal_hook) P_ ((void));  void (*fatal_error_signal_hook) P_ ((void));
# Line 333  handle_USR2_signal (sig) Line 333  handle_USR2_signal (sig)
333  }  }
334  #endif /* SIGUSR2 */  #endif /* SIGUSR2 */
335    
336  /* Handle bus errors, invalid instruction, etc. */  /* Handle bus errors, invalid instruction, etc.  */
337  SIGTYPE  SIGTYPE
338  fatal_error_signal (sig)  fatal_error_signal (sig)
339       int sig;       int sig;
# Line 364  fatal_error_signal (sig) Line 364  fatal_error_signal (sig)
364    
365    if (fatal_error_signal_hook)    if (fatal_error_signal_hook)
366      fatal_error_signal_hook ();      fatal_error_signal_hook ();
367      
368    kill (getpid (), fatal_error_code);    kill (getpid (), fatal_error_code);
369  #endif /* not VMS */  #endif /* not VMS */
370  }  }
# Line 387  memory_warning_signal (sig) Line 387  memory_warning_signal (sig)
387    
388  /* We define abort, rather than using it from the library,  /* We define abort, rather than using it from the library,
389     so that GDB can return from a breakpoint here.     so that GDB can return from a breakpoint here.
390     MSDOS has its own definition on msdos.c  */     MSDOS has its own definition in msdos.c.  */
391    
392  #if ! defined (DOS_NT) && ! defined (NO_ABORT)  #if ! defined (DOS_NT) && ! defined (NO_ABORT)
393    
# Line 405  abort () Line 405  abort ()
405  #endif  #endif
406    
407    
408  /* Code for dealing with Lisp access to the Unix command line */  /* Code for dealing with Lisp access to the Unix command line.  */
409    
410  static void  static void
411  init_cmdargs (argc, argv, skip_args)  init_cmdargs (argc, argv, skip_args)
# Line 547  init_cmdargs (argc, argv, skip_args) Line 547  init_cmdargs (argc, argv, skip_args)
547  }  }
548    
549  DEFUN ("invocation-name", Finvocation_name, Sinvocation_name, 0, 0, 0,  DEFUN ("invocation-name", Finvocation_name, Sinvocation_name, 0, 0, 0,
550    "Return the program name that was used to run Emacs.\n\         doc: /* Return the program name that was used to run Emacs.
551  Any directory names are omitted.")  Any directory names are omitted.  */)
552    ()       ()
553  {  {
554    return Fcopy_sequence (Vinvocation_name);    return Fcopy_sequence (Vinvocation_name);
555  }  }
556    
557  DEFUN ("invocation-directory", Finvocation_directory, Sinvocation_directory,  DEFUN ("invocation-directory", Finvocation_directory, Sinvocation_directory,
558    0, 0, 0,         0, 0, 0,
559    "Return the directory name in which the Emacs executable was located")         doc: /* Return the directory name in which the Emacs executable was located.  */)
560    ()       ()
561  {  {
562    return Fcopy_sequence (Vinvocation_directory);    return Fcopy_sequence (Vinvocation_directory);
563  }  }
# Line 804  main (argc, argv, envp) Line 804  main (argc, argv, envp)
804  #endif /* NeXT */  #endif /* NeXT */
805    
806  #ifdef VMS  #ifdef VMS
807    /* If -map specified, map the data file in */    /* If -map specified, map the data file in.  */
808    {    {
809      char *file;      char *file;
810      if (argmatch (argv, argc, "-map", "--map-data", 3, &mapin_file, &skip_args))      if (argmatch (argv, argc, "-map", "--map-data", 3, &mapin_file, &skip_args))
# Line 813  main (argc, argv, envp) Line 813  main (argc, argv, envp)
813    
814  #ifdef LINK_CRTL_SHARE  #ifdef LINK_CRTL_SHARE
815  #ifdef SHARABLE_LIB_BUG  #ifdef SHARABLE_LIB_BUG
816    /* Bletcherous shared libraries! */    /* Bletcherous shared libraries!  */
817    if (!stdin)    if (!stdin)
818      stdin = fdopen (0, "r");      stdin = fdopen (0, "r");
819    if (!stdout)    if (!stdout)
# Line 934  main (argc, argv, envp) Line 934  main (argc, argv, envp)
934    
935    inhibit_window_system = 0;    inhibit_window_system = 0;
936    
937    /* Handle the -t switch, which specifies filename to use as terminal */    /* Handle the -t switch, which specifies filename to use as terminal.  */
938    while (1)    while (1)
939      {      {
940        char *term;        char *term;
# Line 973  main (argc, argv, envp) Line 973  main (argc, argv, envp)
973    if (argmatch (argv, argc, "-batch", "--batch", 5, NULL, &skip_args))    if (argmatch (argv, argc, "-batch", "--batch", 5, NULL, &skip_args))
974      noninteractive = 1;      noninteractive = 1;
975    
976    /* Handle the --help option, which gives a usage message..  */    /* Handle the --help option, which gives a usage message.  */
977    if (argmatch (argv, argc, "-help", "--help", 3, NULL, &skip_args))    if (argmatch (argv, argc, "-help", "--help", 3, NULL, &skip_args))
978      {      {
979        printf (USAGE1, argv[0]);        printf (USAGE1, argv[0]);
# Line 1098  main (argc, argv, envp) Line 1098  main (argc, argv, envp)
1098    
1099    noninteractive1 = noninteractive;    noninteractive1 = noninteractive;
1100    
1101  /* Perform basic initializations (not merely interning symbols) */  /* Perform basic initializations (not merely interning symbols).  */
1102    
1103    if (!initialized)    if (!initialized)
1104      {      {
# Line 1109  main (argc, argv, envp) Line 1109  main (argc, argv, envp)
1109        init_coding_once ();        init_coding_once ();
1110        init_syntax_once ();      /* Create standard syntax table.  */        init_syntax_once ();      /* Create standard syntax table.  */
1111        init_category_once ();    /* Create standard category table.  */        init_category_once ();    /* Create standard category table.  */
1112                        /* Must be done before init_buffer */                        /* Must be done before init_buffer.  */
1113        init_casetab_once ();        init_casetab_once ();
1114        init_buffer_once ();      /* Create buffer table and some buffers */        init_buffer_once ();      /* Create buffer table and some buffers.  */
1115        init_minibuf_once ();     /* Create list of minibuffers */        init_minibuf_once ();     /* Create list of minibuffers.  */
1116                                  /* Must precede init_window_once */                                  /* Must precede init_window_once.  */
1117          
1118        /* Call syms_of_xfaces before init_window_once because that        /* Call syms_of_xfaces before init_window_once because that
1119           function creates Vterminal_frame.  Termcap frames now use           function creates Vterminal_frame.  Termcap frames now use
1120           faces, and the face implementation uses some symbols as           faces, and the face implementation uses some symbols as
# Line 1142  main (argc, argv, envp) Line 1142  main (argc, argv, envp)
1142        syms_of_data ();        syms_of_data ();
1143        syms_of_search ();        syms_of_search ();
1144        syms_of_frame ();        syms_of_frame ();
1145          
1146        x_term_init ();        x_term_init ();
1147        init_keyboard ();        init_keyboard ();
1148  #endif  #endif
1149    
1150        init_window_once ();      /* Init the window system */        init_window_once ();      /* Init the window system.  */
1151        init_fileio_once ();      /* Must precede any path manipulation.  */        init_fileio_once ();      /* Must precede any path manipulation.  */
1152      }      }
1153    
# Line 1194  main (argc, argv, envp) Line 1194  main (argc, argv, envp)
1194           aren't now decoded; also existing buffers are now made           aren't now decoded; also existing buffers are now made
1195           unibyte during startup if .emacs sets unibyte.  Tested with           unibyte during startup if .emacs sets unibyte.  Tested with
1196           8-bit data in environment variables and /etc/passwd, setting           8-bit data in environment variables and /etc/passwd, setting
1197           unibyte and Latin-1 in .emacs. -- Dave Love */           unibyte and Latin-1 in .emacs. -- Dave Love  */
1198        if (argmatch (argv, argc, "-unibyte", "--unibyte", 4, NULL, &skip_args)        if (argmatch (argv, argc, "-unibyte", "--unibyte", 4, NULL, &skip_args)
1199            || argmatch (argv, argc, "-no-multibyte", "--no-multibyte", 4, NULL, &skip_args)            || argmatch (argv, argc, "-no-multibyte", "--no-multibyte", 4, NULL, &skip_args)
1200            || (getenv ("EMACS_UNIBYTE") && !inhibit_unibyte))            || (getenv ("EMACS_UNIBYTE") && !inhibit_unibyte))
# Line 1302  main (argc, argv, envp) Line 1302  main (argc, argv, envp)
1302  #ifdef WINDOWSNT  #ifdef WINDOWSNT
1303    /* Initialize environment from registry settings.  */    /* Initialize environment from registry settings.  */
1304    init_environment (argv);    init_environment (argv);
1305    init_ntproc ();       /* must precede init_editfns */    init_ntproc ();       /* must precede init_editfns.  */
1306  #endif  #endif
1307    
1308    /* egetenv is a pretty low-level facility, which may get called in    /* egetenv is a pretty low-level facility, which may get called in
# Line 1317  main (argc, argv, envp) Line 1317  main (argc, argv, envp)
1317    putenv ("LANG=C");    putenv ("LANG=C");
1318  #endif  #endif
1319    
1320    init_buffer ();       /* Init default directory of main buffer */    init_buffer ();       /* Init default directory of main buffer.  */
1321    
1322    init_callproc_1 ();   /* Must precede init_cmdargs and init_sys_modes.  */    init_callproc_1 ();   /* Must precede init_cmdargs and init_sys_modes.  */
1323    init_cmdargs (argc, argv, skip_args); /* Must precede init_lread.  */    init_cmdargs (argc, argv, skip_args); /* Must precede init_lread.  */
1324    
1325    if (initialized)    if (initialized)
1326      {      {
1327        /* Erase any pre-dump messages in the message log, to avoid confusion */        /* Erase any pre-dump messages in the message log, to avoid confusion.  */
1328        Lisp_Object old_log_max;        Lisp_Object old_log_max;
1329        old_log_max = Vmessage_log_max;        old_log_max = Vmessage_log_max;
1330        XSETFASTINT (Vmessage_log_max, 0);        XSETFASTINT (Vmessage_log_max, 0);
# Line 1340  main (argc, argv, envp) Line 1340  main (argc, argv, envp)
1340    
1341    if (!initialized)    if (!initialized)
1342      {      {
1343        /* The basic levels of Lisp must come first */        /* The basic levels of Lisp must come first.  */
1344        /* And data must come first of all        /* And data must come first of all
1345           for the sake of symbols like error-message */           for the sake of symbols like error-message.  */
1346  #ifndef macintosh  #ifndef macintosh
1347        /* Called before init_window_once for Mac OS.  */        /* Called before init_window_once for Mac OS.  */
1348        syms_of_data ();        syms_of_data ();
# Line 1457  main (argc, argv, envp) Line 1457  main (argc, argv, envp)
1457    if (!noninteractive)    if (!noninteractive)
1458      {      {
1459  #ifdef VMS  #ifdef VMS
1460        init_vms_input ();/* init_display calls get_frame_size, that needs this */        init_vms_input ();/* init_display calls get_frame_size, that needs this.  */
1461  #endif /* VMS */  #endif /* VMS */
1462        init_display ();  /* Determine terminal type.  init_sys_modes uses results */        init_display ();  /* Determine terminal type.  init_sys_modes uses results.  */
1463      }      }
1464  #ifndef macintosh  #ifndef macintosh
1465    /* Called before init_window_once for Mac OS.  */    /* Called before init_window_once for Mac OS.  */
1466    init_keyboard ();     /* This too must precede init_sys_modes */    init_keyboard ();     /* This too must precede init_sys_modes.  */
1467  #endif  #endif
1468  #ifdef VMS  #ifdef VMS
1469    init_vmsproc ();      /* And this too. */    init_vmsproc ();      /* And this too.  */
1470  #endif /* VMS */  #endif /* VMS */
1471    init_sys_modes ();    /* Init system terminal modes (RAW or CBREAK, etc.) */    init_sys_modes ();    /* Init system terminal modes (RAW or CBREAK, etc.).  */
1472  #ifdef HAVE_X_WINDOWS  #ifdef HAVE_X_WINDOWS
1473    init_xfns ();    init_xfns ();
1474  #endif /* HAVE_X_WINDOWS */  #endif /* HAVE_X_WINDOWS */
# Line 1489  main (argc, argv, envp) Line 1489  main (argc, argv, envp)
1489    if (!initialized)    if (!initialized)
1490      {      {
1491        char *file;        char *file;
1492        /* Handle -l loadup, args passed by Makefile. */        /* Handle -l loadup, args passed by Makefile.  */
1493        if (argmatch (argv, argc, "-l", "--load", 3, &file, &skip_args))        if (argmatch (argv, argc, "-l", "--load", 3, &file, &skip_args))
1494          Vtop_level = Fcons (intern ("load"),          Vtop_level = Fcons (intern ("load"),
1495                              Fcons (build_string (file), Qnil));                              Fcons (build_string (file), Qnil));
# Line 1524  main (argc, argv, envp) Line 1524  main (argc, argv, envp)
1524    /* Set up for profiling.  This is known to work on FreeBSD and    /* Set up for profiling.  This is known to work on FreeBSD and
1525       GNU/Linux.  It might work on some other systems too.  Give it a       GNU/Linux.  It might work on some other systems too.  Give it a
1526       try and tell us if it works on your system.  To compile for       try and tell us if it works on your system.  To compile for
1527       profiling use something like `make CFLAGS="-pg -g -O -DPROFILING=1'. */       profiling use something like `make CFLAGS="-pg -g -O -DPROFILING=1'.  */
1528  #if defined (__FreeBSD__) || defined (__linux)  #if defined (__FreeBSD__) || defined (__linux)
1529  #ifdef PROFILING  #ifdef PROFILING
1530    if (initialized)    if (initialized)
1531      {      {
1532        extern void _mcleanup ();              extern void _mcleanup ();
1533        extern char etext;        extern char etext;
1534        extern void safe_bcopy ();        extern void safe_bcopy ();
1535        extern void dump_opcode_frequencies ();        extern void dump_opcode_frequencies ();
# Line 1553  main (argc, argv, envp) Line 1553  main (argc, argv, envp)
1553       zone rather than looking it up every time.  Since localtime() is       zone rather than looking it up every time.  Since localtime() is
1554       called to bolt the undumping time into the undumped emacs, this       called to bolt the undumping time into the undumped emacs, this
1555       results in localtime ignoring the TZ environment variable.       results in localtime ignoring the TZ environment variable.
1556       This flushes the new TZ value into localtime. */       This flushes the new TZ value into localtime.  */
1557    tzset ();    tzset ();
1558  #endif /* defined (LOCALTIME_CACHE) */  #endif /* defined (LOCALTIME_CACHE) */
1559    
# Line 1772  sort_args (argc, argv) Line 1772  sort_args (argc, argv)
1772            if (options[from] > 0)            if (options[from] > 0)
1773              from += options[from];              from += options[from];
1774          }          }
1775                
1776        if (best < 0)        if (best < 0)
1777          abort ();          abort ();
1778    
# Line 1806  sort_args (argc, argv) Line 1806  sort_args (argc, argv)
1806  }  }
1807    
1808  DEFUN ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 1, "P",  DEFUN ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 1, "P",
1809    "Exit the Emacs job and kill it.\n\         doc: /* Exit the Emacs job and kill it.
1810  If ARG is an integer, return ARG as the exit program code.\n\  If ARG is an integer, return ARG as the exit program code.
1811  If ARG is a  string, stuff it as keyboard input.\n\n\  If ARG is a  string, stuff it as keyboard input.
1812  The value of `kill-emacs-hook', if not void,\n\  
1813  is a list of functions (of no args),\n\  The value of `kill-emacs-hook', if not void,
1814  all of which are called before Emacs is actually killed.")  is a list of functions (of no args),
1815    (arg)  all of which are called before Emacs is actually killed.  */)
1816         (arg)
1817       Lisp_Object arg;       Lisp_Object arg;
1818  {  {
1819    struct gcpro gcpro1;    struct gcpro gcpro1;
# Line 1871  shut_down_emacs (sig, no_x, stuff) Line 1872  shut_down_emacs (sig, no_x, stuff)
1872    /* Prevent running of hooks from now on.  */    /* Prevent running of hooks from now on.  */
1873    Vrun_hooks = Qnil;    Vrun_hooks = Qnil;
1874    
1875    /* If we are controlling the terminal, reset terminal modes */    /* If we are controlling the terminal, reset terminal modes.  */
1876  #ifdef EMACS_HAVE_TTY_PGRP  #ifdef EMACS_HAVE_TTY_PGRP
1877    {    {
1878      int pgrp = EMACS_GETPGRP (0);      int pgrp = EMACS_GETPGRP (0);
# Line 1946  shut_down_emacs (sig, no_x, stuff) Line 1947  shut_down_emacs (sig, no_x, stuff)
1947  #ifdef HAVE_SHM  #ifdef HAVE_SHM
1948    
1949  DEFUN ("dump-emacs-data", Fdump_emacs_data, Sdump_emacs_data, 1, 1, 0,  DEFUN ("dump-emacs-data", Fdump_emacs_data, Sdump_emacs_data, 1, 1, 0,
1950    "Dump current state of Emacs into data file FILENAME.\n\         doc: /* Dump current state of Emacs into data file FILENAME.
1951  This function exists on systems that use HAVE_SHM.")  This function exists on systems that use HAVE_SHM.  */)
1952    (filename)       (filename)
1953       Lisp_Object filename;       Lisp_Object filename;
1954  {  {
1955    extern char my_edata[];    extern char my_edata[];
# Line 1962  This function exists on systems that use Line 1963  This function exists on systems that use
1963    Vpurify_flag = Qnil;    Vpurify_flag = Qnil;
1964    
1965    fflush (stdout);    fflush (stdout);
1966    /* Tell malloc where start of impure now is */    /* Tell malloc where start of impure now is.  */
1967    /* Also arrange for warnings when nearly out of space.  */    /* Also arrange for warnings when nearly out of space.  */
1968  #ifndef SYSTEM_MALLOC  #ifndef SYSTEM_MALLOC
1969    memory_warnings (my_edata, malloc_warning);    memory_warnings (my_edata, malloc_warning);
# Line 1977  This function exists on systems that use Line 1978  This function exists on systems that use
1978  #else /* not HAVE_SHM */  #else /* not HAVE_SHM */
1979    
1980  DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0,  DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0,
1981    "Dump current state of Emacs into executable file FILENAME.\n\         doc: /* Dump current state of Emacs into executable file FILENAME.
1982  Take symbols from SYMFILE (presumably the file you executed to run Emacs).\n\  Take symbols from SYMFILE (presumably the file you executed to run Emacs).
1983  This is used in the file `loadup.el' when building Emacs.\n\  This is used in the file `loadup.el' when building Emacs.
1984  \n\  
1985  You must run Emacs in batch mode in order to dump it.")  You must run Emacs in batch mode in order to dump it.  */)
1986    (filename, symfile)       (filename, symfile)
1987       Lisp_Object filename, symfile;       Lisp_Object filename, symfile;
1988  {  {
1989    extern char my_edata[];    extern char my_edata[];
# Line 2025  You must run Emacs in batch mode in orde Line 2026  You must run Emacs in batch mode in orde
2026  #ifdef VMS  #ifdef VMS
2027    mapout_data (XSTRING (filename)->data);    mapout_data (XSTRING (filename)->data);
2028  #else  #else
2029    /* Tell malloc where start of impure now is */    /* Tell malloc where start of impure now is.  */
2030    /* Also arrange for warnings when nearly out of space.  */    /* Also arrange for warnings when nearly out of space.  */
2031  #ifndef SYSTEM_MALLOC  #ifndef SYSTEM_MALLOC
2032  #ifndef WINDOWSNT  #ifndef WINDOWSNT
# Line 2184  syms_of_emacs () Line 2185  syms_of_emacs ()
2185    defsubr (&Sinvocation_directory);    defsubr (&Sinvocation_directory);
2186    
2187    DEFVAR_LISP ("command-line-args", &Vcommand_line_args,    DEFVAR_LISP ("command-line-args", &Vcommand_line_args,
2188      "Args passed by shell to Emacs, as a list of strings.");                 doc: /* Args passed by shell to Emacs, as a list of strings.  */);
2189    
2190    DEFVAR_LISP ("system-type", &Vsystem_type,    DEFVAR_LISP ("system-type", &Vsystem_type,
2191      "Value is symbol indicating type of operating system you are using.");                 doc: /* Value is symbol indicating type of operating system you are using.  */);
2192    Vsystem_type = intern (SYSTEM_TYPE);    Vsystem_type = intern (SYSTEM_TYPE);
2193    
2194    DEFVAR_LISP ("system-configuration", &Vsystem_configuration,    DEFVAR_LISP ("system-configuration", &Vsystem_configuration,
2195      "Value is string indicating configuration Emacs was built for.\n\                 doc: /* Value is string indicating configuration Emacs was built for.
2196  On MS-Windows, the value reflects the OS flavor and version on which\n\  On MS-Windows, the value reflects the OS flavor and version on which
2197  Emacs is running.");  Emacs is running.  */);
2198    Vsystem_configuration = build_string (EMACS_CONFIGURATION);    Vsystem_configuration = build_string (EMACS_CONFIGURATION);
2199    
2200    DEFVAR_LISP ("system-configuration-options", &Vsystem_configuration_options,    DEFVAR_LISP ("system-configuration-options", &Vsystem_configuration_options,
2201      "String containing the configuration options Emacs was built with.");                 doc: /* String containing the configuration options Emacs was built with.  */);
2202    Vsystem_configuration_options = build_string (EMACS_CONFIG_OPTIONS);    Vsystem_configuration_options = build_string (EMACS_CONFIG_OPTIONS);
2203    
2204    DEFVAR_BOOL ("noninteractive", &noninteractive1,    DEFVAR_BOOL ("noninteractive", &noninteractive1,
2205      "Non-nil means Emacs is running without interactive terminal.");                 doc: /* Non-nil means Emacs is running without interactive terminal.  */);
2206    
2207    DEFVAR_LISP ("kill-emacs-hook", &Vkill_emacs_hook,    DEFVAR_LISP ("kill-emacs-hook", &Vkill_emacs_hook,
2208      "Hook to be run whenever kill-emacs is called.\n\                 doc: /* Hook to be run whenever kill-emacs is called.
2209  Since kill-emacs may be invoked when the terminal is disconnected (or\n\  Since kill-emacs may be invoked when the terminal is disconnected (or
2210  in other similar situations), functions placed on this hook should not\n\  in other similar situations), functions placed on this hook should not
2211  expect to be able to interact with the user.  To ask for confirmation,\n\  expect to be able to interact with the user.  To ask for confirmation,
2212  see `kill-emacs-query-functions' instead.");  see `kill-emacs-query-functions' instead.  */);
2213    Vkill_emacs_hook = Qnil;    Vkill_emacs_hook = Qnil;
2214    
2215    empty_string = build_string ("");    empty_string = build_string ("");
# Line 2216  see `kill-emacs-query-functions' instead Line 2217  see `kill-emacs-query-functions' instead
2217    
2218  #ifdef SIGUSR1  #ifdef SIGUSR1
2219    DEFVAR_LISP ("signal-USR1-hook", &Vsignal_USR1_hook,    DEFVAR_LISP ("signal-USR1-hook", &Vsignal_USR1_hook,
2220      "Hook to be run whenever emacs receives a USR1 signal");                 doc: /* Hook to be run whenever emacs receives a USR1 signal.  */);
2221    Vsignal_USR1_hook = Qnil;    Vsignal_USR1_hook = Qnil;
2222  #ifdef SIGUSR2  #ifdef SIGUSR2
2223    DEFVAR_LISP ("signal-USR2-hook", &Vsignal_USR2_hook,    DEFVAR_LISP ("signal-USR2-hook", &Vsignal_USR2_hook,
2224      "Hook to be run whenever emacs receives a USR2 signal");                 doc: /* Hook to be run whenever emacs receives a USR2 signal.  */);
2225    Vsignal_USR2_hook = Qnil;    Vsignal_USR2_hook = Qnil;
2226  #endif  #endif
2227  #endif  #endif
2228    
2229    
2230    DEFVAR_INT ("emacs-priority", &emacs_priority,    DEFVAR_INT ("emacs-priority", &emacs_priority,
2231      "Priority for Emacs to run at.\n\                doc: /* Priority for Emacs to run at.
2232  This value is effective only if set before Emacs is dumped,\n\  This value is effective only if set before Emacs is dumped,
2233  and only if the Emacs executable is installed with setuid to permit\n\  and only if the Emacs executable is installed with setuid to permit
2234  it to change priority.  (Emacs sets its uid back to the real uid.)\n\  it to change priority.  (Emacs sets its uid back to the real uid.)
2235  Currently, you need to define SET_EMACS_PRIORITY in `config.h'\n\  Currently, you need to define SET_EMACS_PRIORITY in `config.h'
2236  before you compile Emacs, to enable the code for this feature.");  before you compile Emacs, to enable the code for this feature.  */);
2237    emacs_priority = 0;    emacs_priority = 0;
2238    
2239    DEFVAR_LISP ("path-separator", &Vpath_separator,    DEFVAR_LISP ("path-separator", &Vpath_separator,
2240      "The directory separator in search paths, as a string.");                 doc: /* The directory separator in search paths, as a string. */);
2241    {    {
2242      char c = SEPCHAR;      char c = SEPCHAR;
2243      Vpath_separator = make_string (&c, 1);      Vpath_separator = make_string (&c, 1);
2244    }    }
2245    
2246    DEFVAR_LISP ("invocation-name", &Vinvocation_name,    DEFVAR_LISP ("invocation-name", &Vinvocation_name,
2247      "The program name that was used to run Emacs.\n\                 doc: /* The program name that was used to run Emacs.
2248  Any directory names are omitted.");  Any directory names are omitted.  */);
2249    
2250    DEFVAR_LISP ("invocation-directory", &Vinvocation_directory,    DEFVAR_LISP ("invocation-directory", &Vinvocation_directory,
2251      "The directory in which the Emacs executable was found, to run it.\n\                 doc: /* The directory in which the Emacs executable was found, to run it.
2252  The value is nil if that directory's name is not known.");  The value is nil if that directory's name is not known.  */);
2253    
2254    DEFVAR_LISP ("installation-directory", &Vinstallation_directory,    DEFVAR_LISP ("installation-directory", &Vinstallation_directory,
2255      "A directory within which to look for the `lib-src' and `etc' directories.\n\                 doc: /* A directory within which to look for the `lib-src' and `etc' directories.
2256  This is non-nil when we can't find those directories in their standard\n\  This is non-nil when we can't find those directories in their standard
2257  installed locations, but we can find them\n\  installed locations, but we can find them
2258  near where the Emacs executable was found.");  near where the Emacs executable was found.  */);
2259    Vinstallation_directory = Qnil;    Vinstallation_directory = Qnil;
2260    
2261    DEFVAR_LISP ("system-messages-locale", &Vsystem_messages_locale,    DEFVAR_LISP ("system-messages-locale", &Vsystem_messages_locale,
2262      "System locale for messages.");                 doc: /* System locale for messages.  */);
2263    Vsystem_messages_locale = Qnil;    Vsystem_messages_locale = Qnil;
2264    
2265    DEFVAR_LISP ("previous-system-messages-locale",    DEFVAR_LISP ("previous-system-messages-locale",
2266      &Vprevious_system_messages_locale,                 &Vprevious_system_messages_locale,
2267      "Most recently used system locale for messages.");                 doc: /* Most recently used system locale for messages.  */);
2268    Vprevious_system_messages_locale = Qnil;    Vprevious_system_messages_locale = Qnil;
2269    
2270    DEFVAR_LISP ("system-time-locale", &Vsystem_time_locale,    DEFVAR_LISP ("system-time-locale", &Vsystem_time_locale,
2271      "System locale for time.");                 doc: /* System locale for time.  */);
2272    Vsystem_time_locale = Qnil;    Vsystem_time_locale = Qnil;
2273    
2274    DEFVAR_LISP ("previous-system-time-locale", &Vprevious_system_time_locale,    DEFVAR_LISP ("previous-system-time-locale", &Vprevious_system_time_locale,
2275      "Most recently used system locale for time.");                 doc: /* Most recently used system locale for time.  */);
2276    Vprevious_system_time_locale = Qnil;    Vprevious_system_time_locale = Qnil;
2277  }  }

Legend:
Removed from v.1.287  
changed lines
  Added in v.1.288

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26