From 1fd0d49657b9af0047787c47691bfb3773a8ef97 Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 19 Feb 2010 13:41:49 +0000 Subject: [Tcl Bug 2954638]: Correct behaviour of manual page installer. Also added armouring to check that assumptions about the initial state are actually valid (e.g., look for existing input file). FossilOrigin-Name: d9d97ec4d9237ca6cb9ced72751139a4cf81b3c4 --- ChangeLog | 253 +++++++++++++++++++++++++++------------------------- unix/installManPage | 133 ++++++++++++++++++--------- xlib/xutil.c | 3 +- 3 files changed, 221 insertions(+), 168 deletions(-) diff --git a/ChangeLog b/ChangeLog index 94bc6c0..813bb95 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,139 +1,144 @@ +2010-02-19 Donal K. Fellows + + * unix/installManPage: [Tcl Bug 2954638]: Correct behaviour of manual + page installer. Also added armouring to check that assumptions about + the initial state are actually valid (e.g., look for existing input + file). + 2010-02-19 Stuart Cassoff - * tcl.m4: Correct compiler/linker flags - for threaded builds on OpenBSD. + * tcl.m4: Correct compiler/linker flags for threaded builds on + OpenBSD. * configure: (regenerated). 2010-02-18 Jan Nijtmans - * generic/tkButton.h Put all Tk_OptionSpec for buttons and labels - * generic/tkButton.c in const memory. With some changes to win32 - * win/tkWinButton.c and macosx, preventing direct writes to - * unix/tkUnixPort.h read-only memory. - * carbon/tkMacOSXPort.h - * macosx/tkMacOSXButton.c + * generic/tkButton.h: Put all Tk_OptionSpec for buttons and labels + * generic/tkButton.c: in const memory. With some changes to win32 + * win/tkWinButton.c: and macosx, preventing direct writes to + * unix/tkUnixPort.h: read-only memory. + * carbon/tkMacOSXPort.h: + * macosx/tkMacOSXButton.c: 2010-02-17 Joe English - * generic/tkMenu.c: Defer TkMenuOptionTables cleanup - to CallWhenDeleted() time, to ensure that the record - doesn't get freed until after all widget instance commands - have been deleted (Fixes [Bug#2952745]). + * generic/tkMenu.c: [Bug 2952745]: Defer TkMenuOptionTables cleanup to + CallWhenDeleted() time, to ensure that the record doesn't get freed + until after all widget instance commands have been deleted. 2010-02-17 Jan Nijtmans - * generic/tk.decls CONSTify everything related to Tk_ConfigSpec - * generic/tk.h - * generic/tkCanvArc.c Many tables can now be put in const memory - * generic/tkCanvas.c - * generic/tkCanvBmap.c - * generic/tkCanvImg.c - * generic/tkCanvLine.c - * generic/tkCanvPoly.c - * generic/tkCanvPs.c - * generic/tkCanvText.c - * generic/tkCanvWind.c - * generic/tkImgBmap.c - * generic/tkImgPhoto.c - * generic/tkOldConfig.c - * generic/tkRectOval.c - * generic/tkScrollbar.c - * generic/tkScrollbar.h - * generic/tkDecls.h (regenerated) - * doc/CanvTkwin.3 - * doc/ConfigWidg.3 - * doc/CrtItemType.3 - * win/tkWinScrlbr.c - * carbon/tkMacOSXScrlbr.c - * macosx/tkMacOSXScrlbr.c + * generic/tk.decls: CONSTify everything related to Tk_ConfigSpec + * generic/tk.h: + * generic/tkCanvArc.c: Many tables can now be put in const memory + * generic/tkCanvas.c: + * generic/tkCanvBmap.c: + * generic/tkCanvImg.c: + * generic/tkCanvLine.c: + * generic/tkCanvPoly.c: + * generic/tkCanvPs.c: + * generic/tkCanvText.c: + * generic/tkCanvWind.c: + * generic/tkImgBmap.c: + * generic/tkImgPhoto.c: + * generic/tkOldConfig.c: + * generic/tkRectOval.c: + * generic/tkScrollbar.c: + * generic/tkScrollbar.h: + * generic/tkDecls.h: (regenerated) + * doc/CanvTkwin.3: + * doc/ConfigWidg.3: + * doc/CrtItemType.3: + * win/tkWinScrlbr.c: + * carbon/tkMacOSXScrlbr.c: + * macosx/tkMacOSXScrlbr.c: 2010-02-16 Jan Nijtmans - * generic/tkWindow.c Reverted rename from tkStubs to tkConstStubs - * generic/tkStubInit.c (regenerated) - * generic/tkArgv.c make defaultTable const - * generic/tkScrollbar.c Store default for "-with" in static non-const space - * win/tkWinInt.h make tkWinProcs const, and 5 - * win/tkWinX.c procs MODULE_SCOPE - * win/tkWinColor.c make sysColors const - * win/tkWinKey.c make keymap const - * win/tkWinScrlbr.c Simplify copying of "-with" default value. - * unix/tkUnixWm.c make TkSetTransientFor static - * tests/textImage.test textImage-1.13 depends on hash-order + * generic/tkWindow.c: Reverted rename from tkStubs to tkConstStubs + * generic/tkStubInit.c: (regenerated) + * generic/tkArgv.c: make defaultTable const + * generic/tkScrollbar.c:Store default for "-with" in static non-const + space + * win/tkWinInt.h: Make tkWinProcs const, and 5 procs + * win/tkWinX.c: MODULE_SCOPE. + * win/tkWinColor.c: Make sysColors const. + * win/tkWinKey.c: Make keymap const. + * win/tkWinScrlbr.c: Simplify copying of "-with" default value. + * unix/tkUnixWm.c: Make TkSetTransientFor static. + * tests/textImage.test: textImage-1.13 depends on hash-order 2010-02-12 Jan Nijtmans - * win/tcl.m4 use -pipe for gcc on win32 - * win/configure (mingw/cygwin) (regenerated) - * unix/tkUnixColor.c make sure that TkpCmapStressed is exported - * generic/tkImgPhoto.c clean up unused Tk_CreatePhotoOption - * generic/tkBind.c Make more internal arrays "const" - * generic/tkBusy.c | - * generic/tkButton.c - * generic/tkEvent.c - * generic/tkGrab.c - * generic/tkImgBmap.c - * generic/tkObj.c - * generic/tkOption.c - * generic/tkPanedWindow.c - * generic/tkPointer.c - * generic/tkWindow.c - * generic/tkImgPhoto.c Eliminate never used Tk_CreatePhotoOption() + * win/tcl.m4: Use -pipe for gcc on win32 + * win/configure: (mingw/cygwin) (regenerated) + * unix/tkUnixColor.c: Make sure that TkpCmapStressed is exported + * generic/tkImgPhoto.c: Clean up unused Tk_CreatePhotoOption + * generic/tkBind.c: Make more internal arrays "const" + * generic/tkBusy.c: + * generic/tkButton.c: + * generic/tkEvent.c: + * generic/tkGrab.c: + * generic/tkImgBmap.c: + * generic/tkObj.c: + * generic/tkOption.c: + * generic/tkPanedWindow.c: + * generic/tkPointer.c: + * generic/tkWindow.c: + * generic/tkImgPhoto.c: Eliminate never used Tk_CreatePhotoOption() 2010-02-05 Jan Nijtmans - * carbon/tkMacOSXDialog.c Make more internal - * macosx/tkMacOSXDialog.c tables "const" - * unix/tkUnixButton.c - * unix/tkUnixWm.c - * win/tkWinDialog.c - * generic/tkWindow.c - * generic/tk*Decls.h (regenerated with new - * generic/tkStubInit.c genStubs.tcl from Tcl) + * carbon/tkMacOSXDialog.c: Make more internal tables "const" + * macosx/tkMacOSXDialog.c: + * unix/tkUnixButton.c: + * unix/tkUnixWm.c: + * win/tkWinDialog.c: + * generic/tkWindow.c: + * generic/tk*Decls.h: (regenerated with new + * generic/tkStubInit.c: genStubs.tcl from Tcl) 2010-02-05 Joe English - * generic/ttk/*.[ch]: Revert contravariant const qualifiers added - by the previous commit to keep codebase in sync with the Tile - extension, which must remain 8.4 compatible. + * generic/ttk/*.[ch]: Revert contravariant const qualifiers added by + the previous commit to keep codebase in sync with the Tile extension, + which must remain 8.4 compatible. 2010-02-05 Jan Nijtmans * generic/ttk/ttkGenStubs.tcl: Follow-up to [2010-01-29] commit: - prevent space within stub table function parameters - if the parameter type is a pointer. Make the - various stub tables and hook pointers const, - just as Tcl and Tk. - * generic/ttk/ttkDecls.h (regenerated) - * generic/ttk/ttkStubInit.c (regenerated) - * generic/ttk/ttk.decls Minor formatting - * generic/ttk/ttkButton.c Make more internal tables "const" - * generic/ttk/ttkDefaultTheme.c - * generic/ttk/ttkEntry.c - * generic/ttk/ttkImage.c - * generic/ttk/ttkInit.c - * generic/ttk/ttkLayout.c - * generic/ttk/ttkNotebook.c - * generic/ttk/ttkPanedWindow.c - * generic/ttk/ttkProgress.c - * generic/ttk/ttkStubLib.c - * generic/ttk/ttkTheme.c - * generic/ttk/ttkTreeview.c - * generic/ttk/ttkWidget.c - * generic/ttk/ttkWidget.h + prevent space within stub table function parameters if the + parameter type is a pointer. Make the various stub tables and + hook pointers const, just as Tcl and Tk. + * generic/ttk/ttkDecls.h: (regenerated) + * generic/ttk/ttkStubInit.c: (regenerated) + * generic/ttk/ttk.decls: Minor formatting + * generic/ttk/ttkButton.c: Make more internal tables "const" + * generic/ttk/ttkDefaultTheme.c: + * generic/ttk/ttkEntry.c: + * generic/ttk/ttkImage.c: + * generic/ttk/ttkInit.c: + * generic/ttk/ttkLayout.c: + * generic/ttk/ttkNotebook.c: + * generic/ttk/ttkPanedWindow.c: + * generic/ttk/ttkProgress.c: + * generic/ttk/ttkStubLib.c: + * generic/ttk/ttkTheme.c: + * generic/ttk/ttkTreeview.c: + * generic/ttk/ttkWidget.c: + * generic/ttk/ttkWidget.h: 2010-01-31 Joe English - * generic/ttk/ttkTheme.h, generic/ttk/ttkWidget.h, - generic/ttk/*.c: Change signature of widget subcommand - procedures to match Tcl_ObjCmdProc. Merge now-redundant - ensemble dispatch code. + * generic/ttk/ttkTheme.h, generic/ttk/ttkWidget.h, generic/ttk/*.c: + Change signature of widget subcommand procedures to match + Tcl_ObjCmdProc. Merge now-redundant ensemble dispatch code. 2010-01-29 Jan Nijtmans - * generic/ttk/ttkGenStubs.tcl: No longer generate a space after "*" and - immediately after a function name, so the - format of function definitions in *Decls.h + * generic/ttk/ttkGenStubs.tcl: No longer generate a space after "*" + and immediately after a function name, so the + format of function definitions in *Decls.h match all other *.h header files. * generic/ttk/ttkDecls.h (re-generated) * generic/tk.decls Formatting @@ -146,29 +151,29 @@ 2010-01-19 Jan Nijtmans - * generic/tkInt.h Don't depend on from tcl.h any more - * generic/tkOldConfig.c - * generic/ttk/ttkClamTheme.c fix more gcc warnings: missing initializer - * generic/ttk/ttkClassicTheme.c - * generic/ttk/ttkDefaultTheme.c - * generic/ttk/ttkElements.c - * generic/ttk/ttkEntry.c - * generic/ttk/ttkInit.c - * generic/ttk/ttkLabel.c - * generic/ttk/ttkNotebook.c - * generic/ttk/ttkPanedwindow.c - * generic/ttk/ttkSquare.c - * generic/ttk/ttkTreeview.c - * win/ttkWinTheme.c - * win/tkWinMenu.c Add missing #include - * win/tkWinPort.h Fix include files for CYGWIN - * win/tkWinSend.c - * win/tkWinSendCom.c - * win/tkWinTest.c Fix gcc warning + * generic/tkInt.h: Don't depend on from tcl.h any + * generic/tkOldConfig.c: more. + * generic/ttk/ttkClamTheme.c: Fix more gcc warnings: missing + * generic/ttk/ttkClassicTheme.c: initializer. + * generic/ttk/ttkDefaultTheme.c: + * generic/ttk/ttkElements.c: + * generic/ttk/ttkEntry.c: + * generic/ttk/ttkInit.c: + * generic/ttk/ttkLabel.c: + * generic/ttk/ttkNotebook.c: + * generic/ttk/ttkPanedwindow.c: + * generic/ttk/ttkSquare.c: + * generic/ttk/ttkTreeview.c: + * win/ttkWinTheme.c: + * win/tkWinMenu.c: Add missing #include + * win/tkWinPort.h: Fix include files for CYGWIN + * win/tkWinSend.c: + * win/tkWinSendCom.c: + * win/tkWinTest.c: Fix gcc warning * win/winMain.c: Eliminate use of __argc and __argv for CYGWIN - * win/tcl.m4 Make cygwin configuration error into - * win/configure.in a warning: CYGWIN compilation works - * win/configure although there still are test failures. + * win/tcl.m4: Make cygwin configuration error into + * win/configure.in: a warning: CYGWIN compilation works + * win/configure: although there still are test failures. 2010-01-19 Donal K. Fellows diff --git a/unix/installManPage b/unix/installManPage index 98cd899..e636db7 100755 --- a/unix/installManPage +++ b/unix/installManPage @@ -1,12 +1,29 @@ #!/bin/sh -ZIP=: +######################################################################## +### Parse Options +### + +Gzip=: +SymOrLoc="" +Gz="" +Suffix="" + while true; do case $1 in - -s | --symlinks ) S="-s ";; - -z | --compress ) ZIP=$2; shift ;; - -e | --extension ) Z=$2; shift ;; - -s | --suffix ) SUFFIX=$2; shift ;; + -s | --symlinks ) SymOrLoc="-s " ;; + -z | --compress ) Gzip=$2; shift ;; + -e | --extension ) Gz=$2; shift ;; + -x | --suffix ) Suffix=$2; shift ;; + -*) cat < $DIR/$FIRST - chmod 444 $DIR/$FIRST - $ZIP $DIR/$FIRST +case $ManPage in + *.1) Section=1 ;; + *.3) Section=3 ;; + *.n) Section=n ;; + *) echo "unknown section for $ManPage" + exit 2 ;; +esac + +SrcDir=`dirname $ManPage` + +######################################################################## +### Process Page to Create Target Pages +### + +First="" +for Target in $Names; do + Target=$Target.$Section$Suffix + rm -f $Dir/$Target $Dir/$Target.* + if test -z "$First" ; then + First=$Target + sed -e "/man\.macros/r $SrcDir/man.macros" -e "/man\.macros/d" \ + $ManPage > $Dir/$First + chmod 444 $Dir/$First + $Gzip $Dir/$First else - rm -f $DIR/$f $DIR/$f.* - ln $S$FIRST$Z $DIR/$f$Z + ln $SymOrLoc$First$Gz $Dir/$Target$Gz fi done + +######################################################################## +exit 0 diff --git a/xlib/xutil.c b/xlib/xutil.c index 103d995..d5e26eb 100644 --- a/xlib/xutil.c +++ b/xlib/xutil.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: xutil.c,v 1.4 2007/01/02 23:39:40 dkf Exp $ + * RCS: @(#) $Id: xutil.c,v 1.5 2010/02/19 13:41:49 dkf Exp $ */ #include @@ -71,6 +71,7 @@ XGetVisualInfo( int *nitems_return) { XVisualInfo *info = (XVisualInfo *) ckalloc(sizeof(XVisualInfo)); + info->visual = DefaultVisual(display, 0); info->visualid = info->visual->visualid; info->screen = 0; -- cgit v0.12