summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2012-12-10 23:23:50 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2012-12-10 23:23:50 (GMT)
commitc1784e6b4c9a0008544f33c672e1af223e09ae29 (patch)
tree70bc77c19aa47bec62ef9cece09fb045d647b65e
parent15f02f424cbc25390850f6be03592853eab1fa8b (diff)
downloadtcl-c1784e6b4c9a0008544f33c672e1af223e09ae29.zip
tcl-c1784e6b4c9a0008544f33c672e1af223e09ae29.tar.gz
tcl-c1784e6b4c9a0008544f33c672e1af223e09ae29.tar.bz2
Improve the generation of HTML documentation in 8.6, allowing for contributed
packages whose non-version name parts are prefixes of others. Also ensure that documentation builds are complete after distribution, and that we generate a better error message when using the wrong tclsh version to do the build.
-rw-r--r--ChangeLog29
-rwxr-xr-xtools/tcltk-man2html.tcl22
-rw-r--r--unix/Makefile.in3
3 files changed, 37 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 9c42929..9beccc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,23 @@
+2012-12-10 Donal K. Fellows <dkf@users.sf.net>
+
+ * tools/tcltk-man2html.tcl (plus-pkgs): Increased robustness of
+ version number detection code to deal with packages whose names are
+ prefixes of other packages.
+ * unix/Makefile.in (dist): Added pkgs/package.list.txt to distribution
+ builds to ensure that 'make html' will work better.
+
2012-12-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tests/chan.test: Clean up unwanted eofchar side-effect of
- chan-4.6 leading to a spurious "'" at end of chan.test under
- certain conditions (see [Bug 3389289] and [Bug 3389251]).
- * doc/expr.n: [Bug 3594188] Clarifications about commas.
+
+ * tests/chan.test: Clean up unwanted eofchar side-effect of chan-4.6
+ leading to a spurious "'" at end of chan.test under certain conditions
+ (see [Bug 3389289] and [Bug 3389251]).
+
+ * doc/expr.n: [Bug 3594188]: Clarifications about commas.
2012-12-08 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
* generic/tclIO.c: Fix busyloop at exit under TCL_FINALIZE_ON_EXIT
- when there are unflushed nonblocking channels. Thanks Miguel for
+ when there are unflushed nonblocking channels. Thanks Miguel for
spotting.
2012-12-07 Jan Nijtmans <nijtmans@users.sf.net>
@@ -24,10 +35,10 @@
2012-11-26 Reinhard Max <max@suse.de>
* unix/tclUnixSock.c: Factor out creation of the -sockname and
- -peername lists from TcpGetOptionProc() to TcpHostPortList().
- Make it robust against implementations of getnameinfo() that error
- out if reverse mapping fails instead of falling back to the
- numeric representation.
+ -peername lists from TcpGetOptionProc() to TcpHostPortList(). Make it
+ robust against implementations of getnameinfo() that error out if
+ reverse mapping fails instead of falling back to the numeric
+ representation.
2012-11-20 Donal K. Fellows <dkf@users.sf.net>
diff --git a/tools/tcltk-man2html.tcl b/tools/tcltk-man2html.tcl
index 665a1d4..270a774 100755
--- a/tools/tcltk-man2html.tcl
+++ b/tools/tcltk-man2html.tcl
@@ -1,6 +1,12 @@
#!/usr/bin/env tclsh
-package require Tcl 8.6
+if {[catch {package require Tcl 8.6} msg]} {
+ puts stderr "ERROR: $msg"
+ puts stderr "If running this script from 'make html', set the\
+ NATIVE_TCLSH environment\nvariable to point to an installed\
+ tclsh8.6 (or the equivalent tclsh86.exe\non Windows)."
+ exit 1
+}
# Convert Ousterhout format man pages into highly crosslinked hypertext.
#
@@ -16,7 +22,7 @@ package require Tcl 8.6
# Copyright (c) 1995-1997 Roger E. Critchlow Jr
# Copyright (c) 2004-2010 Donal K. Fellows
-regexp {\d+\.\d+} {$Revision: 1.49 $} ::Version
+set ::Version "50/8.6"
set ::CSSFILE "docs.css"
##
@@ -454,16 +460,18 @@ proc plus-pkgs {type args} {
}
if {!$build_tcl} return
set result {}
+ set pkgsdir $tcltkdir/$tcldir/pkgs
foreach {dir name} $args {
- set globpat $tcltkdir/$tcldir/pkgs/$dir*/doc/*.$type
- if {![llength [glob -nocomplain $globpat]]} {
+ set globpat $pkgsdir/{$dir,$dir\[0-9\]*}/doc/*.$type
+ if {![llength [glob -type f -nocomplain $globpat]]} {
# Fallback for manpages generated using doctools
- set globpat $tcltkdir/$tcldir/pkgs/$dir*/doc/man/*.$type
- if {![llength [glob -nocomplain $globpat]]} {
+ set globpat $pkgsdir/{$dir,$dir\[0-9\]*}/doc/man/*.$type
+ if {![llength [glob -type f -nocomplain $globpat]]} {
continue
}
}
- regexp "pkgs/${dir}(.*)/doc$" [glob $tcltkdir/$tcldir/pkgs/$dir*/doc] \
+ regexp "pkgs/${dir}(.*)/doc$" \
+ [lindex [glob -type d $pkgsdir/{$dir,$dir\[0-9\]*}/doc] 0] \
-> version
switch $type {
n {
diff --git a/unix/Makefile.in b/unix/Makefile.in
index df05759..680d4ce 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -2019,7 +2019,8 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in $(M
cp -p $(TOMMATH_SRCS) $(TOMMATH_DIR)/*.h \
$(DISTDIR)/libtommath
mkdir $(DISTDIR)/pkgs
- cp $(TOP_DIR)/pkgs/README $(DISTDIR)/pkgs
+ cp $(TOP_DIR)/pkgs/README $(TOP_DIR)/pkgs/package.list.txt \
+ $(DISTDIR)/pkgs
for i in `ls $(DISTROOT)/pkgs/*.tar.gz 2> /dev/null`; do \
tar -C $(DISTDIR)/pkgs -xzf "$$i"; \
done