PERFORCE change 129156 for review

John Birrell jb at FreeBSD.org
Fri Nov 16 21:39:45 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=129156

Change 129156 by jb at jb_freebsd1 on 2007/11/17 05:39:39

	IFC

Affected files ...

.. //depot/projects/dtrace/src/ObsoleteFiles.inc#28 integrate
.. //depot/projects/dtrace/src/contrib/less/LICENSE#5 integrate
.. //depot/projects/dtrace/src/contrib/less/Makefile.dsm#4 delete
.. //depot/projects/dtrace/src/contrib/less/NEWS#8 integrate
.. //depot/projects/dtrace/src/contrib/less/README#8 integrate
.. //depot/projects/dtrace/src/contrib/less/ch.c#7 integrate
.. //depot/projects/dtrace/src/contrib/less/command.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/configure#7 integrate
.. //depot/projects/dtrace/src/contrib/less/configure.ac#7 integrate
.. //depot/projects/dtrace/src/contrib/less/decode.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/defines.ds#6 integrate
.. //depot/projects/dtrace/src/contrib/less/defines.h.in#6 integrate
.. //depot/projects/dtrace/src/contrib/less/defines.o2#6 integrate
.. //depot/projects/dtrace/src/contrib/less/defines.o9#6 integrate
.. //depot/projects/dtrace/src/contrib/less/defines.wn#6 integrate
.. //depot/projects/dtrace/src/contrib/less/edit.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/filename.c#7 integrate
.. //depot/projects/dtrace/src/contrib/less/funcs.h#7 integrate
.. //depot/projects/dtrace/src/contrib/less/less.h#7 integrate
.. //depot/projects/dtrace/src/contrib/less/less.man#8 integrate
.. //depot/projects/dtrace/src/contrib/less/less.nro#8 integrate
.. //depot/projects/dtrace/src/contrib/less/lessecho.man#6 integrate
.. //depot/projects/dtrace/src/contrib/less/lessecho.nro#6 integrate
.. //depot/projects/dtrace/src/contrib/less/lesskey.man#8 integrate
.. //depot/projects/dtrace/src/contrib/less/lesskey.nro#8 integrate
.. //depot/projects/dtrace/src/contrib/less/line.c#7 integrate
.. //depot/projects/dtrace/src/contrib/less/optfunc.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/opttbl.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/screen.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/search.c#7 integrate
.. //depot/projects/dtrace/src/contrib/less/tags.c#6 integrate
.. //depot/projects/dtrace/src/contrib/less/version.c#8 integrate
.. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kgdb.h#5 integrate
.. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kthr.c#7 integrate
.. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#5 integrate
.. //depot/projects/dtrace/src/lib/libc/net/Makefile.inc#9 integrate
.. //depot/projects/dtrace/src/lib/libsdp/search.c#4 integrate
.. //depot/projects/dtrace/src/release/Makefile#14 integrate
.. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#13 integrate
.. //depot/projects/dtrace/src/sbin/mdconfig/mdconfig.c#5 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/db_trace.c#8 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/exception.S#5 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/machdep.c#22 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#16 integrate
.. //depot/projects/dtrace/src/sys/dev/an/if_an.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/an/if_anreg.h#4 integrate
.. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#21 integrate
.. //depot/projects/dtrace/src/sys/dev/dc/dcphy.c#5 integrate
.. //depot/projects/dtrace/src/sys/dev/ichwd/ichwd.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/ichwd/ichwd.h#5 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/amphy.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/e1000phy.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/nsphy.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/rlphy.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/tdkphy.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/mii/ukphy_subr.c#5 integrate
.. //depot/projects/dtrace/src/sys/dev/nfe/if_nfe.c#10 integrate
.. //depot/projects/dtrace/src/sys/dev/pci/pci.c#19 integrate
.. //depot/projects/dtrace/src/sys/dev/txp/if_txp.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/ehci_pci.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/uhci_pci.c#5 integrate
.. //depot/projects/dtrace/src/sys/geom/label/g_label_reiserfs.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_kthread.c#7 integrate
.. //depot/projects/dtrace/src/sys/netipsec/keysock.c#8 integrate
.. //depot/projects/dtrace/src/tools/regression/priv/Makefile#5 integrate
.. //depot/projects/dtrace/src/tools/regression/priv/main.c#5 integrate
.. //depot/projects/dtrace/src/tools/regression/priv/main.h#5 integrate
.. //depot/projects/dtrace/src/tools/regression/priv/priv_netinet_ipsec.c#2 integrate
.. //depot/projects/dtrace/src/usr.bin/less/defines.h#6 integrate
.. //depot/projects/dtrace/src/usr.sbin/freebsd-update/freebsd-update.sh#8 integrate

Differences ...

==== //depot/projects/dtrace/src/ObsoleteFiles.inc#28 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.118 2007/11/16 04:03:08 marcel Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -16,6 +16,12 @@
 
 # 20071108: Removed very crunch OLDCARD support file
 OLD_FILES+=etc/defaults/pccard.conf
+# 20071104: Removed bsdlabel, fdisk and gpt from rescue on ia64.
+.if ${TARGET_ARCH} == "ia64"
+OLD_FILES+=rescue/bsdlabel
+OLD_FILES+=rescue/fdisk
+OLD_FILES+=rescue/gpt
+.endif
 # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd
 OLD_FILES+=etc/rc.d/nfslocking
 # 20070930: rename of cached to nscd

==== //depot/projects/dtrace/src/contrib/less/LICENSE#5 (text+ko) ====

@@ -2,7 +2,7 @@
                           ------------
 
 Less
-Copyright (C) 1984-2005  Mark Nudelman
+Copyright (C) 1984-2007  Mark Nudelman
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

==== //depot/projects/dtrace/src/contrib/less/NEWS#8 (text+ko) ====

@@ -13,6 +13,17 @@
 ======================================================================
 
 
+	Major changes between "less" versions 409 and 415
+
+* New --follow-name option makes F command follow the name of a file
+  rather than the file descriptor if an open file is renamed.
+
+* Make searching with -i/-I work correctly with non-ASCII text.
+
+* Fix DJGPP build.
+
+======================================================================
+
 	Major changes between "less" versions 406 and 409
 
 * Support CSI escape sequences, like SGR escape sequences.
@@ -698,3 +709,4 @@
 
 
 
+

==== //depot/projects/dtrace/src/contrib/less/README#8 (text+ko) ====

@@ -1,7 +1,7 @@
 
-                            Less, version 409
+                            Less, version 415
 
-    This is the distribution of less, version 409, released 12 Oct 2007.
+    This is the distribution of less, version 415, released 15 Nov 2007.
     This program is part of the GNU project (http://www.gnu.org).
 
     This program is free software.  You may redistribute it and/or

==== //depot/projects/dtrace/src/contrib/less/ch.c#7 (text+ko) ====

@@ -21,6 +21,12 @@
 #include <windows.h>
 #endif
 
+#if HAVE_STAT_INO
+#include <sys/stat.h>
+extern dev_t curr_dev;
+extern ino_t curr_ino;
+#endif
+
 typedef POSITION BLOCKNUM;
 
 public int ignore_eoi;
@@ -98,6 +104,8 @@
 extern int autobuf;
 extern int sigs;
 extern int secure;
+extern int screen_trashed;
+extern int follow_mode;
 extern constant char helpdata[];
 extern constant int size_helpdata;
 extern IFILE curr_ifile;
@@ -195,7 +203,7 @@
 		 */
 		if (!(ch_flags & CH_CANSEEK))
 			return ('?');
-		if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK)
+		if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK)
 		{
  			error("seek error", NULL_PARG);
 			clear_eol();
@@ -276,6 +284,25 @@
 #endif
 #endif
 			slept = TRUE;
+
+#if HAVE_STAT_INO
+			if (follow_mode == FOLLOW_NAME)
+			{
+				/* See whether the file's i-number has changed.
+				 * If so, force the file to be closed and
+				 * reopened. */
+				struct stat st;
+				int r = stat(get_filename(curr_ifile), &st);
+				if (r == 0 && (st.st_ino != curr_ino ||
+					st.st_dev != curr_dev))
+				{
+					/* screen_trashed=2 causes
+					 * make_display to reopen the file. */
+					screen_trashed = 2;
+					return (EOI);
+				}
+			}
+#endif
 		}
 		if (sigs)
 			return (EOI);
@@ -648,7 +675,7 @@
 	}
 #endif
 
-	if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK)
+	if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK)
 	{
 		/*
 		 * Warning only; even if the seek fails for some reason,
@@ -711,7 +738,7 @@
 	while (ch_bufhead != END_OF_CHAIN)
 	{
 		bp = ch_bufhead;
-		bp->next->prev = bp->prev;;
+		bp->next->prev = bp->prev;
 		bp->prev->next = bp->next;
 		free(bp);
 	}
@@ -737,7 +764,7 @@
 		return (0);
 	}
 #endif
-	return (lseek(f, (off_t)1, 0) != BAD_LSEEK);
+	return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK);
 }
 
 /*

==== //depot/projects/dtrace/src/contrib/less/command.c#6 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -558,6 +558,21 @@
 }
 
 /*
+ * Discard any buffered file data.
+ */
+	static void
+clear_buffers()
+{
+	if (!(ch_getflags() & CH_CANSEEK))
+		return;
+	ch_flush();
+	clr_linenum();
+#if HILITE_SEARCH
+	clr_hilite();
+#endif
+}
+
+/*
  * Make sure the screen is displayed.
  */
 	static void
@@ -580,11 +595,20 @@
 			jump_loc(initial_scrpos.pos, initial_scrpos.ln);
 	} else if (screen_trashed)
 	{
-		int save_top_scroll;
-		save_top_scroll = top_scroll;
+		int save_top_scroll = top_scroll;
+		int save_ignore_eoi = ignore_eoi;
 		top_scroll = 1;
+		ignore_eoi = 0;
+		if (screen_trashed == 2)
+		{
+			/* Special case used by ignore_eoi: re-open the input file
+			 * and jump to the end of the file. */
+			reopen_curr_ifile();
+			jump_forw();
+		}
 		repaint();
 		top_scroll = save_top_scroll;
+		ignore_eoi = save_ignore_eoi;
 	}
 }
 
@@ -1115,7 +1139,10 @@
 			ignore_eoi = 1;
 			hit_eof = 0;
 			while (!sigs)
+			{
+				make_display();
 				forward(1, 0, 0);
+			}
 			ignore_eoi = 0;
 			/*
 			 * This gets us back in "F mode" after processing 
@@ -1154,14 +1181,7 @@
 			 * Flush buffers, then repaint screen.
 			 * Don't flush the buffers on a pipe!
 			 */
-			if (ch_getflags() & CH_CANSEEK)
-			{
-				ch_flush();
-				clr_linenum();
-#if HILITE_SEARCH
-				clr_hilite();
-#endif
-			}
+			clear_buffers();
 			/* FALLTHRU */
 		case A_REPAINT:
 			/*
@@ -1263,7 +1283,8 @@
 /*
  * Define abbreviation for a commonly used sequence below.
  */
-#define	DO_SEARCH()	if (number <= 0) number = 1;	\
+#define	DO_SEARCH() \
+			if (number <= 0) number = 1;	\
 			mca_search();			\
 			cmd_exec();			\
 			multi_search((char *)NULL, (int) number);

==== //depot/projects/dtrace/src/contrib/less/configure#7 (text+ko) ====

@@ -3611,6 +3611,73 @@
 
 
 # Checks for general libraries.
+{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5
+echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; }
+if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltinfo  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgoto ();
+int
+main ()
+{
+return tgoto ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_tinfo_tgoto=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_tinfo_tgoto=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgoto" >&5
+echo "${ECHO_T}$ac_cv_lib_tinfo_tgoto" >&6; }
+if test $ac_cv_lib_tinfo_tgoto = yes; then
+  have_tinfo=yes
+else
+  have_tinfo=no
+fi
+
 { echo "$as_me:$LINENO: checking for initscr in -lxcurses" >&5
 echo $ECHO_N "checking for initscr in -lxcurses... $ECHO_C" >&6; }
 if test "${ac_cv_lib_xcurses_initscr+set}" = set; then
@@ -4246,6 +4313,61 @@
 fi
 
 if test $curses_broken = 0; then
+
+# -- Try tinfo.
+if test "x$TERMLIBS" = x; then
+  if test $have_tinfo = yes; then
+    TERMLIBS="-ltinfo"
+    SAVE_LIBS=$LIBS
+    LIBS="$LIBS $TERMLIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  termok=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	termok=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+    LIBS=$SAVE_LIBS
+    if test $termok = no; then TERMLIBS=""; fi
+  fi
+fi
+
 # -- Try xcurses.
 if test "x$TERMLIBS" = x; then
   if test $have_xcurses = yes; then
@@ -4895,7 +5017,8 @@
 
 
 
-for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h
+
+for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -5448,6 +5571,10 @@
 
 
 
+
+
+
+
 # Checks for identifiers.
 { echo "$as_me:$LINENO: checking for off_t" >&5
 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
@@ -5656,7 +5783,56 @@
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: checking for st_ino in struct stat" >&5
+echo $ECHO_N "checking for st_ino in struct stat... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+int
+main ()
+{
+struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_STAT_INO 1
+_ACEOF
 
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 # Checks for library functions.
 { echo "$as_me:$LINENO: checking return type of signal handlers" >&5
 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
@@ -6515,6 +6691,7 @@
 
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
+
 { echo "$as_me:$LINENO: checking for ctype functions" >&5
 echo $ECHO_N "checking for ctype functions... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
@@ -6569,6 +6746,57 @@
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
+{ echo "$as_me:$LINENO: checking for wctype functions" >&5
+echo $ECHO_N "checking for wctype functions... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <wctype.h>
+int
+main ()
+{
+iswlower(0); iswupper(0); towlower(0); towupper(0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_WCTYPE 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
 # Checks for external variable ospeed in the termcap library.
 have_ospeed=no
 { echo "$as_me:$LINENO: checking termcap for ospeed" >&5

==== //depot/projects/dtrace/src/contrib/less/configure.ac#7 (text+ko) ====

@@ -23,6 +23,7 @@
 AC_SYS_LARGEFILE
 
 # Checks for general libraries.
+AC_CHECK_LIB(tinfo, tgoto, [have_tinfo=yes], [have_tinfo=no])
 AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no])
 AC_CHECK_LIB(ncursesw, initscr, [have_ncursesw=yes], [have_ncursesw=no])
 AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
@@ -51,6 +52,20 @@
 fi
 
 if test $curses_broken = 0; then
+
+# -- Try tinfo.
+if test "x$TERMLIBS" = x; then
+  if test $have_tinfo = yes; then
+    TERMLIBS="-ltinfo"
+    SAVE_LIBS=$LIBS
+    LIBS="$LIBS $TERMLIBS"
+    AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+      [termok=yes], [termok=no])
+    LIBS=$SAVE_LIBS
+    if test $termok = no; then TERMLIBS=""; fi
+  fi
+fi
+
 # -- Try xcurses.
 if test "x$TERMLIBS" = x; then
   if test $have_xcurses = yes; then
@@ -154,7 +169,7 @@
 
 # Checks for header files.
 AC_HEADER_STDC
-AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h])
+AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_HEADER_STAT
@@ -182,6 +197,8 @@
 	[Define HAVE_VOID if your compiler supports the "void" type.])
 AH_TEMPLATE([HAVE_CONST],
 	[Define HAVE_CONST if your compiler supports the "const" modifier.])
+AH_TEMPLATE([HAVE_STAT_INO],
+	[Define HAVE_STAT_INO if your struct stat has st_ino and st_dev.])
 AH_TEMPLATE([HAVE_TIME_T],
 	[Define HAVE_TIME_T if your system supports the "time_t" type.])
 AH_TEMPLATE([HAVE_STRERROR],
@@ -204,6 +221,8 @@
 	[Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr.])
 AH_TEMPLATE([HAVE_UPPER_LOWER],
 	[Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower.])
+AH_TEMPLATE([HAVE_WCTYPE],
+	[Define HAVE_WCTYPE if you have iswupper, iswlower, towupper, towlower.])
 AH_TEMPLATE([HAVE_SIGSET_T],
 	[Define HAVE_SIGSET_T you have the sigset_t type.])
 AH_TEMPLATE([HAVE_SIGEMPTYSET],
@@ -224,6 +243,11 @@
 AC_MSG_CHECKING(for time_t)
 AC_TRY_COMPILE([#include <time.h>], [time_t t = 0;],
   [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)], [AC_MSG_RESULT(no)])
+AC_MSG_CHECKING(for st_ino in struct stat)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/stat.h>],
+  [struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino;],
+  [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STAT_INO)], [AC_MSG_RESULT(no)])
 
 # Checks for library functions.
 AC_TYPE_SIGNAL
@@ -307,6 +331,7 @@
 #include <ctype.h>
 #include <langinfo.h>], [setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);],
   [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)], [AC_MSG_RESULT(no)])
+
 AC_MSG_CHECKING(for ctype functions)
 AC_TRY_LINK([
 #if HAVE_CTYPE_H
@@ -314,6 +339,10 @@
 #endif], [static int x; x = isupper(x); x = tolower(x); x = toupper(x);],
   [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)], [AC_MSG_RESULT(no)])
 
+AC_MSG_CHECKING(for wctype functions)
+AC_TRY_LINK([#include <wctype.h>], [iswlower(0); iswupper(0); towlower(0); towupper(0);],
+  [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_WCTYPE)], [AC_MSG_RESULT(no)])
+
 # Checks for external variable ospeed in the termcap library.
 have_ospeed=no
 AC_MSG_CHECKING(termcap for ospeed)

==== //depot/projects/dtrace/src/contrib/less/decode.c#6 (text+ko) ====

@@ -682,7 +682,7 @@
 		close(f);
 		return (-1);
 	}
-	if (lseek(f, (off_t)0, 0) == BAD_LSEEK)
+	if (lseek(f, (off_t)0, SEEK_SET) == BAD_LSEEK)
 	{
 		free(buf);
 		close(f);

==== //depot/projects/dtrace/src/contrib/less/defines.ds#6 (text+ko) ====

@@ -313,6 +313,9 @@
 /* Define if you have the <ctype.h> header file.  */
 #define HAVE_CTYPE_H 1
 
+/* Define if you have the <wctype.h> header file.  */
+#define HAVE_WCTYPE_H 0
+
 /* Define if you have the <errno.h> header file.  */
 #define HAVE_ERRNO_H 1
 

==== //depot/projects/dtrace/src/contrib/less/defines.h.in#6 (text+ko) ====

@@ -282,6 +282,9 @@
 /* Define to 1 if you have the `stat' function. */
 #undef HAVE_STAT
 
+/* Define HAVE_STAT_INO if your struct stat has st_ino and st_dev. */
+#undef HAVE_STAT_INO
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
@@ -351,6 +354,12 @@
 /* Define HAVE_VOID if your compiler supports the "void" type. */
 #undef HAVE_VOID
 
+/* Define HAVE_WCTYPE if you have iswupper, iswlower, towupper, towlower. */
+#undef HAVE_WCTYPE
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#undef HAVE_WCTYPE_H
+
 /* Define to 1 if you have the `_setjmp' function. */
 #undef HAVE__SETJMP
 

==== //depot/projects/dtrace/src/contrib/less/defines.o2#6 (text+ko) ====

@@ -279,6 +279,9 @@
 /* Define if you have the <ctype.h> header file.  */
 #define HAVE_CTYPE_H 1
 
+/* Define if you have the <wctype.h> header file.  */
+#define HAVE_WCTYPE_H 0
+
 /* Define if you have the <errno.h> header file.  */
 #define HAVE_ERRNO_H 1
 

==== //depot/projects/dtrace/src/contrib/less/defines.o9#6 (text+ko) ====

@@ -287,6 +287,9 @@
 /* Define if you have the <ctype.h> header file.  */
 #define HAVE_CTYPE_H 1
 
+/* Define if you have the <wctype.h> header file.  */
+#define HAVE_WCTYPE_H 0
+
 /* Define if you have the <errno.h> header file.  */
 #define HAVE_ERRNO_H 1
 

==== //depot/projects/dtrace/src/contrib/less/defines.wn#6 (text+ko) ====

@@ -277,6 +277,9 @@
 /* Define if you have the <ctype.h> header file.  */
 #define HAVE_CTYPE_H 1
 
+/* Define if you have the <wctype.h> header file.  */
+#define HAVE_WCTYPE_H 1
+
 /* Define if you have the <errno.h> header file.  */
 #define HAVE_ERRNO_H 1
 

==== //depot/projects/dtrace/src/contrib/less/edit.c#6 (text+ko) ====

@@ -10,6 +10,9 @@
 
 
 #include "less.h"
+#if HAVE_STAT
+#include <sys/stat.h>
+#endif
 
 public int fd0 = 0;
 
@@ -36,6 +39,11 @@
 extern char *namelogfile;
 #endif
 
+#if HAVE_STAT_INO
+public dev_t curr_dev;
+public ino_t curr_ino;
+#endif
+
 char *curr_altfilename = NULL;
 static void *curr_altpipe;
 
@@ -178,6 +186,9 @@
 		curr_altfilename = NULL;
 	}
 	curr_ifile = NULL_IFILE;
+#if HAVE_STAT_INO
+	curr_ino = curr_dev = 0;
+#endif
 }
 
 /*
@@ -360,7 +371,6 @@
 			}
 		}
 	}
-	free(qopen_filename);
 
 	/*
 	 * Get the new ifile.
@@ -385,10 +395,23 @@
 		if (namelogfile != NULL && is_tty)
 			use_logfile(namelogfile);
 #endif
+#if HAVE_STAT_INO
+		/* Remember the i-number and device of the opened file. */
+		{
+			struct stat statbuf;
+			int r = stat(qopen_filename, &statbuf);
+			if (r == 0)
+			{
+				curr_ino = statbuf.st_ino;
+				curr_dev = statbuf.st_dev;
+			}
+		}
+#endif
 		if (every_first_cmd != NULL)
 			ungetsc(every_first_cmd);
 	}
 
+	free(qopen_filename);
 	no_display = !any_display;
 	flush();
 	any_display = TRUE;
@@ -657,6 +680,14 @@
 	quit(QUIT_ERROR);
 }
 
+	public void
+reopen_curr_ifile()
+{
+	IFILE save_ifile = save_curr_ifile();
+	close_file();
+	reedit_ifile(save_ifile);
+}
+
 /*
  * Edit standard input.
  */
@@ -747,7 +778,7 @@
 		 * Append: open the file and seek to the end.
 		 */
 		logfile = open(filename, OPEN_APPEND);
-		if (lseek(logfile, (off_t)0, 2) == BAD_LSEEK)
+		if (lseek(logfile, (off_t)0, SEEK_END) == BAD_LSEEK)
 		{
 			close(logfile);
 			logfile = -1;

==== //depot/projects/dtrace/src/contrib/less/filename.c#7 (text+ko) ====

@@ -476,7 +476,7 @@
 
 	if (!seekable(f))
 		return (0);
-	if (lseek(f, (off_t)0, 0) == BAD_LSEEK)
+	if (lseek(f, (off_t)0, SEEK_SET) == BAD_LSEEK)
 		return (0);
 	n = read(f, data, sizeof(data));
 	for (i = 0;  i < n;  i++)
@@ -505,7 +505,7 @@
 {
 	off_t spos;
 
-	spos = lseek(f, (off_t)0, 2);
+	spos = lseek(f, (off_t)0, SEEK_END);
 	if (spos == BAD_LSEEK)
 		return (NULL_POSITION);
 	return ((POSITION) spos);

==== //depot/projects/dtrace/src/contrib/less/funcs.h#7 (text+ko) ====

@@ -104,6 +104,7 @@
 	public IFILE save_curr_ifile ();
 	public void unsave_ifile ();
 	public void reedit_ifile ();
+	public void reopen_curr_ifile ();
 	public int edit_stdin ();
 	public void cat_file ();
 	public void use_logfile ();

==== //depot/projects/dtrace/src/contrib/less/less.h#7 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/less.h,v 1.8 2007/10/08 16:17:42 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/less.h,v 1.9 2007/11/16 22:24:31 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -72,6 +72,9 @@
 #if HAVE_CTYPE_H
 #include <ctype.h>
 #endif
+#if HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
 #if HAVE_LIMITS_H
 #include <limits.h>
 #endif
@@ -126,16 +129,23 @@
 #undef IS_SPACE
 #undef IS_DIGIT
 
-#if !HAVE_UPPER_LOWER
-#define	IS_UPPER(c)	ASCII_IS_UPPER(c)
-#define	IS_LOWER(c)	ASCII_IS_LOWER(c)
-#define	TO_UPPER(c)	ASCII_TO_UPPER(c)
-#define	TO_LOWER(c)	ASCII_TO_LOWER(c)
+#if HAVE_WCTYPE
+#define	IS_UPPER(c)	iswupper(c)
+#define	IS_LOWER(c)	iswlower(c)
+#define	TO_UPPER(c)	towupper(c)
+#define	TO_LOWER(c)	towlower(c)
 #else
+#if HAVE_UPPER_LOWER
 #define	IS_UPPER(c)	isupper((unsigned char) (c))
 #define	IS_LOWER(c)	islower((unsigned char) (c))
 #define	TO_UPPER(c)	toupper((unsigned char) (c))
 #define	TO_LOWER(c)	tolower((unsigned char) (c))
+#else
+#define	IS_UPPER(c)	ASCII_IS_UPPER(c)
+#define	IS_LOWER(c)	ASCII_IS_LOWER(c)
+#define	TO_UPPER(c)	ASCII_TO_UPPER(c)
+#define	TO_LOWER(c)	ASCII_TO_LOWER(c)
+#endif
 #endif
 
 #ifdef isspace
@@ -188,6 +198,13 @@
 
 #define	BAD_LSEEK	((off_t)-1)
 
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+#ifndef SEEK_END
+#define SEEK_END 2
+#endif
+
 #ifndef CHAR_BIT
 #define CHAR_BIT 8
 #endif
@@ -458,6 +475,9 @@
 #define	QUIT_ERROR	1
 #define	QUIT_SAVED_STATUS (-1)
 
+#define FOLLOW_DESC     0
+#define FOLLOW_NAME     1
+
 /* filestate flags */
 #define	CH_CANSEEK	001
 #define	CH_KEEPOPEN	002

==== //depot/projects/dtrace/src/contrib/less/less.man#8 (text+ko) ====

@@ -750,40 +750,35 @@
               deinitialization  string does something unnecessary, like clear-
               ing the screen.
 
-       --no-keypad
-              Disables sending the keypad initialization and  deinitialization
-              strings to the terminal.  This is sometimes useful if the keypad
-              strings make the numeric keypad behave in an undesirable manner.
-

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list