This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] doc: update tcl/tk FAQ


On Wed, 2012-02-29 at 20:15 -0500, Christopher Faylor wrote:
> On Wed, Feb 29, 2012 at 06:57:27PM -0600, Yaakov (Cygwin/X) wrote:
> >Using X requires user intervention to start an X server first.  No
> >amount of automatic dependencies will change this, and therefore I don't
> >expect that the number of questions would change one iota.
> 
> I agree 100% but this now qualifies as a FAQ so maybe we should add an
> entry about tcl/tk.

Patch attached.


Yaakov

2012-02-??  Yaakov Selkowitz  <yselkowitz@...>

	* faq-programming.xml (faq.programming.make-execvp): Remove obsolete
	information about Tcl/Tk.
	(faq.programming.dll-relocatable): Ditto.
	* faq-using.xml (faq.using.tcl-tk): Rewrite to reflect switch to
	X11 Tcl/Tk.

Index: faq-programming.xml
===================================================================
RCS file: /cvs/src/src/winsup/doc/faq-programming.xml,v
retrieving revision 1.17
diff -u -p -r1.17 faq-programming.xml
--- faq-programming.xml	13 Aug 2010 11:52:13 -0000	1.17
+++ faq-programming.xml	1 Mar 2012 05:51:21 -0000
@@ -93,18 +93,6 @@ C:/cygwin/bin /bin ntfs binary,cygexec 0
 C:/cygwin/bin /usr/bin ntfs binary,cygexec 0 0
 </screen>
 
-<para>Note that if you have Tcl/Tk installed, you must additionally
-exclude <literal>tclsh84</literal> and <literal>wish84</literal>, which
-are linked to the Cygwin DLL but are not actually Cygwin programs:
-</para>
-
-<screen>
-C:/cygwin/bin/tclsh84.exe /bin/tclsh84.exe ntfs binary,notexec 0 0
-C:/cygwin/bin/tclsh84.exe /usr/bin/tclsh84.exe ntfs binary,notexec 0 0
-C:/cygwin/bin/wish84.exe /bin/wish84.exe ntfs binary,notexec 0 0
-C:/cygwin/bin/wish84.exe /usr/bin/wish84.exe ntfs binary,notexec 0 0
-</screen>
-
 <para>If you have added other non-Cygwin programs to a path you want to mount
 cygexec, you can find them with a script like this:
 </para>
@@ -574,8 +562,6 @@ $(LD) EXPFILE --dll -o DLLNAME OBJS LIBS
 </para>
 <para>LIBS is the list of libraries you want to link the DLL against.  For
 example, you may or may not want -lcygwin.  You may want -lkernel32.
-Tcl links against -lcygwin -ladvapi32 -luser32 -lgdi32 -lcomdlg32
--lkernel32.
 </para>
 <para>DEFFILE is the name of your definitions file.  A simple DEFFILE would
 consist of ``EXPORTS'' followed by a list of all symbols which should
@@ -614,9 +600,8 @@ int entry (HINSTANT hinst, DWORD reason,
 }
 </screen>
 
-<para>You may put an optional `--subsystem windows' on the $(LD) lines.  The
-Tcl build does this, but I admit that I no longer remember whether
-this is important.  Note that if you specify a --subsytem &lt;x&gt; flag to ld,
+<para>You may put an optional `--subsystem windows' on the $(LD) lines.
+Note that if you specify a --subsytem &lt;x&gt; flag to ld,
 the -e entry must come after the subsystem flag, since the subsystem flag
 sets a different default entry point.
 </para>
Index: faq-using.xml
===================================================================
RCS file: /cvs/src/src/winsup/doc/faq-using.xml,v
retrieving revision 1.43
diff -u -p -r1.43 faq-using.xml
--- faq-using.xml	27 Feb 2012 19:45:26 -0000	1.43
+++ faq-using.xml	1 Mar 2012 05:51:21 -0000
@@ -1060,16 +1060,27 @@ usually all set and you can start the ss
 </answer></qandaentry>
 
 <qandaentry id="faq.using.tcl-tk">
-<question><para>Why doesn't Cygwin tcl/tk understand Cygwin paths?</para></question>
+<question><para>Why do my Tk programs not work anymore?</para></question>
 <answer>
 
-<para>The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe,
-cygwish80.exe) are not actually "Cygwin versions" of those tools.
-They are built as native libraries, which means they do not understand
-Cygwin mounts or symbolic links.
-</para>
-<para>See the entry "How do I convert between Windows and UNIX paths?"
-elsewhere in this FAQ.
+<para>Previous versions of Tcl/Tk distributed with Cygwin (e.g. tclsh84.exe,
+wish84.exe) were not actually "Cygwin versions" of those tools.
+They were built as native libraries, which means they did not understand
+Cygwin mounts or symbolic links. This lead to all sorts of problems interacting
+with true Cygwin programs.</para>
+
+<para>As of February 2012, this was replaced with a version of Tcl/Tk which
+uses Cygwin's POSIX APIs and X11 for GUI functionality.  If you get a message
+such as this when trying to start a Tk app:</para>
+
+<screen>
+  Application initialization failed: couldn't connect to display ""
+</screen>
+
+<para>Then you need to start an X server, or if one is already running, set the
+<literal>DISPLAY</literal> variable to the proper value.  The Cygwin distribution
+includes an X server; please see the <ulink url="http://x.cygwin.com/docs/ug/cygwin-x-ug.html";>Cygwin/X User Guide</ulink>
+for installation and startup instructions.
 </para></answer></qandaentry>
 
 <qandaentry id="faq.using.ipv6">

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]