diff options
| author | Jim Blandy | 1992-04-19 08:53:55 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-04-19 08:53:55 +0000 |
| commit | 46947372a36a43d9931d151575ebec9bf6951797 (patch) | |
| tree | ad096de15b251a68891d5865add9d0b667eea9fd /src | |
| parent | f7dbcf3cf8d2e57c3637448f87da84e0db87f929 (diff) | |
| download | emacs-46947372a36a43d9931d151575ebec9bf6951797.tar.gz emacs-46947372a36a43d9931d151575ebec9bf6951797.zip | |
*** empty log message ***
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.in | 2 | ||||
| -rw-r--r-- | src/callint.c | 20 | ||||
| -rw-r--r-- | src/config.in | 26 | ||||
| -rw-r--r-- | src/indent.c | 8 | ||||
| -rw-r--r-- | src/lread.c | 84 |
5 files changed, 84 insertions, 56 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 2458dc57dff..8cb7bdbdefa 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -11,7 +11,7 @@ SHELL = /bin/sh | |||
| 11 | all: xmakefile doall | 11 | all: xmakefile doall |
| 12 | 12 | ||
| 13 | doall: | 13 | doall: |
| 14 | $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all | 14 | $(MAKE) CC=${CC} $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all |
| 15 | 15 | ||
| 16 | #This is used in making a distribution. | 16 | #This is used in making a distribution. |
| 17 | #Do not use it on development directories! | 17 | #Do not use it on development directories! |
diff --git a/src/callint.c b/src/callint.c index f78a82af022..ffee0785095 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Call a Lisp function interactively. | 1 | /* Call a Lisp function interactively. |
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | 2 | Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
| @@ -177,12 +177,14 @@ Otherwise, this is done only if an arg is read using the minibuffer.") | |||
| 177 | /* Save this now, since use ofminibuffer will clobber it. */ | 177 | /* Save this now, since use ofminibuffer will clobber it. */ |
| 178 | prefix_arg = Vcurrent_prefix_arg; | 178 | prefix_arg = Vcurrent_prefix_arg; |
| 179 | 179 | ||
| 180 | retry: | 180 | retry: |
| 181 | 181 | ||
| 182 | for (fun = function; | 182 | for (fun = function; |
| 183 | XTYPE (fun) == Lisp_Symbol && !EQ (fun, Qunbound); | 183 | XTYPE (fun) == Lisp_Symbol && !EQ (fun, Qunbound); |
| 184 | fun = XSYMBOL (fun)->function) | 184 | fun = XSYMBOL (fun)->function) |
| 185 | ; | 185 | { |
| 186 | QUIT; | ||
| 187 | } | ||
| 186 | 188 | ||
| 187 | specs = Qnil; | 189 | specs = Qnil; |
| 188 | string = 0; | 190 | string = 0; |
| @@ -231,8 +233,14 @@ retry: | |||
| 231 | else | 233 | else |
| 232 | goto lose; | 234 | goto lose; |
| 233 | 235 | ||
| 236 | /* If either specs or string is set to a string, use it. */ | ||
| 234 | if (XTYPE (specs) == Lisp_String) | 237 | if (XTYPE (specs) == Lisp_String) |
| 235 | string = XSTRING (specs)->data; | 238 | { |
| 239 | /* Make a copy of string so that if a GC relocates specs, | ||
| 240 | `string' will still be valid. */ | ||
| 241 | string = (char *) alloca (XSTRING (specs)->size + 1); | ||
| 242 | bcopy (XSTRING (specs)->data, string, XSTRING (specs)->size + 1); | ||
| 243 | } | ||
| 236 | else if (string == 0) | 244 | else if (string == 0) |
| 237 | { | 245 | { |
| 238 | i = num_input_chars; | 246 | i = num_input_chars; |
| @@ -297,7 +305,7 @@ retry: | |||
| 297 | gcpro4.nvars = (count + 1); | 305 | gcpro4.nvars = (count + 1); |
| 298 | 306 | ||
| 299 | tem = string; | 307 | tem = string; |
| 300 | for (i = 1; *tem; i++) | 308 | for (i = 1; *tem; i++) |
| 301 | { | 309 | { |
| 302 | strncpy (prompt1, tem + 1, sizeof prompt1 - 1); | 310 | strncpy (prompt1, tem + 1, sizeof prompt1 - 1); |
| 303 | prompt1[sizeof prompt1 - 1] = 0; | 311 | prompt1[sizeof prompt1 - 1] = 0; |
| @@ -309,7 +317,7 @@ retry: | |||
| 309 | argstrings[j] | 317 | argstrings[j] |
| 310 | = EQ (visargs[j], Qnil) | 318 | = EQ (visargs[j], Qnil) |
| 311 | ? (unsigned char *) "" | 319 | ? (unsigned char *) "" |
| 312 | : XSTRING (visargs[j])->data; | 320 | : XSTRING (visargs[j])->data; |
| 313 | 321 | ||
| 314 | doprnt (prompt, sizeof prompt, prompt1, 0, j - 1, argstrings + 1); | 322 | doprnt (prompt, sizeof prompt, prompt1, 0, j - 1, argstrings + 1); |
| 315 | 323 | ||
diff --git a/src/config.in b/src/config.in index be3cc0dbda5..6fd403fa75d 100644 --- a/src/config.in +++ b/src/config.in | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* GNU Emacs site configuration template file. | 1 | /* GNU Emacs site configuration template file. -*- C -*- |
| 2 | Copyright (C) 1988 Free Software Foundation, Inc. | 2 | Copyright (C) 1988 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| @@ -93,18 +93,20 @@ and this notice must be preserved on all copies. */ | |||
| 93 | #define GLYPH unsigned char | 93 | #define GLYPH unsigned char |
| 94 | #endif | 94 | #endif |
| 95 | 95 | ||
| 96 | /* The configuration script links system.h to a s- file that describes | 96 | /* The configuration script replaces the string @opsystem@ with the |
| 97 | the system type you are using. | 97 | name of the s/*.h file that describes the system type you are |
| 98 | See the file ../etc/MACHINES for a list of systems and | 98 | using; an option of the form "-opsystem=OPSYS" says to use |
| 99 | the names of the s- files to use for them. | 99 | "s/OPSYS.h". See the file ../etc/MACHINES for a list of systems |
| 100 | See s-template.h for documentation on writing s- files. */ | 100 | and the -opsystem flags to use for them. |
| 101 | See s/template.h for documentation on writing s/*.h files. */ | ||
| 101 | #include "@opsystem@" | 102 | #include "@opsystem@" |
| 102 | 103 | ||
| 103 | /* The configuration script links machine.h to a m- file that | 104 | /* The configuration script replaces the string @machine@ with the |
| 104 | describes the machine and system you use. | 105 | name of the m/*.h file that describes the machine you are |
| 105 | See the file ../etc/MACHINES for a list of machines and | 106 | using; an option of the form "-machine=MACH" says to use |
| 106 | the names of the m- files to use for them. | 107 | "m/MACH.h". See the file ../etc/MACHINES for a list of machines |
| 107 | See m-template.h for info on what m- files should define. */ | 108 | and the -machine flags to use for them. |
| 109 | See m/template.h for documentation on writing m/*.h files. */ | ||
| 108 | #include "@machine@" | 110 | #include "@machine@" |
| 109 | 111 | ||
| 110 | /* Load in the conversion definitions if this system | 112 | /* Load in the conversion definitions if this system |
| @@ -122,7 +124,7 @@ and this notice must be preserved on all copies. */ | |||
| 122 | have code for asynchronous subprocesses | 124 | have code for asynchronous subprocesses |
| 123 | (as used in M-x compile and M-x shell). | 125 | (as used in M-x compile and M-x shell). |
| 124 | These do not work for some USG systems yet; | 126 | These do not work for some USG systems yet; |
| 125 | for the ones where they work, the s-*.h file defines this flag. */ | 127 | for the ones where they work, the s/*.h file defines this flag. */ |
| 126 | 128 | ||
| 127 | #ifndef VMS | 129 | #ifndef VMS |
| 128 | #ifndef USG | 130 | #ifndef USG |
diff --git a/src/indent.c b/src/indent.c index 50536120d8b..3f3745a5565 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -477,10 +477,10 @@ compute_motion (from, fromvpos, fromhpos, to, tovpos, tohpos, width, hscroll, ta | |||
| 477 | /* A visible line. */ | 477 | /* A visible line. */ |
| 478 | vpos++; | 478 | vpos++; |
| 479 | hpos = 0; | 479 | hpos = 0; |
| 480 | hpos -= hscroll; | 480 | hpos -= hscroll; |
| 481 | if (hscroll > 0) hpos++; /* Count the ! on column 0 */ | 481 | if (hscroll > 0) hpos++; /* Count the ! on column 0 */ |
| 482 | tab_offset = 0; | 482 | tab_offset = 0; |
| 483 | } | 483 | } |
| 484 | } | 484 | } |
| 485 | else if (c == CR && selective < 0) | 485 | else if (c == CR && selective < 0) |
| 486 | { | 486 | { |
diff --git a/src/lread.c b/src/lread.c index 5a5c106c6e6..78d578758b0 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -5,7 +5,7 @@ This file is part of GNU Emacs. | |||
| 5 | 5 | ||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | 6 | GNU Emacs is free software; you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 1, or (at your option) | 8 | the Free Software Foundation; either version 2, or (at your option) |
| 9 | any later version. | 9 | any later version. |
| 10 | 10 | ||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | 11 | GNU Emacs is distributed in the hope that it will be useful, |
| @@ -1431,49 +1431,67 @@ defvar_per_buffer (namestring, address, doc) | |||
| 1431 | 1431 | ||
| 1432 | init_lread () | 1432 | init_lread () |
| 1433 | { | 1433 | { |
| 1434 | char *normal = PATH_LOADSEARCH; | 1434 | char *normal; |
| 1435 | Lisp_Object normal_path; | ||
| 1436 | 1435 | ||
| 1437 | /* Compute the default load-path. */ | 1436 | /* Compute the default load-path. */ |
| 1438 | #ifndef CANNOT_DUMP | 1437 | #ifdef CANNOT_DUMP |
| 1439 | /* If running a dumped Emacs in which load-path was set before dumping | 1438 | normal = PATH_LOADSEARCH; |
| 1440 | to a nonstandard value, use that value. */ | 1439 | Vload_path = decode_env_path ("", normal); |
| 1441 | if (initialized | 1440 | #else |
| 1442 | && !(XTYPE (Vload_path) == Lisp_Cons | 1441 | if (NILP (Vpurify_flag)) |
| 1443 | && XTYPE (XCONS (Vload_path)->car) == Lisp_String | 1442 | normal = PATH_LOADSEARCH; |
| 1444 | && !strcmp (XSTRING (XCONS (Vload_path)->car)->data, "../lisp"))) | ||
| 1445 | normal_path = Vload_path; | ||
| 1446 | else | 1443 | else |
| 1447 | #endif | 1444 | normal = PATH_DUMPLOADSEARCH; |
| 1448 | { | ||
| 1449 | normal_path = decode_env_path ("", normal); | ||
| 1450 | 1445 | ||
| 1451 | Vload_path = normal_path; | 1446 | /* In a dumped Emacs, we normally have to reset the value of |
| 1452 | } | 1447 | Vload_path from PATH_LOADSEARCH, since the value that was dumped |
| 1448 | uses ../lisp, instead of the path of the installed elisp | ||
| 1449 | libraries. However, if it appears that Vload_path was changed | ||
| 1450 | from the default before dumping, don't override that value. */ | ||
| 1451 | { | ||
| 1452 | Lisp_Object normal_path; | ||
| 1453 | |||
| 1454 | normal_path = decode_env_path ("", normal); | ||
| 1455 | |||
| 1456 | if ( | ||
| 1457 | if (initialized | ||
| 1458 | || EQ (Vload_path, initial_path)) | ||
| 1459 | Vload_path = decode_env_path ("", normal); | ||
| 1460 | #endif | ||
| 1453 | 1461 | ||
| 1454 | /* Warn if dirs in the *standard* path don't exist. */ | 1462 | /* Warn if dirs in the *standard* path don't exist. */ |
| 1455 | for (; !NILP (normal_path); normal_path = XCONS (normal_path)->cdr) | 1463 | { |
| 1456 | { | 1464 | Lisp_Object path_tail; |
| 1457 | Lisp_Object dirfile; | ||
| 1458 | dirfile = Fcar (normal_path); | ||
| 1459 | if (!NILP (dirfile)) | ||
| 1460 | { | ||
| 1461 | dirfile = Fdirectory_file_name (dirfile); | ||
| 1462 | if (access (XSTRING (dirfile)->data, 0) < 0) | ||
| 1463 | printf ("Warning: lisp library (%s) does not exist.\n", | ||
| 1464 | XSTRING (Fcar (normal_path))->data); | ||
| 1465 | } | ||
| 1466 | } | ||
| 1467 | 1465 | ||
| 1468 | if (egetenv ("EMACSLOADPATH")) | 1466 | for (path_tail = Vload_path; |
| 1467 | !NILP (path_tail); | ||
| 1468 | path_tail = XCONS (path_tail)->cdr) | ||
| 1469 | { | ||
| 1470 | Lisp_Object dirfile; | ||
| 1471 | dirfile = Fcar (path_tail); | ||
| 1472 | if (XTYPE (dirfile) == Lisp_String) | ||
| 1473 | { | ||
| 1474 | dirfile = Fdirectory_file_name (dirfile); | ||
| 1475 | if (access (XSTRING (dirfile)->data, 0) < 0) | ||
| 1476 | printf ("Warning: lisp library (%s) does not exist.\n", | ||
| 1477 | XSTRING (Fcar (path_tail))->data); | ||
| 1478 | } | ||
| 1479 | } | ||
| 1480 | } | ||
| 1481 | |||
| 1482 | /* If the EMACSLOADPATH environment variable is set, use its value. | ||
| 1483 | This doesn't apply if we're dumping. */ | ||
| 1484 | if (NILP (Vpurify_flag) | ||
| 1485 | && egetenv ("EMACSLOADPATH")) | ||
| 1469 | Vload_path = decode_env_path ("EMACSLOADPATH", normal); | 1486 | Vload_path = decode_env_path ("EMACSLOADPATH", normal); |
| 1470 | #ifndef CANNOT_DUMP | ||
| 1471 | if (!NILP (Vpurify_flag)) | ||
| 1472 | Vload_path = Fcons (build_string ("../lisp"), Vload_path); | ||
| 1473 | #endif | ||
| 1474 | 1487 | ||
| 1475 | Vvalues = Qnil; | 1488 | Vvalues = Qnil; |
| 1476 | 1489 | ||
| 1490 | if (initialized) | ||
| 1491 | initial_path = Qnil; | ||
| 1492 | else | ||
| 1493 | initial_path = Vload_path; | ||
| 1494 | |||
| 1477 | load_in_progress = 0; | 1495 | load_in_progress = 0; |
| 1478 | } | 1496 | } |
| 1479 | 1497 | ||