updated for version 7.2-130
This commit is contained in:
		
							
								
								
									
										61
									
								
								src/auto/configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										61
									
								
								src/auto/configure
									
									
									
									
										vendored
									
									
								
							@ -11565,6 +11565,67 @@ _ACEOF
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5
 | 
				
			||||||
 | 
					$as_echo_n "checking for working volatile... " >&6; }
 | 
				
			||||||
 | 
					if test "${ac_cv_c_volatile+set}" = set; then
 | 
				
			||||||
 | 
					  $as_echo_n "(cached) " >&6
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  cat >conftest.$ac_ext <<_ACEOF
 | 
				
			||||||
 | 
					/* confdefs.h.  */
 | 
				
			||||||
 | 
					_ACEOF
 | 
				
			||||||
 | 
					cat confdefs.h >>conftest.$ac_ext
 | 
				
			||||||
 | 
					cat >>conftest.$ac_ext <<_ACEOF
 | 
				
			||||||
 | 
					/* end confdefs.h.  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					main ()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volatile int x;
 | 
				
			||||||
 | 
					int * volatile y = (int *) 0;
 | 
				
			||||||
 | 
					return !x && !y;
 | 
				
			||||||
 | 
					  ;
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					_ACEOF
 | 
				
			||||||
 | 
					rm -f conftest.$ac_objext
 | 
				
			||||||
 | 
					if { (ac_try="$ac_compile"
 | 
				
			||||||
 | 
					case "(($ac_try" in
 | 
				
			||||||
 | 
					  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
 | 
				
			||||||
 | 
					  *) ac_try_echo=$ac_try;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
 | 
				
			||||||
 | 
					$as_echo "$ac_try_echo") >&5
 | 
				
			||||||
 | 
					  (eval "$ac_compile") 2>conftest.er1
 | 
				
			||||||
 | 
					  ac_status=$?
 | 
				
			||||||
 | 
					  grep -v '^ *+' conftest.er1 >conftest.err
 | 
				
			||||||
 | 
					  rm -f conftest.er1
 | 
				
			||||||
 | 
					  cat conftest.err >&5
 | 
				
			||||||
 | 
					  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
 | 
				
			||||||
 | 
					  (exit $ac_status); } && {
 | 
				
			||||||
 | 
						 test -z "$ac_c_werror_flag" ||
 | 
				
			||||||
 | 
						 test ! -s conftest.err
 | 
				
			||||||
 | 
					       } && test -s conftest.$ac_objext; then
 | 
				
			||||||
 | 
					  ac_cv_c_volatile=yes
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  $as_echo "$as_me: failed program was:" >&5
 | 
				
			||||||
 | 
					sed 's/^/| /' conftest.$ac_ext >&5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ac_cv_c_volatile=no
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5
 | 
				
			||||||
 | 
					$as_echo "$ac_cv_c_volatile" >&6; }
 | 
				
			||||||
 | 
					if test $ac_cv_c_volatile = no; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat >>confdefs.h <<\_ACEOF
 | 
				
			||||||
 | 
					#define volatile /**/
 | 
				
			||||||
 | 
					_ACEOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5
 | 
					{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5
 | 
				
			||||||
$as_echo_n "checking for mode_t... " >&6; }
 | 
					$as_echo_n "checking for mode_t... " >&6; }
 | 
				
			||||||
if test "${ac_cv_type_mode_t+set}" = set; then
 | 
					if test "${ac_cv_type_mode_t+set}" = set; then
 | 
				
			||||||
 | 
				
			|||||||
@ -50,6 +50,9 @@
 | 
				
			|||||||
/* Define to empty if the keyword does not work.  */
 | 
					/* Define to empty if the keyword does not work.  */
 | 
				
			||||||
#undef const
 | 
					#undef const
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Define to empty if the keyword does not work.  */
 | 
				
			||||||
 | 
					#undef volatile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Define to `int' if <sys/types.h> doesn't define.  */
 | 
					/* Define to `int' if <sys/types.h> doesn't define.  */
 | 
				
			||||||
#undef mode_t
 | 
					#undef mode_t
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2148,6 +2148,7 @@ fi
 | 
				
			|||||||
dnl Checks for typedefs, structures, and compiler characteristics.
 | 
					dnl Checks for typedefs, structures, and compiler characteristics.
 | 
				
			||||||
AC_PROG_GCC_TRADITIONAL
 | 
					AC_PROG_GCC_TRADITIONAL
 | 
				
			||||||
AC_C_CONST
 | 
					AC_C_CONST
 | 
				
			||||||
 | 
					AC_C_VOLATILE
 | 
				
			||||||
AC_TYPE_MODE_T
 | 
					AC_TYPE_MODE_T
 | 
				
			||||||
AC_TYPE_OFF_T
 | 
					AC_TYPE_OFF_T
 | 
				
			||||||
AC_TYPE_PID_T
 | 
					AC_TYPE_PID_T
 | 
				
			||||||
 | 
				
			|||||||
@ -482,8 +482,10 @@ EXTERN char	*foreground_argument INIT(= NULL);
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * While executing external commands or in Ex mode, should not insert GUI
 | 
					 * While executing external commands or in Ex mode, should not insert GUI
 | 
				
			||||||
 * events in the input buffer: Set hold_gui_events to non-zero.
 | 
					 * events in the input buffer: Set hold_gui_events to non-zero.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * volatile because it is used in signal handler sig_sysmouse().
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
EXTERN int	hold_gui_events INIT(= 0);
 | 
					EXTERN volatile int hold_gui_events INIT(= 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * When resizing the shell is postponed, remember the new size, and call
 | 
					 * When resizing the shell is postponed, remember the new size, and call
 | 
				
			||||||
@ -597,7 +599,8 @@ EXTERN int	exiting INIT(= FALSE);
 | 
				
			|||||||
EXTERN int	really_exiting INIT(= FALSE);
 | 
					EXTERN int	really_exiting INIT(= FALSE);
 | 
				
			||||||
				/* TRUE when we are sure to exit, e.g., after
 | 
									/* TRUE when we are sure to exit, e.g., after
 | 
				
			||||||
				 * a deadly signal */
 | 
									 * a deadly signal */
 | 
				
			||||||
EXTERN int	full_screen INIT(= FALSE);
 | 
					/* volatile because it is used in signal handler deathtrap(). */
 | 
				
			||||||
 | 
					EXTERN volatile int full_screen INIT(= FALSE);
 | 
				
			||||||
				/* TRUE when doing full-screen output
 | 
									/* TRUE when doing full-screen output
 | 
				
			||||||
				 * otherwise only writing some messages */
 | 
									 * otherwise only writing some messages */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -739,10 +742,12 @@ EXTERN JMP_BUF x_jump_env;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
EXTERN JMP_BUF lc_jump_env;	/* argument to SETJMP() */
 | 
					EXTERN JMP_BUF lc_jump_env;	/* argument to SETJMP() */
 | 
				
			||||||
# ifdef SIGHASARG
 | 
					# ifdef SIGHASARG
 | 
				
			||||||
EXTERN int lc_signal;		/* catched signal number, 0 when no was signal
 | 
					/* volatile because it is used in signal handlers. */
 | 
				
			||||||
				   catched; used for mch_libcall() */
 | 
					EXTERN volatile int lc_signal;	/* caught signal number, 0 when no was signal
 | 
				
			||||||
 | 
									   caught; used for mch_libcall() */
 | 
				
			||||||
# endif
 | 
					# endif
 | 
				
			||||||
EXTERN int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */
 | 
					/* volatile because it is used in signal handler deathtrap(). */
 | 
				
			||||||
 | 
					EXTERN volatile int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT)
 | 
					#if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT)
 | 
				
			||||||
@ -986,7 +991,8 @@ EXTERN int	curscript INIT(= 0);	    /* index in scriptin[] */
 | 
				
			|||||||
EXTERN FILE	*scriptout  INIT(= NULL);   /* stream to write script to */
 | 
					EXTERN FILE	*scriptout  INIT(= NULL);   /* stream to write script to */
 | 
				
			||||||
EXTERN int	read_cmd_fd INIT(= 0);	    /* fd to read commands from */
 | 
					EXTERN int	read_cmd_fd INIT(= 0);	    /* fd to read commands from */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXTERN int	got_int INIT(= FALSE);	    /* set to TRUE when interrupt
 | 
					/* volatile because it is used in signal handler catch_sigint(). */
 | 
				
			||||||
 | 
					EXTERN volatile int got_int INIT(= FALSE);    /* set to TRUE when interrupt
 | 
				
			||||||
						signal occurred */
 | 
											signal occurred */
 | 
				
			||||||
#ifdef USE_TERM_CONSOLE
 | 
					#ifdef USE_TERM_CONSOLE
 | 
				
			||||||
EXTERN int	term_console INIT(= FALSE); /* set to TRUE when console used */
 | 
					EXTERN int	term_console INIT(= FALSE); /* set to TRUE when console used */
 | 
				
			||||||
 | 
				
			|||||||
@ -181,7 +181,8 @@ static RETSIGTYPE catch_sigpwr __ARGS(SIGPROTOARG);
 | 
				
			|||||||
	&& defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK)
 | 
						&& defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK)
 | 
				
			||||||
# define SET_SIG_ALARM
 | 
					# define SET_SIG_ALARM
 | 
				
			||||||
static RETSIGTYPE sig_alarm __ARGS(SIGPROTOARG);
 | 
					static RETSIGTYPE sig_alarm __ARGS(SIGPROTOARG);
 | 
				
			||||||
static int sig_alarm_called;
 | 
					/* volatile because it is used in signal handler sig_alarm(). */
 | 
				
			||||||
 | 
					static volatile int sig_alarm_called;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
static RETSIGTYPE deathtrap __ARGS(SIGPROTOARG);
 | 
					static RETSIGTYPE deathtrap __ARGS(SIGPROTOARG);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -201,13 +202,16 @@ static int save_patterns __ARGS((int num_pat, char_u **pat, int *num_file, char_
 | 
				
			|||||||
# define SIG_ERR	((RETSIGTYPE (*)())-1)
 | 
					# define SIG_ERR	((RETSIGTYPE (*)())-1)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int	do_resize = FALSE;
 | 
					/* volatile because it is used in signal handler sig_winch(). */
 | 
				
			||||||
 | 
					static volatile int do_resize = FALSE;
 | 
				
			||||||
#ifndef __EMX__
 | 
					#ifndef __EMX__
 | 
				
			||||||
static char_u	*extra_shell_arg = NULL;
 | 
					static char_u	*extra_shell_arg = NULL;
 | 
				
			||||||
static int	show_shell_mess = TRUE;
 | 
					static int	show_shell_mess = TRUE;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
static int	deadly_signal = 0;	    /* The signal we caught */
 | 
					/* volatile because it is used in signal handler deathtrap(). */
 | 
				
			||||||
static int	in_mch_delay = FALSE;	    /* sleeping in mch_delay() */
 | 
					static volatile int deadly_signal = 0;	    /* The signal we caught */
 | 
				
			||||||
 | 
					/* volatile because it is used in signal handler deathtrap(). */
 | 
				
			||||||
 | 
					static volatile int in_mch_delay = FALSE;    /* sleeping in mch_delay() */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int curr_tmode = TMODE_COOK;	/* contains current terminal mode */
 | 
					static int curr_tmode = TMODE_COOK;	/* contains current terminal mode */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -802,7 +806,7 @@ init_signal_stack()
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * We need correct potatotypes for a signal function, otherwise mean compilers
 | 
					 * We need correct prototypes for a signal function, otherwise mean compilers
 | 
				
			||||||
 * will barf when the second argument to signal() is ``wrong''.
 | 
					 * will barf when the second argument to signal() is ``wrong''.
 | 
				
			||||||
 * Let me try it with a few tricky defines from my own osdef.h	(jw).
 | 
					 * Let me try it with a few tricky defines from my own osdef.h	(jw).
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@ -1068,13 +1072,18 @@ deathtrap SIGDEFARG(sigarg)
 | 
				
			|||||||
    SIGRETURN;
 | 
					    SIGRETURN;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef _REENTRANT
 | 
					#if defined(_REENTRANT) && defined(SIGCONT)
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * On Solaris with multi-threading, suspending might not work immediately.
 | 
					 * On Solaris with multi-threading, suspending might not work immediately.
 | 
				
			||||||
 * Catch the SIGCONT signal, which will be used as an indication whether the
 | 
					 * Catch the SIGCONT signal, which will be used as an indication whether the
 | 
				
			||||||
 * suspending has been done or not.
 | 
					 * suspending has been done or not.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * On Linux, signal is not always handled immediately either.
 | 
				
			||||||
 | 
					 * See https://bugs.launchpad.net/bugs/291373
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * volatile because it is used in in signal handler sigcont_handler().
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int sigcont_received;
 | 
					static volatile int sigcont_received;
 | 
				
			||||||
static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
 | 
					static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
@ -1118,15 +1127,28 @@ mch_suspend()
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
# endif
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ifdef _REENTRANT
 | 
					# if defined(_REENTRANT) && defined(SIGCONT)
 | 
				
			||||||
    sigcont_received = FALSE;
 | 
					    sigcont_received = FALSE;
 | 
				
			||||||
# endif
 | 
					# endif
 | 
				
			||||||
    kill(0, SIGTSTP);	    /* send ourselves a STOP signal */
 | 
					    kill(0, SIGTSTP);	    /* send ourselves a STOP signal */
 | 
				
			||||||
# ifdef _REENTRANT
 | 
					# if defined(_REENTRANT) && defined(SIGCONT)
 | 
				
			||||||
    /* When we didn't suspend immediately in the kill(), do it now.  Happens
 | 
					    /*
 | 
				
			||||||
     * on multi-threaded Solaris. */
 | 
					     * Wait for the SIGCONT signal to be handled. It generally happens
 | 
				
			||||||
    if (!sigcont_received)
 | 
					     * immediately, but somehow not all the time. Do not call pause()
 | 
				
			||||||
	pause();
 | 
					     * because there would be race condition which would hang Vim if
 | 
				
			||||||
 | 
					     * signal happened in between the test of sigcont_received and the
 | 
				
			||||||
 | 
					     * call to pause(). If signal is not yet received, call sleep(0)
 | 
				
			||||||
 | 
					     * to just yield CPU. Signal should then be received. If somehow
 | 
				
			||||||
 | 
					     * it's still not received, sleep 1, 2, 3 ms. Don't bother waiting
 | 
				
			||||||
 | 
					     * further if signal is not received after 1+2+3+4 ms (not expected
 | 
				
			||||||
 | 
					     * to happen).
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
						long wait;
 | 
				
			||||||
 | 
						for (wait = 0; !sigcont_received && wait <= 3L; wait++)
 | 
				
			||||||
 | 
						    /* Loop is not entered most of the time */
 | 
				
			||||||
 | 
						    mch_delay(wait, FALSE);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
# endif
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ifdef FEAT_TITLE
 | 
					# ifdef FEAT_TITLE
 | 
				
			||||||
@ -1175,7 +1197,7 @@ set_signals()
 | 
				
			|||||||
#ifdef SIGTSTP
 | 
					#ifdef SIGTSTP
 | 
				
			||||||
    signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
 | 
					    signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef _REENTRANT
 | 
					#if defined(_REENTRANT) && defined(SIGCONT)
 | 
				
			||||||
    signal(SIGCONT, sigcont_handler);
 | 
					    signal(SIGCONT, sigcont_handler);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1234,7 +1256,7 @@ catch_int_signal()
 | 
				
			|||||||
reset_signals()
 | 
					reset_signals()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    catch_signals(SIG_DFL, SIG_DFL);
 | 
					    catch_signals(SIG_DFL, SIG_DFL);
 | 
				
			||||||
#ifdef _REENTRANT
 | 
					#if defined(_REENTRANT) && defined(SIGCONT)
 | 
				
			||||||
    /* SIGCONT isn't in the list, because its default action is ignore */
 | 
					    /* SIGCONT isn't in the list, because its default action is ignore */
 | 
				
			||||||
    signal(SIGCONT, SIG_DFL);
 | 
					    signal(SIGCONT, SIG_DFL);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@ -5899,7 +5921,9 @@ gpm_open()
 | 
				
			|||||||
	     * we are going to suspend or starting an external process
 | 
						     * we are going to suspend or starting an external process
 | 
				
			||||||
	     * so we shouldn't  have problem with this
 | 
						     * so we shouldn't  have problem with this
 | 
				
			||||||
	     */
 | 
						     */
 | 
				
			||||||
 | 
					# ifdef SIGTSTP
 | 
				
			||||||
	    signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
 | 
						    signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
	    return 1; /* succeed */
 | 
						    return 1; /* succeed */
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (gpm_fd == -2)
 | 
						if (gpm_fd == -2)
 | 
				
			||||||
 | 
				
			|||||||
@ -676,6 +676,8 @@ static char *(features[]) =
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int included_patches[] =
 | 
					static int included_patches[] =
 | 
				
			||||||
{   /* Add new patch number below this line */
 | 
					{   /* Add new patch number below this line */
 | 
				
			||||||
 | 
					/**/
 | 
				
			||||||
 | 
					    130,
 | 
				
			||||||
/**/
 | 
					/**/
 | 
				
			||||||
    129,
 | 
					    129,
 | 
				
			||||||
/**/
 | 
					/**/
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user