aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1992-04-19 08:53:55 +0000
committerJim Blandy1992-04-19 08:53:55 +0000
commit46947372a36a43d9931d151575ebec9bf6951797 (patch)
treead096de15b251a68891d5865add9d0b667eea9fd /src
parentf7dbcf3cf8d2e57c3637448f87da84e0db87f929 (diff)
downloademacs-46947372a36a43d9931d151575ebec9bf6951797.tar.gz
emacs-46947372a36a43d9931d151575ebec9bf6951797.zip
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in2
-rw-r--r--src/callint.c20
-rw-r--r--src/config.in26
-rw-r--r--src/indent.c8
-rw-r--r--src/lread.c84
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
11all: xmakefile doall 11all: xmakefile doall
12 12
13doall: 13doall:
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
4This file is part of GNU Emacs. 4This 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
180retry: 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
4This file is part of GNU Emacs. 4This 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
6GNU Emacs is free software; you can redistribute it and/or modify 6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by 7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option) 8the Free Software Foundation; either version 2, or (at your option)
9any later version. 9any later version.
10 10
11GNU Emacs is distributed in the hope that it will be useful, 11GNU Emacs is distributed in the hope that it will be useful,
@@ -1431,49 +1431,67 @@ defvar_per_buffer (namestring, address, doc)
1431 1431
1432init_lread () 1432init_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