aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Blandy1992-05-10 18:15:10 +0000
committerJim Blandy1992-05-10 18:15:10 +0000
commite065a56e2d6322cba165ceb5c1d46cc59c5a5148 (patch)
tree4b00ff121a271a6b9e8df84cf7eb1fb340be0e3d
parent1b1f8f85bf08bd6b1cdb5ca8d731ff3b12ff60d2 (diff)
downloademacs-e065a56e2d6322cba165ceb5c1d46cc59c5a5148.tar.gz
emacs-e065a56e2d6322cba165ceb5c1d46cc59c5a5148.zip
*** empty log message ***
-rw-r--r--Makefile.in3
-rwxr-xr-xconfigure1.in57
-rw-r--r--lib-src/Makefile.in32
-rw-r--r--lib-src/make-docfile.c12
-rw-r--r--lisp/comint.el34
-rw-r--r--lisp/files.el4
-rw-r--r--lisp/textmodes/fill.el32
-rw-r--r--src/.gdbinit59
-rw-r--r--src/alloc.c8
-rw-r--r--src/callproc.c20
-rw-r--r--src/data.c6
-rw-r--r--src/emacs.c5
-rw-r--r--src/filelock.c2
-rw-r--r--src/floatfns.c7
-rw-r--r--src/keyboard.c4
-rw-r--r--src/lisp.h2
-rw-r--r--src/lread.c8
-rw-r--r--src/process.c5
-rw-r--r--src/search.c8
-rw-r--r--src/sysdep.c25
20 files changed, 185 insertions, 148 deletions
diff --git a/Makefile.in b/Makefile.in
index 13c3ed38263..f38779b75cf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -122,12 +122,13 @@ removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
122src/paths.h: Makefile src/paths.h.in 122src/paths.h: Makefile src/paths.h.in
123 lisppath=`echo ${lisppath} | ${removenullpaths}` ; \ 123 lisppath=`echo ${lisppath} | ${removenullpaths}` ; \
124 buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \ 124 buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \
125 /bin/sed < src/paths.h.in > src/paths.h \ 125 /bin/sed < src/paths.h.in > src/paths.h.tmp \
126 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \ 126 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \
127 -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \ 127 -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
128 -e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";' \ 128 -e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";' \
129 -e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";' \ 129 -e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";' \
130 -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";' 130 -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";'
131 ./move-if-change src/paths.h.tmp src/paths.h
131 132
132src: lib-src 133src: lib-src
133 134
diff --git a/configure1.in b/configure1.in
index e75009351f1..83f1196f8fc 100755
--- a/configure1.in
+++ b/configure1.in
@@ -28,7 +28,15 @@
28# config.status is removed. 28# config.status is removed.
29# 29#
30 30
31progname=$0 31# Remove any leading "." elements from the path name. When this
32# script is invoked from the config.status script, a new ./ gets added
33# to the the front of the path, resulting in a "././" prefix. That
34# prefix is then recorded in the resulting config.status file, so
35# basically each time config.status is used, it prepends another "./"
36# to the filename. This wouldn't be a problem, except that since
37# progname gets recorded in all the Makefiles this script produces,
38# move-if-changed thinks they're different when they're not.
39progname="`echo $0 | sed 's:^\(\./\)*::'`"
32 40
33short_usage="Type \`${progname} -usage' for more information about options." 41short_usage="Type \`${progname} -usage' for more information about options."
34 42
@@ -99,6 +107,9 @@ lockdir=""
99window_system="" 107window_system=""
100have_x_menu="" 108have_x_menu=""
101 109
110# Record all the arguments, so we can save them in config.status.
111arguments="$*"
112
102echo "Examining options." 113echo "Examining options."
103while [ $# != 0 ]; do 114while [ $# != 0 ]; do
104 arg="$1" 115 arg="$1"
@@ -468,14 +479,15 @@ for flag in `echo ${config_h_opts} | tr ':' ' '`; do
468 esac 479 esac
469 sed_flags="${sed_flags} ${f}" 480 sed_flags="${sed_flags} ${f}"
470done 481done
471rm -f src/config.h 482chmod +w -f src/config.h
472eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h' 483eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h.tmp'
484./move-if-change src/config.h.tmp src/config.h
473# Remind people not to edit this. 485# Remind people not to edit this.
474chmod -w src/config.h 486chmod -w src/config.h
475 487
476# Modify the parameters in the top makefile. 488# Modify the parameters in the top makefile.
477echo "Producing ./Makefile from ./Makefile.in." 489echo "Producing ./Makefile from ./Makefile.in."
478rm -f ./Makefile 490chmod +w -f ./Makefile
479(echo "# This file is generated by \`${progname}' from \`./Makefile.in'. 491(echo "# This file is generated by \`${progname}' from \`./Makefile.in'.
480# If you are thinking about editing it, you should seriously consider 492# If you are thinking about editing it, you should seriously consider
481# editing \`./Makefile.in' itself, or running \`${progname}' instead." 493# editing \`./Makefile.in' itself, or running \`${progname}' instead."
@@ -494,13 +506,14 @@ rm -f ./Makefile
494 -e 's;^\(libdir=\).*$;\1'"${libdir};" \ 506 -e 's;^\(libdir=\).*$;\1'"${libdir};" \
495 -e 's;^\(mandir=\).*$;\1'"${mandir};" \ 507 -e 's;^\(mandir=\).*$;\1'"${mandir};" \
496 -e 's;^\(infodir=\).*$;\1'"${infodir};" \ 508 -e 's;^\(infodir=\).*$;\1'"${infodir};" \
497) > ./Makefile 509) > ./Makefile.tmp
510./move-if-change Makefile.tmp Makefile
498# Remind people not to edit this. 511# Remind people not to edit this.
499chmod -w ./Makefile 512chmod -w ./Makefile
500 513
501# Modify the parameters in the `build-install' script. 514# Modify the parameters in the `build-install' script.
502echo "Producing ./build-install from ./build-install.in." 515echo "Producing ./build-install from ./build-install.in."
503rm -f ./build-install 516chmod +w -f ./build-install
504(echo "# This file is generated by \`${progname}' from \`./build-install.in'. 517(echo "# This file is generated by \`${progname}' from \`./build-install.in'.
505# If you are thinking about editing it, you should seriously consider 518# If you are thinking about editing it, you should seriously consider
506# editing \`./build-install.in' itself, or running \`${progname}' instead." 519# editing \`./build-install.in' itself, or running \`${progname}' instead."
@@ -510,32 +523,35 @@ rm -f ./build-install
510 -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \ 523 -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
511 -e 's;^\(datadir=\).*$;\1'"${datadir};" \ 524 -e 's;^\(datadir=\).*$;\1'"${datadir};" \
512 -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \ 525 -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
513 -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install 526 -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
527./move-if-change build-install.tmp build-install
514# Remind people not to edit this. 528# Remind people not to edit this.
515chmod -w build-install 529chmod -w build-install
516chmod +x build-install 530chmod +x build-install
517 531
518# Modify the parameters in the src makefile. 532# Modify the parameters in the src makefile.
519echo "Producing src/Makefile from src/Makefile.in." 533echo "Producing src/Makefile from src/Makefile.in."
520rm -f src/Makefile 534chmod +w -f src/Makefile
521(echo "# This file is generated by \`${progname}' from \`Makefile.in'. 535(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
522# If you are thinking about editing it, you should seriously consider 536# If you are thinking about editing it, you should seriously consider
523# editing \`Makefile.in' itself, or running \`${progname}' instead." 537# editing \`Makefile.in' itself, or running \`${progname}' instead."
524 /bin/sed < src/Makefile.in \ 538 /bin/sed < src/Makefile.in \
525 -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile 539 -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile.tmp
540./move-if-change src/Makefile.tmp src/Makefile
526# Remind people not to edit this. 541# Remind people not to edit this.
527chmod -w src/Makefile 542chmod -w src/Makefile
528 543
529# Modify the parameters in the lib-src makefile. 544# Modify the parameters in the lib-src makefile.
530echo "Producing lib-src/Makefile from lib-src/Makefile.in." 545echo "Producing lib-src/Makefile from lib-src/Makefile.in."
531rm -f lib-src/Makefile 546chmod +w -f lib-src/Makefile
532(echo "# This file is generated by \`${progname}' from \`Makefile.in'. 547(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
533# If you are thinking about editing it, you should seriously consider 548# If you are thinking about editing it, you should seriously consider
534# editing \`Makefile.in' itself, or running \`${progname}' instead." 549# editing \`Makefile.in' itself, or running \`${progname}' instead."
535 /bin/sed < lib-src/Makefile.in \ 550 /bin/sed < lib-src/Makefile.in \
536 -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};" \ 551 -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};" \
537 -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \ 552 -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \
538 -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile 553 -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile.tmp
554./move-if-change lib-src/Makefile.tmp lib-src/Makefile
539# Remind people not to edit this. 555# Remind people not to edit this.
540chmod -w lib-src/Makefile 556chmod -w lib-src/Makefile
541 557
@@ -578,24 +594,7 @@ echo "# This file is generated by \`${progname}.'
578# running \`${progname}' instead. 594# running \`${progname}' instead.
579" >> config.status 595" >> config.status
580echo "${message}" >> config.status 596echo "${message}" >> config.status
581echo "'${progname}' \\ 597echo "'./${progname}' ${arguments} "'$@' >> config.status
582 -machine='${machine}' \\
583 -opsystem='${opsystem}' \\
584 -g=${g} \\
585 -O=${O} \\
586 -cc=${cc} \\
587 -libdir='${libdir}' \\
588 -datadir='${datadir}' \\
589 -bindir='${bindir}' \\
590 -lisppath='${lisppath}' \\
591 -lockdir='${lockdir}' \\
592 -window_system='${window_system}' \\
593 -have_x_menu='${have_x_menu}' \\
594 -gnu_malloc='${gnu_malloc}' \\
595 -rel_alloc='${rel_alloc}' \\
596 -highpri='${highpri}' \\
597 -lisp_float_type='${lisp_float_type}' \\
598 $@" >> config.status
599# Remind people not to edit this. 598# Remind people not to edit this.
600chmod -w config.status 599chmod -w config.status
601chmod +x config.status 600chmod +x config.status
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 9df18a74517..b3bf673bfa8 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -118,52 +118,52 @@ getopt.o: getopt.c getopt.h
118getopt1.o: getopt1.c getopt.h 118getopt1.o: getopt1.c getopt.h
119 119
120etags: etags.c $(GETOPTDEPS) 120etags: etags.c $(GETOPTDEPS)
121 $(CC) -o etags ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) 121 $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
122 122
123ctags: etags.c $(GETOPTDEPS) 123ctags: etags.c $(GETOPTDEPS)
124 $(CC) -o ctags ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) 124 $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
125 125
126wakeup: wakeup.c 126wakeup: wakeup.c
127 $(CC) -o wakeup ${CFLAGS} wakeup.c $(LOADLIBES) 127 $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
128 128
129make-docfile: make-docfile.c 129make-docfile: make-docfile.c
130 $(CC) -o make-docfile ${CFLAGS} make-docfile.c $(LOADLIBES) 130 $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
131 131
132digest-doc: digest-doc.c 132digest-doc: digest-doc.c
133 $(CC) -o digest-doc ${CFLAGS} digest-doc.c $(LOADLIBES) 133 $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc
134 134
135sorted-doc: sorted-doc.c 135sorted-doc: sorted-doc.c
136 $(CC) -o sorted-doc ${CFLAGS} sorted-doc.c $(LOADLIBES) 136 $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
137 137
138b2m: b2m.c 138b2m: b2m.c
139 $(CC) -o b2m ${CFLAGS} b2m.c $(LOADLIBES) 139 $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
140 140
141movemail: movemail.c ../src/config.h 141movemail: movemail.c ../src/config.h
142 $(CC) -o movemail ${CFLAGS} movemail.c $(LOADLIBES) 142 $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
143 143
144cvtmail: cvtmail.c 144cvtmail: cvtmail.c
145 $(CC) -o cvtmail ${CFLAGS} cvtmail.c $(LOADLIBES) 145 $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
146 146
147fakemail: fakemail.c ../src/config.h 147fakemail: fakemail.c ../src/config.h
148 $(CC) -o fakemail ${CFLAGS} fakemail.c $(LOADLIBES) 148 $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
149 149
150yow: yow.c ../src/paths.h 150yow: yow.c ../src/paths.h
151 $(CC) -o yow ${CFLAGS} yow.c $(LOADLIBES) 151 $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
152 152
153env: env.c ../src/config.h 153env: env.c ../src/config.h
154 $(CC) -o env -DEMACS ${CFLAGS} env.c $(LOADLIBES) 154 $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
155 155
156emacsserver: emacsserver.c ../src/config.h 156emacsserver: emacsserver.c ../src/config.h
157 $(CC) -o emacsserver ${CFLAGS} emacsserver.c $(LOADLIBES) 157 $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
158 158
159emacsclient: emacsclient.c ../src/config.h 159emacsclient: emacsclient.c ../src/config.h
160 $(CC) -o emacsclient ${CFLAGS} emacsclient.c $(LOADLIBES) 160 $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
161 161
162hexl: hexl.c 162hexl: hexl.c
163 $(CC) -o hexl ${CFLAGS} hexl.c $(LOADLIBES) 163 $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
164 164
165timer: getdate.o timer.o 165timer: getdate.o timer.o
166 $(CC) -o timer $(CFLAGS) getdate.o timer.o 166 $(CC) $(CFLAGS) getdate.o timer.o -o timer
167 167
168# These are NOT included in INSTALLABLES or UTILITIES. 168# These are NOT included in INSTALLABLES or UTILITIES.
169# See ../src/ymakefile. 169# See ../src/ymakefile.
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index 1af038027e0..2436ac6458f 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -1,11 +1,11 @@
1/* Generate doc-string file for GNU Emacs from source files. 1/* Generate doc-string file for GNU Emacs from source files.
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
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,
@@ -166,7 +166,13 @@ write_c_args (out, buf, minargs, maxargs)
166 else if (c == ' ' && space) 166 else if (c == ' ' && space)
167 continue; 167 continue;
168 space = (c == ' '); 168 space = (c == ' ');
169 putc (c, out); 169
170 /* Print the C arguments as they would appear in Elisp;
171 print underscores as hyphens. */
172 if (c == '_')
173 putc ('-');
174 else
175 putc (c, out);
170 } 176 }
171 putc ('\n', out); 177 putc ('\n', out);
172} 178}
diff --git a/lisp/comint.el b/lisp/comint.el
index ab52362b064..91d480e56fd 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -333,34 +333,16 @@ buffer. The hook comint-exec-hook is run after each exec."
333 buffer)) 333 buffer))
334 334
335;;; This auxiliary function cranks up the process for comint-exec in 335;;; This auxiliary function cranks up the process for comint-exec in
336;;; the appropriate environment. It is twice as long as it should be 336;;; the appropriate environment.
337;;; because emacs has two distinct mechanisms for manipulating the
338;;; process environment, selected at compile time with the
339;;; MAINTAIN-ENVIRONMENT #define. In one case, process-environment
340;;; is bound; in the other it isn't.
341 337
342(defun comint-exec-1 (name buffer command switches) 338(defun comint-exec-1 (name buffer command switches)
343 (if (boundp 'process-environment) ; Not a completely reliable test. 339 (let ((process-environment
344 (let ((process-environment 340 (comint-update-env process-environment
345 (comint-update-env process-environment 341 (list (format "TERMCAP=emacs:co#%d:tc=unknown"
346 (list (format "TERMCAP=emacs:co#%d:tc=unknown" 342 (screen-width))
347 (screen-width)) 343 "TERM=emacs"
348 "TERM=emacs" 344 "EMACS=t"))))
349 "EMACS=t")))) 345 (apply 'start-process name buffer command switches)))
350 (apply 'start-process name buffer command switches))
351
352 (let ((tcapv (getenv "TERMCAP"))
353 (termv (getenv "TERM"))
354 (emv (getenv "EMACS")))
355 (unwind-protect
356 (progn (setenv "TERMCAP" (format "emacs:co#%d:tc=unknown"
357 (screen-width)))
358 (setenv "TERM" "emacs")
359 (setenv "EMACS" "t")
360 (apply 'start-process name buffer command switches))
361 (setenv "TERMCAP" tcapv)
362 (setenv "TERM" termv)
363 (setenv "EMACS" emv)))))
364 346
365 347
366 348
diff --git a/lisp/files.el b/lisp/files.el
index 2e81fd6fdb0..1827bf9e7a1 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1046,8 +1046,8 @@ Optional second argument EXITING means ask about certain non-file buffers
1046 (buffer-name buffer))))))) 1046 (buffer-name buffer)))))))
1047 (function 1047 (function
1048 (lambda (buffer) 1048 (lambda (buffer)
1049 (set-buffer buffer) 1049 (set-buffer buffer)
1050 (save-buffer))) 1050 (save-buffer)))
1051 (buffer-list) 1051 (buffer-list)
1052 '("buffer" "buffers" "save"))) 1052 '("buffer" "buffers" "save")))
1053 (message "(No files need saving)")))) 1053 (message "(No files need saving)"))))
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index ad15fed9ee0..7ea751f9a37 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -1,5 +1,5 @@
1;; Fill commands for Emacs 1;; Fill commands for Emacs
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
@@ -18,6 +18,13 @@
18;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 18;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19 19
20 20
21(defconst fill-individual-varying-indent nil
22 "*Controls criterion for a new paragraph in `fill-individual-paragraphs'.
23Non-nil means changing indent doesn't end a paragraph.
24That mode can handle paragraphs with extra indentation on the first line,
25but it requires separator lines between paragraphs.
26Nil means that any change in indentation starts a new paragraph.")
27
21(defun set-fill-prefix () 28(defun set-fill-prefix ()
22 "Set the fill-prefix to the current line up to point. 29 "Set the fill-prefix to the current line up to point.
23Filling expects lines to start with the fill prefix and 30Filling expects lines to start with the fill prefix and
@@ -219,7 +226,13 @@ Prefix arg (non-nil third arg, if called from program) means justify as well."
219 226
220(defun fill-individual-paragraphs (min max &optional justifyp mailp) 227(defun fill-individual-paragraphs (min max &optional justifyp mailp)
221 "Fill each paragraph in region according to its individual fill prefix. 228 "Fill each paragraph in region according to its individual fill prefix.
222Calling from a program, pass range to fill as first two arguments. 229
230If `fill-individual-varying-indent' is non-nil,
231then a mere change in indentation does not end a paragraph. In this mode,
232the indentation for a paragraph is the minimum indentation of any line in it.
233
234When calling from a program, pass range to fill as first two arguments.
235
223Optional third and fourth arguments JUSTIFY-FLAG and MAIL-FLAG: 236Optional third and fourth arguments JUSTIFY-FLAG and MAIL-FLAG:
224JUSTIFY-FLAG to justify paragraphs (prefix arg), 237JUSTIFY-FLAG to justify paragraphs (prefix arg),
225MAIL-FLAG for a mail message, i. e. don't fill header lines." 238MAIL-FLAG for a mail message, i. e. don't fill header lines."
@@ -252,12 +265,23 @@ MAIL-FLAG for a mail message, i. e. don't fill header lines."
252 (forward-line 1) 265 (forward-line 1)
253 ;; Now stop the loop if end of paragraph. 266 ;; Now stop the loop if end of paragraph.
254 (and (not (eobp)) 267 (and (not (eobp))
268 (if fill-individual-varying-indent
269 ;; If this line is a separator line, with or
270 ;; without prefix, end the paragraph.
271 (and
255 (not (looking-at paragraph-separate)) 272 (not (looking-at paragraph-separate))
256 (save-excursion 273 (save-excursion
257 (not (and (looking-at fill-prefix-regexp) 274 (not (and (looking-at fill-prefix-regexp)
258 (progn (forward-char (length fill-prefix)) 275 (progn (forward-char (length fill-prefix))
259 (looking-at paragraph-separate)))))))) 276 (looking-at paragraph-separate))))))
277 ;; If this line has more or less indent
278 ;; than the fill prefix wants, end the paragraph.
279 (and (looking-at fill-prefix-regexp)
280 (save-excursion
281 (not (progn (forward-char (length fill-prefix))
282 (or (looking-at paragraph-separate)
283 (looking-at paragraph-start))))))))))
260 ;; Fill this paragraph, but don't add a newline at the end. 284 ;; Fill this paragraph, but don't add a newline at the end.
261 (let ((had-newline (bolp))) 285 (let ((had-newline (bolp)))
262 (fill-region-as-paragraph start (point) justifyp) 286 (fill-region-as-paragraph start (point) justifyp)
263 (or had-newline (delete-char -1)))))))) \ No newline at end of file 287 (or had-newline (delete-char -1))))))))
diff --git a/src/.gdbinit b/src/.gdbinit
index bd6646da5fc..55000f571eb 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -3,7 +3,6 @@ define pr
3set Fprin1 ($, Qexternal_debugging_output) 3set Fprin1 ($, Qexternal_debugging_output)
4echo \n 4echo \n
5end 5end
6
7document pr 6document pr
8Print the emacs s-expression which is $. 7Print the emacs s-expression which is $.
9Works only when an inferior emacs is executing. 8Works only when an inferior emacs is executing.
@@ -13,73 +12,105 @@ define xtype
13print (enum Lisp_Type) (($ >> 24) & 0x7f) 12print (enum Lisp_Type) (($ >> 24) & 0x7f)
14p $$ 13p $$
15end 14end
15document xtype
16Print the type of $, assuming it is an Elisp value.
17end
16 18
17define xint 19define xint
18print (($ & 0x00ffffff) << 8) >> 8 20print (($ & 0x00ffffff) << 8) >> 8
19end 21end
22document xint
23Print $, assuming it is an Elisp integer. This gets the sign right.
24end
20 25
21define xptr 26define xptr
22print (void *) ($ & 0x00ffffff) 27print (void *) ($ & 0x00ffffff)
23end 28end
29document xptr
30Print the pointer portion of $, assuming it is an Elisp value.
31end
24 32
25define xwindow 33define xwindow
26print (struct window *) ($ & 0x00ffffff) 34print (struct window *) ($ & 0x00ffffff)
27end 35end
36document xwindow
37Print $ as a window pointer, assuming it is an Elisp window value.
38end
28 39
29define xmarker 40define xmarker
30print (struct Lisp_Marker *) ($ & 0x00ffffff) 41print (struct Lisp_Marker *) ($ & 0x00ffffff)
31end 42end
43document xmarker
44Print $ as a marker pointer, assuming it is an Elisp marker value.
45end
32 46
33define xbuffer 47define xbuffer
34print (struct buffer *) ($ & 0x00ffffff) 48print (struct buffer *) ($ & 0x00ffffff)
35end 49end
50document xbuffer
51Print $ as a buffer pointer, assuming it is an Elisp buffer value.
52end
36 53
37define xsymbol 54define xsymbol
38print (struct Lisp_Symbol *) ($ & 0x00ffffff) 55print (struct Lisp_Symbol *) ($ & 0x00ffffff)
39print &$->name->data 56print &$->name->data
40print $$ 57print $$
41end 58end
59document xsymbol
60Print the name and address of the symbol $.
61This command assumes that $ is an Elisp symbol value.
62end
42 63
43define xstring 64define xstring
44print (struct Lisp_String *) ($ & 0x00ffffff) 65print (struct Lisp_String *) ($ & 0x00ffffff)
45print ($->data[0])@($->size) 66print ($->size > 10000) ? "big string" : ($->data[0])@($->size)
46print $$ 67print $$
47end 68end
48
49document xstring 69document xstring
50Assume that $ is an Emacs Lisp string object, print the string's 70Print the contents and address of the string $.
51contents, and set $ to a pointer to the string. 71This command assumes that $ is an Elisp string value.
52end 72end
53 73
54define xvector 74define xvector
55set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff) 75set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff)
56print ($temp->contents[0])@($temp->size) 76print ($temp->size > 10000) ? "big vector" : ($temp->contents[0])@($temp->size)
57print $temp 77print $temp
58end 78end
59
60document xvector 79document xvector
61Assume that $ is an Emacs Lisp vector object, print the vector's 80Print the contents and address of the vector $.
62contents, and set $ to a pointer to the vector. 81This command assumes that $ is an Elisp vector value.
63end 82end
64 83
65define xscreen 84define xscreen
66print (struct screen *) ($ & 0x00ffffff) 85print (struct screen *) ($ & 0x00ffffff)
67end 86end
87document xwindow
88Print $ as a screen pointer, assuming it is an Elisp screen value.
89end
68 90
69define xcons 91define xcons
70print (struct Lisp_Cons *) ($ & 0x00ffffff) 92print (struct Lisp_Cons *) ($ & 0x00ffffff)
71print *$ 93print *$
72end 94end
95document xcons
96Print the contents of $, assuming it is an Elisp cons.
97end
73 98
74define xcar 99define xcar
75print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0) 100print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0)
76end 101end
102document xcar
103Print the car of $, assuming it is an Elisp pair.
104end
77 105
78define xcdr 106define xcdr
79print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0) 107print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0)
80end 108end
109document xcdr
110Print the cdr of $, assuming it is an Elisp pair.
111end
81 112
82set prettyprint on 113set print pretty on
83 114
84# Don't let abort actually run, as it will make 115# Don't let abort actually run, as it will make
85# stdio stop working and therefore the `pr' command below as well. 116# stdio stop working and therefore the `pr' command below as well.
@@ -90,8 +121,8 @@ break abort
90# instead... 121# instead...
91break _XPrintDefaultError 122break _XPrintDefaultError
92 123
93unset env TERMCAP 124unset environment TERMCAP
94unset env TERM 125unset environment TERM
95set env DISPLAY :0.0 126set environment DISPLAY :0.0
96info env DISPLAY 127show environment DISPLAY
97set args -q 128set args -q
diff --git a/src/alloc.c b/src/alloc.c
index b4637970dd7..9b7da1d0f5b 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -29,6 +29,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
29#endif /* MULTI_SCREEN */ 29#endif /* MULTI_SCREEN */
30#endif 30#endif
31 31
32#include "syssignal.h"
33
32#define max(A,B) ((A) > (B) ? (A) : (B)) 34#define max(A,B) ((A) > (B) ? (A) : (B))
33 35
34/* Macro to verify that storage intended for Lisp objects is not 36/* Macro to verify that storage intended for Lisp objects is not
@@ -549,11 +551,11 @@ DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0,
549{ 551{
550 register Lisp_Object val; 552 register Lisp_Object val;
551 register struct Lisp_Marker *p; 553 register struct Lisp_Marker *p;
554
552 /* Detact the bug that seems to have caused this to be called from 555 /* Detact the bug that seems to have caused this to be called from
553 a signal handler. */ 556 a signal handler. */
554 int mask, dummy; 557 SIGMASKTYPE mask;
555 EMACS_SIGSETMASK (-1, mask); 558 mask = sigblock (SIGEMPTYMASK);
556 EMACS_SIGSETMASK (mask, dummy);
557 if (mask != 0) 559 if (mask != 0)
558 abort (); 560 abort ();
559 561
diff --git a/src/callproc.c b/src/callproc.c
index 1a564ad7ccc..9544ecf0a21 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -195,12 +195,9 @@ If you quit, the process is killed with SIGKILL.")
195 Protect it from permanent change. */ 195 Protect it from permanent change. */
196 register char **save_environ = environ; 196 register char **save_environ = environ;
197 register int fd1 = fd[1]; 197 register int fd1 = fd[1];
198 char **env;
199
200 env = environ;
201 198
202#if 0 /* Some systems don't have sigblock. */ 199#if 0 /* Some systems don't have sigblock. */
203 EMACS_SIGBLOCK (sigmask (SIGCHLD), mask); 200 mask = sigblock (sigmask (SIGCHLD));
204#endif 201#endif
205 202
206 /* Record that we're about to create a synchronous process. */ 203 /* Record that we're about to create a synchronous process. */
@@ -217,18 +214,14 @@ If you quit, the process is killed with SIGKILL.")
217#else 214#else
218 setpgrp (pid, pid); 215 setpgrp (pid, pid);
219#endif /* USG */ 216#endif /* USG */
220 child_setup (filefd, fd1, fd1, new_argv, env, 0, current_dir); 217 child_setup (filefd, fd1, fd1, new_argv, 0, current_dir);
221 } 218 }
222 219
223#if 0 220#if 0
224 /* Tell SIGCHLD handler to look for this pid. */ 221 /* Tell SIGCHLD handler to look for this pid. */
225 synch_process_pid = pid; 222 synch_process_pid = pid;
226 /* Now let SIGCHLD come through. */ 223 /* Now let SIGCHLD come through. */
227 { 224 sigsetmask (mask);
228 int dummy;
229
230 EMACS_SIGSETMASK (mask, dummy);
231 }
232#endif 225#endif
233 226
234 environ = save_environ; 227 environ = save_environ;
@@ -368,13 +361,14 @@ If you quit, the process is killed with SIGKILL.")
368 a decent error from within the child, this should be verified as an 361 a decent error from within the child, this should be verified as an
369 executable directory by the parent. */ 362 executable directory by the parent. */
370 363
371child_setup (in, out, err, new_argv, env, set_pgrp, current_dir) 364child_setup (in, out, err, new_argv, set_pgrp, current_dir)
372 int in, out, err; 365 int in, out, err;
373 register char **new_argv; 366 register char **new_argv;
374 char **env;
375 int set_pgrp; 367 int set_pgrp;
376 Lisp_Object current_dir; 368 Lisp_Object current_dir;
377{ 369{
370 char **env;
371
378 register int pid = getpid(); 372 register int pid = getpid();
379 373
380 setpriority (PRIO_PROCESS, pid, 0); 374 setpriority (PRIO_PROCESS, pid, 0);
@@ -424,7 +418,7 @@ child_setup (in, out, err, new_argv, env, set_pgrp, current_dir)
424 /* new_length + 1 to include terminating 0 */ 418 /* new_length + 1 to include terminating 0 */
425 env = new_env = (char **) alloca ((new_length + 1) * sizeof (char *)); 419 env = new_env = (char **) alloca ((new_length + 1) * sizeof (char *));
426 420
427 /* Copy the env strings into new_env. */ 421 /* Copy the Vprocess_alist strings into new_env. */
428 for (tem = Vprocess_environment; 422 for (tem = Vprocess_environment;
429 (XTYPE (tem) == Lisp_Cons 423 (XTYPE (tem) == Lisp_Cons
430 && XTYPE (XCONS (tem)->car) == Lisp_String); 424 && XTYPE (XCONS (tem)->car) == Lisp_String);
diff --git a/src/data.c b/src/data.c
index 48af4ec9149..4e95494d593 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1959,11 +1959,7 @@ arith_error (signo)
1959#ifdef BSD4_1 1959#ifdef BSD4_1
1960 sigrelse (SIGFPE); 1960 sigrelse (SIGFPE);
1961#else /* not BSD4_1 */ 1961#else /* not BSD4_1 */
1962 { 1962 sigsetmask (SIGEMPTYMASK);
1963 int dummy;
1964
1965 EMACS_SIGSETMASK (SIGEMPTYMASK, dummy);
1966 }
1967#endif /* not BSD4_1 */ 1963#endif /* not BSD4_1 */
1968 1964
1969 Fsignal (Qarith_error, Qnil); 1965 Fsignal (Qarith_error, Qnil);
diff --git a/src/emacs.c b/src/emacs.c
index 90a86b26723..104ba671253 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -721,7 +721,10 @@ decode_env_path (evarname, defalt)
721 /* It's okay to use getenv here, because this function is only used 721 /* It's okay to use getenv here, because this function is only used
722 to initialize variables when Emacs starts up, and isn't called 722 to initialize variables when Emacs starts up, and isn't called
723 after that. */ 723 after that. */
724 path = (char *) getenv (evarname); 724 if (evarname != 0)
725 path = (char *) getenv (evarname);
726 else
727 path = 0;
725 if (!path) 728 if (!path)
726 path = defalt; 729 path = defalt;
727 lpath = Qnil; 730 lpath = Qnil;
diff --git a/src/filelock.c b/src/filelock.c
index 7a473753e58..b76ee689d55 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -65,7 +65,7 @@ char *superlock_path;
65 65
66/* Set LOCK to the name of the lock file for the filename FILE. 66/* Set LOCK to the name of the lock file for the filename FILE.
67 char *LOCK; Lisp_Object FILE; */ 67 char *LOCK; Lisp_Object FILE; */
68#define MAKE_LOCK_PATH (lock, file) \ 68#define MAKE_LOCK_PATH(lock, file) \
69 (lock = (char *) alloca (XSTRING (file)->size + strlen (lock_path) + 1), \ 69 (lock = (char *) alloca (XSTRING (file)->size + strlen (lock_path) + 1), \
70 fill_in_lock_file_name (lock, (file))) 70 fill_in_lock_file_name (lock, (file)))
71 71
diff --git a/src/floatfns.c b/src/floatfns.c
index c99ba487e71..20b90e63a85 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -22,6 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
22 22
23#include "config.h" 23#include "config.h"
24#include "lisp.h" 24#include "lisp.h"
25#include "syssignal.h"
25 26
26Lisp_Object Qarith_error; 27Lisp_Object Qarith_error;
27 28
@@ -509,11 +510,7 @@ float_error (signo)
509#ifdef BSD4_1 510#ifdef BSD4_1
510 sigrelse (SIGILL); 511 sigrelse (SIGILL);
511#else /* not BSD4_1 */ 512#else /* not BSD4_1 */
512 { 513 sigsetmask (SIGEMPTYMASK);
513 int dummy;
514
515 EMACS_SIGSETMASK (0, dummy);
516 }
517#endif /* not BSD4_1 */ 514#endif /* not BSD4_1 */
518#else 515#else
519 /* Must reestablish handler each time it is called. */ 516 /* Must reestablish handler each time it is called. */
diff --git a/src/keyboard.c b/src/keyboard.c
index 122fa247c39..e6139cfaf11 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -2105,9 +2105,9 @@ gobble_input (expected)
2105 if (interrupt_input) 2105 if (interrupt_input)
2106 { 2106 {
2107 SIGMASKTYPE mask; 2107 SIGMASKTYPE mask;
2108 EMACS_SIGBLOCKX (SIGIO, mask); 2108 mask = sigblockx (SIGIO);
2109 read_avail_input (expected); 2109 read_avail_input (expected);
2110 EMACS_SIGSETMASK (mask, mask); 2110 sigsetmask (mask);
2111 } 2111 }
2112 else 2112 else
2113#endif 2113#endif
diff --git a/src/lisp.h b/src/lisp.h
index c7dd07058eb..b263370dac6 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -269,7 +269,7 @@ Lisp_Object;
269/* Extract the value of a Lisp_Object as a signed integer. */ 269/* Extract the value of a Lisp_Object as a signed integer. */
270 270
271#ifndef XINT /* Some machines need to do this differently. */ 271#ifndef XINT /* Some machines need to do this differently. */
272#define XINT(a) (((a) << INTBITS-VALBITS) >> INTBITS-VALBITS) 272#define XINT(a) (((a) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS))
273#endif 273#endif
274 274
275/* Extract the value as an unsigned integer. This is a basis 275/* Extract the value as an unsigned integer. This is a basis
diff --git a/src/lread.c b/src/lread.c
index c3157c8d618..5ffa1ea5183 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1436,7 +1436,7 @@ init_lread ()
1436 /* Compute the default load-path. */ 1436 /* Compute the default load-path. */
1437#ifdef CANNOT_DUMP 1437#ifdef CANNOT_DUMP
1438 normal = PATH_LOADSEARCH; 1438 normal = PATH_LOADSEARCH;
1439 Vload_path = decode_env_path ("", normal); 1439 Vload_path = decode_env_path (0, normal);
1440#else 1440#else
1441 if (NILP (Vpurify_flag)) 1441 if (NILP (Vpurify_flag))
1442 normal = PATH_LOADSEARCH; 1442 normal = PATH_LOADSEARCH;
@@ -1452,12 +1452,12 @@ init_lread ()
1452 { 1452 {
1453 Lisp_Object dump_path; 1453 Lisp_Object dump_path;
1454 1454
1455 dump_path = decode_env_path ("", PATH_DUMPLOADSEARCH); 1455 dump_path = decode_env_path (0, PATH_DUMPLOADSEARCH);
1456 if (! NILP (Fequal (dump_path, Vload_path))) 1456 if (! NILP (Fequal (dump_path, Vload_path)))
1457 Vload_path = decode_env_path ("", normal); 1457 Vload_path = decode_env_path (0, normal);
1458 } 1458 }
1459 else 1459 else
1460 Vload_path = decode_env_path ("", normal); 1460 Vload_path = decode_env_path (0, normal);
1461#endif 1461#endif
1462 1462
1463 /* Warn if dirs in the *standard* path don't exist. */ 1463 /* Warn if dirs in the *standard* path don't exist. */
diff --git a/src/process.c b/src/process.c
index d9e2734957f..9ba48ef7d56 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1109,11 +1109,8 @@ create_process (process, new_argv)
1109#endif 1109#endif
1110 int pty_flag = 0; 1110 int pty_flag = 0;
1111 Lisp_Object current_dir; 1111 Lisp_Object current_dir;
1112 char **env;
1113 extern char **environ; 1112 extern char **environ;
1114 1113
1115 env = environ;
1116
1117 inchannel = outchannel = -1; 1114 inchannel = outchannel = -1;
1118 1115
1119#ifdef HAVE_PTYS 1116#ifdef HAVE_PTYS
@@ -1318,7 +1315,7 @@ create_process (process, new_argv)
1318 1315
1319 child_setup_tty (xforkout); 1316 child_setup_tty (xforkout);
1320 child_setup (xforkin, xforkout, xforkout, 1317 child_setup (xforkin, xforkout, xforkout,
1321 new_argv, env, 1, current_dir); 1318 new_argv, 1, current_dir);
1322 } 1319 }
1323 environ = save_environ; 1320 environ = save_environ;
1324 } 1321 }
diff --git a/src/search.c b/src/search.c
index 886f93f41c0..bd962d21491 100644
--- a/src/search.c
+++ b/src/search.c
@@ -111,11 +111,11 @@ signal_failure (arg)
111} 111}
112 112
113DEFUN ("looking-at", Flooking_at, Slooking_at, 1, 1, 0, 113DEFUN ("looking-at", Flooking_at, Slooking_at, 1, 1, 0,
114 "Return t if text after point matches regular expression PAT. 114 "Return t if text after point matches regular expression PAT.\n\
115This function modifies the match data that `match-beginning', 115This function modifies the match data that `match-beginning',\n\
116`match-end' and `match-data' access; save and restore the match 116`match-end' and `match-data' access; save and restore the match\n\
117data if you want to preserve them.") 117data if you want to preserve them.")
118") 118 "Return t if text after point matches regular expression PAT.")
119 (string) 119 (string)
120 Lisp_Object string; 120 Lisp_Object string;
121{ 121{
diff --git a/src/sysdep.c b/src/sysdep.c
index 62980380a68..5f6090a2460 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -638,11 +638,7 @@ reset_sigio ()
638request_sigio () 638request_sigio ()
639{ 639{
640#ifdef SIGWINCH 640#ifdef SIGWINCH
641 { 641 sigunblock (sigmask (SIGWINCH));
642 int dummy;
643
644 EMACS_SIGUNBLOCKX (SIGWINCH, dummy);
645 }
646#endif 642#endif
647 fcntl (0, F_SETFL, old_fcntl_flags | FASYNC); 643 fcntl (0, F_SETFL, old_fcntl_flags | FASYNC);
648 644
@@ -652,11 +648,7 @@ request_sigio ()
652unrequest_sigio () 648unrequest_sigio ()
653{ 649{
654#ifdef SIGWINCH 650#ifdef SIGWINCH
655 { 651 sigblock (sigmask (SIGWINCH));
656 int dummy;
657
658 EMACS_SIGBLOCK (SIGWINCH, dummy);
659 }
660#endif 652#endif
661 fcntl (0, F_SETFL, old_fcntl_flags); 653 fcntl (0, F_SETFL, old_fcntl_flags);
662 interrupts_deferred = 1; 654 interrupts_deferred = 1;
@@ -1882,6 +1874,19 @@ sys_signal (int signal_number, signal_handler_t action)
1882#endif /* DGUX */ 1874#endif /* DGUX */
1883} 1875}
1884 1876
1877#ifndef __GNUC__
1878/* If we're compiling with GCC, we don't need this function, since it
1879 can be written as a macro. */
1880sigset_t
1881sys_sigmask (int sig)
1882{
1883 sigset_t mask;
1884 sigemptyset (&mask);
1885 sigaddset (&mask, sig);
1886 return mask;
1887}
1888#endif
1889
1885int 1890int
1886sys_sigpause (sigset_t new_mask) 1891sys_sigpause (sigset_t new_mask)
1887{ 1892{