On 09/19/2018 07:44 PM, Matthew R. Trower wrote:
What a mess. Thanks for soldiering forward, Jon.

Yeah, UTF-8 is long overdue.‎

If I might ask, how *is* Tcl being used?‎ I've been wanting to add an 
(optional) extension language to dtwm; is Tcl the obvious project-wide choice, 
or should I just make my own selection?


It is used (along with some other files) to pull pieces of text/sections from the SGML documentation (books) to build the help files.

As for whether it is appropriate for use in the case you outlined above, I have no idea...

-jon


-mrt
   Original Message
From: Jon Trulson‎
Sent: Wednesday, September 19, 2018 18:28
To: cdesktopenv-devel@lists.sourceforge.net
Subject: Re: [cdesktopenv-devel] [PATCH] Disable building of tcl on linux

FWIW, I've spent some time on this periodically over the last couple
weeks. The problems run deep. The failure reported below turned out to
be due to instant (dtdocbook/instant) crashing during help generation.

I managed to fix several problems there, but then there were more issues
with the changes in the modern Tcl. We were using 7.5, I believe the
version on my ubuntu 16.04 machine is 8.6.

So, in addition to instant, I had to fix or work around some issues in
docbook.tcl. Since prior to this issue I'd never touched Tcl, I needed
some time to figure it out :)

The good thing is that I understand a lot more about what Tcl is and how
it's actually being used now.

One fix I had to make to instant, is that it would choke on 8 bit
characters - of the sort you would find in a German, French or Italian
locale. The problem there is that as of Tcl 8.0 (I believe) Tcl
requires strings to contain valid utf8 encoded characters. Otherwise it
behaves badly, ie: crashes with an error, and truncates the string
causing further parsing errors down the line in help text generation.

So I had to hack instant to translate these into a hex representation
that would pass muster: 0xc8 -> "\xc8" for example.

This seems to work, and I was finally able to complete a full build
without errors today. But it is a hack that would need to be removed
when we move toward UTF-8 everywhere.

I will test it some more and clean it up before I commit it.

And, after this work, I'm thinking I want to try to tackle that next:
switching to UTF-8, probably in a separate branch initially.

That would be a big task too, but I think a lot of things would be
better in the long run if we just took that plunge ASAP and get it over
with.

-jon

On 09/02/2018 03:47 PM, Jon Trulson wrote:
I can't apply this for a couple reasons:

On 08/26/2018 09:00 AM, Chase via cdesktopenv-devel wrote:
   INCLUDES = -I../lib/tptregexp -I../tcl -I$(XLATESRC)

Should not be adding ../tcl to the include list if we are using the
system version...

   DEPLIBS = $(DEPDTSVCLIB)
+#if defined(__linux__)
+DEFINES = -DUSE_INTERP_ERRORLINE -DUSE_INTERP_RESULT

What do these do?

+LOCAL_LIBRARIES = /usr/lib/x86_64-linux/gnu/libtcl.a $(DTSVCLIB)
$(TTLIB) \

Cannot hard code this path.  It does not exist on my system at least.
Something like '-ltcl' would be better.

+$(XMLIB) $(XTOOLLIB) $(XLIB) -L../lib/tptregexp -ltptregexp
+#else
   LOCAL_LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
   -L../lib/tptregexp -ltptregexp ../tcl/libtcl.a
+#endif
   #if defined(SunArchitecture)
   EXTRA_LIBRARIES = -lsocket -lnsl -lgen -lm
   #else

For kicks, I addressed the above issues, but there is a build failure.
Many warnings about deprecated function calls, passing ints as pointers
and vice versa.

Then, Help generation fails:

LANG=es_ES.ISO8859-1 SGML_SEARCH_PATH=".:.."
LD_LIBRARY_PATH=../../../exports/lib:/usr/dt/lib:/usr/lib
DTLCXSEARCHPATH=../../../lib/DtHelp /bin/ksh
../../../programs/dtdocbook/doc2sdl/dtdocbook -t
../../../programs/dtdocbook/doc2sdl -H
../../../programs/dthelp/parser/pass2/htag2/dthelp_htag2 -I
../../../programs/dtdocbook/instant/instant -L
../../../programs/dtdocbook/xlate_locale/xlate_locale -S
../../../programs/nsgmls/nsgmls  -o ../help-sdl/Appmanager.sdl
Appmanager/book.sgm
dtdocbook fatal error:
     Error processing book.out.sdl by
../../../programs/dthelp/parser/pass2/htag2/dthelp_htag2
Makefile:742: recipe for target '../help-sdl/Appmanager.sdl' failed

as an example.

Clearly this needs more work (and testing!).  It's possible  that the
TCL code in CDE depends on a vastly older version, and will need to be
updated as well before we can depend on modern versions...



--
Jon Trulson

"In the game of chess, you can never let your adversary see your pieces."

                              - Zapp Brannigan


_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to