This is the mail archive of the automake@gnu.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Autoconf 2.52g is released


The following message is a courtesy copy of an article
that has been posted to gnu.utils.bug as well.


Of course there are still many things that ought to be done in
Autoconf, nevertheless, there is no point in waiting for the day where
Autoconf will be complete (as by definition, there is always something
wrong for someone).

We aim at releasing 2.53 within the next months.  This is also a call
for people ready to:

- improve the documentation
- upgrade existing specific macros
- import into Autoconf wide spread specific macros

Thanks!

  ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52g.tar.gz   (959 kB)
  ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52g.tar.bz2  (735 kB)

And here are xdelta-style diffs

  ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52f-2.52g.xdelta   (50 kB)

Here are the MD5 and SHA1 signatures for the compressed tar files:

dcfbcb09bd49c4d3bb241ec77cd79bdf  autoconf-2.52g.tar.gz
28aaa993b7f105ec4fcebf99ecfaf5bd  autoconf-2.52g.tar.bz2
5bfb084cecb6c15583ecafcc4f4e0eff221e6e1c  autoconf-2.52g.tar.gz
1263c961cabc603186de2b5aeac07ddec9e76267  autoconf-2.52g.tar.bz2

NEWS:

** Requirements

  Perl 5.005_03 or later is required: autom4te is written in Perl and is
  needed by autoconf.  autoheader, autoreconf, ifnames, and autoscan are
  rewritten in Perl.

** Documentation

- AC_INIT
  Argument requirements, output variables, defined macros.
- M4sugar, M4sh, Autotest
  First sketch.
- Double quoting macros
  AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN.
- Licensing
  The Autoconf manual is now distributed under the terms of the GNU FDL.

** configure

- $LINENO
  Now used instead of hard coded line numbers.
  This eases the comparison of `configure's, and diminishes the
  pressure over control version archives.
  Automatic replacement for shells that don't support this feature.
- New output variables
  @builddir@, @top_builddir@, @abs_srcdir@, @abs_top_srcdir@, @abs_builddir@,
  @abs_top_builddir@.

** Emacs

  Autoconf and Autotest modes are provided.

** Executables

- autom4te
  New, used by the Autoconf suite to cache and speed up most processing.
- --force, -f
  Supported by autom4te, autoconf and autoheader.
- --include, -I
  Replaces --autoconf-dir and --localdir in autoconf, autoheader,
  autoupdate, and autoreconf.
- autoreconf
  No longer passes --cygnus, --foreign, --gnits, --gnu, --include-deps:
  automake options are to be given via AUTOMAKE_OPTIONS.
- autoreconf
  Runs gettextize and libtoolize when appropriate.
- autoreconf
  --m4dir is no longer supported.
- autoreconf
  Now runs only in the specified directories, defaulting to `.',
  but understands AC_CONFIG_SUBDIRS for dependent directories.
  Before, it used to run on all the `configure.ac' found in the
  current tree.
  Independent packages are properly updated.

** Bug fixes

- The top level $prefix is propagated to the AC_CONFIG_SUBDIRS configures.
- AC_TRY_RUN
  Under the user pressure, $? is finally available.  Probably a mistake.
- AC_F77_LIBRARY_LDFLAGS now supports the HP/UX f90 compiler.
- Precious variables accumulation
  config.status could stack several copies of the precious variables
  assignments.

** C Macros

- AC_C_BIGENDIAN supports the cross-compiling case.
- AC_C_BIGENDIAN accepts ACTION-IF-TRUE, ACTION-IF-FALSE, and
  ACTION-IF-UNKNOWN arguments.  All are facultative, and the default
  for ACTION-IF-TRUE is to define WORDS_BIGENDIAN like AC_C_BIGENDIAN
  always did.
- AC_C_LONG_DOUBLE now succeeds only if `long double' has more range or
  precision than `double'.

** Generic macros

- AC_INIT
  It now defines the preprocessor symbols PACKAGE_NAME,
  PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING, and
  PACKAGE_BUGREPORT.

- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS.
  Provide the user with srcdir, ac_srcdir, ac_top_srcdir, ac_builddir,
  ac_top_builddir, ac_abs_srcdir, ac_abs_top_srcdir, ac_abs_builddir,
  ac_abs_top_builddir.

- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS and AC_OUTPUT.
  Are much less expensive when using long lists of files.

** Library macros

- AC_FUNC_STRERROR_R now sets STRERROR_R_CHAR_P, not HAVE_WORKING_STRERROR_R,
  because POSIX 1003.1-200x draft 7 says strerror_r returns int, not char *.

- AC_FUNC_STRTOD substitutes POW_LIB.

- AC_FUNC_STRNLEN
  New.

ChangeLog entries:

**********************************************************************
ChangeLog	24 Jan 2002 18:44:16 -0000	1.1829
**********************************************************************
2002-01-24  Akim Demaille  <akim@epita.fr>

	Version 2.52g.

2002-01-24  Akim Demaille  <akim@epita.fr>

	* bin/autoheader.in, bin/autoconf.in, bin/autoscan.in,
	* doc/autoconf.texi: Finally add Akim as an author.

2002-01-24  Akim Demaille  <akim@epita.fr>

	* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Use PATH_SEPARATOR.
	(_AS_PATH_SEPARATOR_PREPARE): Don't expect $SHELL to be
	Bourne. Use /bin/sh.
	From Andreas Buening.

2002-01-24  Akim Demaille  <akim@epita.fr>

	* config/config.guess, config/config.sub, config/texinfo.tex:
	Update from masters.

2002-01-24  Akim Demaille  <akim@epita.fr>

	* Makefile.am (AUTOMAKE_OPTIONS): 1.5b.
	* config/auxdir.m4, config/cond.m4, config/depend.m4,
	* config/init.m4, config/install-sh.m4, config/lispdir.m4,
	* config/missing.m4, config/sanity.m4, config/select.m4,
	* config/strip.m4: Remove, to ease sync'ing with any version of
	Automake.

2002-01-24  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS)
	(_AC_INIT_PREPARE): Support -n as --no-create, as documented.
	Reported by Geir Ove Myhr.

2002-01-21  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/functions.m4 (AC_FUNC_MMAP): #Undef malloc.

2002-01-21  Akim Demaille  <akim@epita.fr>

	* lib/Autom4te/General.pm (getopt): Use a more GNUish error
	message on invalid options.
	* bin/autom4te.in (parse_args): Don't use
	Autoconf::General::getopt with non valid options.

2002-01-17  Jim Meyering  <meyering@lucent.com>

	* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Initialize
	$ac_cv_exeext so we don't use an old, invalid, cached value.

2002-01-11  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/functions.m4 (AC_FUNC_STRNLEN): New, from Jim
	Meyering.
	* doc/autoconf.texi (Function Portability): Document the strnlen
	limitation.
	(Particular Functions): Document AC_FUNC_STRNLEN.
	* lib/autoscan/functions: Adjust.

2002-01-06  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't create
	package.m4, since is really depends upon configure.ac, not
	configure.
	* doc/autoconf.texi (testsuite Scripts): Adjust.
	* tests/Makefile.am (package.m4): New.
	EXTRA_DIST it since its a source.

2002-01-06  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Move the AC_SUBST
	of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING,
	and PACKAGE_BUGREPORT from here...
	(_AC_INIT_DEFAULTS): to here, since it is unrelated to the
	arguments.
	(_AC_INIT_PREPARE): AC_DEFINE these symbols.
	* lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*.
	(AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'.
	* tests/tools.at (autoheader): Adjust.
	* tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust.

2002-01-06  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (scan_file): Use `&used'.

2002-01-03  Akim Demaille  <akim@epita.fr>

	* doc/autoconf.texi (Output): Improved wording regarding use of
	AC_OUTPUT.
	From Olly Betts.

2001-12-18  Kevin Ryde  <user42@zip.com.au>

	* doc/autoconf.texi (Function Portability): Add notes on sscanf
	sometimes needing writable input.

2001-12-17  Jim Meyering  <meyering@lucent.com>

	* doc/autoconf.texi (New Macros): Tweak wording.

2001-12-14  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/general.m4 (_AC_INIT_PREPARE): We cleaning up the
	trailing files, don't apply `-rf' to files which might not be
	created by configure (core, core.*, and *.core), but just `rm -f'.
	Suggested by Jonathan Kamens.

2001-12-14  Aaron M. Ucko  <amu@alum.mit.edu>

	* lib/autoconf/general.m4: Avoid duplicates in `$ac_configure_args'.

2001-12-14  Akim Demaille  <akim@epita.fr>

	* Makefile.am (MAINTAINERCLEANFILES): Remove configure.

2001-12-13  Peter Eisentraut  <peter_e@gmx.net>

	* lib/autoconf/status.m4 (_AC_SRCPATHS): Rename buildpath to
	abs_builddir, top_buildpath to abs_top_builddir, srcpath to
	abs_srcdir, top_srcpath to abs_top_srcdir.
	(_AC_OUTPUT_FILES): Adjust.
	* NEWS, doc/autoconf.texi, lib/autoconf/autotest.m4,
	* tests/atspecific.m4, tests/autoreconf.in, tests/tools.at,
	* tests/wrappl.in, tests/wrapsh.in: Adjust.

2001-12-12  Steven G. Johnson  <stevenj@alum.mit.edu>

	* lib/autoconf/fortran.m4 (_AC_PROG_F77_V_OUTPUT): Fix failed
	C/Fortran linking on HP/UX, by extracting the Fortran library
	search path from the LPATH line in the $F77 -v output.

2001-12-12  Kevin Ryde  <user42@zip.com.au>

	* doc/autoconf.texi (File Descriptors): Use a clearer layout for the
	forbidden file descriptors table.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (%c_keywords): Build it at top level.
	Map to 1 in order to simplify its uses.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (&scan_c_file, &scan_sh_file, &scan_makefile):
	Remove $filepath, useless.
	(&scan_makefile): Don't remove the $(FOO), ${FOO} and @FOO@
	variables, they are really part of the tokens.
	Split the input line on spaces and then look for tokens.
	Now autoscan ceases to ask for AC_PROG_LEX for the package Bison
	because of `lex$U.$(OBJEXT)'.
	(&scan_files): Use "@list" instead of join.
	* doc/Makefile.am (CLEANFILES): Add *.fns.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* tests/autoreconf.in, tests/autom4te.in, tests/autoupdate.in:
	Remove, replaced by...
	* tests/wrappl.in: Be common for all the Perl executables.
	In particular autoscan and autoheader want -I.
	* configure.ac: Adjust.
	* lib/autoscan/headers: errno.h is portable.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (used): New.
	Use it.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (&scan_c_file): Better parsing of CPP
	directives.
	(&scan_sh_file): Remove a duplicate pattern.
	(&check_configure_ac): Use long options.
	* lib/autoscan/headers (alloca.h): Check with AC_FUNC_ALLOCA.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* bin/autoscan.in (scan_c_file): Fix the handling of C comments.
	Before, having a line containing the opening of a multi line
	comment made the whole line be ignored.

2001-11-26  Akim Demaille  <akim@epita.fr>

	* doc/autoconf.texi (Using an Autotest Test Suite): New.
	(testsuite Scripts): Be one of its subsection.
	(Autotest Logs): New.

2001-11-26  Akim Demaille  <akim@epita.fr>

	Test groups are now run two directories deeper.

	* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Replace srcdir,
	top_srcdir and top_builddir with at_srcdir, at_top_srcdir and
	at_top_builddir.
	* lib/autotest/general.m4 (AT_INIT): Compute srcdir,
	top_srcdir, builddir and top_builddir.
	Use `at_*dir' relatively to the directory containing the
	suite, use `*dir' when relatively to the current group dir.

2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/autoconf.texi, TODO, lib/autoconf/fortran.m4,
	lib/autoconf/functions.m4, lib/autoconf/headers.m4,
	tests/atgeneral.m4, tests/tools.at, tests/atspecific.m4: Fix
	spelling errors.

2001-11-22  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* doc/autoconf.texi (Using System Type): Add an example of `case
	$host' usage so people quit using `case $target' everywhere.

2001-11-22  Akim Demaille  <akim@epita.fr>

	* doc/autoconf.texi (Installation Directory Variables): Englishoes
	spotted by Jim Meyering.

2001-11-16  Paul Eggert  <eggert@twinsun.com>

	This patch implements a `long double' suggestion by Oliver Kiddle.

	* lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C)): Make the array
	static, to catch errors if the value isn't known at compile-time
	and the compiler supports dynamic arrays.  Change its name from
	`_array_' to `test_array' to avoid potential name clashes.
	(AC_C_LONG_DOUBLE): Make it a compile-time test, not a run-time
	test.  Do not define HAVE_LONG_DOUBLE if `long double' is no
	better than double.  Catch a bug in GCC 2.95.2 x86.
	* doc/autoconf.texi (C Compiler): Document the above.
	* NEWS: Likewise.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* tests/m4sh.at (LINENO): Protect from autom4te's substitution by
	hand.
	* tests/tools.at: Don't protect dnl, AT_DATA_M4SH does.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* lib/autotest/general.m4 (AT_INIT): After having run the test
	group, go back to the initial directory, not to at_suite_dir.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH)
	(AT_DATA_AUTOCONF):  Also protect @&t@ from autom4te.
	(AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER): Pass no --include
	option.
	(AT_CHECK_CONFIGURE): Use absolute paths.
	(_AT_CHECK_AC_MACRO): Create aclocal.m4 with AC_STATE_SAVE in it.
	The problem is still the old one: there is no means in M4 (that I
	know about) to create a defining macro, because there is no means
	to create `$1' etc., therefore, the defining macro ``swallows''
	all the arguments meant to the defined macro.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* tests/atspecific.m4 (AT_DATA_AUTOCONF): New.
        (AT_CONFIGURE_AC): Output the definition of AC_STATE_SAVE in
        configure.ac.
	* tests/aclocal.m4: Remove, as it is no longer used.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* lib/autotest/general.m4: Change `tests?' into `groups?' in
	variable names when referring to a single test group, or to
	`suite' when referring to the whole test suite.
	`at_last_test' is removed: m4 compute at_format itself.
	(at_stdout, at_stder1, at_stderr): New variables.
	(AT_CHECK): Use them.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* lib/autotest/general.m4 (AT_INIT): Be sure to put `.', relative,
	in PATH.
	Create `testsuite.dir/003/run' instead of `testsuite.003'.
	Do it as soon as a test fails, don't wait till the end of the test
	suite.
	Don't remove $as_me.[0-9]*, since these files no longer exist.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* tests/tools.at: Use absolute paths, since we are no longer run
	in place.

2001-11-13  Akim Demaille  <akim@epita.fr>

	Now that tests are running in their own private dir, there is no
	need to list the files to remove at the end of tests groups.

	* lib/autotest/general.m4 (_AT_CLEANUP_FILE, AT_CLEANUP_FILES):
	(AT_data_files, at_data_files): Remove.
	(AT_CLEANUP, AT_DATA): Simplify.
	(AT_INIT): Adjust.
	Remove the group dir if !debug && !failed.
	* tests/atspecific.m4: Adjust.

2001-11-13  Akim Demaille  <akim@epita.fr>

	Start a new layout for Autotest: `testsuite' creates
	`testsuite.dir' in which the at-check-line etc. files are to be
	found, and `testsuite.dir/003' where the test group 3 is run.

	* lib/autotest/general.m4 (AT_INIT): at_tests_dir,
	at_check_line_file, at_format, at_test_normalized, at_group_dir
	are new variables.
	Create the directories.
	Use absolute paths for at- files.
	(AT_CHECK): Adjust.

2001-11-11  Michael Matz  <matz@kde.org>

	* m4sugar.m4 (_m4_foreach): Make it linear instead quadratic.
	(m4_car2): New.
	(m4_car): Properly quote arguments.

2001-11-13  Akim Demaille  <akim@epita.fr>

	* tests/aclocal.m4 (AC_STATE_SAVE): s/LIBOBJS/LIB@&t@OBJS/ to cope
	with stricter rules on LIBOBJS.

2001-11-12  Paul Eggert  <eggert@twinsun.com>

	* lib/autoconf/c.m4 (AC_C_PROTOTYPES): Define __PROTOTYPES too.
	* doc/autoconf.texi (C Compiler): AC_C_PROTOTYPES now defines
	__PROTOTYPES too.

2001-11-12  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Use AC_CHECK_FUNCS.

2001-11-12  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/c.m4, lib/autoconf/fortran.m4,
	* lib/autoconf/functions.m4, lib/autoconf/general.m4,
	* lib/autoconf/headers.m4, lib/autoconf/libs.m4,
	* lib/autoconf/programs.m4, lib/autoconf/specific.m4,
	* lib/autoconf/types.m4: When invoking AC_DEFINE and friends,
	specify to what the macro should be defined (typically to 1).

2001-11-12  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/functions.m4 (AC_FUNC_STRTOD): AC_SUBST POW_LIB.
	From Jim Meyering.

2001-11-12  Akim Demaille  <akim@epita.fr>

	* lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Use
	AC_TRY_EVAL to run $LEX, not AC_TRY_COMMAND.  This validates the
	definition used by Automake where LEX is +/- "${missing} lex" and
	`missing' itself contains variables.

2001-11-12  Akim Demaille  <akim@epita.fr>

	* lib/autotest/general.m4 (AT_INIT): Push KILL at the end.
	Now that M4sh pushes BODY, the comments were output at the end of
	the test suites.

2001-11-08  Akim Demaille  <akim@epita.fr>

	* bin/autoreconf.in (&autoreconf): Run aclocal before tracing, so
	that we can trace macros from aclocal.m4.
	Trace AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL, since the latter is
	obsoleted, and redirect to the former anyway.
	Reported by Ralf Corsepius.

2001-11-08  Akim Demaille  <akim@epita.fr>

	* bin/autoreconf.in (&autoreconf): AC_CONFIG_SUBIDRS are to be
	processed only if present.
	* tests/torture.at (Configuring subdirectories): Use autoreconf
	instead of successive calls to autoconf.
	Add a nonexistent subdirectory to exercise the patch above.
	Reported by Ralf Corsepius.

2001-11-08  Kevin Ryde  <user42@zip.com.au>

	* autoconf.texi (Limitations of Usual Tools): Note HP-UX cc
	doesn't accept .S files.

2001-11-07  Akim Demaille  <akim@epita.fr>

	* lib/m4sugar/m4sugar.m4 (m4_pattern_forbid): Accepts $2.
	* lib/autoconf/general.m4 (AC_INTI): Forbid LIBOBJS.
	(_AC_LIBOBJ): s/LIBOBJS/LIB@&t@OBJS/.
	* bin/autom4te.in (warn_forbidden): New.
	(handle_output): Use it.
	Read m4_pattern_forbid with messages.

2001-11-05  Akim Demaille  <akim@epita.fr>

	* bin/autom4te.in (--normalize): Remove.
	* lib/autom4te.in: Adjust.

2001-11-05  Akim Demaille  <akim@epita.fr>

	* tests/Makefile.am (testsuite): Rename this target as...
	($(TESTSUITE)): this.
	From Nicolas Joly.

2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): When removing
	the --prefix option, also remove it's argument.

2001-11-05  Akim Demaille  <akim@epita.fr>

	* doc/autoconf.texi (testsuite Invocation): Update.
	(Writing testsuite.at): Update.

2001-11-03  Akim Demaille  <akim@epita.fr>

	* doc/autoconf.texi: s/@code/@command/ where appropriate.

2001-11-03  Akim Demaille  <akim@epita.fr>

	* lib/Autom4te/General.pm: (&catfile, &canonfile)
	(&file_name_is_absolute): New, wrappers around routines from
	File::Spec.
	Use and export them.
	(&find_configure_ac): Optionally take a directory where to look at.
	* bin/autoreconf.in (&parse_args): Trim the configure.ac part of
	the arguments.
	Default @ARGV to `.', not find_configure_ac.
	(&autoreconf): Argument is a directory.
	Trace AC_CONFIG_SUBDIRS and schedule the subdirs for autoreconf'ing.
	* doc/autoconf.texi (autoreconf Invocation): Update.

2001-11-03  Akim Demaille  <akim@epita.fr>

	* lib/Autom4te/General.pm (@export_vars, @export_subs)
	(@export_forward_subs): New.
	Add basename, dirname, and fileparse.
	(@EXPORT): Adjust.
	* bin/autoreconf.in (&autoreconf): Fix call to fileparse.
	Don't look for aclocal flags if we already know aclocal is not
	used.
	Move aclocal.m4t only if it exists.
	Reported by Ezra Peisach.

2001-11-03  Akim Demaille  <akim@epita.fr>

	* bin/autoreconf.in (&parse_args): Work only on the configure.ac
	passed on command line, defaulting to ./configure.ac if present.
	(&maybe_autoreconf, File::Find): Remove, unused.
	(&autoreconf): If autoconf is not used, don't try to trace.

2001-11-02  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 2.52g.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]