Mercurial > emacs
changeset 90082:6d92d69fae33
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-4
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-41
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-46
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-47
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-4
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-5
Update from CVS: exi/gnus-faq.texi ([4.1]): Typo.
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-6
Update from CVS
line wrap: on
line diff
--- a/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,8 @@ +2005-01-19 Steven Tamm <steventamm@mac.com> + + * configure.in: Check for <sys/utsname.h>. + * configure: Regenerate. + 2004-12-11 Kim F. Storm <storm@cua.dk> * Makefile.in (info): Undo 2004-12-05 change.
--- a/admin/FOR-RELEASE Tue Jan 18 04:50:08 2005 +0000 +++ b/admin/FOR-RELEASE Sat Jan 22 21:39:38 2005 +0000 @@ -40,8 +40,6 @@ * BUGS -** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18) - ** Ange-ftp should ignore irrelevant IPv6 errors: Message-Id: <4121-Tue23Mar2004165249+0100-piet@cs.uu.nl> @@ -153,32 +151,6 @@ Update: Maybe only reveals itself when compiled with GTK+ -** Partial highlighting of wrapped overlay - -From: Ralf Angeli <angeli@iwi.uni-sb.de> -Date: Mon, 18 Oct 2004 19:09:19 +0200 - -If you put - -(let* ((length (+ (- (window-width) (current-column)) 40)) - (start (point)) - (end (+ (point) length)) - (string (make-string length ?x)) - ov) - (insert string) - (setq ov (make-overlay start end)) - (overlay-put ov 'mouse-face 'highlight) - (overlay-put ov 'display string)) - -into the *scratch* buffer and type `C-x C-e' with point at the last -parenthesis, you will get a string which does not fit into the line -and has to be wrapped. If you move over it with your mouse, you -should see that only the part on the second line is being highlighted. -The full string is highlighted only if the 'display property is not -set. - - - * DOCUMENTATION ** Document Custom Themes.
--- a/configure Tue Jan 18 04:50:08 2005 +0000 +++ b/configure Sat Jan 22 21:39:38 2005 +0000 @@ -984,7 +984,7 @@ else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi - cd "$ac_popdir" + cd $ac_popdir done fi @@ -3250,7 +3250,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3308,7 +3309,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3424,7 +3426,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3478,7 +3481,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3523,7 +3527,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3567,7 +3572,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4200,7 +4206,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4476,7 +4483,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4505,7 +4513,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4575,7 +4584,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4627,7 +4637,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4698,7 +4709,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4750,7 +4762,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4820,7 +4833,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4990,7 +5004,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5059,7 +5074,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5213,7 +5229,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5270,10 +5287,12 @@ + for ac_header in sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \ linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \ termcap.h stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \ - sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h + sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \ + sys/utsname.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -5306,7 +5325,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5448,7 +5468,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5567,7 +5588,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5732,7 +5754,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5795,7 +5818,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5868,7 +5892,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5954,7 +5979,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6027,7 +6053,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6097,7 +6124,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6156,7 +6184,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6225,7 +6254,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6286,7 +6316,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6352,7 +6383,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6498,7 +6530,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6562,7 +6595,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6627,7 +6661,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6673,7 +6708,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6747,7 +6783,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6812,7 +6849,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6856,7 +6894,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6927,7 +6966,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6977,7 +7017,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7048,7 +7089,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7098,7 +7140,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7169,7 +7212,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7219,7 +7263,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7290,7 +7335,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7340,7 +7386,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7411,7 +7458,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7461,7 +7509,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7548,7 +7597,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7654,7 +7704,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7714,7 +7765,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7838,7 +7890,6 @@ echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 -ac_path_x_has_been_run=yes # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -7931,7 +7982,7 @@ /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for a specified header file. + # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -8005,7 +8056,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8065,12 +8117,8 @@ # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - # It might be that x_includes is empty (headers are found in the - # standard search path. Then output the corresponding message - ac_out_x_includes=$x_includes - test "x$x_includes" = x && ac_out_x_includes="in standard search path" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6 + echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi if test "$no_x" = yes; then @@ -8234,7 +8282,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8329,7 +8378,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8388,7 +8438,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8472,7 +8523,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8656,7 +8708,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8908,7 +8961,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8975,7 +9029,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9044,7 +9099,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9129,7 +9185,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9206,7 +9263,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9260,7 +9318,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9329,7 +9388,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9433,7 +9493,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9500,7 +9561,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9570,7 +9632,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9810,7 +9873,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10332,7 +10396,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10404,7 +10469,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10486,7 +10552,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10565,7 +10632,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10639,7 +10707,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10707,7 +10776,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10776,7 +10846,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10900,7 +10971,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10996,7 +11068,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11076,7 +11149,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11144,7 +11218,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11289,7 +11364,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11398,7 +11474,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11543,7 +11620,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11650,7 +11728,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11804,7 +11883,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11879,7 +11959,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12027,7 +12108,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12104,7 +12186,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12251,7 +12334,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12327,7 +12411,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12470,7 +12555,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12638,7 +12724,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12783,7 +12870,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12859,7 +12947,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12922,7 +13011,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13003,7 +13093,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13144,7 +13235,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13289,7 +13381,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13365,7 +13458,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13438,7 +13532,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13593,7 +13688,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13659,7 +13755,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13918,7 +14015,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13985,7 +14083,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14137,7 +14236,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14321,7 +14421,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14648,7 +14749,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14749,7 +14851,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14822,7 +14925,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14901,7 +15005,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14970,7 +15075,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15038,7 +15144,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15112,7 +15219,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15216,7 +15324,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15291,7 +15400,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15443,7 +15553,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15511,7 +15622,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15688,7 +15800,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15764,7 +15877,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15918,7 +16032,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16069,7 +16184,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16220,7 +16336,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16362,7 +16479,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16406,7 +16524,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16552,7 +16671,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16596,7 +16716,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16661,7 +16782,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16724,7 +16846,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16826,7 +16949,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16895,7 +17019,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17002,7 +17127,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17105,7 +17231,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17181,7 +17308,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17285,7 +17413,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17377,7 +17506,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17442,7 +17572,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17508,7 +17639,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17618,7 +17750,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17683,7 +17816,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17763,7 +17897,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17836,7 +17971,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17909,7 +18045,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17982,7 +18119,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18056,7 +18194,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18128,7 +18267,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18203,7 +18343,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18275,7 +18416,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18348,7 +18490,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18498,7 +18641,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18644,7 +18788,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18790,7 +18935,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18947,7 +19093,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19093,7 +19240,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19239,7 +19387,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19397,7 +19546,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19555,7 +19705,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19744,7 +19895,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19817,7 +19969,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19885,7 +20038,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19931,7 +20085,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20005,7 +20160,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20069,7 +20225,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20207,7 +20364,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20268,7 +20426,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20413,7 +20572,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20569,7 +20729,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20740,7 +20901,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20808,7 +20970,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20993,7 +21156,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21286,7 +21450,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21351,7 +21516,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21414,7 +21580,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21480,7 +21647,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21521,7 +21689,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21588,7 +21757,8 @@ cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -22717,6 +22887,11 @@ *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ @@ -22755,12 +22930,6 @@ fi;; esac done` || { (exit 1); exit 1; } - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub
--- a/configure.in Tue Jan 18 04:50:08 2005 +0000 +++ b/configure.in Sat Jan 22 21:39:38 2005 +0000 @@ -1449,7 +1449,8 @@ AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \ linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \ termcap.h stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \ - sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h) + sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \ + sys/utsname.h) AC_MSG_CHECKING(if personality LINUX32 can be set) AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],
--- a/etc/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/etc/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,15 @@ +2005-01-22 David Kastrup <dak@gnu.org> + + * NEWS: Mention alias `find-grep' for `grep-find'. + +2005-01-22 Nick Roberts <nickrob@snap.net.nz> + + * TODO: Add entry for toolbar on ttys. + +2005-01-18 Nick Roberts <nickrob@snap.net.nz> + + * DEBUG: Suggest separate terminal for debug session. + 2005-01-15 Frederik Fouvry <fouvry@CoLi.Uni-SB.DE> * TUTORIAL.nl: Correct translation and the Dutch text (typos).
--- a/etc/DEBUG Tue Jan 18 04:50:08 2005 +0000 +++ b/etc/DEBUG Sat Jan 22 21:39:38 2005 +0000 @@ -62,6 +62,11 @@ Put a breakpoint early in `main', or suspend the Emacs, to get an opportunity to do the set command. +When Emacs is running in a terminal, it is useful to use a separate terminal +for the debug session. This can be done by starting Emacs as usual, then +attaching to it from gdb with the `attach' command which is explained in the +node "Attach" of the GDB manual. + ** Examining Lisp object values. When you have a live process to debug, and it has not encountered a @@ -115,7 +120,7 @@ b set_frame_buffer_list r -q -Then when Emacs it hits the breakpoint: +Then Emacs hits the breakpoint: (gdb) p frame $1 = 139854428
--- a/etc/NEWS Tue Jan 18 04:50:08 2005 +0000 +++ b/etc/NEWS Sat Jan 22 21:39:38 2005 +0000 @@ -174,6 +174,12 @@ * Changes in Emacs 21.4 +** Emacs now responds to mouse-clicks on the mode-line, header-line and +display margin, when run in an xterm. + +** M-SPC (just-one-space) when given a numeric argument N +converts whitespace around point to N spaces. + ** Control characters and escape glyphs are now shown in the new escape-glyph face. @@ -427,6 +433,10 @@ *** Grep commands now have their own submenu and customization group. ++++ +*** `grep-find' is now also available under the name `find-grep' where +people knowing `find-grep-dired' would probably expect it. + *** The new variables `grep-window-height', `grep-auto-highlight', and `grep-scroll-output' can be used to override the corresponding compilation mode settings for grep commands. @@ -2540,6 +2550,12 @@ * Incompatible Lisp Changes in Emacs 21.4 +++ +** `suppress-keymap' now works by remapping `self-insert-command' to +the command `undefined'. (In earlier Emacs versions, it used +`substitute-key-definition' to rebind self inserting characters to +`undefined'.) + ++++ ** Mode line display ignores text properties as well as the :propertize and :eval forms in the value of a variable whose `risky-local-variable' property is nil. @@ -2578,9 +2594,9 @@ +++ ** New functions `make-progress-reporter', `progress-reporter-update', -`progress-reporter-force-update' and `progress-reporter-done' provide -a simple and efficient way for a command to present progress messages -for the user. +`progress-reporter-force-update', `progress-reporter-done', and +`dotimes-with-progress-reporter' provide a simple and efficient way for +a command to present progress messages for the user. --- ** To manipulate the File menu using easy-menu, you must specify the
--- a/etc/TODO Tue Jan 18 04:50:08 2005 +0000 +++ b/etc/TODO Sat Jan 22 21:39:38 2005 +0000 @@ -20,6 +20,10 @@ ** Redefine define-generic-mode as a macro, so the compiler sees the definitions it generates. +** Change the way define-minor-mode handles autoloading. + It should not generate :require. Or :require in defcustom + should not be recorded in the user's custom-set-variables call. + * Important features: ** Provide user-friendly ways to list all available font families, @@ -71,6 +75,12 @@ * Other features we would like: +** A function to check for customizable options that have been + set but not saved, and ask the user whether to save them. + This could go in kill-emacs-query-functions, to remind people + to save their changes. If the user says yes, show them + in a Custom buffer using customize-customized. + ** ange-ftp *** understand sftp *** Use MLS for ange-ftp-insert-directory if a list of files is specified. @@ -318,6 +328,9 @@ "japanese". Currently, most Japanese users are using external packages (e.g. tamago, anthy) or an input method via XIM. +** Provide the toolbar on ttys. This could map a bit like tmm-menubar + for the menubar and buttons could look a bit like those used by customize. + * Internal changes ** Replace gmalloc.c with the modified Doug Lea code from the current
--- a/lisp/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,186 @@ +2005-01-22 David Kastrup <dak@gnu.org> + + * progmodes/grep.el: Add alias `find-grep' for `grep-find'. + +2005-01-22 Eli Zaretskii <eliz@gnu.org> + + * type-break.el (type-break-mode): Add a test for + type-break-file-name being non-nil. + +2005-01-22 Toby Allsopp <Toby.Allsopp@navman.com> (tiny change) + + * net/eudc.el (top level): Call (message "") via progn, so that + eudc-options-file is loaded. + +2005-01-22 Kim F. Storm <storm@cua.dk> + + * simple.el (line-move-1): Rename from line-move. + (line-move): New function that adjusts vscroll for partially + visible rows, and calls line-move-1 otherwise. + +2005-01-21 Ren,Ai(B Kyllingstad <listmailxemacs@kyllingstad.com> + + * pcomplete.el: define pcomplete-read-event instead of read-event, + since it's not a complete read-event implementation + +2005-01-20 Jay Belanger <belanger@truman.edu> + + * calc/calc-ext.el (calc-fancy-prefix-other-key): Set prefix arg + for called function. + +2005-01-20 Steven Tamm <steventamm@mac.com> + + * term/mac-win.el (process-connection-type): Removed. + Controlled now by s/darwin.h:PTY_ITERATION. + +2005-01-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (handle-select-window): Don't switch window when we're + in the minibuffer. + +2005-01-10 Paul Pogonyshev <pogonyshev@gmx.net> + + * subr.el (dotimes-with-progress-reporter): New macro. + + * ses.el (ses-dotimes-msg): Remove macro. + Use `dotimes-with-progress-reporter' instead. + +2005-01-19 Steven Tamm <steventamm@mac.com> + + * term/mac-win.el (process-connection-type): Use new + operating-system-release variable to use ptys on Darwin 7 (OSX + 10.3) when using carbon build. + +2005-01-19 Jay Belanger <belanger@truman.edu> + + * calc/calc-ext.el (calc-fancy-prefix-other-key): Don't clear + flags if the last command was a tab or M-tab. + + * calc/calc-prog.el (calc-user-define-edit): Put original formula + in formula editing buffer. + +2005-01-19 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gdb-ui.el (gdb-put-breakpoint-icon): Add help-echo for + breakpoint image symbol in margin. + +2005-01-19 Jay Belanger <belanger@truman.edu> + + * calc/calc-prog.el (calc-execute-kbd-macro): + Ignore calc-keep-arg-flag. + +2005-01-19 Kenichi Handa <handa@m17n.org> + + * textmodes/ispell.el (ispell-looking-at): New function. + (ispell-process-line): Use ispell-looking-at to compare the ispell + output and the buffer contents. + +2005-01-18 Jay Belanger <belanger@truman.edu> + + * calc/calc.el (calc-display-raw): Fix docstring. + +2005-01-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (blink-matching-open): Strip extra info from syntax. + + * progmodes/sh-script.el (sh-here-doc-open-re): Don't allow | or other + funny chars in the end-of-here-doc marker. + +2005-01-19 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gdb-ui.el (gdb-put-string): Copy/create strings so + that enable/disabled state of breakpoints is shown correctly in + fringe and on ttys. + (gdb-put-breakpoint-icon, gdb-info-breakpoints-custom): + Add breakpoint information as text properties. + (gdb-mouse-toggle-breakpoint): + Rename to gdb-mouse-set-clear-breakpoint. + (gdb-mouse-toggle-breakpoint): New function. Enable/disable + breakpoints in the margin. + (gdb-remove-strings): Simplify. + +2005-01-17 Jay Belanger <belanger@truman.edu> + + * calc/calc-yank.el (calc-edit-mode): Inhibit read-only when + erasing buffer. + +2005-01-17 Richard M. Stallman <rms@gnu.org> + + * progmodes/grep.el (grep-find): Copy from `grep' the condition + for calling grep-compute-defaults. + + * play/decipher.el (decipher-mode): Don't call decipher-read-alphabet + if buffer is empty. + + * emacs-lisp/lisp.el (backward-kill-sexp, kill-sexp): Doc fixes. + +2005-01-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * hilit-chg.el (highlight-changes-mode): Don't autoload. + + * bindings.el (mode-line-mode-menu): Use bound-and-true-p for all the + non-preloaded variables. + +2005-01-17 Steven Tamm <steventamm@mac.com> + + * textmodes/tex-mode.el (tex-start-shell): Adding -i to the + tex-shell cause to force interactivity when using pipes. + +2005-01-17 Kim F. Storm <storm@cua.dk> + + * simple.el (just-one-space): Make arg optional. + +2005-01-17 Nick Roberts <nickrob@snap.net.nz> + + * xt-mouse.el (xterm-mouse-event): Set new optional fourth arg in + posn-at-x-y to t to access left-margin. + +2005-01-16 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.0.47. + + * tramp.el (tramp-operation-not-permitted-regexp) New defcustom, + catching keep-date problems in cp/scp operations. + (tramp-handle-copy-file): Don't call `set-file-modes' + unconditionally. Specialized functions should know better what is + necessary. This improves performance a little bit, and the + functions could catch errors with `cp -p' and `scp -p'. + (tramp-do-copy-or-rename-file-via-buffer) + (tramp-do-copy-or-rename-file-out-of-band): Call `set-file-modes' + when appropriate. + (tramp-do-copy-or-rename-file-directly): Mask `cp -p' error. + Call `set-file-modes' when appropriate. + (tramp-action-out-of-band): Mask `scp -p' error. Reported by Isak + Johnsson <isak@hypergene.com> + (tramp-get-buffer, tramp-get-debug-buffer): Discard the undo list + of both Tramp buffer and debug buffer. Reported by Joakim Verona + <joakim@verona.se> + (tramp-file-name-for-operation): Mark `shell-command' as magic for + Emacs only. + + * tramp-util.el (tramp-minor-mode): New minor mode. Add it to + `find-file-hooks' and `dired-mode-hook'. + (tramp-minor-mode-map): Respective map. Add remapping for + `compile' and `recompile'. + (tramp-remap-command, tramp-recompile): New defuns. + (tramp-compile): Enable `tramp-minor-mode' and `compilation-mode' + in buffer "*Compilation*". Call the commands asynchronously. + + * tramp-vc.el (tramp-vc-do-command, tramp-vc-do-command-new) + (tramp-vc-simple-command): Call `tramp-handle-shell-command' but + `shell-command', because it isn't magic in XEmacs. Reported by + Adrian Aichner <adrian@xemacs.org>. + + * tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for + `substitute-in-file-name. + (tramp-smb-handle-substitute-in-file-name): New defun. + (tramp-smb-advice-PC-do-completion): Delete advice. + +2005-01-16 Kai Grossjohann <kgrossjo@eu.uu.net> + + * tramp.el (tramp-wait-for-output): Fix typo in echo processing. + Fix error in deleting region. + 2005-01-15 Richard M. Stallman <rms@gnu.org> * emacs-lisp/lisp-mnt.el (lm-with-file): Use Lisp mode in temp buffer. @@ -24,28 +207,26 @@ (sh-mode-map): Bind C-c C-\. (sh-backslash-column, sh-backslash-align): New variables. (sh-backslash-region, sh-append-backslash): New functions. - + 2005-01-15 Sergey Poznyakoff <gray@Mirddin.farlep.net> * mail/rmail.el: Updated to work with movemail from GNU Mailutils - (rmail-pop-password, rmail-pop-password-required): Moved to + (rmail-pop-password, rmail-pop-password-required): Move to rmail-obsolete group. - (rmail-set-pop-password): Renamed to rmail-set-remote-password. + (rmail-set-pop-password): Rename to rmail-set-remote-password. All callers updated. - (rmail-get-pop-password): Renamed to rmail-get-remote-password. + (rmail-get-pop-password): Rename to rmail-get-remote-password. Take an argument specifying whether it is POP or IMAP mailbox we are using. All callers updated. - (rmail-pop-password-error): Renamed to - rmail-remote-password-error. Added mailutils-specific error - message. + (rmail-pop-password-error): Rename to + rmail-remote-password-error. Added mailutils-specific error message. (rmail-movemail-search-path) (rmail-movemail-variant-in-use): New variables. - (rmail-remote-password, rmail-remote-password-required): New - customization variables. - (rmail-probe,rmail-autodetect, rmail-movemail-variant-p): New - functions. + (rmail-remote-password, rmail-remote-password-required): + New customization variables. + (rmail-probe,rmail-autodetect, rmail-movemail-variant-p): New funs. (rmail-parse-url): New function. - (rmail-get-new-mail, rmail-insert-inbox-text): Updated for use + (rmail-get-new-mail, rmail-insert-inbox-text): Update for use with GNU mailutils movemail. 2005-01-15 Kevin Ryde <user42@zip.com.au> @@ -57,8 +238,8 @@ 2005-01-15 Jorgen Schaefer <forcer@forcix.cx> (tiny change) * type-break.el (type-break-mode, type-break-file-time) - (type-break-file-keystroke-count, type-break-choose-file): Don't - store data in or load data from the file if type-break-file-name + (type-break-file-keystroke-count, type-break-choose-file): + Don't store data in or load data from the file if type-break-file-name is nil. (type-break-file-name): Doc update as per the above. @@ -70,8 +251,7 @@ 2005-01-15 Alan Mackenzie <acm@muc.de> * ebrowse.el (ebrowse-class-in-tree): Return the tail of the tree - rather than the element found, thus enabling the tree to be - setcar'd. + rather than the element found, thus enabling the tree to be setcar'd. 2005-01-14 Carsten Dominik <dominik@science.uva.nl> @@ -89,62 +269,59 @@ * textmodes/org.el (org-mode): `org-table-may-need-update' is now a local variable in each org-mode buffer. - * textmodes/org.el (org-set-regexps-and-options): Renamed from + * textmodes/org.el (org-set-regexps-and-options): Rename from `org-set-regexps'. Added checking for STARTUP keyword. - (org-get-current-options): Added STARTUP options. + (org-get-current-options): Add STARTUP options. (org-table-insert-row): Mode mode intelligent about when realignment is needed. - (org-self-insert-command, org-delete-backward-char, - org-delete-char): New commands. - (org-enable-table-editor): new default value `optimized'. + (org-self-insert-command, org-delete-backward-char, org-delete-char): + New commands. + (org-enable-table-editor): New default value `optimized'. (org-table-blank-field): Support blanking regions if active. - 2005-01-14 Carsten Dominik <dominik@science.uva.nl> * textmodes/reftex-cite.el (reftex-bib-sort-year): Catch the case if the year is not given. - * textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Added - new escapes %m and %M, fixed bug with %F by adding + * textmodes/reftex-ref.el (reftex-replace-prefix-escapes): + Add new escapes %m and %M, fixed bug with %F by adding save-match-data. - (reftex-reference): Removed ?. from list of spaces. - (reftex-label-info): Added automatic label prefix recognition - - * textmodes/reftex-index.el (reftex-index-next-phrase): Added - slave parameter to call of `reftex-index-this-phrase' - (reftex-index-this-phrase): New optional argument - (reftex-index-region-phrases): Added slave parameter to call of - `reftex-index-this-phrase' - (reftex-display-index): New argument redo - (reftex-index-rescan): Added 'redo to arguments of - `reftex-display-index' + (reftex-reference): Remove ?. from list of spaces. + (reftex-label-info): Add automatic label prefix recognition. + + * textmodes/reftex-index.el (reftex-index-next-phrase): + Add slave parameter to call of `reftex-index-this-phrase'. + (reftex-index-this-phrase): New optional argument. + (reftex-index-region-phrases): Add slave parameter to call of + `reftex-index-this-phrase'. + (reftex-display-index): New argument redo. + (reftex-index-rescan): Add 'redo to arguments of + `reftex-display-index'. (reftex-index-Rescan, reftex-index-revert) - (reftex-index-switch-index-tag): Added 'redo to arguments of - `reftex-display-index' - (reftex-index-make-phrase-regexp): Fixed bug with case-sensitive - indexing. Fixed bug with matching is there is a quote before or + (reftex-index-switch-index-tag): Add 'redo to arguments of + `reftex-display-index'. + (reftex-index-make-phrase-regexp): Fix bug with case-sensitive + indexing. Fix bug with matching is there is a quote before or after the word. - * textmodes/reftex-cite.el (reftex-all-used-citation-keys): Fix - bug when collecting citation keys in lines with comments. + * textmodes/reftex-cite.el (reftex-all-used-citation-keys): + Fix bug when collecting citation keys in lines with comments. (reftex-citation): Prefix argument no longer rescans the document, but forces prompting for optional arguments of cite macros. - (reftex-do-citation): Prompting for optional arguments - implemented. - - * textmodes/reftex-vars.el (reftex-cite-format-builtin): Added - optional arguments to most cite commands. + (reftex-do-citation): Prompting for optional arguments implemented. + + * textmodes/reftex-vars.el (reftex-cite-format-builtin): + Add optional arguments to most cite commands. (reftex-cite-cleanup-optional-args): New option (reftex-cite-prompt-optional-args): New option. - (reftex-trust-label-prefix): New option - - * textmodes/reftex-toc.el (reftex-toc-find-section): Added - push-mark before changing the position in the buffer. - - * textmodes/reftex.el (reftex-prefix-to-typekey-alist): New - variable - (reftex-compile-variables): Compute reftex-prefix-to-typekey-alist + (reftex-trust-label-prefix): New option. + + * textmodes/reftex-toc.el (reftex-toc-find-section): + Add push-mark before changing the position in the buffer. + + * textmodes/reftex.el (reftex-prefix-to-typekey-alist): New variable. + (reftex-compile-variables): Compute reftex-prefix-to-typekey-alist. 2005-01-14 Nick Roberts <nickrob@snap.net.nz> @@ -6229,8 +6406,7 @@ * progmodes/cperl-mode.el (cperl-mode): Adapt defun-prompt-regexp so that it is more understanding of whitespace. - * xml.el (xml-maybe-do-ns, xml-parse-tag): Produce elements in the - form + * xml.el (xml-maybe-do-ns, xml-parse-tag): Produce elements in the form (("ns" . "element") (attr-list) children) instead of ((:ns . "element") (attr-list) children) in order to reduce the number of symbols used.
--- a/lisp/bindings.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/bindings.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,7 +1,7 @@ ;;; bindings.el --- define standard key bindings and some variables -;; Copyright (C) 1985,86,87,92,93,94,95,96,99,2000, 2001 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985, 1986, 1987, 1992, 1993, 1994, 1995, 1996, 1999, 2000, +;; 2001, 2005 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -403,7 +403,7 @@ :button (:toggle . line-number-mode))) (define-key mode-line-mode-menu [highlight-changes-mode] `(menu-item ,(purecopy "Highlight changes (Chg)") highlight-changes-mode - :button (:toggle . highlight-changes-mode))) + :button (:toggle . (bound-and-true-p highlight-changes-mode)))) (define-key mode-line-mode-menu [hide-ifdef-mode] `(menu-item ,(purecopy "Hide ifdef (Ifdef)") hide-ifdef-mode :button (:toggle . (bound-and-true-p hide-ifdef-mode)))) @@ -421,10 +421,10 @@ :button (:toggle . column-number-mode))) (define-key mode-line-mode-menu [auto-revert-tail-mode] `(menu-item ,(purecopy "Auto revert tail (Tail)") auto-revert-tail-mode - :button (:toggle . auto-revert-tail-mode))) + :button (:toggle . (bound-and-true-p auto-revert-tail-mode)))) (define-key mode-line-mode-menu [auto-revert-mode] `(menu-item ,(purecopy "Auto revert (ARev)") auto-revert-mode - :button (:toggle . auto-revert-mode))) + :button (:toggle . (bound-and-true-p auto-revert-mode)))) (define-key mode-line-mode-menu [auto-fill-mode] `(menu-item ,(purecopy "Auto fill (Fill)") auto-fill-mode :button (:toggle . auto-fill-function))) @@ -1012,5 +1012,5 @@ ;; no-update-autoloads: t ;; End: -;;; arch-tag: 23b5c7e6-e47b-49ed-8c6c-ed213c5fffe0 +;; arch-tag: 23b5c7e6-e47b-49ed-8c6c-ed213c5fffe0 ;;; bindings.el ends here
--- a/lisp/calc/calc-ext.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/calc/calc-ext.el Sat Jan 22 21:39:38 2005 +0000 @@ -1394,10 +1394,14 @@ (defun calc-fancy-prefix-other-key (arg) (interactive "P") - (if (or (not (integerp last-command-char)) - (and (>= last-command-char 0) (< last-command-char ? ) - (not (eq last-command-char meta-prefix-char)))) + (if (and + (not (eq last-command-char 'tab)) + (not (eq last-command-char 'M-tab)) + (or (not (integerp last-command-char)) + (and (>= last-command-char 0) (< last-command-char ? ) + (not (eq last-command-char meta-prefix-char))))) (calc-wrapper)) ; clear flags if not a Calc command. + (setq prefix-arg arg) (calc-unread-command) (setq overriding-terminal-local-map nil))
--- a/lisp/calc/calc-prog.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/calc/calc-prog.el Sat Jan 22 21:39:38 2005 +0000 @@ -702,15 +702,17 @@ (intcmd (symbol-name (cdr def))) (algcmd (substring (symbol-name func) 9))) (if (and defn (calc-valid-formula-func func)) - (progn + (let ((niceexpr (math-format-nice-expr defn (frame-width)))) (calc-wrapper (calc-edit-mode (list 'calc-finish-formula-edit (list 'quote func)) nil - (format "Editing formula (%s, %s, bound to %s).\n" - intcmd algcmd kys)) + (format (concat + "Editing formula (%s, %s, bound to %s).\n" + "Original formula: %s\n") + intcmd algcmd kys niceexpr)) (insert (math-showing-full-precision - (math-format-nice-expr defn (frame-width))) + niceexpr) "\n")) (calc-show-edit-buffer)) (error "That command's definition cannot be edited"))))))) @@ -1124,6 +1126,8 @@ (calc-execute-kbd-macro last-kbd-macro arg)) (defun calc-execute-kbd-macro (mac arg &rest prefix) + (if calc-keep-args-flag + (calc-keep-args)) (if (and (vectorp mac) (> (length mac) 0) (stringp (aref mac 0))) (setq mac (or (aref mac 1) (aset mac 1 (progn (and (fboundp 'edit-kbd-macro)
--- a/lisp/calc/calc-yank.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/calc/calc-yank.el Sat Jan 22 21:39:38 2005 +0000 @@ -460,7 +460,8 @@ (setq calc-restore-trail (get-buffer-window (calc-trail-buffer))) (make-local-variable 'calc-allow-ret) (setq calc-allow-ret allow-ret) - (erase-buffer) + (let ((inhibit-read-only t)) + (erase-buffer)) (add-hook 'kill-buffer-hook (lambda () (let ((calc-edit-handler nil)) (calc-edit-finish t))
--- a/lisp/calc/calc.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/calc/calc.el Sat Jan 22 21:39:38 2005 +0000 @@ -438,7 +438,7 @@ "If non-nil, recompute evalto's automatically when necessary.") (defcalcmodevar calc-display-raw nil - "If non-nil, display shows unformatted Lisp exprs.(defcalcmodevar For debugging)") + "If non-nil, display shows unformatted Lisp exprs. (For debugging)") (defcalcmodevar calc-internal-prec 12 "Number of digits of internal precision for calc-mode calculations.")
--- a/lisp/case-table.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/case-table.el Sat Jan 22 21:39:38 2005 +0000 @@ -95,6 +95,8 @@ word constituents." (aset table uc lc) (aset table lc lc) + ;; Clear out the extra slots so that they will be + ;; recomputed from the main (downcase) table. (set-char-table-extra-slot table 0 nil) (set-char-table-extra-slot table 1 nil) (set-char-table-extra-slot table 2 nil) @@ -108,6 +110,8 @@ It also modifies `standard-syntax-table'. SYNTAX should be \" \", \"w\", \".\" or \"_\"." (aset table c c) + ;; Clear out the extra slots so that they will be + ;; recomputed from the main (downcase) table. (set-char-table-extra-slot table 0 nil) (set-char-table-extra-slot table 1 nil) (set-char-table-extra-slot table 2 nil)
--- a/lisp/emacs-lisp/lisp.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/emacs-lisp/lisp.el Sat Jan 22 21:39:38 2005 +0000 @@ -140,18 +140,18 @@ (setq arg (- arg inc))))) (defun kill-sexp (&optional arg) - "Kill the sexp (balanced expression) following the cursor. -With ARG, kill that many sexps after the cursor. -Negative arg -N means kill N sexps before the cursor." + "Kill the sexp (balanced expression) following point. +With ARG, kill that many sexps after point. +Negative arg -N means kill N sexps before point." (interactive "p") (let ((opoint (point))) (forward-sexp (or arg 1)) (kill-region opoint (point)))) (defun backward-kill-sexp (&optional arg) - "Kill the sexp (balanced expression) preceding the cursor. -With ARG, kill that many sexps before the cursor. -Negative arg -N means kill N sexps after the cursor." + "Kill the sexp (balanced expression) preceding point. +With ARG, kill that many sexps before point. +Negative arg -N means kill N sexps after point." (interactive "p") (kill-sexp (- (or arg 1))))
--- a/lisp/gnus/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/gnus/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,10 @@ +2005-01-20 Katsumi Yamaoka <yamaoka@jpl.org> + + * mm-decode.el (mm-insert-part): Switch the multibyteness of data + which will be inserted according to the multibyteness of a buffer + rather than the type of contents. Suggested by ARISAWA Akihiro + <ari@mbf.ocn.ne.jp>. + 2005-01-05 Reiner Steib <Reiner.Steib@gmx.de> * spam.el (spam-face): New face. Don't use `gnus-splash-face'
--- a/lisp/gnus/mm-decode.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/gnus/mm-decode.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,5 +1,5 @@ ;;; mm-decode.el --- Functions for decoding MIME things -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 +;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> @@ -1032,27 +1032,10 @@ (defun mm-insert-part (handle) "Insert the contents of HANDLE in the current buffer." - (let ((cur (current-buffer))) - (save-excursion - (if (member (mm-handle-media-supertype handle) '("text" "message")) - (with-temp-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (prog1 - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (mm-handle-media-type handle)) - (let ((temp (current-buffer))) - (set-buffer cur) - (insert-buffer-substring temp)))) - (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (prog1 - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (mm-handle-media-type handle)) - (let ((temp (current-buffer))) - (set-buffer cur) - (insert-buffer-substring temp)))))))) + (save-excursion + (insert (if (mm-multibyte-p) + (mm-string-as-multibyte (mm-get-part handle)) + (mm-get-part handle))))) (defun mm-file-name-delete-whitespace (file-name) "Remove all whitespace characters from FILE-NAME."
--- a/lisp/hilit-chg.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/hilit-chg.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ ;;; hilit-chg.el --- minor mode displaying buffer changes with special face -;; Copyright (C) 1998, 2000 Free Software Foundation, Inc. +;; Copyright (C) 1998, 2000, 2005 Free Software Foundation, Inc. ;; Author: Richard Sharman <rsharman@pobox.com> ;; Keywords: faces @@ -392,8 +392,6 @@ ;; These shouldn't be changed! -;; Autoload for the benefit of `make-mode-line-mouse-sensitive'. -;;;###autoload (defvar highlight-changes-mode nil) (defvar hilit-chg-list nil) (defvar hilit-chg-string " ??") @@ -1163,5 +1161,5 @@ (provide 'hilit-chg) -;;; arch-tag: de00301d-5bad-44da-aa82-e0e010b0c463 +;; arch-tag: de00301d-5bad-44da-aa82-e0e010b0c463 ;;; hilit-chg.el ends here
--- a/lisp/net/eudc.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/eudc.el Sat Jan 22 21:39:38 2005 +0000 @@ -1214,7 +1214,7 @@ ;;; Load the options file (if (and (not noninteractive) (and (locate-library eudc-options-file) - (message "")) ; Remove modeline message + (progn (message "") t)) ; Remove modeline message (not (featurep 'eudc-options-file))) (load eudc-options-file))
--- a/lisp/net/tramp-smb.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/tramp-smb.el Sat Jan 22 21:39:38 2005 +0000 @@ -172,7 +172,7 @@ (set-file-modes . tramp-smb-not-handled) (set-visited-file-modtime . tramp-smb-not-handled) (shell-command . tramp-smb-not-handled) - ;; `substitute-in-file-name' performed by default handler + (substitute-in-file-name . tramp-smb-handle-substitute-in-file-name) (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) (vc-registered . tramp-smb-not-handled) (verify-visited-file-modtime . tramp-smb-not-handled) @@ -617,6 +617,13 @@ (delete-file filename)) +(defun tramp-smb-handle-substitute-in-file-name (filename) + "Like `handle-substitute-in-file-name' for tramp files. +Catches errors for shares like \"C$/\", which are common in Microsoft Windows." + (condition-case nil + (tramp-run-real-handler 'substitute-in-file-name (list filename)) + (error filename))) + (defun tramp-smb-handle-write-region (start end filename &optional append visit lockname confirm) "Like `write-region' for tramp files." @@ -1084,54 +1091,6 @@ (- (+ (if borrow 65536 0) (cadr t1)) (cadr t2))))) -;; `PC-do-completion' touches the returning "$$" by `substitute-in-file-name'. -;; Must be corrected. - -(defadvice PC-do-completion (around tramp-smb-advice-PC-do-completion) - "Changes \"$\" back to \"$$\" in minibuffer." - (if (funcall PC-completion-as-file-name-predicate) - - (progn - ;; Substitute file names - (let* ((beg (or (and (functionp 'minibuffer-prompt-end) ; Emacs 21 - (funcall 'minibuffer-prompt-end)) - (point-min))) - (end (point-max)) - (str (substitute-in-file-name (buffer-substring beg end)))) - (delete-region beg end) - (insert str) - (ad-set-arg 2 (point))) - - ;; Do `PC-do-completion' without substitution - (let* (save) - (fset 'save (symbol-function 'substitute-in-file-name)) - (unwind-protect - (progn - (fset 'substitute-in-file-name (symbol-function 'identity)) - ad-do-it) - (fset 'substitute-in-file-name (symbol-function 'save)))) - - ;; Expand "$" - (let* ((beg (or (and (functionp 'minibuffer-prompt-end) ; Emacs 21 - (funcall 'minibuffer-prompt-end)) - (point-min))) - (end (point-max)) - (str (buffer-substring beg end))) - (delete-region beg end) - (insert (if (string-match "\\(\\$\\)\\(/\\|$\\)" str) - (replace-match "$$" nil nil str 1) - str)))) - - ;; No file names. Behave unchanged. - ad-do-it)) - -;; Activate advice. Recent Emacsen don't need that. -(when (functionp 'PC-do-completion) - (condition-case nil - (substitute-in-file-name "C$/") - (error - (ad-activate 'PC-do-completion)))) - (provide 'tramp-smb) ;;; TODO:
--- a/lisp/net/tramp-util.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/tramp-util.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,9 +1,9 @@ ;;; -*- coding: iso-2022-7bit; -*- ;;; tramp-util.el --- Misc utility functions to use with Tramp -;; Copyright (C) 2001 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -;; Author: Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> +;; Author: kai.grossjohann@gmx.net ;; Keywords: comm, extensions, processes ;; This file is free software; you can redistribute it and/or modify @@ -32,6 +32,60 @@ (require 'compile) (require 'tramp) +;; Define a Tramp minor mode. It's intention is to redefine some keys for Tramp +;; specific functions, like compilation. +;; The key remapping works since Emacs 21.4 only. Unknown for XEmacs. + +(when (fboundp 'define-minor-mode) + + (defvar tramp-minor-mode-map (make-sparse-keymap) + "Keymap for Tramp minor mode.") + + (define-minor-mode tramp-minor-mode "Tramp minor mode for utility functions." + :group 'tramp + :global nil + :init-value nil + :lighter " Tramp" + :keymap tramp-minor-mode-map + (setq tramp-minor-mode + (and tramp-minor-mode (tramp-tramp-file-p default-directory)))) + + (add-hook 'find-file-hooks 'tramp-minor-mode t) + (add-hook 'dired-mode-hook 'tramp-minor-mode t) + + (defun tramp-remap-command (old-command new-command) + "Replaces bindings of OLD-COMMAND by NEW-COMMAND. +If remapping functionality for keymaps is defined, this happens for all +bindings. Otherwise, only bindings active during invocation are taken +into account. XEmacs menubar bindings are not changed by this." + (if (functionp 'command-remapping) + ;; Emacs 21.4 + (eval + `(define-key tramp-minor-mode-map [remap ,old-command] new-command)) + ;; previous Emacs 21 versions. + (mapcar + '(lambda (x) + (define-key tramp-minor-mode-map x new-command)) + (where-is-internal old-command)))) + + (tramp-remap-command 'compile 'tramp-compile) + (tramp-remap-command 'recompile 'tramp-recompile) + + ;; XEmacs has an own mimic for menu entries + (when (fboundp 'add-menu-button) + (funcall 'add-menu-button + '("Tools" "Compile") + ["Compile..." + (command-execute (if tramp-minor-mode 'tramp-compile 'compile)) + :active (fboundp 'compile)]) + (funcall 'add-menu-button + '("Tools" "Compile") + ["Repeat Compilation" + (command-execute (if tramp-minor-mode 'tramp-recompile 'recompile)) + :active (fboundp 'compile)]))) + +;; Utility functions. + (defun tramp-compile (command) "Compile on remote host." (interactive @@ -49,6 +103,16 @@ (setq default-directory d))) (tramp-handle-shell-command command (get-buffer "*Compilation*")) (pop-to-buffer (get-buffer "*Compilation*")) + (tramp-minor-mode 1) + (compilation-minor-mode 1)) + +(defun tramp-recompile () + "Re-compile on remote host." + (interactive) + (save-some-buffers (not compilation-ask-about-save) nil) + (tramp-handle-shell-command compile-command (get-buffer "*Compilation*")) + (pop-to-buffer (get-buffer "*Compilation*")) + (tramp-minor-mode 1) (compilation-minor-mode 1)) (provide 'tramp-util)
--- a/lisp/net/tramp-vc.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/tramp-vc.el Sat Jan 22 21:39:38 2005 +0000 @@ -130,7 +130,8 @@ (save-excursion (save-window-excursion ;; Actually execute remote command - (shell-command + ;; `shell-command' cannot be used; it isn't magic in XEmacs. + (tramp-handle-shell-command (mapconcat 'tramp-shell-quote-argument (cons command squeezed) " ") t) ;;(tramp-wait-for-output) @@ -190,7 +191,8 @@ (let ((w32-quote-process-args t)) (when (eq okstatus 'async) (message "Tramp doesn't do async commands, running synchronously.")) - (setq status (shell-command + ;; `shell-command' cannot be used; it isn't magic in XEmacs. + (setq status (tramp-handle-shell-command (mapconcat 'tramp-shell-quote-argument (cons command squeezed) " ") t)) (when (or (not (integerp status)) @@ -285,7 +287,8 @@ (save-excursion (save-window-excursion ;; Actually execute remote command - (shell-command + ;; `shell-command' cannot be used; it isn't magic in XEmacs. + (tramp-handle-shell-command (mapconcat 'tramp-shell-quote-argument (append (list command) args (list localname)) " ") (get-buffer-create"*vc-info*"))
--- a/lisp/net/tramp.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/tramp.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,7 +1,7 @@ ;;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit; -*- ;;; tramp.el --- Transparent Remote Access, Multiple Protocol -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: kai.grossjohann@gmx.net ;; Keywords: comm, processes @@ -912,6 +912,15 @@ :group 'tramp :type 'regexp) +(defcustom tramp-operation-not-permitted-regexp + (concat "\\(" "preserving times.*" "\\|" "set mode" "\\)" ":\\s-*" + (regexp-opt '("Operation not permitted") t)) + "Regular expression matching keep-date problems in (s)cp operations. +Copying has been performed successfully already, so this message can +be ignored safely." + :group 'tramp + :type 'regexp) + (defcustom tramp-process-alive-regexp "" "Regular expression indicating a process has finished. @@ -2500,7 +2509,7 @@ (fa2 (file-attributes file2))) (if (and (not (equal (nth 5 fa1) '(0 0))) (not (equal (nth 5 fa2) '(0 0)))) - (< 0 (tramp-time-diff (nth 5 fa1) (nth 5 fa2))) + (> 0 (tramp-time-diff (nth 5 fa2) (nth 5 fa1))) ;; If one of them is the dont-know value, then we can ;; still try to run a shell command on the remote host. ;; However, this only works if both files are Tramp @@ -2822,10 +2831,8 @@ ;; At least one file a tramp file? (if (or (tramp-tramp-file-p filename) (tramp-tramp-file-p newname)) - (let ((modes (file-modes filename))) - (tramp-do-copy-or-rename-file - 'copy filename newname ok-if-already-exists keep-date) - (set-file-modes newname modes)) + (tramp-do-copy-or-rename-file + 'copy filename newname ok-if-already-exists keep-date) (tramp-run-real-handler 'copy-file (list filename newname ok-if-already-exists keep-date)))) @@ -2973,8 +2980,9 @@ (when keep-date (when (and (not (null modtime)) (not (equal modtime '(0 0)))) - (tramp-touch newname modtime)) - (set-file-modes newname (file-modes filename)))) + (tramp-touch newname modtime))) + ;; Set the mode. + (set-file-modes newname (file-modes filename))) ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) (delete-file filename)))) @@ -2994,15 +3002,34 @@ "Unknown operation `%s', must be `copy' or `rename'" op))))) (save-excursion - (tramp-barf-unless-okay + (tramp-send-command multi-method method user host (format "%s %s %s" cmd (tramp-shell-quote-argument localname1) - (tramp-shell-quote-argument localname2)) - nil 'file-error - "Copying directly failed, see buffer `%s' for details." - (buffer-name))))) + (tramp-shell-quote-argument localname2))) + (tramp-wait-for-output) + (goto-char (point-min)) + (unless + (or + (and (eq op 'copy) keep-date + ;; Mask cp -f error. + (re-search-forward tramp-operation-not-permitted-regexp nil t)) + (zerop (tramp-send-command-and-check + multi-method method user host nil nil))) + (pop-to-buffer (current-buffer)) + (signal 'file-error + (format "Copying directly failed, see buffer `%s' for details." + (buffer-name))))) + ;; Set the mode. + ;; CCC: Maybe `chmod --reference=localname1 localname2' could be used + ;; where available? + (unless (or (eq op 'rename) keep-date) + (set-file-modes + (tramp-make-tramp-file-name multi-method method user host localname2) + (file-modes + (tramp-make-tramp-file-name + multi-method method user host localname1)))))) (defun tramp-do-copy-or-rename-file-out-of-band (op filename newname keep-date) "Invoke rcp program to copy. @@ -3122,7 +3149,11 @@ tramp-actions-copy-out-of-band)) (kill-buffer trampbuf) (tramp-message - 5 "Transferring %s to file %s...done" filename newname)) + 5 "Transferring %s to file %s...done" filename newname) + + ;; Set the mode. + (unless keep-date + (set-file-modes newname (file-modes filename)))) ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) @@ -4074,7 +4105,9 @@ (if (bufferp (nth 0 args)) (nth 0 args) (current-buffer)))) ; COMMAND ((member operation - (list 'dired-call-process 'shell-command + (list 'dired-call-process-command + ; Emacs only + 'shell ; Post Emacs 21.3 only 'process-file ; XEmacs only @@ -4908,7 +4941,10 @@ (defun tramp-get-buffer (multi-method method user host) "Get the connection buffer to be used for USER at HOST using METHOD." - (get-buffer-create (tramp-buffer-name multi-method method user host))) + (with-current-buffer + (get-buffer-create (tramp-buffer-name multi-method method user host)) + (setq buffer-undo-list t) + (current-buffer))) (defun tramp-debug-buffer-name (multi-method method user host) "A name for the debug buffer for USER at HOST using METHOD." @@ -4922,7 +4958,11 @@ (defun tramp-get-debug-buffer (multi-method method user host) "Get the debug buffer for USER at HOST using METHOD." - (get-buffer-create (tramp-debug-buffer-name multi-method method user host))) + (with-current-buffer + (get-buffer-create + (tramp-debug-buffer-name multi-method method user host)) + (setq buffer-undo-list t) + (current-buffer))) (defun tramp-find-executable (multi-method method user host progname dirlist ignore-tilde) @@ -5214,8 +5254,16 @@ ((or (and (memq (process-status p) '(stop exit)) (not (zerop (process-exit-status p)))) (memq (process-status p) '(signal))) - (tramp-message 9 "Process has died.") - (throw 'tramp-action 'process-died)) + ;; `scp' could have copied correctly, but set modes could have failed. + ;; This can be ignored. + (goto-char (point-min)) + (if (re-search-forward tramp-operation-not-permitted-regexp nil t) + (progn + (tramp-message 10 "'set mode' error ignored.") + (tramp-message 9 "Process has finished.") + (throw 'tramp-action 'ok)) + (tramp-message 9 "Process has died.") + (throw 'tramp-action 'process-died))) (t nil))) ;; The following functions are specifically for multi connections. @@ -6336,7 +6384,7 @@ (save-excursion (goto-char start-point) (when (looking-at (regexp-quote tramp-last-cmd)) - (delete-region (point) (forward-line 1))))) + (delete-region (point) (progn (forward-line 1) (point)))))) ;; Add output to debug buffer if appropriate. (when tramp-debug-buffer (append-to-buffer
--- a/lisp/net/trampver.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/net/trampver.el Sat Jan 22 21:39:38 2005 +0000 @@ -30,7 +30,7 @@ ;; are auto-frobbed from configure.ac, so you should edit that file and run ;; "autoconf && ./configure" to change them. -(defconst tramp-version "2.0.46" +(defconst tramp-version "2.0.47" "This version of Tramp.") (defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org"
--- a/lisp/pcomplete.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/pcomplete.el Sat Jan 22 21:39:38 2005 +0000 @@ -946,8 +946,10 @@ (unless (fboundp 'event-matches-key-specifier-p) (defalias 'event-matches-key-specifier-p 'eq)) -(unless (fboundp 'read-event) - (defsubst read-event (&optional prompt) +(if (fboundp 'read-event) + (defsubst pcomplete-read-event (&optional prompt) + (read-event prompt)) + (defsubst pcomplete-read-event (&optional prompt) (aref (read-key-sequence prompt) 0))) (unless (fboundp 'event-basic-type) @@ -969,7 +971,7 @@ (prog1 (catch 'done (while (with-current-buffer (get-buffer "*Completions*") - (setq event (read-event))) + (setq event (pcomplete-read-event))) (cond ((event-matches-key-specifier-p event ? ) (set-window-configuration pcomplete-last-window-config)
--- a/lisp/play/decipher.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/play/decipher.el Sat Jan 22 21:39:38 2005 +0000 @@ -305,7 +305,8 @@ (setq case-fold-search nil)) ;Case is significant when searching (use-local-map decipher-mode-map) (set-syntax-table decipher-mode-syntax-table) - (decipher-read-alphabet) + (unless (= (point-min) (point-max)) + (decipher-read-alphabet)) (set (make-local-variable 'font-lock-defaults) '(decipher-font-lock-keywords t)) ;; Make the buffer writable when we exit Decipher mode:
--- a/lisp/progmodes/gdb-ui.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Sat Jan 22 21:39:38 2005 +0000 @@ -33,24 +33,28 @@ ;; Emacs 21 such as the fringe/display margin for breakpoints, and the toolbar ;; (see the GDB Graphical Interface section in the Emacs info manual). -;; Start the debugger with M-x gdba. +;; By default, M-x gdb will start the debugger. However, if you have customised +;; gud-gdb-command-name, then start it with M-x gdba. -;; This file has evolved from gdba.el from GDB 5.0 written by Tom Lord and Jim -;; Kingdon and uses GDB's annotation interface. You don't need to know about -;; annotations to use this mode as a debugger, but if you are interested -;; developing the mode itself, then see the Annotations section in the GDB -;; info manual. +;; This file has evolved from gdba.el that was included with GDB 5.0 and +;; written by Tom Lord and Jim Kingdon. It uses GDB's annotation interface. +;; You don't need to know about annotations to use this mode as a debugger, +;; but if you are interested developing the mode itself, then see the +;; Annotations section in the GDB info manual. ;; ;; GDB developers plan to make the annotation interface obsolete. A new ;; interface called GDB/MI (machine interface) has been designed to replace ;; it. Some GDB/MI commands are used in this file through the CLI command -;; 'interpreter mi <mi-command>'. A file called gdb-mi.el is included in the -;; GDB repository for future releases (6.2 onwards) that uses GDB/MI as the -;; primary interface to GDB. It is still under development and is part of a -;; process to migrate Emacs from annotations to GDB/MI. +;; 'interpreter mi <mi-command>'. A file called gdb-mi.el is included with +;; GDB (6.2 onwards) that uses GDB/MI as the primary interface to GDB. It is +;; still under development and is part of a process to migrate Emacs from +;; annotations to GDB/MI. ;; ;; Known Bugs: ;; +;; TODO: +;; Use tree-widget.el instead of the speedbar for watch-expressions? +;; Mark breakpoint locations on scroll-bar of source buffer? ;;; Code: @@ -169,13 +173,13 @@ (defvar gdb-debug-log nil) (defcustom gdb-enable-debug-log nil - "Non-nil means record the process input and output in `gdb-debug-log'." + "Non-nil means record the process input and output in `gdb-debug-log'." :type 'boolean :group 'gud :version "21.4") (defcustom gdb-use-inferior-io-buffer nil - "Non-nil means display output from the inferior in a separate buffer." + "Non-nil means display output from the inferior in a separate buffer." :type 'boolean :group 'gud :version "21.4") @@ -210,9 +214,13 @@ "\C-u" "Continue to current line or address.") (define-key gud-minor-mode-map [left-margin mouse-1] - 'gdb-mouse-toggle-breakpoint) + 'gdb-mouse-set-clear-breakpoint) (define-key gud-minor-mode-map [left-fringe mouse-1] + 'gdb-mouse-set-clear-breakpoint) + (define-key gud-minor-mode-map [left-margin mouse-3] 'gdb-mouse-toggle-breakpoint) +; (define-key gud-minor-mode-map [left-fringe mouse-3] +; 'gdb-mouse-toggle-breakpoint) (setq comint-input-sender 'gdb-send) ;; @@ -281,7 +289,7 @@ (Info-goto-node "(emacs)GDB Graphical Interface")) (defconst gdb-var-create-regexp -"name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") + "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") (defun gdb-var-create-handler (expr) (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer) @@ -328,7 +336,7 @@ `(lambda () (gdb-var-list-children-handler ,varnum))))) (defconst gdb-var-list-children-regexp -"name=\"\\(.*?\\)\",exp=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\"") + "name=\"\\(.*?\\)\",exp=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\"") (defun gdb-var-list-children-handler (varnum) (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer) @@ -1038,7 +1046,8 @@ (defvar gdb-cdir nil "Compilation directory.") -(defconst breakpoint-xpm-data "/* XPM */ +(defconst breakpoint-xpm-data + "/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ \"10 10 2 1\", @@ -1059,7 +1068,7 @@ "XPM data used for breakpoint icon.") (defconst breakpoint-enabled-pbm-data -"P1 + "P1 10 10\", 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 @@ -1074,7 +1083,7 @@ "PBM data used for enabled breakpoint icon.") (defconst breakpoint-disabled-pbm-data -"P1 + "P1 10 10\", 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 @@ -1116,8 +1125,7 @@ ;;-put breakpoint icons in relevant margins (even those set in the GUD buffer) (defun gdb-info-breakpoints-custom () - (let ((flag)) - ;; + (let ((flag) (bptno)) ;; remove all breakpoint-icons in source buffers but not assembler buffer (dolist (buffer (buffer-list)) (with-current-buffer buffer @@ -1131,12 +1139,13 @@ (forward-line 1) (if (looking-at "[^\t].*breakpoint") (progn - (looking-at "[0-9]*\\s-*\\S-*\\s-*\\S-*\\s-*\\(.\\)") - (setq flag (char-after (match-beginning 1))) + (looking-at "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+\\(.\\)") + (setq bptno (match-string 1)) + (setq flag (char-after (match-beginning 2))) (beginning-of-line) (if (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t) (progn - (looking-at "\\(\\S-*\\):\\([0-9]+\\)") + (looking-at "\\(\\S-+\\):\\([0-9]+\\)") (let ((line (match-string 2)) (buffer-read-only nil) (file (match-string 1))) (add-text-properties (point-at-bol) (point-at-eol) @@ -1153,12 +1162,12 @@ ;; only want one breakpoint icon at each location (save-excursion (goto-line (string-to-number line)) - (gdb-put-breakpoint-icon (eq flag ?y))))))))) + (gdb-put-breakpoint-icon (eq flag ?y) bptno)))))))) (end-of-line))))) (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) -(defun gdb-mouse-toggle-breakpoint (event) - "Toggle breakpoint in left fringe/margin with mouse click." +(defun gdb-mouse-set-clear-breakpoint (event) + "Set/clear breakpoint in left fringe/margin with mouse click." (interactive "e") (mouse-minibuffer-check event) (let ((posn (event-end event))) @@ -1172,6 +1181,31 @@ (gud-remove nil) (gud-break nil))))))) +(defun gdb-mouse-toggle-breakpoint (event) + "Enable/disable breakpoint in left fringe/margin with mouse click." + (interactive "e") + (mouse-minibuffer-check event) + (let ((posn (event-end event))) + (if (numberp (posn-point posn)) + (with-selected-window (posn-window posn) + (save-excursion + (goto-char (posn-point posn)) + (if +; (or + (posn-object posn) +; (eq (car (fringe-bitmaps-at-pos (posn-point posn))) +; 'breakpoint)) + (gdb-enqueue-input + (list + (let ((bptno (get-text-property + 0 'gdb-bptno (car (posn-string posn))))) + (concat + (if (get-text-property + 0 'gdb-enabled (car (posn-string posn))) + "disable " + "enable ") + bptno "\n")) 'ignore)))))))) + (defun gdb-breakpoints-buffer-name () (with-current-buffer gud-comint-buffer (concat "*breakpoints of " (gdb-get-target-string) "*"))) @@ -1227,7 +1261,7 @@ 'gdbmi-invalidate-breakpoints)) (defun gdb-toggle-breakpoint () - "Enable/disable the breakpoint at current line." + "Enable/disable breakpoint at current line." (interactive) (save-excursion (beginning-of-line 1) @@ -1707,7 +1741,7 @@ :version "21.4") (defun gdb-many-windows (arg) -"Toggle the number of windows in the basic arrangement." + "Toggle the number of windows in the basic arrangement." (interactive "P") (setq gdb-many-windows (if (null arg) @@ -1777,14 +1811,15 @@ PUTSTRING is displayed by putting an overlay into the current buffer with a `before-string' STRING that has a `display' property whose value is PUTSTRING." - (let ((gdb-string "x") + (let ((string (make-string 1 ?x)) (buffer (current-buffer))) + (setq putstring (copy-sequence putstring)) (let ((overlay (make-overlay pos pos buffer)) (prop (or dprop (list (list 'margin 'left-margin) putstring)))) - (put-text-property 0 (length gdb-string) 'display prop gdb-string) + (put-text-property 0 (length string) 'display prop string) (overlay-put overlay 'put-break t) - (overlay-put overlay 'before-string gdb-string)))) + (overlay-put overlay 'before-string string)))) ;;from remove-images (defun gdb-remove-strings (start end &optional buffer) @@ -1793,25 +1828,30 @@ BUFFER nil or omitted means use the current buffer." (unless buffer (setq buffer (current-buffer))) - (let ((overlays (overlays-in start end))) - (while overlays - (let ((overlay (car overlays))) + (dolist (overlay (overlays-in start end)) (when (overlay-get overlay 'put-break) - (delete-overlay overlay))) - (setq overlays (cdr overlays))))) + (delete-overlay overlay)))) -(defun gdb-put-breakpoint-icon (enabled) +(defun gdb-put-breakpoint-icon (enabled bptno) (let ((start (progn (beginning-of-line) (- (point) 1))) - (end (progn (end-of-line) (+ (point) 1)))) + (end (progn (end-of-line) (+ (point) 1))) + (putstring (if enabled "B" "b"))) + (add-text-properties + 0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt") + putstring) + (if enabled (add-text-properties + 0 1 `(gdb-bptno ,bptno gdb-enabled t) putstring) + (add-text-properties + 0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring)) (gdb-remove-breakpoint-icons start end) (if (display-images-p) (if (>= (car (window-fringes)) 8) (gdb-put-string nil (1+ start) `(left-fringe breakpoint - ,(if enabled - 'breakpoint-enabled-bitmap-face - 'breakpoint-disabled-bitmap-face))) + ,(if enabled + 'breakpoint-enabled-bitmap-face + 'breakpoint-disabled-bitmap-face))) (when (< left-margin-width 2) (save-current-buffer (setq left-margin-width 2) @@ -1838,7 +1878,9 @@ (:type pbm :data ,breakpoint-disabled-pbm-data :ascent 100)))))) - (+ start 1) nil 'left-margin)) + (+ start 1) + putstring + 'left-margin)) (when (< left-margin-width 2) (save-current-buffer (setq left-margin-width 2) @@ -1846,7 +1888,7 @@ (set-window-margins (get-buffer-window (current-buffer) 0) left-margin-width right-margin-width)))) - (gdb-put-string (if enabled "B" "b") (1+ start))))) + (gdb-put-string putstring (1+ start))))) (defun gdb-remove-breakpoint-icons (start end &optional remove-margin) (gdb-remove-strings start end)
--- a/lisp/progmodes/grep.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/progmodes/grep.el Sat Jan 22 21:39:38 2005 +0000 @@ -527,7 +527,8 @@ easily repeat a find command." (interactive (progn - (unless grep-find-command + (unless (and grep-command + (or (not grep-use-null-device) (eq grep-use-null-device t))) (grep-compute-defaults)) (if grep-find-command (list (read-from-minibuffer "Run find (like this): " @@ -541,6 +542,9 @@ (let ((null-device nil)) ; see grep (grep command-args)))) +;;;###autoload +(defalias 'find-grep 'grep-find) + (defun grep-expand-command-macros (command &optional regexp files dir excl case-fold) "Patch grep COMMAND replacing <D>, etc." (setq command
--- a/lisp/progmodes/sh-script.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/progmodes/sh-script.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ ;;; sh-script.el --- shell-script editing commands for Emacs -;; Copyright (C) 1993, 94, 95, 96, 97, 1999, 2001, 03, 2004 +;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer <occitan@esperanto.org> @@ -838,7 +838,7 @@ (defconst sh-st-symbol (string-to-syntax "_")) (defconst sh-here-doc-syntax (string-to-syntax "|")) ;; generic string -(defconst sh-here-doc-open-re "<<-?\\s-*\\\\?\\(\\(?:['\"][^'\"]+['\"]\\|\\sw\\|\\s_\\)+\\).*\\(\n\\)") +(defconst sh-here-doc-open-re "<<-?\\s-*\\\\?\\(\\(?:['\"][^'\"]+['\"]\\|\\sw\\)+\\).*\\(\n\\)") (defvar sh-here-doc-markers nil) (make-variable-buffer-local 'sh-here-doc-markers) @@ -3631,5 +3631,5 @@ (provide 'sh-script) -;;; arch-tag: eccd8b72-f337-4fc2-ae86-18155a69d937 +;; arch-tag: eccd8b72-f337-4fc2-ae86-18155a69d937 ;;; sh-script.el ends here
--- a/lisp/ses.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/ses.el Sat Jan 22 21:39:38 2005 +0000 @@ -405,26 +405,6 @@ (setq ses--header-row row) t) -(defmacro ses-dotimes-msg (spec msg &rest body) - "(ses-dotimes-msg (VAR LIMIT) MSG BODY...): Like `dotimes', but -a message is emitted using MSG every second or so during the loop." - (let ((msgvar (make-symbol "msg")) - (limitvar (make-symbol "limit")) - (var (car spec)) - (limit (cadr spec))) - `(let ((,limitvar ,limit) - (,msgvar ,msg)) - (setq ses-start-time (float-time)) - (message ,msgvar) - (setq ,msgvar (concat ,msgvar " (%d%%)")) - (dotimes (,var ,limitvar) - (ses-time-check ,msgvar '(/ (* ,var 100) ,limitvar)) - ,@body) - (message nil)))) - -(put 'ses-dotimes-msg 'lisp-indent-function 2) -(def-edebug-spec ses-dotimes-msg ((symbolp form) form body)) - (defmacro ses-dorange (curcell &rest body) "Execute BODY repeatedly, with the variables `row' and `col' set to each cell in the range specified by CURCELL. The range is available in the @@ -1218,7 +1198,8 @@ to each symbol." (let (reform) (let (mycell newval) - (ses-dotimes-msg (row ses--numrows) "Relocating formulas..." + (dotimes-with-progress-reporter + (row ses--numrows) "Relocating formulas..." (dotimes (col ses--numcols) (setq ses-relocate-return nil mycell (ses-get-cell row col) @@ -1246,7 +1227,8 @@ (cond ((and (<= rowincr 0) (<= colincr 0)) ;;Deletion of rows and/or columns - (ses-dotimes-msg (row (- ses--numrows minrow)) "Relocating variables..." + (dotimes-with-progress-reporter + (row (- ses--numrows minrow)) "Relocating variables..." (setq myrow (+ row minrow)) (dotimes (col (- ses--numcols mincol)) (setq mycol (+ col mincol) @@ -1262,7 +1244,8 @@ (let ((disty (1- ses--numrows)) (distx (1- ses--numcols)) myrow mycol) - (ses-dotimes-msg (row (- ses--numrows minrow)) "Relocating variables..." + (dotimes-with-progress-reporter + (row (- ses--numrows minrow)) "Relocating variables..." (setq myrow (- disty row)) (dotimes (col (- ses--numcols mincol)) (setq mycol (- distx col) @@ -1475,7 +1458,7 @@ (put-text-property (point-min) (1+ (point-min)) 'front-sticky t) ;;Create intangible properties, which also indicate which cell the text ;;came from. - (ses-dotimes-msg (row ses--numrows) "Finding cells..." + (dotimes-with-progress-reporter (row ses--numrows) "Finding cells..." (dotimes (col ses--numcols) (setq pos end sym (ses-cell-symbol row col)) @@ -1724,7 +1707,7 @@ ;;find the data area when inserting or deleting *skip* values for cells (dotimes (row ses--numrows) (insert-and-inherit ses--blank-line)) - (ses-dotimes-msg (row ses--numrows) "Reprinting..." + (dotimes-with-progress-reporter (row ses--numrows) "Reprinting..." (if (eq (ses-cell-value row 0) '*skip*) ;;Column deletion left a dangling skip (ses-set-cell row 0 'value nil)) @@ -1809,11 +1792,13 @@ ;;Reconstruct reference lists. (let (x yrow ycol) ;;Delete old reference lists - (ses-dotimes-msg (row ses--numrows) "Deleting references..." + (dotimes-with-progress-reporter + (row ses--numrows) "Deleting references..." (dotimes (col ses--numcols) (ses-set-cell row col 'references nil))) ;;Create new reference lists - (ses-dotimes-msg (row ses--numrows) "Computing references..." + (dotimes-with-progress-reporter + (row ses--numrows) "Computing references..." (dotimes (col ses--numcols) (dolist (ref (ses-formula-references (ses-cell-formula row col))) (setq x (ses-sym-rowcol ref) @@ -2073,7 +2058,7 @@ (ses-set-parameter 'ses--numrows (+ ses--numrows count)) ;;Insert each row (ses-goto-print row 0) - (ses-dotimes-msg (x count) "Inserting row..." + (dotimes-with-progress-reporter (x count) "Inserting row..." ;;Create a row of empty cells. The `symbol' fields will be set by ;;the call to ses-relocate-all. (setq newrow (make-vector ses--numcols nil)) @@ -2162,7 +2147,7 @@ (ses-create-cell-variable-range 0 (1- ses--numrows) ses--numcols (+ ses--numcols count -1)) ;;Insert each column. - (ses-dotimes-msg (x count) "Inserting column..." + (dotimes-with-progress-reporter (x count) "Inserting column..." ;;Create a column of empty cells. The `symbol' fields will be set by ;;the call to ses-relocate-all. (ses-adjust-print-width col (1+ width)) @@ -2220,7 +2205,7 @@ (ses-begin-change) (ses-set-parameter 'ses--numcols (- ses--numcols count)) (ses-adjust-print-width col (- width)) - (ses-dotimes-msg (row ses--numrows) "Deleting column..." + (dotimes-with-progress-reporter (row ses--numrows) "Deleting column..." ;;Delete lines from cell data area (ses-goto-data row col) (ses-delete-line count) @@ -2469,7 +2454,7 @@ (colincr (- (cdr rowcol) (cdr first))) (pos 0) myrow mycol x) - (ses-dotimes-msg (row needrows) "Yanking..." + (dotimes-with-progress-reporter (row needrows) "Yanking..." (setq myrow (+ row (car rowcol))) (dotimes (col needcols) (setq mycol (+ col (cdr rowcol))
--- a/lisp/simple.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/simple.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,7 +1,7 @@ ;;; simple.el --- basic editing commands for Emacs ;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004 +;; 2000, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Maintainer: FSF @@ -647,13 +647,13 @@ (skip-chars-backward " \t") (constrain-to-field nil orig-pos))))) -(defun just-one-space (n) +(defun just-one-space (&optional n) "Delete all spaces and tabs around point, leaving one space (or N spaces)." (interactive "*p") (let ((orig-pos (point))) (skip-chars-backward " \t") (constrain-to-field nil orig-pos) - (dotimes (i n) + (dotimes (i (or n 1)) (if (= (following-char) ?\ ) (forward-char 1) (insert ?\ ))) @@ -3179,10 +3179,31 @@ (or (memq prop buffer-invisibility-spec) (assq prop buffer-invisibility-spec))))) +;; Perform vertical scrolling of tall images if necessary. +(defun line-move (arg &optional noerror to-end) + (if auto-window-vscroll + (let ((forward (> arg 0)) + (pvis (pos-visible-in-window-p (window-start) nil t))) + (if (and pvis (null (nth 2 pvis)) + (> (nth (if forward 4 3) pvis) 0)) + (set-window-vscroll nil + (if forward + (+ (window-vscroll nil t) + (min (nth 4 pvis) + (* (frame-char-height) arg))) + (max 0 + (- (window-vscroll nil t) + (min (nth 3 pvis) + (* (frame-char-height) (- arg)))))) + t) + (set-window-vscroll nil 0) + (line-move-1 arg noerror to-end))) + (line-move-1 arg noerror to-end))) + ;; This is the guts of next-line and previous-line. ;; Arg says how many lines to move. ;; The value is t if we can move the specified number of lines. -(defun line-move (arg &optional noerror to-end) +(defun line-move-1 (arg &optional noerror to-end) ;; Don't run any point-motion hooks, and disregard intangibility, ;; for intermediate positions. (let ((inhibit-point-motion-hooks t) @@ -4001,7 +4022,7 @@ (setq matching-paren (let ((syntax (syntax-after blinkpos))) (and (consp syntax) - (eq (car syntax) 4) + (eq (logand (car syntax) 255) 4) (cdr syntax))) mismatch (or (null matching-paren)
--- a/lisp/subr.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/subr.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,7 +1,7 @@ ;;; subr.el --- basic lisp subroutines for Emacs ;; Copyright (C) 1985, 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, 2003, -;; 2004 Free Software Foundation, Inc. +;; 2004, 2005 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -2711,7 +2711,7 @@ (defun make-progress-reporter (message min-value max-value &optional current-value min-change min-time) - "Return progress reporter object usage with `progress-reporter-update'. + "Return progress reporter object to be used with `progress-reporter-update'. MESSAGE is shown in the echo area. When at least 1% of operation is complete, the exact percentage will be appended to the @@ -2800,5 +2800,32 @@ "Print reporter's message followed by word \"done\" in echo area." (message "%sdone" (aref (cdr reporter) 3))) +(defmacro dotimes-with-progress-reporter (spec message &rest body) + "Loop a certain number of times and report progress in the echo area. +Evaluate BODY with VAR bound to successive integers running from +0, inclusive, to COUNT, exclusive. Then evaluate RESULT to get +the return value (nil if RESULT is omitted). + +At each iteration MESSAGE followed by progress percentage is +printed in the echo area. After the loop is finished, MESSAGE +followed by word \"done\" is printed. This macro is a +convenience wrapper around `make-progress-reporter' and friends. + +\(fn (VAR COUNT [RESULT]) MESSAGE BODY...)" + (declare (indent 2) (debug ((symbolp form &optional form) form body))) + (let ((temp (make-symbol "--dotimes-temp--")) + (temp2 (make-symbol "--dotimes-temp2--")) + (start 0) + (end (nth 1 spec))) + `(let ((,temp ,end) + (,(car spec) ,start) + (,temp2 (make-progress-reporter ,message ,start ,end))) + (while (< ,(car spec) ,temp) + ,@body + (progress-reporter-update ,temp2 + (setq ,(car spec) (1+ ,(car spec))))) + (progress-reporter-done ,temp2) + nil ,@(cdr (cdr spec))))) + ;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc ;;; subr.el ends here
--- a/lisp/term/mac-win.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/term/mac-win.el Sat Jan 22 21:39:38 2005 +0000 @@ -1295,10 +1295,9 @@ (if (string= default-directory "/") (cd "~")) -;; Tell Emacs to use pipes instead of pty's for processes because the -;; latter sometimes lose characters. Pty support is compiled in since -;; ange-ftp will not work without it. -(setq process-connection-type nil) +;; Darwin 6- pty breakage is now controlled from the C code so that +;; it applies to all builds on darwin. See s/darwin.h PTY_ITERATION. +;; (setq process-connection-type t) ;; Assume that fonts are always scalable on the Mac. This sometimes ;; results in characters with jagged edges. However, without it,
--- a/lisp/textmodes/ispell.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/textmodes/ispell.el Sat Jan 22 21:39:38 2005 +0000 @@ -2764,6 +2764,15 @@ string)) +(defun ispell-looking-at (string) + (let ((coding (ispell-get-coding-system)) + (len (length string))) + (and (<= (+ (point) len) (point-max)) + (equal (encode-coding-string string coding) + (encode-coding-string (buffer-substring-no-properties + (point) (+ (point) len)) + coding))))) + ;;; Avoid error messages when compiling for these dynamic variables. (eval-when-compile (defvar start) @@ -2812,12 +2821,7 @@ ;; Alignment cannot be tracked and this error will occur when ;; `query-replace' makes multiple corrections on the starting line. - (if (/= (+ word-len (point)) - (progn - ;; NB: Search can fail with Mule coding systems that don't - ;; display properly. Ignore the error in this case? - (search-forward (car poss) (+ word-len (point)) t) - (point))) + (or (ispell-looking-at (car poss)) ;; This occurs due to filter pipe problems (error (concat "Ispell misalignment: word " "`%s' point %d; probably incompatible versions")
--- a/lisp/textmodes/org.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/textmodes/org.el Sat Jan 22 21:39:38 2005 +0000 @@ -215,8 +215,8 @@ (defvar org-version "3.04" "The version number of the file org.el.") -(defun org-version (arg) - (interactive "P") +(defun org-version () + (interactive) (message "Org-mode version %s" org-version)) ;; The following two constants are for compatibility with different
--- a/lisp/textmodes/tex-mode.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/textmodes/tex-mode.el Sat Jan 22 21:39:38 2005 +0000 @@ -1495,7 +1495,9 @@ (make-comint "tex-shell" (or tex-shell-file-name (getenv "ESHELL") shell-file-name) - nil) + nil + ;; Specify an interactive shell, to make sure it prompts. + "-i") (let ((proc (get-process "tex-shell"))) (set-process-sentinel proc 'tex-shell-sentinel) (set-process-query-on-exit-flag proc nil)
--- a/lisp/type-break.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/type-break.el Sat Jan 22 21:39:38 2005 +0000 @@ -390,8 +390,9 @@ (and (interactive-p) (message "Type Break mode is already enabled"))) (type-break-mode - (with-current-buffer (find-file-noselect type-break-file-name 'nowarn) - (setq buffer-save-without-query t)) + (when type-break-file-name + (with-current-buffer (find-file-noselect type-break-file-name 'nowarn) + (setq buffer-save-without-query t))) (or global-mode-string (setq global-mode-string '("")))
--- a/lisp/url/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/url/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,8 @@ +2005-01-22 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change) + + * url-http.el (url-http-parse-headers) <302>: Reset url-http-data + to nil, like for the 303 response. + 2005-01-13 Stefan Monnier <monnier@iro.umontreal.ca> * url.el (url-retrieve-synchronously): Use accept-process-output rather
--- a/lisp/url/url-http.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/url/url-http.el Sat Jan 22 21:39:38 2005 +0000 @@ -459,7 +459,7 @@ (url-http-debug "Converting `%s' request to `GET' because of REDIRECT(%d)" url-http-method url-http-response-status) (setq url-http-method "GET" - url-request-data nil))) + url-http-data nil))) (303 ;; The response to the request can be found under a different ;; URI and SHOULD be retrieved using a GET method on that
--- a/lisp/window.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/window.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ ;;; window.el --- GNU Emacs window commands aside from those written in C -;; Copyright (C) 1985, 1989, 1992, 1993, 1994, 2000, 2001, 2002, 2004 +;; Copyright (C) 1985, 1989, 1992, 1993, 1994, 2000, 2001, 2002, 2004, 2005 ;; Free Software Foundation, Inc. ;; Maintainer: FSF @@ -631,6 +631,12 @@ (interactive "e") (let ((window (posn-window (event-start event)))) (if (and (window-live-p window) + ;; Don't switch if we're currently in the minibuffer. + ;; This tries to work around problems where the minibuffer gets + ;; unselected unexpectedly, and where you then have to move + ;; your mouse all the way down to the minibuffer to select it. + (not (window-minibuffer-p (selected-window))) + ;; Don't switch to a minibuffer window unless it's active. (or (not (window-minibuffer-p window)) (minibuffer-window-active-p window))) (select-window window)))) @@ -643,5 +649,5 @@ (define-key ctl-x-map "+" 'balance-windows) (define-key ctl-x-4-map "0" 'kill-buffer-and-window) -;;; arch-tag: b508dfcc-c353-4c37-89fa-e773fe10cea9 +;; arch-tag: b508dfcc-c353-4c37-89fa-e773fe10cea9 ;;; window.el ends here
--- a/lisp/xt-mouse.el Tue Jan 18 04:50:08 2005 +0000 +++ b/lisp/xt-mouse.el Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ ;;; xt-mouse.el --- support the mouse when emacs run in an xterm -;; Copyright (C) 1994, 2000, 2001 Free Software Foundation +;; Copyright (C) 1994, 2000, 2001, 2005 Free Software Foundation ;; Author: Per Abrahamsen <abraham@dina.kvl.dk> ;; Keywords: mouse, terminals @@ -24,7 +24,7 @@ ;;; Commentary: -;; Enable mouse support when running inside an xterm or Linux console. +;; Enable mouse support when running inside an xterm. ;; This is actually useful when you are running X11 locally, but is ;; working on remote machine over a modem line or through a gateway. @@ -32,15 +32,15 @@ ;; It works by translating xterm escape codes into generic emacs mouse ;; events so it should work with any package that uses the mouse. -;; The xterm mouse escape codes are supposedly also supported by the -;; Linux console, but I have not been able to verify this. - ;; You don't have to turn off xterm mode to use the normal xterm mouse ;; functionality, it is still available by holding down the SHIFT key ;; when you press the mouse button. ;;; Todo: +;; The xterm mouse escape codes are supposedly also supported by the +;; Linux console, but I have not been able to verify this. + ;; Support multi-click -- somehow. ;;; Code: @@ -146,9 +146,9 @@ (setq xterm-mouse-x x xterm-mouse-y y) (if w - (list mouse (posn-at-x-y (- x left) (- y top) w)) + (list mouse (posn-at-x-y (- x left) (- y top) w t)) (list mouse - (append (list nil 'menu-bar) (nthcdr 2 (posn-at-x-y x y w))))))) + (append (list nil 'menu-bar) (nthcdr 2 (posn-at-x-y x y w t))))))) ;;;###autoload (define-minor-mode xterm-mouse-mode
--- a/lispref/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/lispref/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,3 +1,12 @@ +2005-01-16 Luc Teirlinck <teirllm@auburn.edu> + + * keymaps.texi (Changing Key Bindings): `suppress-keymap' now uses + command remapping. + +2005-01-15 Richard M. Stallman <rms@gnu.org> + + * display.texi (Defining Images): Mention DATA-P arg of create-image. + 2005-01-14 Kim F. Storm <storm@cua.dk> * commands.texi (Accessing Events): Add WHOLE arg to posn-at-x-y.
--- a/lispref/display.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/lispref/display.texi Sat Jan 22 21:39:38 2005 +0000 @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002 -@c Free Software Foundation, Inc. +@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, +@c 2002, 2005 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../info/display @node Display, Calendar, Processes, Top @@ -633,6 +633,22 @@ Secondly, ``done'' is more explicit. @end defun +@defmac dotimes-with-progress-reporter (var count [result]) message body... +This is a convenience macro that works the same way as @code{dotimes} +does, but also reports loop progress using the functions described +above. It allows you to save some typing. + +You can rewrite the example in the beginning of this node using +this macro this way: + +@example +(dotimes-with-progress-reporter + (k 500) + "Collecting some mana for Emacs..." + (sit-for 0.01)) +@end example +@end defmac + @node Invisible Text @section Invisible Text
--- a/lispref/keymaps.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/lispref/keymaps.texi Sat Jan 22 21:39:38 2005 +0000 @@ -1266,9 +1266,10 @@ @defun suppress-keymap keymap &optional nodigits @cindex @code{self-insert-command} override This function changes the contents of the full keymap @var{keymap} by -making all the printing characters undefined. More precisely, it binds -them to the command @code{undefined}. This makes ordinary insertion of -text impossible. @code{suppress-keymap} returns @code{nil}. +remapping @code{self-insert-command} to the command @code{undefined} +(@pxref{Remapping Commands}). This has the effect of undefining all +printing characters, thus making ordinary insertion of text impossible. +@code{suppress-keymap} returns @code{nil}. If @var{nodigits} is @code{nil}, then @code{suppress-keymap} defines digits to run @code{digit-argument}, and @kbd{-} to run
--- a/man/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/man/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,47 @@ +2005-01-16 Xavier Maillard <zedek@gnu-rox.org> (tiny change) + + * gnus-faq.texi ([4.1]): Typo. + +2005-01-22 David Kastrup <dak@gnu.org> + + * building.texi (Grep Searching): Mention alias `find-grep' for + `grep-find'. + +2005-01-20 Richard M. Stallman <rms@gnu.org> + + * calendar.texi (Time Intervals): Delete special stuff for MS-DOS. + +2005-01-19 Jay Belanger <belanger@truman.edu> + + * calc.texi (Keep Arguments): Mention that keeping arguments + doesn't work with keyboard macros. + +2005-01-16 Richard M. Stallman <rms@gnu.org> + + * autotype.texi (Autoinserting): Fix small error. + +2005-01-16 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.0.47. + + * tramp.texi (Compilation): New section, describing compilation of + remote files. + 2005-01-15 Sergey Poznyakoff <gray@Mirddin.farlep.net> - - * man/rmail.texi: Document support for GNU mailutils in rmail.el. + + * man/rmail.texi (Movemail): Explain differences + between standard and mailutils versions of movemail. + Describe command line and configuration options introduced + with the latter. + Explain the notion of mailbox URL, provide examples and + cross-references to mailutils documentation. + Describe various methods of specifying mailbox names, + user names and user passwords for rmail. + (Remote Mailboxes): New section. Describe + how movemail handles remote mailboxes. Describe configuration + options used to control its behavior. + (Other Mailbox Formats): Explain handling of various mailbox + formats. 2005-01-13 Richard M. Stallman <rms@gnu.org>
--- a/man/autotype.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/autotype.texi Sat Jan 22 21:39:38 2005 +0000 @@ -400,7 +400,7 @@ In Lisp (@pxref{(emacs)Init File}) you can use the function @code{define-auto-insert} to add to or modify @code{auto-insert-alist}. See its documentation with @kbd{C-h f -auto-insert-alist}. +define-auto-insert}. @vindex auto-insert The variable @code{auto-insert} says what to do when @code{auto-insert} is
--- a/man/building.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/building.texi Sat Jan 22 21:39:38 2005 +0000 @@ -51,6 +51,7 @@ Run @code{grep} asynchronously under Emacs, with matching lines listed in the buffer named @samp{*grep*}. @item M-x grep-find +@item M-x find-grep Run @code{grep} via @code{find}, with user-specified arguments, and collect output in the buffer named @samp{*grep*}. @item M-x kill-compilation @@ -166,11 +167,12 @@ @code{grep} command. @findex grep-find - The command @kbd{M-x grep-find} is similar to @kbd{M-x grep}, but it -supplies a different initial default for the command---one that runs -both @code{find} and @code{grep}, so as to search every file in a -directory tree. See also the @code{find-grep-dired} command, -in @ref{Dired and Find}. +@findex find-grep + The command @kbd{M-x grep-find} (also available as @kbd{M-x +find-grep}) is similar to @kbd{M-x grep}, but it supplies a different +initial default for the command---one that runs both @code{find} and +@code{grep}, so as to search every file in a directory tree. See also +the @code{find-grep-dired} command, in @ref{Dired and Find}. @node Compilation Mode @section Compilation Mode
--- a/man/calc.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/calc.texi Sat Jan 22 21:39:38 2005 +0000 @@ -12186,16 +12186,18 @@ the stack contains the sole number 5, but after @kbd{2 @key{RET} 3 K +}, the stack contains the arguments and the result: @samp{2 3 5}. -This works for all commands that take arguments off the stack. As -another example, @kbd{K a s} simplifies a formula, pushing the +With the exception of keyboard macros, this works for all commands that +take arguments off the stack. (To avoid potentially unpleasant behavior, +a @kbd{K} prefix before a keyboard macro will be ignored. A @kbd{K} +prefix called @emph{within} the keyboard macro will still take effect.) +As another example, @kbd{K a s} simplifies a formula, pushing the simplified version of the formula onto the stack after the original -formula (rather than replacing the original formula). - -Note that you could get the same effect by typing @kbd{@key{RET} a s}, -copying the formula and then simplifying the copy. One difference -is that for a very large formula the time taken to format the -intermediate copy in @kbd{@key{RET} a s} could be noticeable; @kbd{K a s} -would avoid this extra work. +formula (rather than replacing the original formula). Note that you +could get the same effect by typing @kbd{@key{RET} a s}, copying the +formula and then simplifying the copy. One difference is that for a very +large formula the time taken to format the intermediate copy in +@kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this +extra work. Even stack manipulation commands are affected. @key{TAB} works by popping two values and pushing them back in the opposite order, @@ -12208,13 +12210,6 @@ @kbd{K ' sin($)}. @xref{Algebraic Entry}. Also, the @kbd{s s} command is effectively the same as @kbd{K s t}. @xref{Storing Variables}. -Keyboard macros may interact surprisingly with the @kbd{K} prefix. -If you have defined a keyboard macro to be, say, @samp{Q +} to add -one number to the square root of another, then typing @kbd{K X} will -execute @kbd{K Q +}, probably not what you expected. The @kbd{K} -prefix will apply to just the first command in the macro rather than -the whole macro. - If you execute a command and then decide you really wanted to keep the argument, you can press @kbd{M-@key{RET}} (@code{calc-last-args}). This command pushes the last arguments that were popped by any command
--- a/man/calendar.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/calendar.texi Sat Jan 22 21:39:38 2005 +0000 @@ -1540,14 +1540,12 @@ @vindex timeclock-file @findex timeclock-reread-log The timeclock functions work by accumulating the data in a file -called @file{.timelog} in your home directory. (On MS-DOS, this file -is called @file{_timelog}, since an initial period is not allowed in -file names on MS-DOS.) You can specify a different name for this file -by customizing the variable @code{timeclock-file}. If you edit the -timeclock file manually, or if you change the value of any of -timeclock's customizable variables, you should run the command -@kbd{M-x timeclock-reread-log} to update the data in Emacs from the -file. +called @file{.timelog} in your home directory. You can specify a +different name for this file by customizing the variable +@code{timeclock-file}. If you edit the timeclock file manually, or if +you change the value of any of timeclock's customizable variables, you +should run the command @kbd{M-x timeclock-reread-log} to update the +data in Emacs from the file. @ignore arch-tag: 4531ef09-9df3-449d-9c52-2b5a4a337f92
--- a/man/gnus-faq.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/gnus-faq.texi Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ @c Insert "\input texinfo" at 1st line before texing this file alone. @c -*-texinfo-*- -@c Copyright (C) 1995, 2001, 2003, 2004 Free Software Foundation, Inc. +@c Copyright (C) 1995, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. @setfilename gnus-faq.info @c Frequently Asked Questions, FAQ - Introduction, Emacs for Heathens, Top @@ -857,7 +857,7 @@ If you enter the group by saying @samp{RET} - in summary buffer with point over the group, only unread and ticked messages are loaded. Say + in group buffer with point over the group, only unread and ticked messages are loaded. Say @samp{C-u RET} instead to load all available messages. If you want only the e.g. 300 newest say @samp{C-u 300 RET}
--- a/man/tramp.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/tramp.texi Sat Jan 22 21:39:38 2005 +0000 @@ -25,8 +25,8 @@ @end macro @copying -Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004 Free Software -Foundation, Inc. +Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free +Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -192,6 +192,7 @@ * Multi-hop filename syntax:: Multi-hop filename conventions. * Filename completion:: Filename completion. * Dired:: Dired. +* Compilation:: Compile remote files. The inner workings of remote version control @@ -1690,6 +1691,7 @@ * Multi-hop filename syntax:: Multi-hop filename conventions. * Filename completion:: Filename completion. * Dired:: Dired. +* Compilation:: Compile remote files. @end menu @@ -1885,6 +1887,32 @@ and will only fetch the directory listing once. +@node Compilation +@section Compile remote files +@cindex compile +@cindex recompile + +@value{tramp} provides commands for compilation of files on remote +machines. In order to get them loaded, you need to require +@file{tramp-util.el}: + +@lisp +(require 'tramp-util) +@end lisp + +Afterwards, you can use the commands @code{tramp-compile} and +@code{tramp-recompile} instead of @code{compile} and @code{recompile}, +respectively; @inforef{Compilation, ,@value{emacsdir}}. This does not +work for the @option{ftp} and @option{smb} methods. + +The corresponding key bindings and menu entries calling these commands +are redefined automatically for buffers associated with remote files. + +After finishing the compilation, you can use the usual commands like +@code{previous-error}, @code{next-error} and @code{first-error} for +navigation in the @file{*Compilation*} buffer. + + @node Bug Reports @chapter Reporting Bugs and Problems @cindex bug reports
--- a/man/trampver.texi Tue Jan 18 04:50:08 2005 +0000 +++ b/man/trampver.texi Sat Jan 22 21:39:38 2005 +0000 @@ -4,7 +4,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.0.46 +@set trampver 2.0.47 @c Other flags from configuration @set prefix /usr/local
--- a/src/.gdbinit Tue Jan 18 04:50:08 2005 +0000 +++ b/src/.gdbinit Sat Jan 22 21:39:38 2005 +0000 @@ -35,20 +35,23 @@ # debugging. handle SIGALRM ignore -# Set up a mask to use. -# This should be EMACS_INT, but in some cases that is a macro. -# long ought to work in all cases right now. +# $valmask and $tagmask are mask values set up by the xreload macro below. +# Use $bugfix so that the value isn't a constant. +# Using a constant runs into GDB bugs sometimes. define xgetptr - set $ptr = (gdb_use_union ? $arg0.u.val : $arg0 & $valmask) | gdb_data_seg_bits + set $bugfix = $arg0 + set $ptr = (gdb_use_union ? $bugfix.u.val : $bugfix & $valmask) | gdb_data_seg_bits end define xgetint - set $int = gdb_use_union ? $arg0.s.val : (gdb_use_lsb ? $arg0 : $arg0 << gdb_gctypebits) >> gdb_gctypebits + set $bugfix = $arg0 + set $int = gdb_use_union ? $bugfix.s.val : (gdb_use_lsb ? $bugfix : $bugfix << gdb_gctypebits) >> gdb_gctypebits end define xgettype - set $type = gdb_use_union ? $arg0.s.type : (enum Lisp_Type) (gdb_use_lsb ? $arg0 & $tagmask : $arg0 >> gdb_valbits) + set $bugfix = $arg0 + set $type = gdb_use_union ? $bugfix.s.type : (enum Lisp_Type) (gdb_use_lsb ? $bugfix & $tagmask : $bugfix >> gdb_valbits) end # Set up something to print out s-expressions.
--- a/src/ChangeLog Tue Jan 18 04:50:08 2005 +0000 +++ b/src/ChangeLog Sat Jan 22 21:39:38 2005 +0000 @@ -9,11 +9,161 @@ some possibly unnecessary fontset checking code that crashed when creating a new frame +2005-01-22 Steven Tamm <steventamm@mac.com> + + * s/darwin.h: Removed PTY_ITERATION from here. + (DARWIN): Defined. + * process.c (init_process): Default process-connection-type to + nil on darwin 6 or less, t if it is 7 or higher. This way the + broken pty behavior is still allowed on darwin 6 for interactive + processes for people that know what they are doing. + +2005-01-22 Kim F. Storm <storm@cua.dk> + + * window.c (auto_window_vscroll_p): New boolean. + (syms_of_window): DEFVAR_BOOL it. + (Fpos_visible_in_window_p): Extend return value to include RTOP + and RBOT values if FULLY is nil. + (window_scroll_pixel_based): Adjust vscroll for partially visible + rows if auto_window_vscroll_p is set. + (Fset_window_vscroll): Do nothing if vscroll is not modified. + + * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args + to return number of partially invisible pixels at top and bottom + of the dislay row at POS. + + * lisp.h (pos_visible_p): Fix prototype. + +2005-01-21 Richard M. Stallman <rms@gnu.org> + + * fileio.c (Fcopy_file): Doc fix. + +2005-01-21 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw. + (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to + start of function for older compilers. + +2005-01-20 Richard M. Stallman <rms@gnu.org> + + * editfns.c (Fmessage): If arg is "", return "" (as before). + + * keymap.c (access_keymap): Protect from bad value of meta_prefix_char. + + * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp + variable. + +2005-01-20 Steven Tamm <steventamm@mac.com> + + * editfns.c (Voperating_system_release): Added. + (init_editfns): Assign new variable operating-system-release + based on call to uname if available. + (get_operating_system_release): Added function to + allow c-level access to operating system release. + + * config.h: Regenerated. + + * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or + less. + (MIN_PTY_KERNEL_VERSION): Defined minimum kernel version for + using ptys as '7'. + +2005-01-20 Kim F. Storm <storm@cua.dk> + + * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean. + + * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows. + Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this. + + * macterm.c (x_draw_glyph_string_box): Likewise. + + * w32term.c (x_draw_glyph_string_box): Likewise. + + * indent.c (Fvertical_motion): Temporarily disable selective display. + +2005-01-19 Kim F. Storm <storm@cua.dk> + + * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer + image property. + + * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair. + +2005-01-18 Kim F. Storm <storm@cua.dk> + + * xdisp.c (fast_find_position): Backtrack to find first row if + charpos is inside a display overlay that spans multiple lines. + +2005-01-18 Kenichi Handa <handa@m17n.org> + + * coding.c (decode_coding_iso2022): Translate invalid codes if + translation-table is specified. + +2005-01-18 Kim F. Storm <storm@cua.dk> + + * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28 + change. If handle_display_prop indicates newline is replaced by + image or text, move back to start of relevant overlay or interval + and continue scan from there. Simplify. + +2005-01-17 Kim F. Storm <storm@cua.dk> + + * dispnew.c (mode_line_string, marginal_area_string): Fix + off-by-one error in search for glyph. + +2005-01-16 Kim F. Storm <storm@cua.dk> + + * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix. + +2005-01-16 Steven Tamm <steventamm@mac.com> + + * macterm.c (mac_to_x_fontname): Removed spurious argument. + +2005-01-16 Andreas Schwab <schwab@suse.de> + + * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1. + +2005-01-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning + fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *. + +2005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW) + (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES): + New flags for readable_events. + (get_filtered_input_pending, readable_filtered_events): Removed. + (tracking_off): Call readable_events and get_input_pending with + flag READABLE_EVENTS_DO_TIMERS_NOW. + (readable_events): Move code from old readable_filtered_events here, + but check new READABLE_EVENTS_* in argument flags instead of previous + two boolean arguments do_timers_now and filter_events. + If we are doing mouse tracking and the mouse moved, return only if + READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags. + (swallow_events): Call get_input_pending with flag + READABLE_EVENTS_DO_TIMERS_NOW. + (get_input_pending): Move code from old get_filtered_input_pending + here. Replace boolean arguments do_timers_now, filter_events with + flags, and pass flags to readable_events. Document new + READABLE_EVENTS_* flags. + (detect_input_pending_ignore_squeezables): New function. + (detect_input_pending_run_timers): Call get_input_pending with flag + READABLE_EVENTS_DO_TIMERS_NOW. + (Finput_pending_p): Call get_input_pending with flags + READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS. + + * dispnew.c (update_window, update_frame_1): Replace calls to + detect_input_pending with detect_input_pending_ignore_squeezables + so that redisplay is not paused if the event queue contains only + mouse movements. + + * lisp.h: Declare detect_input_pending_ignore_squeezables. + 2005-01-15 Steven Tamm <steventamm@mac.com> - * macterm.c (Vmac_use_core_graphics): defined for - mac-allow-anti-aliasing - (syms_of_macterm): Added mac-allow-anti-aliasing + * macterm.c (Vmac_use_core_graphics): Declare variable for + mac-allow-anti-aliasing. + (syms_of_macterm): DEFVAR_LISP and initialize it. (mac_draw_string_common): Use core graphics text rendering if mac-allow-anti-aliasing is enabled.
--- a/src/alloc.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/alloc.c Sat Jan 22 21:39:38 2005 +0000 @@ -143,11 +143,11 @@ #define MARK_STRING(S) ((S)->size |= ARRAY_MARK_FLAG) #define UNMARK_STRING(S) ((S)->size &= ~ARRAY_MARK_FLAG) -#define STRING_MARKED_P(S) ((S)->size & ARRAY_MARK_FLAG) +#define STRING_MARKED_P(S) (((S)->size & ARRAY_MARK_FLAG) != 0) #define VECTOR_MARK(V) ((V)->size |= ARRAY_MARK_FLAG) #define VECTOR_UNMARK(V) ((V)->size &= ~ARRAY_MARK_FLAG) -#define VECTOR_MARKED_P(V) ((V)->size & ARRAY_MARK_FLAG) +#define VECTOR_MARKED_P(V) (((V)->size & ARRAY_MARK_FLAG) != 0) /* Value is the number of bytes/chars of S, a pointer to a struct Lisp_String. This must be used instead of STRING_BYTES (S) or
--- a/src/config.in Tue Jan 18 04:50:08 2005 +0000 +++ b/src/config.in Sat Jan 22 21:39:38 2005 +0000 @@ -598,6 +598,9 @@ /* Define to 1 if you have the <sys/un.h> header file. */ #undef HAVE_SYS_UN_H +/* Define to 1 if you have the <sys/utsname.h> header file. */ +#undef HAVE_SYS_UTSNAME_H + /* Define to 1 if you have the <sys/vlimit.h> header file. */ #undef HAVE_SYS_VLIMIT_H
--- a/src/dispnew.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/dispnew.c Sat Jan 22 21:39:38 2005 +0000 @@ -4061,7 +4061,7 @@ if (redisplay_dont_pause) force_p = 1; else - detect_input_pending (); + detect_input_pending_ignore_squeezables (); /* If forced to complete the update, or if no input is pending, do the update. */ @@ -4135,7 +4135,7 @@ scrolling large windows with repeated scroll-up commands will too quickly pause redisplay. */ if (!force_p && ++n_updated % preempt_count == 0) - detect_input_pending (); + detect_input_pending_ignore_squeezables (); changed_p |= update_window_line (w, vpos, &mouse_face_overwritten_p); @@ -5079,7 +5079,7 @@ if (redisplay_dont_pause) force_p = 1; - else if (!force_p && detect_input_pending ()) + else if (!force_p && detect_input_pending_ignore_squeezables ()) { pause = 1; goto do_pause; @@ -5135,7 +5135,7 @@ } if ((i - 1) % preempt_count == 0) - detect_input_pending (); + detect_input_pending_ignore_squeezables (); update_frame_line (f, i); } @@ -5828,7 +5828,7 @@ it's the one we were looking for. */ glyph = row->glyphs[TEXT_AREA]; end = glyph + row->used[TEXT_AREA]; - for (x0 = *x; glyph < end && x0 > glyph->pixel_width; ++glyph) + for (x0 = *x; glyph < end && x0 >= glyph->pixel_width; ++glyph) x0 -= glyph->pixel_width; *x = glyph - row->glyphs[TEXT_AREA]; if (glyph < end) @@ -5920,7 +5920,7 @@ glyph = row->glyphs[area]; end = glyph + row->used[area]; - for (x0 = *x - x0; glyph < end && x0 > glyph->pixel_width; ++glyph) + for (x0 = *x - x0; glyph < end && x0 >= glyph->pixel_width; ++glyph) x0 -= glyph->pixel_width; *x = glyph - row->glyphs[area]; if (glyph < end)
--- a/src/editfns.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/editfns.c Sat Jan 22 21:39:38 2005 +0000 @@ -34,6 +34,10 @@ #include <unistd.h> #endif +#ifdef HAVE_SYS_UTSNAME_H +#include <sys/utsname.h> +#endif + /* systime.h includes <sys/time.h> which, on some systems, is required for <sys/resource.h>; thus systime.h must be included before <sys/resource.h> */ @@ -106,6 +110,7 @@ Lisp_Object Vuser_real_login_name; /* login name of current user ID */ Lisp_Object Vuser_full_name; /* full name of current user */ Lisp_Object Vuser_login_name; /* user name from LOGNAME or USER */ +Lisp_Object Voperating_system_release; /* Operating System Release */ /* Symbol for the text property used to mark fields. */ @@ -170,6 +175,16 @@ Vuser_full_name = build_string (p); else if (NILP (Vuser_full_name)) Vuser_full_name = build_string ("unknown"); + +#ifdef HAVE_SYS_UTSNAME_H + { + struct utsname uts; + uname (&uts); + Voperating_system_release = build_string (uts.release); + } +#else + Voperating_system_release = Qnil; +#endif } DEFUN ("char-to-string", Fchar_to_string, Schar_to_string, 1, 1, 0, @@ -1344,6 +1359,15 @@ return ""; } +char * +get_operating_system_release() +{ + if (STRINGP (Voperating_system_release)) + return (char *) SDATA (Voperating_system_release); + else + return ""; +} + DEFUN ("emacs-pid", Femacs_pid, Semacs_pid, 0, 0, 0, doc: /* Return the process ID of Emacs, as an integer. */) () @@ -3240,7 +3264,7 @@ && SBYTES (args[0]) == 0)) { message (0); - return Qnil; + return args[0]; } else { @@ -4434,6 +4458,9 @@ DEFVAR_LISP ("user-real-login-name", &Vuser_real_login_name, doc: /* The user's name, based upon the real uid only. */); + DEFVAR_LISP ("operating-system-release", &Voperating_system_release, + doc: /* The release of the operating system Emacs is running on. */); + defsubr (&Spropertize); defsubr (&Schar_equal); defsubr (&Sgoto_char);
--- a/src/emacs.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/emacs.c Sat Jan 22 21:39:38 2005 +0000 @@ -1,6 +1,6 @@ /* Fully extensible Emacs, running on Unix, intended for GNU. - Copyright (C) 1985,86,87,93,94,95,97,98,1999,2001,02,03,2004 - Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1998, 1999, 2001, + 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -2438,7 +2438,16 @@ Many arguments are deleted from the list as they are processed. */); DEFVAR_LISP ("system-type", &Vsystem_type, - doc: /* Value is symbol indicating type of operating system you are using. */); ++ doc: /* Value is symbol indicating type of operating system you are using. ++Special values: ++ `gnu/linux' compiled for a GNU/Linux system. ++ `darwin' compiled for Darwin (GNU-Darwin, Mac OS X, ...). ++ `macos' compiled for Mac OS 9. ++ `ms-dos' compiled as an MS-DOS application. ++ `windows-nt' compiled as a native W32 application. ++ `cygwin' compiled using the Cygwin library. ++ `vax-vms' or `axp-vms': compiled for a (Open)VMS system. ++Anything else indicates some sort of Unix system. */); Vsystem_type = intern (SYSTEM_TYPE); DEFVAR_LISP ("system-configuration", &Vsystem_configuration,
--- a/src/fileio.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/fileio.c Sat Jan 22 21:39:38 2005 +0000 @@ -2395,10 +2395,10 @@ unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil. A number as third arg means request confirmation if NEWNAME already exists. This is what happens in interactive use with M-x. -Fourth arg KEEP-TIME non-nil means give the new file the same +Always sets the file modes of the output file to match the input file. +Fourth arg KEEP-TIME non-nil means give the output file the same last-modified time as the old one. (This works on only some systems.) -A prefix arg makes KEEP-TIME non-nil. -Also set the file modes of the target file to match the source file. */) +A prefix arg makes KEEP-TIME non-nil. */) (file, newname, ok_if_already_exists, keep_time) Lisp_Object file, newname, ok_if_already_exists, keep_time; {
--- a/src/fns.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/fns.c Sat Jan 22 21:39:38 2005 +0000 @@ -4305,6 +4305,10 @@ h->count = make_number (XFASTINT (h->count) - 1); } + else + { + prev = idx; + } } else {
--- a/src/fringe.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/fringe.c Sat Jan 22 21:39:38 2005 +0000 @@ -1301,7 +1301,7 @@ = ((struct fringe_bitmap **) xrealloc (fringe_bitmaps, max_fringe_bitmaps * sizeof (struct fringe_bitmap *))); fringe_faces - = (unsigned *) xrealloc (fringe_faces, max_fringe_bitmaps * sizeof (Lisp_Object)); + = (Lisp_Object *) xrealloc (fringe_faces, max_fringe_bitmaps * sizeof (Lisp_Object)); for (; i < max_fringe_bitmaps; i++) { @@ -1472,7 +1472,7 @@ fringe_bitmaps = (struct fringe_bitmap **) xmalloc (max_fringe_bitmaps * sizeof (struct fringe_bitmap *)); fringe_faces - = (unsigned *) xmalloc (max_fringe_bitmaps * sizeof (Lisp_Object)); + = (Lisp_Object *) xmalloc (max_fringe_bitmaps * sizeof (Lisp_Object)); for (i = 0; i < max_fringe_bitmaps; i++) {
--- a/src/gtkutil.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/gtkutil.c Sat Jan 22 21:39:38 2005 +0000 @@ -1312,6 +1312,7 @@ char *fn = 0; int filesel_done = 0; xg_get_file_func func; + extern int x_use_old_gtk_file_dialog; #if defined (HAVE_GTK_AND_PTHREAD) && defined (__SIGRTMIN) /* I really don't know why this is needed, but without this the GLIBC add on @@ -1321,7 +1322,6 @@ #endif /* HAVE_GTK_AND_PTHREAD */ #ifdef HAVE_GTK_FILE_BOTH - extern int x_use_old_gtk_file_dialog; if (x_use_old_gtk_file_dialog) w = xg_get_file_with_selection (f, prompt, default_filename, @@ -3161,7 +3161,6 @@ /* When detaching a tool bar, not everything dissapear. There are a few pixels left that are used to drop the tool bar back into place. */ - int bw = gtk_container_get_border_width (GTK_CONTAINER (wbox)); FRAME_TOOLBAR_HEIGHT (f) = 2; /* The height has changed, resize outer widget and set columns
--- a/src/indent.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/indent.c Sat Jan 22 21:39:38 2005 +0000 @@ -2071,6 +2071,7 @@ else { int it_start; + int oselective; SET_TEXT_POS (pt, PT, PT_BYTE); start_display (&it, w, pt); @@ -2084,7 +2085,11 @@ it_start = IT_CHARPOS (it); reseat_at_previous_visible_line_start (&it); it.current_x = it.hpos = 0; + /* Temporarily disable selective display so we don't move too far */ + oselective = it.selective; + it.selective = 0; move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); + it.selective = oselective; /* Move back if we got too far. This may happen if truncate-lines is on and PT is beyond right margin. */
--- a/src/keyboard.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/keyboard.c Sat Jan 22 21:39:38 2005 +0000 @@ -646,14 +646,17 @@ /* Global variable declarations. */ +/* Flags for readable_events. */ +#define READABLE_EVENTS_DO_TIMERS_NOW (1 << 0) +#define READABLE_EVENTS_FILTER_EVENTS (1 << 1) +#define READABLE_EVENTS_IGNORE_SQUEEZABLES (1 << 2) + /* Function for init_keyboard to call with no args (if nonzero). */ void (*keyboard_init_hook) (); static int read_avail_input P_ ((int)); static void get_input_pending P_ ((int *, int)); -static void get_filtered_input_pending P_ ((int *, int, int)); static int readable_events P_ ((int)); -static int readable_filtered_events P_ ((int, int)); static Lisp_Object read_char_x_menu_prompt P_ ((int, Lisp_Object *, Lisp_Object, int *)); static Lisp_Object read_char_x_menu_prompt (); @@ -3440,10 +3443,11 @@ input has been processed. If the only input available was the sort that we have just disabled, then we need to call redisplay. */ - if (!readable_events (1)) + if (!readable_events (READABLE_EVENTS_DO_TIMERS_NOW)) { redisplay_preserve_echo_area (6); - get_input_pending (&input_pending, 1); + get_input_pending (&input_pending, + READABLE_EVENTS_DO_TIMERS_NOW); } } return Qnil; @@ -3495,20 +3499,19 @@ /* Return true iff there are any events in the queue that read-char would return. If this returns false, a read-char would block. */ static int -readable_filtered_events (do_timers_now, filter_events) - int do_timers_now; - int filter_events; -{ - if (do_timers_now) - timer_check (do_timers_now); - - /* If the buffer contains only FOCUS_IN_EVENT events, - and FILTER_EVENTS is nonzero, report it as empty. */ +readable_events (flags) + int flags; +{ + if (flags & READABLE_EVENTS_DO_TIMERS_NOW) + timer_check (1); + + /* If the buffer contains only FOCUS_IN_EVENT events, and + READABLE_EVENTS_FILTER_EVENTS is set, report it as empty. */ if (kbd_fetch_ptr != kbd_store_ptr) { int have_live_event = 1; - if (filter_events) + if (flags & READABLE_EVENTS_FILTER_EVENTS) { struct input_event *event; @@ -3529,7 +3532,8 @@ } #ifdef HAVE_MOUSE - if (!NILP (do_mouse_tracking) && some_mouse_moved ()) + if (!(flags & READABLE_EVENTS_IGNORE_SQUEEZABLES) + && !NILP (do_mouse_tracking) && some_mouse_moved ()) return 1; #endif if (single_kboard) @@ -3547,15 +3551,6 @@ return 0; } -/* Return true iff there are any events in the queue that read-char - would return. If this returns false, a read-char would block. */ -static int -readable_events (do_timers_now) - int do_timers_now; -{ - return readable_filtered_events (do_timers_now, 0); -} - /* Set this for debugging, to have a way to get out */ int stop_character; @@ -4226,7 +4221,7 @@ } old_timers_run = timers_run; - get_input_pending (&input_pending, 1); + get_input_pending (&input_pending, READABLE_EVENTS_DO_TIMERS_NOW); if (timers_run != old_timers_run && do_display) redisplay_preserve_echo_area (7); @@ -6518,18 +6513,20 @@ but works even if FIONREAD does not exist. (In fact, this may actually read some input.) - If DO_TIMERS_NOW is nonzero, actually run timer events that are ripe. - If FILTER_EVENTS is nonzero, ignore internal events (FOCUS_IN_EVENT). */ + If READABLE_EVENTS_DO_TIMERS_NOW is set in FLAGS, actually run + timer events that are ripe. + If READABLE_EVENTS_FILTER_EVENTS is set in FLAGS, ignore internal + events (FOCUS_IN_EVENT). + If READABLE_EVENTS_IGNORE_SQUEEZABLES is set in FLAGS, ignore mouse + movements. */ static void -get_filtered_input_pending (addr, do_timers_now, filter_events) +get_input_pending (addr, flags) int *addr; - int do_timers_now; - int filter_events; + int flags; { /* First of all, have we already counted some input? */ - *addr = (!NILP (Vquit_flag) - || readable_filtered_events (do_timers_now, filter_events)); + *addr = (!NILP (Vquit_flag) || readable_events (flags)); /* If input is being read as it arrives, and we have none, there is none. */ if (*addr > 0 || (interrupt_input && ! interrupts_deferred)) @@ -6537,23 +6534,7 @@ /* Try to read some input and see how much we get. */ gobble_input (0); - *addr = (!NILP (Vquit_flag) - || readable_filtered_events (do_timers_now, filter_events)); -} - -/* Store into *addr a value nonzero if terminal input chars are available. - Serves the purpose of ioctl (0, FIONREAD, addr) - but works even if FIONREAD does not exist. - (In fact, this may actually read some input.) - - If DO_TIMERS_NOW is nonzero, actually run timer events that are ripe. */ - -static void -get_input_pending (addr, do_timers_now) - int *addr; - int do_timers_now; -{ - get_filtered_input_pending (addr, do_timers_now, 0); + *addr = (!NILP (Vquit_flag) || readable_events (flags)); } /* Interface to read_avail_input, blocking SIGIO or SIGALRM if necessary. */ @@ -9869,6 +9850,18 @@ return input_pending; } +/* Return nonzero if input events other than mouse movements are + pending. */ + +int +detect_input_pending_ignore_squeezables () +{ + if (!input_pending) + get_input_pending (&input_pending, READABLE_EVENTS_IGNORE_SQUEEZABLES); + + return input_pending; +} + /* Return nonzero if input events are pending, and run any pending timers. */ int @@ -9878,7 +9871,7 @@ int old_timers_run = timers_run; if (!input_pending) - get_input_pending (&input_pending, 1); + get_input_pending (&input_pending, READABLE_EVENTS_DO_TIMERS_NOW); if (old_timers_run != timers_run && do_display) { @@ -9927,7 +9920,9 @@ if (!NILP (Vunread_command_events) || unread_command_char != -1) return (Qt); - get_filtered_input_pending (&input_pending, 1, 1); + get_input_pending (&input_pending, + READABLE_EVENTS_DO_TIMERS_NOW + | READABLE_EVENTS_FILTER_EVENTS); return input_pending > 0 ? Qt : Qnil; }
--- a/src/keymap.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/keymap.c Sat Jan 22 21:39:38 2005 +0000 @@ -525,6 +525,10 @@ struct gcpro gcpro1; Lisp_Object meta_map; GCPRO1 (map); + /* A strange value in which Meta is set would cause + infinite recursion. Protect against that. */ + if (meta_prefix_char & CHAR_META) + meta_prefix_char = make_number (27); meta_map = get_keymap (access_keymap (map, meta_prefix_char, t_ok, noinherit, autoload), 0, autoload);
--- a/src/lisp.h Tue Jan 18 04:50:08 2005 +0000 +++ b/src/lisp.h Sat Jan 22 21:39:38 2005 +0000 @@ -2481,7 +2481,7 @@ extern void init_xdisp P_ ((void)); extern Lisp_Object safe_eval P_ ((Lisp_Object)); extern int pos_visible_p P_ ((struct window *, int, int *, - int *, int *, int)); + int *, int *, int *, int)); /* Defined in vm-limit.c. */ extern void memory_warnings P_ ((POINTER_TYPE *, void (*warnfun) ())); @@ -2947,6 +2947,7 @@ EXFUN (Fread_key_sequence, 5); EXFUN (Fset_input_mode, 4); extern int detect_input_pending P_ ((void)); +extern int detect_input_pending_ignore_squeezables P_ ((void)); extern int detect_input_pending_run_timers P_ ((int)); extern void safe_run_hooks P_ ((Lisp_Object)); extern void cmd_error_internal P_ ((Lisp_Object, char *));
--- a/src/macterm.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/macterm.c Sat Jan 22 21:39:38 2005 +0000 @@ -1,5 +1,5 @@ /* Implementation of GUI terminal on the Mac OS. - Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -731,7 +731,7 @@ int nchars, mode, bytes_per_char; { SetPortWindowPort (w); -#ifdef MAC_OSX +#ifdef MAC_OS_X_VERSION_10_2 UInt32 textFlags, savedFlags; if (!NILP(Vmac_use_core_graphics)) { textFlags = kQDUseCGTextRendering; @@ -748,7 +748,7 @@ MoveTo (x, y); DrawText (buf, 0, nchars * bytes_per_char); -#ifdef MAC_OSX +#ifdef MAC_OS_X_VERSION_10_2 if (!NILP(Vmac_use_core_graphics)) SwapQDTextFlags(savedFlags); #endif @@ -2648,15 +2648,9 @@ struct glyph *last_glyph; Rect clip_rect; - last_x = window_box_right (s->w, s->area); - if (s->row->full_width_p - && !s->w->pseudo_window_p) - { - last_x += WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH (s->w); - if (s->area != RIGHT_MARGIN_AREA - || WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (s->w)) - last_x += WINDOW_RIGHT_FRINGE_WIDTH (s->w); - } + last_x = ((s->row->full_width_p && !s->w->pseudo_window_p) + ? WINDOW_RIGHT_EDGE_X (s->w) + : window_box_right (s->w, s->area)); /* The glyph that may have a right box line. */ last_glyph = (s->cmp || s->img @@ -5951,7 +5945,7 @@ static char * -mac_to_x_fontname (name, size, style, scriptcode, encoding_base) +mac_to_x_fontname (name, size, style, scriptcode) char *name; int size; Style style; @@ -6822,7 +6816,7 @@ font->max_bounds.width = max_width; } } - + TextFont (old_fontnum); /* restore previous font number, size and face */ TextSize (old_fontsize); TextFace (old_fontface); @@ -9950,7 +9944,9 @@ #endif DEFVAR_LISP ("mac-allow-anti-aliasing", &Vmac_use_core_graphics, - doc: /* If non-nil, the text will be rendered using Core Graphics text rendering which may anti-alias the text. */); + doc: /* If non-nil, allow anti-aliasing. +The text will be rendered using Core Graphics text rendering which +may anti-alias the text. */); Vmac_use_core_graphics = Qnil; DEFVAR_INT ("mac-keyboard-text-encoding", &mac_keyboard_text_encoding,
--- a/src/process.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/process.c Sat Jan 22 21:39:38 2005 +0000 @@ -187,6 +187,7 @@ #include "syswait.h" extern void set_waiting_for_input P_ ((EMACS_TIME *)); +extern char *get_operating_system_release (); #ifndef USE_CRT_DLL extern int errno; @@ -6702,6 +6703,19 @@ Fprovide (intern ("make-network-process"), subfeatures); } #endif /* HAVE_SOCKETS */ + +#ifdef DARWIN + /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive + processes. As such, we only change the default value. */ + if (initialized) + { + char *release = get_operating_system_release(); + if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION + && release[1] == '.')) { + Vprocess_connection_type = Qnil; + } + } +#endif } void
--- a/src/s/darwin.h Tue Jan 18 04:50:08 2005 +0000 +++ b/src/s/darwin.h Sat Jan 22 21:39:38 2005 +0000 @@ -37,6 +37,10 @@ #define BSD_SYSTEM /* #define VMS */ +#ifndef DARWIN +#define DARWIN 1 +#endif + /* MAC_OS is used to conditionally compile code common to both MAC_OS8 and MAC_OSX. */ #ifdef MAC_OSX @@ -103,10 +107,18 @@ /* * Define HAVE_PTYS if the system supports pty devices. + * Note: PTYs are broken on darwin <6. Use at your own risk. */ #define HAVE_PTYS +/** + * PTYs only work correctly on Darwin 7 or higher. So make the + * default for process-connection-type dependent on the kernel + * version. + */ +#define MIN_PTY_KERNEL_VERSION '7' + /* * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate * The 4.2 opendir, etc., library functions.
--- a/src/w32term.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/w32term.c Sat Jan 22 21:39:38 2005 +0000 @@ -2072,15 +2072,9 @@ struct glyph *last_glyph; RECT clip_rect; - last_x = window_box_right (s->w, s->area); - if (s->row->full_width_p - && !s->w->pseudo_window_p) - { - last_x += WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH (s->w); - if (s->area != RIGHT_MARGIN_AREA - || WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (s->w)) - last_x += WINDOW_RIGHT_FRINGE_WIDTH (s->w); - } + last_x = ((s->row->full_width_p && !s->w->pseudo_window_p) + ? WINDOW_RIGHT_EDGE_X (s->w) + : window_box_right (s->w, s->area)); /* The glyph that may have a right box line. */ last_glyph = (s->cmp || s->img
--- a/src/window.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/window.c Sat Jan 22 21:39:38 2005 +0000 @@ -124,6 +124,11 @@ Lisp_Object Vtemp_buffer_show_function; +/* Non-zero means line and page scrolling on tall lines (with images) + does partial scrolling by modifying window-vscroll. */ + +int auto_window_vscroll_p; + /* Non-zero means to use mode-line-inactive face in all windows but the selected-window and the minibuffer-scroll-window when the minibuffer is active. */ @@ -328,9 +333,11 @@ POS defaults to point in WINDOW; WINDOW defaults to the selected window. If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil, -return value is a list (X Y FULLY) where X and Y are the pixel coordinates -relative to the top left corner of the window, and FULLY is t if the -character after POS is fully visible and nil otherwise. */) +return value is a list (X Y FULLY [RTOP RBOT]) where X and Y are the pixel +coordinates relative to the top left corner of the window, and FULLY is t if the +character after POS is fully visible and nil otherwise. If FULLY is nil, +RTOP and RBOT are the number of pixels invisible at the top and bottom row +of the window. */) (pos, window, partially) Lisp_Object pos, window, partially; { @@ -339,7 +346,7 @@ register struct buffer *buf; struct text_pos top; Lisp_Object in_window = Qnil; - int fully_p = 1; + int rtop, rbot, fully_p = 1; int x, y; w = decode_window (window); @@ -362,14 +369,19 @@ && posint <= BUF_ZV (buf) && CHARPOS (top) >= BUF_BEGV (buf) && CHARPOS (top) <= BUF_ZV (buf) - && pos_visible_p (w, posint, &fully_p, &x, &y, NILP (partially)) - && (!NILP (partially) || fully_p)) + && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, NILP (partially)) + && (fully_p = !rtop && !rbot, (!NILP (partially) || fully_p))) in_window = Qt; if (!NILP (in_window) && !NILP (partially)) in_window = Fcons (make_number (x), Fcons (make_number (y), - Fcons (fully_p ? Qt : Qnil, Qnil))); + Fcons (fully_p ? Qt : Qnil, + (fully_p + ? Qnil + : Fcons (make_number (rtop), + Fcons (make_number (rbot), + Qnil)))))); return in_window; } @@ -4564,6 +4576,31 @@ start = it.current.pos; } + else if (auto_window_vscroll_p) + { + if (NILP (XCAR (XCDR (XCDR (tem))))) + { + int px; + int dy = WINDOW_FRAME_LINE_HEIGHT (w); + if (whole) + dy = window_box_height (w) - next_screen_context_lines * dy; + dy *= n; + + if (n < 0 && (px = XINT (Fnth (make_number (3), tem))) > 0) + { + px = max (0, -w->vscroll - min (px, -dy)); + Fset_window_vscroll (window, make_number (px), Qt); + return; + } + if (n > 0 && (px = XINT (Fnth (make_number (4), tem))) > 0) + { + px = max (0, -w->vscroll + min (px, dy)); + Fset_window_vscroll (window, make_number (px), Qt); + return; + } + } + Fset_window_vscroll (window, make_number (0), Qt); + } /* If scroll_preserve_screen_position is non-nil, we try to set point in the same window line as it is now, so get that line. */ @@ -6335,13 +6372,16 @@ : XFLOATINT (vscroll)); w->vscroll = min (w->vscroll, 0); - /* Adjust glyph matrix of the frame if the virtual display - area becomes larger than before. */ - if (w->vscroll < 0 && w->vscroll < old_dy) - adjust_glyphs (f); - - /* Prevent redisplay shortcuts. */ - XBUFFER (w->buffer)->prevent_redisplay_optimizations_p = 1; + if (w->vscroll != old_dy) + { + /* Adjust glyph matrix of the frame if the virtual display + area becomes larger than before. */ + if (w->vscroll < 0 && w->vscroll < old_dy) + adjust_glyphs (f); + + /* Prevent redisplay shortcuts. */ + XBUFFER (w->buffer)->prevent_redisplay_optimizations_p = 1; + } } return Fwindow_vscroll (window, pixels_p); @@ -6653,6 +6693,10 @@ doc: /* *Non-nil means `display-buffer' should make a separate frame. */); pop_up_frames = 0; + DEFVAR_BOOL ("auto-window-vscroll", &auto_window_vscroll_p, + doc: /* *Non-nil means to automatically adjust `window-vscroll' to view tall lines. */); + auto_window_vscroll_p = 1; + DEFVAR_BOOL ("display-buffer-reuse-frames", &display_buffer_reuse_frames, doc: /* *Non-nil means `display-buffer' should reuse frames. If the buffer in question is already displayed in a frame, raise that frame. */);
--- a/src/xdisp.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/xdisp.c Sat Jan 22 21:39:38 2005 +0000 @@ -1246,15 +1246,16 @@ } -/* Return 1 if position CHARPOS is visible in window W. Set *FULLY to - 1 if POS is visible and the line containing POS is fully visible. +/* Return 1 if position CHARPOS is visible in window W. + If visible, set *X and *Y to pixel coordinates of top left corner. + Set *RTOP and *RBOT to pixel height of an invisible area of glyph at POS. EXACT_MODE_LINE_HEIGHTS_P non-zero means compute exact mode-line and header-lines heights. */ int -pos_visible_p (w, charpos, fully, x, y, exact_mode_line_heights_p) - struct window *w; - int charpos, *fully, *x, *y, exact_mode_line_heights_p; +pos_visible_p (w, charpos, x, y, rtop, rbot, exact_mode_line_heights_p) + struct window *w; + int charpos, *x, *y, *rtop, *rbot, exact_mode_line_heights_p; { struct it it; struct text_pos top; @@ -1267,7 +1268,7 @@ set_buffer_internal_1 (XBUFFER (w->buffer)); } - *fully = visible_p = 0; + visible_p = 0; SET_TEXT_POS_FROM_MARKER (top, w->start); /* Compute exact mode line heights, if requested. */ @@ -1298,14 +1299,16 @@ if (top_y < window_top_y) visible_p = bottom_y > window_top_y; else if (top_y < it.last_visible_y) - { visible_p = 1; - *fully = bottom_y <= it.last_visible_y; - } if (visible_p && x) { *x = it.current_x; *y = max (top_y + it.max_ascent - it.ascent, window_top_y); + if (rtop) + { + *rtop = max (0, window_top_y - top_y); + *rbot = max (0, bottom_y - it.last_visible_y); + } } } else if (it.current_y + it.max_ascent + it.max_descent > it.last_visible_y) @@ -1322,6 +1325,11 @@ move_it_to (&it2, charpos, -1, -1, -1, MOVE_TO_POS); *x = it2.current_x; *y = it2.current_y + it2.max_ascent - it2.ascent; + if (rtop) + { + *rtop = 0; + *rbot = max (0, (it2.current_y + it2.max_ascent + it2.max_descent) - it.last_visible_y); + } } } } @@ -4669,51 +4677,52 @@ back_to_previous_visible_line_start (it) struct it *it; { - int visible_p = 0; - - /* Go back one newline if not on BEGV already. */ - if (IT_CHARPOS (*it) > BEGV) - back_to_previous_line_start (it); - - /* Move over lines that are invisible because of selective display - or text properties. */ - while (IT_CHARPOS (*it) > BEGV - && !visible_p) - { - visible_p = 1; + while (IT_CHARPOS (*it) > BEGV) + { + back_to_previous_line_start (it); + if (IT_CHARPOS (*it) <= BEGV) + break; /* If selective > 0, then lines indented more than that values are invisible. */ if (it->selective > 0 && indented_beyond_p (IT_CHARPOS (*it), IT_BYTEPOS (*it), (double) it->selective)) /* iftc */ - visible_p = 0; - else - { - Lisp_Object prop; - - /* Check the newline before point for invisibility. */ - prop = Fget_char_property (make_number (IT_CHARPOS (*it) - 1), + continue; + + /* Check the newline before point for invisibility. */ + { + Lisp_Object prop; + prop = Fget_char_property (make_number (IT_CHARPOS (*it) - 1), Qinvisible, it->window); - if (TEXT_PROP_MEANS_INVISIBLE (prop)) - visible_p = 0; - } - -#if 0 - /* Commenting this out fixes the bug described in - http://www.math.ku.dk/~larsh/emacs/emacs-loops-on-large-images/test-case.txt. */ - if (visible_p) - { - struct it it2 = *it; - - if (handle_display_prop (&it2) == HANDLED_RETURN) - visible_p = 0; - } -#endif - - /* Back one more newline if the current one is invisible. */ - if (!visible_p) - back_to_previous_line_start (it); + if (TEXT_PROP_MEANS_INVISIBLE (prop)) + continue; + } + + /* If newline has a display property that replaces the newline with something + else (image or text), find start of overlay or interval and continue search + from that point. */ + { + struct it it2 = *it; + int pos = IT_CHARPOS (*it); + int beg, end; + Lisp_Object val, overlay; + + if (handle_display_prop (&it2) == HANDLED_RETURN + && !NILP (val = get_char_property_and_overlay + (make_number (pos), Qdisplay, Qnil, &overlay)) + && (OVERLAYP (overlay) + ? (beg = OVERLAY_POSITION (OVERLAY_START (overlay))) + : get_property_and_range (pos, Qdisplay, &val, &beg, &end, Qnil))) + { + if (beg < BEGV) + beg = BEGV; + IT_CHARPOS (*it) = beg; + IT_BYTEPOS (*it) = buf_charpos_to_bytepos (current_buffer, beg); + continue; + } + } + break; } xassert (IT_CHARPOS (*it) >= BEGV); @@ -20751,6 +20760,28 @@ past_end = 1; } + /* If whole rows or last part of a row came from a display overlay, + row_containing_pos will skip over such rows because their end pos + equals the start pos of the overlay or interval. Backtrack if we + have a STOP object and previous row's end glyph came from STOP. */ + if (!NILP (stop)) + { + struct glyph_row *prev = row-1; + while ((prev = row - 1, prev >= first) + && MATRIX_ROW_END_CHARPOS (prev) == charpos + && prev->used[TEXT_AREA] > 0) + { + end = prev->glyphs[TEXT_AREA]; + glyph = end + prev->used[TEXT_AREA]; + while (--glyph >= end + && INTEGERP (glyph->object)); + if (glyph >= end + && !EQ (stop, glyph->object)) + break; + row = prev; + } + } + *x = row->x; *y = row->y; *vpos = MATRIX_ROW_VPOS (row, w->current_matrix); @@ -21212,9 +21243,9 @@ help_echo_pos = charpos; } } - if (NILP (pointer)) - pointer = Fsafe_plist_get (XCDR (object), QCpointer); - } + } + if (NILP (pointer)) + pointer = Fsafe_plist_get (XCDR (object), QCpointer); } if (STRINGP (string))
--- a/src/xterm.c Tue Jan 18 04:50:08 2005 +0000 +++ b/src/xterm.c Sat Jan 22 21:39:38 2005 +0000 @@ -2133,15 +2133,9 @@ struct glyph *last_glyph; XRectangle clip_rect; - last_x = window_box_right (s->w, s->area); - if (s->row->full_width_p - && !s->w->pseudo_window_p) - { - last_x += WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH (s->w); - if (s->area != RIGHT_MARGIN_AREA - || WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (s->w)) - last_x += WINDOW_RIGHT_FRINGE_WIDTH (s->w); - } + last_x = ((s->row->full_width_p && !s->w->pseudo_window_p) + ? WINDOW_RIGHT_EDGE_X (s->w) + : window_box_right (s->w, s->area)); /* The glyph that may have a right box line. */ last_glyph = (s->cmp || s->img @@ -4335,7 +4329,7 @@ } if (part >= 0) - { + { window_being_scrolled = bar->window; last_scroll_bar_part = part; x_send_scroll_bar_event (bar->window, part, portion, whole);