diff options
50 files changed, 2776 insertions, 726 deletions
| @@ -1,3 +1,13 @@ | |||
| 1 | 2004-10-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * configure.in (HAVE_RANDOM_HEAPSTART): Change AC_MSG_ERROR to | ||
| 4 | AC_MSG_WARN. Move output of warning message to end of configure run. | ||
| 5 | |||
| 6 | 2004-10-05 Jan Dj,Ad(Brv. <jan.h.d@swipnet.se> | ||
| 7 | |||
| 8 | * configure.in (HAVE_RANDOM_HEAPSTART): Renamed HAVE_EXECSHIELD. | ||
| 9 | Run test to see if heap start address is random. | ||
| 10 | |||
| 1 | 2004-09-29 Miles Bader <miles@gnu.org> | 11 | 2004-09-29 Miles Bader <miles@gnu.org> |
| 2 | 12 | ||
| 3 | * configure.in (HAVE_EXECSHIELD): Test correct env variable to see | 13 | * configure.in (HAVE_EXECSHIELD): Test correct env variable to see |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 19f06efa4a7..1898cf4dea4 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -28,8 +28,6 @@ isearch faces. | |||
| 28 | 28 | ||
| 29 | ** Finish updating the Emacs Lisp manual. | 29 | ** Finish updating the Emacs Lisp manual. |
| 30 | 30 | ||
| 31 | *** New display properties (KFS to provide input). | ||
| 32 | |||
| 33 | ** Update the Emacs manual. | 31 | ** Update the Emacs manual. |
| 34 | 32 | ||
| 35 | *** Update man/info.texi. | 33 | *** Update man/info.texi. |
| @@ -88,7 +86,7 @@ man/rmail.texi | |||
| 88 | man/screen.texi "Luc Teirlinck" | 86 | man/screen.texi "Luc Teirlinck" |
| 89 | man/search.texi "Luc Teirlinck" | 87 | man/search.texi "Luc Teirlinck" |
| 90 | man/sending.texi | 88 | man/sending.texi |
| 91 | man/text.texi | 89 | man/text.texi "Luc Teirlinck" |
| 92 | man/trouble.texi | 90 | man/trouble.texi |
| 93 | man/windows.texi "Luc Teirlinck" | 91 | man/windows.texi "Luc Teirlinck" |
| 94 | man/xresources.texi | 92 | man/xresources.texi |
| @@ -310,7 +310,7 @@ ac_includes_default="\ | |||
| 310 | # include <unistd.h> | 310 | # include <unistd.h> |
| 311 | #endif" | 311 | #endif" |
| 312 | 312 | ||
| 313 | ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LN_S CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB INSTALL_INFO EGREP SETARCH LIBSOUND SET_MAKE PKG_CONFIG GTK_CFLAGS GTK_LIBS ALLOCA liblockfile LIBOBJS NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS version configuration canonical srcdir lispdir locallisppath lisppath x_default_search_path etcdir archlibdir docdir bitmapdir gamedir gameuser c_switch_system c_switch_machine LD_SWITCH_X_SITE LD_SWITCH_X_SITE_AUX C_SWITCH_X_SITE X_TOOLKIT_TYPE machfile opsysfile carbon_appdir LTLIBOBJS' | 313 | ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LN_S CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB INSTALL_INFO EGREP LIBSOUND SETARCH SET_MAKE PKG_CONFIG GTK_CFLAGS GTK_LIBS ALLOCA liblockfile LIBOBJS NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS version configuration canonical srcdir lispdir locallisppath lisppath x_default_search_path etcdir archlibdir docdir bitmapdir gamedir gameuser c_switch_system c_switch_machine LD_SWITCH_X_SITE LD_SWITCH_X_SITE_AUX C_SWITCH_X_SITE X_TOOLKIT_TYPE machfile opsysfile carbon_appdir LTLIBOBJS' |
| 314 | ac_subst_files='' | 314 | ac_subst_files='' |
| 315 | 315 | ||
| 316 | # Initialize some variables set by options. | 316 | # Initialize some variables set by options. |
| @@ -984,7 +984,7 @@ esac | |||
| 984 | else | 984 | else |
| 985 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | 985 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 |
| 986 | fi | 986 | fi |
| 987 | cd "$ac_popdir" | 987 | cd $ac_popdir |
| 988 | done | 988 | done |
| 989 | fi | 989 | fi |
| 990 | 990 | ||
| @@ -3250,7 +3250,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3250 | cat conftest.err >&5 | 3250 | cat conftest.err >&5 |
| 3251 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3251 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3252 | (exit $ac_status); } && | 3252 | (exit $ac_status); } && |
| 3253 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3253 | { ac_try='test -z "$ac_c_werror_flag" |
| 3254 | || test ! -s conftest.err' | ||
| 3254 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3255 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3255 | (eval $ac_try) 2>&5 | 3256 | (eval $ac_try) 2>&5 |
| 3256 | ac_status=$? | 3257 | ac_status=$? |
| @@ -3308,7 +3309,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3308 | cat conftest.err >&5 | 3309 | cat conftest.err >&5 |
| 3309 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3310 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3310 | (exit $ac_status); } && | 3311 | (exit $ac_status); } && |
| 3311 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3312 | { ac_try='test -z "$ac_c_werror_flag" |
| 3313 | || test ! -s conftest.err' | ||
| 3312 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3314 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3313 | (eval $ac_try) 2>&5 | 3315 | (eval $ac_try) 2>&5 |
| 3314 | ac_status=$? | 3316 | ac_status=$? |
| @@ -3424,7 +3426,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3424 | cat conftest.err >&5 | 3426 | cat conftest.err >&5 |
| 3425 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3427 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3426 | (exit $ac_status); } && | 3428 | (exit $ac_status); } && |
| 3427 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3429 | { ac_try='test -z "$ac_c_werror_flag" |
| 3430 | || test ! -s conftest.err' | ||
| 3428 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3431 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3429 | (eval $ac_try) 2>&5 | 3432 | (eval $ac_try) 2>&5 |
| 3430 | ac_status=$? | 3433 | ac_status=$? |
| @@ -3478,7 +3481,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3478 | cat conftest.err >&5 | 3481 | cat conftest.err >&5 |
| 3479 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3482 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3480 | (exit $ac_status); } && | 3483 | (exit $ac_status); } && |
| 3481 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3484 | { ac_try='test -z "$ac_c_werror_flag" |
| 3485 | || test ! -s conftest.err' | ||
| 3482 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3486 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3483 | (eval $ac_try) 2>&5 | 3487 | (eval $ac_try) 2>&5 |
| 3484 | ac_status=$? | 3488 | ac_status=$? |
| @@ -3523,7 +3527,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3523 | cat conftest.err >&5 | 3527 | cat conftest.err >&5 |
| 3524 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3528 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3525 | (exit $ac_status); } && | 3529 | (exit $ac_status); } && |
| 3526 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3530 | { ac_try='test -z "$ac_c_werror_flag" |
| 3531 | || test ! -s conftest.err' | ||
| 3527 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3532 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3528 | (eval $ac_try) 2>&5 | 3533 | (eval $ac_try) 2>&5 |
| 3529 | ac_status=$? | 3534 | ac_status=$? |
| @@ -3567,7 +3572,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3567 | cat conftest.err >&5 | 3572 | cat conftest.err >&5 |
| 3568 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3573 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3569 | (exit $ac_status); } && | 3574 | (exit $ac_status); } && |
| 3570 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 3575 | { ac_try='test -z "$ac_c_werror_flag" |
| 3576 | || test ! -s conftest.err' | ||
| 3571 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3577 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3572 | (eval $ac_try) 2>&5 | 3578 | (eval $ac_try) 2>&5 |
| 3573 | ac_status=$? | 3579 | ac_status=$? |
| @@ -4200,7 +4206,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 4200 | cat conftest.err >&5 | 4206 | cat conftest.err >&5 |
| 4201 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4207 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4202 | (exit $ac_status); } && | 4208 | (exit $ac_status); } && |
| 4203 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4209 | { ac_try='test -z "$ac_c_werror_flag" |
| 4210 | || test ! -s conftest.err' | ||
| 4204 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4211 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4205 | (eval $ac_try) 2>&5 | 4212 | (eval $ac_try) 2>&5 |
| 4206 | ac_status=$? | 4213 | ac_status=$? |
| @@ -4271,91 +4278,6 @@ rm -f conftest* | |||
| 4271 | 4278 | ||
| 4272 | 4279 | ||
| 4273 | 4280 | ||
| 4274 | echo "$as_me:$LINENO: checking for /proc/sys/kernel/exec-shield" >&5 | ||
| 4275 | echo $ECHO_N "checking for /proc/sys/kernel/exec-shield... $ECHO_C" >&6 | ||
| 4276 | if test "${ac_cv_file__proc_sys_kernel_exec_shield+set}" = set; then | ||
| 4277 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4278 | else | ||
| 4279 | test "$cross_compiling" = yes && | ||
| 4280 | { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 | ||
| 4281 | echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} | ||
| 4282 | { (exit 1); exit 1; }; } | ||
| 4283 | if test -r "/proc/sys/kernel/exec-shield"; then | ||
| 4284 | ac_cv_file__proc_sys_kernel_exec_shield=yes | ||
| 4285 | else | ||
| 4286 | ac_cv_file__proc_sys_kernel_exec_shield=no | ||
| 4287 | fi | ||
| 4288 | fi | ||
| 4289 | echo "$as_me:$LINENO: result: $ac_cv_file__proc_sys_kernel_exec_shield" >&5 | ||
| 4290 | echo "${ECHO_T}$ac_cv_file__proc_sys_kernel_exec_shield" >&6 | ||
| 4291 | if test $ac_cv_file__proc_sys_kernel_exec_shield = yes; then | ||
| 4292 | emacs_cv_execshield=1 | ||
| 4293 | else | ||
| 4294 | emacs_cv_execshield=0 | ||
| 4295 | fi | ||
| 4296 | |||
| 4297 | if test "$emacs_cv_execshield" = 1; then | ||
| 4298 | # Extract the first word of "setarch", so it can be a program name with args. | ||
| 4299 | set dummy setarch; ac_word=$2 | ||
| 4300 | echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
| 4301 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
| 4302 | if test "${ac_cv_path_SETARCH+set}" = set; then | ||
| 4303 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4304 | else | ||
| 4305 | case $SETARCH in | ||
| 4306 | [\\/]* | ?:[\\/]*) | ||
| 4307 | ac_cv_path_SETARCH="$SETARCH" # Let the user override the test with a path. | ||
| 4308 | ;; | ||
| 4309 | *) | ||
| 4310 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
| 4311 | for as_dir in $PATH | ||
| 4312 | do | ||
| 4313 | IFS=$as_save_IFS | ||
| 4314 | test -z "$as_dir" && as_dir=. | ||
| 4315 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
| 4316 | if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
| 4317 | ac_cv_path_SETARCH="$as_dir/$ac_word$ac_exec_ext" | ||
| 4318 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
| 4319 | break 2 | ||
| 4320 | fi | ||
| 4321 | done | ||
| 4322 | done | ||
| 4323 | |||
| 4324 | test -z "$ac_cv_path_SETARCH" && ac_cv_path_SETARCH="no" | ||
| 4325 | ;; | ||
| 4326 | esac | ||
| 4327 | fi | ||
| 4328 | SETARCH=$ac_cv_path_SETARCH | ||
| 4329 | |||
| 4330 | if test -n "$SETARCH"; then | ||
| 4331 | echo "$as_me:$LINENO: result: $SETARCH" >&5 | ||
| 4332 | echo "${ECHO_T}$SETARCH" >&6 | ||
| 4333 | else | ||
| 4334 | echo "$as_me:$LINENO: result: no" >&5 | ||
| 4335 | echo "${ECHO_T}no" >&6 | ||
| 4336 | fi | ||
| 4337 | |||
| 4338 | |||
| 4339 | if test "$SETARCH" != no && test "$machine" = "intel386"; then | ||
| 4340 | |||
| 4341 | cat >>confdefs.h <<\_ACEOF | ||
| 4342 | #define HAVE_EXECSHIELD 1 | ||
| 4343 | _ACEOF | ||
| 4344 | |||
| 4345 | else | ||
| 4346 | case "`cat /proc/sys/kernel/exec-shield`" in | ||
| 4347 | 0) ;; | ||
| 4348 | *) | ||
| 4349 | { { echo "$as_me:$LINENO: error: Exec-shield is turned on. | ||
| 4350 | Emacs can not dump itself if exec-shield is turned on. | ||
| 4351 | See \`etc/PROBLEMS' for further information." >&5 | ||
| 4352 | echo "$as_me: error: Exec-shield is turned on. | ||
| 4353 | Emacs can not dump itself if exec-shield is turned on. | ||
| 4354 | See \`etc/PROBLEMS' for further information." >&2;} | ||
| 4355 | { (exit 1); exit 1; }; } | ||
| 4356 | esac | ||
| 4357 | fi | ||
| 4358 | fi | ||
| 4359 | 4281 | ||
| 4360 | #### Extract some information from the operating system and machine files. | 4282 | #### Extract some information from the operating system and machine files. |
| 4361 | 4283 | ||
| @@ -4561,7 +4483,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4561 | cat conftest.err >&5 | 4483 | cat conftest.err >&5 |
| 4562 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4484 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4563 | (exit $ac_status); } && | 4485 | (exit $ac_status); } && |
| 4564 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4486 | { ac_try='test -z "$ac_c_werror_flag" |
| 4487 | || test ! -s conftest.err' | ||
| 4565 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4488 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4566 | (eval $ac_try) 2>&5 | 4489 | (eval $ac_try) 2>&5 |
| 4567 | ac_status=$? | 4490 | ac_status=$? |
| @@ -4590,7 +4513,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4590 | cat conftest.err >&5 | 4513 | cat conftest.err >&5 |
| 4591 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4514 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4592 | (exit $ac_status); } && | 4515 | (exit $ac_status); } && |
| 4593 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4516 | { ac_try='test -z "$ac_c_werror_flag" |
| 4517 | || test ! -s conftest.err' | ||
| 4594 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4518 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4595 | (eval $ac_try) 2>&5 | 4519 | (eval $ac_try) 2>&5 |
| 4596 | ac_status=$? | 4520 | ac_status=$? |
| @@ -4660,7 +4584,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4660 | cat conftest.err >&5 | 4584 | cat conftest.err >&5 |
| 4661 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4585 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4662 | (exit $ac_status); } && | 4586 | (exit $ac_status); } && |
| 4663 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4587 | { ac_try='test -z "$ac_c_werror_flag" |
| 4588 | || test ! -s conftest.err' | ||
| 4664 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4589 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4665 | (eval $ac_try) 2>&5 | 4590 | (eval $ac_try) 2>&5 |
| 4666 | ac_status=$? | 4591 | ac_status=$? |
| @@ -4712,7 +4637,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4712 | cat conftest.err >&5 | 4637 | cat conftest.err >&5 |
| 4713 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4638 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4714 | (exit $ac_status); } && | 4639 | (exit $ac_status); } && |
| 4715 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4640 | { ac_try='test -z "$ac_c_werror_flag" |
| 4641 | || test ! -s conftest.err' | ||
| 4716 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4642 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4717 | (eval $ac_try) 2>&5 | 4643 | (eval $ac_try) 2>&5 |
| 4718 | ac_status=$? | 4644 | ac_status=$? |
| @@ -4783,7 +4709,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4783 | cat conftest.err >&5 | 4709 | cat conftest.err >&5 |
| 4784 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4710 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4785 | (exit $ac_status); } && | 4711 | (exit $ac_status); } && |
| 4786 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4712 | { ac_try='test -z "$ac_c_werror_flag" |
| 4713 | || test ! -s conftest.err' | ||
| 4787 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4714 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4788 | (eval $ac_try) 2>&5 | 4715 | (eval $ac_try) 2>&5 |
| 4789 | ac_status=$? | 4716 | ac_status=$? |
| @@ -4835,7 +4762,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4835 | cat conftest.err >&5 | 4762 | cat conftest.err >&5 |
| 4836 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4763 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4837 | (exit $ac_status); } && | 4764 | (exit $ac_status); } && |
| 4838 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4765 | { ac_try='test -z "$ac_c_werror_flag" |
| 4766 | || test ! -s conftest.err' | ||
| 4839 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4767 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4840 | (eval $ac_try) 2>&5 | 4768 | (eval $ac_try) 2>&5 |
| 4841 | ac_status=$? | 4769 | ac_status=$? |
| @@ -4905,7 +4833,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4905 | cat conftest.err >&5 | 4833 | cat conftest.err >&5 |
| 4906 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4907 | (exit $ac_status); } && | 4835 | (exit $ac_status); } && |
| 4908 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 4836 | { ac_try='test -z "$ac_c_werror_flag" |
| 4837 | || test ! -s conftest.err' | ||
| 4909 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4838 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4910 | (eval $ac_try) 2>&5 | 4839 | (eval $ac_try) 2>&5 |
| 4911 | ac_status=$? | 4840 | ac_status=$? |
| @@ -5075,7 +5004,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5075 | cat conftest.err >&5 | 5004 | cat conftest.err >&5 |
| 5076 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5005 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5077 | (exit $ac_status); } && | 5006 | (exit $ac_status); } && |
| 5078 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5007 | { ac_try='test -z "$ac_c_werror_flag" |
| 5008 | || test ! -s conftest.err' | ||
| 5079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5009 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5080 | (eval $ac_try) 2>&5 | 5010 | (eval $ac_try) 2>&5 |
| 5081 | ac_status=$? | 5011 | ac_status=$? |
| @@ -5144,7 +5074,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5144 | cat conftest.err >&5 | 5074 | cat conftest.err >&5 |
| 5145 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5075 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5146 | (exit $ac_status); } && | 5076 | (exit $ac_status); } && |
| 5147 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5077 | { ac_try='test -z "$ac_c_werror_flag" |
| 5078 | || test ! -s conftest.err' | ||
| 5148 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5149 | (eval $ac_try) 2>&5 | 5080 | (eval $ac_try) 2>&5 |
| 5150 | ac_status=$? | 5081 | ac_status=$? |
| @@ -5298,7 +5229,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 5298 | cat conftest.err >&5 | 5229 | cat conftest.err >&5 |
| 5299 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5230 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5300 | (exit $ac_status); } && | 5231 | (exit $ac_status); } && |
| 5301 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5232 | { ac_try='test -z "$ac_c_werror_flag" |
| 5233 | || test ! -s conftest.err' | ||
| 5302 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5234 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5303 | (eval $ac_try) 2>&5 | 5235 | (eval $ac_try) 2>&5 |
| 5304 | ac_status=$? | 5236 | ac_status=$? |
| @@ -5391,7 +5323,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5391 | cat conftest.err >&5 | 5323 | cat conftest.err >&5 |
| 5392 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5393 | (exit $ac_status); } && | 5325 | (exit $ac_status); } && |
| 5394 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5326 | { ac_try='test -z "$ac_c_werror_flag" |
| 5327 | || test ! -s conftest.err' | ||
| 5395 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5328 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5396 | (eval $ac_try) 2>&5 | 5329 | (eval $ac_try) 2>&5 |
| 5397 | ac_status=$? | 5330 | ac_status=$? |
| @@ -5594,7 +5527,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5594 | cat conftest.err >&5 | 5527 | cat conftest.err >&5 |
| 5595 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5528 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5596 | (exit $ac_status); } && | 5529 | (exit $ac_status); } && |
| 5597 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5530 | { ac_try='test -z "$ac_c_werror_flag" |
| 5531 | || test ! -s conftest.err' | ||
| 5598 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5532 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5599 | (eval $ac_try) 2>&5 | 5533 | (eval $ac_try) 2>&5 |
| 5600 | ac_status=$? | 5534 | ac_status=$? |
| @@ -5759,7 +5693,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5759 | cat conftest.err >&5 | 5693 | cat conftest.err >&5 |
| 5760 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5694 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5761 | (exit $ac_status); } && | 5695 | (exit $ac_status); } && |
| 5762 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5696 | { ac_try='test -z "$ac_c_werror_flag" |
| 5697 | || test ! -s conftest.err' | ||
| 5763 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5698 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5764 | (eval $ac_try) 2>&5 | 5699 | (eval $ac_try) 2>&5 |
| 5765 | ac_status=$? | 5700 | ac_status=$? |
| @@ -5822,7 +5757,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5822 | cat conftest.err >&5 | 5757 | cat conftest.err >&5 |
| 5823 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5758 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5824 | (exit $ac_status); } && | 5759 | (exit $ac_status); } && |
| 5825 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5760 | { ac_try='test -z "$ac_c_werror_flag" |
| 5761 | || test ! -s conftest.err' | ||
| 5826 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5762 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5827 | (eval $ac_try) 2>&5 | 5763 | (eval $ac_try) 2>&5 |
| 5828 | ac_status=$? | 5764 | ac_status=$? |
| @@ -5895,7 +5831,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5895 | cat conftest.err >&5 | 5831 | cat conftest.err >&5 |
| 5896 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5832 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5897 | (exit $ac_status); } && | 5833 | (exit $ac_status); } && |
| 5898 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5834 | { ac_try='test -z "$ac_c_werror_flag" |
| 5835 | || test ! -s conftest.err' | ||
| 5899 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5836 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5900 | (eval $ac_try) 2>&5 | 5837 | (eval $ac_try) 2>&5 |
| 5901 | ac_status=$? | 5838 | ac_status=$? |
| @@ -5981,7 +5918,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5981 | cat conftest.err >&5 | 5918 | cat conftest.err >&5 |
| 5982 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5919 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5983 | (exit $ac_status); } && | 5920 | (exit $ac_status); } && |
| 5984 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5921 | { ac_try='test -z "$ac_c_werror_flag" |
| 5922 | || test ! -s conftest.err' | ||
| 5985 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5923 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5986 | (eval $ac_try) 2>&5 | 5924 | (eval $ac_try) 2>&5 |
| 5987 | ac_status=$? | 5925 | ac_status=$? |
| @@ -6054,7 +5992,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6054 | cat conftest.err >&5 | 5992 | cat conftest.err >&5 |
| 6055 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5993 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6056 | (exit $ac_status); } && | 5994 | (exit $ac_status); } && |
| 6057 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 5995 | { ac_try='test -z "$ac_c_werror_flag" |
| 5996 | || test ! -s conftest.err' | ||
| 6058 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5997 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6059 | (eval $ac_try) 2>&5 | 5998 | (eval $ac_try) 2>&5 |
| 6060 | ac_status=$? | 5999 | ac_status=$? |
| @@ -6124,7 +6063,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6124 | cat conftest.err >&5 | 6063 | cat conftest.err >&5 |
| 6125 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6064 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6126 | (exit $ac_status); } && | 6065 | (exit $ac_status); } && |
| 6127 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6066 | { ac_try='test -z "$ac_c_werror_flag" |
| 6067 | || test ! -s conftest.err' | ||
| 6128 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6068 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6129 | (eval $ac_try) 2>&5 | 6069 | (eval $ac_try) 2>&5 |
| 6130 | ac_status=$? | 6070 | ac_status=$? |
| @@ -6183,7 +6123,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6183 | cat conftest.err >&5 | 6123 | cat conftest.err >&5 |
| 6184 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6124 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6185 | (exit $ac_status); } && | 6125 | (exit $ac_status); } && |
| 6186 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6126 | { ac_try='test -z "$ac_c_werror_flag" |
| 6127 | || test ! -s conftest.err' | ||
| 6187 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6128 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6188 | (eval $ac_try) 2>&5 | 6129 | (eval $ac_try) 2>&5 |
| 6189 | ac_status=$? | 6130 | ac_status=$? |
| @@ -6252,7 +6193,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6252 | cat conftest.err >&5 | 6193 | cat conftest.err >&5 |
| 6253 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6194 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6254 | (exit $ac_status); } && | 6195 | (exit $ac_status); } && |
| 6255 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6196 | { ac_try='test -z "$ac_c_werror_flag" |
| 6197 | || test ! -s conftest.err' | ||
| 6256 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6198 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6257 | (eval $ac_try) 2>&5 | 6199 | (eval $ac_try) 2>&5 |
| 6258 | ac_status=$? | 6200 | ac_status=$? |
| @@ -6313,7 +6255,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6313 | cat conftest.err >&5 | 6255 | cat conftest.err >&5 |
| 6314 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6256 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6315 | (exit $ac_status); } && | 6257 | (exit $ac_status); } && |
| 6316 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6258 | { ac_try='test -z "$ac_c_werror_flag" |
| 6259 | || test ! -s conftest.err' | ||
| 6317 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6260 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6318 | (eval $ac_try) 2>&5 | 6261 | (eval $ac_try) 2>&5 |
| 6319 | ac_status=$? | 6262 | ac_status=$? |
| @@ -6379,7 +6322,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6379 | cat conftest.err >&5 | 6322 | cat conftest.err >&5 |
| 6380 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6323 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6381 | (exit $ac_status); } && | 6324 | (exit $ac_status); } && |
| 6382 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6325 | { ac_try='test -z "$ac_c_werror_flag" |
| 6326 | || test ! -s conftest.err' | ||
| 6383 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6327 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6384 | (eval $ac_try) 2>&5 | 6328 | (eval $ac_try) 2>&5 |
| 6385 | ac_status=$? | 6329 | ac_status=$? |
| @@ -6525,7 +6469,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6525 | cat conftest.err >&5 | 6469 | cat conftest.err >&5 |
| 6526 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6470 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6527 | (exit $ac_status); } && | 6471 | (exit $ac_status); } && |
| 6528 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6472 | { ac_try='test -z "$ac_c_werror_flag" |
| 6473 | || test ! -s conftest.err' | ||
| 6529 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6474 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6530 | (eval $ac_try) 2>&5 | 6475 | (eval $ac_try) 2>&5 |
| 6531 | ac_status=$? | 6476 | ac_status=$? |
| @@ -6589,7 +6534,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6589 | cat conftest.err >&5 | 6534 | cat conftest.err >&5 |
| 6590 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6535 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6591 | (exit $ac_status); } && | 6536 | (exit $ac_status); } && |
| 6592 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6537 | { ac_try='test -z "$ac_c_werror_flag" |
| 6538 | || test ! -s conftest.err' | ||
| 6593 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6539 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6594 | (eval $ac_try) 2>&5 | 6540 | (eval $ac_try) 2>&5 |
| 6595 | ac_status=$? | 6541 | ac_status=$? |
| @@ -6654,7 +6600,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6654 | cat conftest.err >&5 | 6600 | cat conftest.err >&5 |
| 6655 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6601 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6656 | (exit $ac_status); } && | 6602 | (exit $ac_status); } && |
| 6657 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6603 | { ac_try='test -z "$ac_c_werror_flag" |
| 6604 | || test ! -s conftest.err' | ||
| 6658 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6605 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6659 | (eval $ac_try) 2>&5 | 6606 | (eval $ac_try) 2>&5 |
| 6660 | ac_status=$? | 6607 | ac_status=$? |
| @@ -6700,7 +6647,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6700 | cat conftest.err >&5 | 6647 | cat conftest.err >&5 |
| 6701 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6648 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6702 | (exit $ac_status); } && | 6649 | (exit $ac_status); } && |
| 6703 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6650 | { ac_try='test -z "$ac_c_werror_flag" |
| 6651 | || test ! -s conftest.err' | ||
| 6704 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6652 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6705 | (eval $ac_try) 2>&5 | 6653 | (eval $ac_try) 2>&5 |
| 6706 | ac_status=$? | 6654 | ac_status=$? |
| @@ -6774,7 +6722,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 6774 | cat conftest.err >&5 | 6722 | cat conftest.err >&5 |
| 6775 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6723 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6776 | (exit $ac_status); } && | 6724 | (exit $ac_status); } && |
| 6777 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6725 | { ac_try='test -z "$ac_c_werror_flag" |
| 6726 | || test ! -s conftest.err' | ||
| 6778 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6727 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6779 | (eval $ac_try) 2>&5 | 6728 | (eval $ac_try) 2>&5 |
| 6780 | ac_status=$? | 6729 | ac_status=$? |
| @@ -6839,7 +6788,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6839 | cat conftest.err >&5 | 6788 | cat conftest.err >&5 |
| 6840 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6841 | (exit $ac_status); } && | 6790 | (exit $ac_status); } && |
| 6842 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6791 | { ac_try='test -z "$ac_c_werror_flag" |
| 6792 | || test ! -s conftest.err' | ||
| 6843 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6793 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6844 | (eval $ac_try) 2>&5 | 6794 | (eval $ac_try) 2>&5 |
| 6845 | ac_status=$? | 6795 | ac_status=$? |
| @@ -6883,7 +6833,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6883 | cat conftest.err >&5 | 6833 | cat conftest.err >&5 |
| 6884 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6885 | (exit $ac_status); } && | 6835 | (exit $ac_status); } && |
| 6886 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6836 | { ac_try='test -z "$ac_c_werror_flag" |
| 6837 | || test ! -s conftest.err' | ||
| 6887 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6838 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6888 | (eval $ac_try) 2>&5 | 6839 | (eval $ac_try) 2>&5 |
| 6889 | ac_status=$? | 6840 | ac_status=$? |
| @@ -6954,7 +6905,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6954 | cat conftest.err >&5 | 6905 | cat conftest.err >&5 |
| 6955 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6906 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6956 | (exit $ac_status); } && | 6907 | (exit $ac_status); } && |
| 6957 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6908 | { ac_try='test -z "$ac_c_werror_flag" |
| 6909 | || test ! -s conftest.err' | ||
| 6958 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6910 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6959 | (eval $ac_try) 2>&5 | 6911 | (eval $ac_try) 2>&5 |
| 6960 | ac_status=$? | 6912 | ac_status=$? |
| @@ -7004,7 +6956,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7004 | cat conftest.err >&5 | 6956 | cat conftest.err >&5 |
| 7005 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6957 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7006 | (exit $ac_status); } && | 6958 | (exit $ac_status); } && |
| 7007 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 6959 | { ac_try='test -z "$ac_c_werror_flag" |
| 6960 | || test ! -s conftest.err' | ||
| 7008 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6961 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7009 | (eval $ac_try) 2>&5 | 6962 | (eval $ac_try) 2>&5 |
| 7010 | ac_status=$? | 6963 | ac_status=$? |
| @@ -7075,7 +7028,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7075 | cat conftest.err >&5 | 7028 | cat conftest.err >&5 |
| 7076 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7029 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7077 | (exit $ac_status); } && | 7030 | (exit $ac_status); } && |
| 7078 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7031 | { ac_try='test -z "$ac_c_werror_flag" |
| 7032 | || test ! -s conftest.err' | ||
| 7079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7033 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7080 | (eval $ac_try) 2>&5 | 7034 | (eval $ac_try) 2>&5 |
| 7081 | ac_status=$? | 7035 | ac_status=$? |
| @@ -7125,7 +7079,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7125 | cat conftest.err >&5 | 7079 | cat conftest.err >&5 |
| 7126 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7080 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7127 | (exit $ac_status); } && | 7081 | (exit $ac_status); } && |
| 7128 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7082 | { ac_try='test -z "$ac_c_werror_flag" |
| 7083 | || test ! -s conftest.err' | ||
| 7129 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7084 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7130 | (eval $ac_try) 2>&5 | 7085 | (eval $ac_try) 2>&5 |
| 7131 | ac_status=$? | 7086 | ac_status=$? |
| @@ -7196,7 +7151,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7196 | cat conftest.err >&5 | 7151 | cat conftest.err >&5 |
| 7197 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7152 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7198 | (exit $ac_status); } && | 7153 | (exit $ac_status); } && |
| 7199 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7154 | { ac_try='test -z "$ac_c_werror_flag" |
| 7155 | || test ! -s conftest.err' | ||
| 7200 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7156 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7201 | (eval $ac_try) 2>&5 | 7157 | (eval $ac_try) 2>&5 |
| 7202 | ac_status=$? | 7158 | ac_status=$? |
| @@ -7246,7 +7202,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7246 | cat conftest.err >&5 | 7202 | cat conftest.err >&5 |
| 7247 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7203 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7248 | (exit $ac_status); } && | 7204 | (exit $ac_status); } && |
| 7249 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7205 | { ac_try='test -z "$ac_c_werror_flag" |
| 7206 | || test ! -s conftest.err' | ||
| 7250 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7207 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7251 | (eval $ac_try) 2>&5 | 7208 | (eval $ac_try) 2>&5 |
| 7252 | ac_status=$? | 7209 | ac_status=$? |
| @@ -7317,7 +7274,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7317 | cat conftest.err >&5 | 7274 | cat conftest.err >&5 |
| 7318 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7275 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7319 | (exit $ac_status); } && | 7276 | (exit $ac_status); } && |
| 7320 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7277 | { ac_try='test -z "$ac_c_werror_flag" |
| 7278 | || test ! -s conftest.err' | ||
| 7321 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7279 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7322 | (eval $ac_try) 2>&5 | 7280 | (eval $ac_try) 2>&5 |
| 7323 | ac_status=$? | 7281 | ac_status=$? |
| @@ -7367,7 +7325,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7367 | cat conftest.err >&5 | 7325 | cat conftest.err >&5 |
| 7368 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7326 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7369 | (exit $ac_status); } && | 7327 | (exit $ac_status); } && |
| 7370 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7328 | { ac_try='test -z "$ac_c_werror_flag" |
| 7329 | || test ! -s conftest.err' | ||
| 7371 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7330 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7372 | (eval $ac_try) 2>&5 | 7331 | (eval $ac_try) 2>&5 |
| 7373 | ac_status=$? | 7332 | ac_status=$? |
| @@ -7438,7 +7397,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7438 | cat conftest.err >&5 | 7397 | cat conftest.err >&5 |
| 7439 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7398 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7440 | (exit $ac_status); } && | 7399 | (exit $ac_status); } && |
| 7441 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7400 | { ac_try='test -z "$ac_c_werror_flag" |
| 7401 | || test ! -s conftest.err' | ||
| 7442 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7402 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7443 | (eval $ac_try) 2>&5 | 7403 | (eval $ac_try) 2>&5 |
| 7444 | ac_status=$? | 7404 | ac_status=$? |
| @@ -7488,7 +7448,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7488 | cat conftest.err >&5 | 7448 | cat conftest.err >&5 |
| 7489 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7449 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7490 | (exit $ac_status); } && | 7450 | (exit $ac_status); } && |
| 7491 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7451 | { ac_try='test -z "$ac_c_werror_flag" |
| 7452 | || test ! -s conftest.err' | ||
| 7492 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7453 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7493 | (eval $ac_try) 2>&5 | 7454 | (eval $ac_try) 2>&5 |
| 7494 | ac_status=$? | 7455 | ac_status=$? |
| @@ -7575,7 +7536,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7575 | cat conftest.err >&5 | 7536 | cat conftest.err >&5 |
| 7576 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7537 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7577 | (exit $ac_status); } && | 7538 | (exit $ac_status); } && |
| 7578 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7539 | { ac_try='test -z "$ac_c_werror_flag" |
| 7540 | || test ! -s conftest.err' | ||
| 7579 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7541 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7580 | (eval $ac_try) 2>&5 | 7542 | (eval $ac_try) 2>&5 |
| 7581 | ac_status=$? | 7543 | ac_status=$? |
| @@ -7681,7 +7643,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7681 | cat conftest.err >&5 | 7643 | cat conftest.err >&5 |
| 7682 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7644 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7683 | (exit $ac_status); } && | 7645 | (exit $ac_status); } && |
| 7684 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7646 | { ac_try='test -z "$ac_c_werror_flag" |
| 7647 | || test ! -s conftest.err' | ||
| 7685 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7648 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7686 | (eval $ac_try) 2>&5 | 7649 | (eval $ac_try) 2>&5 |
| 7687 | ac_status=$? | 7650 | ac_status=$? |
| @@ -7741,7 +7704,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7741 | cat conftest.err >&5 | 7704 | cat conftest.err >&5 |
| 7742 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7705 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7743 | (exit $ac_status); } && | 7706 | (exit $ac_status); } && |
| 7744 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 7707 | { ac_try='test -z "$ac_c_werror_flag" |
| 7708 | || test ! -s conftest.err' | ||
| 7745 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7709 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7746 | (eval $ac_try) 2>&5 | 7710 | (eval $ac_try) 2>&5 |
| 7747 | ac_status=$? | 7711 | ac_status=$? |
| @@ -7777,6 +7741,124 @@ _ACEOF | |||
| 7777 | fi | 7741 | fi |
| 7778 | 7742 | ||
| 7779 | 7743 | ||
| 7744 | echo "$as_me:$LINENO: checking whether heap start address is randomized" >&5 | ||
| 7745 | echo $ECHO_N "checking whether heap start address is randomized... $ECHO_C" >&6 | ||
| 7746 | if test x"$ac_cv_header_unistd_h" != x && test x"$ac_cv_header_stdlib_h" != x | ||
| 7747 | then | ||
| 7748 | if test "$cross_compiling" = yes; then | ||
| 7749 | emacs_cv_randomheap='assuming no' | ||
| 7750 | else | ||
| 7751 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7752 | /* confdefs.h. */ | ||
| 7753 | _ACEOF | ||
| 7754 | cat confdefs.h >>conftest.$ac_ext | ||
| 7755 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 7756 | /* end confdefs.h. */ | ||
| 7757 | #include <stdio.h> | ||
| 7758 | #include <unistd.h> | ||
| 7759 | #include <stdlib.h> | ||
| 7760 | int main (int argc, char *argv[]) | ||
| 7761 | { | ||
| 7762 | unsigned long old_sbrk = 0; | ||
| 7763 | unsigned long this_sbrk = (unsigned long) sbrk(0); | ||
| 7764 | int nr = 1; | ||
| 7765 | if (argc != 1) { | ||
| 7766 | old_sbrk = strtoul (argv[1], 0, 0); | ||
| 7767 | nr = atoi (argv[2])+1; | ||
| 7768 | } | ||
| 7769 | if (argc == 1 || (old_sbrk == this_sbrk && nr < 3)) | ||
| 7770 | { | ||
| 7771 | char buf1[32], buf2[32]; | ||
| 7772 | sprintf (buf1, "%lu", this_sbrk); | ||
| 7773 | sprintf (buf2, "%d", nr); | ||
| 7774 | execl (argv[0], argv[0], buf1, buf2, 0); | ||
| 7775 | exit (-1); | ||
| 7776 | } | ||
| 7777 | exit (this_sbrk == old_sbrk); | ||
| 7778 | } | ||
| 7779 | _ACEOF | ||
| 7780 | rm -f conftest$ac_exeext | ||
| 7781 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 7782 | (eval $ac_link) 2>&5 | ||
| 7783 | ac_status=$? | ||
| 7784 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7785 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
| 7786 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7787 | (eval $ac_try) 2>&5 | ||
| 7788 | ac_status=$? | ||
| 7789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7790 | (exit $ac_status); }; }; then | ||
| 7791 | emacs_cv_randomheap=yes | ||
| 7792 | else | ||
| 7793 | echo "$as_me: program exited with status $ac_status" >&5 | ||
| 7794 | echo "$as_me: failed program was:" >&5 | ||
| 7795 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 7796 | |||
| 7797 | ( exit $ac_status ) | ||
| 7798 | emacs_cv_randomheap=no | ||
| 7799 | fi | ||
| 7800 | rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 7801 | fi | ||
| 7802 | else | ||
| 7803 | emacs_cv_randomheap='assuming no' | ||
| 7804 | fi | ||
| 7805 | echo "$as_me:$LINENO: result: $emacs_cv_randomheap" >&5 | ||
| 7806 | echo "${ECHO_T}$emacs_cv_randomheap" >&6 | ||
| 7807 | |||
| 7808 | if test "$emacs_cv_randomheap" = yes; then | ||
| 7809 | # Extract the first word of "setarch", so it can be a program name with args. | ||
| 7810 | set dummy setarch; ac_word=$2 | ||
| 7811 | echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
| 7812 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
| 7813 | if test "${ac_cv_path_SETARCH+set}" = set; then | ||
| 7814 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7815 | else | ||
| 7816 | case $SETARCH in | ||
| 7817 | [\\/]* | ?:[\\/]*) | ||
| 7818 | ac_cv_path_SETARCH="$SETARCH" # Let the user override the test with a path. | ||
| 7819 | ;; | ||
| 7820 | *) | ||
| 7821 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
| 7822 | for as_dir in $PATH | ||
| 7823 | do | ||
| 7824 | IFS=$as_save_IFS | ||
| 7825 | test -z "$as_dir" && as_dir=. | ||
| 7826 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
| 7827 | if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
| 7828 | ac_cv_path_SETARCH="$as_dir/$ac_word$ac_exec_ext" | ||
| 7829 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
| 7830 | break 2 | ||
| 7831 | fi | ||
| 7832 | done | ||
| 7833 | done | ||
| 7834 | |||
| 7835 | test -z "$ac_cv_path_SETARCH" && ac_cv_path_SETARCH="no" | ||
| 7836 | ;; | ||
| 7837 | esac | ||
| 7838 | fi | ||
| 7839 | SETARCH=$ac_cv_path_SETARCH | ||
| 7840 | |||
| 7841 | if test -n "$SETARCH"; then | ||
| 7842 | echo "$as_me:$LINENO: result: $SETARCH" >&5 | ||
| 7843 | echo "${ECHO_T}$SETARCH" >&6 | ||
| 7844 | else | ||
| 7845 | echo "$as_me:$LINENO: result: no" >&5 | ||
| 7846 | echo "${ECHO_T}no" >&6 | ||
| 7847 | fi | ||
| 7848 | |||
| 7849 | |||
| 7850 | if test "$SETARCH" != no && test "$machine" = "intel386"; then | ||
| 7851 | |||
| 7852 | cat >>confdefs.h <<\_ACEOF | ||
| 7853 | #define HAVE_RANDOM_HEAPSTART 1 | ||
| 7854 | _ACEOF | ||
| 7855 | |||
| 7856 | else | ||
| 7857 | emacs_cv_randomheap=warn | ||
| 7858 | fi | ||
| 7859 | fi | ||
| 7860 | |||
| 7861 | |||
| 7780 | 7862 | ||
| 7781 | echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 | 7863 | echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 |
| 7782 | echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 | 7864 | echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 |
| @@ -7863,7 +7945,6 @@ fi | |||
| 7863 | echo "$as_me:$LINENO: checking for X" >&5 | 7945 | echo "$as_me:$LINENO: checking for X" >&5 |
| 7864 | echo $ECHO_N "checking for X... $ECHO_C" >&6 | 7946 | echo $ECHO_N "checking for X... $ECHO_C" >&6 |
| 7865 | 7947 | ||
| 7866 | ac_path_x_has_been_run=yes | ||
| 7867 | 7948 | ||
| 7868 | # Check whether --with-x or --without-x was given. | 7949 | # Check whether --with-x or --without-x was given. |
| 7869 | if test "${with_x+set}" = set; then | 7950 | if test "${with_x+set}" = set; then |
| @@ -7956,7 +8037,7 @@ ac_x_header_dirs=' | |||
| 7956 | /usr/openwin/share/include' | 8037 | /usr/openwin/share/include' |
| 7957 | 8038 | ||
| 7958 | if test "$ac_x_includes" = no; then | 8039 | if test "$ac_x_includes" = no; then |
| 7959 | # Guess where to find include files, by looking for a specified header file. | 8040 | # Guess where to find include files, by looking for Intrinsic.h. |
| 7960 | # First, try using that file with no special directory specified. | 8041 | # First, try using that file with no special directory specified. |
| 7961 | cat >conftest.$ac_ext <<_ACEOF | 8042 | cat >conftest.$ac_ext <<_ACEOF |
| 7962 | /* confdefs.h. */ | 8043 | /* confdefs.h. */ |
| @@ -8030,7 +8111,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8030 | cat conftest.err >&5 | 8111 | cat conftest.err >&5 |
| 8031 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8112 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8032 | (exit $ac_status); } && | 8113 | (exit $ac_status); } && |
| 8033 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8114 | { ac_try='test -z "$ac_c_werror_flag" |
| 8115 | || test ! -s conftest.err' | ||
| 8034 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8116 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8035 | (eval $ac_try) 2>&5 | 8117 | (eval $ac_try) 2>&5 |
| 8036 | ac_status=$? | 8118 | ac_status=$? |
| @@ -8090,12 +8172,8 @@ else | |||
| 8090 | # Update the cache value to reflect the command line values. | 8172 | # Update the cache value to reflect the command line values. |
| 8091 | ac_cv_have_x="have_x=yes \ | 8173 | ac_cv_have_x="have_x=yes \ |
| 8092 | ac_x_includes=$x_includes ac_x_libraries=$x_libraries" | 8174 | ac_x_includes=$x_includes ac_x_libraries=$x_libraries" |
| 8093 | # It might be that x_includes is empty (headers are found in the | 8175 | echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 |
| 8094 | # standard search path. Then output the corresponding message | 8176 | echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 |
| 8095 | ac_out_x_includes=$x_includes | ||
| 8096 | test "x$x_includes" = x && ac_out_x_includes="in standard search path" | ||
| 8097 | echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5 | ||
| 8098 | echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6 | ||
| 8099 | fi | 8177 | fi |
| 8100 | 8178 | ||
| 8101 | if test "$no_x" = yes; then | 8179 | if test "$no_x" = yes; then |
| @@ -8259,7 +8337,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8259 | cat conftest.err >&5 | 8337 | cat conftest.err >&5 |
| 8260 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8338 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8261 | (exit $ac_status); } && | 8339 | (exit $ac_status); } && |
| 8262 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8340 | { ac_try='test -z "$ac_c_werror_flag" |
| 8341 | || test ! -s conftest.err' | ||
| 8263 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8342 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8264 | (eval $ac_try) 2>&5 | 8343 | (eval $ac_try) 2>&5 |
| 8265 | ac_status=$? | 8344 | ac_status=$? |
| @@ -8354,7 +8433,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8354 | cat conftest.err >&5 | 8433 | cat conftest.err >&5 |
| 8355 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8434 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8356 | (exit $ac_status); } && | 8435 | (exit $ac_status); } && |
| 8357 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8436 | { ac_try='test -z "$ac_c_werror_flag" |
| 8437 | || test ! -s conftest.err' | ||
| 8358 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8438 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8359 | (eval $ac_try) 2>&5 | 8439 | (eval $ac_try) 2>&5 |
| 8360 | ac_status=$? | 8440 | ac_status=$? |
| @@ -8413,7 +8493,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8413 | cat conftest.err >&5 | 8493 | cat conftest.err >&5 |
| 8414 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8494 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8415 | (exit $ac_status); } && | 8495 | (exit $ac_status); } && |
| 8416 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8496 | { ac_try='test -z "$ac_c_werror_flag" |
| 8497 | || test ! -s conftest.err' | ||
| 8417 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8498 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8418 | (eval $ac_try) 2>&5 | 8499 | (eval $ac_try) 2>&5 |
| 8419 | ac_status=$? | 8500 | ac_status=$? |
| @@ -8497,7 +8578,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 8497 | cat conftest.err >&5 | 8578 | cat conftest.err >&5 |
| 8498 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8579 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8499 | (exit $ac_status); } && | 8580 | (exit $ac_status); } && |
| 8500 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8581 | { ac_try='test -z "$ac_c_werror_flag" |
| 8582 | || test ! -s conftest.err' | ||
| 8501 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8583 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8502 | (eval $ac_try) 2>&5 | 8584 | (eval $ac_try) 2>&5 |
| 8503 | ac_status=$? | 8585 | ac_status=$? |
| @@ -8681,7 +8763,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8681 | cat conftest.err >&5 | 8763 | cat conftest.err >&5 |
| 8682 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8764 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8683 | (exit $ac_status); } && | 8765 | (exit $ac_status); } && |
| 8684 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 8766 | { ac_try='test -z "$ac_c_werror_flag" |
| 8767 | || test ! -s conftest.err' | ||
| 8685 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8768 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8686 | (eval $ac_try) 2>&5 | 8769 | (eval $ac_try) 2>&5 |
| 8687 | ac_status=$? | 8770 | ac_status=$? |
| @@ -8933,7 +9016,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8933 | cat conftest.err >&5 | 9016 | cat conftest.err >&5 |
| 8934 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9017 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8935 | (exit $ac_status); } && | 9018 | (exit $ac_status); } && |
| 8936 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9019 | { ac_try='test -z "$ac_c_werror_flag" |
| 9020 | || test ! -s conftest.err' | ||
| 8937 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9021 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8938 | (eval $ac_try) 2>&5 | 9022 | (eval $ac_try) 2>&5 |
| 8939 | ac_status=$? | 9023 | ac_status=$? |
| @@ -9000,7 +9084,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9000 | cat conftest.err >&5 | 9084 | cat conftest.err >&5 |
| 9001 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9085 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9002 | (exit $ac_status); } && | 9086 | (exit $ac_status); } && |
| 9003 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9087 | { ac_try='test -z "$ac_c_werror_flag" |
| 9088 | || test ! -s conftest.err' | ||
| 9004 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9089 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9005 | (eval $ac_try) 2>&5 | 9090 | (eval $ac_try) 2>&5 |
| 9006 | ac_status=$? | 9091 | ac_status=$? |
| @@ -9069,7 +9154,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9069 | cat conftest.err >&5 | 9154 | cat conftest.err >&5 |
| 9070 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9155 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9071 | (exit $ac_status); } && | 9156 | (exit $ac_status); } && |
| 9072 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9157 | { ac_try='test -z "$ac_c_werror_flag" |
| 9158 | || test ! -s conftest.err' | ||
| 9073 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9159 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9074 | (eval $ac_try) 2>&5 | 9160 | (eval $ac_try) 2>&5 |
| 9075 | ac_status=$? | 9161 | ac_status=$? |
| @@ -9154,7 +9240,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9154 | cat conftest.err >&5 | 9240 | cat conftest.err >&5 |
| 9155 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9241 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9156 | (exit $ac_status); } && | 9242 | (exit $ac_status); } && |
| 9157 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9243 | { ac_try='test -z "$ac_c_werror_flag" |
| 9244 | || test ! -s conftest.err' | ||
| 9158 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9245 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9159 | (eval $ac_try) 2>&5 | 9246 | (eval $ac_try) 2>&5 |
| 9160 | ac_status=$? | 9247 | ac_status=$? |
| @@ -9231,7 +9318,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9231 | cat conftest.err >&5 | 9318 | cat conftest.err >&5 |
| 9232 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9319 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9233 | (exit $ac_status); } && | 9320 | (exit $ac_status); } && |
| 9234 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9321 | { ac_try='test -z "$ac_c_werror_flag" |
| 9322 | || test ! -s conftest.err' | ||
| 9235 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9323 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9236 | (eval $ac_try) 2>&5 | 9324 | (eval $ac_try) 2>&5 |
| 9237 | ac_status=$? | 9325 | ac_status=$? |
| @@ -9285,7 +9373,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9285 | cat conftest.err >&5 | 9373 | cat conftest.err >&5 |
| 9286 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9374 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9287 | (exit $ac_status); } && | 9375 | (exit $ac_status); } && |
| 9288 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9376 | { ac_try='test -z "$ac_c_werror_flag" |
| 9377 | || test ! -s conftest.err' | ||
| 9289 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9378 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9290 | (eval $ac_try) 2>&5 | 9379 | (eval $ac_try) 2>&5 |
| 9291 | ac_status=$? | 9380 | ac_status=$? |
| @@ -9354,7 +9443,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9354 | cat conftest.err >&5 | 9443 | cat conftest.err >&5 |
| 9355 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9444 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9356 | (exit $ac_status); } && | 9445 | (exit $ac_status); } && |
| 9357 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9446 | { ac_try='test -z "$ac_c_werror_flag" |
| 9447 | || test ! -s conftest.err' | ||
| 9358 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9448 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9359 | (eval $ac_try) 2>&5 | 9449 | (eval $ac_try) 2>&5 |
| 9360 | ac_status=$? | 9450 | ac_status=$? |
| @@ -9458,7 +9548,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9458 | cat conftest.err >&5 | 9548 | cat conftest.err >&5 |
| 9459 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9549 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9460 | (exit $ac_status); } && | 9550 | (exit $ac_status); } && |
| 9461 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9551 | { ac_try='test -z "$ac_c_werror_flag" |
| 9552 | || test ! -s conftest.err' | ||
| 9462 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9553 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9463 | (eval $ac_try) 2>&5 | 9554 | (eval $ac_try) 2>&5 |
| 9464 | ac_status=$? | 9555 | ac_status=$? |
| @@ -9525,7 +9616,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9525 | cat conftest.err >&5 | 9616 | cat conftest.err >&5 |
| 9526 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9617 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9527 | (exit $ac_status); } && | 9618 | (exit $ac_status); } && |
| 9528 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9619 | { ac_try='test -z "$ac_c_werror_flag" |
| 9620 | || test ! -s conftest.err' | ||
| 9529 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9621 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9530 | (eval $ac_try) 2>&5 | 9622 | (eval $ac_try) 2>&5 |
| 9531 | ac_status=$? | 9623 | ac_status=$? |
| @@ -9595,7 +9687,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9595 | cat conftest.err >&5 | 9687 | cat conftest.err >&5 |
| 9596 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9688 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9597 | (exit $ac_status); } && | 9689 | (exit $ac_status); } && |
| 9598 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9690 | { ac_try='test -z "$ac_c_werror_flag" |
| 9691 | || test ! -s conftest.err' | ||
| 9599 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9692 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9600 | (eval $ac_try) 2>&5 | 9693 | (eval $ac_try) 2>&5 |
| 9601 | ac_status=$? | 9694 | ac_status=$? |
| @@ -9833,7 +9926,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9833 | cat conftest.err >&5 | 9926 | cat conftest.err >&5 |
| 9834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9927 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9835 | (exit $ac_status); } && | 9928 | (exit $ac_status); } && |
| 9836 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 9929 | { ac_try='test -z "$ac_c_werror_flag" |
| 9930 | || test ! -s conftest.err' | ||
| 9837 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9931 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9838 | (eval $ac_try) 2>&5 | 9932 | (eval $ac_try) 2>&5 |
| 9839 | ac_status=$? | 9933 | ac_status=$? |
| @@ -9907,7 +10001,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9907 | cat conftest.err >&5 | 10001 | cat conftest.err >&5 |
| 9908 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10002 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9909 | (exit $ac_status); } && | 10003 | (exit $ac_status); } && |
| 9910 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10004 | { ac_try='test -z "$ac_c_werror_flag" |
| 10005 | || test ! -s conftest.err' | ||
| 9911 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10006 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9912 | (eval $ac_try) 2>&5 | 10007 | (eval $ac_try) 2>&5 |
| 9913 | ac_status=$? | 10008 | ac_status=$? |
| @@ -9979,7 +10074,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9979 | cat conftest.err >&5 | 10074 | cat conftest.err >&5 |
| 9980 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10075 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9981 | (exit $ac_status); } && | 10076 | (exit $ac_status); } && |
| 9982 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10077 | { ac_try='test -z "$ac_c_werror_flag" |
| 10078 | || test ! -s conftest.err' | ||
| 9983 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9984 | (eval $ac_try) 2>&5 | 10080 | (eval $ac_try) 2>&5 |
| 9985 | ac_status=$? | 10081 | ac_status=$? |
| @@ -10061,7 +10157,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10061 | cat conftest.err >&5 | 10157 | cat conftest.err >&5 |
| 10062 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10158 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10063 | (exit $ac_status); } && | 10159 | (exit $ac_status); } && |
| 10064 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10160 | { ac_try='test -z "$ac_c_werror_flag" |
| 10161 | || test ! -s conftest.err' | ||
| 10065 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10162 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10066 | (eval $ac_try) 2>&5 | 10163 | (eval $ac_try) 2>&5 |
| 10067 | ac_status=$? | 10164 | ac_status=$? |
| @@ -10140,7 +10237,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10140 | cat conftest.err >&5 | 10237 | cat conftest.err >&5 |
| 10141 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10238 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10142 | (exit $ac_status); } && | 10239 | (exit $ac_status); } && |
| 10143 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10240 | { ac_try='test -z "$ac_c_werror_flag" |
| 10241 | || test ! -s conftest.err' | ||
| 10144 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10242 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10145 | (eval $ac_try) 2>&5 | 10243 | (eval $ac_try) 2>&5 |
| 10146 | ac_status=$? | 10244 | ac_status=$? |
| @@ -10214,7 +10312,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10214 | cat conftest.err >&5 | 10312 | cat conftest.err >&5 |
| 10215 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10313 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10216 | (exit $ac_status); } && | 10314 | (exit $ac_status); } && |
| 10217 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10315 | { ac_try='test -z "$ac_c_werror_flag" |
| 10316 | || test ! -s conftest.err' | ||
| 10218 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10317 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10219 | (eval $ac_try) 2>&5 | 10318 | (eval $ac_try) 2>&5 |
| 10220 | ac_status=$? | 10319 | ac_status=$? |
| @@ -10282,7 +10381,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10282 | cat conftest.err >&5 | 10381 | cat conftest.err >&5 |
| 10283 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10382 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10284 | (exit $ac_status); } && | 10383 | (exit $ac_status); } && |
| 10285 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10384 | { ac_try='test -z "$ac_c_werror_flag" |
| 10385 | || test ! -s conftest.err' | ||
| 10286 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10386 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10287 | (eval $ac_try) 2>&5 | 10387 | (eval $ac_try) 2>&5 |
| 10288 | ac_status=$? | 10388 | ac_status=$? |
| @@ -10351,7 +10451,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10351 | cat conftest.err >&5 | 10451 | cat conftest.err >&5 |
| 10352 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10452 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10353 | (exit $ac_status); } && | 10453 | (exit $ac_status); } && |
| 10354 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10454 | { ac_try='test -z "$ac_c_werror_flag" |
| 10455 | || test ! -s conftest.err' | ||
| 10355 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10456 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10356 | (eval $ac_try) 2>&5 | 10457 | (eval $ac_try) 2>&5 |
| 10357 | ac_status=$? | 10458 | ac_status=$? |
| @@ -10475,7 +10576,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10475 | cat conftest.err >&5 | 10576 | cat conftest.err >&5 |
| 10476 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10577 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10477 | (exit $ac_status); } && | 10578 | (exit $ac_status); } && |
| 10478 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10579 | { ac_try='test -z "$ac_c_werror_flag" |
| 10580 | || test ! -s conftest.err' | ||
| 10479 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10581 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10480 | (eval $ac_try) 2>&5 | 10582 | (eval $ac_try) 2>&5 |
| 10481 | ac_status=$? | 10583 | ac_status=$? |
| @@ -10571,7 +10673,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10571 | cat conftest.err >&5 | 10673 | cat conftest.err >&5 |
| 10572 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10674 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10573 | (exit $ac_status); } && | 10675 | (exit $ac_status); } && |
| 10574 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10676 | { ac_try='test -z "$ac_c_werror_flag" |
| 10677 | || test ! -s conftest.err' | ||
| 10575 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10678 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10576 | (eval $ac_try) 2>&5 | 10679 | (eval $ac_try) 2>&5 |
| 10577 | ac_status=$? | 10680 | ac_status=$? |
| @@ -10651,7 +10754,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10651 | cat conftest.err >&5 | 10754 | cat conftest.err >&5 |
| 10652 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10755 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10653 | (exit $ac_status); } && | 10756 | (exit $ac_status); } && |
| 10654 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10757 | { ac_try='test -z "$ac_c_werror_flag" |
| 10758 | || test ! -s conftest.err' | ||
| 10655 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10759 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10656 | (eval $ac_try) 2>&5 | 10760 | (eval $ac_try) 2>&5 |
| 10657 | ac_status=$? | 10761 | ac_status=$? |
| @@ -10719,7 +10823,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10719 | cat conftest.err >&5 | 10823 | cat conftest.err >&5 |
| 10720 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10824 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10721 | (exit $ac_status); } && | 10825 | (exit $ac_status); } && |
| 10722 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10826 | { ac_try='test -z "$ac_c_werror_flag" |
| 10827 | || test ! -s conftest.err' | ||
| 10723 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10828 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10724 | (eval $ac_try) 2>&5 | 10829 | (eval $ac_try) 2>&5 |
| 10725 | ac_status=$? | 10830 | ac_status=$? |
| @@ -10864,7 +10969,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10864 | cat conftest.err >&5 | 10969 | cat conftest.err >&5 |
| 10865 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10970 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10866 | (exit $ac_status); } && | 10971 | (exit $ac_status); } && |
| 10867 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 10972 | { ac_try='test -z "$ac_c_werror_flag" |
| 10973 | || test ! -s conftest.err' | ||
| 10868 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10974 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10869 | (eval $ac_try) 2>&5 | 10975 | (eval $ac_try) 2>&5 |
| 10870 | ac_status=$? | 10976 | ac_status=$? |
| @@ -10973,7 +11079,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10973 | cat conftest.err >&5 | 11079 | cat conftest.err >&5 |
| 10974 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11080 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10975 | (exit $ac_status); } && | 11081 | (exit $ac_status); } && |
| 10976 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11082 | { ac_try='test -z "$ac_c_werror_flag" |
| 11083 | || test ! -s conftest.err' | ||
| 10977 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11084 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10978 | (eval $ac_try) 2>&5 | 11085 | (eval $ac_try) 2>&5 |
| 10979 | ac_status=$? | 11086 | ac_status=$? |
| @@ -11118,7 +11225,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11118 | cat conftest.err >&5 | 11225 | cat conftest.err >&5 |
| 11119 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11226 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11120 | (exit $ac_status); } && | 11227 | (exit $ac_status); } && |
| 11121 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11228 | { ac_try='test -z "$ac_c_werror_flag" |
| 11229 | || test ! -s conftest.err' | ||
| 11122 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11230 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11123 | (eval $ac_try) 2>&5 | 11231 | (eval $ac_try) 2>&5 |
| 11124 | ac_status=$? | 11232 | ac_status=$? |
| @@ -11225,7 +11333,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11225 | cat conftest.err >&5 | 11333 | cat conftest.err >&5 |
| 11226 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11334 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11227 | (exit $ac_status); } && | 11335 | (exit $ac_status); } && |
| 11228 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11336 | { ac_try='test -z "$ac_c_werror_flag" |
| 11337 | || test ! -s conftest.err' | ||
| 11229 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11338 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11230 | (eval $ac_try) 2>&5 | 11339 | (eval $ac_try) 2>&5 |
| 11231 | ac_status=$? | 11340 | ac_status=$? |
| @@ -11379,7 +11488,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11379 | cat conftest.err >&5 | 11488 | cat conftest.err >&5 |
| 11380 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11489 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11381 | (exit $ac_status); } && | 11490 | (exit $ac_status); } && |
| 11382 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11491 | { ac_try='test -z "$ac_c_werror_flag" |
| 11492 | || test ! -s conftest.err' | ||
| 11383 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11493 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11384 | (eval $ac_try) 2>&5 | 11494 | (eval $ac_try) 2>&5 |
| 11385 | ac_status=$? | 11495 | ac_status=$? |
| @@ -11454,7 +11564,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11454 | cat conftest.err >&5 | 11564 | cat conftest.err >&5 |
| 11455 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11565 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11456 | (exit $ac_status); } && | 11566 | (exit $ac_status); } && |
| 11457 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11567 | { ac_try='test -z "$ac_c_werror_flag" |
| 11568 | || test ! -s conftest.err' | ||
| 11458 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11569 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11459 | (eval $ac_try) 2>&5 | 11570 | (eval $ac_try) 2>&5 |
| 11460 | ac_status=$? | 11571 | ac_status=$? |
| @@ -11602,7 +11713,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11602 | cat conftest.err >&5 | 11713 | cat conftest.err >&5 |
| 11603 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11604 | (exit $ac_status); } && | 11715 | (exit $ac_status); } && |
| 11605 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11716 | { ac_try='test -z "$ac_c_werror_flag" |
| 11717 | || test ! -s conftest.err' | ||
| 11606 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11718 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11607 | (eval $ac_try) 2>&5 | 11719 | (eval $ac_try) 2>&5 |
| 11608 | ac_status=$? | 11720 | ac_status=$? |
| @@ -11679,7 +11791,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11679 | cat conftest.err >&5 | 11791 | cat conftest.err >&5 |
| 11680 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11792 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11681 | (exit $ac_status); } && | 11793 | (exit $ac_status); } && |
| 11682 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11794 | { ac_try='test -z "$ac_c_werror_flag" |
| 11795 | || test ! -s conftest.err' | ||
| 11683 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11796 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11684 | (eval $ac_try) 2>&5 | 11797 | (eval $ac_try) 2>&5 |
| 11685 | ac_status=$? | 11798 | ac_status=$? |
| @@ -11826,7 +11939,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11826 | cat conftest.err >&5 | 11939 | cat conftest.err >&5 |
| 11827 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11940 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11828 | (exit $ac_status); } && | 11941 | (exit $ac_status); } && |
| 11829 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 11942 | { ac_try='test -z "$ac_c_werror_flag" |
| 11943 | || test ! -s conftest.err' | ||
| 11830 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11944 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11831 | (eval $ac_try) 2>&5 | 11945 | (eval $ac_try) 2>&5 |
| 11832 | ac_status=$? | 11946 | ac_status=$? |
| @@ -11902,7 +12016,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11902 | cat conftest.err >&5 | 12016 | cat conftest.err >&5 |
| 11903 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12017 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11904 | (exit $ac_status); } && | 12018 | (exit $ac_status); } && |
| 11905 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12019 | { ac_try='test -z "$ac_c_werror_flag" |
| 12020 | || test ! -s conftest.err' | ||
| 11906 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12021 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11907 | (eval $ac_try) 2>&5 | 12022 | (eval $ac_try) 2>&5 |
| 11908 | ac_status=$? | 12023 | ac_status=$? |
| @@ -12067,7 +12182,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 12067 | cat conftest.err >&5 | 12182 | cat conftest.err >&5 |
| 12068 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12183 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12069 | (exit $ac_status); } && | 12184 | (exit $ac_status); } && |
| 12070 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12185 | { ac_try='test -z "$ac_c_werror_flag" |
| 12186 | || test ! -s conftest.err' | ||
| 12071 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12187 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12072 | (eval $ac_try) 2>&5 | 12188 | (eval $ac_try) 2>&5 |
| 12073 | ac_status=$? | 12189 | ac_status=$? |
| @@ -12212,7 +12328,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12212 | cat conftest.err >&5 | 12328 | cat conftest.err >&5 |
| 12213 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12329 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12214 | (exit $ac_status); } && | 12330 | (exit $ac_status); } && |
| 12215 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12331 | { ac_try='test -z "$ac_c_werror_flag" |
| 12332 | || test ! -s conftest.err' | ||
| 12216 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12333 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12217 | (eval $ac_try) 2>&5 | 12334 | (eval $ac_try) 2>&5 |
| 12218 | ac_status=$? | 12335 | ac_status=$? |
| @@ -12288,7 +12405,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12288 | cat conftest.err >&5 | 12405 | cat conftest.err >&5 |
| 12289 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12406 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12290 | (exit $ac_status); } && | 12407 | (exit $ac_status); } && |
| 12291 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12408 | { ac_try='test -z "$ac_c_werror_flag" |
| 12409 | || test ! -s conftest.err' | ||
| 12292 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12410 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12293 | (eval $ac_try) 2>&5 | 12411 | (eval $ac_try) 2>&5 |
| 12294 | ac_status=$? | 12412 | ac_status=$? |
| @@ -12351,7 +12469,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12351 | cat conftest.err >&5 | 12469 | cat conftest.err >&5 |
| 12352 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12470 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12353 | (exit $ac_status); } && | 12471 | (exit $ac_status); } && |
| 12354 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12472 | { ac_try='test -z "$ac_c_werror_flag" |
| 12473 | || test ! -s conftest.err' | ||
| 12355 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12474 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12356 | (eval $ac_try) 2>&5 | 12475 | (eval $ac_try) 2>&5 |
| 12357 | ac_status=$? | 12476 | ac_status=$? |
| @@ -12432,7 +12551,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12432 | cat conftest.err >&5 | 12551 | cat conftest.err >&5 |
| 12433 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12552 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12434 | (exit $ac_status); } && | 12553 | (exit $ac_status); } && |
| 12435 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12554 | { ac_try='test -z "$ac_c_werror_flag" |
| 12555 | || test ! -s conftest.err' | ||
| 12436 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12556 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12437 | (eval $ac_try) 2>&5 | 12557 | (eval $ac_try) 2>&5 |
| 12438 | ac_status=$? | 12558 | ac_status=$? |
| @@ -12573,7 +12693,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12573 | cat conftest.err >&5 | 12693 | cat conftest.err >&5 |
| 12574 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12694 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12575 | (exit $ac_status); } && | 12695 | (exit $ac_status); } && |
| 12576 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12696 | { ac_try='test -z "$ac_c_werror_flag" |
| 12697 | || test ! -s conftest.err' | ||
| 12577 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12698 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12578 | (eval $ac_try) 2>&5 | 12699 | (eval $ac_try) 2>&5 |
| 12579 | ac_status=$? | 12700 | ac_status=$? |
| @@ -12718,7 +12839,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12718 | cat conftest.err >&5 | 12839 | cat conftest.err >&5 |
| 12719 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12840 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12720 | (exit $ac_status); } && | 12841 | (exit $ac_status); } && |
| 12721 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12842 | { ac_try='test -z "$ac_c_werror_flag" |
| 12843 | || test ! -s conftest.err' | ||
| 12722 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12844 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12723 | (eval $ac_try) 2>&5 | 12845 | (eval $ac_try) 2>&5 |
| 12724 | ac_status=$? | 12846 | ac_status=$? |
| @@ -12794,7 +12916,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12794 | cat conftest.err >&5 | 12916 | cat conftest.err >&5 |
| 12795 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12917 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12796 | (exit $ac_status); } && | 12918 | (exit $ac_status); } && |
| 12797 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12919 | { ac_try='test -z "$ac_c_werror_flag" |
| 12920 | || test ! -s conftest.err' | ||
| 12798 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12921 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12799 | (eval $ac_try) 2>&5 | 12922 | (eval $ac_try) 2>&5 |
| 12800 | ac_status=$? | 12923 | ac_status=$? |
| @@ -12867,7 +12990,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12867 | cat conftest.err >&5 | 12990 | cat conftest.err >&5 |
| 12868 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12991 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12869 | (exit $ac_status); } && | 12992 | (exit $ac_status); } && |
| 12870 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 12993 | { ac_try='test -z "$ac_c_werror_flag" |
| 12994 | || test ! -s conftest.err' | ||
| 12871 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12995 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12872 | (eval $ac_try) 2>&5 | 12996 | (eval $ac_try) 2>&5 |
| 12873 | ac_status=$? | 12997 | ac_status=$? |
| @@ -13022,7 +13146,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13022 | cat conftest.err >&5 | 13146 | cat conftest.err >&5 |
| 13023 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13147 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13024 | (exit $ac_status); } && | 13148 | (exit $ac_status); } && |
| 13025 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13149 | { ac_try='test -z "$ac_c_werror_flag" |
| 13150 | || test ! -s conftest.err' | ||
| 13026 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13151 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13027 | (eval $ac_try) 2>&5 | 13152 | (eval $ac_try) 2>&5 |
| 13028 | ac_status=$? | 13153 | ac_status=$? |
| @@ -13088,7 +13213,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 13088 | cat conftest.err >&5 | 13213 | cat conftest.err >&5 |
| 13089 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13214 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13090 | (exit $ac_status); } && | 13215 | (exit $ac_status); } && |
| 13091 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13216 | { ac_try='test -z "$ac_c_werror_flag" |
| 13217 | || test ! -s conftest.err' | ||
| 13092 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13218 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13093 | (eval $ac_try) 2>&5 | 13219 | (eval $ac_try) 2>&5 |
| 13094 | ac_status=$? | 13220 | ac_status=$? |
| @@ -13346,7 +13472,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13346 | cat conftest.err >&5 | 13472 | cat conftest.err >&5 |
| 13347 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13473 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13348 | (exit $ac_status); } && | 13474 | (exit $ac_status); } && |
| 13349 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13475 | { ac_try='test -z "$ac_c_werror_flag" |
| 13476 | || test ! -s conftest.err' | ||
| 13350 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13477 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13351 | (eval $ac_try) 2>&5 | 13478 | (eval $ac_try) 2>&5 |
| 13352 | ac_status=$? | 13479 | ac_status=$? |
| @@ -13413,7 +13540,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 13413 | cat conftest.err >&5 | 13540 | cat conftest.err >&5 |
| 13414 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13541 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13415 | (exit $ac_status); } && | 13542 | (exit $ac_status); } && |
| 13416 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13543 | { ac_try='test -z "$ac_c_werror_flag" |
| 13544 | || test ! -s conftest.err' | ||
| 13417 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13545 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13418 | (eval $ac_try) 2>&5 | 13546 | (eval $ac_try) 2>&5 |
| 13419 | ac_status=$? | 13547 | ac_status=$? |
| @@ -13565,7 +13693,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 13565 | cat conftest.err >&5 | 13693 | cat conftest.err >&5 |
| 13566 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13694 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13567 | (exit $ac_status); } && | 13695 | (exit $ac_status); } && |
| 13568 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13696 | { ac_try='test -z "$ac_c_werror_flag" |
| 13697 | || test ! -s conftest.err' | ||
| 13569 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13698 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13570 | (eval $ac_try) 2>&5 | 13699 | (eval $ac_try) 2>&5 |
| 13571 | ac_status=$? | 13700 | ac_status=$? |
| @@ -13749,7 +13878,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13749 | cat conftest.err >&5 | 13878 | cat conftest.err >&5 |
| 13750 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13879 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13751 | (exit $ac_status); } && | 13880 | (exit $ac_status); } && |
| 13752 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 13881 | { ac_try='test -z "$ac_c_werror_flag" |
| 13882 | || test ! -s conftest.err' | ||
| 13753 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13883 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13754 | (eval $ac_try) 2>&5 | 13884 | (eval $ac_try) 2>&5 |
| 13755 | ac_status=$? | 13885 | ac_status=$? |
| @@ -14076,7 +14206,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14076 | cat conftest.err >&5 | 14206 | cat conftest.err >&5 |
| 14077 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14207 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14078 | (exit $ac_status); } && | 14208 | (exit $ac_status); } && |
| 14079 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14209 | { ac_try='test -z "$ac_c_werror_flag" |
| 14210 | || test ! -s conftest.err' | ||
| 14080 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14211 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14081 | (eval $ac_try) 2>&5 | 14212 | (eval $ac_try) 2>&5 |
| 14082 | ac_status=$? | 14213 | ac_status=$? |
| @@ -14177,7 +14308,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14177 | cat conftest.err >&5 | 14308 | cat conftest.err >&5 |
| 14178 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14309 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14179 | (exit $ac_status); } && | 14310 | (exit $ac_status); } && |
| 14180 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14311 | { ac_try='test -z "$ac_c_werror_flag" |
| 14312 | || test ! -s conftest.err' | ||
| 14181 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14313 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14182 | (eval $ac_try) 2>&5 | 14314 | (eval $ac_try) 2>&5 |
| 14183 | ac_status=$? | 14315 | ac_status=$? |
| @@ -14250,7 +14382,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14250 | cat conftest.err >&5 | 14382 | cat conftest.err >&5 |
| 14251 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14383 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14252 | (exit $ac_status); } && | 14384 | (exit $ac_status); } && |
| 14253 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14385 | { ac_try='test -z "$ac_c_werror_flag" |
| 14386 | || test ! -s conftest.err' | ||
| 14254 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14387 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14255 | (eval $ac_try) 2>&5 | 14388 | (eval $ac_try) 2>&5 |
| 14256 | ac_status=$? | 14389 | ac_status=$? |
| @@ -14329,7 +14462,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14329 | cat conftest.err >&5 | 14462 | cat conftest.err >&5 |
| 14330 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14463 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14331 | (exit $ac_status); } && | 14464 | (exit $ac_status); } && |
| 14332 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14465 | { ac_try='test -z "$ac_c_werror_flag" |
| 14466 | || test ! -s conftest.err' | ||
| 14333 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14467 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14334 | (eval $ac_try) 2>&5 | 14468 | (eval $ac_try) 2>&5 |
| 14335 | ac_status=$? | 14469 | ac_status=$? |
| @@ -14398,7 +14532,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14398 | cat conftest.err >&5 | 14532 | cat conftest.err >&5 |
| 14399 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14533 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14400 | (exit $ac_status); } && | 14534 | (exit $ac_status); } && |
| 14401 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14535 | { ac_try='test -z "$ac_c_werror_flag" |
| 14536 | || test ! -s conftest.err' | ||
| 14402 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14537 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14403 | (eval $ac_try) 2>&5 | 14538 | (eval $ac_try) 2>&5 |
| 14404 | ac_status=$? | 14539 | ac_status=$? |
| @@ -14466,7 +14601,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14466 | cat conftest.err >&5 | 14601 | cat conftest.err >&5 |
| 14467 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14602 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14468 | (exit $ac_status); } && | 14603 | (exit $ac_status); } && |
| 14469 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14604 | { ac_try='test -z "$ac_c_werror_flag" |
| 14605 | || test ! -s conftest.err' | ||
| 14470 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14606 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14471 | (eval $ac_try) 2>&5 | 14607 | (eval $ac_try) 2>&5 |
| 14472 | ac_status=$? | 14608 | ac_status=$? |
| @@ -14540,7 +14676,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14540 | cat conftest.err >&5 | 14676 | cat conftest.err >&5 |
| 14541 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14677 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14542 | (exit $ac_status); } && | 14678 | (exit $ac_status); } && |
| 14543 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14679 | { ac_try='test -z "$ac_c_werror_flag" |
| 14680 | || test ! -s conftest.err' | ||
| 14544 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14681 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14545 | (eval $ac_try) 2>&5 | 14682 | (eval $ac_try) 2>&5 |
| 14546 | ac_status=$? | 14683 | ac_status=$? |
| @@ -14644,7 +14781,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14644 | cat conftest.err >&5 | 14781 | cat conftest.err >&5 |
| 14645 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14782 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14646 | (exit $ac_status); } && | 14783 | (exit $ac_status); } && |
| 14647 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14784 | { ac_try='test -z "$ac_c_werror_flag" |
| 14785 | || test ! -s conftest.err' | ||
| 14648 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14786 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14649 | (eval $ac_try) 2>&5 | 14787 | (eval $ac_try) 2>&5 |
| 14650 | ac_status=$? | 14788 | ac_status=$? |
| @@ -14719,7 +14857,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 14719 | cat conftest.err >&5 | 14857 | cat conftest.err >&5 |
| 14720 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14858 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14721 | (exit $ac_status); } && | 14859 | (exit $ac_status); } && |
| 14722 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 14860 | { ac_try='test -z "$ac_c_werror_flag" |
| 14861 | || test ! -s conftest.err' | ||
| 14723 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14862 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14724 | (eval $ac_try) 2>&5 | 14863 | (eval $ac_try) 2>&5 |
| 14725 | ac_status=$? | 14864 | ac_status=$? |
| @@ -14871,7 +15010,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14871 | cat conftest.err >&5 | 15010 | cat conftest.err >&5 |
| 14872 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15011 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14873 | (exit $ac_status); } && | 15012 | (exit $ac_status); } && |
| 14874 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15013 | { ac_try='test -z "$ac_c_werror_flag" |
| 15014 | || test ! -s conftest.err' | ||
| 14875 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15015 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14876 | (eval $ac_try) 2>&5 | 15016 | (eval $ac_try) 2>&5 |
| 14877 | ac_status=$? | 15017 | ac_status=$? |
| @@ -14939,7 +15079,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 14939 | cat conftest.err >&5 | 15079 | cat conftest.err >&5 |
| 14940 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15080 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14941 | (exit $ac_status); } && | 15081 | (exit $ac_status); } && |
| 14942 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15082 | { ac_try='test -z "$ac_c_werror_flag" |
| 15083 | || test ! -s conftest.err' | ||
| 14943 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15084 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14944 | (eval $ac_try) 2>&5 | 15085 | (eval $ac_try) 2>&5 |
| 14945 | ac_status=$? | 15086 | ac_status=$? |
| @@ -15116,7 +15257,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15116 | cat conftest.err >&5 | 15257 | cat conftest.err >&5 |
| 15117 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15258 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15118 | (exit $ac_status); } && | 15259 | (exit $ac_status); } && |
| 15119 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15260 | { ac_try='test -z "$ac_c_werror_flag" |
| 15261 | || test ! -s conftest.err' | ||
| 15120 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15262 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15121 | (eval $ac_try) 2>&5 | 15263 | (eval $ac_try) 2>&5 |
| 15122 | ac_status=$? | 15264 | ac_status=$? |
| @@ -15192,7 +15334,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15192 | cat conftest.err >&5 | 15334 | cat conftest.err >&5 |
| 15193 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15335 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15194 | (exit $ac_status); } && | 15336 | (exit $ac_status); } && |
| 15195 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15337 | { ac_try='test -z "$ac_c_werror_flag" |
| 15338 | || test ! -s conftest.err' | ||
| 15196 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15339 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15197 | (eval $ac_try) 2>&5 | 15340 | (eval $ac_try) 2>&5 |
| 15198 | ac_status=$? | 15341 | ac_status=$? |
| @@ -15346,7 +15489,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15346 | cat conftest.err >&5 | 15489 | cat conftest.err >&5 |
| 15347 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15490 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15348 | (exit $ac_status); } && | 15491 | (exit $ac_status); } && |
| 15349 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15492 | { ac_try='test -z "$ac_c_werror_flag" |
| 15493 | || test ! -s conftest.err' | ||
| 15350 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15494 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15351 | (eval $ac_try) 2>&5 | 15495 | (eval $ac_try) 2>&5 |
| 15352 | ac_status=$? | 15496 | ac_status=$? |
| @@ -15497,7 +15641,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15497 | cat conftest.err >&5 | 15641 | cat conftest.err >&5 |
| 15498 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15642 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15499 | (exit $ac_status); } && | 15643 | (exit $ac_status); } && |
| 15500 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15644 | { ac_try='test -z "$ac_c_werror_flag" |
| 15645 | || test ! -s conftest.err' | ||
| 15501 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15646 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15502 | (eval $ac_try) 2>&5 | 15647 | (eval $ac_try) 2>&5 |
| 15503 | ac_status=$? | 15648 | ac_status=$? |
| @@ -15648,7 +15793,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15648 | cat conftest.err >&5 | 15793 | cat conftest.err >&5 |
| 15649 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15794 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15650 | (exit $ac_status); } && | 15795 | (exit $ac_status); } && |
| 15651 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15796 | { ac_try='test -z "$ac_c_werror_flag" |
| 15797 | || test ! -s conftest.err' | ||
| 15652 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15798 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15653 | (eval $ac_try) 2>&5 | 15799 | (eval $ac_try) 2>&5 |
| 15654 | ac_status=$? | 15800 | ac_status=$? |
| @@ -15790,7 +15936,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15790 | cat conftest.err >&5 | 15936 | cat conftest.err >&5 |
| 15791 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15937 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15792 | (exit $ac_status); } && | 15938 | (exit $ac_status); } && |
| 15793 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15939 | { ac_try='test -z "$ac_c_werror_flag" |
| 15940 | || test ! -s conftest.err' | ||
| 15794 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15941 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15795 | (eval $ac_try) 2>&5 | 15942 | (eval $ac_try) 2>&5 |
| 15796 | ac_status=$? | 15943 | ac_status=$? |
| @@ -15834,7 +15981,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15834 | cat conftest.err >&5 | 15981 | cat conftest.err >&5 |
| 15835 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15982 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15836 | (exit $ac_status); } && | 15983 | (exit $ac_status); } && |
| 15837 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 15984 | { ac_try='test -z "$ac_c_werror_flag" |
| 15985 | || test ! -s conftest.err' | ||
| 15838 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15986 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15839 | (eval $ac_try) 2>&5 | 15987 | (eval $ac_try) 2>&5 |
| 15840 | ac_status=$? | 15988 | ac_status=$? |
| @@ -15980,7 +16128,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15980 | cat conftest.err >&5 | 16128 | cat conftest.err >&5 |
| 15981 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16129 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15982 | (exit $ac_status); } && | 16130 | (exit $ac_status); } && |
| 15983 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16131 | { ac_try='test -z "$ac_c_werror_flag" |
| 16132 | || test ! -s conftest.err' | ||
| 15984 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16133 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15985 | (eval $ac_try) 2>&5 | 16134 | (eval $ac_try) 2>&5 |
| 15986 | ac_status=$? | 16135 | ac_status=$? |
| @@ -16024,7 +16173,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16024 | cat conftest.err >&5 | 16173 | cat conftest.err >&5 |
| 16025 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16174 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16026 | (exit $ac_status); } && | 16175 | (exit $ac_status); } && |
| 16027 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16176 | { ac_try='test -z "$ac_c_werror_flag" |
| 16177 | || test ! -s conftest.err' | ||
| 16028 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16178 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16029 | (eval $ac_try) 2>&5 | 16179 | (eval $ac_try) 2>&5 |
| 16030 | ac_status=$? | 16180 | ac_status=$? |
| @@ -16089,7 +16239,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16089 | cat conftest.err >&5 | 16239 | cat conftest.err >&5 |
| 16090 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16240 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16091 | (exit $ac_status); } && | 16241 | (exit $ac_status); } && |
| 16092 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16242 | { ac_try='test -z "$ac_c_werror_flag" |
| 16243 | || test ! -s conftest.err' | ||
| 16093 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16244 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16094 | (eval $ac_try) 2>&5 | 16245 | (eval $ac_try) 2>&5 |
| 16095 | ac_status=$? | 16246 | ac_status=$? |
| @@ -16152,7 +16303,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16152 | cat conftest.err >&5 | 16303 | cat conftest.err >&5 |
| 16153 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16304 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16154 | (exit $ac_status); } && | 16305 | (exit $ac_status); } && |
| 16155 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16306 | { ac_try='test -z "$ac_c_werror_flag" |
| 16307 | || test ! -s conftest.err' | ||
| 16156 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16308 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16157 | (eval $ac_try) 2>&5 | 16309 | (eval $ac_try) 2>&5 |
| 16158 | ac_status=$? | 16310 | ac_status=$? |
| @@ -16254,7 +16406,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16254 | cat conftest.err >&5 | 16406 | cat conftest.err >&5 |
| 16255 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16407 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16256 | (exit $ac_status); } && | 16408 | (exit $ac_status); } && |
| 16257 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16409 | { ac_try='test -z "$ac_c_werror_flag" |
| 16410 | || test ! -s conftest.err' | ||
| 16258 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16411 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16259 | (eval $ac_try) 2>&5 | 16412 | (eval $ac_try) 2>&5 |
| 16260 | ac_status=$? | 16413 | ac_status=$? |
| @@ -16323,7 +16476,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16323 | cat conftest.err >&5 | 16476 | cat conftest.err >&5 |
| 16324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16477 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16325 | (exit $ac_status); } && | 16478 | (exit $ac_status); } && |
| 16326 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16479 | { ac_try='test -z "$ac_c_werror_flag" |
| 16480 | || test ! -s conftest.err' | ||
| 16327 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16481 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16328 | (eval $ac_try) 2>&5 | 16482 | (eval $ac_try) 2>&5 |
| 16329 | ac_status=$? | 16483 | ac_status=$? |
| @@ -16430,7 +16584,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16430 | cat conftest.err >&5 | 16584 | cat conftest.err >&5 |
| 16431 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16585 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16432 | (exit $ac_status); } && | 16586 | (exit $ac_status); } && |
| 16433 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16587 | { ac_try='test -z "$ac_c_werror_flag" |
| 16588 | || test ! -s conftest.err' | ||
| 16434 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16589 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16435 | (eval $ac_try) 2>&5 | 16590 | (eval $ac_try) 2>&5 |
| 16436 | ac_status=$? | 16591 | ac_status=$? |
| @@ -16533,7 +16688,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16533 | cat conftest.err >&5 | 16688 | cat conftest.err >&5 |
| 16534 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16689 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16535 | (exit $ac_status); } && | 16690 | (exit $ac_status); } && |
| 16536 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16691 | { ac_try='test -z "$ac_c_werror_flag" |
| 16692 | || test ! -s conftest.err' | ||
| 16537 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16693 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16538 | (eval $ac_try) 2>&5 | 16694 | (eval $ac_try) 2>&5 |
| 16539 | ac_status=$? | 16695 | ac_status=$? |
| @@ -16609,7 +16765,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16609 | cat conftest.err >&5 | 16765 | cat conftest.err >&5 |
| 16610 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16766 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16611 | (exit $ac_status); } && | 16767 | (exit $ac_status); } && |
| 16612 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16768 | { ac_try='test -z "$ac_c_werror_flag" |
| 16769 | || test ! -s conftest.err' | ||
| 16613 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16770 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16614 | (eval $ac_try) 2>&5 | 16771 | (eval $ac_try) 2>&5 |
| 16615 | ac_status=$? | 16772 | ac_status=$? |
| @@ -16713,7 +16870,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16713 | cat conftest.err >&5 | 16870 | cat conftest.err >&5 |
| 16714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16871 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16715 | (exit $ac_status); } && | 16872 | (exit $ac_status); } && |
| 16716 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16873 | { ac_try='test -z "$ac_c_werror_flag" |
| 16874 | || test ! -s conftest.err' | ||
| 16717 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16875 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16718 | (eval $ac_try) 2>&5 | 16876 | (eval $ac_try) 2>&5 |
| 16719 | ac_status=$? | 16877 | ac_status=$? |
| @@ -16805,7 +16963,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16805 | cat conftest.err >&5 | 16963 | cat conftest.err >&5 |
| 16806 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16964 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16807 | (exit $ac_status); } && | 16965 | (exit $ac_status); } && |
| 16808 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 16966 | { ac_try='test -z "$ac_c_werror_flag" |
| 16967 | || test ! -s conftest.err' | ||
| 16809 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16968 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16810 | (eval $ac_try) 2>&5 | 16969 | (eval $ac_try) 2>&5 |
| 16811 | ac_status=$? | 16970 | ac_status=$? |
| @@ -16870,7 +17029,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16870 | cat conftest.err >&5 | 17029 | cat conftest.err >&5 |
| 16871 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17030 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16872 | (exit $ac_status); } && | 17031 | (exit $ac_status); } && |
| 16873 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17032 | { ac_try='test -z "$ac_c_werror_flag" |
| 17033 | || test ! -s conftest.err' | ||
| 16874 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17034 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16875 | (eval $ac_try) 2>&5 | 17035 | (eval $ac_try) 2>&5 |
| 16876 | ac_status=$? | 17036 | ac_status=$? |
| @@ -16936,7 +17096,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16936 | cat conftest.err >&5 | 17096 | cat conftest.err >&5 |
| 16937 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17097 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16938 | (exit $ac_status); } && | 17098 | (exit $ac_status); } && |
| 16939 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17099 | { ac_try='test -z "$ac_c_werror_flag" |
| 17100 | || test ! -s conftest.err' | ||
| 16940 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17101 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16941 | (eval $ac_try) 2>&5 | 17102 | (eval $ac_try) 2>&5 |
| 16942 | ac_status=$? | 17103 | ac_status=$? |
| @@ -17046,7 +17207,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17046 | cat conftest.err >&5 | 17207 | cat conftest.err >&5 |
| 17047 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17208 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17048 | (exit $ac_status); } && | 17209 | (exit $ac_status); } && |
| 17049 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17210 | { ac_try='test -z "$ac_c_werror_flag" |
| 17211 | || test ! -s conftest.err' | ||
| 17050 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17212 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17051 | (eval $ac_try) 2>&5 | 17213 | (eval $ac_try) 2>&5 |
| 17052 | ac_status=$? | 17214 | ac_status=$? |
| @@ -17111,7 +17273,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17111 | cat conftest.err >&5 | 17273 | cat conftest.err >&5 |
| 17112 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17274 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17113 | (exit $ac_status); } && | 17275 | (exit $ac_status); } && |
| 17114 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17276 | { ac_try='test -z "$ac_c_werror_flag" |
| 17277 | || test ! -s conftest.err' | ||
| 17115 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17278 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17116 | (eval $ac_try) 2>&5 | 17279 | (eval $ac_try) 2>&5 |
| 17117 | ac_status=$? | 17280 | ac_status=$? |
| @@ -17191,7 +17354,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17191 | cat conftest.err >&5 | 17354 | cat conftest.err >&5 |
| 17192 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17355 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17193 | (exit $ac_status); } && | 17356 | (exit $ac_status); } && |
| 17194 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17357 | { ac_try='test -z "$ac_c_werror_flag" |
| 17358 | || test ! -s conftest.err' | ||
| 17195 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17359 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17196 | (eval $ac_try) 2>&5 | 17360 | (eval $ac_try) 2>&5 |
| 17197 | ac_status=$? | 17361 | ac_status=$? |
| @@ -17264,7 +17428,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17264 | cat conftest.err >&5 | 17428 | cat conftest.err >&5 |
| 17265 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17429 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17266 | (exit $ac_status); } && | 17430 | (exit $ac_status); } && |
| 17267 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17431 | { ac_try='test -z "$ac_c_werror_flag" |
| 17432 | || test ! -s conftest.err' | ||
| 17268 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17433 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17269 | (eval $ac_try) 2>&5 | 17434 | (eval $ac_try) 2>&5 |
| 17270 | ac_status=$? | 17435 | ac_status=$? |
| @@ -17337,7 +17502,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17337 | cat conftest.err >&5 | 17502 | cat conftest.err >&5 |
| 17338 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17503 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17339 | (exit $ac_status); } && | 17504 | (exit $ac_status); } && |
| 17340 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17505 | { ac_try='test -z "$ac_c_werror_flag" |
| 17506 | || test ! -s conftest.err' | ||
| 17341 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17507 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17342 | (eval $ac_try) 2>&5 | 17508 | (eval $ac_try) 2>&5 |
| 17343 | ac_status=$? | 17509 | ac_status=$? |
| @@ -17410,7 +17576,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17410 | cat conftest.err >&5 | 17576 | cat conftest.err >&5 |
| 17411 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17577 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17412 | (exit $ac_status); } && | 17578 | (exit $ac_status); } && |
| 17413 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17579 | { ac_try='test -z "$ac_c_werror_flag" |
| 17580 | || test ! -s conftest.err' | ||
| 17414 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17581 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17415 | (eval $ac_try) 2>&5 | 17582 | (eval $ac_try) 2>&5 |
| 17416 | ac_status=$? | 17583 | ac_status=$? |
| @@ -17484,7 +17651,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17484 | cat conftest.err >&5 | 17651 | cat conftest.err >&5 |
| 17485 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17652 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17486 | (exit $ac_status); } && | 17653 | (exit $ac_status); } && |
| 17487 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17654 | { ac_try='test -z "$ac_c_werror_flag" |
| 17655 | || test ! -s conftest.err' | ||
| 17488 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17656 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17489 | (eval $ac_try) 2>&5 | 17657 | (eval $ac_try) 2>&5 |
| 17490 | ac_status=$? | 17658 | ac_status=$? |
| @@ -17556,7 +17724,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17556 | cat conftest.err >&5 | 17724 | cat conftest.err >&5 |
| 17557 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17725 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17558 | (exit $ac_status); } && | 17726 | (exit $ac_status); } && |
| 17559 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17727 | { ac_try='test -z "$ac_c_werror_flag" |
| 17728 | || test ! -s conftest.err' | ||
| 17560 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17729 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17561 | (eval $ac_try) 2>&5 | 17730 | (eval $ac_try) 2>&5 |
| 17562 | ac_status=$? | 17731 | ac_status=$? |
| @@ -17631,7 +17800,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17631 | cat conftest.err >&5 | 17800 | cat conftest.err >&5 |
| 17632 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17801 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17633 | (exit $ac_status); } && | 17802 | (exit $ac_status); } && |
| 17634 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17803 | { ac_try='test -z "$ac_c_werror_flag" |
| 17804 | || test ! -s conftest.err' | ||
| 17635 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17805 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17636 | (eval $ac_try) 2>&5 | 17806 | (eval $ac_try) 2>&5 |
| 17637 | ac_status=$? | 17807 | ac_status=$? |
| @@ -17703,7 +17873,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17703 | cat conftest.err >&5 | 17873 | cat conftest.err >&5 |
| 17704 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17874 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17705 | (exit $ac_status); } && | 17875 | (exit $ac_status); } && |
| 17706 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17876 | { ac_try='test -z "$ac_c_werror_flag" |
| 17877 | || test ! -s conftest.err' | ||
| 17707 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17878 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17708 | (eval $ac_try) 2>&5 | 17879 | (eval $ac_try) 2>&5 |
| 17709 | ac_status=$? | 17880 | ac_status=$? |
| @@ -17776,7 +17947,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 17776 | cat conftest.err >&5 | 17947 | cat conftest.err >&5 |
| 17777 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17948 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17778 | (exit $ac_status); } && | 17949 | (exit $ac_status); } && |
| 17779 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 17950 | { ac_try='test -z "$ac_c_werror_flag" |
| 17951 | || test ! -s conftest.err' | ||
| 17780 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17952 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17781 | (eval $ac_try) 2>&5 | 17953 | (eval $ac_try) 2>&5 |
| 17782 | ac_status=$? | 17954 | ac_status=$? |
| @@ -17926,7 +18098,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 17926 | cat conftest.err >&5 | 18098 | cat conftest.err >&5 |
| 17927 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18099 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17928 | (exit $ac_status); } && | 18100 | (exit $ac_status); } && |
| 17929 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18101 | { ac_try='test -z "$ac_c_werror_flag" |
| 18102 | || test ! -s conftest.err' | ||
| 17930 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18103 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17931 | (eval $ac_try) 2>&5 | 18104 | (eval $ac_try) 2>&5 |
| 17932 | ac_status=$? | 18105 | ac_status=$? |
| @@ -18072,7 +18245,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18072 | cat conftest.err >&5 | 18245 | cat conftest.err >&5 |
| 18073 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18074 | (exit $ac_status); } && | 18247 | (exit $ac_status); } && |
| 18075 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18248 | { ac_try='test -z "$ac_c_werror_flag" |
| 18249 | || test ! -s conftest.err' | ||
| 18076 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18250 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18077 | (eval $ac_try) 2>&5 | 18251 | (eval $ac_try) 2>&5 |
| 18078 | ac_status=$? | 18252 | ac_status=$? |
| @@ -18218,7 +18392,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18218 | cat conftest.err >&5 | 18392 | cat conftest.err >&5 |
| 18219 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18393 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18220 | (exit $ac_status); } && | 18394 | (exit $ac_status); } && |
| 18221 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18395 | { ac_try='test -z "$ac_c_werror_flag" |
| 18396 | || test ! -s conftest.err' | ||
| 18222 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18397 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18223 | (eval $ac_try) 2>&5 | 18398 | (eval $ac_try) 2>&5 |
| 18224 | ac_status=$? | 18399 | ac_status=$? |
| @@ -18375,7 +18550,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18375 | cat conftest.err >&5 | 18550 | cat conftest.err >&5 |
| 18376 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18551 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18377 | (exit $ac_status); } && | 18552 | (exit $ac_status); } && |
| 18378 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18553 | { ac_try='test -z "$ac_c_werror_flag" |
| 18554 | || test ! -s conftest.err' | ||
| 18379 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18555 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18380 | (eval $ac_try) 2>&5 | 18556 | (eval $ac_try) 2>&5 |
| 18381 | ac_status=$? | 18557 | ac_status=$? |
| @@ -18521,7 +18697,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18521 | cat conftest.err >&5 | 18697 | cat conftest.err >&5 |
| 18522 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18698 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18523 | (exit $ac_status); } && | 18699 | (exit $ac_status); } && |
| 18524 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18700 | { ac_try='test -z "$ac_c_werror_flag" |
| 18701 | || test ! -s conftest.err' | ||
| 18525 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18702 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18526 | (eval $ac_try) 2>&5 | 18703 | (eval $ac_try) 2>&5 |
| 18527 | ac_status=$? | 18704 | ac_status=$? |
| @@ -18667,7 +18844,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18667 | cat conftest.err >&5 | 18844 | cat conftest.err >&5 |
| 18668 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18845 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18669 | (exit $ac_status); } && | 18846 | (exit $ac_status); } && |
| 18670 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 18847 | { ac_try='test -z "$ac_c_werror_flag" |
| 18848 | || test ! -s conftest.err' | ||
| 18671 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18849 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18672 | (eval $ac_try) 2>&5 | 18850 | (eval $ac_try) 2>&5 |
| 18673 | ac_status=$? | 18851 | ac_status=$? |
| @@ -18825,7 +19003,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18825 | cat conftest.err >&5 | 19003 | cat conftest.err >&5 |
| 18826 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19004 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18827 | (exit $ac_status); } && | 19005 | (exit $ac_status); } && |
| 18828 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19006 | { ac_try='test -z "$ac_c_werror_flag" |
| 19007 | || test ! -s conftest.err' | ||
| 18829 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19008 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18830 | (eval $ac_try) 2>&5 | 19009 | (eval $ac_try) 2>&5 |
| 18831 | ac_status=$? | 19010 | ac_status=$? |
| @@ -18983,7 +19162,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18983 | cat conftest.err >&5 | 19162 | cat conftest.err >&5 |
| 18984 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19163 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18985 | (exit $ac_status); } && | 19164 | (exit $ac_status); } && |
| 18986 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19165 | { ac_try='test -z "$ac_c_werror_flag" |
| 19166 | || test ! -s conftest.err' | ||
| 18987 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19167 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18988 | (eval $ac_try) 2>&5 | 19168 | (eval $ac_try) 2>&5 |
| 18989 | ac_status=$? | 19169 | ac_status=$? |
| @@ -19172,7 +19352,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 19172 | cat conftest.err >&5 | 19352 | cat conftest.err >&5 |
| 19173 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19353 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19174 | (exit $ac_status); } && | 19354 | (exit $ac_status); } && |
| 19175 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19355 | { ac_try='test -z "$ac_c_werror_flag" |
| 19356 | || test ! -s conftest.err' | ||
| 19176 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19357 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19177 | (eval $ac_try) 2>&5 | 19358 | (eval $ac_try) 2>&5 |
| 19178 | ac_status=$? | 19359 | ac_status=$? |
| @@ -19245,7 +19426,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19245 | cat conftest.err >&5 | 19426 | cat conftest.err >&5 |
| 19246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19427 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19247 | (exit $ac_status); } && | 19428 | (exit $ac_status); } && |
| 19248 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19429 | { ac_try='test -z "$ac_c_werror_flag" |
| 19430 | || test ! -s conftest.err' | ||
| 19249 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19431 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19250 | (eval $ac_try) 2>&5 | 19432 | (eval $ac_try) 2>&5 |
| 19251 | ac_status=$? | 19433 | ac_status=$? |
| @@ -19313,7 +19495,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19313 | cat conftest.err >&5 | 19495 | cat conftest.err >&5 |
| 19314 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19496 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19315 | (exit $ac_status); } && | 19497 | (exit $ac_status); } && |
| 19316 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19498 | { ac_try='test -z "$ac_c_werror_flag" |
| 19499 | || test ! -s conftest.err' | ||
| 19317 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19500 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19318 | (eval $ac_try) 2>&5 | 19501 | (eval $ac_try) 2>&5 |
| 19319 | ac_status=$? | 19502 | ac_status=$? |
| @@ -19359,7 +19542,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19359 | cat conftest.err >&5 | 19542 | cat conftest.err >&5 |
| 19360 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19543 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19361 | (exit $ac_status); } && | 19544 | (exit $ac_status); } && |
| 19362 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19545 | { ac_try='test -z "$ac_c_werror_flag" |
| 19546 | || test ! -s conftest.err' | ||
| 19363 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19547 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19364 | (eval $ac_try) 2>&5 | 19548 | (eval $ac_try) 2>&5 |
| 19365 | ac_status=$? | 19549 | ac_status=$? |
| @@ -19433,7 +19617,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 19433 | cat conftest.err >&5 | 19617 | cat conftest.err >&5 |
| 19434 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19618 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19435 | (exit $ac_status); } && | 19619 | (exit $ac_status); } && |
| 19436 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19620 | { ac_try='test -z "$ac_c_werror_flag" |
| 19621 | || test ! -s conftest.err' | ||
| 19437 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19622 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19438 | (eval $ac_try) 2>&5 | 19623 | (eval $ac_try) 2>&5 |
| 19439 | ac_status=$? | 19624 | ac_status=$? |
| @@ -19497,7 +19682,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19497 | cat conftest.err >&5 | 19682 | cat conftest.err >&5 |
| 19498 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19683 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19499 | (exit $ac_status); } && | 19684 | (exit $ac_status); } && |
| 19500 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19685 | { ac_try='test -z "$ac_c_werror_flag" |
| 19686 | || test ! -s conftest.err' | ||
| 19501 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19687 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19502 | (eval $ac_try) 2>&5 | 19688 | (eval $ac_try) 2>&5 |
| 19503 | ac_status=$? | 19689 | ac_status=$? |
| @@ -19635,7 +19821,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 19635 | cat conftest.err >&5 | 19821 | cat conftest.err >&5 |
| 19636 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19822 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19637 | (exit $ac_status); } && | 19823 | (exit $ac_status); } && |
| 19638 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19824 | { ac_try='test -z "$ac_c_werror_flag" |
| 19825 | || test ! -s conftest.err' | ||
| 19639 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19826 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19640 | (eval $ac_try) 2>&5 | 19827 | (eval $ac_try) 2>&5 |
| 19641 | ac_status=$? | 19828 | ac_status=$? |
| @@ -19696,7 +19883,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19696 | cat conftest.err >&5 | 19883 | cat conftest.err >&5 |
| 19697 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19884 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19698 | (exit $ac_status); } && | 19885 | (exit $ac_status); } && |
| 19699 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 19886 | { ac_try='test -z "$ac_c_werror_flag" |
| 19887 | || test ! -s conftest.err' | ||
| 19700 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19888 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19701 | (eval $ac_try) 2>&5 | 19889 | (eval $ac_try) 2>&5 |
| 19702 | ac_status=$? | 19890 | ac_status=$? |
| @@ -19841,7 +20029,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19841 | cat conftest.err >&5 | 20029 | cat conftest.err >&5 |
| 19842 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20030 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19843 | (exit $ac_status); } && | 20031 | (exit $ac_status); } && |
| 19844 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20032 | { ac_try='test -z "$ac_c_werror_flag" |
| 20033 | || test ! -s conftest.err' | ||
| 19845 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20034 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19846 | (eval $ac_try) 2>&5 | 20035 | (eval $ac_try) 2>&5 |
| 19847 | ac_status=$? | 20036 | ac_status=$? |
| @@ -19997,7 +20186,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19997 | cat conftest.err >&5 | 20186 | cat conftest.err >&5 |
| 19998 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20187 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19999 | (exit $ac_status); } && | 20188 | (exit $ac_status); } && |
| 20000 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20189 | { ac_try='test -z "$ac_c_werror_flag" |
| 20190 | || test ! -s conftest.err' | ||
| 20001 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20191 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20002 | (eval $ac_try) 2>&5 | 20192 | (eval $ac_try) 2>&5 |
| 20003 | ac_status=$? | 20193 | ac_status=$? |
| @@ -20168,7 +20358,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20168 | cat conftest.err >&5 | 20358 | cat conftest.err >&5 |
| 20169 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20359 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20170 | (exit $ac_status); } && | 20360 | (exit $ac_status); } && |
| 20171 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20361 | { ac_try='test -z "$ac_c_werror_flag" |
| 20362 | || test ! -s conftest.err' | ||
| 20172 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20363 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20173 | (eval $ac_try) 2>&5 | 20364 | (eval $ac_try) 2>&5 |
| 20174 | ac_status=$? | 20365 | ac_status=$? |
| @@ -20236,7 +20427,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20236 | cat conftest.err >&5 | 20427 | cat conftest.err >&5 |
| 20237 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20428 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20238 | (exit $ac_status); } && | 20429 | (exit $ac_status); } && |
| 20239 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20430 | { ac_try='test -z "$ac_c_werror_flag" |
| 20431 | || test ! -s conftest.err' | ||
| 20240 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20432 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20241 | (eval $ac_try) 2>&5 | 20433 | (eval $ac_try) 2>&5 |
| 20242 | ac_status=$? | 20434 | ac_status=$? |
| @@ -20421,7 +20613,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 20421 | cat conftest.err >&5 | 20613 | cat conftest.err >&5 |
| 20422 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20614 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20423 | (exit $ac_status); } && | 20615 | (exit $ac_status); } && |
| 20424 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20616 | { ac_try='test -z "$ac_c_werror_flag" |
| 20617 | || test ! -s conftest.err' | ||
| 20425 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20618 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20426 | (eval $ac_try) 2>&5 | 20619 | (eval $ac_try) 2>&5 |
| 20427 | ac_status=$? | 20620 | ac_status=$? |
| @@ -20714,7 +20907,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 20714 | cat conftest.err >&5 | 20907 | cat conftest.err >&5 |
| 20715 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20908 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20716 | (exit $ac_status); } && | 20909 | (exit $ac_status); } && |
| 20717 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20910 | { ac_try='test -z "$ac_c_werror_flag" |
| 20911 | || test ! -s conftest.err' | ||
| 20718 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20912 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20719 | (eval $ac_try) 2>&5 | 20913 | (eval $ac_try) 2>&5 |
| 20720 | ac_status=$? | 20914 | ac_status=$? |
| @@ -20779,7 +20973,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20779 | cat conftest.err >&5 | 20973 | cat conftest.err >&5 |
| 20780 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20974 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20781 | (exit $ac_status); } && | 20975 | (exit $ac_status); } && |
| 20782 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 20976 | { ac_try='test -z "$ac_c_werror_flag" |
| 20977 | || test ! -s conftest.err' | ||
| 20783 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20978 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20784 | (eval $ac_try) 2>&5 | 20979 | (eval $ac_try) 2>&5 |
| 20785 | ac_status=$? | 20980 | ac_status=$? |
| @@ -20842,7 +21037,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20842 | cat conftest.err >&5 | 21037 | cat conftest.err >&5 |
| 20843 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21038 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20844 | (exit $ac_status); } && | 21039 | (exit $ac_status); } && |
| 20845 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 21040 | { ac_try='test -z "$ac_c_werror_flag" |
| 21041 | || test ! -s conftest.err' | ||
| 20846 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21042 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20847 | (eval $ac_try) 2>&5 | 21043 | (eval $ac_try) 2>&5 |
| 20848 | ac_status=$? | 21044 | ac_status=$? |
| @@ -20908,7 +21104,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20908 | cat conftest.err >&5 | 21104 | cat conftest.err >&5 |
| 20909 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21105 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20910 | (exit $ac_status); } && | 21106 | (exit $ac_status); } && |
| 20911 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 21107 | { ac_try='test -z "$ac_c_werror_flag" |
| 21108 | || test ! -s conftest.err' | ||
| 20912 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21109 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20913 | (eval $ac_try) 2>&5 | 21110 | (eval $ac_try) 2>&5 |
| 20914 | ac_status=$? | 21111 | ac_status=$? |
| @@ -20949,7 +21146,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20949 | cat conftest.err >&5 | 21146 | cat conftest.err >&5 |
| 20950 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21147 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20951 | (exit $ac_status); } && | 21148 | (exit $ac_status); } && |
| 20952 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 21149 | { ac_try='test -z "$ac_c_werror_flag" |
| 21150 | || test ! -s conftest.err' | ||
| 20953 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21151 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20954 | (eval $ac_try) 2>&5 | 21152 | (eval $ac_try) 2>&5 |
| 20955 | ac_status=$? | 21153 | ac_status=$? |
| @@ -21016,7 +21214,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21016 | cat conftest.err >&5 | 21214 | cat conftest.err >&5 |
| 21017 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21215 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21018 | (exit $ac_status); } && | 21216 | (exit $ac_status); } && |
| 21019 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | 21217 | { ac_try='test -z "$ac_c_werror_flag" |
| 21218 | || test ! -s conftest.err' | ||
| 21020 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21219 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21021 | (eval $ac_try) 2>&5 | 21220 | (eval $ac_try) 2>&5 |
| 21022 | ac_status=$? | 21221 | ac_status=$? |
| @@ -21234,6 +21433,29 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}" | |||
| 21234 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" | 21433 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" |
| 21235 | echo | 21434 | echo |
| 21236 | 21435 | ||
| 21436 | if test "$emacs_cv_randomheap" = warn; then | ||
| 21437 | { echo "$as_me:$LINENO: WARNING: | ||
| 21438 | ********************************************************************** | ||
| 21439 | |||
| 21440 | Heap start address is randomized and no workaround is known. | ||
| 21441 | Emacs will probably dump core when temacs is run in the build phase. | ||
| 21442 | Maybe exec-shield is turned on. Read about exec-shield in \`etc/PROBLEMS' | ||
| 21443 | for further information. | ||
| 21444 | |||
| 21445 | ********************************************************************** | ||
| 21446 | " >&5 | ||
| 21447 | echo "$as_me: WARNING: | ||
| 21448 | ********************************************************************** | ||
| 21449 | |||
| 21450 | Heap start address is randomized and no workaround is known. | ||
| 21451 | Emacs will probably dump core when temacs is run in the build phase. | ||
| 21452 | Maybe exec-shield is turned on. Read about exec-shield in \`etc/PROBLEMS' | ||
| 21453 | for further information. | ||
| 21454 | |||
| 21455 | ********************************************************************** | ||
| 21456 | " >&2;} | ||
| 21457 | fi | ||
| 21458 | |||
| 21237 | # Remove any trailing slashes in these variables. | 21459 | # Remove any trailing slashes in these variables. |
| 21238 | test "${prefix}" != NONE && | 21460 | test "${prefix}" != NONE && |
| 21239 | prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` | 21461 | prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` |
| @@ -21921,8 +22143,8 @@ s,@RANLIB@,$RANLIB,;t t | |||
| 21921 | s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t | 22143 | s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t |
| 21922 | s,@INSTALL_INFO@,$INSTALL_INFO,;t t | 22144 | s,@INSTALL_INFO@,$INSTALL_INFO,;t t |
| 21923 | s,@EGREP@,$EGREP,;t t | 22145 | s,@EGREP@,$EGREP,;t t |
| 21924 | s,@SETARCH@,$SETARCH,;t t | ||
| 21925 | s,@LIBSOUND@,$LIBSOUND,;t t | 22146 | s,@LIBSOUND@,$LIBSOUND,;t t |
| 22147 | s,@SETARCH@,$SETARCH,;t t | ||
| 21926 | s,@SET_MAKE@,$SET_MAKE,;t t | 22148 | s,@SET_MAKE@,$SET_MAKE,;t t |
| 21927 | s,@PKG_CONFIG@,$PKG_CONFIG,;t t | 22149 | s,@PKG_CONFIG@,$PKG_CONFIG,;t t |
| 21928 | s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t | 22150 | s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t |
| @@ -22123,6 +22345,11 @@ esac | |||
| 22123 | *) ac_INSTALL=$ac_top_builddir$INSTALL ;; | 22345 | *) ac_INSTALL=$ac_top_builddir$INSTALL ;; |
| 22124 | esac | 22346 | esac |
| 22125 | 22347 | ||
| 22348 | if test x"$ac_file" != x-; then | ||
| 22349 | { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 22350 | echo "$as_me: creating $ac_file" >&6;} | ||
| 22351 | rm -f "$ac_file" | ||
| 22352 | fi | ||
| 22126 | # Let's still pretend it is `configure' which instantiates (i.e., don't | 22353 | # Let's still pretend it is `configure' which instantiates (i.e., don't |
| 22127 | # use $as_me), people would be surprised to read: | 22354 | # use $as_me), people would be surprised to read: |
| 22128 | # /* config.h. Generated by config.status. */ | 22355 | # /* config.h. Generated by config.status. */ |
| @@ -22161,12 +22388,6 @@ echo "$as_me: error: cannot find input file: $f" >&2;} | |||
| 22161 | fi;; | 22388 | fi;; |
| 22162 | esac | 22389 | esac |
| 22163 | done` || { (exit 1); exit 1; } | 22390 | done` || { (exit 1); exit 1; } |
| 22164 | |||
| 22165 | if test x"$ac_file" != x-; then | ||
| 22166 | { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 22167 | echo "$as_me: creating $ac_file" >&6;} | ||
| 22168 | rm -f "$ac_file" | ||
| 22169 | fi | ||
| 22170 | _ACEOF | 22391 | _ACEOF |
| 22171 | cat >>$CONFIG_STATUS <<_ACEOF | 22392 | cat >>$CONFIG_STATUS <<_ACEOF |
| 22172 | sed "$ac_vpsub | 22393 | sed "$ac_vpsub |
diff --git a/configure.in b/configure.in index 1f899a0808c..4e534a53485 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1286,25 +1286,6 @@ AC_LINK_IFELSE([main(){return 0;}], | |||
| 1286 | dnl checks for Unix variants | 1286 | dnl checks for Unix variants |
| 1287 | AC_AIX | 1287 | AC_AIX |
| 1288 | 1288 | ||
| 1289 | dnl check if exec-shield is present. | ||
| 1290 | AC_CHECK_FILE(/proc/sys/kernel/exec-shield, emacs_cv_execshield=1, | ||
| 1291 | emacs_cv_execshield=0) | ||
| 1292 | if test "$emacs_cv_execshield" = 1; then | ||
| 1293 | AC_PATH_PROG(SETARCH, setarch, no) | ||
| 1294 | AC_SUBST(SETARCH) | ||
| 1295 | if test "$SETARCH" != no && test "$machine" = "intel386"; then | ||
| 1296 | AC_DEFINE(HAVE_EXECSHIELD, 1, | ||
| 1297 | [Define to 1 if this OS has exec shield and we can handle it.]) | ||
| 1298 | else | ||
| 1299 | case "`cat /proc/sys/kernel/exec-shield`" in | ||
| 1300 | 0) ;; | ||
| 1301 | *) | ||
| 1302 | AC_MSG_ERROR([Exec-shield is turned on. | ||
| 1303 | Emacs can not dump itself if exec-shield is turned on. | ||
| 1304 | See `etc/PROBLEMS' for further information.]) | ||
| 1305 | esac | ||
| 1306 | fi | ||
| 1307 | fi | ||
| 1308 | 1289 | ||
| 1309 | #### Extract some information from the operating system and machine files. | 1290 | #### Extract some information from the operating system and machine files. |
| 1310 | 1291 | ||
| @@ -1591,6 +1572,53 @@ AH_TEMPLATE(POINTER_TYPE, | |||
| 1591 | [Define as `void' if your compiler accepts `void *'; otherwise | 1572 | [Define as `void' if your compiler accepts `void *'; otherwise |
| 1592 | define as `char'.])dnl | 1573 | define as `char'.])dnl |
| 1593 | 1574 | ||
| 1575 | dnl Test if heap start address is randomized (exec-shield does this). | ||
| 1576 | dnl The test program requires unistd.h and stdlib.h. They are present | ||
| 1577 | dnl on the systems that currently have exec-shield. | ||
| 1578 | AC_MSG_CHECKING(whether heap start address is randomized) | ||
| 1579 | if test x"$ac_cv_header_unistd_h" != x && test x"$ac_cv_header_stdlib_h" != x | ||
| 1580 | then | ||
| 1581 | AC_TRY_RUN([#include <stdio.h> | ||
| 1582 | #include <unistd.h> | ||
| 1583 | #include <stdlib.h> | ||
| 1584 | int main (int argc, char *argv[]) | ||
| 1585 | { | ||
| 1586 | unsigned long old_sbrk = 0; | ||
| 1587 | unsigned long this_sbrk = (unsigned long) sbrk(0); | ||
| 1588 | int nr = 1; | ||
| 1589 | if (argc != 1) { | ||
| 1590 | old_sbrk = strtoul (argv[1], 0, 0); | ||
| 1591 | nr = atoi (argv[2])+1; | ||
| 1592 | } | ||
| 1593 | if (argc == 1 || (old_sbrk == this_sbrk && nr < 3)) | ||
| 1594 | { | ||
| 1595 | char buf1[32], buf2[32]; | ||
| 1596 | sprintf (buf1, "%lu", this_sbrk); | ||
| 1597 | sprintf (buf2, "%d", nr); | ||
| 1598 | execl (argv[0], argv[0], buf1, buf2, 0); | ||
| 1599 | exit (-1); | ||
| 1600 | } | ||
| 1601 | exit (this_sbrk == old_sbrk); | ||
| 1602 | }], emacs_cv_randomheap=yes, emacs_cv_randomheap=no, | ||
| 1603 | emacs_cv_randomheap='assuming no') | ||
| 1604 | else | ||
| 1605 | emacs_cv_randomheap='assuming no' | ||
| 1606 | fi | ||
| 1607 | AC_MSG_RESULT($emacs_cv_randomheap) | ||
| 1608 | |||
| 1609 | if test "$emacs_cv_randomheap" = yes; then | ||
| 1610 | AC_PATH_PROG(SETARCH, setarch, no) | ||
| 1611 | AC_SUBST(SETARCH) | ||
| 1612 | if test "$SETARCH" != no && test "$machine" = "intel386"; then | ||
| 1613 | AC_DEFINE(HAVE_RANDOM_HEAPSTART, 1, | ||
| 1614 | [Define to 1 if this OS randomizes the start address of the heap.]) | ||
| 1615 | else | ||
| 1616 | dnl We do the warning at the end of the configure run so it is seen. | ||
| 1617 | emacs_cv_randomheap=warn | ||
| 1618 | fi | ||
| 1619 | fi | ||
| 1620 | |||
| 1621 | |||
| 1594 | dnl This could be used for targets which can have both byte sexes. | 1622 | dnl This could be used for targets which can have both byte sexes. |
| 1595 | dnl We could presumably replace the hardwired WORDS_BIG_ENDIAN generally. | 1623 | dnl We could presumably replace the hardwired WORDS_BIG_ENDIAN generally. |
| 1596 | dnl AC_C_BIGENDIAN | 1624 | dnl AC_C_BIGENDIAN |
| @@ -3058,6 +3086,19 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}" | |||
| 3058 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" | 3086 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" |
| 3059 | echo | 3087 | echo |
| 3060 | 3088 | ||
| 3089 | if test "$emacs_cv_randomheap" = warn; then | ||
| 3090 | AC_MSG_WARN([ | ||
| 3091 | ********************************************************************** | ||
| 3092 | |||
| 3093 | Heap start address is randomized and no workaround is known. | ||
| 3094 | Emacs will probably dump core when temacs is run in the build phase. | ||
| 3095 | Maybe exec-shield is turned on. Read about exec-shield in `etc/PROBLEMS' | ||
| 3096 | for further information. | ||
| 3097 | |||
| 3098 | ********************************************************************** | ||
| 3099 | ]) | ||
| 3100 | fi | ||
| 3101 | |||
| 3061 | # Remove any trailing slashes in these variables. | 3102 | # Remove any trailing slashes in these variables. |
| 3062 | [test "${prefix}" != NONE && | 3103 | [test "${prefix}" != NONE && |
| 3063 | prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` | 3104 | prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 981fd88ba3a..e410e315417 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2004-10-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * enriched.doc: Update for new bindings of `set-left-margin' and | ||
| 4 | `set-right-margin'. | ||
| 5 | |||
| 6 | 2004-10-04 Kim F. Storm <storm@cua.dk> | ||
| 7 | |||
| 8 | * DEBUG: Mention pp and ff commands. | ||
| 9 | |||
| 1 | 2004-09-26 Luc Teirlinck <teirllm@auburn.edu> | 10 | 2004-09-26 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 11 | ||
| 3 | * enriched.doc: `enriched-annotation-alist' is now called | 12 | * enriched.doc: `enriched-annotation-alist' is now called |
| @@ -69,9 +69,11 @@ fatal error, you can use the GDB command `pr'. First print the value | |||
| 69 | in the ordinary way, with the `p' command. Then type `pr' with no | 69 | in the ordinary way, with the `p' command. Then type `pr' with no |
| 70 | arguments. This calls a subroutine which uses the Lisp printer. | 70 | arguments. This calls a subroutine which uses the Lisp printer. |
| 71 | 71 | ||
| 72 | Note: It is not a good idea to try `pr' if you know that Emacs is in | 72 | You can also use `pp value' to print the emacs value directly. |
| 73 | deep trouble: its stack smashed (e.g., if it encountered SIGSEGV due | 73 | |
| 74 | to stack overflow), or crucial data structures, such as `obarray', | 74 | Note: It is not a good idea to try `pr' or `pp' if you know that Emacs |
| 75 | is in deep trouble: its stack smashed (e.g., if it encountered SIGSEGV | ||
| 76 | due to stack overflow), or crucial data structures, such as `obarray', | ||
| 75 | corrupted, etc. In such cases, the Emacs subroutine called by `pr' | 77 | corrupted, etc. In such cases, the Emacs subroutine called by `pr' |
| 76 | might make more damage, like overwrite some data that is important for | 78 | might make more damage, like overwrite some data that is important for |
| 77 | debugging the original problem. | 79 | debugging the original problem. |
| @@ -442,6 +444,9 @@ Several more functions for debugging display code are available in | |||
| 442 | Emacs compiled with GLYPH_DEBUG defined; type "C-h f dump- TAB" and | 444 | Emacs compiled with GLYPH_DEBUG defined; type "C-h f dump- TAB" and |
| 443 | "C-h f trace- TAB" to see the full list. | 445 | "C-h f trace- TAB" to see the full list. |
| 444 | 446 | ||
| 447 | When you debug display problems running emacs under X, you can use | ||
| 448 | the `ff' command to flush all pending display updates to the screen. | ||
| 449 | |||
| 445 | 450 | ||
| 446 | ** Debugging LessTif | 451 | ** Debugging LessTif |
| 447 | 452 | ||
| @@ -99,6 +99,11 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | |||
| 99 | * Changes in Emacs 21.4 | 99 | * Changes in Emacs 21.4 |
| 100 | 100 | ||
| 101 | +++ | 101 | +++ |
| 102 | ** In Enriched mode, `set-left-margin' and `set-right-margin' are now | ||
| 103 | by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | ||
| 104 | and `C-c C-r'. | ||
| 105 | |||
| 106 | +++ | ||
| 102 | ** In processing a local variables list, Emacs strips the prefix and | 107 | ** In processing a local variables list, Emacs strips the prefix and |
| 103 | suffix are from every line before processing all the lines. | 108 | suffix are from every line before processing all the lines. |
| 104 | 109 | ||
| @@ -1391,6 +1396,10 @@ controls whether or not the function `make-auto-save-file-name' will | |||
| 1391 | attempt to construct a unique auto-save name (e.g. for remote files). | 1396 | attempt to construct a unique auto-save name (e.g. for remote files). |
| 1392 | 1397 | ||
| 1393 | +++ | 1398 | +++ |
| 1399 | ** There is a new calendar package, icalendar.el, that can be used to | ||
| 1400 | convert Emacs diary entries to/from the iCalendar format. | ||
| 1401 | |||
| 1402 | +++ | ||
| 1394 | ** Diary sexp entries can have custom marking in the calendar. | 1403 | ** Diary sexp entries can have custom marking in the calendar. |
| 1395 | Diary sexp functions which only apply to certain days (such as | 1404 | Diary sexp functions which only apply to certain days (such as |
| 1396 | `diary-block' or `diary-cyclic') now take an optional parameter MARK, | 1405 | `diary-block' or `diary-cyclic') now take an optional parameter MARK, |
| @@ -1406,6 +1415,11 @@ appointments, paydays or anything else using a sexp. | |||
| 1406 | year and day number, and moves to that date. Negative day numbers | 1415 | year and day number, and moves to that date. Negative day numbers |
| 1407 | count backward from the end of the year. | 1416 | count backward from the end of the year. |
| 1408 | 1417 | ||
| 1418 | +++ | ||
| 1419 | ** The new Calendar function `calendar-goto-iso-week' (g w) | ||
| 1420 | prompts for a year and a week number, and moves to the first | ||
| 1421 | day of that ISO week. | ||
| 1422 | |||
| 1409 | --- | 1423 | --- |
| 1410 | ** The functions `holiday-easter-etc' and `holiday-advent' now take | 1424 | ** The functions `holiday-easter-etc' and `holiday-advent' now take |
| 1411 | arguments, and only report on the specified holiday rather than all. | 1425 | arguments, and only report on the specified holiday rather than all. |
| @@ -2483,9 +2497,8 @@ symbol identifying a fringe bitmap, either built-in or defined with | |||
| 2483 | `define-fringe-bitmap', and FACE is an optional face name to be used | 2497 | `define-fringe-bitmap', and FACE is an optional face name to be used |
| 2484 | for displaying the bitmap. | 2498 | for displaying the bitmap. |
| 2485 | 2499 | ||
| 2486 | *** New function `fringe-bitmaps-at-pos' returns a cons (LEFT . RIGHT) | 2500 | *** New function `fringe-bitmaps-at-pos' returns the current fringe |
| 2487 | identifying the current fringe bitmaps in the display line at a given | 2501 | bitmaps in the display line at a given buffer position. |
| 2488 | buffer position. A nil value means no bitmap. | ||
| 2489 | 2502 | ||
| 2490 | ** Multiple overlay arrows can now be defined and managed via the new | 2503 | ** Multiple overlay arrows can now be defined and managed via the new |
| 2491 | variable `overlay-arrow-variable-list'. It contains a list of | 2504 | variable `overlay-arrow-variable-list'. It contains a list of |
diff --git a/etc/enriched.doc b/etc/enriched.doc index 55e11004f05..122652f005a 100644 --- a/etc/enriched.doc +++ b/etc/enriched.doc | |||
| @@ -98,8 +98,8 @@ direct request, such as using the return key or the <fixed>C-o | |||
| 98 | <indent>The fill functions also understand margins, which can be set for | 98 | <indent>The fill functions also understand margins, which can be set for |
| 99 | any region of a document. In addition to the menu items, which | 99 | any region of a document. In addition to the menu items, which |
| 100 | increase or decrease the margins, there are two commands for | 100 | increase or decrease the margins, there are two commands for |
| 101 | setting the margins absolutely: <fixed>C-c C-l (set-left-margin)</fixed> and <fixed>C-c | 101 | setting the margins absolutely: <fixed>C-c [ (set-left-margin)</fixed> and <fixed>C-c |
| 102 | C-r (set-right-margin)</fixed>. | 102 | ] (set-right-margin)</fixed>. |
| 103 | 103 | ||
| 104 | 104 | ||
| 105 | You <indent>can change indentation at any point in a paragraph, which | 105 | You <indent>can change indentation at any point in a paragraph, which |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dd26fb647bc..ceb72e1eebb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,69 @@ | |||
| 1 | 2004-10-06 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * progmodes/gdb-ui.el (gdb-ann3): (Re-)initialise gdb-input-queue. | ||
| 4 | |||
| 5 | 2004-10-06 John Paul Wallington <jpw@gnu.org> | ||
| 6 | |||
| 7 | * xml.el (xml-parse-dtd): Fix `error' call. | ||
| 8 | |||
| 9 | 2004-10-05 Mark A. Hershberger <mah@everybody.org> | ||
| 10 | |||
| 11 | * xml.el (xml-substitute-special): Return a single string instead | ||
| 12 | of a list of strings if an entity substitution is made. | ||
| 13 | |||
| 14 | 2004-10-05 Ulf Jasper <ulf.jasper@web.de> | ||
| 15 | |||
| 16 | * calendar/icalendar.el: New file. | ||
| 17 | |||
| 18 | 2004-10-05 Juri Linkov <juri@jurta.org> | ||
| 19 | |||
| 20 | * isearch.el (isearch-done): Set mark after running hook. | ||
| 21 | Suggested by Drew Adams <drew.adams@oracle.com>. | ||
| 22 | |||
| 23 | * info.el (Info-history, Info-toc): Fix Info headers. | ||
| 24 | (Info-toc): Narrow buffer before Info-fontify-node. | ||
| 25 | (Info-build-toc): Don't check for special Info file names. | ||
| 26 | Set main-file to nil if Info-find-file returns a symbol. | ||
| 27 | |||
| 28 | 2004-10-05 Emilio C. Lopes <eclig@gmx.net>: | ||
| 29 | |||
| 30 | * calendar/calendar.el (calendar-goto-iso-week): Add autoload. | ||
| 31 | (calendar-mode-map): Add binding for `calendar-goto-iso-week'. | ||
| 32 | * calendar/cal-menu.el (calendar-mode-map): Ditto. | ||
| 33 | |||
| 34 | 2004-10-05 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 35 | |||
| 36 | * calendar/cal-iso.el (calendar-iso-read-args): New function, | ||
| 37 | for old interactive spec from calendar-goto-iso-date. | ||
| 38 | (calendar-goto-iso-date): Use it. | ||
| 39 | (calendar-goto-iso-week): New function. Suggested by Emilio | ||
| 40 | C. Lopes <eclig@gmx.net>. | ||
| 41 | |||
| 42 | 2004-10-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 43 | |||
| 44 | * textmodes/enriched.el (enriched-mode-map): Give | ||
| 45 | `set-left-margin' and `set-right-margin' bindings that follow the | ||
| 46 | minor mode conventions. | ||
| 47 | |||
| 48 | 2004-10-03 Stefan <monnier@iro.umontreal.ca> | ||
| 49 | |||
| 50 | * textmodes/tex-mode.el (tex-dvi-view-command): Use `yap' on w32. | ||
| 51 | (tex-font-lock-keywords-1): Add url and nolinkurl for args with `_'. | ||
| 52 | (latex-block-args-alist): Add minipage and picture. | ||
| 53 | (latex-block-body-alist): Use reftex-label if enabled. | ||
| 54 | (latex-insert-block): Don't insert a \n if not necessary. | ||
| 55 | (tex-compile-commands): Make sure dvips doesn't send to printer. | ||
| 56 | (tex-compile-default): Handle the case where no executable is found. | ||
| 57 | (latex-noindent-environments): New var. | ||
| 58 | (latex-find-indent): Use it. Take an empty line as an arg-breaker. | ||
| 59 | If tex-indent-allhanging is non-nil, make sure we only align for macros | ||
| 60 | at beginning of line. | ||
| 61 | |||
| 62 | 2004-10-03 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 63 | |||
| 64 | * newcomment.el (comment-beginning): Doc fix and don't choke on | ||
| 65 | unset `comment-end-skip' when at beginning of comment. | ||
| 66 | |||
| 1 | 2004-10-02 Dan Nicolaescu <dann@ics.uci.edu> | 67 | 2004-10-02 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 68 | ||
| 3 | * term.el (term-adjust-current-row-cache): Don't allow the current | 69 | * term.el (term-adjust-current-row-cache): Don't allow the current |
| @@ -5,9 +71,8 @@ | |||
| 5 | (term-emulate-terminal): Fix insert mode. Handle tab insertion at | 71 | (term-emulate-terminal): Fix insert mode. Handle tab insertion at |
| 6 | the end of the line. Fix scroll down. Add comments. | 72 | the end of the line. Fix scroll down. Add comments. |
| 7 | (term-handle-ansi-escape): Don't exceed terminal width when moving | 73 | (term-handle-ansi-escape): Don't exceed terminal width when moving |
| 8 | right. | 74 | right. |
| 9 | (term-scroll-region): Move the cursor after setting the scroll | 75 | (term-scroll-region): Move the cursor after setting the scroll region. |
| 10 | region. | ||
| 11 | 76 | ||
| 12 | 2004-10-01 Luc Teirlinck <teirllm@auburn.edu> | 77 | 2004-10-01 Luc Teirlinck <teirllm@auburn.edu> |
| 13 | 78 | ||
| @@ -33,8 +98,8 @@ | |||
| 33 | 98 | ||
| 34 | 2004-09-29 Luc Teirlinck <teirllm@auburn.edu> | 99 | 2004-09-29 Luc Teirlinck <teirllm@auburn.edu> |
| 35 | 100 | ||
| 36 | * textmodes/paragraphs.el (forward-paragraph): Avoid | 101 | * textmodes/paragraphs.el (forward-paragraph): |
| 37 | args-out-of-range error when point winds up at the beginning of | 102 | Avoid args-out-of-range error when point winds up at the beginning of |
| 38 | the buffer and hard newlines are enabled. | 103 | the buffer and hard newlines are enabled. |
| 39 | 104 | ||
| 40 | * newcomment.el (comment-multi-line): Doc fix. | 105 | * newcomment.el (comment-multi-line): Doc fix. |
diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el index 0d9ad45c7d6..058bdf071d7 100644 --- a/lisp/calendar/cal-iso.el +++ b/lisp/calendar/cal-iso.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; cal-iso.el --- calendar functions for the ISO calendar | 1 | ;;; cal-iso.el --- calendar functions for the ISO calendar |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1997 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1995, 1997, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> | 5 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> |
| 6 | ;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 6 | ;; Keywords: calendar | 7 | ;; Keywords: calendar |
| 7 | ;; Human-Keywords: ISO calendar, calendar, diary | 8 | ;; Human-Keywords: ISO calendar, calendar, diary |
| 8 | 9 | ||
| @@ -96,27 +97,39 @@ Defaults to today's date if DATE is not given." | |||
| 96 | (message "ISO date: %s" | 97 | (message "ISO date: %s" |
| 97 | (calendar-iso-date-string (calendar-cursor-to-date t)))) | 98 | (calendar-iso-date-string (calendar-cursor-to-date t)))) |
| 98 | 99 | ||
| 100 | (defun calendar-iso-read-args (&optional dayflag) | ||
| 101 | "Interactively read the arguments for an iso date command." | ||
| 102 | (let* ((today (calendar-current-date)) | ||
| 103 | (year (calendar-read | ||
| 104 | "ISO calendar year (>0): " | ||
| 105 | '(lambda (x) (> x 0)) | ||
| 106 | (int-to-string (extract-calendar-year today)))) | ||
| 107 | (no-weeks (extract-calendar-month | ||
| 108 | (calendar-iso-from-absolute | ||
| 109 | (1- | ||
| 110 | (calendar-dayname-on-or-before | ||
| 111 | 1 (calendar-absolute-from-gregorian | ||
| 112 | (list 1 4 (1+ year)))))))) | ||
| 113 | (week (calendar-read | ||
| 114 | (format "ISO calendar week (1-%d): " no-weeks) | ||
| 115 | '(lambda (x) (and (> x 0) (<= x no-weeks))))) | ||
| 116 | (day (if dayflag (calendar-read | ||
| 117 | "ISO day (1-7): " | ||
| 118 | '(lambda (x) (and (<= 1 x) (<= x 7)))) | ||
| 119 | 1))) | ||
| 120 | (list (list week day year)))) | ||
| 121 | |||
| 99 | (defun calendar-goto-iso-date (date &optional noecho) | 122 | (defun calendar-goto-iso-date (date &optional noecho) |
| 100 | "Move cursor to ISO DATE; echo ISO date unless NOECHO is t." | 123 | "Move cursor to ISO DATE; echo ISO date unless NOECHO is t." |
| 101 | (interactive | 124 | (interactive (calendar-iso-read-args t)) |
| 102 | (let* ((today (calendar-current-date)) | 125 | (calendar-goto-date (calendar-gregorian-from-absolute |
| 103 | (year (calendar-read | 126 | (calendar-absolute-from-iso date))) |
| 104 | "ISO calendar year (>0): " | 127 | (or noecho (calendar-print-iso-date))) |
| 105 | '(lambda (x) (> x 0)) | 128 | |
| 106 | (int-to-string (extract-calendar-year today)))) | 129 | (defun calendar-goto-iso-week (date &optional noecho) |
| 107 | (no-weeks (extract-calendar-month | 130 | "Move cursor to ISO DATE; echo ISO date unless NOECHO is t. |
| 108 | (calendar-iso-from-absolute | 131 | Interactively, goes to the first day of the specified week." |
| 109 | (1- | 132 | (interactive (calendar-iso-read-args)) |
| 110 | (calendar-dayname-on-or-before | ||
| 111 | 1 (calendar-absolute-from-gregorian | ||
| 112 | (list 1 4 (1+ year)))))))) | ||
| 113 | (week (calendar-read | ||
| 114 | (format "ISO calendar week (1-%d): " no-weeks) | ||
| 115 | '(lambda (x) (and (> x 0) (<= x no-weeks))))) | ||
| 116 | (day (calendar-read | ||
| 117 | "ISO day (1-7): " | ||
| 118 | '(lambda (x) (and (<= 1 x) (<= x 7)))))) | ||
| 119 | (list (list week day year)))) | ||
| 120 | (calendar-goto-date (calendar-gregorian-from-absolute | 133 | (calendar-goto-date (calendar-gregorian-from-absolute |
| 121 | (calendar-absolute-from-iso date))) | 134 | (calendar-absolute-from-iso date))) |
| 122 | (or noecho (calendar-print-iso-date))) | 135 | (or noecho (calendar-print-iso-date))) |
diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el index a652e7ca768..ceb4c56f7fd 100644 --- a/lisp/calendar/cal-menu.el +++ b/lisp/calendar/cal-menu.el | |||
| @@ -1,9 +1,10 @@ | |||
| 1 | ;;; cal-menu.el --- calendar functions for menu bar and popup menu support | 1 | ;;; cal-menu.el --- calendar functions for menu bar and popup menu support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 1995, 2001, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 1995, 2001, 2003, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> | 5 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> |
| 6 | ;; Lara Rios <lrios@coewl.cen.uiuc.edu> | 6 | ;; Lara Rios <lrios@coewl.cen.uiuc.edu> |
| 7 | ;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 7 | ;; Keywords: calendar | 8 | ;; Keywords: calendar |
| 8 | ;; Human-Keywords: calendar, popup menus, menu bar | 9 | ;; Human-Keywords: calendar, popup menus, menu bar |
| 9 | 10 | ||
| @@ -121,6 +122,8 @@ | |||
| 121 | '("Astronomical Date" . calendar-goto-astro-day-number)) | 122 | '("Astronomical Date" . calendar-goto-astro-day-number)) |
| 122 | (define-key calendar-mode-map [menu-bar goto iso] | 123 | (define-key calendar-mode-map [menu-bar goto iso] |
| 123 | '("ISO Date" . calendar-goto-iso-date)) | 124 | '("ISO Date" . calendar-goto-iso-date)) |
| 125 | (define-key calendar-mode-map [menu-bar goto iso-week] | ||
| 126 | '("ISO Week" . calendar-goto-iso-week)) | ||
| 124 | (define-key calendar-mode-map [menu-bar goto day-of-year] | 127 | (define-key calendar-mode-map [menu-bar goto day-of-year] |
| 125 | '("Day of Year" . calendar-goto-day-of-year)) | 128 | '("Day of Year" . calendar-goto-day-of-year)) |
| 126 | (define-key calendar-mode-map [menu-bar goto gregorian] | 129 | (define-key calendar-mode-map [menu-bar goto gregorian] |
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 9d38cde21ce..aa0b3005fad 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el | |||
| @@ -1769,6 +1769,10 @@ Driven by the variable `calendar-date-display-form'.") | |||
| 1769 | "Move cursor to ISO date." | 1769 | "Move cursor to ISO date." |
| 1770 | t) | 1770 | t) |
| 1771 | 1771 | ||
| 1772 | (autoload 'calendar-goto-iso-week "cal-iso" | ||
| 1773 | "Move cursor to start of ISO week." | ||
| 1774 | t) | ||
| 1775 | |||
| 1772 | (autoload 'calendar-print-iso-date "cal-iso" | 1776 | (autoload 'calendar-print-iso-date "cal-iso" |
| 1773 | "Show the ISO date equivalents of date." | 1777 | "Show the ISO date equivalents of date." |
| 1774 | t) | 1778 | t) |
| @@ -2204,6 +2208,7 @@ the inserted text. Value is always t." | |||
| 2204 | (define-key calendar-mode-map "ge" 'calendar-goto-ethiopic-date) | 2208 | (define-key calendar-mode-map "ge" 'calendar-goto-ethiopic-date) |
| 2205 | (define-key calendar-mode-map "gp" 'calendar-goto-persian-date) | 2209 | (define-key calendar-mode-map "gp" 'calendar-goto-persian-date) |
| 2206 | (define-key calendar-mode-map "gc" 'calendar-goto-iso-date) | 2210 | (define-key calendar-mode-map "gc" 'calendar-goto-iso-date) |
| 2211 | (define-key calendar-mode-map "gw" 'calendar-goto-iso-week) | ||
| 2207 | (define-key calendar-mode-map "gf" 'calendar-goto-french-date) | 2212 | (define-key calendar-mode-map "gf" 'calendar-goto-french-date) |
| 2208 | (define-key calendar-mode-map "gml" 'calendar-goto-mayan-long-count-date) | 2213 | (define-key calendar-mode-map "gml" 'calendar-goto-mayan-long-count-date) |
| 2209 | (define-key calendar-mode-map "gmpc" 'calendar-previous-calendar-round-date) | 2214 | (define-key calendar-mode-map "gmpc" 'calendar-previous-calendar-round-date) |
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el new file mode 100644 index 00000000000..e83e8e980b6 --- /dev/null +++ b/lisp/calendar/icalendar.el | |||
| @@ -0,0 +1,1299 @@ | |||
| 1 | ;;; icalendar.el --- iCalendar implementation | ||
| 2 | |||
| 3 | ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Ulf Jasper <ulf.jasper@web.de> | ||
| 6 | ;; Created: August 2002 | ||
| 7 | ;; Keywords: calendar | ||
| 8 | ;; Human-Keywords: calendar, diary, iCalendar, vCalendar | ||
| 9 | |||
| 10 | ;; This file is part of GNU Emacs. | ||
| 11 | |||
| 12 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 13 | ;; it under the terms of the GNU General Public License as published by | ||
| 14 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 15 | ;; any later version. | ||
| 16 | |||
| 17 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 20 | ;; GNU General Public License for more details. | ||
| 21 | |||
| 22 | ;; You should have received a copy of the GNU General Public License | ||
| 23 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 24 | ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
| 25 | ;; Boston, MA 02111-1307, USA. | ||
| 26 | |||
| 27 | ;;; Commentary: | ||
| 28 | |||
| 29 | ;; This package is documented in the Emacs Manual. | ||
| 30 | |||
| 31 | |||
| 32 | ;;; History: | ||
| 33 | |||
| 34 | ;; 0.06 Bugfixes regarding icalendar-import-format-*. | ||
| 35 | ;; Fix in icalendar-convert-diary-to-ical -- thanks to Philipp Grau. | ||
| 36 | |||
| 37 | ;; 0.05: New import format scheme: Replaced icalendar-import-prefix-*, | ||
| 38 | ;; icalendar-import-ignored-properties, and | ||
| 39 | ;; icalendar-import-separator with icalendar-import-format(-*). | ||
| 40 | ;; icalendar-import-file and icalendar-convert-diary-to-ical | ||
| 41 | ;; have an extra parameter which should prevent them from | ||
| 42 | ;; erasing their target files (untested!). | ||
| 43 | ;; Tested with Emacs 21.3.2 | ||
| 44 | |||
| 45 | ;; 0.04: Bugfix: import: double quoted param values did not work | ||
| 46 | ;; Read DURATION property when importing. | ||
| 47 | ;; Added parameter icalendar-duration-correction. | ||
| 48 | |||
| 49 | ;; 0.03: Export takes care of european-calendar-style. | ||
| 50 | ;; Tested with Emacs 21.3.2 and XEmacs 21.4.12 | ||
| 51 | |||
| 52 | ;; 0.02: Should work in XEmacs now. Thanks to Len Trigg for the | ||
| 53 | ;; XEmacs patches! | ||
| 54 | ;; Added exporting from Emacs diary to ical. | ||
| 55 | ;; Some bugfixes, after testing with calendars from | ||
| 56 | ;; http://icalshare.com. | ||
| 57 | ;; Tested with Emacs 21.3.2 and XEmacs 21.4.12 | ||
| 58 | |||
| 59 | ;; 0.01: First published version. Trial version. Alpha version. | ||
| 60 | |||
| 61 | ;; ====================================================================== | ||
| 62 | ;; To Do: | ||
| 63 | |||
| 64 | ;; * Import from ical: | ||
| 65 | ;; + Need more properties for icalendar-import-format | ||
| 66 | ;; + check vcalendar version | ||
| 67 | ;; + check (unknown) elements | ||
| 68 | ;; + recurring events! | ||
| 69 | ;; + works for european style calendars only! Does it? | ||
| 70 | ;; + alarm | ||
| 71 | ;; + exceptions in recurring events | ||
| 72 | ;; + the parser is too soft | ||
| 73 | ;; + error log is incomplete | ||
| 74 | ;; + nice to have: #include "webcal://foo.com/some-calendar.ics" | ||
| 75 | |||
| 76 | ;; * Export into ical | ||
| 77 | ;; + diary-date, diary-float, and self-made sexp entries are not | ||
| 78 | ;; understood | ||
| 79 | ;; + timezones, currently all times are local! | ||
| 80 | |||
| 81 | ;; * Other things | ||
| 82 | ;; + defcustom icalendar-import-ignored-properties does not work with | ||
| 83 | ;; XEmacs. | ||
| 84 | ;; + clean up all those date/time parsing functions | ||
| 85 | ;; + Handle todo items? | ||
| 86 | ;; + Check iso 8601 for datetime and period | ||
| 87 | ;; + Which chars to (un)escape? | ||
| 88 | ;; + Time to find out how the profiler works? | ||
| 89 | |||
| 90 | |||
| 91 | ;;; Code: | ||
| 92 | |||
| 93 | (defconst icalendar-version 0.06 | ||
| 94 | "Version number of icalendar.el.") | ||
| 95 | |||
| 96 | ;; ====================================================================== | ||
| 97 | ;; Customizables | ||
| 98 | ;; ====================================================================== | ||
| 99 | (defgroup icalendar nil | ||
| 100 | "Icalendar support." | ||
| 101 | :prefix "icalendar-" | ||
| 102 | :group 'calendar) | ||
| 103 | |||
| 104 | (defcustom icalendar-import-format | ||
| 105 | "%s%d%l%o" | ||
| 106 | "Format string for importing events from iCalendar into Emacs diary. | ||
| 107 | This string defines how iCalendar events are inserted into diary | ||
| 108 | file. Meaning of the specifiers: | ||
| 109 | %d Description, see `icalendar-import-format-description' | ||
| 110 | %l Location, see `icalendar-import-format-location' | ||
| 111 | %o Organizer, see `icalendar-import-format-organizer' | ||
| 112 | %s Subject, see `icalendar-import-format-subject'" | ||
| 113 | :type 'string | ||
| 114 | :group 'icalendar) | ||
| 115 | |||
| 116 | (defcustom icalendar-import-format-subject | ||
| 117 | "%s" | ||
| 118 | "Format string defining how the subject element is formatted. | ||
| 119 | This applies only if the subject is not empty! `%s' is replaced | ||
| 120 | by the subject." | ||
| 121 | :type 'string | ||
| 122 | :group 'icalendar) | ||
| 123 | |||
| 124 | (defcustom icalendar-import-format-description | ||
| 125 | "\n Desc: %s" | ||
| 126 | "Format string defining how the description element is formatted. | ||
| 127 | This applies only if the description is not empty! `%s' is | ||
| 128 | replaced by the description." | ||
| 129 | :type 'string | ||
| 130 | :group 'icalendar) | ||
| 131 | |||
| 132 | (defcustom icalendar-import-format-location | ||
| 133 | "\n Location: %s" | ||
| 134 | "Format string defining how the location element is formatted. | ||
| 135 | This applies only if the location is not empty! `%s' is replaced | ||
| 136 | by the location." | ||
| 137 | :type 'string | ||
| 138 | :group 'icalendar) | ||
| 139 | |||
| 140 | (defcustom icalendar-import-format-organizer | ||
| 141 | "\n Organizer: %s" | ||
| 142 | "Format string defining how the organizer element is formatted. | ||
| 143 | This applies only if the organizer is not empty! `%s' is | ||
| 144 | replaced by the organizer." | ||
| 145 | :type 'string | ||
| 146 | :group 'icalendar) | ||
| 147 | |||
| 148 | (defcustom icalendar-duration-correction | ||
| 149 | t | ||
| 150 | "Workaround for all-day events. | ||
| 151 | If non-nil the length=duration of iCalendar appointments that | ||
| 152 | have a length of exactly n days is decreased by one day. This | ||
| 153 | fixes problems with all-day events, which appear to be one day | ||
| 154 | longer than they are." | ||
| 155 | :type 'boolean | ||
| 156 | :group 'icalendar) | ||
| 157 | |||
| 158 | |||
| 159 | ;; ====================================================================== | ||
| 160 | ;; NO USER SERVICABLE PARTS BELOW THIS LINE | ||
| 161 | ;; ====================================================================== | ||
| 162 | |||
| 163 | (defconst icalendar-weekdayabbrev-table | ||
| 164 | '(("mon\\(day\\)?" . "MO") | ||
| 165 | ("tue\\(sday\\)?" . "TU") | ||
| 166 | ("wed\\(nesday\\)?" . "WE") | ||
| 167 | ("thu\\(rsday\\)?" . "TH") | ||
| 168 | ("fri\\(day\\)?" . "FR") | ||
| 169 | ("sat\\(urday\\)?" . "SA") | ||
| 170 | ("sun\\(day\\)?" . "SU")) | ||
| 171 | "Translation table for weekdays.") | ||
| 172 | |||
| 173 | (defconst icalendar-monthnumber-table | ||
| 174 | '(("^jan\\(uar\\)?y?$" . 1) | ||
| 175 | ("^feb\\(ruar\\)?y?$" . 2) | ||
| 176 | ("^mar\\(ch\\)?\\|märz?$" . 3) | ||
| 177 | ("^apr\\(il\\)?$" . 4) | ||
| 178 | ("^ma[iy]$" . 5) | ||
| 179 | ("^jun[ie]?$" . 6) | ||
| 180 | ("^jul[iy]?$" . 7) | ||
| 181 | ("^aug\\(ust\\)?$" . 8) | ||
| 182 | ("^sep\\(tember\\)?$" . 9) | ||
| 183 | ("^o[ck]t\\(ober\\)?$" . 10) | ||
| 184 | ("^nov\\(ember\\)?$" . 11) | ||
| 185 | ("^de[cz]\\(ember\\)?$" . 12)) | ||
| 186 | "Regular expressions for month names. | ||
| 187 | Currently this matches only German and English.") | ||
| 188 | |||
| 189 | (defvar icalendar-debug nil ".") | ||
| 190 | |||
| 191 | ;; ====================================================================== | ||
| 192 | ;; all the other libs we need | ||
| 193 | ;; ====================================================================== | ||
| 194 | (require 'calendar) | ||
| 195 | (require 'appt) | ||
| 196 | |||
| 197 | ;; ====================================================================== | ||
| 198 | ;; Core functionality | ||
| 199 | ;; Functions for parsing icalendars, importing and so on | ||
| 200 | ;; ====================================================================== | ||
| 201 | |||
| 202 | (defun icalendar-get-unfolded-buffer (folded-ical-buffer) | ||
| 203 | "Return a new buffer containing the unfolded contents of a buffer. | ||
| 204 | Folding is the iCalendar way of wrapping long lines. In the | ||
| 205 | created buffer all occurrences of CR LF BLANK are replaced by the | ||
| 206 | empty string. Argument FOLDED-ICAL-BUFFER is the unfolded input | ||
| 207 | buffer." | ||
| 208 | (let ((unfolded-buffer (get-buffer-create " *icalendar-work*"))) | ||
| 209 | (save-current-buffer | ||
| 210 | (set-buffer unfolded-buffer) | ||
| 211 | (erase-buffer) | ||
| 212 | (insert-buffer folded-ical-buffer) | ||
| 213 | (while (re-search-forward "\r?\n[ \t]" nil t) | ||
| 214 | (replace-match "" nil nil)) | ||
| 215 | ) | ||
| 216 | unfolded-buffer)) | ||
| 217 | |||
| 218 | ;; Replace regexp RE with RP in string ST and return the new string. | ||
| 219 | ;; This is here for compatibility with XEmacs. | ||
| 220 | (defsubst icalendar-rris (re rp st) | ||
| 221 | ;; XEmacs: | ||
| 222 | (if (fboundp 'replace-in-string) | ||
| 223 | (save-match-data ;; apparently XEmacs needs save-match-data | ||
| 224 | (replace-in-string st re rp)) | ||
| 225 | ;; Emacs: | ||
| 226 | (replace-regexp-in-string re rp st))) | ||
| 227 | |||
| 228 | (defun icalendar-read-element (invalue inparams) | ||
| 229 | "Recursively read the next iCalendar element in the current buffer. | ||
| 230 | INVALUE gives the current iCalendar element we are reading. | ||
| 231 | INPARAMS gives the current parameters..... | ||
| 232 | This function calls itself recursively for each nested calendar element | ||
| 233 | it finds" | ||
| 234 | (let (element children line name params param param-name param-value | ||
| 235 | value | ||
| 236 | (continue t)) | ||
| 237 | (setq children '()) | ||
| 238 | (while (and continue | ||
| 239 | (re-search-forward "^\\([A-Za-z0-9-]+\\)[;:]" nil t)) | ||
| 240 | (setq name (intern (match-string 1))) | ||
| 241 | (backward-char 1) | ||
| 242 | (setq params '()) | ||
| 243 | (setq line '()) | ||
| 244 | (while (looking-at ";") | ||
| 245 | (re-search-forward ";\\([A-Za-z0-9-]+\\)=" nil nil) | ||
| 246 | (setq param-name (intern (match-string 1))) | ||
| 247 | (re-search-forward "\\(\\([^;,:\"]+\\)\\|\"\\([^\"]+\\)\"\\)[;:]" | ||
| 248 | nil t) | ||
| 249 | (backward-char 1) | ||
| 250 | (setq param-value (or (match-string 2) (match-string 3))) | ||
| 251 | (setq param (list param-name param-value)) | ||
| 252 | (while (looking-at ",") | ||
| 253 | (re-search-forward "\\(\\([^;,:]+\\)\\|\"\\([^\"]+\\)\"\\)" | ||
| 254 | nil t) | ||
| 255 | (if (match-string 2) | ||
| 256 | (setq param-value (match-string 2)) | ||
| 257 | (setq param-value (match-string 3))) | ||
| 258 | (setq param (append param param-value))) | ||
| 259 | (setq params (append params param))) | ||
| 260 | (unless (looking-at ":") | ||
| 261 | (error "Oops")) | ||
| 262 | (forward-char 1) | ||
| 263 | (re-search-forward "\\(.*\\)\\(\r?\n[ \t].*\\)*" nil t) | ||
| 264 | (setq value (icalendar-rris "\r?\n[ \t]" "" (match-string 0))) | ||
| 265 | (setq line (list name params value)) | ||
| 266 | (cond ((eq name 'BEGIN) | ||
| 267 | (setq children | ||
| 268 | (append children | ||
| 269 | (list (icalendar-read-element (intern value) | ||
| 270 | params))))) | ||
| 271 | ((eq name 'END) | ||
| 272 | (setq continue nil)) | ||
| 273 | (t | ||
| 274 | (setq element (append element (list line)))))) | ||
| 275 | (if invalue | ||
| 276 | (list invalue inparams element children) | ||
| 277 | children))) | ||
| 278 | |||
| 279 | ;; ====================================================================== | ||
| 280 | ;; helper functions for examining events | ||
| 281 | ;; ====================================================================== | ||
| 282 | |||
| 283 | (defsubst icalendar-get-all-event-properties (event) | ||
| 284 | "Return the list of properties in this EVENT." | ||
| 285 | (car (cddr event))) | ||
| 286 | |||
| 287 | (defun icalendar-get-event-property (event prop) | ||
| 288 | "For the given EVENT return the value of the property PROP." | ||
| 289 | (catch 'found | ||
| 290 | (let ((props (car (cddr event))) pp) | ||
| 291 | (while props | ||
| 292 | (setq pp (car props)) | ||
| 293 | (if (eq (car pp) prop) | ||
| 294 | (throw 'found (car (cddr pp)))) | ||
| 295 | (setq props (cdr props)))) | ||
| 296 | nil)) | ||
| 297 | |||
| 298 | (defun icalendar-set-event-property (event prop new-value) | ||
| 299 | "For the given EVENT set the property PROP to the value NEW-VALUE." | ||
| 300 | (catch 'found | ||
| 301 | (let ((props (car (cddr event))) pp) | ||
| 302 | (while props | ||
| 303 | (setq pp (car props)) | ||
| 304 | (when (eq (car pp) prop) | ||
| 305 | (setcdr (cdr pp) new-value) | ||
| 306 | (throw 'found (car (cddr pp)))) | ||
| 307 | (setq props (cdr props))) | ||
| 308 | (setq props (car (cddr event))) | ||
| 309 | (setcar (cddr event) | ||
| 310 | (append props (list (list prop nil new-value))))))) | ||
| 311 | |||
| 312 | (defun icalendar-get-children (node name) | ||
| 313 | "Return all children of the given NODE which have a name NAME. | ||
| 314 | For instance the VCALENDAR node can have VEVENT children as well as VTODO | ||
| 315 | children." | ||
| 316 | (let ((result nil) | ||
| 317 | (children (cadr (cddr node)))) | ||
| 318 | (when (eq (car node) name) | ||
| 319 | (setq result node)) | ||
| 320 | ;;(message "%s" node) | ||
| 321 | (when children | ||
| 322 | (let ((subresult | ||
| 323 | (delq nil | ||
| 324 | (mapcar (lambda (n) | ||
| 325 | (icalendar-get-children n name)) | ||
| 326 | children)))) | ||
| 327 | (if subresult | ||
| 328 | (if result | ||
| 329 | (setq result (append result subresult)) | ||
| 330 | (setq result subresult))))) | ||
| 331 | result)) | ||
| 332 | |||
| 333 | ; private | ||
| 334 | (defun icalendar-all-events (icalendar) | ||
| 335 | "Return the list of all existing events in the given ICALENDAR." | ||
| 336 | (interactive "") | ||
| 337 | (icalendar-get-children (car icalendar) 'VEVENT)) | ||
| 338 | |||
| 339 | (defun icalendar-split-value (value-string) | ||
| 340 | "Splits VALUE-STRING at ';='." | ||
| 341 | (let ((result '()) | ||
| 342 | param-name param-value) | ||
| 343 | (when value-string | ||
| 344 | (save-current-buffer | ||
| 345 | (set-buffer (get-buffer-create " *ical-temp*")) | ||
| 346 | (set-buffer-modified-p nil) | ||
| 347 | (erase-buffer) | ||
| 348 | (insert value-string) | ||
| 349 | (goto-char (point-min)) | ||
| 350 | (while | ||
| 351 | (re-search-forward | ||
| 352 | "\\([A-Za-z0-9-]+\\)=\\(\\([^;,:]+\\)\\|\"\\([^\"]+\\)\"\\);?" | ||
| 353 | nil t) | ||
| 354 | (setq param-name (intern (match-string 1))) | ||
| 355 | (setq param-value (match-string 2)) | ||
| 356 | (setq result | ||
| 357 | (append result (list (list param-name param-value))))))) | ||
| 358 | result)) | ||
| 359 | |||
| 360 | (defun icalendar-decode-isodatetime (isodatetimestring) | ||
| 361 | "Return ISODATETIMESTRING in format like `decode-time'. | ||
| 362 | Converts from ISO-8601 to Emacs representation. If ISODATETIMESTRING | ||
| 363 | specifies UTC time (trailing letter Z) the decoded time is given in | ||
| 364 | the local time zone! FIXME: TZID-attributes are ignored....! FIXME: | ||
| 365 | multiple comma-separated values should be allowed!" | ||
| 366 | (icalendar-dmsg isodatetimestring) | ||
| 367 | (if isodatetimestring | ||
| 368 | ;; day/month/year must be present | ||
| 369 | (let ((year (read (substring isodatetimestring 0 4))) | ||
| 370 | (month (read (substring isodatetimestring 4 6))) | ||
| 371 | (day (read (substring isodatetimestring 6 8))) | ||
| 372 | (hour 0) | ||
| 373 | (minute 0) | ||
| 374 | (second 0)) | ||
| 375 | (when (> (length isodatetimestring) 12) | ||
| 376 | ;; hour/minute present | ||
| 377 | (setq hour (read (substring isodatetimestring 9 11))) | ||
| 378 | (setq minute (read (substring isodatetimestring 11 13)))) | ||
| 379 | (when (> (length isodatetimestring) 14) | ||
| 380 | ;; seconds present | ||
| 381 | (setq second (read (substring isodatetimestring 13 15)))) | ||
| 382 | (when (and (> (length isodatetimestring) 15) | ||
| 383 | ;; UTC specifier present | ||
| 384 | (char-equal ?Z (aref isodatetimestring 15))) | ||
| 385 | ;; if not UTC add current-time-zone offset | ||
| 386 | (setq second (+ (car (current-time-zone)) second))) | ||
| 387 | ;; create the decoded date-time | ||
| 388 | ;; FIXME!?! | ||
| 389 | (condition-case nil | ||
| 390 | (decode-time (encode-time second minute hour day month year)) | ||
| 391 | (error | ||
| 392 | (message "Cannot decode \"%s\"" isodatetimestring) | ||
| 393 | ;; hope for the best... | ||
| 394 | (list second minute hour day month year 0 nil 0)))) | ||
| 395 | ;; isodatetimestring == nil | ||
| 396 | nil)) | ||
| 397 | |||
| 398 | (defun icalendar-decode-isoduration (isodurationstring) | ||
| 399 | "Return ISODURATIONSTRING in format like `decode-time'. | ||
| 400 | Converts from ISO-8601 to Emacs representation. If ISODURATIONSTRING | ||
| 401 | specifies UTC time (trailing letter Z) the decoded time is given in | ||
| 402 | the local time zone! FIXME: TZID-attributes are ignored....! FIXME: | ||
| 403 | multiple comma-separated values should be allowed!" | ||
| 404 | (if isodurationstring | ||
| 405 | (save-match-data | ||
| 406 | (string-match | ||
| 407 | (concat | ||
| 408 | "^P[+-]?\\(" | ||
| 409 | "\\(\\([0-9]+\\)D\\)" ; days only | ||
| 410 | "\\|" | ||
| 411 | "\\(\\(\\([0-9]+\\)D\\)?T\\(\\([0-9]+\\)H\\)?" ; opt days | ||
| 412 | "\\(\\([0-9]+\\)M\\)?\\(\\([0-9]+\\)S\\)?\\)" ; mand. time | ||
| 413 | "\\|" | ||
| 414 | "\\(\\([0-9]+\\)W\\)" ; weeks only | ||
| 415 | "\\)$") isodurationstring) | ||
| 416 | (let ((seconds 0) | ||
| 417 | (minutes 0) | ||
| 418 | (hours 0) | ||
| 419 | (days 0) | ||
| 420 | (months 0) | ||
| 421 | (years 0)) | ||
| 422 | (cond | ||
| 423 | ((match-beginning 2) ;days only | ||
| 424 | (setq days (read (substring isodurationstring | ||
| 425 | (match-beginning 3) | ||
| 426 | (match-end 3)))) | ||
| 427 | (when icalendar-duration-correction | ||
| 428 | (setq days (1- days)))) | ||
| 429 | ((match-beginning 4) ;days and time | ||
| 430 | (if (match-beginning 5) | ||
| 431 | (setq days (* 7 (read (substring isodurationstring | ||
| 432 | (match-beginning 6) | ||
| 433 | (match-end 6)))))) | ||
| 434 | (if (match-beginning 7) | ||
| 435 | (setq hours (read (substring isodurationstring | ||
| 436 | (match-beginning 8) | ||
| 437 | (match-end 8))))) | ||
| 438 | (if (match-beginning 9) | ||
| 439 | (setq minutes (read (substring isodurationstring | ||
| 440 | (match-beginning 10) | ||
| 441 | (match-end 10))))) | ||
| 442 | (if (match-beginning 11) | ||
| 443 | (setq seconds (read (substring isodurationstring | ||
| 444 | (match-beginning 12) | ||
| 445 | (match-end 12))))) | ||
| 446 | ) | ||
| 447 | ((match-beginning 13) ;weeks only | ||
| 448 | (setq days (* 7 (read (substring isodurationstring | ||
| 449 | (match-beginning 14) | ||
| 450 | (match-end 14)))))) | ||
| 451 | ) | ||
| 452 | (list seconds minutes hours days months years))) | ||
| 453 | ;; isodatetimestring == nil | ||
| 454 | nil)) | ||
| 455 | |||
| 456 | (defun icalendar-add-decoded-times (time1 time2) | ||
| 457 | "Add TIME1 to TIME2. | ||
| 458 | Both times must be given in decoded form. One of these times must be | ||
| 459 | valid (year > 1900 or something)." | ||
| 460 | ;; FIXME: does this function exist already? | ||
| 461 | (decode-time (encode-time | ||
| 462 | (+ (nth 0 time1) (nth 0 time2)) | ||
| 463 | (+ (nth 1 time1) (nth 1 time2)) | ||
| 464 | (+ (nth 2 time1) (nth 2 time2)) | ||
| 465 | (+ (nth 3 time1) (nth 3 time2)) | ||
| 466 | (+ (nth 4 time1) (nth 4 time2)) | ||
| 467 | (+ (nth 5 time1) (nth 5 time2)) | ||
| 468 | nil | ||
| 469 | nil | ||
| 470 | ;;(or (nth 6 time1) (nth 6 time2)) ;; FIXME? | ||
| 471 | ))) | ||
| 472 | |||
| 473 | (defun icalendar-datetime-to-noneuropean-date (datetime) | ||
| 474 | "Convert the decoded DATETIME to non-european-style format. | ||
| 475 | Non-European format: (month day year)." | ||
| 476 | (if datetime | ||
| 477 | (list (nth 4 datetime) ;month | ||
| 478 | (nth 3 datetime) ;day | ||
| 479 | (nth 5 datetime));year | ||
| 480 | ;; datetime == nil | ||
| 481 | nil)) | ||
| 482 | |||
| 483 | (defun icalendar-datetime-to-european-date (datetime) | ||
| 484 | "Convert the decoded DATETIME to European format. | ||
| 485 | European format: (day month year). | ||
| 486 | FIXME" | ||
| 487 | (if datetime | ||
| 488 | (format "%d %d %d" (nth 3 datetime); day | ||
| 489 | (nth 4 datetime) ;month | ||
| 490 | (nth 5 datetime));year | ||
| 491 | ;; datetime == nil | ||
| 492 | nil)) | ||
| 493 | |||
| 494 | (defun icalendar-datetime-to-colontime (datetime) | ||
| 495 | "Extract the time part of a decoded DATETIME into 24-hour format. | ||
| 496 | Note that this silently ignores seconds." | ||
| 497 | (format "%02d:%02d" (nth 2 datetime) (nth 1 datetime))) | ||
| 498 | |||
| 499 | (defun icalendar-get-month-number (monthname) | ||
| 500 | "Return the month number for the given MONTHNAME." | ||
| 501 | (save-match-data | ||
| 502 | (let ((case-fold-search t)) | ||
| 503 | (assoc-default monthname icalendar-monthnumber-table | ||
| 504 | 'string-match)))) | ||
| 505 | |||
| 506 | (defun icalendar-get-weekday-abbrev (weekday) | ||
| 507 | "Return the abbreviated WEEKDAY." | ||
| 508 | ;;FIXME: ISO-like(?). | ||
| 509 | (save-match-data | ||
| 510 | (let ((case-fold-search t)) | ||
| 511 | (assoc-default weekday icalendar-weekdayabbrev-table | ||
| 512 | 'string-match)))) | ||
| 513 | |||
| 514 | (defun icalendar-datestring-to-isodate (datestring &optional day-shift) | ||
| 515 | "Convert diary-style DATESTRING to iso-style date. | ||
| 516 | If DAY-SHIFT is non-nil, the result is shifted by DAY-SHIFT days | ||
| 517 | -- DAY-SHIFT must be either nil or an integer. This function | ||
| 518 | takes care of european-style." | ||
| 519 | (let ((day -1) month year) | ||
| 520 | (save-match-data | ||
| 521 | (cond (;; numeric date | ||
| 522 | (string-match (concat "\\s-*" | ||
| 523 | "0?\\([1-9][0-9]?\\)[ \t/]\\s-*" | ||
| 524 | "0?\\([1-9][0-9]?\\),?[ \t/]\\s-*" | ||
| 525 | "\\([0-9]\\{4\\}\\)") | ||
| 526 | datestring) | ||
| 527 | (setq day (read (substring datestring (match-beginning 1) | ||
| 528 | (match-end 1)))) | ||
| 529 | (setq month (read (substring datestring (match-beginning 2) | ||
| 530 | (match-end 2)))) | ||
| 531 | (setq year (read (substring datestring (match-beginning 3) | ||
| 532 | (match-end 3)))) | ||
| 533 | (unless european-calendar-style | ||
| 534 | (let ((x month)) | ||
| 535 | (setq month day) | ||
| 536 | (setq day x)))) | ||
| 537 | (;; date contains month names -- european-style | ||
| 538 | (and european-calendar-style | ||
| 539 | (string-match (concat "\\s-*" | ||
| 540 | "0?\\([123]?[0-9]\\)[ \t/]\\s-*" | ||
| 541 | "\\([A-Za-z][^ ]+\\)[ \t/]\\s-*" | ||
| 542 | "\\([0-9]\\{4\\}\\)") | ||
| 543 | datestring)) | ||
| 544 | (setq day (read (substring datestring (match-beginning 1) | ||
| 545 | (match-end 1)))) | ||
| 546 | (setq month (icalendar-get-month-number | ||
| 547 | (substring datestring (match-beginning 2) | ||
| 548 | (match-end 2)))) | ||
| 549 | (setq year (read (substring datestring (match-beginning 3) | ||
| 550 | (match-end 3))))) | ||
| 551 | (;; date contains month names -- non-european-style | ||
| 552 | (and (not european-calendar-style) | ||
| 553 | (string-match (concat "\\s-*" | ||
| 554 | "\\([A-Za-z][^ ]+\\)[ \t/]\\s-*" | ||
| 555 | "0?\\([123]?[0-9]\\),?[ \t/]\\s-*" | ||
| 556 | "\\([0-9]\\{4\\}\\)") | ||
| 557 | datestring)) | ||
| 558 | (setq day (read (substring datestring (match-beginning 2) | ||
| 559 | (match-end 2)))) | ||
| 560 | (setq month (icalendar-get-month-number | ||
| 561 | (substring datestring (match-beginning 1) | ||
| 562 | (match-end 1)))) | ||
| 563 | (setq year (read (substring datestring (match-beginning 3) | ||
| 564 | (match-end 3))))) | ||
| 565 | (t | ||
| 566 | nil))) | ||
| 567 | (if (> day 0) | ||
| 568 | (let ((mdy (calendar-gregorian-from-absolute | ||
| 569 | (+ (calendar-absolute-from-gregorian (list month day year)) | ||
| 570 | (or day-shift 0))))) | ||
| 571 | (format "%04d%02d%02d" (nth 2 mdy) (nth 0 mdy) (nth 1 mdy))) | ||
| 572 | nil))) | ||
| 573 | |||
| 574 | (defun icalendar-dmsg (&rest args) | ||
| 575 | "Print message ARGS if `icalendar-debug' is non-nil." | ||
| 576 | (if icalendar-debug | ||
| 577 | (apply 'message args))) | ||
| 578 | |||
| 579 | (defun icalendar-diarytime-to-isotime (timestring ampmstring) | ||
| 580 | "Convert a a time like 9:30pm to an iso-conform string like T213000. | ||
| 581 | In this example the TIMESTRING would be \"9:30\" and the AMPMSTRING | ||
| 582 | would be \"pm\"." | ||
| 583 | (if timestring | ||
| 584 | (let ((starttimenum (read (icalendar-rris ":" "" timestring)))) | ||
| 585 | ;; take care of am/pm style | ||
| 586 | (if (and ampmstring (string= "pm" ampmstring)) | ||
| 587 | (setq starttimenum (+ starttimenum 1200))) | ||
| 588 | (format "T%04d00" starttimenum)) | ||
| 589 | nil)) | ||
| 590 | |||
| 591 | (defun icalendar-convert-string-for-export (s) | ||
| 592 | "Escape comma and other critical characters in string S." | ||
| 593 | (icalendar-rris "," "\\\\," s)) | ||
| 594 | |||
| 595 | (defun icalendar-convert-for-import (string) | ||
| 596 | "Remove escape chars for comma, semicolon etc. from STRING." | ||
| 597 | (icalendar-rris | ||
| 598 | "\\\\n" "\n " (icalendar-rris | ||
| 599 | "\\\\\"" "\"" (icalendar-rris | ||
| 600 | "\\\\;" ";" (icalendar-rris | ||
| 601 | "\\\\," "," string))))) | ||
| 602 | |||
| 603 | ;; ====================================================================== | ||
| 604 | ;; export -- convert emacs-diary to icalendar | ||
| 605 | ;; ====================================================================== | ||
| 606 | |||
| 607 | (defun icalendar-convert-diary-to-ical (diary-filename ical-filename | ||
| 608 | &optional do-not-clear-diary-file) | ||
| 609 | "Export diary file to iCalendar format -- erases ical-filename!!!. | ||
| 610 | Argument DIARY-FILENAME is the input `diary-file'. | ||
| 611 | Argument ICAL-FILENAME is the output iCalendar file. | ||
| 612 | If DO-NOT-CLEAR-DIARY-FILE is not nil the target iCalendar file | ||
| 613 | is not erased." | ||
| 614 | (interactive "FExport diary data from file: | ||
| 615 | Finto iCalendar file: ") | ||
| 616 | (let ((result "") | ||
| 617 | (start 0) | ||
| 618 | (entry-main "") | ||
| 619 | (entry-rest "") | ||
| 620 | (header "") | ||
| 621 | (contents) | ||
| 622 | (oops nil) | ||
| 623 | (nonmarker (concat "^" (regexp-quote diary-nonmarking-symbol) | ||
| 624 | "?"))) | ||
| 625 | (save-current-buffer | ||
| 626 | (set-buffer (find-file diary-filename)) | ||
| 627 | (goto-char (point-min)) | ||
| 628 | (while (re-search-forward | ||
| 629 | "^\\([^ \t\n].*\\)\\(\n[ \t].*\\)*" nil t) | ||
| 630 | (setq entry-main (match-string 1)) | ||
| 631 | (if (match-beginning 2) | ||
| 632 | (setq entry-rest (match-string 2)) | ||
| 633 | (setq entry-rest "")) | ||
| 634 | (setq header (format "\nBEGIN:VEVENT\nUID:emacs%d%d%d" | ||
| 635 | (car (current-time)) | ||
| 636 | (cadr (current-time)) | ||
| 637 | (car (cddr (current-time))))) | ||
| 638 | (setq oops nil) | ||
| 639 | (cond | ||
| 640 | ;; anniversaries | ||
| 641 | ((string-match | ||
| 642 | (concat nonmarker | ||
| 643 | "%%(diary-anniversary \\([^)]+\\))\\s-*\\(.*\\)") | ||
| 644 | entry-main) | ||
| 645 | (icalendar-dmsg "diary-anniversary %s" entry-main) | ||
| 646 | (let* ((datetime (substring entry-main (match-beginning 1) | ||
| 647 | (match-end 1))) | ||
| 648 | (summary (icalendar-convert-string-for-export | ||
| 649 | (substring entry-main (match-beginning 2) | ||
| 650 | (match-end 2)))) | ||
| 651 | (startisostring (icalendar-datestring-to-isodate | ||
| 652 | datetime)) | ||
| 653 | (endisostring (icalendar-datestring-to-isodate | ||
| 654 | datetime 1))) | ||
| 655 | (setq contents | ||
| 656 | (concat "\nDTSTART;VALUE=DATE:" startisostring | ||
| 657 | "\nDTEND;VALUE=DATE:" endisostring | ||
| 658 | "\nSUMMARY:" summary | ||
| 659 | "\nRRULE:FREQ=YEARLY;INTERVAL=1" | ||
| 660 | ;; the following is redundant, | ||
| 661 | ;; but korganizer seems to expect this... ;( | ||
| 662 | ;; and evolution doesn't understand it... :( | ||
| 663 | ;; so... who is wrong?! | ||
| 664 | ";BYMONTH=" (substring startisostring 4 6) | ||
| 665 | ";BYMONTHDAY=" (substring startisostring 6 8) | ||
| 666 | ))) | ||
| 667 | (unless (string= entry-rest "") | ||
| 668 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 669 | (icalendar-convert-string-for-export | ||
| 670 | entry-rest))))) | ||
| 671 | ;; cyclic events | ||
| 672 | ;; %%(diary-cyclic ) | ||
| 673 | ((string-match | ||
| 674 | (concat nonmarker | ||
| 675 | "%%(diary-cyclic \\([^ ]+\\) +" | ||
| 676 | "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*\\(.*\\)") | ||
| 677 | entry-main) | ||
| 678 | (icalendar-dmsg "diary-cyclic %s" entry-main) | ||
| 679 | (let* ((frequency (substring entry-main (match-beginning 1) | ||
| 680 | (match-end 1))) | ||
| 681 | (datetime (substring entry-main (match-beginning 2) | ||
| 682 | (match-end 2))) | ||
| 683 | (summary (icalendar-convert-string-for-export | ||
| 684 | (substring entry-main (match-beginning 3) | ||
| 685 | (match-end 3)))) | ||
| 686 | (startisostring (icalendar-datestring-to-isodate | ||
| 687 | datetime)) | ||
| 688 | (endisostring (icalendar-datestring-to-isodate | ||
| 689 | datetime 1))) | ||
| 690 | (setq contents | ||
| 691 | (concat "\nDTSTART;VALUE=DATE:" startisostring | ||
| 692 | "\nDTEND;VALUE=DATE:" endisostring | ||
| 693 | "\nSUMMARY:" summary | ||
| 694 | "\nRRULE:FREQ=DAILY;INTERVAL=" frequency | ||
| 695 | ;; strange: korganizer does not expect | ||
| 696 | ;; BYSOMETHING here... | ||
| 697 | ))) | ||
| 698 | (unless (string= entry-rest "") | ||
| 699 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 700 | (icalendar-convert-string-for-export | ||
| 701 | entry-rest))))) | ||
| 702 | ;; diary-date -- FIXME | ||
| 703 | ((string-match | ||
| 704 | (concat nonmarker | ||
| 705 | "%%(diary-date \\([^)]+\\))\\s-*\\(.*\\)") | ||
| 706 | entry-main) | ||
| 707 | (icalendar-dmsg "diary-date %s" entry-main) | ||
| 708 | (setq oops t)) | ||
| 709 | ;; float events -- FIXME | ||
| 710 | ((string-match | ||
| 711 | (concat nonmarker | ||
| 712 | "%%(diary-float \\([^)]+\\))\\s-*\\(.*\\)") | ||
| 713 | entry-main) | ||
| 714 | (icalendar-dmsg "diary-float %s" entry-main) | ||
| 715 | (setq oops t)) | ||
| 716 | ;; block events | ||
| 717 | ((string-match | ||
| 718 | (concat nonmarker | ||
| 719 | "%%(diary-block \\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\) +" | ||
| 720 | "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*\\(.*\\)") | ||
| 721 | entry-main) | ||
| 722 | (icalendar-dmsg "diary-block %s" entry-main) | ||
| 723 | (let* ((startstring (substring entry-main (match-beginning 1) | ||
| 724 | (match-end 1))) | ||
| 725 | (endstring (substring entry-main (match-beginning 2) | ||
| 726 | (match-end 2))) | ||
| 727 | (summary (icalendar-convert-string-for-export | ||
| 728 | (substring entry-main (match-beginning 3) | ||
| 729 | (match-end 3)))) | ||
| 730 | (startisostring (icalendar-datestring-to-isodate | ||
| 731 | startstring)) | ||
| 732 | (endisostring (icalendar-datestring-to-isodate | ||
| 733 | endstring 1))) | ||
| 734 | (setq contents | ||
| 735 | (concat "\nDTSTART;VALUE=DATE:" startisostring | ||
| 736 | "\nDTEND;VALUE=DATE:" endisostring | ||
| 737 | "\nSUMMARY:" summary | ||
| 738 | )) | ||
| 739 | (unless (string= entry-rest "") | ||
| 740 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 741 | (icalendar-convert-string-for-export | ||
| 742 | entry-rest)))))) | ||
| 743 | ;; other sexp diary entries -- FIXME | ||
| 744 | ((string-match | ||
| 745 | (concat nonmarker | ||
| 746 | "%%(\\([^)]+\\))\\s-*\\(.*\\)") | ||
| 747 | entry-main) | ||
| 748 | (icalendar-dmsg "diary-sexp %s" entry-main) | ||
| 749 | (setq oops t)) | ||
| 750 | ;; weekly by day | ||
| 751 | ;; Monday 8:30 Team meeting | ||
| 752 | ((and (string-match | ||
| 753 | (concat nonmarker | ||
| 754 | "\\([a-z]+\\)\\s-+" | ||
| 755 | "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" | ||
| 756 | "\\(-0?" | ||
| 757 | "\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" | ||
| 758 | "\\)?" | ||
| 759 | "\\s-*\\(.*\\)$") | ||
| 760 | entry-main) | ||
| 761 | (icalendar-get-weekday-abbrev | ||
| 762 | (substring entry-main (match-beginning 1) (match-end 1)))) | ||
| 763 | (icalendar-dmsg "weekly %s" entry-main) | ||
| 764 | (let* ((day (icalendar-get-weekday-abbrev | ||
| 765 | (substring entry-main (match-beginning 1) | ||
| 766 | (match-end 1)))) | ||
| 767 | (starttimestring (icalendar-diarytime-to-isotime | ||
| 768 | (if (match-beginning 3) | ||
| 769 | (substring entry-main | ||
| 770 | (match-beginning 3) | ||
| 771 | (match-end 3)) | ||
| 772 | nil) | ||
| 773 | (if (match-beginning 4) | ||
| 774 | (substring entry-main | ||
| 775 | (match-beginning 4) | ||
| 776 | (match-end 4)) | ||
| 777 | nil))) | ||
| 778 | (endtimestring (icalendar-diarytime-to-isotime | ||
| 779 | (if (match-beginning 6) | ||
| 780 | (substring entry-main | ||
| 781 | (match-beginning 6) | ||
| 782 | (match-end 6)) | ||
| 783 | nil) | ||
| 784 | (if (match-beginning 7) | ||
| 785 | (substring entry-main | ||
| 786 | (match-beginning 7) | ||
| 787 | (match-end 7)) | ||
| 788 | nil))) | ||
| 789 | (summary (icalendar-convert-string-for-export | ||
| 790 | (substring entry-main (match-beginning 8) | ||
| 791 | (match-end 8))))) | ||
| 792 | (when starttimestring | ||
| 793 | (unless endtimestring | ||
| 794 | (let ((time (read (icalendar-rris "^T0?" "" | ||
| 795 | starttimestring)))) | ||
| 796 | (setq endtimestring (format "T%06d" (+ 10000 time)))))) | ||
| 797 | (setq contents | ||
| 798 | (concat "\nDTSTART" | ||
| 799 | (if starttimestring "" ";VALUE=DATE") | ||
| 800 | ":19000101" ;; FIXME? Probability that this | ||
| 801 | ;; is the right day is 1/7 | ||
| 802 | (or starttimestring "") | ||
| 803 | "\nDTEND" | ||
| 804 | (if endtimestring "" ";VALUE=DATE") | ||
| 805 | ":19000101" ;; FIXME? | ||
| 806 | (or endtimestring "") | ||
| 807 | "\nSUMMARY:" summary | ||
| 808 | "\nRRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=" day | ||
| 809 | ))) | ||
| 810 | (unless (string= entry-rest "") | ||
| 811 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 812 | (icalendar-convert-string-for-export | ||
| 813 | entry-rest))))) | ||
| 814 | ;; yearly by day | ||
| 815 | ;; 1 May Tag der Arbeit | ||
| 816 | ((string-match | ||
| 817 | (concat nonmarker | ||
| 818 | (if european-calendar-style | ||
| 819 | "0?\\([1-9]+[0-9]?\\)\\s-+\\([a-z]+\\)\\s-+" | ||
| 820 | "\\([a-z]+\\)\\s-+0?\\([1-9]+[0-9]?\\)\\s-+") | ||
| 821 | "\\*?\\s-*" | ||
| 822 | "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" | ||
| 823 | "\\(" | ||
| 824 | "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" | ||
| 825 | "\\)?" | ||
| 826 | "\\s-*\\([^0-9]+.*\\)$"; must not match years | ||
| 827 | ) | ||
| 828 | entry-main) | ||
| 829 | (icalendar-dmsg "yearly %s" entry-main) | ||
| 830 | (let* ((daypos (if european-calendar-style 1 2)) | ||
| 831 | (monpos (if european-calendar-style 2 1)) | ||
| 832 | (day (read (substring entry-main (match-beginning daypos) | ||
| 833 | (match-end daypos)))) | ||
| 834 | (month (icalendar-get-month-number | ||
| 835 | (substring entry-main (match-beginning monpos) | ||
| 836 | (match-end monpos)))) | ||
| 837 | (starttimestring (icalendar-diarytime-to-isotime | ||
| 838 | (if (match-beginning 4) | ||
| 839 | (substring entry-main | ||
| 840 | (match-beginning 4) | ||
| 841 | (match-end 4)) | ||
| 842 | nil) | ||
| 843 | (if (match-beginning 5) | ||
| 844 | (substring entry-main | ||
| 845 | (match-beginning 5) | ||
| 846 | (match-end 5)) | ||
| 847 | nil))) | ||
| 848 | (endtimestring (icalendar-diarytime-to-isotime | ||
| 849 | (if (match-beginning 7) | ||
| 850 | (substring entry-main | ||
| 851 | (match-beginning 7) | ||
| 852 | (match-end 7)) | ||
| 853 | nil) | ||
| 854 | (if (match-beginning 8) | ||
| 855 | (substring entry-main | ||
| 856 | (match-beginning 8) | ||
| 857 | (match-end 8)) | ||
| 858 | nil))) | ||
| 859 | (summary (icalendar-convert-string-for-export | ||
| 860 | (substring entry-main (match-beginning 9) | ||
| 861 | (match-end 9))))) | ||
| 862 | (when starttimestring | ||
| 863 | (unless endtimestring | ||
| 864 | (let ((time (read (icalendar-rris "^T0?" "" | ||
| 865 | starttimestring)))) | ||
| 866 | (setq endtimestring (format "T%06d" (+ 10000 time)))))) | ||
| 867 | (setq contents | ||
| 868 | (concat "\nDTSTART" | ||
| 869 | (if starttimestring "" ";VALUE=DATE") | ||
| 870 | (format ":1900%02d%02d" month day) | ||
| 871 | (or starttimestring "") | ||
| 872 | "\nDTEND" | ||
| 873 | (if endtimestring "" ";VALUE=DATE") | ||
| 874 | (format ":1900%02d%02d" month day) | ||
| 875 | (or endtimestring "") | ||
| 876 | "\nSUMMARY:" summary | ||
| 877 | "\nRRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=" | ||
| 878 | (format "%2d" month) | ||
| 879 | ";BYMONTHDAY=" | ||
| 880 | (format "%2d" day) | ||
| 881 | ))) | ||
| 882 | (unless (string= entry-rest "") | ||
| 883 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 884 | (icalendar-convert-string-for-export | ||
| 885 | entry-rest))))) | ||
| 886 | ;; "ordinary" events, start and end time given | ||
| 887 | ;; 1 Feb 2003 Hs Hochzeitsfeier, Dreieich | ||
| 888 | ((string-match | ||
| 889 | (concat nonmarker | ||
| 890 | "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\)\\s-+" | ||
| 891 | "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" | ||
| 892 | "\\(" | ||
| 893 | "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" | ||
| 894 | "\\)?" | ||
| 895 | "\\s-*\\(.*\\)") | ||
| 896 | entry-main) | ||
| 897 | (icalendar-dmsg "ordinary %s" entry-main) | ||
| 898 | (let* ((datestring (icalendar-datestring-to-isodate | ||
| 899 | (substring entry-main (match-beginning 1) | ||
| 900 | (match-end 1)))) | ||
| 901 | (starttimestring (icalendar-diarytime-to-isotime | ||
| 902 | (if (match-beginning 3) | ||
| 903 | (substring entry-main | ||
| 904 | (match-beginning 3) | ||
| 905 | (match-end 3)) | ||
| 906 | nil) | ||
| 907 | (if (match-beginning 4) | ||
| 908 | (substring entry-main | ||
| 909 | (match-beginning 4) | ||
| 910 | (match-end 4)) | ||
| 911 | nil))) | ||
| 912 | (endtimestring (icalendar-diarytime-to-isotime | ||
| 913 | (if (match-beginning 6) | ||
| 914 | (substring entry-main | ||
| 915 | (match-beginning 6) | ||
| 916 | (match-end 6)) | ||
| 917 | nil) | ||
| 918 | (if (match-beginning 7) | ||
| 919 | (substring entry-main | ||
| 920 | (match-beginning 7) | ||
| 921 | (match-end 7)) | ||
| 922 | nil))) | ||
| 923 | (summary (icalendar-convert-string-for-export | ||
| 924 | (substring entry-main (match-beginning 8) | ||
| 925 | (match-end 8))))) | ||
| 926 | (when starttimestring | ||
| 927 | (unless endtimestring | ||
| 928 | (let ((time (read (icalendar-rris "^T0?" "" | ||
| 929 | starttimestring)))) | ||
| 930 | (setq endtimestring (format "T%06d" (+ 10000 time)))))) | ||
| 931 | (setq contents (format | ||
| 932 | "\nDTSTART%s:%s%s\nDTEND%s:%s%s\nSUMMARY:%s" | ||
| 933 | (if starttimestring "" ";VALUE=DATE") | ||
| 934 | datestring | ||
| 935 | (or starttimestring "") | ||
| 936 | (if endtimestring "" | ||
| 937 | ";VALUE=DATE") | ||
| 938 | datestring | ||
| 939 | (or endtimestring "") | ||
| 940 | summary)) | ||
| 941 | (unless (string= entry-rest "") | ||
| 942 | (setq contents (concat contents "\nDESCRIPTION:" | ||
| 943 | (icalendar-convert-string-for-export | ||
| 944 | entry-rest)))))) | ||
| 945 | ;; everything else | ||
| 946 | (t | ||
| 947 | ;; Oops! what's that? | ||
| 948 | (setq oops t))) | ||
| 949 | (if oops | ||
| 950 | (message "Cannot export entry on line %d" | ||
| 951 | (count-lines (point-min) (point))) | ||
| 952 | (setq result (concat result header contents "\nEND:VEVENT")))) | ||
| 953 | ;; we're done, insert everything into the file | ||
| 954 | (let ((coding-system-for-write 'utf8)) | ||
| 955 | (set-buffer (find-file ical-filename)) | ||
| 956 | (unless do-not-clear-diary-file | ||
| 957 | (erase-buffer)) | ||
| 958 | (insert | ||
| 959 | "BEGIN:VCALENDAR\nPRODID:-//Emacs//NONSGML icalendar.el//EN") | ||
| 960 | (insert "\nVERSION:2.0") | ||
| 961 | (insert result) | ||
| 962 | (insert "\nEND:VCALENDAR\n"))))) | ||
| 963 | |||
| 964 | |||
| 965 | ;; ====================================================================== | ||
| 966 | ;; import -- convert icalendar to emacs-diary | ||
| 967 | ;; ====================================================================== | ||
| 968 | |||
| 969 | ;; user function | ||
| 970 | (defun icalendar-import-file (ical-filename diary-filename | ||
| 971 | &optional non-marking | ||
| 972 | do-not-clear-diary-file) | ||
| 973 | "Import a iCalendar file and save to a diary file -- erases diary-file! | ||
| 974 | Argument ICAL-FILENAME output iCalendar file. | ||
| 975 | Argument DIARY-FILENAME input `diary-file'. | ||
| 976 | Optional argument NON-MARKING determines whether events are created as | ||
| 977 | non-marking or not. | ||
| 978 | If DO-NOT-CLEAR-DIARY-FILE is not nil the target diary file is | ||
| 979 | not erased." | ||
| 980 | (interactive "fImport iCalendar data from file: | ||
| 981 | Finto diary file (will be erased!): | ||
| 982 | p") | ||
| 983 | ;; clean up the diary file | ||
| 984 | (save-current-buffer | ||
| 985 | (unless do-not-clear-diary-file | ||
| 986 | ;; clear the target diary file | ||
| 987 | (set-buffer (find-file diary-filename)) | ||
| 988 | (erase-buffer)) | ||
| 989 | ;; now load and convert from the ical file | ||
| 990 | (set-buffer (find-file ical-filename)) | ||
| 991 | (icalendar-extract-ical-from-buffer diary-filename t non-marking))) | ||
| 992 | |||
| 993 | ; user function | ||
| 994 | (defun icalendar-extract-ical-from-buffer (&optional | ||
| 995 | diary-file do-not-ask | ||
| 996 | non-marking) | ||
| 997 | "Extract iCalendar events from current buffer. | ||
| 998 | |||
| 999 | This function searches the current buffer for the first iCalendar | ||
| 1000 | object, reads it and adds all VEVENT elements to the diary | ||
| 1001 | DIARY-FILE. | ||
| 1002 | |||
| 1003 | It will ask for each appointment whether to add it to the diary | ||
| 1004 | when DO-NOT-ASK is non-nil. When called interactively, | ||
| 1005 | DO-NOT-ASK is set to t, so that you are asked fore each event. | ||
| 1006 | |||
| 1007 | NON-MARKING determines whether diary events are created as | ||
| 1008 | non-marking. | ||
| 1009 | |||
| 1010 | This function attempts to notify about problems that occur when | ||
| 1011 | reading, parsing, or converting iCalendar data!" | ||
| 1012 | (interactive) | ||
| 1013 | (save-current-buffer | ||
| 1014 | ;; prepare ical | ||
| 1015 | (message "Preparing icalendar...") | ||
| 1016 | (set-buffer (icalendar-get-unfolded-buffer (current-buffer))) | ||
| 1017 | (goto-char (point-min)) | ||
| 1018 | (message "Preparing icalendar...done") | ||
| 1019 | (if (re-search-forward "^BEGIN:VCALENDAR\\s-*$" nil t) | ||
| 1020 | (let (ical-contents ical-errors) | ||
| 1021 | ;; read ical | ||
| 1022 | (message "Reading icalendar...") | ||
| 1023 | (beginning-of-line) | ||
| 1024 | (setq ical-contents (icalendar-read-element nil nil)) | ||
| 1025 | (message "Reading icalendar...done") | ||
| 1026 | ;; convert ical | ||
| 1027 | (message "Converting icalendar...") | ||
| 1028 | (setq ical-errors (icalendar-convert-ical-to-diary | ||
| 1029 | ical-contents | ||
| 1030 | diary-file do-not-ask non-marking)) | ||
| 1031 | (when diary-file | ||
| 1032 | ;; save the diary file | ||
| 1033 | (save-current-buffer | ||
| 1034 | (set-buffer (find-buffer-visiting diary-file)) | ||
| 1035 | (save-buffer))) | ||
| 1036 | (message "Converting icalendar...done") | ||
| 1037 | (if (and ical-errors (y-or-n-p | ||
| 1038 | (concat "Something went wrong -- " | ||
| 1039 | "do you want to see the " | ||
| 1040 | "error log? "))) | ||
| 1041 | (switch-to-buffer " *icalendar-errors*"))) | ||
| 1042 | (message | ||
| 1043 | "Current buffer does not contain icalendar contents!")))) | ||
| 1044 | |||
| 1045 | ;; ---------------------------------------------------------------------- | ||
| 1046 | ;; private area | ||
| 1047 | ;; ---------------------------------------------------------------------- | ||
| 1048 | (defun icalendar-format-ical-event (event) | ||
| 1049 | "Create a string representation of an iCalendar EVENT." | ||
| 1050 | (let ((string icalendar-import-format) | ||
| 1051 | (conversion-list | ||
| 1052 | '(("%d" DESCRIPTION icalendar-import-format-description) | ||
| 1053 | ("%s" SUMMARY icalendar-import-format-subject) | ||
| 1054 | ("%l" LOCATION icalendar-import-format-location) | ||
| 1055 | ("%o" ORGANIZER icalendar-import-format-organizer)))) | ||
| 1056 | ;; convert the specifiers in the format string | ||
| 1057 | (mapcar (lambda (i) | ||
| 1058 | (let* ((spec (car i)) | ||
| 1059 | (prop (cadr i)) | ||
| 1060 | (format (car (cddr i))) | ||
| 1061 | (contents (icalendar-get-event-property event prop)) | ||
| 1062 | (formatted-contents "")) | ||
| 1063 | ;;(message "%s" event) | ||
| 1064 | ;;(message "contents%s = %s" prop contents) | ||
| 1065 | (when (and contents (> (length contents) 0)) | ||
| 1066 | (setq formatted-contents | ||
| 1067 | (icalendar-rris "%s" | ||
| 1068 | (icalendar-convert-for-import | ||
| 1069 | contents) | ||
| 1070 | (symbol-value format)))) | ||
| 1071 | (setq string (icalendar-rris spec | ||
| 1072 | formatted-contents | ||
| 1073 | string)))) | ||
| 1074 | conversion-list) | ||
| 1075 | string)) | ||
| 1076 | |||
| 1077 | (defun icalendar-convert-ical-to-diary (ical-list diary-file | ||
| 1078 | &optional do-not-ask | ||
| 1079 | non-marking) | ||
| 1080 | "Convert an iCalendar file to an Emacs diary file. | ||
| 1081 | Import VEVENTS from the iCalendar object ICAL-LIST and saves them to a | ||
| 1082 | DIARY-FILE. If DO-NOT-ASK is nil the user is asked for each event | ||
| 1083 | whether to actually import it. NON-MARKING determines whether diary | ||
| 1084 | events are created as non-marking. | ||
| 1085 | This function attempts to return t if something goes wrong. In this | ||
| 1086 | case an error string which describes all the errors and problems is | ||
| 1087 | written into the buffer ` *icalendar-errors*'." | ||
| 1088 | (let* ((ev (icalendar-all-events ical-list)) | ||
| 1089 | (error-string "") | ||
| 1090 | (event-ok t) | ||
| 1091 | (found-error nil) | ||
| 1092 | e diary-string) | ||
| 1093 | ;; step through all events/appointments | ||
| 1094 | (while ev | ||
| 1095 | (setq e (car ev)) | ||
| 1096 | (setq ev (cdr ev)) | ||
| 1097 | (setq event-ok nil) | ||
| 1098 | (condition-case error-val | ||
| 1099 | (let* ((dtstart (icalendar-decode-isodatetime | ||
| 1100 | (icalendar-get-event-property e 'DTSTART))) | ||
| 1101 | (start-d (calendar-date-string | ||
| 1102 | (icalendar-datetime-to-noneuropean-date | ||
| 1103 | dtstart) | ||
| 1104 | t t)) | ||
| 1105 | (start-t (icalendar-datetime-to-colontime dtstart)) | ||
| 1106 | (dtend (icalendar-decode-isodatetime | ||
| 1107 | (icalendar-get-event-property e 'DTEND))) | ||
| 1108 | end-d | ||
| 1109 | end-t | ||
| 1110 | (subject (icalendar-convert-for-import | ||
| 1111 | (or (icalendar-get-event-property e 'SUMMARY) | ||
| 1112 | "No Subject"))) | ||
| 1113 | (rrule (icalendar-get-event-property e 'RRULE)) | ||
| 1114 | (rdate (icalendar-get-event-property e 'RDATE)) | ||
| 1115 | (duration (icalendar-get-event-property e 'DURATION))) | ||
| 1116 | (icalendar-dmsg "%s: %s" start-d subject) | ||
| 1117 | (when duration | ||
| 1118 | (let ((dtend2 (icalendar-add-decoded-times | ||
| 1119 | dtstart | ||
| 1120 | (icalendar-decode-isoduration duration)))) | ||
| 1121 | (if (and dtend (not (eq dtend dtend2))) | ||
| 1122 | (message "Inconsistent endtime and duration for %s" | ||
| 1123 | subject)) | ||
| 1124 | (setq dtend dtend2))) | ||
| 1125 | (setq end-d (if dtend | ||
| 1126 | (calendar-date-string | ||
| 1127 | (icalendar-datetime-to-noneuropean-date | ||
| 1128 | dtend) | ||
| 1129 | t t) | ||
| 1130 | start-d)) | ||
| 1131 | (setq end-t (if dtend | ||
| 1132 | (icalendar-datetime-to-colontime dtend) | ||
| 1133 | start-t)) | ||
| 1134 | (icalendar-dmsg "start-d: %s, end-d: %s" start-d end-d) | ||
| 1135 | (cond | ||
| 1136 | ;; recurring event | ||
| 1137 | (rrule | ||
| 1138 | (icalendar-dmsg "recurring event") | ||
| 1139 | (let* ((rrule-props (icalendar-split-value rrule)) | ||
| 1140 | (frequency (car (cdr (assoc 'FREQ rrule-props)))) | ||
| 1141 | (until (car (cdr (assoc 'UNTIL rrule-props)))) | ||
| 1142 | (interval (read (car (cdr (assoc 'INTERVAL | ||
| 1143 | rrule-props)))))) | ||
| 1144 | (cond ((string-equal frequency "WEEKLY") | ||
| 1145 | (if (not start-t) | ||
| 1146 | (progn | ||
| 1147 | ;; weekly and all-day | ||
| 1148 | (icalendar-dmsg "weekly all-day") | ||
| 1149 | (setq diary-string | ||
| 1150 | (format | ||
| 1151 | "%%%%(diary-cyclic %d %s)" | ||
| 1152 | (* interval 7) | ||
| 1153 | (icalendar-datetime-to-european-date | ||
| 1154 | dtstart)))) | ||
| 1155 | ;; weekly and not all-day | ||
| 1156 | (let* ((byday (cadr (assoc 'BYDAY rrule-props))) | ||
| 1157 | (weekday | ||
| 1158 | (cdr (rassoc | ||
| 1159 | byday | ||
| 1160 | icalendar-weekdayabbrev-table)))) | ||
| 1161 | (icalendar-dmsg "weekly not-all-day") | ||
| 1162 | (if weekday | ||
| 1163 | (setq diary-string | ||
| 1164 | (format "%s %s%s%s" weekday | ||
| 1165 | start-t (if end-t "-" "") | ||
| 1166 | (or end-t ""))) | ||
| 1167 | ;; FIXME!!!! | ||
| 1168 | ;; DTSTART;VALUE=DATE-TIME:20030919T090000 | ||
| 1169 | ;; DTEND;VALUE=DATE-TIME:20030919T113000 | ||
| 1170 | (setq diary-string | ||
| 1171 | (format | ||
| 1172 | "%%%%(diary-cyclic %s %s) %s%s%s" | ||
| 1173 | (* interval 7) | ||
| 1174 | (icalendar-datetime-to-european-date | ||
| 1175 | dtstart) | ||
| 1176 | start-t (if end-t "-" "") (or end-t "")))) | ||
| 1177 | (setq event-ok t)))) | ||
| 1178 | ;; yearly | ||
| 1179 | ((string-equal frequency "YEARLY") | ||
| 1180 | (icalendar-dmsg "yearly") | ||
| 1181 | (setq diary-string | ||
| 1182 | (format | ||
| 1183 | "%%%%(diary-anniversary %s)" | ||
| 1184 | (icalendar-datetime-to-european-date dtstart))) | ||
| 1185 | (setq event-ok t)) | ||
| 1186 | ;; FIXME: war auskommentiert: | ||
| 1187 | ((and (string-equal frequency "DAILY") | ||
| 1188 | ;;(not (string= start-d end-d)) | ||
| 1189 | ;;(not start-t) | ||
| 1190 | ;;(not end-t) | ||
| 1191 | ) | ||
| 1192 | (let ((ds (icalendar-datetime-to-noneuropean-date | ||
| 1193 | (icalendar-decode-isodatetime | ||
| 1194 | (icalendar-get-event-property e | ||
| 1195 | 'DTSTART)))) | ||
| 1196 | (de (icalendar-datetime-to-noneuropean-date | ||
| 1197 | (icalendar-decode-isodatetime | ||
| 1198 | until)))) | ||
| 1199 | (setq diary-string | ||
| 1200 | (format | ||
| 1201 | "%%%%(diary-block %d %d %d %d %d %d)" | ||
| 1202 | (nth 1 ds) (nth 0 ds) (nth 2 ds) | ||
| 1203 | (nth 1 de) (nth 0 de) (nth 2 de)))) | ||
| 1204 | (setq event-ok t))) | ||
| 1205 | )) | ||
| 1206 | (rdate | ||
| 1207 | (icalendar-dmsg "rdate event") | ||
| 1208 | (setq diary-string "") | ||
| 1209 | (mapcar (lambda (datestring) | ||
| 1210 | (setq diary-string | ||
| 1211 | (concat diary-string | ||
| 1212 | (format "......")))) | ||
| 1213 | (icalendar-split-value rdate))) | ||
| 1214 | ;; non-recurring event | ||
| 1215 | ;; long event | ||
| 1216 | ((not (string= start-d end-d)) | ||
| 1217 | (icalendar-dmsg "non-recurring event") | ||
| 1218 | (let ((ds (icalendar-datetime-to-noneuropean-date dtstart)) | ||
| 1219 | (de (icalendar-datetime-to-noneuropean-date dtend))) | ||
| 1220 | (setq diary-string | ||
| 1221 | (format "%%%%(diary-block %d %d %d %d %d %d)" | ||
| 1222 | (nth 1 ds) (nth 0 ds) (nth 2 ds) | ||
| 1223 | (nth 1 de) (nth 0 de) (nth 2 de)))) | ||
| 1224 | (setq event-ok t)) | ||
| 1225 | ;; not all-day | ||
| 1226 | ((and start-t (or (not end-t) | ||
| 1227 | (not (string= start-t end-t)))) | ||
| 1228 | (icalendar-dmsg "not all day event") | ||
| 1229 | (cond (end-t | ||
| 1230 | (setq diary-string (format "%s %s-%s" start-d | ||
| 1231 | start-t end-t))) | ||
| 1232 | (t | ||
| 1233 | (setq diary-string (format "%s %s" start-d | ||
| 1234 | start-t)))) | ||
| 1235 | (setq event-ok t)) | ||
| 1236 | ;; all-day event | ||
| 1237 | (t | ||
| 1238 | (icalendar-dmsg "all day event") | ||
| 1239 | (setq diary-string start-d) | ||
| 1240 | (setq event-ok t))) | ||
| 1241 | ;; add all other elements unless the user doesn't want to have | ||
| 1242 | ;; them | ||
| 1243 | (if event-ok | ||
| 1244 | (progn | ||
| 1245 | (setq diary-string | ||
| 1246 | (concat diary-string " " | ||
| 1247 | (icalendar-format-ical-event e))) | ||
| 1248 | (if do-not-ask (setq subject nil)) | ||
| 1249 | (icalendar-add-diary-entry diary-string diary-file | ||
| 1250 | non-marking subject)) | ||
| 1251 | ;; event was not ok | ||
| 1252 | (setq found-error t) | ||
| 1253 | (setq error-string | ||
| 1254 | (format "%s\nCannot handle this event:%s" | ||
| 1255 | error-string e)))) | ||
| 1256 | ;; handle errors | ||
| 1257 | (error | ||
| 1258 | (message "Ignoring event \"%s\"" e) | ||
| 1259 | (setq found-error t) | ||
| 1260 | (setq error-string (format "%s\nCannot handle this event: %s" | ||
| 1261 | error-string e))))) | ||
| 1262 | (if found-error | ||
| 1263 | (save-current-buffer | ||
| 1264 | (set-buffer (get-buffer-create " *icalendar-errors*")) | ||
| 1265 | (erase-buffer) | ||
| 1266 | (insert error-string))) | ||
| 1267 | (message "Converting icalendar...done") | ||
| 1268 | found-error)) | ||
| 1269 | |||
| 1270 | (defun icalendar-add-diary-entry (string diary-file non-marking | ||
| 1271 | &optional subject) | ||
| 1272 | "Add STRING to the diary file DIARY-FILE. | ||
| 1273 | STRING must be a properly formatted valid diary entry. NON-MARKING | ||
| 1274 | determines whether diary events are created as non-marking. If | ||
| 1275 | SUBJECT is not nil it must be a string that gives the subject of the | ||
| 1276 | entry. In this case the user will be asked whether he wants to insert | ||
| 1277 | the entry." | ||
| 1278 | (when (or (not subject) ; | ||
| 1279 | (y-or-n-p (format "Add appointment for `%s' to diary? " | ||
| 1280 | subject))) | ||
| 1281 | (when subject | ||
| 1282 | (setq non-marking | ||
| 1283 | (y-or-n-p (format "Make appointment non-marking? ")))) | ||
| 1284 | (save-window-excursion | ||
| 1285 | (unless diary-file | ||
| 1286 | (setq diary-file | ||
| 1287 | (read-file-name "Add appointment to this diary file: "))) | ||
| 1288 | (make-diary-entry string non-marking diary-file)))) | ||
| 1289 | |||
| 1290 | ;; ====================================================================== | ||
| 1291 | ;; (add-hook 'list-diary-entries-hook 'include-icalendar-files) | ||
| 1292 | ;; ====================================================================== | ||
| 1293 | (defun include-icalendar-files () | ||
| 1294 | "Not yet implemented.") | ||
| 1295 | |||
| 1296 | (provide 'icalendar) | ||
| 1297 | |||
| 1298 | ;; arch-tag: 74fdbe8e-0451-4e38-bb61-4416e822f4fc | ||
| 1299 | ;;; icalendar.el ends here | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 907ad5f3411..f4b77297867 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2004-10-06 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-group.el (gnus-update-group-mark-positions): | ||
| 4 | * gnus-sum.el (gnus-update-summary-mark-positions): | ||
| 5 | * message.el (message-check-news-body-syntax): | ||
| 6 | * gnus-msg.el (gnus-debug): Use mm-string-as-multibyte instead | ||
| 7 | of string-as-multibyte. | ||
| 8 | |||
| 9 | * gnus-sum.el (gnus-summary-insert-subject): Remove redundant setq. | ||
| 10 | |||
| 11 | 2004-10-05 Juri Linkov <juri@jurta.org> | ||
| 12 | |||
| 13 | * gnus-group.el (gnus-update-group-mark-positions): | ||
| 14 | * gnus-sum.el (gnus-update-summary-mark-positions): | ||
| 15 | * message.el (message-check-news-body-syntax): | ||
| 16 | * gnus-msg.el (gnus-debug): Use `string-as-multibyte' to convert | ||
| 17 | 8-bit unibyte values to a multibyte string for search functions. | ||
| 18 | |||
| 1 | 2004-10-01 Katsumi Yamaoka <yamaoka@jpl.org> | 19 | 2004-10-01 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 20 | ||
| 3 | * gnus-sum.el (gnus-summary-toggle-header): Make it work even if | 21 | * gnus-sum.el (gnus-summary-toggle-header): Make it work even if |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 9f7b259e066..435acb1d6c2 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -1046,7 +1046,8 @@ The following commands are available: | |||
| 1046 | (gnus-group-insert-group-line "dummy.group" 0 nil 0 nil) | 1046 | (gnus-group-insert-group-line "dummy.group" 0 nil 0 nil) |
| 1047 | (goto-char (point-min)) | 1047 | (goto-char (point-min)) |
| 1048 | (setq gnus-group-mark-positions | 1048 | (setq gnus-group-mark-positions |
| 1049 | (list (cons 'process (and (search-forward "\200" nil t) | 1049 | (list (cons 'process (and (search-forward |
| 1050 | (mm-string-as-multibyte "\200") nil t) | ||
| 1050 | (- (point) 2)))))))) | 1051 | (- (point) 2)))))))) |
| 1051 | 1052 | ||
| 1052 | (defun gnus-mouse-pick-group (e) | 1053 | (defun gnus-mouse-pick-group (e) |
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index 33531e7f8a4..7dcef4b813b 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el | |||
| @@ -1534,7 +1534,8 @@ The source file has to be in the Emacs load path." | |||
| 1534 | ;; Remove any control chars - they seem to cause trouble for some | 1534 | ;; Remove any control chars - they seem to cause trouble for some |
| 1535 | ;; mailers. (Byte-compiled output from the stuff above.) | 1535 | ;; mailers. (Byte-compiled output from the stuff above.) |
| 1536 | (goto-char point) | 1536 | (goto-char point) |
| 1537 | (while (re-search-forward "[\000-\010\013-\037\200-\237]" nil t) | 1537 | (while (re-search-forward (mm-string-as-multibyte |
| 1538 | "[\000-\010\013-\037\200-\237]") nil t) | ||
| 1538 | (replace-match (format "\\%03o" (string-to-char (match-string 0))) | 1539 | (replace-match (format "\\%03o" (string-to-char (match-string 0))) |
| 1539 | t t)))) | 1540 | t t)))) |
| 1540 | 1541 | ||
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 92ba2346949..84de9c4e1ab 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -3231,20 +3231,24 @@ buffer that was in action when the last article was fetched." | |||
| 3231 | [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil] | 3231 | [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil] |
| 3232 | 0 nil t 128 t nil "" nil 1) | 3232 | 0 nil t 128 t nil "" nil 1) |
| 3233 | (goto-char (point-min)) | 3233 | (goto-char (point-min)) |
| 3234 | (setq pos (list (cons 'unread (and (search-forward "\200" nil t) | 3234 | (setq pos (list (cons 'unread |
| 3235 | (- (point) (point-min) 1))))) | 3235 | (and (search-forward |
| 3236 | (mm-string-as-multibyte "\200") nil t) | ||
| 3237 | (- (point) (point-min) 1))))) | ||
| 3236 | (goto-char (point-min)) | 3238 | (goto-char (point-min)) |
| 3237 | (push (cons 'replied (and (search-forward "\201" nil t) | 3239 | (push (cons 'replied (and (search-forward |
| 3240 | (mm-string-as-multibyte "\201") nil t) | ||
| 3238 | (- (point) (point-min) 1))) | 3241 | (- (point) (point-min) 1))) |
| 3239 | pos) | 3242 | pos) |
| 3240 | (goto-char (point-min)) | 3243 | (goto-char (point-min)) |
| 3241 | (push (cons 'score (and (search-forward "\202" nil t) | 3244 | (push (cons 'score (and (search-forward |
| 3245 | (mm-string-as-multibyte "\202") nil t) | ||
| 3242 | (- (point) (point-min) 1))) | 3246 | (- (point) (point-min) 1))) |
| 3243 | pos) | 3247 | pos) |
| 3244 | (goto-char (point-min)) | 3248 | (goto-char (point-min)) |
| 3245 | (push (cons 'download | 3249 | (push (cons 'download (and (search-forward |
| 3246 | (and (search-forward "\203" nil t) | 3250 | (mm-string-as-multibyte "\203") nil t) |
| 3247 | (- (point) (point-min) 1))) | 3251 | (- (point) (point-min) 1))) |
| 3248 | pos))) | 3252 | pos))) |
| 3249 | (setq gnus-summary-mark-positions pos)))) | 3253 | (setq gnus-summary-mark-positions pos)))) |
| 3250 | 3254 | ||
| @@ -6009,8 +6013,7 @@ the subject line on." | |||
| 6009 | ;; Remove list identifiers from subject. | 6013 | ;; Remove list identifiers from subject. |
| 6010 | (when gnus-list-identifiers | 6014 | (when gnus-list-identifiers |
| 6011 | (let ((gnus-newsgroup-headers (list header))) | 6015 | (let ((gnus-newsgroup-headers (list header))) |
| 6012 | (gnus-summary-remove-list-identifiers) | 6016 | (gnus-summary-remove-list-identifiers))) |
| 6013 | (setq header (car gnus-newsgroup-headers)))) | ||
| 6014 | (when old-header | 6017 | (when old-header |
| 6015 | (mail-header-set-number header (mail-header-number old-header))) | 6018 | (mail-header-set-number header (mail-header-number old-header))) |
| 6016 | (setq gnus-newsgroup-sparse | 6019 | (setq gnus-newsgroup-sparse |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8e5edbc048a..bfaf1675703 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -4399,7 +4399,9 @@ Otherwise, generate and save a value for `canlock-password' first." | |||
| 4399 | nil)))) | 4399 | nil)))) |
| 4400 | ;; Check for control characters. | 4400 | ;; Check for control characters. |
| 4401 | (message-check 'control-chars | 4401 | (message-check 'control-chars |
| 4402 | (if (re-search-forward "[\000-\007\013\015-\032\034-\037\200-\237]" nil t) | 4402 | (if (re-search-forward |
| 4403 | (mm-string-as-multibyte "[\000-\007\013\015-\032\034-\037\200-\237]") | ||
| 4404 | nil t) | ||
| 4403 | (y-or-n-p | 4405 | (y-or-n-p |
| 4404 | "The article contains control characters. Really post? ") | 4406 | "The article contains control characters. Really post? ") |
| 4405 | t)) | 4407 | t)) |
diff --git a/lisp/info.el b/lisp/info.el index b779bb41ca6..2a20fc4898c 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -1729,7 +1729,7 @@ If SAME-FILE is non-nil, do not move to a different Info file." | |||
| 1729 | (let ((inhibit-read-only t)) | 1729 | (let ((inhibit-read-only t)) |
| 1730 | (erase-buffer) | 1730 | (erase-buffer) |
| 1731 | (goto-char (point-min)) | 1731 | (goto-char (point-min)) |
| 1732 | (insert "\n\^_\nFile: history Node: Top, Up: (dir)\n\n") | 1732 | (insert "\n\^_\nFile: history, Node: Top, Up: (dir)\n\n") |
| 1733 | (insert "Recently Visited Nodes\n**********************\n\n") | 1733 | (insert "Recently Visited Nodes\n**********************\n\n") |
| 1734 | (insert "* Menu:\n\n") | 1734 | (insert "* Menu:\n\n") |
| 1735 | (let ((hl (delete '("history" "Top") Info-history-list))) | 1735 | (let ((hl (delete '("history" "Top") Info-history-list))) |
| @@ -1749,26 +1749,31 @@ If SAME-FILE is non-nil, do not move to a different Info file." | |||
| 1749 | "Go to a node with table of contents of the current Info file. | 1749 | "Go to a node with table of contents of the current Info file. |
| 1750 | Table of contents is created from the tree structure of menus." | 1750 | Table of contents is created from the tree structure of menus." |
| 1751 | (interactive) | 1751 | (interactive) |
| 1752 | (let ((curr-file Info-current-file) | 1752 | (let ((curr-file (substring-no-properties Info-current-file)) |
| 1753 | (curr-node Info-current-node) | 1753 | (curr-node (substring-no-properties Info-current-node)) |
| 1754 | p) | 1754 | p) |
| 1755 | (with-current-buffer (get-buffer-create " *info-toc*") | 1755 | (with-current-buffer (get-buffer-create " *info-toc*") |
| 1756 | (let ((inhibit-read-only t) | 1756 | (let ((inhibit-read-only t) |
| 1757 | (node-list (Info-build-toc curr-file))) | 1757 | (node-list (Info-build-toc curr-file))) |
| 1758 | (erase-buffer) | 1758 | (erase-buffer) |
| 1759 | (goto-char (point-min)) | 1759 | (goto-char (point-min)) |
| 1760 | (insert "\n\^_\nFile: toc Node: Top, Up: (dir)\n\n") | 1760 | (insert "\n\^_\nFile: toc, Node: Top, Up: (dir)\n\n") |
| 1761 | (insert "Table of Contents\n*****************\n\n") | 1761 | (insert "Table of Contents\n*****************\n\n") |
| 1762 | (insert "*Note Top::\n") | 1762 | (insert "*Note Top: (" curr-file ")Top.\n") |
| 1763 | (Info-insert-toc | 1763 | (Info-insert-toc |
| 1764 | (nth 2 (assoc "Top" node-list)) ; get Top nodes | 1764 | (nth 2 (assoc "Top" node-list)) ; get Top nodes |
| 1765 | node-list 0 (substring-no-properties curr-file))) | 1765 | node-list 0 curr-file)) |
| 1766 | (if (not (bobp)) | 1766 | (if (not (bobp)) |
| 1767 | (let ((Info-hide-note-references 'hide) | 1767 | (let ((Info-hide-note-references 'hide) |
| 1768 | (Info-fontify-visited-nodes nil)) | 1768 | (Info-fontify-visited-nodes nil)) |
| 1769 | (Info-mode) | 1769 | (Info-mode) |
| 1770 | (setq Info-current-file "toc" Info-current-node "Top") | 1770 | (setq Info-current-file "toc" Info-current-node "Top") |
| 1771 | (Info-fontify-node))) | 1771 | (goto-char (point-min)) |
| 1772 | (narrow-to-region (or (re-search-forward "\n[\^_\f]\n" nil t) | ||
| 1773 | (point-min)) | ||
| 1774 | (point-max)) | ||
| 1775 | (Info-fontify-node) | ||
| 1776 | (widen))) | ||
| 1772 | (goto-char (point-min)) | 1777 | (goto-char (point-min)) |
| 1773 | (if (setq p (search-forward (concat "*Note " curr-node ":") nil t)) | 1778 | (if (setq p (search-forward (concat "*Note " curr-node ":") nil t)) |
| 1774 | (setq p (- p (length curr-node) 2)))) | 1779 | (setq p (- p (length curr-node) 2)))) |
| @@ -1789,14 +1794,12 @@ Table of contents is created from the tree structure of menus." | |||
| 1789 | 1794 | ||
| 1790 | (defun Info-build-toc (file) | 1795 | (defun Info-build-toc (file) |
| 1791 | "Build table of contents from menus of Info FILE and its subfiles." | 1796 | "Build table of contents from menus of Info FILE and its subfiles." |
| 1792 | (if (equal file "dir") | ||
| 1793 | (error "Table of contents for Info directory is not supported yet")) | ||
| 1794 | (with-temp-buffer | 1797 | (with-temp-buffer |
| 1795 | (let* ((default-directory (or (and (stringp file) | 1798 | (let* ((file (and (stringp file) (Info-find-file file))) |
| 1796 | (file-name-directory | 1799 | (default-directory (or (and (stringp file) |
| 1797 | (setq file (Info-find-file file)))) | 1800 | (file-name-directory file)) |
| 1798 | default-directory)) | 1801 | default-directory)) |
| 1799 | (main-file file) | 1802 | (main-file (and (stringp file) file)) |
| 1800 | (sections '(("Top" "Top"))) | 1803 | (sections '(("Top" "Top"))) |
| 1801 | nodes subfiles) | 1804 | nodes subfiles) |
| 1802 | (while (or main-file subfiles) | 1805 | (while (or main-file subfiles) |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 117d1bfdc13..96a3e0e0ac2 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -680,16 +680,7 @@ is treated as a regexp. See \\[isearch-forward] for more info." | |||
| 680 | (if isearch-small-window | 680 | (if isearch-small-window |
| 681 | (goto-char found-point) | 681 | (goto-char found-point) |
| 682 | ;; Exiting the save-window-excursion clobbers window-start; restore it. | 682 | ;; Exiting the save-window-excursion clobbers window-start; restore it. |
| 683 | (set-window-start (selected-window) found-start t)) | 683 | (set-window-start (selected-window) found-start t))) |
| 684 | |||
| 685 | ;; If there was movement, mark the starting position. | ||
| 686 | ;; Maybe should test difference between and set mark iff > threshold. | ||
| 687 | (if (/= (point) isearch-opoint) | ||
| 688 | (or (and transient-mark-mode mark-active) | ||
| 689 | (progn | ||
| 690 | (push-mark isearch-opoint t) | ||
| 691 | (or executing-kbd-macro (> (minibuffer-depth) 0) | ||
| 692 | (message "Mark saved where search started")))))) | ||
| 693 | 684 | ||
| 694 | (setq isearch-mode nil) | 685 | (setq isearch-mode nil) |
| 695 | (if isearch-input-method-local-p | 686 | (if isearch-input-method-local-p |
| @@ -714,6 +705,16 @@ is treated as a regexp. See \\[isearch-forward] for more info." | |||
| 714 | (isearch-update-ring isearch-string isearch-regexp)) | 705 | (isearch-update-ring isearch-string isearch-regexp)) |
| 715 | 706 | ||
| 716 | (run-hooks 'isearch-mode-end-hook) | 707 | (run-hooks 'isearch-mode-end-hook) |
| 708 | |||
| 709 | ;; If there was movement, mark the starting position. | ||
| 710 | ;; Maybe should test difference between and set mark iff > threshold. | ||
| 711 | (if (/= (point) isearch-opoint) | ||
| 712 | (or (and transient-mark-mode mark-active) | ||
| 713 | (progn | ||
| 714 | (push-mark isearch-opoint t) | ||
| 715 | (or executing-kbd-macro (> (minibuffer-depth) 0) | ||
| 716 | (message "Mark saved where search started"))))) | ||
| 717 | |||
| 717 | (and (not edit) isearch-recursive-edit (exit-recursive-edit))) | 718 | (and (not edit) isearch-recursive-edit (exit-recursive-edit))) |
| 718 | 719 | ||
| 719 | (defun isearch-update-ring (string &optional regexp) | 720 | (defun isearch-update-ring (string &optional regexp) |
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 120777ab704..5711e7903ad 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el | |||
| @@ -423,7 +423,7 @@ and raises an error or returns nil if NOERROR is non-nil." | |||
| 423 | (defun comment-beginning () | 423 | (defun comment-beginning () |
| 424 | "Find the beginning of the enclosing comment. | 424 | "Find the beginning of the enclosing comment. |
| 425 | Returns nil if not inside a comment, else moves point and returns | 425 | Returns nil if not inside a comment, else moves point and returns |
| 426 | the same as `comment-search-forward'." | 426 | the same as `comment-search-backward'." |
| 427 | ;; HACK ATTACK! | 427 | ;; HACK ATTACK! |
| 428 | ;; We should really test `in-string-p' but that can be expensive. | 428 | ;; We should really test `in-string-p' but that can be expensive. |
| 429 | (unless (eq (get-text-property (point) 'face) 'font-lock-string-face) | 429 | (unless (eq (get-text-property (point) 'face) 'font-lock-string-face) |
| @@ -435,7 +435,7 @@ the same as `comment-search-forward'." | |||
| 435 | (and | 435 | (and |
| 436 | ;; For modes where comment-start and comment-end are the same, | 436 | ;; For modes where comment-start and comment-end are the same, |
| 437 | ;; the search above may have found a `ce' rather than a `cs'. | 437 | ;; the search above may have found a `ce' rather than a `cs'. |
| 438 | (or (not (looking-at comment-end-skip)) | 438 | (or (if comment-end-skip (not (looking-at comment-end-skip))) |
| 439 | ;; Maybe font-lock knows that it's a `cs'? | 439 | ;; Maybe font-lock knows that it's a `cs'? |
| 440 | (eq (get-text-property (match-end 0) 'face) | 440 | (eq (get-text-property (match-end 0) 'face) |
| 441 | 'font-lock-comment-face) | 441 | 'font-lock-comment-face) |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 612a2034e00..d8f2cf34867 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -188,6 +188,7 @@ detailed description of this mode. | |||
| 188 | (setq gdb-var-changed nil) | 188 | (setq gdb-var-changed nil) |
| 189 | (setq gdb-first-prompt nil) | 189 | (setq gdb-first-prompt nil) |
| 190 | (setq gdb-prompting nil) | 190 | (setq gdb-prompting nil) |
| 191 | (setq gdb-input-queue nil) | ||
| 191 | (setq gdb-current-item nil) | 192 | (setq gdb-current-item nil) |
| 192 | (setq gdb-pending-triggers nil) | 193 | (setq gdb-pending-triggers nil) |
| 193 | (setq gdb-output-sink 'user) | 194 | (setq gdb-output-sink 'user) |
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index c2ed47cb48d..71bb6cf137d 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el | |||
| @@ -258,8 +258,8 @@ Commands: | |||
| 258 | (define-key enriched-mode-map "\M-j" 'facemenu-justification-menu) | 258 | (define-key enriched-mode-map "\M-j" 'facemenu-justification-menu) |
| 259 | (define-key enriched-mode-map "\M-S" 'set-justification-center) | 259 | (define-key enriched-mode-map "\M-S" 'set-justification-center) |
| 260 | (define-key enriched-mode-map "\C-x\t" 'increase-left-margin) | 260 | (define-key enriched-mode-map "\C-x\t" 'increase-left-margin) |
| 261 | (define-key enriched-mode-map "\C-c\C-l" 'set-left-margin) | 261 | (define-key enriched-mode-map "\C-c[" 'set-left-margin) |
| 262 | (define-key enriched-mode-map "\C-c\C-r" 'set-right-margin) | 262 | (define-key enriched-mode-map "\C-c]" 'set-right-margin) |
| 263 | 263 | ||
| 264 | ;;; | 264 | ;;; |
| 265 | ;;; Some functions dealing with text-properties, especially indentation | 265 | ;;; Some functions dealing with text-properties, especially indentation |
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 1c4b89f0a62..2a9059e2f56 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*- | 1 | ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985,86,89,92,94,95,96,97,98,1999,2002,03,2004 | 3 | ;; Copyright (C) 1985, 1986, 1989, 1992, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2002, 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | ;; Keywords: tex | 7 | ;; Keywords: tex |
| @@ -196,7 +196,11 @@ use." | |||
| 196 | :group 'tex-view) | 196 | :group 'tex-view) |
| 197 | 197 | ||
| 198 | ;;;###autoload | 198 | ;;;###autoload |
| 199 | (defcustom tex-dvi-view-command '(if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s") | 199 | (defcustom tex-dvi-view-command |
| 200 | '(cond | ||
| 201 | ((eq window-system 'x) "xdvi") | ||
| 202 | ((eq window-system 'w32) "yap") | ||
| 203 | (t "dvi2tty * | cat -s")) | ||
| 200 | "*Command used by \\[tex-view] to display a `.dvi' file. | 204 | "*Command used by \\[tex-view] to display a `.dvi' file. |
| 201 | If it is a string, that specifies the command directly. | 205 | If it is a string, that specifies the command directly. |
| 202 | If this string contains an asterisk (`*'), that is replaced by the file name; | 206 | If this string contains an asterisk (`*'), that is replaced by the file name; |
| @@ -453,7 +457,8 @@ An alternative value is \" . \", if you use a font with a narrow period." | |||
| 453 | '("input" "include" "includeonly" "bibliography" | 457 | '("input" "include" "includeonly" "bibliography" |
| 454 | "epsfig" "psfig" "epsf" "nofiles" "usepackage" | 458 | "epsfig" "psfig" "epsf" "nofiles" "usepackage" |
| 455 | "documentstyle" "documentclass" "verbatiminput" | 459 | "documentstyle" "documentclass" "verbatiminput" |
| 456 | "includegraphics" "includegraphics*") | 460 | "includegraphics" "includegraphics*" |
| 461 | "url" "nolinkurl") | ||
| 457 | t)) | 462 | t)) |
| 458 | ;; Miscellany. | 463 | ;; Miscellany. |
| 459 | (slash "\\\\") | 464 | (slash "\\\\") |
| @@ -771,8 +776,10 @@ Inherits `shell-mode-map' with a few additions.") | |||
| 771 | "part" "chapter" "newcommand" | 776 | "part" "chapter" "newcommand" |
| 772 | "renewcommand") 'words) | 777 | "renewcommand") 'words) |
| 773 | "\\|NeedsTeXFormat{LaTeX"))) | 778 | "\\|NeedsTeXFormat{LaTeX"))) |
| 774 | (if (looking-at | 779 | (if (and (looking-at |
| 775 | "document\\(style\\|class\\)\\(\\[.*\\]\\)?{slides}") | 780 | "document\\(style\\|class\\)\\(\\[.*\\]\\)?{slides}") |
| 781 | ;; SliTeX is almost never used any more nowadays. | ||
| 782 | (tex-executable-exists-p slitex-run-command)) | ||
| 776 | 'slitex-mode | 783 | 'slitex-mode |
| 777 | 'latex-mode) | 784 | 'latex-mode) |
| 778 | 'plain-tex-mode)))) | 785 | 'plain-tex-mode)))) |
| @@ -1219,8 +1226,13 @@ A prefix arg inhibits the checking." | |||
| 1219 | (defvar latex-block-default "enumerate") | 1226 | (defvar latex-block-default "enumerate") |
| 1220 | 1227 | ||
| 1221 | (defvar latex-block-args-alist | 1228 | (defvar latex-block-args-alist |
| 1222 | '(("array" nil ?\{ (skeleton-read "[options]: ") ?\}) | 1229 | '(("array" nil ?\{ (skeleton-read "Format: ") ?\}) |
| 1223 | ("tabular" nil ?\{ (skeleton-read "[options]: ") ?\})) | 1230 | ("tabular" nil ?\{ (skeleton-read "Format: ") ?\}) |
| 1231 | ("minipage" nil ?\{ (skeleton-read "Size: ") ?\}) | ||
| 1232 | ("picture" nil ?\( (skeleton-read "SizeX,SizeY: ") ?\)) | ||
| 1233 | ;; FIXME: This is right for Prosper, but not for seminar. | ||
| 1234 | ;; ("slide" nil ?\{ (skeleton-read "Title: ") ?\}) | ||
| 1235 | ) | ||
| 1224 | "Skeleton element to use for arguments to particular environments. | 1236 | "Skeleton element to use for arguments to particular environments. |
| 1225 | Every element of the list has the form (NAME . SKEL-ELEM) where NAME is | 1237 | Every element of the list has the form (NAME . SKEL-ELEM) where NAME is |
| 1226 | the name of the environment and SKEL-ELEM is an element to use in | 1238 | the name of the environment and SKEL-ELEM is an element to use in |
| @@ -1229,8 +1241,11 @@ a skeleton (see `skeleton-insert').") | |||
| 1229 | (defvar latex-block-body-alist | 1241 | (defvar latex-block-body-alist |
| 1230 | '(("enumerate" nil '(latex-insert-item) > _) | 1242 | '(("enumerate" nil '(latex-insert-item) > _) |
| 1231 | ("itemize" nil '(latex-insert-item) > _) | 1243 | ("itemize" nil '(latex-insert-item) > _) |
| 1232 | ("table" nil "\\caption{" > - "}" > \n _) | 1244 | ("table" nil "\\caption{" > (skeleton-read "Caption: ") "}" > \n |
| 1233 | ("figure" nil > _ \n "\\caption{" > _ "}" >)) | 1245 | '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table")) |
| 1246 | \n _) | ||
| 1247 | ("figure" nil > _ \n "\\caption{" > (skeleton-read "Caption: ") "}" > \n | ||
| 1248 | '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table")))) | ||
| 1234 | "Skeleton element to use for the body of particular environments. | 1249 | "Skeleton element to use for the body of particular environments. |
| 1235 | Every element of the list has the form (NAME . SKEL-ELEM) where NAME is | 1250 | Every element of the list has the form (NAME . SKEL-ELEM) where NAME is |
| 1236 | the name of the environment and SKEL-ELEM is an element to use in | 1251 | the name of the environment and SKEL-ELEM is an element to use in |
| @@ -1254,7 +1269,8 @@ Puts point on a blank line between them." | |||
| 1254 | choice) | 1269 | choice) |
| 1255 | \n "\\begin{" str "}" | 1270 | \n "\\begin{" str "}" |
| 1256 | (cdr (assoc str latex-block-args-alist)) | 1271 | (cdr (assoc str latex-block-args-alist)) |
| 1257 | > \n (or (cdr (assoc str latex-block-body-alist)) '(nil > _)) \n | 1272 | > \n (or (cdr (assoc str latex-block-body-alist)) '(nil > _)) |
| 1273 | (unless (bolp) '\n) | ||
| 1258 | "\\end{" str "}" > \n) | 1274 | "\\end{" str "}" > \n) |
| 1259 | 1275 | ||
| 1260 | (define-skeleton latex-insert-item | 1276 | (define-skeleton latex-insert-item |
| @@ -1598,7 +1614,7 @@ If NOT-ALL is non-nil, save the `.dvi' file." | |||
| 1598 | ("texindex %r.??") | 1614 | ("texindex %r.??") |
| 1599 | ("dvipdfm %r" "%r.dvi" "%r.pdf") | 1615 | ("dvipdfm %r" "%r.dvi" "%r.pdf") |
| 1600 | ("dvipdf %r" "%r.dvi" "%r.pdf") | 1616 | ("dvipdf %r" "%r.dvi" "%r.pdf") |
| 1601 | ("dvips %r" "%r.dvi" "%r.ps") | 1617 | ("dvips -o %r.ps %r" "%r.dvi" "%r.ps") |
| 1602 | ("ps2pdf %r.ps" "%r.ps" "%r.pdf") | 1618 | ("ps2pdf %r.ps" "%r.ps" "%r.pdf") |
| 1603 | ("gv %r.ps &" "%r.ps") | 1619 | ("gv %r.ps &" "%r.ps") |
| 1604 | ("gv %r.pdf &" "%r.pdf") | 1620 | ("gv %r.pdf &" "%r.pdf") |
| @@ -1767,7 +1783,7 @@ FILE is typically the output DVI or PDF file." | |||
| 1767 | (not (tex-uptodate-p (format-spec out fspec))))))) | 1783 | (not (tex-uptodate-p (format-spec out fspec))))))) |
| 1768 | 1784 | ||
| 1769 | (defun tex-compile-default (fspec) | 1785 | (defun tex-compile-default (fspec) |
| 1770 | "Guess a default command given the format-spec FSPEC." | 1786 | "Guess a default command given the `format-spec' FSPEC." |
| 1771 | ;; TODO: Learn to do latex+dvips! | 1787 | ;; TODO: Learn to do latex+dvips! |
| 1772 | (let ((cmds nil) | 1788 | (let ((cmds nil) |
| 1773 | (unchanged-in nil)) | 1789 | (unchanged-in nil)) |
| @@ -1777,6 +1793,9 @@ FILE is typically the output DVI or PDF file." | |||
| 1777 | (if (tex-command-active-p cmd fspec) | 1793 | (if (tex-command-active-p cmd fspec) |
| 1778 | (push cmd cmds) | 1794 | (push cmd cmds) |
| 1779 | (push (nth 1 cmd) unchanged-in)))) | 1795 | (push (nth 1 cmd) unchanged-in)))) |
| 1796 | ;; If no command seems to be applicable, arbitrarily pick the first one. | ||
| 1797 | (unless cmds | ||
| 1798 | (setq cmds (list (car tex-compile-commands)))) | ||
| 1780 | ;; Remove those commands whose input was considered stable for | 1799 | ;; Remove those commands whose input was considered stable for |
| 1781 | ;; some other command (typically if (t . "%.pdf") is inactive | 1800 | ;; some other command (typically if (t . "%.pdf") is inactive |
| 1782 | ;; then we're using pdflatex and the fact that the dvi file | 1801 | ;; then we're using pdflatex and the fact that the dvi file |
| @@ -2261,6 +2280,7 @@ Runs the shell command defined by `tex-show-queue-command'." | |||
| 2261 | (defvar tex-indent-basic 2) | 2280 | (defvar tex-indent-basic 2) |
| 2262 | (defvar tex-indent-item tex-indent-basic) | 2281 | (defvar tex-indent-item tex-indent-basic) |
| 2263 | (defvar tex-indent-item-re "\\\\\\(bib\\)?item\\>") | 2282 | (defvar tex-indent-item-re "\\\\\\(bib\\)?item\\>") |
| 2283 | (defvar latex-noindent-environments '("document")) | ||
| 2264 | 2284 | ||
| 2265 | (defvar tex-latex-indent-syntax-table | 2285 | (defvar tex-latex-indent-syntax-table |
| 2266 | (let ((st (make-syntax-table tex-mode-syntax-table))) | 2286 | (let ((st (make-syntax-table tex-mode-syntax-table))) |
| @@ -2311,7 +2331,6 @@ There might be text before point." | |||
| 2311 | (latex-find-indent 'virtual)))) | 2331 | (latex-find-indent 'virtual)))) |
| 2312 | ;; Default (maybe an argument) | 2332 | ;; Default (maybe an argument) |
| 2313 | (let ((pos (point)) | 2333 | (let ((pos (point)) |
| 2314 | (char (char-after)) | ||
| 2315 | ;; Outdent \item if necessary. | 2334 | ;; Outdent \item if necessary. |
| 2316 | (indent (if (looking-at tex-indent-item-re) (- tex-indent-item) 0)) | 2335 | (indent (if (looking-at tex-indent-item-re) (- tex-indent-item) 0)) |
| 2317 | up-list-pos) | 2336 | up-list-pos) |
| @@ -2329,6 +2348,17 @@ There might be text before point." | |||
| 2329 | ;; Have to indent relative to the open-paren. | 2348 | ;; Have to indent relative to the open-paren. |
| 2330 | (goto-char up-list-pos) | 2349 | (goto-char up-list-pos) |
| 2331 | (if (and (not tex-indent-allhanging) | 2350 | (if (and (not tex-indent-allhanging) |
| 2351 | (save-excursion | ||
| 2352 | ;; Make sure we're an argument to a macro and | ||
| 2353 | ;; that the macro is at the beginning of a line. | ||
| 2354 | (condition-case nil | ||
| 2355 | (progn | ||
| 2356 | (while (eq (char-syntax (char-after)) ?\() | ||
| 2357 | (forward-sexp -1)) | ||
| 2358 | (and (eq (char-syntax (char-after)) ?/) | ||
| 2359 | (progn (skip-chars-backward " \t&") | ||
| 2360 | (bolp)))) | ||
| 2361 | (scan-error nil))) | ||
| 2332 | (> pos (progn (latex-down-list) | 2362 | (> pos (progn (latex-down-list) |
| 2333 | (forward-comment (point-max)) | 2363 | (forward-comment (point-max)) |
| 2334 | (point)))) | 2364 | (point)))) |
| @@ -2336,18 +2366,24 @@ There might be text before point." | |||
| 2336 | (current-column) | 2366 | (current-column) |
| 2337 | ;; We're the first element after a hanging brace. | 2367 | ;; We're the first element after a hanging brace. |
| 2338 | (goto-char up-list-pos) | 2368 | (goto-char up-list-pos) |
| 2339 | (+ indent tex-indent-basic (latex-find-indent 'virtual)))) | 2369 | (+ (if (and (looking-at "\\\\begin *{\\([^\n}]+\\)") |
| 2370 | (member (match-string 1) | ||
| 2371 | latex-noindent-environments)) | ||
| 2372 | 0 tex-indent-basic) | ||
| 2373 | indent (latex-find-indent 'virtual)))) | ||
| 2340 | ;; We're now at the "beginning" of a line. | 2374 | ;; We're now at the "beginning" of a line. |
| 2341 | ((not (and (not virtual) (eq (char-after) ?\\))) | 2375 | ((not (and (not virtual) (eq (char-after) ?\\))) |
| 2342 | ;; Nothing particular here: just keep the same indentation. | 2376 | ;; Nothing particular here: just keep the same indentation. |
| 2343 | (+ indent (current-column))) | 2377 | (+ indent (current-column))) |
| 2344 | ;; We're now looking at a macro call. | 2378 | ;; We're now looking at a macro call. |
| 2345 | ((looking-at tex-indent-item-re) | 2379 | ((looking-at tex-indent-item-re) |
| 2346 | ;; Indenting relative to an item, have to re-add the outdenting. | 2380 | ;; Indenting relative to an item, have to re-add the outdenting. |
| 2347 | (+ indent (current-column) tex-indent-item)) | 2381 | (+ indent (current-column) tex-indent-item)) |
| 2348 | (t | 2382 | (t |
| 2349 | (let ((col (current-column))) | 2383 | (let ((col (current-column))) |
| 2350 | (if (or (null char) (not (eq (char-syntax char) ?\())) | 2384 | (if (or (not (eq (char-syntax (or (char-after pos) ?\ )) ?\()) |
| 2385 | ;; Can't be an arg if there's an empty line inbetween. | ||
| 2386 | (save-excursion (re-search-forward "^[ \t]*$" pos t))) | ||
| 2351 | ;; If the first char was not an open-paren, there's | 2387 | ;; If the first char was not an open-paren, there's |
| 2352 | ;; a risk that this is really not an argument to the | 2388 | ;; a risk that this is really not an argument to the |
| 2353 | ;; macro at all. | 2389 | ;; macro at all. |
| @@ -2422,5 +2458,5 @@ There might be text before point." | |||
| 2422 | 2458 | ||
| 2423 | (provide 'tex-mode) | 2459 | (provide 'tex-mode) |
| 2424 | 2460 | ||
| 2425 | ;;; arch-tag: c0a680b1-63aa-4547-84b9-4193c29c0080 | 2461 | ;; arch-tag: c0a680b1-63aa-4547-84b9-4193c29c0080 |
| 2426 | ;;; tex-mode.el ends here | 2462 | ;;; tex-mode.el ends here |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 69851ac5046..0da4297bb86 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-10-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url-handlers.el (url-insert-file-contents): Use the URL to decide the | ||
| 4 | encoding, not the buffer-file-name (which might not even exist). | ||
| 5 | |||
| 1 | 2004-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2004-09-20 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * url-handlers.el (url-insert-file-contents): Decode contents. | 8 | * url-handlers.el (url-insert-file-contents): Decode contents. |
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el index 56497b00119..18a2e273637 100644 --- a/lisp/url/url-handlers.el +++ b/lisp/url/url-handlers.el | |||
| @@ -208,7 +208,7 @@ accessible." | |||
| 208 | ;; annotation which we could use as a hint of the locale in use | 208 | ;; annotation which we could use as a hint of the locale in use |
| 209 | ;; at the remote site. Not sure how/if that should be done. --Stef | 209 | ;; at the remote site. Not sure how/if that should be done. --Stef |
| 210 | (decode-coding-inserted-region | 210 | (decode-coding-inserted-region |
| 211 | start (point) buffer-file-name visit beg end replace))) | 211 | start (point) url visit beg end replace))) |
| 212 | (list url (length data)))) | 212 | (list url (length data)))) |
| 213 | 213 | ||
| 214 | (defun url-file-name-completion (url directory) | 214 | (defun url-file-name-completion (url directory) |
diff --git a/lisp/xml.el b/lisp/xml.el index 993ef59b276..f1d8cbb1f00 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -598,8 +598,8 @@ This follows the rule [28] in the XML specifications." | |||
| 598 | nil) | 598 | nil) |
| 599 | (t | 599 | (t |
| 600 | (if xml-validating-parser | 600 | (if xml-validating-parser |
| 601 | error "XML: (Validity) Invalid element type in the DTD"))) | 601 | (error "XML: (Validity) Invalid element type in the DTD")))) |
| 602 | 602 | ||
| 603 | ;; rule [45]: the element declaration must be unique | 603 | ;; rule [45]: the element declaration must be unique |
| 604 | (if (and (assoc element dtd) | 604 | (if (and (assoc element dtd) |
| 605 | xml-validating-parser) | 605 | xml-validating-parser) |
| @@ -727,13 +727,13 @@ This follows the rule [28] in the XML specifications." | |||
| 727 | (match-string 1 this-part))))))) | 727 | (match-string 1 this-part))))))) |
| 728 | 728 | ||
| 729 | (cond ((null children) | 729 | (cond ((null children) |
| 730 | (if (stringp expansion) | 730 | (if (and (eq (length expansion) 1) |
| 731 | (stringp (cadr expansion))) | ||
| 731 | (setq children (concat prev-part expansion)) | 732 | (setq children (concat prev-part expansion)) |
| 732 | (if (stringp (car (last expansion))) | 733 | (if (stringp (car expansion)) |
| 733 | (progn | 734 | (setq children |
| 734 | (setq children | 735 | (list (concat prev-part (car expansion)) |
| 735 | (list (concat prev-part (car expansion)) | 736 | (append (cdr expansion)))) |
| 736 | (cdr expansion)))) | ||
| 737 | (setq children (append expansion prev-part))))) | 737 | (setq children (append expansion prev-part))))) |
| 738 | ((stringp children) | 738 | ((stringp children) |
| 739 | (if (stringp expansion) | 739 | (if (stringp expansion) |
| @@ -756,11 +756,15 @@ This follows the rule [28] in the XML specifications." | |||
| 756 | (cond ((stringp children) | 756 | (cond ((stringp children) |
| 757 | (concat children (substring string point))) | 757 | (concat children (substring string point))) |
| 758 | ((stringp (car (last children))) | 758 | ((stringp (car (last children))) |
| 759 | (concat (car children) (substring string point))) | 759 | (concat (car (last children)) (substring string point))) |
| 760 | ((null children) | 760 | ((null children) |
| 761 | string) | 761 | string) |
| 762 | (t | 762 | (t |
| 763 | (nreverse children))))) | 763 | (concat (mapconcat 'identity |
| 764 | (nreverse children) | ||
| 765 | "") | ||
| 766 | (substring string point)))))) | ||
| 767 | |||
| 764 | ;;******************************************************************* | 768 | ;;******************************************************************* |
| 765 | ;;** | 769 | ;;** |
| 766 | ;;** Printing a tree. | 770 | ;;** Printing a tree. |
diff --git a/lispintro/emacs-lisp-intro.texi b/lispintro/emacs-lisp-intro.texi index 2096a60928f..4130eefd2cf 100644 --- a/lispintro/emacs-lisp-intro.texi +++ b/lispintro/emacs-lisp-intro.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | @c \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @comment %**start of header | 2 | @comment %**start of header |
| 3 | @setfilename ../info/eintr | 3 | @setfilename ../info/eintr |
| 4 | @c setfilename emacs-lisp-intro.info | ||
| 4 | @c sethtmlfilename emacs-lisp-intro.html | 5 | @c sethtmlfilename emacs-lisp-intro.html |
| 5 | @settitle Programming in Emacs Lisp | 6 | @settitle Programming in Emacs Lisp |
| 6 | @syncodeindex vr cp | 7 | @syncodeindex vr cp |
| @@ -21,8 +22,8 @@ | |||
| 21 | 22 | ||
| 22 | @comment %**end of header | 23 | @comment %**end of header |
| 23 | 24 | ||
| 24 | @set edition-number 2.12 | 25 | @set edition-number 2.13 |
| 25 | @set update-date 2003 Nov 19 | 26 | @set update-date 2004 Oct 5 |
| 26 | 27 | ||
| 27 | @ignore | 28 | @ignore |
| 28 | ## Summary of shell commands to create various output formats: | 29 | ## Summary of shell commands to create various output formats: |
| @@ -61,6 +62,8 @@ | |||
| 61 | ## View Info output with standalone reader | 62 | ## View Info output with standalone reader |
| 62 | info emacs-lisp-intro.info | 63 | info emacs-lisp-intro.info |
| 63 | 64 | ||
| 65 | ## popd | ||
| 66 | |||
| 64 | @end ignore | 67 | @end ignore |
| 65 | 68 | ||
| 66 | @c ================ Included Figures ================ | 69 | @c ================ Included Figures ================ |
| @@ -180,7 +183,7 @@ people who are not programmers. | |||
| 180 | Edition @value{edition-number}, @value{update-date} | 183 | Edition @value{edition-number}, @value{update-date} |
| 181 | @sp 1 | 184 | @sp 1 |
| 182 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, | 185 | Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, |
| 183 | 2002, 2003 Free Software Foundation, Inc. | 186 | 2002, 2003, 2004 Free Software Foundation, Inc. |
| 184 | @sp 1 | 187 | @sp 1 |
| 185 | 188 | ||
| 186 | @iftex | 189 | @iftex |
| @@ -1050,13 +1053,16 @@ Robert J. Chassell | |||
| 1050 | @chapter List Processing | 1053 | @chapter List Processing |
| 1051 | 1054 | ||
| 1052 | To the untutored eye, Lisp is a strange programming language. In Lisp | 1055 | To the untutored eye, Lisp is a strange programming language. In Lisp |
| 1053 | code there are parentheses everywhere. Some people even claim that the | 1056 | code there are parentheses everywhere. Some people even claim that |
| 1054 | name stands for `Lots of Isolated Silly Parentheses'. But the claim is | 1057 | the name stands for `Lots of Isolated Silly Parentheses'. But the |
| 1055 | unwarranted. Lisp stands for LISt Processing, and the programming | 1058 | claim is unwarranted. Lisp stands for LISt Processing, and the |
| 1056 | language handles @emph{lists} (and lists of lists) by putting them | 1059 | programming language handles @emph{lists} (and lists of lists) by |
| 1057 | between parentheses. The parentheses mark the boundaries of the list. | 1060 | putting them between parentheses. The parentheses mark the boundaries |
| 1058 | Sometimes a list is preceded by a single apostrophe or quotation mark, | 1061 | of the list. Sometimes a list is preceded by a single apostrophe or |
| 1059 | @samp{'}. Lists are the basis of Lisp. | 1062 | quotation mark, @samp{'}@footnote{The single apostrophe or quotation |
| 1063 | mark is an abbreviation for the function @code{quote}; you need not | ||
| 1064 | think about functions now; functions are defined in @ref{Making | ||
| 1065 | Errors, , Generate an Error Message}.} Lists are the basis of Lisp. | ||
| 1060 | 1066 | ||
| 1061 | @menu | 1067 | @menu |
| 1062 | * Lisp Lists:: What are lists? | 1068 | * Lisp Lists:: What are lists? |
| @@ -2135,7 +2141,8 @@ Debugger entered--Lisp error: | |||
| 2135 | 2141 | ||
| 2136 | @need 1250 | 2142 | @need 1250 |
| 2137 | As usual, the error message tries to be helpful and makes sense after you | 2143 | As usual, the error message tries to be helpful and makes sense after you |
| 2138 | learn how to read it. | 2144 | learn how to read it.@footnote{@code{(quote hello)} is an expansion of |
| 2145 | the abbreviation @code{'hello}.} | ||
| 2139 | 2146 | ||
| 2140 | The first part of the error message is straightforward; it says | 2147 | The first part of the error message is straightforward; it says |
| 2141 | @samp{wrong type argument}. Next comes the mysterious jargon word | 2148 | @samp{wrong type argument}. Next comes the mysterious jargon word |
| @@ -20638,6 +20645,7 @@ each column." | |||
| 20638 | @end smallexample | 20645 | @end smallexample |
| 20639 | @end ifnottex | 20646 | @end ifnottex |
| 20640 | 20647 | ||
| 20648 | @c qqq | ||
| 20641 | @ignore | 20649 | @ignore |
| 20642 | Graphing Definitions Re-listed | 20650 | Graphing Definitions Re-listed |
| 20643 | 20651 | ||
| @@ -21137,6 +21145,7 @@ each column." | |||
| 21137 | (print-X-axis numbers-list horizontal-step))) | 21145 | (print-X-axis numbers-list horizontal-step))) |
| 21138 | @end group | 21146 | @end group |
| 21139 | @end smallexample | 21147 | @end smallexample |
| 21148 | @c qqq | ||
| 21140 | @end ignore | 21149 | @end ignore |
| 21141 | 21150 | ||
| 21142 | @page | 21151 | @page |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index b568e99fb58..aef4746eef7 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-10-05 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * display.texi (Fringe Bitmaps): Update fringe-bitmaps-at-pos. | ||
| 4 | |||
| 1 | 2004-09-29 Kim F. Storm <storm@cua.dk> | 5 | 2004-09-29 Kim F. Storm <storm@cua.dk> |
| 2 | 6 | ||
| 3 | * display.texi (Fringe Bitmaps): Use symbols rather than numbers | 7 | * display.texi (Fringe Bitmaps): Use symbols rather than numbers |
diff --git a/lispref/display.texi b/lispref/display.texi index 00b91fe1fd8..518234ff4f8 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -2655,9 +2655,10 @@ symbols have their own name space. | |||
| 2655 | @defun fringe-bitmaps-at-pos &optional pos window | 2655 | @defun fringe-bitmaps-at-pos &optional pos window |
| 2656 | This function returns the fringe bitmaps of the display line | 2656 | This function returns the fringe bitmaps of the display line |
| 2657 | containing position @var{pos} in window @var{window}. The return | 2657 | containing position @var{pos} in window @var{window}. The return |
| 2658 | value has the form @code{(@var{left} . @var{right})}, where @var{left} | 2658 | value has the form @code{(@var{left} @var{right} @var{ov})}, where @var{left} |
| 2659 | is the symbol for the fringe bitmap in the left fringe (or @code{nil} | 2659 | is the symbol for the fringe bitmap in the left fringe (or @code{nil} |
| 2660 | if no bitmap), and @var{right} is similar for the right fringe. | 2660 | if no bitmap), @var{right} is similar for the right fringe, and @var{ov} |
| 2661 | is non-@code{nil} if there is an overlay arrow in the left fringe. | ||
| 2661 | 2662 | ||
| 2662 | The value is @code{nil} if @var{pos} is not visible in @var{window}. | 2663 | The value is @code{nil} if @var{pos} is not visible in @var{window}. |
| 2663 | If @var{window} is @code{nil}, that stands for the selected window. | 2664 | If @var{window} is @code{nil}, that stands for the selected window. |
diff --git a/man/ChangeLog b/man/ChangeLog index fc0bd61497a..8d35fe1024e 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,53 @@ | |||
| 1 | 2004-10-06 Karl Berry <karl@gnu.org> | ||
| 2 | |||
| 3 | * info.texi (@kbd{1}--@kbd{9}): no space around --, for | ||
| 4 | consistency with other uses of dashes. | ||
| 5 | |||
| 6 | 2004-10-06 Nick Roberts <nickrob@snap.net.nz> | ||
| 7 | |||
| 8 | * building.texi (Starting GUD): Note that multiple debugging | ||
| 9 | sessions requires `gdb --fullname'. | ||
| 10 | |||
| 11 | 2004-10-05 Karl Berry <karl@gnu.org> | ||
| 12 | |||
| 13 | * info.texi: consistently use --- throughout, periods at end of | ||
| 14 | menu descriptions, and a couple typos. | ||
| 15 | From: Benno Schulenberg <benno@nietvergeten.nl>, | ||
| 16 | in bug-texinfo mail. | ||
| 17 | |||
| 18 | 2004-10-05 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19 | |||
| 20 | * text.texi: Various small changes in addition to the following. | ||
| 21 | (Text): Replace xref for autotype with inforef. | ||
| 22 | (Sentences): Explain nil value for `sentence-end'. | ||
| 23 | (Paragraphs): Update default values for `paragraph-start' and | ||
| 24 | `paragraph-separate'. | ||
| 25 | (Text Mode): Correct description of Text mode's effect on the | ||
| 26 | syntax table. | ||
| 27 | (Outline Visibility): `hide-other' does not hide top level headings. | ||
| 28 | `selective-display-ellipses' no longer has an effect on Outline mode. | ||
| 29 | (TeX Misc): Add missing @cindex. | ||
| 30 | Replace xref for RefTeX with inforef. | ||
| 31 | (Requesting Formatted Text): the variable | ||
| 32 | `enriched-fill-after-visiting' no longer exists. | ||
| 33 | (Editing Format Info): Update names of menu items and commands. | ||
| 34 | (Format Faces): Mention special effect of specifying the default face. | ||
| 35 | Describe inheritance of text properties. | ||
| 36 | Correct description of `fixed' face. | ||
| 37 | (Format Indentation): Correct description of effect of setting | ||
| 38 | margins. Mention `set-left-margin' and `set-right-margin'. | ||
| 39 | (Format Justification): Update names of menu items. | ||
| 40 | `set-justification-full' is now bound to `M-j b'. | ||
| 41 | Mention that `default-justification' is a per buffer variable. | ||
| 42 | (Format Properties): Update name of menu item. | ||
| 43 | (Forcing Enriched Mode): `format-decode-buffer' automatically | ||
| 44 | turns on Enriched mode if the buffer is in text/enriched format. | ||
| 45 | |||
| 46 | |||
| 47 | 2004-10-05 Emilio C. Lopes <eclig@gmx.net> | ||
| 48 | |||
| 49 | * calendar.texi (From Other Calendar): Add calendar-goto-iso-week. | ||
| 50 | |||
| 1 | 2004-09-28 Kim F. Storm <storm@cua.dk> | 51 | 2004-09-28 Kim F. Storm <storm@cua.dk> |
| 2 | 52 | ||
| 3 | * display.texi (Display Custom) <indicate-buffer-boundaries>: | 53 | * display.texi (Display Custom) <indicate-buffer-boundaries>: |
| @@ -893,7 +943,7 @@ | |||
| 893 | 943 | ||
| 894 | * misc.texi: Section "Saving Emacs Sessions" rewritten. | 944 | * misc.texi: Section "Saving Emacs Sessions" rewritten. |
| 895 | 945 | ||
| 896 | 2003-09-29 Jan D. <jhd@gaffa.gaia.swipnet.se> | 946 | 2003-09-29 Jan Dj,Ad(Brv. <jan.h.d@swipnet.se> |
| 897 | 947 | ||
| 898 | * xresources.texi (GTK names in Emacs): Correct typo. | 948 | * xresources.texi (GTK names in Emacs): Correct typo. |
| 899 | 949 | ||
diff --git a/man/building.texi b/man/building.texi index 972f88abbde..2ec96b0f6bf 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -336,11 +336,13 @@ to a particular debugger program. | |||
| 336 | @findex gdb | 336 | @findex gdb |
| 337 | Run GDB as a subprocess of Emacs. If the variable | 337 | Run GDB as a subprocess of Emacs. If the variable |
| 338 | @code{gud-gdb-command-name} is ``gdb --annotate=3'' (the default | 338 | @code{gud-gdb-command-name} is ``gdb --annotate=3'' (the default |
| 339 | value) then GDB starts as for @kbd{M-x gdba} below. If you want to | 339 | value) then GDB starts as for @kbd{M-x gdba} below. If you want GDB |
| 340 | GDB to start as in Emacs 21.3 and earlier then set | 340 | to start as in Emacs 21.3 and earlier then edit the string in the |
| 341 | @code{gud-gdb-command-name} to ``gdb --fullname''. In this case, the | 341 | minibuffer or set @code{gud-gdb-command-name} to ``gdb --fullname''. |
| 342 | command creates a buffer for input and output to GDB, and switches to | 342 | You need to do this if you want to run multiple debugging sessions |
| 343 | it. If a GDB buffer already exists, it just switches to that buffer. | 343 | within one Emacs session. In this case, the command creates a buffer |
| 344 | for input and output to GDB, and switches to it. If a GDB buffer | ||
| 345 | already exists, it just switches to that buffer. | ||
| 344 | 346 | ||
| 345 | @item M-x gdba @key{RET} @var{file} @key{RET} | 347 | @item M-x gdba @key{RET} @var{file} @key{RET} |
| 346 | Run GDB as a subprocess of Emacs, providing a graphical interface | 348 | Run GDB as a subprocess of Emacs, providing a graphical interface |
diff --git a/man/calendar.texi b/man/calendar.texi index 9e3d3cf9f41..f85527ad0ea 100644 --- a/man/calendar.texi +++ b/man/calendar.texi | |||
| @@ -37,6 +37,7 @@ information about the calendar and diary. | |||
| 37 | * Other Calendars:: Converting dates to other calendar systems. | 37 | * Other Calendars:: Converting dates to other calendar systems. |
| 38 | * Diary:: Displaying events from your diary. | 38 | * Diary:: Displaying events from your diary. |
| 39 | * Appointments:: Reminders when it's time to do something. | 39 | * Appointments:: Reminders when it's time to do something. |
| 40 | * iCalendar:: Converting diary events to/from iCalendar format. | ||
| 40 | * Daylight Savings:: How to specify when daylight savings time is active. | 41 | * Daylight Savings:: How to specify when daylight savings time is active. |
| 41 | * Time Intervals:: Keeping track of time intervals. | 42 | * Time Intervals:: Keeping track of time intervals. |
| 42 | @end menu | 43 | @end menu |
| @@ -754,6 +755,7 @@ other than Mayan; for the Mayan calendar, see the following section. | |||
| 754 | 755 | ||
| 755 | @kindex g @var{char} @r{(Calendar mode)} | 756 | @kindex g @var{char} @r{(Calendar mode)} |
| 756 | @findex calendar-goto-iso-date | 757 | @findex calendar-goto-iso-date |
| 758 | @findex calendar-goto-iso-week | ||
| 757 | @findex calendar-goto-julian-date | 759 | @findex calendar-goto-julian-date |
| 758 | @findex calendar-goto-astro-day-number | 760 | @findex calendar-goto-astro-day-number |
| 759 | @findex calendar-goto-hebrew-date | 761 | @findex calendar-goto-hebrew-date |
| @@ -767,6 +769,9 @@ other than Mayan; for the Mayan calendar, see the following section. | |||
| 767 | @item g c | 769 | @item g c |
| 768 | Move to a date specified in the ISO commercial calendar | 770 | Move to a date specified in the ISO commercial calendar |
| 769 | (@code{calendar-goto-iso-date}). | 771 | (@code{calendar-goto-iso-date}). |
| 772 | @item g w | ||
| 773 | Move to a week specified in the ISO commercial calendar | ||
| 774 | (@code{calendar-goto-iso-week}). | ||
| 770 | @item g j | 775 | @item g j |
| 771 | Move to a date specified in the Julian calendar | 776 | Move to a date specified in the Julian calendar |
| 772 | (@code{calendar-goto-julian-date}). | 777 | (@code{calendar-goto-julian-date}). |
| @@ -1379,6 +1384,57 @@ clock. The command @kbd{M-x appt-add} adds entries to the appointment | |||
| 1379 | list without affecting your diary file. You delete entries from the | 1384 | list without affecting your diary file. You delete entries from the |
| 1380 | appointment list with @kbd{M-x appt-delete}. | 1385 | appointment list with @kbd{M-x appt-delete}. |
| 1381 | 1386 | ||
| 1387 | @node iCalendar | ||
| 1388 | @section iCalendar | ||
| 1389 | @cindex iCalendar support | ||
| 1390 | |||
| 1391 | The icalendar package aims at providing an implementation of the | ||
| 1392 | iCalendar standard, as defined in ``RFC 2445 -- Internet Calendaring and | ||
| 1393 | Scheduling Core Object Specification (iCalendar)''. It provides a means | ||
| 1394 | for importing [iv]Calendar data into Emacs diary files and vice versa. | ||
| 1395 | |||
| 1396 | Importing should work correctly for ``ordinary'', i.e. non-recurring, | ||
| 1397 | events. Recurring events may not be imported correctly, if they are | ||
| 1398 | imported at all. Exporting of diary files into iCalendar files should | ||
| 1399 | work correctly for most diary entries. Please note that | ||
| 1400 | @file{icalendar.el} is work in progress, so usage may evolve in future. | ||
| 1401 | |||
| 1402 | @subsection Usage | ||
| 1403 | |||
| 1404 | To activate the package, use @code{(require 'icalendar)}. | ||
| 1405 | |||
| 1406 | @findex icalendar-extract-ical-from-buffer | ||
| 1407 | The command @code{icalendar-extract-ical-from-buffer} extracts | ||
| 1408 | iCalendar data from the current buffer and adds it to your (default) | ||
| 1409 | diary file. It can be used interactively, or for automatic extraction | ||
| 1410 | of iCalendar data; for example with the VM mail reader one could use: | ||
| 1411 | |||
| 1412 | @example | ||
| 1413 | (add-hook 'vm-select-new-message-hook 'icalendar-extract-ical-from-buffer) | ||
| 1414 | @end example | ||
| 1415 | |||
| 1416 | @findex icalendar-import-file | ||
| 1417 | The function @code{icalendar-import-file} can be used | ||
| 1418 | non-interactively to import an iCalendar file. @strong{Caution:} the | ||
| 1419 | contents of the target diary file are @emph{deleted} by default! It is | ||
| 1420 | highly recommended to use a dedicated diary file for importing. For | ||
| 1421 | example: | ||
| 1422 | |||
| 1423 | @example | ||
| 1424 | (icalendar-import-file "/here/is/calendar.ics" "/there/goes/ical-diary") | ||
| 1425 | @end example | ||
| 1426 | |||
| 1427 | @noindent | ||
| 1428 | The import file can be added to the diary using an @code{#include} | ||
| 1429 | directive. @xref{Fancy Diary Display,,, elisp, The Emacs Lisp Reference | ||
| 1430 | Manual}. | ||
| 1431 | |||
| 1432 | @findex icalendar-convert-diary-to-ical | ||
| 1433 | Use @code{icalendar-convert-diary-to-ical} to interactively export an | ||
| 1434 | Emacs diary file to iCalendar format. @strong{Caution:} the contents of | ||
| 1435 | the target file are @emph{deleted} by default! | ||
| 1436 | |||
| 1437 | |||
| 1382 | @node Daylight Savings | 1438 | @node Daylight Savings |
| 1383 | @section Daylight Savings Time | 1439 | @section Daylight Savings Time |
| 1384 | @cindex daylight savings time | 1440 | @cindex daylight savings time |
diff --git a/man/info.texi b/man/info.texi index 2e42a0b9edc..014e9165087 100644 --- a/man/info.texi +++ b/man/info.texi | |||
| @@ -130,15 +130,15 @@ the screen. | |||
| 130 | @end ifnotinfo | 130 | @end ifnotinfo |
| 131 | 131 | ||
| 132 | @menu | 132 | @menu |
| 133 | * Help-Small-Screen:: Starting Info on a Small Screen | 133 | * Help-Small-Screen:: Starting Info on a Small Screen. |
| 134 | * Help:: How to use Info | 134 | * Help:: How to use Info. |
| 135 | * Help-P:: Returning to the Previous node | 135 | * Help-P:: Returning to the Previous node. |
| 136 | * Help-^L:: The Space, DEL, B and ^L commands. | 136 | * Help-^L:: The Space, DEL, B and ^L commands. |
| 137 | * Help-Inv:: Invisible text in Emacs Info. | 137 | * Help-Inv:: Invisible text in Emacs Info. |
| 138 | * Help-M:: Menus | 138 | * Help-M:: Menus. |
| 139 | * Help-Xref:: Following cross-references | 139 | * Help-Xref:: Following cross-references. |
| 140 | * Help-Int:: Some intermediate Info commands | 140 | * Help-Int:: Some intermediate Info commands. |
| 141 | * Help-Q:: Quitting Info | 141 | * Help-Q:: Quitting Info. |
| 142 | @end menu | 142 | @end menu |
| 143 | 143 | ||
| 144 | @node Help-Small-Screen | 144 | @node Help-Small-Screen |
| @@ -212,8 +212,8 @@ This is line 59 | |||
| 212 | If you have managed to get here, go back to the beginning with | 212 | If you have managed to get here, go back to the beginning with |
| 213 | @kbd{DEL} (or @key{BACKSPACE}), and come back here again, then you | 213 | @kbd{DEL} (or @key{BACKSPACE}), and come back here again, then you |
| 214 | understand the about the @samp{Space} and @samp{Backspace} keys. So | 214 | understand the about the @samp{Space} and @samp{Backspace} keys. So |
| 215 | now type an @kbd{n} ---just one character; don't type the quotes and | 215 | now type an @kbd{n}---just one character; don't type the quotes and |
| 216 | don't type the Return key afterward--- to get to the normal start of | 216 | don't type the Return key afterward---to get to the normal start of |
| 217 | the course. | 217 | the course. |
| 218 | @end ifinfo | 218 | @end ifinfo |
| 219 | 219 | ||
| @@ -243,8 +243,8 @@ well. In Emacs, the header line is duplicated in a special typeface, | |||
| 243 | and the duplicate remains at the top of the window all the time even | 243 | and the duplicate remains at the top of the window all the time even |
| 244 | if you scroll through the node. | 244 | if you scroll through the node. |
| 245 | 245 | ||
| 246 | Besides a @samp{Next}, a node can have a @samp{Previous} or an | 246 | Besides a @samp{Next}, a node can have a @samp{Previous} link, or an |
| 247 | @samp{Up} links, or both. As you can see, this node has all of these | 247 | @samp{Up} link, or both. As you can see, this node has all of these |
| 248 | links. | 248 | links. |
| 249 | 249 | ||
| 250 | @kindex n @r{(Info mode)} | 250 | @kindex n @r{(Info mode)} |
| @@ -375,7 +375,7 @@ scroll beyond the beginning or the end of the current node. | |||
| 375 | 375 | ||
| 376 | @kindex C-l @r{(Info mode)} | 376 | @kindex C-l @r{(Info mode)} |
| 377 | If your screen is ever garbaged, you can tell Info to display it | 377 | If your screen is ever garbaged, you can tell Info to display it |
| 378 | again by typing @kbd{C-l} (@kbd{Control-L}, that is---hold down | 378 | again by typing @kbd{C-l} (@kbd{Control-L}---that is, hold down |
| 379 | @key{CTRL} and type @kbd{L} or @kbd{l}). | 379 | @key{CTRL} and type @kbd{L} or @kbd{l}). |
| 380 | 380 | ||
| 381 | @format | 381 | @format |
| @@ -414,8 +414,8 @@ the list, make it go away by typing a @key{SPC} repeatedly. | |||
| 414 | 414 | ||
| 415 | (If you are using the stand-alone Info reader, type @kbd{C-x 0} to | 415 | (If you are using the stand-alone Info reader, type @kbd{C-x 0} to |
| 416 | return here, that is---press and hold @key{CTRL}, type an @kbd{x}, | 416 | return here, that is---press and hold @key{CTRL}, type an @kbd{x}, |
| 417 | then release @key{CTRL} and @kbd{x}, and press @kbd{0}---a zero, not | 417 | then release @key{CTRL} and @kbd{x}, and press @kbd{0}; that's a zero, |
| 418 | the letter ``o''.) | 418 | not the letter ``o''.) |
| 419 | 419 | ||
| 420 | From now on, you will encounter large nodes without warning, and | 420 | From now on, you will encounter large nodes without warning, and |
| 421 | will be expected to know how to use @key{SPC} and @key{BACKSPACE} to | 421 | will be expected to know how to use @key{SPC} and @key{BACKSPACE} to |
| @@ -971,7 +971,7 @@ the node @samp{Top} in the Info file @file{dir}. Likewise, | |||
| 971 | all of the current file by typing @kbd{g*@key{RET}} or all of any | 971 | all of the current file by typing @kbd{g*@key{RET}} or all of any |
| 972 | other file with @kbd{g(@var{filename})@key{RET}}. | 972 | other file with @kbd{g(@var{filename})@key{RET}}. |
| 973 | 973 | ||
| 974 | @subheading @kbd{1} -- @kbd{9} choose a menu subtopic by its number | 974 | @subheading @kbd{1}--@kbd{9} choose a menu subtopic by its number |
| 975 | 975 | ||
| 976 | @kindex 1 @r{through} 9 @r{(Info mode)} | 976 | @kindex 1 @r{through} 9 @r{(Info mode)} |
| 977 | @findex Info-nth-menu-item | 977 | @findex Info-nth-menu-item |
| @@ -1061,7 +1061,7 @@ you typed @emph{as a substring}. For each match, Info shows in the | |||
| 1061 | echo area the full index entry it found. Often, the text of the full | 1061 | echo area the full index entry it found. Often, the text of the full |
| 1062 | index entry already gives you enough information to decide whether it | 1062 | index entry already gives you enough information to decide whether it |
| 1063 | is relevant to what you are looking for, so we recommend that you read | 1063 | is relevant to what you are looking for, so we recommend that you read |
| 1064 | what Emacs shows in the echo area before looking at the node it | 1064 | what Info shows in the echo area before looking at the node it |
| 1065 | displays. | 1065 | displays. |
| 1066 | 1066 | ||
| 1067 | Since @kbd{i} looks for a substring, you can search for subjects even | 1067 | Since @kbd{i} looks for a substring, you can search for subjects even |
| @@ -1205,7 +1205,7 @@ reads from the terminal. | |||
| 1205 | A menu begins with a line starting with @w{@samp{* Menu:}}. The | 1205 | A menu begins with a line starting with @w{@samp{* Menu:}}. The |
| 1206 | rest of the line is a comment. After the starting line, every line | 1206 | rest of the line is a comment. After the starting line, every line |
| 1207 | that begins with a @samp{* } lists a single topic. The name of the | 1207 | that begins with a @samp{* } lists a single topic. The name of the |
| 1208 | topic--what the user must type at the @kbd{m}'s command prompt to | 1208 | topic---what the user must type at the @kbd{m}'s command prompt to |
| 1209 | select this topic---comes right after the star and space, and is | 1209 | select this topic---comes right after the star and space, and is |
| 1210 | followed by a colon, spaces and tabs, and the name of the node which | 1210 | followed by a colon, spaces and tabs, and the name of the node which |
| 1211 | discusses that topic. The node name, like node names following | 1211 | discusses that topic. The node name, like node names following |
diff --git a/man/text.texi b/man/text.texi index dbf990a2b57..01405ae525b 100644 --- a/man/text.texi +++ b/man/text.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001, 2002 | 2 | @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001, 2002, 2004 |
| 3 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Text, Programs, Indentation, Top | 5 | @node Text, Programs, Indentation, Top |
| @@ -55,7 +55,7 @@ Then the formatting appears on the screen in Emacs while you edit. | |||
| 55 | @cindex autotyping | 55 | @cindex autotyping |
| 56 | @cindex automatic typing | 56 | @cindex automatic typing |
| 57 | The ``automatic typing'' features may be useful when writing text. | 57 | The ``automatic typing'' features may be useful when writing text. |
| 58 | @xref{Top,, Autotyping, autotype, Features for Automatic Typing}. | 58 | @inforef{Top,, autotype}. |
| 59 | 59 | ||
| 60 | @menu | 60 | @menu |
| 61 | * Words:: Moving over and killing words. | 61 | * Words:: Moving over and killing words. |
| @@ -215,10 +215,12 @@ followed by the end of a line or two spaces, with any number of | |||
| 215 | A sentence also begins or ends wherever a paragraph begins or ends. | 215 | A sentence also begins or ends wherever a paragraph begins or ends. |
| 216 | 216 | ||
| 217 | @vindex sentence-end | 217 | @vindex sentence-end |
| 218 | The variable @code{sentence-end} controls recognition of the end of a | 218 | The variable @code{sentence-end} controls recognition of the end of |
| 219 | sentence. It is a regexp that matches the last few characters of a | 219 | a sentence. If non-@code{nil}, it is a regexp that matches the last |
| 220 | sentence, together with the whitespace following the sentence. Its | 220 | few characters of a sentence, together with the whitespace following |
| 221 | normal value is | 221 | the sentence. If the value is @code{nil}, the default, then Emacs |
| 222 | computes the regexp according to various criteria. The result is | ||
| 223 | normally similar to the following regexp: | ||
| 222 | 224 | ||
| 223 | @example | 225 | @example |
| 224 | "[.?!][]\"')]*\\($\\| $\\|\t\\| \\)[ \t\n]*" | 226 | "[.?!][]\"')]*\\($\\| $\\|\t\\| \\)[ \t\n]*" |
| @@ -298,9 +300,10 @@ that either starts or separates paragraphs. The value of | |||
| 298 | that separate paragraphs without being part of any paragraph (for | 300 | that separate paragraphs without being part of any paragraph (for |
| 299 | example, blank lines). Lines that start a new paragraph and are | 301 | example, blank lines). Lines that start a new paragraph and are |
| 300 | contained in it must match only @code{paragraph-start}, not | 302 | contained in it must match only @code{paragraph-start}, not |
| 301 | @code{paragraph-separate}. For example, in Fundamental mode, | 303 | @code{paragraph-separate}. Each regular expression must match at the |
| 302 | @code{paragraph-start} is @w{@code{"[ \t\n\f]"}}, and | 304 | left margin. For example, in Fundamental mode, @code{paragraph-start} |
| 303 | @code{paragraph-separate} is @w{@code{"\f\\|[ \t]*$"}}. | 305 | is @w{@code{"\f\\|[ \t]*$"}}, and @code{paragraph-separate} is |
| 306 | @w{@code{"[ \t\f]*$"}}. | ||
| 304 | 307 | ||
| 305 | Normally it is desirable for page boundaries to separate paragraphs. | 308 | Normally it is desirable for page boundaries to separate paragraphs. |
| 306 | The default values of these variables recognize the usual separator for | 309 | The default values of these variables recognize the usual separator for |
| @@ -312,9 +315,9 @@ pages. | |||
| 312 | @cindex pages | 315 | @cindex pages |
| 313 | @cindex formfeed | 316 | @cindex formfeed |
| 314 | Files are often thought of as divided into @dfn{pages} by the | 317 | Files are often thought of as divided into @dfn{pages} by the |
| 315 | @dfn{formfeed} character (@acronym{ASCII} control-L, octal code 014). When you | 318 | @dfn{formfeed} character (@acronym{ASCII} control-L, octal code 014). |
| 316 | print hardcopy for a file, this character forces a page break; thus, | 319 | When you print hardcopy for a file, this character forces a page break; |
| 317 | each page of the file goes on a separate page on paper. Most Emacs | 320 | thus, each page of the file goes on a separate page on paper. Most Emacs |
| 318 | commands treat the page-separator character just like any other | 321 | commands treat the page-separator character just like any other |
| 319 | character: you can insert it with @kbd{C-q C-l}, and delete it with | 322 | character: you can insert it with @kbd{C-q C-l}, and delete it with |
| 320 | @key{DEL}. Thus, you are free to paginate your file or not. However, | 323 | @key{DEL}. Thus, you are free to paginate your file or not. However, |
| @@ -575,7 +578,7 @@ period. Set the variable @code{sentence-end-without-period} to | |||
| 575 | conditions for where line-breaking is allowed. Its value is either | 578 | conditions for where line-breaking is allowed. Its value is either |
| 576 | @code{nil} or a Lisp function; the function is called with no | 579 | @code{nil} or a Lisp function; the function is called with no |
| 577 | arguments, and if it returns a non-@code{nil} value, then point is not | 580 | arguments, and if it returns a non-@code{nil} value, then point is not |
| 578 | a good place to break the line. The standard functions you can use | 581 | a good place to break the line. Two standard functions you can use are |
| 579 | @code{fill-single-word-nobreak-p} (don't break after the first word of | 582 | @code{fill-single-word-nobreak-p} (don't break after the first word of |
| 580 | a sentence or before the last) and @code{fill-french-nobreak-p} (don't | 583 | a sentence or before the last) and @code{fill-french-nobreak-p} (don't |
| 581 | break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}). | 584 | break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}). |
| @@ -606,11 +609,12 @@ a new paragraph. | |||
| 606 | 609 | ||
| 607 | @kindex C-x . | 610 | @kindex C-x . |
| 608 | @findex set-fill-prefix | 611 | @findex set-fill-prefix |
| 609 | To specify a fill prefix, move to a line that starts with the desired | 612 | To specify a fill prefix for the current buffer, move to a line that |
| 610 | prefix, put point at the end of the prefix, and give the command | 613 | starts with the desired prefix, put point at the end of the prefix, |
| 611 | @w{@kbd{C-x .}}@: (@code{set-fill-prefix}). That's a period after the | 614 | and give the command @w{@kbd{C-x .}}@: (@code{set-fill-prefix}). |
| 612 | @kbd{C-x}. To turn off the fill prefix, specify an empty prefix: type | 615 | That's a period after the @kbd{C-x}. To turn off the fill prefix, |
| 613 | @w{@kbd{C-x .}}@: with point at the beginning of a line.@refill | 616 | specify an empty prefix: type @w{@kbd{C-x .}}@: with point at the |
| 617 | beginning of a line.@refill | ||
| 614 | 618 | ||
| 615 | When a fill prefix is in effect, the fill commands remove the fill | 619 | When a fill prefix is in effect, the fill commands remove the fill |
| 616 | prefix from each line before filling and insert it on each line after | 620 | prefix from each line before filling and insert it on each line after |
| @@ -824,14 +828,14 @@ filling determines what indentation to use when filling a paragraph. | |||
| 824 | @kindex TAB @r{(Text mode)} | 828 | @kindex TAB @r{(Text mode)} |
| 825 | Text mode defines @key{TAB} to run @code{indent-relative} | 829 | Text mode defines @key{TAB} to run @code{indent-relative} |
| 826 | (@pxref{Indentation}), so that you can conveniently indent a line like | 830 | (@pxref{Indentation}), so that you can conveniently indent a line like |
| 827 | the previous line. When the previous line is not indented, | 831 | the previous line. |
| 828 | @code{indent-relative} runs @code{tab-to-tab-stop}, which uses Emacs tab | ||
| 829 | stops that you can set (@pxref{Tab Stops}). | ||
| 830 | 832 | ||
| 831 | Text mode turns off the features concerned with comments except when | 833 | Text mode turns off the features concerned with comments except when |
| 832 | you explicitly invoke them. It changes the syntax table so that periods | 834 | you explicitly invoke them. It changes the syntax table so that |
| 833 | are not considered part of a word, while apostrophes, backspaces and | 835 | single-quotes are considered part of words. However, if a word starts |
| 834 | underlines are considered part of words. | 836 | with single-quotes, then these are treated as a prefix for purposes |
| 837 | such as capitalization. That is, @kbd{M-c} will convert | ||
| 838 | @samp{'hello'} into @samp{'Hello'}, as expected. | ||
| 835 | 839 | ||
| 836 | @cindex Paragraph-Indent Text mode | 840 | @cindex Paragraph-Indent Text mode |
| 837 | @cindex mode, Paragraph-Indent Text | 841 | @cindex mode, Paragraph-Indent Text |
| @@ -896,8 +900,8 @@ invisible lines follow). | |||
| 896 | 900 | ||
| 897 | Editing commands that operate on lines, such as @kbd{C-n} and | 901 | Editing commands that operate on lines, such as @kbd{C-n} and |
| 898 | @kbd{C-p}, treat the text of the invisible line as part of the previous | 902 | @kbd{C-p}, treat the text of the invisible line as part of the previous |
| 899 | visible line. Killing an entire visible line, including its terminating | 903 | visible line. Killing the ellipsis at the end of a visible line |
| 900 | newline, really kills all the following invisible lines along with it. | 904 | really kills all the following invisible lines. |
| 901 | 905 | ||
| 902 | Outline minor mode provides the same commands as the major mode, | 906 | Outline minor mode provides the same commands as the major mode, |
| 903 | Outline mode, but you can use it in conjunction with other major modes. | 907 | Outline mode, but you can use it in conjunction with other major modes. |
| @@ -1137,12 +1141,9 @@ except the top @var{n} levels of heading lines. | |||
| 1137 | @findex hide-other | 1141 | @findex hide-other |
| 1138 | @kindex C-c C-o @r{(Outline mode)} | 1142 | @kindex C-c C-o @r{(Outline mode)} |
| 1139 | The command @kbd{C-c C-o} (@code{hide-other}) hides everything except | 1143 | The command @kbd{C-c C-o} (@code{hide-other}) hides everything except |
| 1140 | the heading or body text that point is in, plus its parents (the headers | 1144 | the heading and body text that point is in, plus its parents (the headers |
| 1141 | leading up from there to top level in the outline). | 1145 | leading up from there to top level in the outline) and the top level |
| 1142 | 1146 | headings. | |
| 1143 | You can turn off the use of ellipses at the ends of visible lines by | ||
| 1144 | setting @code{selective-display-ellipses} to @code{nil}. Then there is | ||
| 1145 | no visible indication of the presence of invisible lines. | ||
| 1146 | 1147 | ||
| 1147 | @findex reveal-mode | 1148 | @findex reveal-mode |
| 1148 | When incremental search finds text that is hidden by Outline mode, | 1149 | When incremental search finds text that is hidden by Outline mode, |
| @@ -1180,7 +1181,7 @@ buffers. | |||
| 1180 | nested portion of the outline, while hiding its relatives at higher | 1181 | nested portion of the outline, while hiding its relatives at higher |
| 1181 | levels. | 1182 | levels. |
| 1182 | 1183 | ||
| 1183 | Consider an Outline mode buffer all the text and subheadings under | 1184 | Consider an Outline mode buffer with all the text and subheadings under |
| 1184 | level-1 headings hidden. To look at what is hidden under one of these | 1185 | level-1 headings hidden. To look at what is hidden under one of these |
| 1185 | headings, you could use @kbd{C-c C-e} (@kbd{M-x show-entry}) to expose | 1186 | headings, you could use @kbd{C-c C-e} (@kbd{M-x show-entry}) to expose |
| 1186 | the body, or @kbd{C-c C-i} to expose the child (level-2) headings. | 1187 | the body, or @kbd{C-c C-i} to expose the child (level-2) headings. |
| @@ -1215,8 +1216,8 @@ particular chapter or section of your document. | |||
| 1215 | To unzoom (exit) a fold, use @kbd{C-c C-x} (@kbd{M-x foldout-exit-fold}). | 1216 | To unzoom (exit) a fold, use @kbd{C-c C-x} (@kbd{M-x foldout-exit-fold}). |
| 1216 | This hides all the text and subheadings under the top-level heading and | 1217 | This hides all the text and subheadings under the top-level heading and |
| 1217 | returns you to the previous view of the buffer. Specifying a numeric | 1218 | returns you to the previous view of the buffer. Specifying a numeric |
| 1218 | argument exits that many levels of folds. Specifying a zero argument exits all | 1219 | argument exits that many levels of folds. Specifying a zero argument |
| 1219 | folds. | 1220 | exits all folds. |
| 1220 | 1221 | ||
| 1221 | To cancel the narrowing of a fold without hiding the text and | 1222 | To cancel the narrowing of a fold without hiding the text and |
| 1222 | subheadings, specify a negative argument. For example, @kbd{M--2 C-c | 1223 | subheadings, specify a negative argument. For example, @kbd{M--2 C-c |
| @@ -1633,7 +1634,7 @@ current buffer's file. Generally, you need to do @kbd{C-c C-f} | |||
| 1633 | @findex iso-iso2gtex | 1634 | @findex iso-iso2gtex |
| 1634 | @findex iso-gtex2iso | 1635 | @findex iso-gtex2iso |
| 1635 | @cindex Latin-1 @TeX{} encoding | 1636 | @cindex Latin-1 @TeX{} encoding |
| 1636 | @TeX{} encoding | 1637 | @cindex @TeX{} encoding |
| 1637 | The commands @kbd{M-x iso-iso2tex}, @kbd{M-x iso-tex2iso}, @kbd{M-x | 1638 | The commands @kbd{M-x iso-iso2tex}, @kbd{M-x iso-tex2iso}, @kbd{M-x |
| 1638 | iso-iso2gtex} and @kbd{M-x iso-gtex2iso} can be used to convert | 1639 | iso-iso2gtex} and @kbd{M-x iso-gtex2iso} can be used to convert |
| 1639 | between Latin-1 encoded files and @TeX{}-encoded equivalents. | 1640 | between Latin-1 encoded files and @TeX{}-encoded equivalents. |
| @@ -1659,7 +1660,7 @@ required. This is set up for Czech---customize the group | |||
| 1659 | @cindex references, La@TeX{} | 1660 | @cindex references, La@TeX{} |
| 1660 | @cindex La@TeX{} references | 1661 | @cindex La@TeX{} references |
| 1661 | For managing all kinds of references for La@TeX{}, you can use | 1662 | For managing all kinds of references for La@TeX{}, you can use |
| 1662 | Ref@TeX{}. @xref{Top, , RefTeX, reftex}. | 1663 | Ref@TeX{}. @inforef{Top,, reftex}. |
| 1663 | 1664 | ||
| 1664 | @node HTML Mode | 1665 | @node HTML Mode |
| 1665 | @section SGML, XML, and HTML Modes | 1666 | @section SGML, XML, and HTML Modes |
| @@ -1880,16 +1881,6 @@ into the file. When you visit the file again, Emacs will automatically | |||
| 1880 | recognize the format, reconvert the text, and turn on Enriched mode | 1881 | recognize the format, reconvert the text, and turn on Enriched mode |
| 1881 | again. | 1882 | again. |
| 1882 | 1883 | ||
| 1883 | @vindex enriched-fill-after-visiting | ||
| 1884 | Normally, after visiting a file in text/enriched format, Emacs refills | ||
| 1885 | each paragraph to fit the specified right margin. You can turn off this | ||
| 1886 | refilling, to save time, by setting the variable | ||
| 1887 | @code{enriched-fill-after-visiting} to @code{nil} or to @code{ask}. | ||
| 1888 | |||
| 1889 | However, when visiting a file that was saved from Enriched mode, there | ||
| 1890 | is no need for refilling, because Emacs saves the right margin settings | ||
| 1891 | along with the text. | ||
| 1892 | |||
| 1893 | @vindex enriched-translations | 1884 | @vindex enriched-translations |
| 1894 | You can add annotations for saving additional text properties, which | 1885 | You can add annotations for saving additional text properties, which |
| 1895 | Emacs normally does not save, by adding to @code{enriched-translations}. | 1886 | Emacs normally does not save, by adding to @code{enriched-translations}. |
| @@ -1951,22 +1942,22 @@ commands directly: | |||
| 1951 | @table @code | 1942 | @table @code |
| 1952 | @findex facemenu-remove-face-props | 1943 | @findex facemenu-remove-face-props |
| 1953 | @item Remove Face Properties | 1944 | @item Remove Face Properties |
| 1954 | Delete from the region all the text properties that the Text Properties | 1945 | Delete from the region all face and color text properties |
| 1955 | menu works with (@code{facemenu-remove-face-props}). | 1946 | (@code{facemenu-remove-face-props}). |
| 1956 | 1947 | ||
| 1957 | @findex facemenu-remove-all | 1948 | @findex facemenu-remove-all |
| 1958 | @item Remove All | 1949 | @item Remove Text Properties |
| 1959 | Delete @emph{all} text properties from the region | 1950 | Delete @emph{all} text properties from the region |
| 1960 | (@code{facemenu-remove-all}). | 1951 | (@code{facemenu-remove-all}). |
| 1961 | 1952 | ||
| 1962 | @findex describe-text-at | 1953 | @findex describe-text-properties |
| 1963 | @cindex text properties of characters | 1954 | @cindex text properties of characters |
| 1964 | @cindex overlays at character position | 1955 | @cindex overlays at character position |
| 1965 | @cindex widgets at buffer position | 1956 | @cindex widgets at buffer position |
| 1966 | @cindex buttons at buffer position | 1957 | @cindex buttons at buffer position |
| 1967 | @item Describe Text | 1958 | @item Describe Properties |
| 1968 | List all the text properties, widgets, buttons, and overlays of the | 1959 | List all the text properties, widgets, buttons, and overlays of the |
| 1969 | character following point (@code{describe-text-at}). | 1960 | character following point (@code{describe-text-properties}). |
| 1970 | 1961 | ||
| 1971 | @item Display Faces | 1962 | @item Display Faces |
| 1972 | Display a list of all the defined faces (@code{list-faces-display}). | 1963 | Display a list of all the defined faces (@code{list-faces-display}). |
| @@ -2018,8 +2009,20 @@ Set the region, or the next inserted character, to the face @var{face} | |||
| 2018 | 2009 | ||
| 2019 | If you use these commands with a prefix argument---or, in Transient Mark | 2010 | If you use these commands with a prefix argument---or, in Transient Mark |
| 2020 | mode, if the region is not active---then these commands specify a face | 2011 | mode, if the region is not active---then these commands specify a face |
| 2021 | to use for your next self-inserting input. @xref{Transient Mark}. This | 2012 | to use for any immediately following self-inserting input. |
| 2022 | applies to both the keyboard commands and the menu commands. | 2013 | @xref{Transient Mark}. This applies to both the keyboard commands and |
| 2014 | the menu commands. | ||
| 2015 | |||
| 2016 | Specifying the @code{default} face also resets foreground and | ||
| 2017 | background color to their defaults.(@pxref{Format Colors}). | ||
| 2018 | |||
| 2019 | Any self-inserting character you type inherits, by default, the face | ||
| 2020 | properties (as well as most other text properties) of the preceding | ||
| 2021 | character. Specifying any face property, including foreground or | ||
| 2022 | background color, for your next self-inserting character will prevent | ||
| 2023 | it from inheriting any face properties from the preceding character, | ||
| 2024 | although it will still inherit other text properties. Characters | ||
| 2025 | inserted by yanking do not inherit text properties. | ||
| 2023 | 2026 | ||
| 2024 | Enriched mode defines two additional faces: @code{excerpt} and | 2027 | Enriched mode defines two additional faces: @code{excerpt} and |
| 2025 | @code{fixed}. These correspond to codes used in the text/enriched file | 2028 | @code{fixed}. These correspond to codes used in the text/enriched file |
| @@ -2029,20 +2032,17 @@ format. | |||
| 2029 | same as @code{italic} unless you customize it (@pxref{Face Customization}). | 2032 | same as @code{italic} unless you customize it (@pxref{Face Customization}). |
| 2030 | 2033 | ||
| 2031 | The @code{fixed} face means, ``Use a fixed-width font for this part | 2034 | The @code{fixed} face means, ``Use a fixed-width font for this part |
| 2032 | of the text.'' This makes a visible difference only if you have | 2035 | of the text.'' Applying the @code{fixed} face to a part of the text |
| 2033 | specified a variable-width font in the default face; however, even if | 2036 | will cause that part of the text to appear in a fixed-width font, even |
| 2034 | the default font is fixed-width, applying the @code{fixed} face to a | 2037 | if the default font is variable-width. This applies to Emacs and to |
| 2035 | part of the text will cause that part of the text to appear in a | 2038 | other systems that display text/enriched format. So if you |
| 2036 | fixed-width font, if the file is ever displayed with a variable-width | 2039 | specifically want a certain part of the text to use a fixed-width |
| 2037 | default font. This applies to Emacs and to other systems that display | 2040 | font, you should specify the @code{fixed} face for that part. |
| 2038 | text/enriched format. So if you specifically want a certain part of | 2041 | |
| 2039 | the text to use a fixed-width font, you should specify the | 2042 | By default, the @code{fixed} face looks the same as @code{bold}. |
| 2040 | @code{fixed} face for that part. | 2043 | This is an attempt to distinguish it from @code{default}. You may |
| 2041 | 2044 | wish to customize @code{fixed} to some other fixed-width medium font. | |
| 2042 | The @code{fixed} face is normally set up to use a different font | 2045 | @xref{Face Customization}. |
| 2043 | from the default, even if the default face is also fixed-width. | ||
| 2044 | Different systems have different fonts installed, so you may need to | ||
| 2045 | customize this. @xref{Face Customization}. | ||
| 2046 | 2046 | ||
| 2047 | If your terminal cannot display different faces, you will not be | 2047 | If your terminal cannot display different faces, you will not be |
| 2048 | able to see them, but you can still edit documents containing faces, | 2048 | able to see them, but you can still edit documents containing faces, |
| @@ -2058,20 +2058,20 @@ text. There is a menu for specifying the foreground color and a menu | |||
| 2058 | for specifying the background color. Each color menu lists all the | 2058 | for specifying the background color. Each color menu lists all the |
| 2059 | colors that you have used in Enriched mode in the current Emacs session. | 2059 | colors that you have used in Enriched mode in the current Emacs session. |
| 2060 | 2060 | ||
| 2061 | If you specify a color with a prefix argument---or, in Transient Mark | 2061 | If you specify a color with a prefix argument---or, in Transient |
| 2062 | mode, if the region is not active---then it applies to your next | 2062 | Mark mode, if the region is not active---then it applies to any |
| 2063 | self-inserting input. @xref{Transient Mark}. Otherwise, the command | 2063 | immediately following self-inserting input. @xref{Transient Mark}. |
| 2064 | applies to the region. | 2064 | Otherwise, the command applies to the region. |
| 2065 | 2065 | ||
| 2066 | Each color menu contains one additional item: @samp{Other}. You can use | 2066 | Each color menu contains one additional item: @samp{Other}. You can use |
| 2067 | this item to specify a color that is not listed in the menu; it reads | 2067 | this item to specify a color that is not listed in the menu; it reads |
| 2068 | the color name with the minibuffer. To display list of available colors | 2068 | the color name with the minibuffer. To display a list of available colors |
| 2069 | and their names, use the @samp{Display Colors} menu item in the Text | 2069 | and their names, use the @samp{Display Colors} menu item in the Text |
| 2070 | Properties menu (@pxref{Editing Format Info}). | 2070 | Properties menu (@pxref{Editing Format Info}). |
| 2071 | 2071 | ||
| 2072 | Any color that you specify in this way, or that is mentioned in a | 2072 | Any color that you specify in this way, or that is mentioned in a |
| 2073 | formatted text file that you read in, is added to both color menus for | 2073 | formatted text file that you read in, is added to the corresponding |
| 2074 | the duration of the Emacs session. | 2074 | color menu for the duration of the Emacs session. |
| 2075 | 2075 | ||
| 2076 | @findex facemenu-set-foreground | 2076 | @findex facemenu-set-foreground |
| 2077 | @findex facemenu-set-background | 2077 | @findex facemenu-set-background |
| @@ -2113,33 +2113,42 @@ Remove 4 columns of indentation from the right margin. | |||
| 2113 | You can use these commands repeatedly to increase or decrease the | 2113 | You can use these commands repeatedly to increase or decrease the |
| 2114 | indentation. | 2114 | indentation. |
| 2115 | 2115 | ||
| 2116 | The most common way to use these commands is to change the indentation | 2116 | The most common way to use them is to change the indentation of an |
| 2117 | of an entire paragraph. However, that is not the only use. You can | 2117 | entire paragraph. For other uses, the effects of refilling can be |
| 2118 | change the margins at any point; the new values take effect at the end | 2118 | hard to predict, except in some special cases like the one described |
| 2119 | of the line (for right margins) or the beginning of the next line (for | 2119 | next. |
| 2120 | left margins). | ||
| 2121 | 2120 | ||
| 2122 | This makes it possible to format paragraphs with @dfn{hanging indents}, | 2121 | The most common other use is to format paragraphs with @dfn{hanging |
| 2123 | which means that the first line is indented less than subsequent lines. | 2122 | indents}, which means that the first line is indented less than |
| 2124 | To set up a hanging indent, increase the indentation of the region | 2123 | subsequent lines. To set up a hanging indent, increase the |
| 2125 | starting after the first word of the paragraph and running until the end | 2124 | indentation of the region starting after the first word of the |
| 2126 | of the paragraph. | 2125 | paragraph and running until the end of the paragraph. |
| 2127 | 2126 | ||
| 2128 | Indenting the first line of a paragraph is easier. Set the margin for | 2127 | Indenting the first line of a paragraph is easier. Set the margin for |
| 2129 | the whole paragraph where you want it to be for the body of the | 2128 | the whole paragraph where you want it to be for the body of the |
| 2130 | paragraph, then indent the first line by inserting extra spaces or tabs. | 2129 | paragraph, then indent the first line by inserting extra spaces or tabs. |
| 2131 | 2130 | ||
| 2132 | Sometimes, as a result of editing, the filling of a paragraph becomes | ||
| 2133 | messed up---parts of the paragraph may extend past the left or right | ||
| 2134 | margins. When this happens, use @kbd{M-q} (@code{fill-paragraph}) to | ||
| 2135 | refill the paragraph. | ||
| 2136 | |||
| 2137 | @vindex standard-indent | 2131 | @vindex standard-indent |
| 2138 | The variable @code{standard-indent} specifies how many columns these | 2132 | The variable @code{standard-indent} specifies how many columns these |
| 2139 | commands should add to or subtract from the indentation. The default | 2133 | commands should add to or subtract from the indentation. The default |
| 2140 | value is 4. The overall default right margin for Enriched mode is | 2134 | value is 4. The overall default right margin for Enriched mode is |
| 2141 | controlled by the variable @code{fill-column}, as usual. | 2135 | controlled by the variable @code{fill-column}, as usual. |
| 2142 | 2136 | ||
| 2137 | @kindex C-c [ @r{(Enriched mode)} | ||
| 2138 | @kindex C-c ] @r{(Enriched mode)} | ||
| 2139 | @findex set-left-margin | ||
| 2140 | @findex set-right-margin | ||
| 2141 | There are also two commands for setting the left or right margin of | ||
| 2142 | the region absolutely: @code{set-left-margin} and | ||
| 2143 | @code{set-right-margin}. Enriched mode binds these commands to | ||
| 2144 | @kbd{C-c [} and @kbd{C-c ]}, respectively. You can specify the | ||
| 2145 | margin width either with a numeric argument or in the minibuffer. | ||
| 2146 | |||
| 2147 | Sometimes, as a result of editing, the filling of a paragraph becomes | ||
| 2148 | messed up---parts of the paragraph may extend past the left or right | ||
| 2149 | margins. When this happens, use @kbd{M-q} (@code{fill-paragraph}) to | ||
| 2150 | refill the paragraph. | ||
| 2151 | |||
| 2143 | The fill prefix, if any, works in addition to the specified paragraph | 2152 | The fill prefix, if any, works in addition to the specified paragraph |
| 2144 | indentation: @kbd{C-x .} does not include the specified indentation's | 2153 | indentation: @kbd{C-x .} does not include the specified indentation's |
| 2145 | whitespace in the new value for the fill prefix, and the fill commands | 2154 | whitespace in the new value for the fill prefix, and the fill commands |
| @@ -2157,11 +2166,11 @@ affects the Emacs fill commands. | |||
| 2157 | the style. The submenu contains five items: | 2166 | the style. The submenu contains five items: |
| 2158 | 2167 | ||
| 2159 | @table @code | 2168 | @table @code |
| 2160 | @item Flush Left | 2169 | @item Left |
| 2161 | This is the most common style of justification (at least for English). | 2170 | This is the most common style of justification (at least for English). |
| 2162 | Lines are aligned at the left margin but left uneven at the right. | 2171 | Lines are aligned at the left margin but left uneven at the right. |
| 2163 | 2172 | ||
| 2164 | @item Flush Right | 2173 | @item Right |
| 2165 | This aligns each line with the right margin. Spaces and tabs are added | 2174 | This aligns each line with the right margin. Spaces and tabs are added |
| 2166 | on the left, if necessary, to make lines line up on the right. | 2175 | on the left, if necessary, to make lines line up on the right. |
| 2167 | 2176 | ||
| @@ -2175,7 +2184,7 @@ the width of spaces in a line to achieve elegant justification. | |||
| 2175 | @item Center | 2184 | @item Center |
| 2176 | This centers every line between the current margins. | 2185 | This centers every line between the current margins. |
| 2177 | 2186 | ||
| 2178 | @item None | 2187 | @item Unfilled |
| 2179 | This turns off filling entirely. Each line will remain as you wrote it; | 2188 | This turns off filling entirely. Each line will remain as you wrote it; |
| 2180 | the fill and auto-fill functions will have no effect on text which has | 2189 | the fill and auto-fill functions will have no effect on text which has |
| 2181 | this setting. You can, however, still indent the left margin. In | 2190 | this setting. You can, however, still indent the left margin. In |
| @@ -2195,9 +2204,9 @@ Make the region left-filled (@code{set-justification-left}). | |||
| 2195 | @findex set-justification-right | 2204 | @findex set-justification-right |
| 2196 | @item M-j r | 2205 | @item M-j r |
| 2197 | Make the region right-filled (@code{set-justification-right}). | 2206 | Make the region right-filled (@code{set-justification-right}). |
| 2198 | @kindex M-j f @r{(Enriched mode)} | 2207 | @kindex M-j b @r{(Enriched mode)} |
| 2199 | @findex set-justification-full | 2208 | @findex set-justification-full |
| 2200 | @item M-j f | 2209 | @item M-j b |
| 2201 | Make the region fully justified (@code{set-justification-full}). | 2210 | Make the region fully justified (@code{set-justification-full}). |
| 2202 | @kindex M-j c @r{(Enriched mode)} | 2211 | @kindex M-j c @r{(Enriched mode)} |
| 2203 | @kindex M-S @r{(Enriched mode)} | 2212 | @kindex M-S @r{(Enriched mode)} |
| @@ -2220,11 +2229,15 @@ region. | |||
| 2220 | The default justification style is specified by the variable | 2229 | The default justification style is specified by the variable |
| 2221 | @code{default-justification}. Its value should be one of the symbols | 2230 | @code{default-justification}. Its value should be one of the symbols |
| 2222 | @code{left}, @code{right}, @code{full}, @code{center}, or @code{none}. | 2231 | @code{left}, @code{right}, @code{full}, @code{center}, or @code{none}. |
| 2232 | This is a per-buffer variable. Setting the variable directly affects | ||
| 2233 | only the current buffer. However, customizing it in a Custom buffer | ||
| 2234 | sets (as always) the default value for buffers that do not override it. | ||
| 2235 | @xref{Locals}, and @ref{Easy Customization}. | ||
| 2223 | 2236 | ||
| 2224 | @node Format Properties | 2237 | @node Format Properties |
| 2225 | @subsection Setting Other Text Properties | 2238 | @subsection Setting Other Text Properties |
| 2226 | 2239 | ||
| 2227 | The Other Properties menu lets you add or remove three other useful text | 2240 | The Special Properties menu lets you add or remove three other useful text |
| 2228 | properties: @code{read-only}, @code{invisible} and @code{intangible}. | 2241 | properties: @code{read-only}, @code{invisible} and @code{intangible}. |
| 2229 | The @code{intangible} property disallows moving point within the text, | 2242 | The @code{intangible} property disallows moving point within the text, |
| 2230 | the @code{invisible} text property hides text from display, and the | 2243 | the @code{invisible} text property hides text from display, and the |
| @@ -2253,10 +2266,10 @@ When you visit a file that was created with some other editor, Emacs may | |||
| 2253 | not recognize the file as being in the text/enriched format. In this | 2266 | not recognize the file as being in the text/enriched format. In this |
| 2254 | case, when you visit the file you will see the formatting commands | 2267 | case, when you visit the file you will see the formatting commands |
| 2255 | rather than the formatted text. Type @kbd{M-x format-decode-buffer} to | 2268 | rather than the formatted text. Type @kbd{M-x format-decode-buffer} to |
| 2256 | translate it. | 2269 | translate it. This also automatically turns on Enriched mode. |
| 2257 | 2270 | ||
| 2258 | @item | 2271 | @item |
| 2259 | When you @emph{insert} a file into a buffer, rather than visiting it. | 2272 | When you @emph{insert} a file into a buffer, rather than visiting it, |
| 2260 | Emacs does the necessary conversions on the text which you insert, but | 2273 | Emacs does the necessary conversions on the text which you insert, but |
| 2261 | it does not enable Enriched mode. If you wish to do that, type @kbd{M-x | 2274 | it does not enable Enriched mode. If you wish to do that, type @kbd{M-x |
| 2262 | enriched-mode}. | 2275 | enriched-mode}. |
| @@ -2268,7 +2281,7 @@ to translate from; however, normally you can type just @key{RET}, which | |||
| 2268 | tells Emacs to guess the format. | 2281 | tells Emacs to guess the format. |
| 2269 | 2282 | ||
| 2270 | @findex format-find-file | 2283 | @findex format-find-file |
| 2271 | If you wish to look at text/enriched file in its raw form, as a | 2284 | If you wish to look at a text/enriched file in its raw form, as a |
| 2272 | sequence of characters rather than as formatted text, use the @kbd{M-x | 2285 | sequence of characters rather than as formatted text, use the @kbd{M-x |
| 2273 | find-file-literally} command. This visits a file, like | 2286 | find-file-literally} command. This visits a file, like |
| 2274 | @code{find-file}, but does not do format conversion. It also inhibits | 2287 | @code{find-file}, but does not do format conversion. It also inhibits |
diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 1722153dc51..e906a8f4954 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-10-06 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * sed1v2.inp (LC_ALL=C): Fix src/Makefile breakage caused by | ||
| 4 | recent (2004-09-24) changes in src/Makefile.in. | ||
| 5 | |||
| 1 | 2004-08-14 Eli Zaretskii <eliz@gnu.org> | 6 | 2004-08-14 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * sedleim.inp: Remove the lines which say "<TAB>@true", to avoid | 8 | * sedleim.inp: Remove the lines which say "<TAB>@true", to avoid |
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp index dc316819a5d..8edc1616f23 100644 --- a/msdos/sed1v2.inp +++ b/msdos/sed1v2.inp | |||
| @@ -20,9 +20,9 @@ s/^#.*// | |||
| 20 | s/^[ \f\t][ \f\t]*$// | 20 | s/^[ \f\t][ \f\t]*$// |
| 21 | s/^ / / | 21 | s/^ / / |
| 22 | s/\.h\.in/.h-in/ | 22 | s/\.h\.in/.h-in/ |
| 23 | /^ LC_ALL=C \.\/temacs/i\ | 23 | /^ LC_ALL=C \$(RUN_TEMACS)/i\ |
| 24 | stubedit temacs.exe minstack=100k | 24 | stubedit temacs.exe minstack=100k |
| 25 | /^ LC_ALL=C.*temacs/s/LC_ALL=C/set &;/ | 25 | /^ LC_ALL=C.*\$(RUN_TEMACS)/s/LC_ALL=C/set &;/ |
| 26 | /^MAKE *=/s/^/# / | 26 | /^MAKE *=/s/^/# / |
| 27 | /^SHELL *=/s/^/# / | 27 | /^SHELL *=/s/^/# / |
| 28 | /^srcdir *=/s/@[^@\n]*@/./ | 28 | /^srcdir *=/s/@[^@\n]*@/./ |
diff --git a/nt/ChangeLog b/nt/ChangeLog index 77c8305b0e5..f91c59a85c5 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -77,7 +77,7 @@ | |||
| 77 | 77 | ||
| 78 | * multi-install-info.bat: New file. | 78 | * multi-install-info.bat: New file. |
| 79 | 79 | ||
| 80 | 2003-06-27 Jan D. <jan.h.d@swipnet.se> | 80 | 2003-06-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 81 | 81 | ||
| 82 | * config.nt (my_strftime): New define. | 82 | * config.nt (my_strftime): New define. |
| 83 | 83 | ||
diff --git a/src/.gdbinit b/src/.gdbinit index 3af7e369923..b7716f0e904 100644 --- a/src/.gdbinit +++ b/src/.gdbinit | |||
| @@ -60,6 +60,16 @@ Print the emacs s-expression which is $. | |||
| 60 | Works only when an inferior emacs is executing. | 60 | Works only when an inferior emacs is executing. |
| 61 | end | 61 | end |
| 62 | 62 | ||
| 63 | # Print out s-expressions | ||
| 64 | define pp | ||
| 65 | set $tmp = $arg0 | ||
| 66 | set debug_print ($tmp) | ||
| 67 | end | ||
| 68 | document pp | ||
| 69 | Print the argument as an emacs s-expression | ||
| 70 | Works only when an inferior emacs is executing. | ||
| 71 | end | ||
| 72 | |||
| 63 | define xtype | 73 | define xtype |
| 64 | xgettype $ | 74 | xgettype $ |
| 65 | output $type | 75 | output $type |
| @@ -429,6 +439,16 @@ document xreload | |||
| 429 | end | 439 | end |
| 430 | xreload | 440 | xreload |
| 431 | 441 | ||
| 442 | # Flush display (X only) | ||
| 443 | define ff | ||
| 444 | set x_flush (0) | ||
| 445 | end | ||
| 446 | document ff | ||
| 447 | Flush pending X window display updates to screen. | ||
| 448 | Works only when an inferior emacs is executing. | ||
| 449 | end | ||
| 450 | |||
| 451 | |||
| 432 | define hook-run | 452 | define hook-run |
| 433 | xreload | 453 | xreload |
| 434 | end | 454 | end |
diff --git a/src/ChangeLog b/src/ChangeLog index 73fb09883eb..99be23b4df8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,72 @@ | |||
| 1 | 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * macfns.c (mac_get_window_bounds): Add extern. | ||
| 4 | (x_real_positions): Use mac_get_window_bounds. | ||
| 5 | |||
| 6 | * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for | ||
| 7 | xmenu.c (YAILOM). | ||
| 8 | |||
| 9 | * macterm.c [!MAC_OSX]: Include Windows.h. | ||
| 10 | (front_emacs_window): Rename from mac_front_window. All uses | ||
| 11 | changed. Return the frontmost non-tooltip emacs window. | ||
| 12 | (mac_get_window_bounds): New function. | ||
| 13 | (x_calc_absolute_position): Use the difference of width and height | ||
| 14 | between the inner and outer window. | ||
| 15 | (x_set_offset): Specify window position by the coordinae of the | ||
| 16 | outer window. Adjust the position if the title bar is completely | ||
| 17 | outside the screen. | ||
| 18 | (app_is_suspended, app_sleep_time): Remove unused variables. | ||
| 19 | (do_app_resume, do_app_suspend): Remove their contents because | ||
| 20 | window-activate/deactivate events will do the job. | ||
| 21 | (do_zoom_window): Remove unused variables. Make compliant to the | ||
| 22 | standard way of zooming. Set f->left_pos and f->top_pos. | ||
| 23 | (XTread_socket): Don't use argument `expected'. Don't use | ||
| 24 | FrontWindow to determine the clicked window. Exclude unprocessed | ||
| 25 | mouseUp cases in the early stage. Add parentheses to fix operator | ||
| 26 | precedence. | ||
| 27 | (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area. | ||
| 28 | |||
| 29 | |||
| 30 | 2004-10-05 Jan Dj,Ad(Brv. <jan.h.d@swipnet.se> | ||
| 31 | |||
| 32 | * config.in: Regenerate. | ||
| 33 | |||
| 34 | * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of | ||
| 35 | HAVE_EXECSHIELD. | ||
| 36 | |||
| 37 | 2004-10-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 38 | |||
| 39 | * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for | ||
| 40 | a row if Alt or Meta has been found for that row. Also stop scanning | ||
| 41 | for Keysyms for that row. | ||
| 42 | |||
| 43 | 2004-10-04 Kim F. Storm <storm@cua.dk> | ||
| 44 | |||
| 45 | * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons | ||
| 46 | to list. Include overlay arrow bitmap in return value. | ||
| 47 | |||
| 48 | * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll | ||
| 49 | bars with fractional column width. If scroll bar separates two | ||
| 50 | windows, move it towards the window it belongs to. Only update | ||
| 51 | the padding area below the scroll bar widget when necessary, | ||
| 52 | i.e. when scroll bar widget is created, moved, or resized. | ||
| 53 | |||
| 54 | * xdisp.c (define_frame_cursor1): Do not change frame cursor | ||
| 55 | while tracking/dragging mouse. | ||
| 56 | (x_draw_vertical_border): Do not draw line if frame has scroll bars. | ||
| 57 | |||
| 58 | * window.c (coordinates_in_window): Relax check for cursor | ||
| 59 | on vertial border between mode lines. | ||
| 60 | (Fset_window_fringes): Do not allow negative widths. | ||
| 61 | (Fset_window_scroll_bars): Likewise. | ||
| 62 | |||
| 63 | * .gdbinit (pp): Shorthand for p ARG + pr. | ||
| 64 | (ff): New command: flush frame updates (X only). | ||
| 65 | |||
| 66 | 2004-10-03 Michael Albinus <michael.albinus@gmx.de> | ||
| 67 | |||
| 68 | * fileio.c (auto_save_1) Call Ffile_modes for remote files. | ||
| 69 | |||
| 1 | 2004-09-30 Kenichi Handa <handa@m17n.org> | 70 | 2004-09-30 Kenichi Handa <handa@m17n.org> |
| 2 | 71 | ||
| 3 | * process.c (send_process): Free composition data. | 72 | * process.c (send_process): Free composition data. |
diff --git a/src/Makefile.in b/src/Makefile.in index dc8964a42ca..f85811c970a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -909,7 +909,7 @@ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) \ | |||
| 909 | #define OBJECTS_MACHINE | 909 | #define OBJECTS_MACHINE |
| 910 | #endif | 910 | #endif |
| 911 | 911 | ||
| 912 | #ifdef HAVE_EXECSHIELD | 912 | #ifdef HAVE_RANDOM_HEAPSTART |
| 913 | #undef i386 | 913 | #undef i386 |
| 914 | RUN_TEMACS = @SETARCH@ i386 ./temacs | 914 | RUN_TEMACS = @SETARCH@ i386 ./temacs |
| 915 | #else | 915 | #else |
diff --git a/src/config.in b/src/config.in index e5d112ee81c..6e6d61b4e02 100644 --- a/src/config.in +++ b/src/config.in | |||
| @@ -136,9 +136,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 136 | /* Define to 1 if you have the `euidaccess' function. */ | 136 | /* Define to 1 if you have the `euidaccess' function. */ |
| 137 | #undef HAVE_EUIDACCESS | 137 | #undef HAVE_EUIDACCESS |
| 138 | 138 | ||
| 139 | /* Define to 1 if this OS has exec shield and we can handle it. */ | ||
| 140 | #undef HAVE_EXECSHIELD | ||
| 141 | |||
| 142 | /* Define to 1 if you have the <fcntl.h> header file. */ | 139 | /* Define to 1 if you have the <fcntl.h> header file. */ |
| 143 | #undef HAVE_FCNTL_H | 140 | #undef HAVE_FCNTL_H |
| 144 | 141 | ||
| @@ -432,6 +429,9 @@ Boston, MA 02111-1307, USA. */ | |||
| 432 | /* Define to 1 if you have the `random' function. */ | 429 | /* Define to 1 if you have the `random' function. */ |
| 433 | #undef HAVE_RANDOM | 430 | #undef HAVE_RANDOM |
| 434 | 431 | ||
| 432 | /* Define to 1 if this OS randomizes the start address of the heap. */ | ||
| 433 | #undef HAVE_RANDOM_HEAPSTART | ||
| 434 | |||
| 435 | /* Define to 1 if you have the `recvfrom' function. */ | 435 | /* Define to 1 if you have the `recvfrom' function. */ |
| 436 | #undef HAVE_RECVFROM | 436 | #undef HAVE_RECVFROM |
| 437 | 437 | ||
diff --git a/src/fileio.c b/src/fileio.c index 0cfea99b469..ece909ea8b3 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -5720,6 +5720,9 @@ auto_save_1 () | |||
| 5720 | && stat (SDATA (current_buffer->filename), &st) >= 0) | 5720 | && stat (SDATA (current_buffer->filename), &st) >= 0) |
| 5721 | /* But make sure we can overwrite it later! */ | 5721 | /* But make sure we can overwrite it later! */ |
| 5722 | auto_save_mode_bits = st.st_mode | 0600; | 5722 | auto_save_mode_bits = st.st_mode | 0600; |
| 5723 | else if (! NILP (current_buffer->filename)) | ||
| 5724 | /* Remote files don't cooperate with stat. */ | ||
| 5725 | auto_save_mode_bits = XINT (Ffile_modes (current_buffer->filename)) | 0600; | ||
| 5723 | else | 5726 | else |
| 5724 | auto_save_mode_bits = 0666; | 5727 | auto_save_mode_bits = 0666; |
| 5725 | 5728 | ||
diff --git a/src/fringe.c b/src/fringe.c index 529004c7ed8..2da5439b039 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -1348,9 +1348,10 @@ DEFUN ("fringe-bitmaps-at-pos", Ffringe_bitmaps_at_pos, Sfringe_bitmaps_at_pos, | |||
| 1348 | 0, 2, 0, | 1348 | 0, 2, 0, |
| 1349 | doc: /* Return fringe bitmaps of row containing position POS in window WINDOW. | 1349 | doc: /* Return fringe bitmaps of row containing position POS in window WINDOW. |
| 1350 | If WINDOW is nil, use selected window. If POS is nil, use value of point | 1350 | If WINDOW is nil, use selected window. If POS is nil, use value of point |
| 1351 | in that window. Return value is a cons (LEFT . RIGHT) where LEFT and RIGHT | 1351 | in that window. Return value is a list (LEFT RIGHT OV), where LEFT |
| 1352 | are the fringe bitmap numbers for the bitmaps in the left and right fringe, | 1352 | is the symbol for the bitmap in the left fringe (or nil if no bitmap), |
| 1353 | resp. If left or right fringe is empty, the corresponding element is nil. | 1353 | RIGHT is similar for the right fringe, and OV is non-nil if there is an |
| 1354 | overlay arrow in the left fringe. | ||
| 1354 | Return nil if POS is not visible in WINDOW. */) | 1355 | Return nil if POS is not visible in WINDOW. */) |
| 1355 | (pos, window) | 1356 | (pos, window) |
| 1356 | Lisp_Object pos, window; | 1357 | Lisp_Object pos, window; |
| @@ -1377,8 +1378,9 @@ Return nil if POS is not visible in WINDOW. */) | |||
| 1377 | row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | 1378 | row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); |
| 1378 | row = row_containing_pos (w, textpos, row, NULL, 0); | 1379 | row = row_containing_pos (w, textpos, row, NULL, 0); |
| 1379 | if (row) | 1380 | if (row) |
| 1380 | return Fcons (get_fringe_bitmap_name (row->left_fringe_bitmap), | 1381 | return list3 (get_fringe_bitmap_name (row->left_fringe_bitmap), |
| 1381 | get_fringe_bitmap_name (row->right_fringe_bitmap)); | 1382 | get_fringe_bitmap_name (row->right_fringe_bitmap), |
| 1383 | (row->overlay_arrow_p ? Qt : Qnil)); | ||
| 1382 | else | 1384 | else |
| 1383 | return Qnil; | 1385 | return Qnil; |
| 1384 | } | 1386 | } |
diff --git a/src/macfns.c b/src/macfns.c index 3b09b344a55..f7594e9c6c2 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -312,6 +312,9 @@ static Lisp_Object x_default_scroll_bar_color_parameter P_ ((struct frame *, | |||
| 312 | Lisp_Object, | 312 | Lisp_Object, |
| 313 | char *, char *, | 313 | char *, char *, |
| 314 | int)); | 314 | int)); |
| 315 | |||
| 316 | extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *)); | ||
| 317 | |||
| 315 | /* Store the screen positions of frame F into XPTR and YPTR. | 318 | /* Store the screen positions of frame F into XPTR and YPTR. |
| 316 | These are the positions of the containing window manager window, | 319 | These are the positions of the containing window manager window, |
| 317 | not Emacs's own window. */ | 320 | not Emacs's own window. */ |
| @@ -321,33 +324,15 @@ x_real_positions (f, xptr, yptr) | |||
| 321 | FRAME_PTR f; | 324 | FRAME_PTR f; |
| 322 | int *xptr, *yptr; | 325 | int *xptr, *yptr; |
| 323 | { | 326 | { |
| 324 | Point pt; | 327 | Rect inner, outer; |
| 325 | GrafPtr oldport; | ||
| 326 | 328 | ||
| 327 | GetPort (&oldport); | 329 | mac_get_window_bounds (f, &inner, &outer); |
| 328 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 329 | 330 | ||
| 330 | #if TARGET_API_MAC_CARBON | 331 | f->x_pixels_diff = inner.left - outer.left; |
| 331 | { | 332 | f->y_pixels_diff = inner.top - outer.top; |
| 332 | Rect r; | ||
| 333 | 333 | ||
| 334 | GetWindowPortBounds (FRAME_MAC_WINDOW (f), &r); | 334 | *xptr = outer.left; |
| 335 | SetPt (&pt, r.left, r.top); | 335 | *yptr = outer.top; |
| 336 | } | ||
| 337 | #else /* not TARGET_API_MAC_CARBON */ | ||
| 338 | SetPt (&pt, | ||
| 339 | FRAME_MAC_WINDOW (f)->portRect.left, | ||
| 340 | FRAME_MAC_WINDOW (f)->portRect.top); | ||
| 341 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 342 | LocalToGlobal (&pt); | ||
| 343 | SetPort (oldport); | ||
| 344 | |||
| 345 | /* MAC has no frame pixel diff. */ | ||
| 346 | f->x_pixels_diff = 0; | ||
| 347 | f->y_pixels_diff = 0; | ||
| 348 | |||
| 349 | *xptr = pt.h; | ||
| 350 | *yptr = pt.v; | ||
| 351 | } | 336 | } |
| 352 | 337 | ||
| 353 | 338 | ||
diff --git a/src/macmenu.c b/src/macmenu.c index 740bda261d8..007fab15eab 100644 --- a/src/macmenu.c +++ b/src/macmenu.c | |||
| @@ -1322,7 +1322,7 @@ update_submenu_strings (first_wv) | |||
| 1322 | 1322 | ||
| 1323 | for (wv = first_wv; wv; wv = wv->next) | 1323 | for (wv = first_wv; wv; wv = wv->next) |
| 1324 | { | 1324 | { |
| 1325 | if (wv->lname && ! NILP (wv->lname)) | 1325 | if (STRINGP (wv->lname)) |
| 1326 | { | 1326 | { |
| 1327 | wv->name = SDATA (wv->lname); | 1327 | wv->name = SDATA (wv->lname); |
| 1328 | 1328 | ||
| @@ -1336,7 +1336,7 @@ update_submenu_strings (first_wv) | |||
| 1336 | } | 1336 | } |
| 1337 | } | 1337 | } |
| 1338 | 1338 | ||
| 1339 | if (wv->lkey && ! NILP (wv->lkey)) | 1339 | if (STRINGP (wv->lkey)) |
| 1340 | wv->key = SDATA (wv->lkey); | 1340 | wv->key = SDATA (wv->lkey); |
| 1341 | 1341 | ||
| 1342 | if (wv->contents) | 1342 | if (wv->contents) |
diff --git a/src/macterm.c b/src/macterm.c index 4f721fff304..56c4653bf43 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -50,6 +50,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 50 | #include <TextUtils.h> | 50 | #include <TextUtils.h> |
| 51 | #include <LowMem.h> | 51 | #include <LowMem.h> |
| 52 | #include <Controls.h> | 52 | #include <Controls.h> |
| 53 | #include <Windows.h> | ||
| 53 | #if defined (__MRC__) || (__MSL__ >= 0x6000) | 54 | #if defined (__MRC__) || (__MSL__ >= 0x6000) |
| 54 | #include <ControlDefinitions.h> | 55 | #include <ControlDefinitions.h> |
| 55 | #endif | 56 | #endif |
| @@ -3887,18 +3888,21 @@ remember_mouse_glyph (f1, gx, gy) | |||
| 3887 | 3888 | ||
| 3888 | 3889 | ||
| 3889 | static WindowPtr | 3890 | static WindowPtr |
| 3890 | mac_front_window () | 3891 | front_emacs_window () |
| 3891 | { | 3892 | { |
| 3892 | #if TARGET_API_MAC_CARBON | 3893 | #if TARGET_API_MAC_CARBON |
| 3893 | return GetFrontWindowOfClass (kDocumentWindowClass, true); | 3894 | WindowPtr wp = GetFrontWindowOfClass (kDocumentWindowClass, true); |
| 3895 | |||
| 3896 | while (wp && !is_emacs_window (wp)) | ||
| 3897 | wp = GetNextWindowOfClass (wp, kDocumentWindowClass, true); | ||
| 3894 | #else | 3898 | #else |
| 3895 | WindowPtr front_window = FrontWindow (); | 3899 | WindowPtr wp = FrontWindow (); |
| 3896 | 3900 | ||
| 3897 | if (tip_window && front_window == tip_window) | 3901 | while (wp && (wp == tip_window || !is_emacs_window (wp))) |
| 3898 | return GetNextWindow (front_window); | 3902 | wp = GetNextWindow (wp); |
| 3899 | else | ||
| 3900 | return front_window; | ||
| 3901 | #endif | 3903 | #endif |
| 3904 | |||
| 3905 | return wp; | ||
| 3902 | } | 3906 | } |
| 3903 | 3907 | ||
| 3904 | #define mac_window_to_frame(wp) (((mac_output *) GetWRefCon (wp))->mFP) | 3908 | #define mac_window_to_frame(wp) (((mac_output *) GetWRefCon (wp))->mFP) |
| @@ -3934,7 +3938,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 3934 | { | 3938 | { |
| 3935 | Point mouse_pos; | 3939 | Point mouse_pos; |
| 3936 | int ignore1, ignore2; | 3940 | int ignore1, ignore2; |
| 3937 | WindowPtr wp = mac_front_window (); | 3941 | WindowPtr wp = front_emacs_window (); |
| 3938 | struct frame *f; | 3942 | struct frame *f; |
| 3939 | Lisp_Object frame, tail; | 3943 | Lisp_Object frame, tail; |
| 3940 | 3944 | ||
| @@ -4551,7 +4555,7 @@ x_scroll_bar_report_motion (fp, bar_window, part, x, y, time) | |||
| 4551 | unsigned long *time; | 4555 | unsigned long *time; |
| 4552 | { | 4556 | { |
| 4553 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); | 4557 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); |
| 4554 | WindowPtr wp = mac_front_window (); | 4558 | WindowPtr wp = front_emacs_window (); |
| 4555 | Point mouse_pos; | 4559 | Point mouse_pos; |
| 4556 | struct frame *f = mac_window_to_frame (wp); | 4560 | struct frame *f = mac_window_to_frame (wp); |
| 4557 | int win_y, top_range; | 4561 | int win_y, top_range; |
| @@ -5036,6 +5040,26 @@ xim_close_dpy (dpyinfo) | |||
| 5036 | */ | 5040 | */ |
| 5037 | 5041 | ||
| 5038 | 5042 | ||
| 5043 | void | ||
| 5044 | mac_get_window_bounds (f, inner, outer) | ||
| 5045 | struct frame *f; | ||
| 5046 | Rect *inner, *outer; | ||
| 5047 | { | ||
| 5048 | #if TARGET_API_MAC_CARBON | ||
| 5049 | GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowContentRgn, inner); | ||
| 5050 | GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowStructureRgn, outer); | ||
| 5051 | #else /* not TARGET_API_MAC_CARBON */ | ||
| 5052 | RgnHandle region = NewRgn (); | ||
| 5053 | |||
| 5054 | GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowContentRgn, region); | ||
| 5055 | *inner = (*region)->rgnBBox; | ||
| 5056 | GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowStructureRgn, region); | ||
| 5057 | *outer = (*region)->rgnBBox; | ||
| 5058 | DisposeRgn (region); | ||
| 5059 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 5060 | } | ||
| 5061 | |||
| 5062 | |||
| 5039 | /* Calculate the absolute position in frame F | 5063 | /* Calculate the absolute position in frame F |
| 5040 | from its current recorded position values and gravity. */ | 5064 | from its current recorded position values and gravity. */ |
| 5041 | 5065 | ||
| @@ -5043,47 +5067,36 @@ void | |||
| 5043 | x_calc_absolute_position (f) | 5067 | x_calc_absolute_position (f) |
| 5044 | struct frame *f; | 5068 | struct frame *f; |
| 5045 | { | 5069 | { |
| 5046 | Point pt; | 5070 | int width_diff = 0, height_diff = 0; |
| 5047 | int flags = f->size_hint_flags; | 5071 | int flags = f->size_hint_flags; |
| 5072 | Rect inner, outer; | ||
| 5048 | 5073 | ||
| 5049 | pt.h = pt.v = 0; | 5074 | /* We have nothing to do if the current position |
| 5075 | is already for the top-left corner. */ | ||
| 5076 | if (! ((flags & XNegative) || (flags & YNegative))) | ||
| 5077 | return; | ||
| 5050 | 5078 | ||
| 5051 | /* Find the position of the outside upper-left corner of | 5079 | /* Find the offsets of the outside upper-left corner of |
| 5052 | the inner window, with respect to the outer window. */ | 5080 | the inner window, with respect to the outer window. */ |
| 5053 | if (f->output_data.mac->parent_desc != FRAME_MAC_DISPLAY_INFO (f)->root_window) | 5081 | mac_get_window_bounds (f, &inner, &outer); |
| 5054 | { | ||
| 5055 | GrafPtr savePort; | ||
| 5056 | GetPort (&savePort); | ||
| 5057 | |||
| 5058 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 5059 | 5082 | ||
| 5060 | #if TARGET_API_MAC_CARBON | 5083 | width_diff = (outer.right - outer.left) - (inner.right - inner.left); |
| 5061 | { | 5084 | height_diff = (outer.bottom - outer.top) - (inner.bottom - inner.top); |
| 5062 | Rect r; | ||
| 5063 | |||
| 5064 | GetWindowPortBounds (FRAME_MAC_WINDOW (f), &r); | ||
| 5065 | SetPt(&pt, r.left, r.top); | ||
| 5066 | } | ||
| 5067 | #else /* not TARGET_API_MAC_CARBON */ | ||
| 5068 | SetPt(&pt, FRAME_MAC_WINDOW (f)->portRect.left, FRAME_MAC_WINDOW (f)->portRect.top); | ||
| 5069 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 5070 | LocalToGlobal (&pt); | ||
| 5071 | SetPort (savePort); | ||
| 5072 | } | ||
| 5073 | 5085 | ||
| 5074 | /* Treat negative positions as relative to the leftmost bottommost | 5086 | /* Treat negative positions as relative to the leftmost bottommost |
| 5075 | position that fits on the screen. */ | 5087 | position that fits on the screen. */ |
| 5076 | if (flags & XNegative) | 5088 | if (flags & XNegative) |
| 5077 | f->left_pos = (FRAME_MAC_DISPLAY_INFO (f)->width | 5089 | f->left_pos = (FRAME_MAC_DISPLAY_INFO (f)->width |
| 5078 | - 2 * f->border_width - pt.h | 5090 | - width_diff |
| 5079 | - FRAME_PIXEL_WIDTH (f) | 5091 | - FRAME_PIXEL_WIDTH (f) |
| 5080 | + f->left_pos); | 5092 | + f->left_pos); |
| 5081 | /* NTEMACS_TODO: Subtract menubar height? */ | 5093 | |
| 5082 | if (flags & YNegative) | 5094 | if (flags & YNegative) |
| 5083 | f->top_pos = (FRAME_MAC_DISPLAY_INFO (f)->height | 5095 | f->top_pos = (FRAME_MAC_DISPLAY_INFO (f)->height |
| 5084 | - 2 * f->border_width - pt.v | 5096 | - height_diff |
| 5085 | - FRAME_PIXEL_HEIGHT (f) | 5097 | - FRAME_PIXEL_HEIGHT (f) |
| 5086 | + f->top_pos); | 5098 | + f->top_pos); |
| 5099 | |||
| 5087 | /* The left_pos and top_pos | 5100 | /* The left_pos and top_pos |
| 5088 | are now relative to the top and left screen edges, | 5101 | are now relative to the top and left screen edges, |
| 5089 | so the flags should correspond. */ | 5102 | so the flags should correspond. */ |
| @@ -5102,8 +5115,6 @@ x_set_offset (f, xoff, yoff, change_gravity) | |||
| 5102 | register int xoff, yoff; | 5115 | register int xoff, yoff; |
| 5103 | int change_gravity; | 5116 | int change_gravity; |
| 5104 | { | 5117 | { |
| 5105 | int modified_top, modified_left; | ||
| 5106 | |||
| 5107 | if (change_gravity > 0) | 5118 | if (change_gravity > 0) |
| 5108 | { | 5119 | { |
| 5109 | f->top_pos = yoff; | 5120 | f->top_pos = yoff; |
| @@ -5120,11 +5131,55 @@ x_set_offset (f, xoff, yoff, change_gravity) | |||
| 5120 | BLOCK_INPUT; | 5131 | BLOCK_INPUT; |
| 5121 | x_wm_set_size_hint (f, (long) 0, 0); | 5132 | x_wm_set_size_hint (f, (long) 0, 0); |
| 5122 | 5133 | ||
| 5123 | modified_left = f->left_pos; | 5134 | #if TARGET_API_MAC_CARBON |
| 5124 | modified_top = f->top_pos; | 5135 | MoveWindowStructure (FRAME_MAC_WINDOW (f), f->left_pos, f->top_pos); |
| 5125 | 5136 | /* If the title bar is completely outside the screen, adjust the | |
| 5126 | MoveWindow (FRAME_MAC_WINDOW (f), modified_left + 6, | 5137 | position. */ |
| 5127 | modified_top + 42, false); | 5138 | ConstrainWindowToScreen (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, |
| 5139 | kWindowConstrainMoveRegardlessOfFit | ||
| 5140 | | kWindowConstrainAllowPartial, NULL, NULL); | ||
| 5141 | x_real_positions (f, &f->left_pos, &f->top_pos); | ||
| 5142 | #else | ||
| 5143 | { | ||
| 5144 | Rect inner, outer, screen_rect, dummy; | ||
| 5145 | RgnHandle region = NewRgn (); | ||
| 5146 | |||
| 5147 | mac_get_window_bounds (f, &inner, &outer); | ||
| 5148 | f->x_pixels_diff = inner.left - outer.left; | ||
| 5149 | f->y_pixels_diff = inner.top - outer.top; | ||
| 5150 | MoveWindow (FRAME_MAC_WINDOW (f), f->left_pos + f->x_pixels_diff, | ||
| 5151 | f->top_pos + f->y_pixels_diff, false); | ||
| 5152 | |||
| 5153 | /* If the title bar is completely outside the screen, adjust the | ||
| 5154 | position. The variable `outer' holds the title bar rectangle. | ||
| 5155 | The variable `inner' holds slightly smaller one than `outer', | ||
| 5156 | so that the calculation of overlapping may not become too | ||
| 5157 | strict. */ | ||
| 5158 | GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, region); | ||
| 5159 | outer = (*region)->rgnBBox; | ||
| 5160 | DisposeRgn (region); | ||
| 5161 | inner = outer; | ||
| 5162 | InsetRect (&inner, 8, 8); | ||
| 5163 | screen_rect = qd.screenBits.bounds; | ||
| 5164 | screen_rect.top += GetMBarHeight (); | ||
| 5165 | |||
| 5166 | if (!SectRect (&inner, &screen_rect, &dummy)) | ||
| 5167 | { | ||
| 5168 | if (inner.right <= screen_rect.left) | ||
| 5169 | f->left_pos = screen_rect.left; | ||
| 5170 | else if (inner.left >= screen_rect.right) | ||
| 5171 | f->left_pos = screen_rect.right - (outer.right - outer.left); | ||
| 5172 | |||
| 5173 | if (inner.bottom <= screen_rect.top) | ||
| 5174 | f->top_pos = screen_rect.top; | ||
| 5175 | else if (inner.top >= screen_rect.bottom) | ||
| 5176 | f->top_pos = screen_rect.bottom - (outer.bottom - outer.top); | ||
| 5177 | |||
| 5178 | MoveWindow (FRAME_MAC_WINDOW (f), f->left_pos + f->x_pixels_diff, | ||
| 5179 | f->top_pos + f->y_pixels_diff, false); | ||
| 5180 | } | ||
| 5181 | } | ||
| 5182 | #endif | ||
| 5128 | 5183 | ||
| 5129 | UNBLOCK_INPUT; | 5184 | UNBLOCK_INPUT; |
| 5130 | } | 5185 | } |
| @@ -6900,6 +6955,7 @@ x_find_ccl_program (fontp) | |||
| 6900 | /* true when cannot handle any Mac OS events */ | 6955 | /* true when cannot handle any Mac OS events */ |
| 6901 | static int handling_window_update = 0; | 6956 | static int handling_window_update = 0; |
| 6902 | 6957 | ||
| 6958 | #if 0 | ||
| 6903 | /* the flag appl_is_suspended is used both for determining the sleep | 6959 | /* the flag appl_is_suspended is used both for determining the sleep |
| 6904 | time to be passed to WaitNextEvent and whether the cursor should be | 6960 | time to be passed to WaitNextEvent and whether the cursor should be |
| 6905 | drawn when updating the display. The cursor is turned off when | 6961 | drawn when updating the display. The cursor is turned off when |
| @@ -6909,6 +6965,7 @@ static int handling_window_update = 0; | |||
| 6909 | suspended. */ | 6965 | suspended. */ |
| 6910 | static Boolean app_is_suspended = false; | 6966 | static Boolean app_is_suspended = false; |
| 6911 | static long app_sleep_time = WNE_SLEEP_AT_RESUME; | 6967 | static long app_sleep_time = WNE_SLEEP_AT_RESUME; |
| 6968 | #endif | ||
| 6912 | 6969 | ||
| 6913 | #define EXTRA_STACK_ALLOC (256 * 1024) | 6970 | #define EXTRA_STACK_ALLOC (256 * 1024) |
| 6914 | 6971 | ||
| @@ -7235,11 +7292,13 @@ is_emacs_window (WindowPtr win) | |||
| 7235 | static void | 7292 | static void |
| 7236 | do_app_resume () | 7293 | do_app_resume () |
| 7237 | { | 7294 | { |
| 7295 | /* Window-activate events will do the job. */ | ||
| 7296 | #if 0 | ||
| 7238 | WindowPtr wp; | 7297 | WindowPtr wp; |
| 7239 | struct frame *f; | 7298 | struct frame *f; |
| 7240 | 7299 | ||
| 7241 | wp = mac_front_window (); | 7300 | wp = front_emacs_window (); |
| 7242 | if (is_emacs_window (wp)) | 7301 | if (wp) |
| 7243 | { | 7302 | { |
| 7244 | f = mac_window_to_frame (wp); | 7303 | f = mac_window_to_frame (wp); |
| 7245 | 7304 | ||
| @@ -7252,16 +7311,19 @@ do_app_resume () | |||
| 7252 | 7311 | ||
| 7253 | app_is_suspended = false; | 7312 | app_is_suspended = false; |
| 7254 | app_sleep_time = WNE_SLEEP_AT_RESUME; | 7313 | app_sleep_time = WNE_SLEEP_AT_RESUME; |
| 7314 | #endif | ||
| 7255 | } | 7315 | } |
| 7256 | 7316 | ||
| 7257 | static void | 7317 | static void |
| 7258 | do_app_suspend () | 7318 | do_app_suspend () |
| 7259 | { | 7319 | { |
| 7320 | /* Window-deactivate events will do the job. */ | ||
| 7321 | #if 0 | ||
| 7260 | WindowPtr wp; | 7322 | WindowPtr wp; |
| 7261 | struct frame *f; | 7323 | struct frame *f; |
| 7262 | 7324 | ||
| 7263 | wp = mac_front_window (); | 7325 | wp = front_emacs_window (); |
| 7264 | if (is_emacs_window (wp)) | 7326 | if (wp) |
| 7265 | { | 7327 | { |
| 7266 | f = mac_window_to_frame (wp); | 7328 | f = mac_window_to_frame (wp); |
| 7267 | 7329 | ||
| @@ -7274,6 +7336,7 @@ do_app_suspend () | |||
| 7274 | 7336 | ||
| 7275 | app_is_suspended = true; | 7337 | app_is_suspended = true; |
| 7276 | app_sleep_time = WNE_SLEEP_AT_SUSPEND; | 7338 | app_sleep_time = WNE_SLEEP_AT_SUSPEND; |
| 7339 | #endif | ||
| 7277 | } | 7340 | } |
| 7278 | 7341 | ||
| 7279 | 7342 | ||
| @@ -7282,10 +7345,10 @@ do_mouse_moved (mouse_pos, f) | |||
| 7282 | Point mouse_pos; | 7345 | Point mouse_pos; |
| 7283 | FRAME_PTR *f; | 7346 | FRAME_PTR *f; |
| 7284 | { | 7347 | { |
| 7285 | WindowPtr wp = mac_front_window (); | 7348 | WindowPtr wp = front_emacs_window (); |
| 7286 | struct x_display_info *dpyinfo; | 7349 | struct x_display_info *dpyinfo; |
| 7287 | 7350 | ||
| 7288 | if (is_emacs_window (wp)) | 7351 | if (wp) |
| 7289 | { | 7352 | { |
| 7290 | *f = mac_window_to_frame (wp); | 7353 | *f = mac_window_to_frame (wp); |
| 7291 | dpyinfo = FRAME_MAC_DISPLAY_INFO (*f); | 7354 | dpyinfo = FRAME_MAC_DISPLAY_INFO (*f); |
| @@ -7347,7 +7410,7 @@ do_menu_choice (SInt32 menu_choice) | |||
| 7347 | 7410 | ||
| 7348 | default: | 7411 | default: |
| 7349 | { | 7412 | { |
| 7350 | struct frame *f = mac_window_to_frame (mac_front_window ()); | 7413 | struct frame *f = mac_window_to_frame (front_emacs_window ()); |
| 7351 | MenuHandle menu = GetMenuHandle (menu_id); | 7414 | MenuHandle menu = GetMenuHandle (menu_id); |
| 7352 | if (menu) | 7415 | if (menu) |
| 7353 | { | 7416 | { |
| @@ -7400,41 +7463,43 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out) | |||
| 7400 | GrafPtr save_port; | 7463 | GrafPtr save_port; |
| 7401 | Rect zoom_rect, port_rect; | 7464 | Rect zoom_rect, port_rect; |
| 7402 | Point top_left; | 7465 | Point top_left; |
| 7403 | int w_title_height, columns, rows, width, height, dummy, x, y; | 7466 | int w_title_height, columns, rows; |
| 7404 | struct frame *f = mac_window_to_frame (w); | 7467 | struct frame *f = mac_window_to_frame (w); |
| 7405 | 7468 | ||
| 7406 | GetPort (&save_port); | ||
| 7407 | |||
| 7408 | SetPortWindowPort (w); | ||
| 7409 | |||
| 7410 | /* Clear window to avoid flicker. */ | ||
| 7411 | #if TARGET_API_MAC_CARBON | 7469 | #if TARGET_API_MAC_CARBON |
| 7412 | { | 7470 | { |
| 7413 | Rect r; | 7471 | Point standard_size; |
| 7414 | BitMap bm; | ||
| 7415 | 7472 | ||
| 7416 | GetWindowPortBounds (w, &r); | 7473 | standard_size.h = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS); |
| 7417 | EraseRect (&r); | 7474 | standard_size.v = FRAME_MAC_DISPLAY_INFO (f)->height; |
| 7418 | 7475 | ||
| 7419 | if (zoom_in_or_out == inZoomOut) | 7476 | if (IsWindowInStandardState (w, &standard_size, &zoom_rect)) |
| 7477 | zoom_in_or_out = inZoomIn; | ||
| 7478 | else | ||
| 7420 | { | 7479 | { |
| 7421 | /* calculate height of window's title bar (hard card it for now). */ | 7480 | /* Adjust the standard size according to character boundaries. */ |
| 7422 | w_title_height = 20 + GetMBarHeight (); | 7481 | |
| 7423 | 7482 | columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, zoom_rect.right - zoom_rect.left); | |
| 7424 | /* get maximum height of window into zoom_rect.bottom - | 7483 | rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, zoom_rect.bottom - zoom_rect.top); |
| 7425 | zoom_rect.top */ | 7484 | standard_size.h = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, columns); |
| 7426 | GetQDGlobalsScreenBits (&bm); | 7485 | standard_size.v = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows); |
| 7427 | zoom_rect = bm.bounds; | 7486 | GetWindowBounds (w, kWindowContentRgn, &port_rect); |
| 7428 | zoom_rect.top += w_title_height; | 7487 | if (IsWindowInStandardState (w, &standard_size, &zoom_rect) |
| 7429 | InsetRect (&zoom_rect, 8, 4); /* not too tight */ | 7488 | && port_rect.left == zoom_rect.left |
| 7430 | 7489 | && port_rect.top == zoom_rect.top) | |
| 7431 | zoom_rect.right = zoom_rect.left | 7490 | zoom_in_or_out = inZoomIn; |
| 7432 | + FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS); | 7491 | else |
| 7433 | 7492 | zoom_in_or_out = inZoomOut; | |
| 7434 | SetWindowStandardState (w, &zoom_rect); | ||
| 7435 | } | 7493 | } |
| 7494 | |||
| 7495 | ZoomWindowIdeal (w, zoom_in_or_out, &standard_size); | ||
| 7436 | } | 7496 | } |
| 7437 | #else /* not TARGET_API_MAC_CARBON */ | 7497 | #else /* not TARGET_API_MAC_CARBON */ |
| 7498 | GetPort (&save_port); | ||
| 7499 | |||
| 7500 | SetPortWindowPort (w); | ||
| 7501 | |||
| 7502 | /* Clear window to avoid flicker. */ | ||
| 7438 | EraseRect (&(w->portRect)); | 7503 | EraseRect (&(w->portRect)); |
| 7439 | if (zoom_in_or_out == inZoomOut) | 7504 | if (zoom_in_or_out == inZoomOut) |
| 7440 | { | 7505 | { |
| @@ -7453,12 +7518,19 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out) | |||
| 7453 | zoom_rect.right = zoom_rect.left | 7518 | zoom_rect.right = zoom_rect.left |
| 7454 | + FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS); | 7519 | + FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, DEFAULT_NUM_COLS); |
| 7455 | 7520 | ||
| 7521 | /* Adjust the standard size according to character boundaries. */ | ||
| 7522 | rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, zoom_rect.bottom - zoom_rect.top); | ||
| 7523 | zoom_rect.bottom = | ||
| 7524 | zoom_rect.top + FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows); | ||
| 7525 | |||
| 7456 | (**((WStateDataHandle) ((WindowPeek) w)->dataHandle)).stdState | 7526 | (**((WStateDataHandle) ((WindowPeek) w)->dataHandle)).stdState |
| 7457 | = zoom_rect; | 7527 | = zoom_rect; |
| 7458 | } | 7528 | } |
| 7459 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 7460 | 7529 | ||
| 7461 | ZoomWindow (w, zoom_in_or_out, w == mac_front_window ()); | 7530 | ZoomWindow (w, zoom_in_or_out, w == front_emacs_window ()); |
| 7531 | |||
| 7532 | SetPort (save_port); | ||
| 7533 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 7462 | 7534 | ||
| 7463 | /* retrieve window size and update application values */ | 7535 | /* retrieve window size and update application values */ |
| 7464 | #if TARGET_API_MAC_CARBON | 7536 | #if TARGET_API_MAC_CARBON |
| @@ -7469,8 +7541,7 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out) | |||
| 7469 | rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, port_rect.bottom - port_rect.top); | 7541 | rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, port_rect.bottom - port_rect.top); |
| 7470 | columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, port_rect.right - port_rect.left); | 7542 | columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, port_rect.right - port_rect.left); |
| 7471 | x_set_window_size (f, 0, columns, rows); | 7543 | x_set_window_size (f, 0, columns, rows); |
| 7472 | 7544 | x_real_positions (f, &f->left_pos, &f->top_pos); | |
| 7473 | SetPort (save_port); | ||
| 7474 | } | 7545 | } |
| 7475 | 7546 | ||
| 7476 | /* Initialize Drag And Drop to allow files to be dropped onto emacs frames */ | 7547 | /* Initialize Drag And Drop to allow files to be dropped onto emacs frames */ |
| @@ -8020,19 +8091,15 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8020 | if (NILP (Fboundp (Qmac_ready_for_drag_n_drop))) | 8091 | if (NILP (Fboundp (Qmac_ready_for_drag_n_drop))) |
| 8021 | event_mask -= highLevelEventMask; | 8092 | event_mask -= highLevelEventMask; |
| 8022 | 8093 | ||
| 8023 | while (WaitNextEvent (event_mask, &er, | 8094 | while (WaitNextEvent (event_mask, &er, 0L, NULL)) |
| 8024 | (expected ? app_sleep_time : 0L), NULL)) | 8095 | #else /* USE_CARBON_EVENTS */ |
| 8025 | #else | 8096 | while (!ReceiveNextEvent (0, NULL, kEventDurationNoWait, |
| 8026 | while (!ReceiveNextEvent (0, NULL, | ||
| 8027 | (expected ? TicksToEventTime (app_sleep_time) : 0), | ||
| 8028 | kEventRemoveFromQueue, &eventRef)) | 8097 | kEventRemoveFromQueue, &eventRef)) |
| 8029 | #endif /* !USE_CARBON_EVENTS */ | 8098 | #endif /* USE_CARBON_EVENTS */ |
| 8030 | { | 8099 | { |
| 8031 | int do_help = 0; | 8100 | int do_help = 0; |
| 8032 | struct frame *f; | 8101 | struct frame *f; |
| 8033 | 8102 | ||
| 8034 | expected = 0; | ||
| 8035 | |||
| 8036 | /* It is necessary to set this (additional) argument slot of an | 8103 | /* It is necessary to set this (additional) argument slot of an |
| 8037 | event to nil because keyboard.c protects incompletely | 8104 | event to nil because keyboard.c protects incompletely |
| 8038 | processed event from being garbage collected by placing them | 8105 | processed event from being garbage collected by placing them |
| @@ -8055,13 +8122,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8055 | NULL, &window_ptr); | 8122 | NULL, &window_ptr); |
| 8056 | f = mac_window_to_frame (window_ptr); | 8123 | f = mac_window_to_frame (window_ptr); |
| 8057 | if (f && !f->async_iconified) | 8124 | if (f && !f->async_iconified) |
| 8058 | { | 8125 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 8059 | int x, y; | ||
| 8060 | |||
| 8061 | x_real_positions (f, &x, &y); | ||
| 8062 | f->left_pos = x; | ||
| 8063 | f->top_pos = y; | ||
| 8064 | } | ||
| 8065 | SendEventToEventTarget (eventRef, toolbox_dispatcher); | 8126 | SendEventToEventTarget (eventRef, toolbox_dispatcher); |
| 8066 | } | 8127 | } |
| 8067 | break; | 8128 | break; |
| @@ -8070,7 +8131,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8070 | { | 8131 | { |
| 8071 | SInt32 delta; | 8132 | SInt32 delta; |
| 8072 | Point point; | 8133 | Point point; |
| 8073 | WindowPtr window_ptr = mac_front_window (); | 8134 | WindowPtr window_ptr = front_emacs_window (); |
| 8074 | 8135 | ||
| 8075 | if (!IsValidWindowPtr (window_ptr)) | 8136 | if (!IsValidWindowPtr (window_ptr)) |
| 8076 | { | 8137 | { |
| @@ -8132,33 +8193,28 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8132 | } | 8193 | } |
| 8133 | else | 8194 | else |
| 8134 | { | 8195 | { |
| 8135 | window_ptr = FrontWindow (); | 8196 | part_code = FindWindow (er.where, &window_ptr); |
| 8136 | if (tip_window && window_ptr == tip_window) | 8197 | if (tip_window && window_ptr == tip_window) |
| 8137 | { | 8198 | { |
| 8138 | HideWindow (tip_window); | 8199 | HideWindow (tip_window); |
| 8139 | window_ptr = FrontWindow (); | 8200 | part_code = FindWindow (er.where, &window_ptr); |
| 8140 | } | 8201 | } |
| 8141 | |||
| 8142 | if (!is_emacs_window (window_ptr)) | ||
| 8143 | break; | ||
| 8144 | |||
| 8145 | part_code = FindWindow (er.where, &window_ptr); | ||
| 8146 | } | 8202 | } |
| 8147 | 8203 | ||
| 8204 | if (er.what != mouseDown && part_code != inContent) | ||
| 8205 | break; | ||
| 8206 | |||
| 8148 | switch (part_code) | 8207 | switch (part_code) |
| 8149 | { | 8208 | { |
| 8150 | case inMenuBar: | 8209 | case inMenuBar: |
| 8151 | if (er.what == mouseDown) | 8210 | f = mac_window_to_frame (front_emacs_window ()); |
| 8152 | { | 8211 | saved_menu_event_location = er.where; |
| 8153 | f = mac_window_to_frame (mac_front_window ()); | 8212 | inev.kind = MENU_BAR_ACTIVATE_EVENT; |
| 8154 | saved_menu_event_location = er.where; | 8213 | XSETFRAME (inev.frame_or_window, f); |
| 8155 | inev.kind = MENU_BAR_ACTIVATE_EVENT; | ||
| 8156 | XSETFRAME (inev.frame_or_window, f); | ||
| 8157 | } | ||
| 8158 | break; | 8214 | break; |
| 8159 | 8215 | ||
| 8160 | case inContent: | 8216 | case inContent: |
| 8161 | if (window_ptr != mac_front_window ()) | 8217 | if (window_ptr != front_emacs_window ()) |
| 8162 | SelectWindow (window_ptr); | 8218 | SelectWindow (window_ptr); |
| 8163 | else | 8219 | else |
| 8164 | { | 8220 | { |
| @@ -8255,7 +8311,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8255 | } | 8311 | } |
| 8256 | else | 8312 | else |
| 8257 | { | 8313 | { |
| 8258 | if (dpyinfo->grabbed & (1 << inev.code) == 0) | 8314 | if ((dpyinfo->grabbed & (1 << inev.code)) == 0) |
| 8259 | /* If a button is released though it was not | 8315 | /* If a button is released though it was not |
| 8260 | previously pressed, that would be because | 8316 | previously pressed, that would be because |
| 8261 | of multi-button emulation. */ | 8317 | of multi-button emulation. */ |
| @@ -8278,27 +8334,16 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8278 | 8334 | ||
| 8279 | case inDrag: | 8335 | case inDrag: |
| 8280 | #if TARGET_API_MAC_CARBON | 8336 | #if TARGET_API_MAC_CARBON |
| 8281 | if (er.what == mouseDown) | 8337 | DragWindow (window_ptr, er.where, NULL); |
| 8282 | { | ||
| 8283 | BitMap bm; | ||
| 8284 | |||
| 8285 | GetQDGlobalsScreenBits (&bm); | ||
| 8286 | DragWindow (window_ptr, er.where, &bm.bounds); | ||
| 8287 | } | ||
| 8288 | #else /* not TARGET_API_MAC_CARBON */ | 8338 | #else /* not TARGET_API_MAC_CARBON */ |
| 8289 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); | 8339 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); |
| 8290 | #endif /* not TARGET_API_MAC_CARBON */ | 8340 | #endif /* not TARGET_API_MAC_CARBON */ |
| 8291 | /* Update the frame parameters. */ | 8341 | /* Update the frame parameters. */ |
| 8292 | { | 8342 | { |
| 8293 | struct frame *f = mac_window_to_frame (window_ptr); | 8343 | struct frame *f = mac_window_to_frame (window_ptr); |
| 8344 | |||
| 8294 | if (f && !f->async_iconified) | 8345 | if (f && !f->async_iconified) |
| 8295 | { | 8346 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 8296 | int x, y; | ||
| 8297 | |||
| 8298 | x_real_positions (f, &x, &y); | ||
| 8299 | f->left_pos = x; | ||
| 8300 | f->top_pos = y; | ||
| 8301 | } | ||
| 8302 | } | 8347 | } |
| 8303 | break; | 8348 | break; |
| 8304 | 8349 | ||
| @@ -8313,11 +8358,8 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8313 | 8358 | ||
| 8314 | /* window resize handling added --ben */ | 8359 | /* window resize handling added --ben */ |
| 8315 | case inGrow: | 8360 | case inGrow: |
| 8316 | if (er.what == mouseDown) | 8361 | do_grow_window (window_ptr, &er); |
| 8317 | { | 8362 | break; |
| 8318 | do_grow_window(window_ptr, &er); | ||
| 8319 | break; | ||
| 8320 | } | ||
| 8321 | 8363 | ||
| 8322 | /* window zoom handling added --ben */ | 8364 | /* window zoom handling added --ben */ |
| 8323 | case inZoomIn: | 8365 | case inZoomIn: |
| @@ -8460,7 +8502,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8460 | #endif | 8502 | #endif |
| 8461 | 8503 | ||
| 8462 | #if TARGET_API_MAC_CARBON | 8504 | #if TARGET_API_MAC_CARBON |
| 8463 | if (!IsValidWindowPtr (mac_front_window ())) | 8505 | if (!IsValidWindowPtr (front_emacs_window ())) |
| 8464 | { | 8506 | { |
| 8465 | SysBeep (1); | 8507 | SysBeep (1); |
| 8466 | break; | 8508 | break; |
| @@ -8564,7 +8606,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8564 | inev.modifiers = mac_to_emacs_modifiers (er.modifiers); | 8606 | inev.modifiers = mac_to_emacs_modifiers (er.modifiers); |
| 8565 | #endif | 8607 | #endif |
| 8566 | XSETFRAME (inev.frame_or_window, | 8608 | XSETFRAME (inev.frame_or_window, |
| 8567 | mac_window_to_frame (mac_front_window ())); | 8609 | mac_window_to_frame (front_emacs_window ())); |
| 8568 | inev.timestamp = er.when * (1000 / 60); /* ticks to milliseconds */ | 8610 | inev.timestamp = er.when * (1000 / 60); /* ticks to milliseconds */ |
| 8569 | break; | 8611 | break; |
| 8570 | 8612 | ||
| @@ -8581,16 +8623,16 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8581 | WindowPtr wp; | 8623 | WindowPtr wp; |
| 8582 | Lisp_Object frame; | 8624 | Lisp_Object frame; |
| 8583 | 8625 | ||
| 8584 | wp = mac_front_window (); | 8626 | wp = front_emacs_window (); |
| 8585 | 8627 | ||
| 8586 | if (!wp) | 8628 | if (!wp) |
| 8587 | { | 8629 | { |
| 8588 | struct frame *f = XFRAME (XCAR (Vframe_list)); | 8630 | struct frame *f = XFRAME (XCAR (Vframe_list)); |
| 8589 | CollapseWindow (FRAME_MAC_WINDOW (f), false); | 8631 | CollapseWindow (FRAME_MAC_WINDOW (f), false); |
| 8590 | wp = mac_front_window (); | 8632 | wp = front_emacs_window (); |
| 8591 | } | 8633 | } |
| 8592 | 8634 | ||
| 8593 | if (wp && is_emacs_window (wp)) | 8635 | if (wp) |
| 8594 | f = mac_window_to_frame (wp); | 8636 | f = mac_window_to_frame (wp); |
| 8595 | 8637 | ||
| 8596 | inev.kind = DRAG_N_DROP_EVENT; | 8638 | inev.kind = DRAG_N_DROP_EVENT; |
| @@ -9047,7 +9089,7 @@ mac_check_for_quit_char () | |||
| 9047 | e.arg = Qnil; | 9089 | e.arg = Qnil; |
| 9048 | e.modifiers = NULL; | 9090 | e.modifiers = NULL; |
| 9049 | e.timestamp = EventTimeToTicks (GetEventTime (event)) * (1000/60); | 9091 | e.timestamp = EventTimeToTicks (GetEventTime (event)) * (1000/60); |
| 9050 | XSETFRAME (e.frame_or_window, mac_window_to_frame (mac_front_window ())); | 9092 | XSETFRAME (e.frame_or_window, mac_window_to_frame (front_emacs_window ())); |
| 9051 | /* Remove event from queue to prevent looping. */ | 9093 | /* Remove event from queue to prevent looping. */ |
| 9052 | RemoveEventFromQueue (GetMainEventQueue (), event); | 9094 | RemoveEventFromQueue (GetMainEventQueue (), event); |
| 9053 | ReleaseEvent (event); | 9095 | ReleaseEvent (event); |
diff --git a/src/window.c b/src/window.c index c64e8557b56..22ca145b206 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -609,9 +609,6 @@ coordinates_in_window (w, x, y) | |||
| 609 | int grabbable_width = ux; | 609 | int grabbable_width = ux; |
| 610 | int lmargin_width, rmargin_width, text_left, text_right; | 610 | int lmargin_width, rmargin_width, text_left, text_right; |
| 611 | 611 | ||
| 612 | if (*x < x0 || *x >= x1) | ||
| 613 | return ON_NOTHING; | ||
| 614 | |||
| 615 | /* In what's below, we subtract 1 when computing right_x because we | 612 | /* In what's below, we subtract 1 when computing right_x because we |
| 616 | want the rightmost pixel, which is given by left_pixel+width-1. */ | 613 | want the rightmost pixel, which is given by left_pixel+width-1. */ |
| 617 | if (w->pseudo_window_p) | 614 | if (w->pseudo_window_p) |
| @@ -661,6 +658,9 @@ coordinates_in_window (w, x, y) | |||
| 661 | return ON_VERTICAL_BORDER; | 658 | return ON_VERTICAL_BORDER; |
| 662 | } | 659 | } |
| 663 | 660 | ||
| 661 | if (*x < x0 || *x >= x1) | ||
| 662 | return ON_NOTHING; | ||
| 663 | |||
| 664 | /* Convert X and Y to window relative coordinates. | 664 | /* Convert X and Y to window relative coordinates. |
| 665 | Mode line starts at left edge of window. */ | 665 | Mode line starts at left edge of window. */ |
| 666 | *x -= x0; | 666 | *x -= x0; |
| @@ -675,6 +675,9 @@ coordinates_in_window (w, x, y) | |||
| 675 | goto header_vertical_border_check; | 675 | goto header_vertical_border_check; |
| 676 | } | 676 | } |
| 677 | 677 | ||
| 678 | if (*x < x0 || *x >= x1) | ||
| 679 | return ON_NOTHING; | ||
| 680 | |||
| 678 | /* Outside any interesting column? */ | 681 | /* Outside any interesting column? */ |
| 679 | if (*x < left_x || *x > right_x) | 682 | if (*x < left_x || *x > right_x) |
| 680 | return ON_SCROLL_BAR; | 683 | return ON_SCROLL_BAR; |
| @@ -6036,9 +6039,9 @@ display marginal areas and the text area. */) | |||
| 6036 | struct window *w = decode_window (window); | 6039 | struct window *w = decode_window (window); |
| 6037 | 6040 | ||
| 6038 | if (!NILP (left)) | 6041 | if (!NILP (left)) |
| 6039 | CHECK_NUMBER (left); | 6042 | CHECK_NATNUM (left); |
| 6040 | if (!NILP (right)) | 6043 | if (!NILP (right)) |
| 6041 | CHECK_NUMBER (right); | 6044 | CHECK_NATNUM (right); |
| 6042 | 6045 | ||
| 6043 | if (!EQ (w->left_fringe_width, left) | 6046 | if (!EQ (w->left_fringe_width, left) |
| 6044 | || !EQ (w->right_fringe_width, right) | 6047 | || !EQ (w->right_fringe_width, right) |
| @@ -6098,7 +6101,7 @@ If TYPE is t, use the frame's scroll-bar type. */) | |||
| 6098 | struct window *w = decode_window (window); | 6101 | struct window *w = decode_window (window); |
| 6099 | 6102 | ||
| 6100 | if (!NILP (width)) | 6103 | if (!NILP (width)) |
| 6101 | CHECK_NUMBER (width); | 6104 | CHECK_NATNUM (width); |
| 6102 | 6105 | ||
| 6103 | if (XINT (width) == 0) | 6106 | if (XINT (width) == 0) |
| 6104 | vertical_type = Qnil; | 6107 | vertical_type = Qnil; |
diff --git a/src/xdisp.c b/src/xdisp.c index 3d52e60c12f..0e25b0a3de3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -215,6 +215,8 @@ extern int pending_menu_activation; | |||
| 215 | extern int interrupt_input; | 215 | extern int interrupt_input; |
| 216 | extern int command_loop_level; | 216 | extern int command_loop_level; |
| 217 | 217 | ||
| 218 | extern Lisp_Object do_mouse_tracking; | ||
| 219 | |||
| 218 | extern int minibuffer_auto_raise; | 220 | extern int minibuffer_auto_raise; |
| 219 | extern Lisp_Object Vminibuffer_list; | 221 | extern Lisp_Object Vminibuffer_list; |
| 220 | 222 | ||
| @@ -20762,6 +20764,10 @@ define_frame_cursor1 (f, cursor, pointer) | |||
| 20762 | Cursor cursor; | 20764 | Cursor cursor; |
| 20763 | Lisp_Object pointer; | 20765 | Lisp_Object pointer; |
| 20764 | { | 20766 | { |
| 20767 | /* Do not change cursor shape while dragging mouse. */ | ||
| 20768 | if (!NILP (do_mouse_tracking)) | ||
| 20769 | return; | ||
| 20770 | |||
| 20765 | if (!NILP (pointer)) | 20771 | if (!NILP (pointer)) |
| 20766 | { | 20772 | { |
| 20767 | if (EQ (pointer, Qarrow)) | 20773 | if (EQ (pointer, Qarrow)) |
| @@ -21625,6 +21631,9 @@ x_draw_vertical_border (w) | |||
| 21625 | do it for frames with vertical scroll bars because either the | 21631 | do it for frames with vertical scroll bars because either the |
| 21626 | right scroll bar of a window, or the left scroll bar of its | 21632 | right scroll bar of a window, or the left scroll bar of its |
| 21627 | neighbor will suffice as a border. */ | 21633 | neighbor will suffice as a border. */ |
| 21634 | if (FRAME_HAS_VERTICAL_SCROLL_BARS (XFRAME (w->frame))) | ||
| 21635 | return; | ||
| 21636 | |||
| 21628 | if (!WINDOW_RIGHTMOST_P (w) | 21637 | if (!WINDOW_RIGHTMOST_P (w) |
| 21629 | && !WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) | 21638 | && !WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) |
| 21630 | { | 21639 | { |
diff --git a/src/xterm.c b/src/xterm.c index 17efe655410..69e04de2eb8 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3380,12 +3380,14 @@ x_find_modifier_meanings (dpyinfo) | |||
| 3380 | Alt keysyms are on. */ | 3380 | Alt keysyms are on. */ |
| 3381 | { | 3381 | { |
| 3382 | int row, col; /* The row and column in the modifier table. */ | 3382 | int row, col; /* The row and column in the modifier table. */ |
| 3383 | int found_alt_or_meta; | ||
| 3383 | 3384 | ||
| 3384 | for (row = 3; row < 8; row++) | 3385 | for (row = 3; row < 8; row++) |
| 3386 | { | ||
| 3387 | found_alt_or_meta = 0; | ||
| 3385 | for (col = 0; col < mods->max_keypermod; col++) | 3388 | for (col = 0; col < mods->max_keypermod; col++) |
| 3386 | { | 3389 | { |
| 3387 | KeyCode code | 3390 | KeyCode code = mods->modifiermap[(row * mods->max_keypermod) + col]; |
| 3388 | = mods->modifiermap[(row * mods->max_keypermod) + col]; | ||
| 3389 | 3391 | ||
| 3390 | /* Zeroes are used for filler. Skip them. */ | 3392 | /* Zeroes are used for filler. Skip them. */ |
| 3391 | if (code == 0) | 3393 | if (code == 0) |
| @@ -3403,33 +3405,44 @@ x_find_modifier_meanings (dpyinfo) | |||
| 3403 | { | 3405 | { |
| 3404 | case XK_Meta_L: | 3406 | case XK_Meta_L: |
| 3405 | case XK_Meta_R: | 3407 | case XK_Meta_R: |
| 3408 | found_alt_or_meta = 1; | ||
| 3406 | dpyinfo->meta_mod_mask |= (1 << row); | 3409 | dpyinfo->meta_mod_mask |= (1 << row); |
| 3407 | break; | 3410 | break; |
| 3408 | 3411 | ||
| 3409 | case XK_Alt_L: | 3412 | case XK_Alt_L: |
| 3410 | case XK_Alt_R: | 3413 | case XK_Alt_R: |
| 3414 | found_alt_or_meta = 1; | ||
| 3411 | dpyinfo->alt_mod_mask |= (1 << row); | 3415 | dpyinfo->alt_mod_mask |= (1 << row); |
| 3412 | break; | 3416 | break; |
| 3413 | 3417 | ||
| 3414 | case XK_Hyper_L: | 3418 | case XK_Hyper_L: |
| 3415 | case XK_Hyper_R: | 3419 | case XK_Hyper_R: |
| 3416 | dpyinfo->hyper_mod_mask |= (1 << row); | 3420 | if (!found_alt_or_meta) |
| 3421 | dpyinfo->hyper_mod_mask |= (1 << row); | ||
| 3422 | code_col = syms_per_code; | ||
| 3423 | col = mods->max_keypermod; | ||
| 3417 | break; | 3424 | break; |
| 3418 | 3425 | ||
| 3419 | case XK_Super_L: | 3426 | case XK_Super_L: |
| 3420 | case XK_Super_R: | 3427 | case XK_Super_R: |
| 3421 | dpyinfo->super_mod_mask |= (1 << row); | 3428 | if (!found_alt_or_meta) |
| 3429 | dpyinfo->super_mod_mask |= (1 << row); | ||
| 3430 | code_col = syms_per_code; | ||
| 3431 | col = mods->max_keypermod; | ||
| 3422 | break; | 3432 | break; |
| 3423 | 3433 | ||
| 3424 | case XK_Shift_Lock: | 3434 | case XK_Shift_Lock: |
| 3425 | /* Ignore this if it's not on the lock modifier. */ | 3435 | /* Ignore this if it's not on the lock modifier. */ |
| 3426 | if ((1 << row) == LockMask) | 3436 | if (!found_alt_or_meta && ((1 << row) == LockMask)) |
| 3427 | dpyinfo->shift_lock_mask = LockMask; | 3437 | dpyinfo->shift_lock_mask = LockMask; |
| 3438 | code_col = syms_per_code; | ||
| 3439 | col = mods->max_keypermod; | ||
| 3428 | break; | 3440 | break; |
| 3429 | } | 3441 | } |
| 3430 | } | 3442 | } |
| 3431 | } | 3443 | } |
| 3432 | } | 3444 | } |
| 3445 | } | ||
| 3433 | } | 3446 | } |
| 3434 | 3447 | ||
| 3435 | /* If we couldn't find any meta keys, accept any alt keys as meta keys. */ | 3448 | /* If we couldn't find any meta keys, accept any alt keys as meta keys. */ |
| @@ -5050,9 +5063,15 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 5050 | /* Compute the left edge of the scroll bar. */ | 5063 | /* Compute the left edge of the scroll bar. */ |
| 5051 | #ifdef USE_TOOLKIT_SCROLL_BARS | 5064 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 5052 | if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) | 5065 | if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) |
| 5053 | sb_left = left + width - sb_width - (width - sb_width) / 2; | 5066 | sb_left = (left + |
| 5067 | (WINDOW_RIGHTMOST_P (w) | ||
| 5068 | ? width - sb_width - (width - sb_width) / 2 | ||
| 5069 | : 0)); | ||
| 5054 | else | 5070 | else |
| 5055 | sb_left = left + (width - sb_width) / 2; | 5071 | sb_left = (left + |
| 5072 | (WINDOW_LEFTMOST_P (w) | ||
| 5073 | ? (width - sb_width) / 2 | ||
| 5074 | : width - sb_width)); | ||
| 5056 | #else | 5075 | #else |
| 5057 | if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) | 5076 | if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) |
| 5058 | sb_left = left + width - sb_width; | 5077 | sb_left = left + width - sb_width; |
| @@ -5105,19 +5124,20 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 5105 | width); | 5124 | width); |
| 5106 | #else /* not USE_GTK */ | 5125 | #else /* not USE_GTK */ |
| 5107 | 5126 | ||
| 5108 | /* Since toolkit scroll bars are smaller than the space reserved | ||
| 5109 | for them on the frame, we have to clear "under" them. */ | ||
| 5110 | if (width > 0 && height > 0) | ||
| 5111 | x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 5112 | left, top, width, height, False); | ||
| 5113 | /* Move/size the scroll bar widget. */ | 5127 | /* Move/size the scroll bar widget. */ |
| 5114 | if (mask) | 5128 | if (mask) |
| 5129 | { | ||
| 5130 | /* Since toolkit scroll bars are smaller than the space reserved | ||
| 5131 | for them on the frame, we have to clear "under" them. */ | ||
| 5132 | if (width > 0 && height > 0) | ||
| 5133 | x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 5134 | left, top, width, height, False); | ||
| 5115 | XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), | 5135 | XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), |
| 5116 | sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 5136 | sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, |
| 5117 | top, | 5137 | top, |
| 5118 | sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | 5138 | sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, |
| 5119 | max (height, 1), 0); | 5139 | max (height, 1), 0); |
| 5120 | 5140 | } | |
| 5121 | #endif /* not USE_GTK */ | 5141 | #endif /* not USE_GTK */ |
| 5122 | #else /* not USE_TOOLKIT_SCROLL_BARS */ | 5142 | #else /* not USE_TOOLKIT_SCROLL_BARS */ |
| 5123 | 5143 | ||