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
# 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."
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"
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."
-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."
-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
# 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
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.
/* 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,
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);
}
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)))
(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)"))))
;; 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
\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."
(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))))))))
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.
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.
# 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
#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
{
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 ();
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. */
#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;
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);
/* 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);
#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);
/* 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;
/* 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)))
#include "config.h"
#include "lisp.h"
+#include "syssignal.h"
Lisp_Object Qarith_error;
#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. */
if (interrupt_input)
{
SIGMASKTYPE mask;
- EMACS_SIGBLOCKX (SIGIO, mask);
+ mask = sigblockx (SIGIO);
read_avail_input (expected);
- EMACS_SIGSETMASK (mask, mask);
+ sigsetmask (mask);
}
else
#endif
/* 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
/* 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;
{
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. */
#endif
int pty_flag = 0;
Lisp_Object current_dir;
- char **env;
extern char **environ;
- env = environ;
-
inchannel = outchannel = -1;
#ifdef HAVE_PTYS
child_setup_tty (xforkout);
child_setup (xforkin, xforkout, xforkout,
- new_argv, env, 1, current_dir);
+ new_argv, 1, current_dir);
}
environ = save_environ;
}
}
\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;
{
request_sigio ()
{
#ifdef SIGWINCH
- {
- int dummy;
-
- EMACS_SIGUNBLOCKX (SIGWINCH, dummy);
- }
+ sigunblock (sigmask (SIGWINCH));
#endif
fcntl (0, F_SETFL, old_fcntl_flags | FASYNC);
unrequest_sigio ()
{
#ifdef SIGWINCH
- {
- int dummy;
-
- EMACS_SIGBLOCK (SIGWINCH, dummy);
- }
+ sigblock (sigmask (SIGWINCH));
#endif
fcntl (0, F_SETFL, old_fcntl_flags);
interrupts_deferred = 1;
#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)
{