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