*** empty log message ***
authorJim Blandy <jimb@redhat.com>
Sun, 10 May 1992 18:15:10 +0000 (18:15 +0000)
committerJim Blandy <jimb@redhat.com>
Sun, 10 May 1992 18:15:10 +0000 (18:15 +0000)
20 files changed:
Makefile.in
configure1.in
lib-src/Makefile.in
lib-src/make-docfile.c
lisp/comint.el
lisp/files.el
lisp/textmodes/fill.el
src/.gdbinit
src/alloc.c
src/callproc.c
src/data.c
src/emacs.c
src/filelock.c
src/floatfns.c
src/keyboard.c
src/lisp.h
src/lread.c
src/process.c
src/search.c
src/sysdep.c

index 13c3ed3..f38779b 100644 (file)
@@ -122,12 +122,13 @@ removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
 src/paths.h: Makefile src/paths.h.in
        lisppath=`echo ${lisppath} | ${removenullpaths}` ;              \
        buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;    \
-       /bin/sed < src/paths.h.in > src/paths.h                         \
+       /bin/sed < src/paths.h.in > src/paths.h.tmp                     \
        -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'          \
        -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
        -e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";'                     \
        -e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";'                    \
        -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";'
+       ./move-if-change src/paths.h.tmp src/paths.h
 
 src:   lib-src
 
index e750093..83f1196 100755 (executable)
 #      config.status is removed.
 #
 
-progname=$0
+# Remove any leading "." elements from the path name.  When this
+# script is invoked from the config.status script, a new ./ gets added
+# to the the front of the path, resulting in a "././" prefix.  That
+# prefix is then recorded in the resulting config.status file, so
+# basically each time config.status is used, it prepends another "./"
+# to the filename.  This wouldn't be a problem, except that since
+# progname gets recorded in all the Makefiles this script produces,
+# move-if-changed thinks they're different when they're not.
+progname="`echo $0 | sed 's:^\(\./\)*::'`"
 
 short_usage="Type \`${progname} -usage' for more information about options."
 
@@ -99,6 +107,9 @@ lockdir=""
 window_system=""
 have_x_menu=""
 
+# Record all the arguments, so we can save them in config.status.
+arguments="$*"
+
 echo "Examining options."
 while [ $# != 0 ]; do
   arg="$1"
@@ -468,14 +479,15 @@ for flag in `echo ${config_h_opts} | tr ':' ' '`; do
   esac
   sed_flags="${sed_flags} ${f}"
 done
-rm -f src/config.h
-eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h'
+chmod +w -f src/config.h
+eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h.tmp'
+./move-if-change src/config.h.tmp src/config.h
 # Remind people not to edit this.
 chmod -w src/config.h
 
 # Modify the parameters in the top makefile.
 echo "Producing ./Makefile from ./Makefile.in."
-rm -f ./Makefile
+chmod +w -f ./Makefile
 (echo "# This file is generated by \`${progname}' from \`./Makefile.in'.
 # If you are thinking about editing it, you should seriously consider
 # editing \`./Makefile.in' itself, or running \`${progname}' instead."
@@ -494,13 +506,14 @@ rm -f ./Makefile
  -e 's;^\(libdir=\).*$;\1'"${libdir};"                 \
  -e 's;^\(mandir=\).*$;\1'"${mandir};"                 \
  -e 's;^\(infodir=\).*$;\1'"${infodir};"               \
-) > ./Makefile
+) > ./Makefile.tmp
+./move-if-change Makefile.tmp Makefile
 # Remind people not to edit this.
 chmod -w ./Makefile
 
 # Modify the parameters in the `build-install' script.
 echo "Producing ./build-install from ./build-install.in."
-rm -f ./build-install
+chmod +w -f ./build-install
 (echo "# This file is generated by \`${progname}' from \`./build-install.in'.
 # If you are thinking about editing it, you should seriously consider
 # editing \`./build-install.in' itself, or running \`${progname}' instead."
@@ -510,32 +523,35 @@ rm -f ./build-install
  -e 's;^\(lisppath=\).*$;\1'"${lisppath};"             \
  -e 's;^\(datadir=\).*$;\1'"${datadir};"               \
  -e 's;^\(lockdir=\).*$;\1'"${lockdir};"               \
- -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install
+ -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
+./move-if-change build-install.tmp build-install
 # Remind people not to edit this.
 chmod -w build-install
 chmod +x build-install
 
 # Modify the parameters in the src makefile.
 echo "Producing src/Makefile from src/Makefile.in."
-rm -f src/Makefile
+chmod +w -f src/Makefile
 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
 # If you are thinking about editing it, you should seriously consider
 # editing \`Makefile.in' itself, or running \`${progname}' instead."
  /bin/sed < src/Makefile.in                            \
- -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile
+ -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile.tmp
+./move-if-change src/Makefile.tmp src/Makefile
 # Remind people not to edit this.
 chmod -w src/Makefile
 
 # Modify the parameters in the lib-src makefile.
 echo "Producing lib-src/Makefile from lib-src/Makefile.in."
-rm -f lib-src/Makefile
+chmod +w -f lib-src/Makefile
 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
 # If you are thinking about editing it, you should seriously consider
 # editing \`Makefile.in' itself, or running \`${progname}' instead."
  /bin/sed < lib-src/Makefile.in                                \
  -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};"          \
  -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};"         \
- -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile
+ -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile.tmp
+./move-if-change lib-src/Makefile.tmp lib-src/Makefile
 # Remind people not to edit this.
 chmod -w lib-src/Makefile
 
@@ -578,24 +594,7 @@ echo "# This file is generated by \`${progname}.'
 # running \`${progname}' instead.
 " >> config.status
 echo "${message}" >> config.status
-echo "'${progname}' \\
-       -machine='${machine}' \\
-       -opsystem='${opsystem}' \\
-        -g=${g} \\
-       -O=${O} \\
-       -cc=${cc} \\
-       -libdir='${libdir}' \\
-       -datadir='${datadir}' \\
-       -bindir='${bindir}' \\
-       -lisppath='${lisppath}' \\
-       -lockdir='${lockdir}' \\
-       -window_system='${window_system}' \\
-       -have_x_menu='${have_x_menu}' \\
-       -gnu_malloc='${gnu_malloc}' \\
-       -rel_alloc='${rel_alloc}' \\
-       -highpri='${highpri}' \\
-       -lisp_float_type='${lisp_float_type}' \\
-       $@" >> config.status
+echo "'./${progname}' ${arguments} "'$@' >> config.status
 # Remind people not to edit this.
 chmod -w config.status
 chmod +x config.status
index 9df18a7..b3bf673 100644 (file)
@@ -118,52 +118,52 @@ getopt.o: getopt.c getopt.h
 getopt1.o: getopt1.c getopt.h
 
 etags: etags.c $(GETOPTDEPS)
-       $(CC) -o etags ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES)
+       $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
 
 ctags: etags.c $(GETOPTDEPS)
-       $(CC) -o ctags ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES)
+       $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
 
 wakeup: wakeup.c
-       $(CC) -o wakeup ${CFLAGS} wakeup.c $(LOADLIBES)
+       $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
 
 make-docfile: make-docfile.c
-       $(CC) -o make-docfile ${CFLAGS} make-docfile.c $(LOADLIBES)
+       $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
 
 digest-doc: digest-doc.c
-       $(CC) -o digest-doc ${CFLAGS} digest-doc.c $(LOADLIBES)
+       $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc 
 
 sorted-doc: sorted-doc.c
-       $(CC) -o sorted-doc ${CFLAGS} sorted-doc.c $(LOADLIBES)
+       $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
 
 b2m: b2m.c
-       $(CC) -o b2m ${CFLAGS} b2m.c $(LOADLIBES)
+       $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m 
 
 movemail: movemail.c ../src/config.h
-       $(CC) -o movemail ${CFLAGS} movemail.c $(LOADLIBES)
+       $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
 
 cvtmail: cvtmail.c
-       $(CC) -o cvtmail ${CFLAGS} cvtmail.c $(LOADLIBES)
+       $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
 
 fakemail: fakemail.c ../src/config.h
-       $(CC) -o fakemail ${CFLAGS} fakemail.c $(LOADLIBES)
+       $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
 
 yow: yow.c ../src/paths.h
-       $(CC) -o yow ${CFLAGS} yow.c $(LOADLIBES)
+       $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
 
 env: env.c ../src/config.h
-       $(CC) -o env -DEMACS ${CFLAGS} env.c $(LOADLIBES)
+       $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
 
 emacsserver: emacsserver.c ../src/config.h
-       $(CC) -o emacsserver ${CFLAGS} emacsserver.c $(LOADLIBES)
+       $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
 
 emacsclient: emacsclient.c ../src/config.h
-       $(CC) -o emacsclient ${CFLAGS} emacsclient.c $(LOADLIBES)
+       $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
 
 hexl: hexl.c
-       $(CC) -o hexl ${CFLAGS} hexl.c $(LOADLIBES)
+       $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
 
 timer: getdate.o timer.o
-       $(CC) -o timer $(CFLAGS) getdate.o timer.o
+       $(CC) $(CFLAGS) getdate.o timer.o -o timer
 
 # These are NOT included in INSTALLABLES or UTILITIES.
 # See ../src/ymakefile.
index 1af0380..2436ac6 100644 (file)
@@ -1,11 +1,11 @@
 /* Generate doc-string file for GNU Emacs from source files.
-   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+   Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
 GNU Emacs is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -166,7 +166,13 @@ write_c_args (out, buf, minargs, maxargs)
       else if (c == ' ' && space)
        continue;
       space = (c == ' ');
-      putc (c, out);
+
+      /* Print the C arguments as they would appear in Elisp;
+        print underscores as hyphens.  */
+      if (c == '_')
+       putc ('-');
+      else
+       putc (c, out);
     }
   putc ('\n', out);
 }
index ab52362..91d480e 100644 (file)
@@ -333,34 +333,16 @@ buffer. The hook comint-exec-hook is run after each exec."
     buffer))
 
 ;;; This auxiliary function cranks up the process for comint-exec in
-;;; the appropriate environment. It is twice as long as it should be
-;;; because emacs has two distinct mechanisms for manipulating the
-;;; process environment, selected at compile time with the
-;;; MAINTAIN-ENVIRONMENT #define. In one case, process-environment
-;;; is bound; in the other it isn't.
+;;; the appropriate environment.
 
 (defun comint-exec-1 (name buffer command switches)
-  (if (boundp 'process-environment) ; Not a completely reliable test.
-      (let ((process-environment
-            (comint-update-env process-environment
-                               (list (format "TERMCAP=emacs:co#%d:tc=unknown"
-                                             (screen-width))
-                                     "TERM=emacs"
-                                     "EMACS=t"))))
-       (apply 'start-process name buffer command switches))
-
-      (let ((tcapv (getenv "TERMCAP"))
-           (termv (getenv "TERM"))
-           (emv   (getenv "EMACS")))
-       (unwind-protect
-            (progn (setenv "TERMCAP" (format "emacs:co#%d:tc=unknown"
-                                             (screen-width)))
-                   (setenv "TERM" "emacs")
-                   (setenv "EMACS" "t")
-                   (apply 'start-process name buffer command switches))
-         (setenv "TERMCAP" tcapv)
-         (setenv "TERM"    termv)
-         (setenv "EMACS"   emv)))))
+  (let ((process-environment
+        (comint-update-env process-environment
+                           (list (format "TERMCAP=emacs:co#%d:tc=unknown"
+                                         (screen-width))
+                                 "TERM=emacs"
+                                 "EMACS=t"))))
+    (apply 'start-process name buffer command switches)))
             
 
 
index 2e81fd6..1827bf9 100644 (file)
@@ -1046,8 +1046,8 @@ Optional second argument EXITING means ask about certain non-file buffers
                                    (buffer-name buffer)))))))
                (function
                 (lambda (buffer)
-                    (set-buffer buffer)
-                    (save-buffer)))
+                  (set-buffer buffer)
+                  (save-buffer)))
                (buffer-list)
                '("buffer" "buffers" "save")))
        (message "(No files need saving)"))))
index ad15fed..7ea751f 100644 (file)
@@ -1,5 +1,5 @@
 ;; Fill commands for Emacs
-;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
 
+(defconst fill-individual-varying-indent nil
+  "*Controls criterion for a new paragraph in `fill-individual-paragraphs'.
+Non-nil means changing indent doesn't end a paragraph.
+That mode can handle paragraphs with extra indentation on the first line,
+but it requires separator lines between paragraphs.
+Nil means that any change in indentation starts a new paragraph.")
+
 (defun set-fill-prefix ()
   "Set the fill-prefix to the current line up to point.
 Filling 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."
 \f
 (defun fill-individual-paragraphs (min max &optional justifyp mailp)
   "Fill each paragraph in region according to its individual fill prefix.
-Calling from a program, pass range to fill as first two arguments.
+
+If `fill-individual-varying-indent' is non-nil,
+then a mere change in indentation does not end a paragraph.  In this mode,
+the indentation for a paragraph is the minimum indentation of any line in it.
+
+When calling from a program, pass range to fill as first two arguments.
+
 Optional third and fourth arguments JUSTIFY-FLAG and MAIL-FLAG:
 JUSTIFY-FLAG to justify paragraphs (prefix arg),
 MAIL-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."
                   (forward-line 1)
                   ;; Now stop the loop if end of paragraph.
                   (and (not (eobp))
+                       (if fill-individual-varying-indent
+                           ;; If this line is a separator line, with or
+                           ;; without prefix, end the paragraph.
+                           (and 
                        (not (looking-at paragraph-separate))
                        (save-excursion
                          (not (and (looking-at fill-prefix-regexp)
                                    (progn (forward-char (length fill-prefix))
-                                          (looking-at paragraph-separate))))))))
+                                               (looking-at paragraph-separate))))))
+                         ;; If this line has more or less indent
+                         ;; than the fill prefix wants, end the paragraph.
+                         (and (looking-at fill-prefix-regexp)
+                              (save-excursion
+                                (not (progn (forward-char (length fill-prefix))
+                                            (or (looking-at paragraph-separate)
+                                                (looking-at paragraph-start))))))))))
          ;; Fill this paragraph, but don't add a newline at the end.
          (let ((had-newline (bolp)))
            (fill-region-as-paragraph start (point) justifyp)
-           (or had-newline (delete-char -1))))))))
\ No newline at end of file
+           (or had-newline (delete-char -1))))))))
index bd6646d..55000f5 100644 (file)
@@ -3,7 +3,6 @@ define pr
 set Fprin1 ($, Qexternal_debugging_output)
 echo \n
 end
-
 document pr
 Print the emacs s-expression which is $.
 Works only when an inferior emacs is executing.
@@ -13,73 +12,105 @@ define xtype
 print (enum Lisp_Type) (($ >> 24) & 0x7f)
 p $$
 end
+document xtype
+Print the type of $, assuming it is an Elisp value.
+end
 
 define xint
 print (($ & 0x00ffffff) << 8) >> 8
 end
+document xint
+Print $, assuming it is an Elisp integer.  This gets the sign right.
+end
 
 define xptr
 print (void *) ($ & 0x00ffffff)
 end
+document xptr
+Print the pointer portion of $, assuming it is an Elisp value.
+end
 
 define xwindow
 print (struct window *) ($ & 0x00ffffff)
 end
+document xwindow
+Print $ as a window pointer, assuming it is an Elisp window value.
+end
 
 define xmarker
 print (struct Lisp_Marker *) ($ & 0x00ffffff)
 end
+document xmarker
+Print $ as a marker pointer, assuming it is an Elisp marker value.
+end
 
 define xbuffer
 print (struct buffer *) ($ & 0x00ffffff)
 end
+document xbuffer
+Print $ as a buffer pointer, assuming it is an Elisp buffer value.
+end
 
 define xsymbol
 print (struct Lisp_Symbol *) ($ & 0x00ffffff)
 print &$->name->data
 print $$
 end
+document xsymbol
+Print the name and address of the symbol $.
+This command assumes that $ is an Elisp symbol value.
+end
 
 define xstring
 print (struct Lisp_String *) ($ & 0x00ffffff)
-print ($->data[0])@($->size)
+print ($->size > 10000) ? "big string" : ($->data[0])@($->size)
 print $$
 end
-
 document xstring
-Assume that $ is an Emacs Lisp string object, print the string's
-contents, and set $ to a pointer to the string.
+Print the contents and address of the string $.
+This command assumes that $ is an Elisp string value.
 end
 
 define xvector
 set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff)
-print ($temp->contents[0])@($temp->size)
+print ($temp->size > 10000) ? "big vector" : ($temp->contents[0])@($temp->size)
 print $temp
 end
-
 document xvector
-Assume that $ is an Emacs Lisp vector object, print the vector's
-contents, and set $ to a pointer to the vector.
+Print the contents and address of the vector $.
+This command assumes that $ is an Elisp vector value.
 end
 
 define xscreen
 print (struct screen *) ($ & 0x00ffffff)
 end
+document xwindow
+Print $ as a screen pointer, assuming it is an Elisp screen value.
+end
 
 define xcons
 print (struct Lisp_Cons *) ($ & 0x00ffffff)
 print *$
 end
+document xcons
+Print the contents of $, assuming it is an Elisp cons.
+end
 
 define xcar
 print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0)
 end
+document xcar
+Print the car of $, assuming it is an Elisp pair.
+end
 
 define xcdr
 print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0)
 end
+document xcdr
+Print the cdr of $, assuming it is an Elisp pair.
+end
 
-set prettyprint on
+set print pretty on
 
 # Don't let abort actually run, as it will make
 # stdio stop working and therefore the `pr' command below as well.
@@ -90,8 +121,8 @@ break abort
 # instead...
 break _XPrintDefaultError
 
-unset env TERMCAP
-unset env TERM
-set env DISPLAY :0.0
-info env DISPLAY
+unset environment TERMCAP
+unset environment TERM
+set environment DISPLAY :0.0
+show environment DISPLAY
 set args -q
index b463797..9b7da1d 100644 (file)
@@ -29,6 +29,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #endif /* MULTI_SCREEN */
 #endif
 
+#include "syssignal.h"
+
 #define max(A,B) ((A) > (B) ? (A) : (B))
 
 /* 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,
 {
   register Lisp_Object val;
   register struct Lisp_Marker *p;
+
   /* Detact the bug that seems to have caused this to be called from
      a signal handler.  */
-  int mask, dummy;
-  EMACS_SIGSETMASK (-1, mask);
-  EMACS_SIGSETMASK (mask, dummy);
+  SIGMASKTYPE mask;
+  mask = sigblock (SIGEMPTYMASK);
   if (mask != 0)
     abort ();
 
index 1a564ad..9544ecf 100644 (file)
@@ -195,12 +195,9 @@ If you quit, the process is killed with SIGKILL.")
        Protect it from permanent change.  */
     register char **save_environ = environ;
     register int fd1 = fd[1];
-    char **env;
-
-    env = environ;
 
 #if 0  /* Some systems don't have sigblock.  */
-    EMACS_SIGBLOCK (sigmask (SIGCHLD), mask);
+    mask = sigblock (sigmask (SIGCHLD));
 #endif
 
     /* Record that we're about to create a synchronous process.  */
@@ -217,18 +214,14 @@ If you quit, the process is killed with SIGKILL.")
 #else
         setpgrp (pid, pid);
 #endif /* USG */
-       child_setup (filefd, fd1, fd1, new_argv, env, 0, current_dir);
+       child_setup (filefd, fd1, fd1, new_argv, 0, current_dir);
       }
 
 #if 0
     /* Tell SIGCHLD handler to look for this pid.  */
     synch_process_pid = pid;
     /* Now let SIGCHLD come through.  */
-    {
-      int dummy;
-
-      EMACS_SIGSETMASK (mask, dummy);
-    }
+    sigsetmask (mask);
 #endif
 
     environ = save_environ;
@@ -368,13 +361,14 @@ If you quit, the process is killed with SIGKILL.")
    a decent error from within the child, this should be verified as an
    executable directory by the parent.  */
 
-child_setup (in, out, err, new_argv, env, set_pgrp, current_dir)
+child_setup (in, out, err, new_argv, set_pgrp, current_dir)
      int in, out, err;
      register char **new_argv;
-     char **env;
      int set_pgrp;
      Lisp_Object current_dir;
 {
+  char **env;
+
   register int pid = getpid();
 
   setpriority (PRIO_PROCESS, pid, 0);
@@ -424,7 +418,7 @@ child_setup (in, out, err, new_argv, env, set_pgrp, current_dir)
     /* new_length + 1 to include terminating 0 */
     env = new_env = (char **) alloca ((new_length + 1) * sizeof (char *));
 
-    /* Copy the env strings into new_env.  */
+    /* Copy the Vprocess_alist strings into new_env.  */
     for (tem = Vprocess_environment;
         (XTYPE (tem) == Lisp_Cons
          && XTYPE (XCONS (tem)->car) == Lisp_String);
index 48af4ec..4e95494 100644 (file)
@@ -1959,11 +1959,7 @@ arith_error (signo)
 #ifdef BSD4_1
   sigrelse (SIGFPE);
 #else /* not BSD4_1 */
-  {
-    int dummy;
-
-    EMACS_SIGSETMASK (SIGEMPTYMASK, dummy);
-  }
+  sigsetmask (SIGEMPTYMASK);
 #endif /* not BSD4_1 */
 
   Fsignal (Qarith_error, Qnil);
index 90a86b2..104ba67 100644 (file)
@@ -721,7 +721,10 @@ decode_env_path (evarname, defalt)
   /* It's okay to use getenv here, because this function is only used
      to initialize variables when Emacs starts up, and isn't called
      after that.  */
-  path = (char *) getenv (evarname);
+  if (evarname != 0)
+    path = (char *) getenv (evarname);
+  else
+    path = 0;
   if (!path)
     path = defalt;
   lpath = Qnil;
index 7a47375..b76ee68 100644 (file)
@@ -65,7 +65,7 @@ char *superlock_path;
 
 /* Set LOCK to the name of the lock file for the filename FILE.
    char *LOCK; Lisp_Object FILE;  */
-#define MAKE_LOCK_PATH (lock, file) \
+#define MAKE_LOCK_PATH(lock, file) \
   (lock = (char *) alloca (XSTRING (file)->size + strlen (lock_path) + 1), \
    fill_in_lock_file_name (lock, (file)))
 
index c99ba48..20b90e6 100644 (file)
@@ -22,6 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #include "config.h"
 #include "lisp.h"
+#include "syssignal.h"
 
 Lisp_Object Qarith_error;
 
@@ -509,11 +510,7 @@ float_error (signo)
 #ifdef BSD4_1
   sigrelse (SIGILL);
 #else /* not BSD4_1 */
-  {
-    int dummy;
-
-    EMACS_SIGSETMASK (0, dummy);
-  }
+  sigsetmask (SIGEMPTYMASK);
 #endif /* not BSD4_1 */
 #else
   /* Must reestablish handler each time it is called.  */
index 122fa24..e6139cf 100644 (file)
@@ -2105,9 +2105,9 @@ gobble_input (expected)
   if (interrupt_input)
     {
       SIGMASKTYPE mask;
-      EMACS_SIGBLOCKX (SIGIO, mask);
+      mask = sigblockx (SIGIO);
       read_avail_input (expected);
-      EMACS_SIGSETMASK (mask, mask);
+      sigsetmask (mask);
     }
   else
 #endif
index c7dd070..b263370 100644 (file)
@@ -269,7 +269,7 @@ Lisp_Object;
 /* Extract the value of a Lisp_Object as a signed integer.  */
 
 #ifndef XINT   /* Some machines need to do this differently.  */
-#define XINT(a) (((a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
+#define XINT(a) (((a) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS))
 #endif
 
 /* Extract the value as an unsigned integer.  This is a basis
index c3157c8..5ffa1ea 100644 (file)
@@ -1436,7 +1436,7 @@ init_lread ()
   /* Compute the default load-path.  */
 #ifdef CANNOT_DUMP
   normal = PATH_LOADSEARCH;
-  Vload_path = decode_env_path ("", normal);
+  Vload_path = decode_env_path (0, normal);
 #else
   if (NILP (Vpurify_flag))
     normal = PATH_LOADSEARCH;
@@ -1452,12 +1452,12 @@ init_lread ()
     {
       Lisp_Object dump_path;
 
-      dump_path = decode_env_path ("", PATH_DUMPLOADSEARCH);
+      dump_path = decode_env_path (0, PATH_DUMPLOADSEARCH);
       if (! NILP (Fequal (dump_path, Vload_path)))
-       Vload_path = decode_env_path ("", normal);
+       Vload_path = decode_env_path (0, normal);
     }
   else
-    Vload_path = decode_env_path ("", normal);
+    Vload_path = decode_env_path (0, normal);
 #endif
 
   /* Warn if dirs in the *standard* path don't exist.  */
index d9e2734..9ba48ef 100644 (file)
@@ -1109,11 +1109,8 @@ create_process (process, new_argv)
 #endif
   int pty_flag = 0;
   Lisp_Object current_dir;
-  char **env;
   extern char **environ;
 
-  env = environ;
-
   inchannel = outchannel = -1;
 
 #ifdef HAVE_PTYS
@@ -1318,7 +1315,7 @@ create_process (process, new_argv)
 
        child_setup_tty (xforkout);
        child_setup (xforkin, xforkout, xforkout,
-                    new_argv, env, 1, current_dir);
+                    new_argv, 1, current_dir);
       }
     environ = save_environ;
   }
index 886f93f..bd962d2 100644 (file)
@@ -111,11 +111,11 @@ signal_failure (arg)
 }
 \f
 DEFUN ("looking-at", Flooking_at, Slooking_at, 1, 1, 0,
-  "Return t if text after point matches regular expression PAT.
-This function modifies the match data that `match-beginning',
-`match-end' and `match-data' access; save and restore the match
+  "Return t if text after point matches regular expression PAT.\n\
+This function modifies the match data that `match-beginning',\n\
+`match-end' and `match-data' access; save and restore the match\n\
 data if you want to preserve them.")
-")
+  "Return t if text after point matches regular expression PAT.")
   (string)
      Lisp_Object string;
 {
index 6298038..5f6090a 100644 (file)
@@ -638,11 +638,7 @@ reset_sigio ()
 request_sigio ()
 {
 #ifdef SIGWINCH
-  {
-    int dummy;
-
-    EMACS_SIGUNBLOCKX (SIGWINCH, dummy);
-  }
+  sigunblock (sigmask (SIGWINCH));
 #endif
   fcntl (0, F_SETFL, old_fcntl_flags | FASYNC);
 
@@ -652,11 +648,7 @@ request_sigio ()
 unrequest_sigio ()
 {
 #ifdef SIGWINCH
-  {
-    int dummy;
-    
-    EMACS_SIGBLOCK (SIGWINCH, dummy);
-  }
+  sigblock (sigmask (SIGWINCH));
 #endif
   fcntl (0, F_SETFL, old_fcntl_flags);
   interrupts_deferred = 1;
@@ -1882,6 +1874,19 @@ sys_signal (int signal_number, signal_handler_t action)
 #endif /* DGUX */
 }
 
+#ifndef __GNUC__
+/* If we're compiling with GCC, we don't need this function, since it
+   can be written as a macro.  */
+sigset_t
+sys_sigmask (int sig)
+{
+  sigset_t mask;
+  sigemptyset (&mask);
+  sigaddset (&mask, sig);
+  return mask;
+}
+#endif
+
 int
 sys_sigpause (sigset_t new_mask)
 {