1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-08 20:58:58 +00:00

Merge from mainline.

This commit is contained in:
Paul Eggert 2011-03-26 19:32:40 -07:00
commit 4a843dd730
29 changed files with 380 additions and 329 deletions

View File

@ -1,3 +1,13 @@
2011-03-27 Glenn Morris <rgm@gnu.org>
* configure.in (AC_TYPE_SIGNAL): Remove obsolete macro.
(AH_BOTTOM): Do not define SIGTYPE.
2011-03-26 Glenn Morris <rgm@gnu.org>
* configure.in: Replace obsolete macros AC_TRY_COMPILE, AC_TRY_LINK,
AC_TRY_RUN with AC_COMPILE_IFELSE, AC_LINK_IFELSE, AC_RUN_IFELSE.
2011-03-25 Andreas Schwab <schwab@linux-m68k.org>
* autogen/update_autogen: Remove useless function keyword.

View File

@ -58,7 +58,6 @@ HAVE_TERMIOS
INTERRUPT_INPUT
NARROWPROTO
SEPCHAR
SIGTYPE
SYSTEM_TYPE
** Machine specific macros, decribed in detail in src/m/template.h
@ -238,7 +237,6 @@ SIGNALS_VIA_CHARACTERS
SIGPIPE
SIGQUIT
SIGTRAP
SIGTYPE
SOLARIS2
STDC_HEADERS
SYSTEM_PURESIZE_EXTRA

View File

@ -664,11 +664,11 @@ if test x"$GCC" != xyes && test x"$emacs_check_sunpro_c" = xyes && \
test x"$CPP" = x; then
AC_MSG_CHECKING([whether we are using a Sun C compiler])
AC_CACHE_VAL(emacs_cv_sunpro_c,
[AC_TRY_LINK([],
[#ifndef __SUNPRO_C
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
[[#ifndef __SUNPRO_C
fail;
#endif
], emacs_cv_sunpro_c=yes, emacs_cv_sunpro_c=no)])
]])], emacs_cv_sunpro_c=yes, emacs_cv_sunpro_c=no)])
AC_MSG_RESULT($emacs_cv_sunpro_c)
if test x"$emacs_cv_sunpro_c" = xyes; then
@ -703,7 +703,7 @@ fi
AC_MSG_CHECKING([whether gcc understands -Wdeclaration-after-statement])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wdeclaration-after-statement"
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wdeclaration-after-statement $C_WARNINGS_SWITCH"
fi
@ -717,7 +717,7 @@ unset SAVE_CFLAGS
AC_MSG_CHECKING([whether gcc understands -Wold-style-definition])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wold-style-definition"
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wold-style-definition $C_WARNINGS_SWITCH"
fi
@ -730,7 +730,7 @@ unset SAVE_CFLAGS
AC_MSG_CHECKING([whether gcc understands -Wimplicit-function-declaration])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wimplicit-function-declaration"
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wimplicit-function-declaration $C_WARNINGS_SWITCH"
fi
@ -1137,12 +1137,12 @@ if test "${with_sound}" != "no"; then
SAVE_LDFLAGS="$LDFLAGS"
CFLAGS="$ALSA_CFLAGS $CFLAGS"
LDFLAGS="$ALSA_LIBS $LDFLAGS"
AC_TRY_COMPILE([#include <asoundlib.h>], [snd_lib_error_set_handler (0);],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <asoundlib.h>]], [[snd_lib_error_set_handler (0);]])],
emacs_alsa_normal=yes,
emacs_alsa_normal=no)
if test "$emacs_alsa_normal" != yes; then
AC_TRY_COMPILE([#include <alsa/asoundlib.h>],
[snd_lib_error_set_handler (0);],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <alsa/asoundlib.h>]],
[[snd_lib_error_set_handler (0);]])],
emacs_alsa_subdir=yes,
emacs_alsa_subdir=no)
if test "$emacs_alsa_subdir" != yes; then
@ -1181,7 +1181,7 @@ AC_CHECK_HEADERS(sys/select.h sys/time.h unistd.h utime.h \
sys/utsname.h pwd.h utmp.h dirent.h util.h)
AC_MSG_CHECKING(if personality LINUX32 can be set)
AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/personality.h>]], [[personality (PER_LINUX32)]])],
emacs_cv_personality_linux32=yes,
emacs_cv_personality_linux32=no)
AC_MSG_RESULT($emacs_cv_personality_linux32)
@ -1209,7 +1209,7 @@ AC_HEADER_SYS_WAIT
dnl Some systems have utime.h but don't declare the struct anyplace.
AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#else
@ -1221,18 +1221,15 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#endif
#ifdef HAVE_UTIME_H
#include <utime.h>
#endif], [static struct utimbuf x; x.actime = x.modtime;],
#endif]], [[static struct utimbuf x; x.actime = x.modtime;]])],
emacs_cv_struct_utimbuf=yes, emacs_cv_struct_utimbuf=no))
if test $emacs_cv_struct_utimbuf = yes; then
AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, [Define to 1 if `struct utimbuf' is declared by <utime.h>.])
fi
dnl checks for typedefs
AC_TYPE_SIGNAL
dnl Check for speed_t typedef.
AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t,
[AC_TRY_COMPILE([#include <termios.h>], [speed_t x = 1;],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <termios.h>]], [[speed_t x = 1;]])],
emacs_cv_speed_t=yes, emacs_cv_speed_t=no)])
if test $emacs_cv_speed_t = yes; then
AC_DEFINE(HAVE_SPEED_T, 1,
@ -1240,7 +1237,7 @@ if test $emacs_cv_speed_t = yes; then
fi
AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#else
@ -1249,7 +1246,7 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#else
#include <time.h>
#endif
#endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
#endif]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])],
emacs_cv_struct_timeval=yes, emacs_cv_struct_timeval=no))
HAVE_TIMEVAL=$emacs_cv_struct_timeval
if test $emacs_cv_struct_timeval = yes; then
@ -1257,8 +1254,8 @@ if test $emacs_cv_struct_timeval = yes; then
fi
AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
AC_TRY_COMPILE([#include <math.h>],
[static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
[[static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;]])],
emacs_cv_struct_exception=yes, emacs_cv_struct_exception=no))
HAVE_EXCEPTION=$emacs_cv_struct_exception
if test $emacs_cv_struct_exception != yes; then
@ -1301,7 +1298,7 @@ dnl This isn't useful because we can't turn on use of `inline' unless
dnl the compiler groks `extern inline'.
dnl AC_C_INLINE
AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
[AC_TRY_COMPILE(, [void * foo;],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[void * foo;]])],
emacs_cv_void_star=yes, emacs_cv_void_star=no)])
if test $emacs_cv_void_star = yes; then
AC_DEFINE(POINTER_TYPE, void)
@ -1349,7 +1346,7 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then
AC_MSG_CHECKING([whether gcc understands -MMD -MF])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -MMD -MF deps.d"
AC_TRY_COMPILE([], [], , ac_enable_autodepend=no)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , ac_enable_autodepend=no)
CFLAGS="$SAVE_CFLAGS"
test -f deps.d || ac_enable_autodepend=no
rm -rf deps.d
@ -1582,7 +1579,7 @@ AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
AC_CACHE_CHECK(whether __after_morecore_hook exists,
emacs_cv_var___after_morecore_hook,
[AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern void (* __after_morecore_hook)();]],[[__after_morecore_hook = 0]])],
emacs_cv_var___after_morecore_hook=yes,
emacs_cv_var___after_morecore_hook=no)])
if test $emacs_cv_var___after_morecore_hook = no; then
@ -1680,7 +1677,7 @@ aix*)
esac
LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])], [], [gdb_cv_bigtoc=])
])
;;
esac
@ -1710,8 +1707,8 @@ if test "${HAVE_X11}" = "yes"; then
if test "${opsys}" = "gnu-linux"; then
AC_MSG_CHECKING(whether X on GNU/Linux needs -b to link)
AC_TRY_LINK([],
[XOpenDisplay ("foo");],
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
[[XOpenDisplay ("foo");]])],
[xlinux_first_failure=no],
[xlinux_first_failure=yes])
if test "${xlinux_first_failure}" = "yes"; then
@ -1723,8 +1720,8 @@ if test "${HAVE_X11}" = "yes"; then
C_SWITCH_X_SITE="$C_SWITCH_X_SITE -b i486-linuxaout"
CPPFLAGS="$CPPFLAGS -b i486-linuxaout"
LIBS="$LIBS -b i486-linuxaout"
AC_TRY_LINK([],
[XOpenDisplay ("foo");],
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
[[XOpenDisplay ("foo");]])],
[xlinux_second_failure=no],
[xlinux_second_failure=yes])
if test "${xlinux_second_failure}" = "yes"; then
@ -1746,9 +1743,9 @@ if test "${HAVE_X11}" = "yes"; then
# Reportedly, some broken Solaris systems have XKBlib.h but are missing
# header files included from there.
AC_MSG_CHECKING(for Xkb)
AC_TRY_LINK([#include <X11/Xlib.h>
#include <X11/XKBlib.h>],
[XkbDescPtr kb = XkbGetKeyboard (0, XkbAllComponentsMask, XkbUseCoreKbd);],
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>
#include <X11/XKBlib.h>]],
[[XkbDescPtr kb = XkbGetKeyboard (0, XkbAllComponentsMask, XkbUseCoreKbd);]])],
emacs_xkb=yes, emacs_xkb=no)
AC_MSG_RESULT($emacs_xkb)
if test $emacs_xkb = yes; then
@ -1762,11 +1759,11 @@ fi
if test "${window_system}" = "x11"; then
AC_MSG_CHECKING(X11 version 6)
AC_CACHE_VAL(emacs_cv_x11_version_6,
[AC_TRY_LINK([#include <X11/Xlib.h>],
[#if XlibSpecificationRelease < 6
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]],
[[#if XlibSpecificationRelease < 6
fail;
#endif
], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no)])
]])], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no)])
if test $emacs_cv_x11_version_6 = yes; then
AC_MSG_RESULT(6 or newer)
AC_DEFINE(HAVE_X11R6, 1,
@ -1989,10 +1986,10 @@ if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
if test "$with_xaw3d" != no; then
AC_MSG_CHECKING(for xaw3d)
AC_CACHE_VAL(emacs_cv_xaw3d,
[AC_TRY_LINK([
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <X11/Intrinsic.h>
#include <X11/Xaw3d/Simple.h>],
[],
#include <X11/Xaw3d/Simple.h>]],
[[]])],
[AC_CHECK_LIB(Xaw3d, XawScrollbarSetThumb,
emacs_cv_xaw3d=yes, emacs_cv_xaw3d=no)],
emacs_cv_xaw3d=no)])
@ -2010,10 +2007,10 @@ if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
AC_MSG_RESULT(no)
AC_MSG_CHECKING(for libXaw)
AC_CACHE_VAL(emacs_cv_xaw,
[AC_TRY_LINK([
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <X11/Intrinsic.h>
#include <X11/Xaw/Simple.h>],
[],
#include <X11/Xaw/Simple.h>]],
[[]])],
emacs_cv_xaw=yes,
emacs_cv_xaw=no)])
if test $emacs_cv_xaw = yes; then
@ -2035,11 +2032,11 @@ LIBXTR6=
if test "${USE_X_TOOLKIT}" != "none"; then
AC_MSG_CHECKING(X11 toolkit version)
AC_CACHE_VAL(emacs_cv_x11_toolkit_version_6,
[AC_TRY_LINK([#include <X11/Intrinsic.h>],
[#if XtSpecificationRelease < 6
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <X11/Intrinsic.h>]],
[[#if XtSpecificationRelease < 6
fail;
#endif
], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=no)])
]])], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=no)])
HAVE_X11XTR6=$emacs_cv_x11_toolkit_version_6
if test $emacs_cv_x11_toolkit_version_6 = yes; then
AC_MSG_RESULT(6 or newer)
@ -2088,12 +2085,12 @@ fi
LIBXP=
if test "${USE_X_TOOLKIT}" = "MOTIF"; then
AC_CACHE_CHECK(for Motif version 2.1, emacs_cv_motif_version_2_1,
[AC_TRY_COMPILE([#include <Xm/Xm.h>],
[#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1)
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <Xm/Xm.h>]],
[[#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1)
int x = 5;
#else
Motif version prior to 2.1.
#endif],
#endif]])],
emacs_cv_motif_version_2_1=yes, emacs_cv_motif_version_2_1=no)])
if test $emacs_cv_motif_version_2_1 = yes; then
AC_CHECK_LIB(Xp, XpCreateContext, LIBXP=-lXp)
@ -2106,8 +2103,8 @@ Motif version prior to 2.1.
OLD_CFLAGS=$CFLAGS
CPPFLAGS="-I/usr/X11R6/LessTif/Motif1.2/include $CPPFLAGS"
CFLAGS="-I/usr/X11R6/LessTif/Motif1.2/include $CFLAGS"
[AC_TRY_COMPILE([#include </usr/X11R6/LessTif/Motif1.2/include/Xm/Xm.h>],
[int x = 5;],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include </usr/X11R6/LessTif/Motif1.2/include/Xm/Xm.h>]],
[[int x = 5;]])],
emacs_cv_lesstif=yes, emacs_cv_lesstif=no)])
if test $emacs_cv_lesstif = yes; then
# Make sure this -I option remains in CPPFLAGS after it is set
@ -2151,10 +2148,10 @@ if test "${with_toolkit_scroll_bars}" != "no"; then
fi
dnl See if XIM is available.
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <X11/Xlib.h>
#include <X11/Xresource.h>],
[XIMProc callback;],
#include <X11/Xresource.h>]],
[[XIMProc callback;]])],
[HAVE_XIM=yes
AC_DEFINE(HAVE_XIM, 1, [Define to 1 if XIM is available])],
HAVE_XIM=no)
@ -2172,10 +2169,10 @@ if test "${HAVE_XIM}" != "no"; then
if test "$GCC" = yes; then
CFLAGS="$CFLAGS --pedantic-errors"
fi
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <X11/Xlib.h>
#include <X11/Xresource.h>],
[Display *display;
#include <X11/Xresource.h>]],
[[Display *display;
XrmDatabase db;
char *res_name;
char *res_class;
@ -2188,7 +2185,7 @@ extern Bool XRegisterIMInstantiateCallback(Display*, XrmDatabase, char*,
char*, XIMProc, XPointer*);
#endif
(void)XRegisterIMInstantiateCallback(display, db, res_name, res_class, callback,
client_data);],
client_data);]])],
[emacs_cv_arg6_star=yes])
AH_TEMPLATE(XRegisterIMInstantiateCallback_arg6,
[Define to the type of the 6th arg of XRegisterIMInstantiateCallback,
@ -2540,8 +2537,8 @@ AC_SUBST(LIBXML2_CFLAGS)
# If netdb.h doesn't declare h_errno, we must declare it by hand.
AC_CACHE_CHECK(whether netdb declares h_errno,
emacs_cv_netdb_declares_h_errno,
[AC_TRY_LINK([#include <netdb.h>],
[return h_errno;],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],
[[return h_errno;]])],
emacs_cv_netdb_declares_h_errno=yes, emacs_cv_netdb_declares_h_errno=no)])
if test $emacs_cv_netdb_declares_h_errno = yes; then
AC_DEFINE(HAVE_H_ERRNO, 1, [Define to 1 if netdb.h declares h_errno.])
@ -2722,11 +2719,11 @@ case "$opsys" in
freebsd)
AC_MSG_CHECKING([whether FreeBSD is new enough to use terminfo])
AC_CACHE_VAL(emacs_cv_freebsd_terminfo,
[AC_TRY_LINK([#include <osreldate.h>],
[#if __FreeBSD_version < 400000
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <osreldate.h>]],
[[#if __FreeBSD_version < 400000
fail;
#endif
], emacs_cv_freebsd_terminfo=yes, emacs_cv_freebsd_terminfo=no)])
]])], emacs_cv_freebsd_terminfo=yes, emacs_cv_freebsd_terminfo=no)])
AC_MSG_RESULT($emacs_cv_freebsd_terminfo)
@ -2776,19 +2773,19 @@ AC_SUBST(TERMCAP_OBJ)
# Do we have res_init, for detecting changes in /etc/resolv.conf?
resolv=no
AC_TRY_LINK([#include <netinet/in.h>
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>],
[return res_init();],
#include <resolv.h>]],
[[return res_init();]])],
have_res_init=yes, have_res_init=no)
if test "$have_res_init" = no; then
OLIBS="$LIBS"
LIBS="$LIBS -lresolv"
AC_MSG_CHECKING(for res_init with -lresolv)
AC_TRY_LINK([#include <netinet/in.h>
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>],
[return res_init();],
#include <resolv.h>]],
[[return res_init();]])],
have_res_init=yes, have_res_init=no)
AC_MSG_RESULT($have_res_init)
if test "$have_res_init" = yes ; then
@ -2924,7 +2921,7 @@ AC_CHECK_LIB(intl, dgettext)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(emacs_cv_localtime_cache,
[if test x$ac_cv_func_tzset = xyes; then
AC_TRY_RUN([#include <time.h>
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <time.h>
char TZ_GMT0[] = "TZ=GMT0";
char TZ_PST8[] = "TZ=PST8";
main()
@ -2944,7 +2941,7 @@ main()
if (localtime (&now)->tm_hour != hour_unset)
exit (1);
exit (0);
}], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
}]])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
[# If we have tzset, assume the worst when cross-compiling.
emacs_cv_localtime_cache=yes])
else
@ -2963,7 +2960,7 @@ if test "x$HAVE_TIMEVAL" = xyes; then
if test $ac_cv_func_gettimeofday = yes; then
AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
emacs_cv_gettimeofday_two_arguments,
[AC_TRY_COMPILE([
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
@ -2973,9 +2970,9 @@ if test "x$HAVE_TIMEVAL" = xyes; then
#else
#include <time.h>
#endif
#endif],
[struct timeval time;
gettimeofday (&time, 0);],
#endif]],
[[struct timeval time;
gettimeofday (&time, 0);]])],
emacs_cv_gettimeofday_two_arguments=yes,
emacs_cv_gettimeofday_two_arguments=no)])
if test $emacs_cv_gettimeofday_two_arguments = no; then
@ -3016,8 +3013,8 @@ AC_FUNC_FORK
dnl Adapted from Haible's version.
AC_CACHE_CHECK([for nl_langinfo and CODESET], emacs_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
[[char* cs = nl_langinfo(CODESET);]])],
emacs_cv_langinfo_codeset=yes,
emacs_cv_langinfo_codeset=no)
])
@ -3031,7 +3028,7 @@ AC_CHECK_TYPES(size_t)
AC_TYPE_MBSTATE_T
AC_CACHE_CHECK([for C restricted array declarations], emacs_cv_c_restrict_arr,
[AC_TRY_COMPILE([void fred (int x[__restrict]);], [],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[void fred (int x[__restrict]);]], [[]])],
emacs_cv_c_restrict_arr=yes, emacs_cv_c_restrict_arr=no)])
if test "$emacs_cv_c_restrict_arr" = yes; then
AC_DEFINE(__restrict_arr, __restrict,
@ -3493,11 +3490,6 @@ AH_BOTTOM([
# define SYSTEM_PURESIZE_EXTRA 30000
#endif
/* SIGTYPE is the macro we actually use. */
#ifndef SIGTYPE
#define SIGTYPE RETSIGTYPE
#endif
#ifdef emacs /* Don't do this for lib-src. */
/* Tell regex.c to use a type compatible with Emacs. */
#define RE_TRANSLATE_TYPE Lisp_Object

View File

@ -1,3 +1,7 @@
2011-03-27 Glenn Morris <rgm@gnu.org>
* emacsclient.c: Replace SIGTYPE with void.
2011-03-23 Juanma Barranquero <lekktu@gmail.com>
* ntlib.c: Include <ctype.h>.

View File

@ -1116,7 +1116,7 @@ socket_status (char *name)
/* A signal handler that passes the signal to the Emacs process.
Useful for SIGWINCH. */
static SIGTYPE
static void
pass_signal_to_emacs (int signalnum)
{
int old_errno = errno;
@ -1131,7 +1131,7 @@ pass_signal_to_emacs (int signalnum)
/* Signal handler for SIGCONT; notify the Emacs process that it can
now resume our tty frame. */
static SIGTYPE
static void
handle_sigcont (int signalnum)
{
int old_errno = errno;
@ -1157,7 +1157,7 @@ handle_sigcont (int signalnum)
reality, we may get a SIGTSTP on C-z. Handling this signal and
notifying Emacs about it should get things under control again. */
static SIGTYPE
static void
handle_sigtstp (int signalnum)
{
int old_errno = errno;

View File

@ -1,3 +1,9 @@
2011-03-27 Leo Liu <sdl.web@gmail.com>
* ansi-color.el (ansi-color-names-vector): Allow cons cell value
for foreground and background colors.
(ansi-color-make-color-map): Adapt.
2011-03-25 Leo Liu <sdl.web@gmail.com>
* midnight.el (midnight-time-float): Remove. Note it calculates

View File

@ -132,8 +132,18 @@ Parameter Color
37 47 white
This vector is used by `ansi-color-make-color-map' to create a color
map. This color map is stored in the variable `ansi-color-map'."
:type '(vector string string string string string string string string)
map. This color map is stored in the variable `ansi-color-map'.
Each element may also be a cons cell where the car and cdr specify the
foreground and background colors, respectively."
:type '(vector (choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color))
(choice color (cons color color)))
:set 'ansi-color-map-update
:initialize 'custom-initialize-default
:group 'ansi-colors)
@ -528,7 +538,8 @@ The face definitions are based upon the variables
(mapc
(function (lambda (e)
(aset ansi-color-map index
(ansi-color-make-face 'foreground e))
(ansi-color-make-face 'foreground
(if (consp e) (car e) e)))
(setq index (1+ index)) ))
ansi-color-names-vector)
;; background attributes
@ -536,7 +547,8 @@ The face definitions are based upon the variables
(mapc
(function (lambda (e)
(aset ansi-color-map index
(ansi-color-make-face 'background e))
(ansi-color-make-face 'background
(if (consp e) (cdr e) e)))
(setq index (1+ index)) ))
ansi-color-names-vector)
ansi-color-map))

View File

@ -1,3 +1,39 @@
2011-03-26 Chong Yidong <cyd@stupidchicken.com>
* proto-stream.el: Changes preparatory to merging open-protocol-stream
with open-network-stream.
(proto-stream-always-use-starttls): Option removed.
(open-protocol-stream): Return a process object by default. Provide a
new parameter :return-list specifying a list-type return value, which
now has the form (PROP . PLIST) instead of a fixed-length list. Change
:type `network' to `try-starttls', and `network-only' to `default'.
Make `default' the default, for compatibility with open-network-stream.
Handle the no-parameter case exactly as open-network-stream, with no
additional stream processing. Search plists using plist-get.
Explicitly add :end-of-commend parameter if it is missing.
(proto-stream-open-default): Renamed from
proto-stream-open-network-only. Return 'default as the type.
(proto-stream-open-starttls): Rename from proto-stream-open-network.
Use plist-get. Don't return `tls' as the type if STARTTLS negotiation
failed. Always return a list with a (possibly dead) process as the
first element, for compatibility with open-network-stream.
(proto-stream-open-tls): Use plist-get. Always return a list.
(proto-stream-open-shell): Return `default' as connection type.
(proto-stream-capability-open): Use plist-get.
(proto-stream-eoc): Function deleted.
* nnimap.el (nnimap-stream, nnimap-open-connection)
(nnimap-open-connection-1): Handle renaming of :type parameter for
open-protocol-stream.
(nnimap-open-connection-1): Pass a :return-list parameter
open-protocol-stream to obtain a list return value. Parse this list
using plist-get.
* nntp.el (nntp-open-connection): Handle renaming of :type parameter
for open-protocol-stream. Accept open-protocol-stream return value
that is a subprocess object instead of a list. Handle the case of a
dead returned process.
2011-03-25 Teodor Zlatanov <tzz@lifelogs.com>
* mm-util.el (mm-handle-filename): Move to mm-decode.el (bug#8330).

View File

@ -62,9 +62,9 @@ it will default to `imap'.")
(defvoo nnimap-stream 'undecided
"How nnimap will talk to the IMAP server.
Values are `ssl', `network', `network-only, `starttls' or
Values are `ssl', `default', `try-starttls', `starttls' or
`shell'. The default is to try `ssl' first, and then
`network'.")
`try-starttls'.")
(defvoo nnimap-shell-program (if (boundp 'imap-shell-program)
(if (listp imap-shell-program)
@ -319,7 +319,7 @@ textual parts.")
(setq nnimap-stream 'ssl))
(let ((stream
(if (eq nnimap-stream 'undecided)
(loop for type in '(ssl network)
(loop for type in '(ssl try-starttls)
for stream = (let ((nnimap-stream type))
(nnimap-open-connection-1 buffer))
while (eq stream 'no-connect)
@ -339,9 +339,7 @@ textual parts.")
(port nil)
(ports
(cond
((or (eq nnimap-stream 'network)
(eq nnimap-stream 'network-only)
(eq nnimap-stream 'starttls))
((memq nnimap-stream '(try-starttls default starttls))
(nnheader-message 7 "Opening connection to %s..."
nnimap-address)
'("imap" "143"))
@ -355,21 +353,28 @@ textual parts.")
'("imaps" "imap" "993" "143"))
(t
(error "Unknown stream type: %s" nnimap-stream))))
(proto-stream-always-use-starttls t)
login-result credentials)
(when nnimap-server-port
(push nnimap-server-port ports))
(destructuring-bind (stream greeting capabilities stream-type)
(let* ((stream-list
(open-protocol-stream
"*nnimap*" (current-buffer) nnimap-address (car ports)
:type nnimap-stream
:return-list t
:shell-command nnimap-shell-program
:capability-command "1 CAPABILITY\r\n"
:success " OK "
:starttls-function
(lambda (capabilities)
(when (gnus-string-match-p "STARTTLS" capabilities)
"1 STARTTLS\r\n")))
"1 STARTTLS\r\n"))))
(stream (car stream-list))
(props (cdr stream-list))
(greeting (plist-get props :greeting))
(capabilities (plist-get props :capabilities))
(stream-type (plist-get props :type)))
(when (and stream (not (memq (process-status stream) '(open run))))
(setq stream nil))
(setf (nnimap-process nnimap-object) stream)
(setf (nnimap-stream-type nnimap-object) stream-type)
(if (not stream)

View File

@ -1339,15 +1339,15 @@ password contained in '~/.nntp-authinfo'."
(condition-case err
(let ((coding-system-for-read nntp-coding-system-for-read)
(coding-system-for-write nntp-coding-system-for-write)
(map '((nntp-open-network-stream network)
(network-only network-only)
(map '((nntp-open-network-stream try-starttls)
(network-only default)
(nntp-open-ssl-stream tls)
(nntp-open-tls-stream tls))))
(if (assoc nntp-open-connection-function map)
(car (open-protocol-stream
(open-protocol-stream
"nntpd" pbuffer nntp-address nntp-port-number
:type (cadr
(assoc nntp-open-connection-function map))
:type (or (cadr (assoc nntp-open-connection-function map))
'try-starttls)
:end-of-command "^\\([2345]\\|[.]\\).*\n"
:capability-command "CAPABILITIES\r\n"
:success "^3"
@ -1355,10 +1355,10 @@ password contained in '~/.nntp-authinfo'."
(lambda (capabilities)
(if (not (string-match "STARTTLS" capabilities))
nil
"STARTTLS\r\n"))))
"STARTTLS\r\n")))
(funcall nntp-open-connection-function pbuffer)))
(error
(nnheader-report 'nntp "%s" err))
(nnheader-report 'nntp ">>> %s" err))
(quit
(message "Quit opening connection to %s" nntp-address)
(nntp-kill-buffer pbuffer)
@ -1366,6 +1366,9 @@ password contained in '~/.nntp-authinfo'."
nil))))
(when timer
(nnheader-cancel-timer timer))
(when (and process
(not (memq (process-status process) '(open run))))
(setq process nil))
(unless process
(nntp-kill-buffer pbuffer))
(when (and (buffer-name pbuffer)

View File

@ -37,7 +37,7 @@
;; (open-protocol-stream
;; "*nnimap*" buffer address port
;; :type 'network
;; :type 'try-starttls
;; :capability-command "1 CAPABILITY\r\n"
;; :success " OK "
;; :starttls-function
@ -48,171 +48,164 @@
;;; Code:
(eval-when-compile
(require 'cl))
(require 'tls)
(require 'starttls)
(require 'format-spec)
(defcustom proto-stream-always-use-starttls (fboundp 'open-gnutls-stream)
"If non-nil, always try to upgrade network connections with STARTTLS."
:version "24.1"
:type 'boolean
:group 'comm)
(declare-function gnutls-negotiate "gnutls"
(proc type &optional priority-string trustfiles keyfiles))
;;;###autoload
(defun open-protocol-stream (name buffer host service &rest parameters)
"Open a network stream to HOST, upgrading to STARTTLS if possible.
The first four parameters have the same meaning as in
`open-network-stream'. The function returns a list where the
first element is the stream, the second element is the greeting
the server replied with after connecting, and the third element
is a string representing the capabilities of the server (if any).
"Open a network stream to HOST, possibly with encryption.
Normally, return a network process object; with a non-nil
:return-list parameter, return a list instead (see below).
The PARAMETERS is a keyword list that can have the following
values:
The first four parameters, NAME, BUFFER, HOST, and SERVICE, have
the same meanings as in `open-network-stream'. The remaining
PARAMETERS should be a sequence of keywords and values:
:type -- either `network', `network-only, `tls', `shell' or
`starttls'. If omitted, the default is `network'. `network'
will be opportunistically upgraded to STARTTLS if both the server
and Emacs supports it. If you don't want STARTTLS upgrades, use
`network-only'.
:type specifies the connection type, one of the following:
`default' -- An ordinary network connection.
`try-starttls'
-- Begin an ordinary network connection, and try
upgrading it to an encrypted connection via
STARTTLS if both HOST and Emacs support TLS. If
that fails, keep the unencrypted connection.
`starttls' -- Begin an ordinary connection, and try upgrading
it via STARTTLS. If that fails for any reason,
drop the connection; in this case, the returned
process object is a killed process.
`tls' or `ssl' -- A TLS connection.
`shell' -- A shell connection.
:end-of-command -- a regexp saying what the end of a command is.
This defaults to \"\\n\".
:return-list specifies this function's return value.
If omitted or nil, return a process object. A non-nil means to
return (PROC . PROPS), where PROC is a process object and PROPS
is a plist of connection properties, with these keywords:
:greeting -- the greeting returned by HOST (a string), or nil.
:capabilities -- a string representing HOST's capabilities,
or nil if none could be found.
:type -- the actual connection type; either `default' for an
unencrypted connection, or `tls'.
:success -- a regexp saying whether the STARTTLS command was
successful or not. For instance, for NNTP this is \"^3\".
:end-of-command specifies a regexp matching the end of a command.
If non-nil, it defaults to \"\\n\".
:capability-command -- a string representing the command used to
query server for capabilities. For instance, for IMAP this is
\"1 CAPABILITY\\r\\n\".
:success specifies a regexp matching a message indicating a
successful STARTTLS negotiation. For instance, the default
should be \"^3\" for an NNTP connection. If this is not
supplied, STARTTLS will always fail.
:starttls-function -- a function that takes one parameter, which
is the response to the capaibility command. It should return nil
if it turns out that the server doesn't support STARTTLS, or the
command to switch on STARTTLS otherwise.
:capability-command specifies a command used to query the HOST
for its capabilities. For instance, for IMAP this should be
\"1 CAPABILITY\\r\\n\".
The return value from this function is a four-element list, where
the first element is the stream (if connection was successful);
the second element is the \"greeting\", i. e., the string the
server sent over on initial contact; the third element is the
capability string; and the fourth element is either `network' or
`tls', depending on whether the connection ended up being
encrypted or not."
(let ((type (or (cadr (memq :type parameters)) 'network)))
:starttls-function specifies a function for handling STARTTLS.
This function should take one parameter, the response to the
capability command, and should return the command to switch on
STARTTLS if the server supports STARTTLS, and nil otherwise."
(let ((type (plist-get parameters :type))
(return-list (plist-get parameters :return-list)))
(if (and (null return-list) (memq type '(nil default)))
;; The simplest case---no encryption, and no need to report
;; connection properties. Like `open-network-stream', this
;; doesn't read anything into BUFFER yet.
(open-network-stream name buffer host service)
;; For everything else, refer to proto-stream-open-*.
(unless (plist-get parameters :end-of-command)
(setq parameters
(append '(:end-of-command "\r\n") parameters)))
(let* ((connection-function
(cond
((eq type 'starttls)
(setq type 'network))
((eq type 'ssl)
(setq type 'tls)))
(let ((open-result
(funcall (intern (format "proto-stream-open-%s" type) obarray)
((memq type '(nil default))
'proto-stream-open-default)
((memq type '(try-starttls starttls))
'proto-stream-open-starttls)
((memq type '(tls ssl))
'proto-stream-open-tls)
((eq type 'shell)
'proto-stream-open-shell)
(t
(error "Invalid connection type %s" type))))
(result (funcall connection-function
name buffer host service parameters)))
(if (null open-result)
(list nil nil nil type)
(let ((stream (car open-result)))
(list (and stream
(memq (process-status stream)
'(open run))
stream)
(nth 1 open-result)
(nth 2 open-result)
(nth 3 open-result)))))))
(if return-list
(list (car result)
:greeting (nth 1 result)
:capabilities (nth 2 result)
:type (nth 3 result))
(car result))))))
(defun proto-stream-open-network-only (name buffer host service parameters)
(defun proto-stream-open-default (name buffer host service parameters)
(let ((start (with-current-buffer buffer (point)))
(stream (open-network-stream name buffer host service)))
(list stream
(proto-stream-get-response
stream start (proto-stream-eoc parameters))
(proto-stream-get-response stream start
(plist-get parameters :end-of-command))
nil
'network)))
'default)))
(defun proto-stream-open-network (name buffer host service parameters)
(defun proto-stream-open-starttls (name buffer host service parameters)
(let* ((start (with-current-buffer buffer (point)))
;; This should be `starttls' or `try-starttls'.
(type (plist-get parameters :type))
(starttls-function (plist-get parameters :starttls-function))
(success-string (plist-get parameters :success))
(capability-command (plist-get parameters :capability-command))
(eoc (plist-get parameters :end-of-command))
;; Return (STREAM GREETING CAPABILITIES RESULTING-TYPE)
(stream (open-network-stream name buffer host service))
(capability-command (cadr (memq :capability-command parameters)))
(eoc (proto-stream-eoc parameters))
(type (cadr (memq :type parameters)))
(greeting (proto-stream-get-response stream start eoc))
success)
(if (not capability-command)
(list stream greeting nil 'network)
(let* ((capabilities
(proto-stream-command stream capability-command eoc))
(starttls-command
(funcall (cadr (memq :starttls-function parameters))
capabilities)))
(cond
;; If this server doesn't support STARTTLS, but we have
;; requested it explicitly, then close the connection and
;; return nil.
((or (not starttls-command)
(and (not (eq type 'starttls))
(not proto-stream-always-use-starttls)))
(if (eq type 'starttls)
(progn
(delete-process stream)
nil)
;; Otherwise, just return this plain network connection.
(list stream greeting capabilities 'network)))
;; We have some kind of STARTTLS support, so we try to
;; upgrade the connection opportunistically.
((or (fboundp 'open-gnutls-stream)
(capabilities (when capability-command
(proto-stream-command stream
capability-command eoc)))
(resulting-type 'default)
starttls-command)
;; If we have STARTTLS support, try to upgrade the connection.
(when (and (or (fboundp 'open-gnutls-stream)
(executable-find "gnutls-cli"))
capabilities success-string starttls-function
(setq starttls-command
(funcall starttls-function capabilities)))
;; If using external STARTTLS, drop this connection and start
;; anew with `starttls-open-stream'.
(unless (fboundp 'open-gnutls-stream)
(delete-process stream)
(setq start (with-current-buffer buffer (point-max)))
(let* ((starttls-use-gnutls t)
(starttls-extra-arguments
(if (not (eq type 'starttls))
;; When doing opportunistic TLS upgrades we
;; don't really care about the identity of the
;; peer.
;; For opportunistic TLS upgrades, we don't
;; really care about the identity of the peer.
(cons "--insecure" starttls-extra-arguments)
starttls-extra-arguments)))
(setq stream (starttls-open-stream name buffer host service)))
(proto-stream-get-response stream start eoc))
(if (not
(string-match
(cadr (memq :success parameters))
(proto-stream-command stream starttls-command eoc)))
;; We got an error back from the STARTTLS command.
(progn
(if (eq type 'starttls)
(progn
(delete-process stream)
nil)
(list stream greeting capabilities 'network)))
;; The server said it was OK to start doing STARTTLS negotiations.
(when (string-match success-string
(proto-stream-command stream starttls-command eoc))
;; The server said it was OK to begin STARTTLS negotiations.
(if (fboundp 'open-gnutls-stream)
(gnutls-negotiate stream nil)
(unless (starttls-negotiate stream)
(delete-process stream)
(setq stream nil)))
(when (or (null stream)
(not (memq (process-status stream)
'(open run))))
;; It didn't successfully negotiate STARTTLS, so we reopen
;; the connection.
(delete-process stream)))
(if (memq (process-status stream) '(open run))
(setq resulting-type 'tls)
;; We didn't successfully negotiate STARTTLS; if TLS
;; isn't demanded, reopen an unencrypted connection.
(when (eq type 'try-starttls)
(setq stream (open-network-stream name buffer host service))
(proto-stream-get-response stream start eoc))
;; Re-get the capabilities, since they may have changed
;; after switching to TLS.
(list stream greeting
(proto-stream-command stream capability-command eoc) 'tls)))
;; We don't have STARTTLS support available, but the caller
;; requested a STARTTLS connection, so we give up.
((eq (cadr (memq :type parameters)) 'starttls)
(delete-process stream)
nil)
;; Fall back on using a plain network stream.
(t
(list stream greeting capabilities 'network)))))))
(proto-stream-get-response stream start eoc)))
;; Re-get the capabilities, which may have now changed.
(setq capabilities
(proto-stream-command stream capability-command eoc))))
;; If TLS is mandatory, close the connection if it's unencrypted.
(and (eq type 'starttls)
(eq resulting-type 'default)
(delete-process stream))
;; Return value:
(list stream greeting capabilities resulting-type)))
(defun proto-stream-command (stream command eoc)
(let ((start (with-current-buffer (process-buffer stream) (point-max))))
@ -241,47 +234,43 @@ encrypted or not."
(funcall (if (fboundp 'open-gnutls-stream)
'open-gnutls-stream
'open-tls-stream)
name buffer host service)))
name buffer host service))
(eoc (plist-get parameters :end-of-command)))
(if (null stream)
nil
(list nil nil nil 'default)
;; If we're using tls.el, we have to delete the output from
;; openssl/gnutls-cli.
(unless (fboundp 'open-gnutls-stream)
(proto-stream-get-response
stream start (proto-stream-eoc parameters))
(proto-stream-get-response stream start eoc)
(goto-char (point-min))
(when (re-search-forward (proto-stream-eoc parameters) nil t)
(when (re-search-forward eoc nil t)
(goto-char (match-beginning 0))
(delete-region (point-min) (line-beginning-position))))
(proto-stream-capability-open start stream parameters 'tls)))))
(defun proto-stream-open-shell (name buffer host service parameters)
(require 'format-spec)
(proto-stream-capability-open
(with-current-buffer buffer (point))
(let ((process-connection-type nil))
(start-process name buffer shell-file-name
shell-command-switch
(format-spec
(cadr (memq :shell-command parameters))
(plist-get parameters :shell-command)
(format-spec-make
?s host
?p service))))
parameters 'network))
parameters 'default))
(defun proto-stream-capability-open (start stream parameters stream-type)
(let ((capability-command (cadr (memq :capability-command parameters)))
(greeting (proto-stream-get-response
stream start (proto-stream-eoc parameters))))
(let* ((capability-command (plist-get parameters :capability-command))
(eoc (plist-get parameters :end-of-command))
(greeting (proto-stream-get-response stream start eoc)))
(list stream greeting
(and capability-command
(proto-stream-command
stream capability-command (proto-stream-eoc parameters)))
(proto-stream-command stream capability-command eoc))
stream-type)))
(defun proto-stream-eoc (parameters)
(or (cadr (memq :end-of-command parameters))
"\r\n"))
(provide 'proto-stream)
;;; proto-stream.el ends here

View File

@ -1,3 +1,7 @@
2011-03-27 Glenn Morris <rgm@gnu.org>
* config.nt: Remove RETSIGTYPE, SIGTYPE (identical to void).
2011-03-25 Juanma Barranquero <lekktu@gmail.com>
* addpm.c (main): Remove unused variable `retval'.

View File

@ -393,15 +393,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#undef STACK_DIRECTION
#endif
/* Define the return type of signal handlers if the s-xxx file
did not already do so. */
#define RETSIGTYPE void
/* SIGTYPE is the macro we actually use. */
#ifndef SIGTYPE
#define SIGTYPE RETSIGTYPE
#endif
#ifdef emacs /* Don't do this for lib-src. */
/* Tell regex.c to use a type compatible with Emacs. */
#define RE_TRANSLATE_TYPE Lisp_Object

View File

@ -27,6 +27,20 @@
(stack_copy_size): Now size_t, not int.
(stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
2011-03-27 Glenn Morris <rgm@gnu.org>
* syssignal.h: Replace RETSIGTYPE with void.
* atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
* keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
Replace SIGTYPE with void everywhere.
* s/usg5-4-common.h (SIGTYPE): Remove definition.
* s/template.h (SIGTYPE): Remove commented out definition.
2011-03-26 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (redisplay_window): Don't check buffer's clip_changed
flag as a prerequisite for invoking try_scrolling. (Bug#6671)
2011-03-26 Juanma Barranquero <lekktu@gmail.com>
* w32.c (read_unc_volume): Use parameter `henum', instead of

View File

@ -64,7 +64,7 @@ static void set_alarm (void);
static void schedule_atimer (struct atimer *);
static struct atimer *append_atimer_lists (struct atimer *,
struct atimer *);
SIGTYPE alarm_signal_handler (int signo);
void alarm_signal_handler (int signo);
/* Start a new atimer of type TYPE. TIME specifies when the timer is
@ -388,7 +388,7 @@ run_timers (void)
/* Signal handler for SIGALRM. SIGNO is the signal number, i.e.
SIGALRM. */
SIGTYPE
void
alarm_signal_handler (int signo)
{
#ifndef SYNC_INPUT

View File

@ -3301,7 +3301,7 @@ syms_of_data (void)
XSYMBOL (intern_c_string ("most-negative-fixnum"))->constant = 1;
}
static SIGTYPE
static void
arith_error (int signo)
{
sigsetmask (SIGEMPTYMASK);

View File

@ -5566,7 +5566,7 @@ marginal_area_string (struct window *w, enum window_part part,
#ifdef SIGWINCH
static SIGTYPE
static void
window_change_signal (int signalnum) /* If we don't have an argument, */
/* some compilers complain in signal calls. */
{

View File

@ -308,7 +308,7 @@ pthread_t main_thread;
/* Handle bus errors, invalid instruction, etc. */
SIGTYPE
void
fatal_error_signal (int sig)
{
SIGNAL_THREAD_CHECK (sig);
@ -345,7 +345,7 @@ fatal_error_signal (int sig)
#ifdef SIGDANGER
/* Handler for SIGDANGER. */
SIGTYPE
void
memory_warning_signal (sig)
int sig;
{

View File

@ -103,7 +103,7 @@ extern double logb (double);
#endif
#ifdef FLOAT_CATCH_SIGILL
static SIGTYPE float_error ();
static void float_error ();
#endif
/* Nonzero while executing in floating point.
@ -126,7 +126,7 @@ static const char *float_error_fn_name;
Handle errors which may result in signals or may set errno.
Note that float_error may be declared to return void, so you can't
just cast the zero after the colon to (SIGTYPE) to make the types
just cast the zero after the colon to (void) to make the types
check properly. */
#ifdef FLOAT_CHECK_ERRNO
@ -960,7 +960,7 @@ Rounds the value toward zero. */)
}
#ifdef FLOAT_CATCH_SIGILL
static SIGTYPE
static void
float_error (signo)
int signo;
{

View File

@ -434,15 +434,15 @@ static void restore_getcjmp (jmp_buf);
static Lisp_Object apply_modifiers (int, Lisp_Object);
static void clear_event (struct input_event *);
static Lisp_Object restore_kboard_configuration (Lisp_Object);
static SIGTYPE interrupt_signal (int signalnum);
static void interrupt_signal (int signalnum);
#ifdef SIGIO
static SIGTYPE input_available_signal (int signo);
static void input_available_signal (int signo);
#endif
static void handle_interrupt (void);
static void timer_start_idle (void);
static void timer_stop_idle (void);
static void timer_resume_idle (void);
static SIGTYPE handle_user_signal (int);
static void handle_user_signal (int);
static char *find_user_signal_name (int);
static int store_user_signal_events (void);
@ -7082,7 +7082,7 @@ process_pending_signals (void)
#ifdef SIGIO /* for entire page */
/* Note SIGIO has been undef'd if FIONREAD is missing. */
static SIGTYPE
static void
input_available_signal (int signo)
{
/* Must preserve main program's value of errno. */
@ -7160,7 +7160,7 @@ add_user_signal (int sig, const char *name)
signal (sig, handle_user_signal);
}
static SIGTYPE
static void
handle_user_signal (int sig)
{
int old_errno = errno;
@ -10712,7 +10712,7 @@ clear_waiting_for_input (void)
SIGINT was generated by C-g, so we call handle_interrupt.
Otherwise, the handler kills Emacs. */
static SIGTYPE
static void
interrupt_signal (int signalnum) /* If we don't have an argument, some */
/* compilers complain in signal calls. */
{

View File

@ -485,7 +485,7 @@ extern void push_frame_kboard (struct frame *);
extern void pop_kboard (void);
extern void temporarily_switch_to_single_kboard (struct frame *);
extern void record_asynch_buffer_change (void);
extern SIGTYPE input_poll_signal (int);
extern void input_poll_signal (int);
extern void start_polling (void);
extern void stop_polling (void);
extern void set_poll_suppress_count (int);

View File

@ -3181,7 +3181,7 @@ extern Lisp_Object decode_env_path (const char *, const char *);
extern Lisp_Object empty_unibyte_string, empty_multibyte_string;
extern Lisp_Object Qfile_name_handler_alist;
extern void (*fatal_error_signal_hook) (void);
extern SIGTYPE fatal_error_signal (int);
extern void fatal_error_signal (int);
EXFUN (Fkill_emacs, 1) NO_RETURN;
#if HAVE_SETLOCALE
void fixup_locale (void);

View File

@ -5471,7 +5471,7 @@ read_process_output (Lisp_Object proc, register int channel)
jmp_buf send_process_frame;
Lisp_Object process_sent_to;
static SIGTYPE
static void
send_process_trap (int ignore)
{
SIGNAL_THREAD_CHECK (SIGPIPE);
@ -5498,7 +5498,7 @@ send_process (volatile Lisp_Object proc, const char *volatile buf,
EMACS_INT rv;
struct coding_system *coding;
struct gcpro gcpro1;
SIGTYPE (*volatile old_sigpipe) (int);
void (*volatile old_sigpipe) (int);
GCPRO1 (object);
@ -5620,7 +5620,7 @@ send_process (volatile Lisp_Object proc, const char *volatile buf,
while (this > 0)
{
int outfd = p->outfd;
old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap);
old_sigpipe = (void (*) (int)) signal (SIGPIPE, send_process_trap);
#ifdef DATAGRAM_SOCKETS
if (DATAGRAM_CHAN_P (outfd))
{
@ -6380,7 +6380,7 @@ process has been transmitted to the serial port. */)
indirectly; if it does, that is a bug */
#ifdef SIGCHLD
static SIGTYPE
static void
sigchld_handler (int signo)
{
int old_errno = errno;

View File

@ -77,15 +77,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
a file that someone else has modified in his Emacs. */
#define CLASH_DETECTION
/* Define this if your operating system declares signal handlers to
have a type other than the usual. `The usual' is `void' for ANSI C
systems (i.e. when the __STDC__ macro is defined), and `int' for
pre-ANSI systems. If you're using GCC on an older system, __STDC__
will be defined, but the system's include files will still say that
signal returns int or whatever; in situations like that, define
this to be what the system's include files want. */
/* #define SIGTYPE int */
/* If the character used to separate elements of the executable path
is not ':', #define this to be the appropriate character constant. */
/* #define SEPCHAR ':' */

View File

@ -38,9 +38,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */
#define HAVE_SYSV_SIGPAUSE
/* On USG systems signal handlers return void. */
#define SIGTYPE void
/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct tchars.
But get <termio.h> first to make sure ttold.h doesn't interfere.
And don't try to use SIGIO yet. */

View File

@ -449,7 +449,7 @@ child_setup_tty (int out)
struct save_signal
{
int code;
SIGTYPE (*handler) (int);
void (*handler) (int);
};
static void save_signal_handlers (struct save_signal *);
@ -608,7 +608,7 @@ save_signal_handlers (struct save_signal *saved_handlers)
while (saved_handlers->code)
{
saved_handlers->handler
= (SIGTYPE (*) (int)) signal (saved_handlers->code, SIG_IGN);
= (void (*) (int)) signal (saved_handlers->code, SIG_IGN);
saved_handlers++;
}
}

View File

@ -69,7 +69,7 @@ extern sigset_t sys_sigmask ();
/* Whether this is what all systems want or not, this is what
appears to be assumed in the source, for example data.c:arith_error. */
typedef RETSIGTYPE (*signal_handler_t) (int);
typedef void (*signal_handler_t) (int);
signal_handler_t sys_signal (int signal_number, signal_handler_t action);
sigset_t sys_sigblock (sigset_t new_mask);

View File

@ -14176,7 +14176,6 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
|| temp_scroll_step
|| NUMBERP (BVAR (current_buffer, scroll_up_aggressively))
|| NUMBERP (BVAR (current_buffer, scroll_down_aggressively)))
&& !current_buffer->clip_changed
&& CHARPOS (startp) >= BEGV
&& CHARPOS (startp) <= ZV)
{

View File

@ -349,7 +349,7 @@ static int handle_one_xevent (struct x_display_info *, XEvent *,
int *, struct input_event *);
/* Don't declare this NO_RETURN because we want no
interference with debugging failing X calls. */
static SIGTYPE x_connection_closed (Display *, const char *);
static void x_connection_closed (Display *, const char *);
/* Flush display of frame F, or of all frames if F is null. */
@ -7650,7 +7650,7 @@ x_trace_wire (void)
SIGPIPE will fail, causing Xlib to invoke the X IO error handler,
which will do the appropriate cleanup for us. */
static SIGTYPE
static void
x_connection_signal (int signalnum) /* If we don't have an argument, */
/* some compilers complain in signal calls. */
{
@ -7673,7 +7673,7 @@ static char *error_msg;
/* Handle the loss of connection to display DPY. ERROR_MESSAGE is
the text of an error message that lead to the connection loss. */
static SIGTYPE
static void
x_connection_closed (Display *dpy, const char *error_message)
{
struct x_display_info *dpyinfo = x_display_info_for_display (dpy);