Hello community,

here is the log from the commit of package gtkwave for openSUSE:Factory checked 
in at 2015-07-08 07:00:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtkwave (Old)
 and      /work/SRC/openSUSE:Factory/.gtkwave.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gtkwave"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gtkwave/gtkwave.changes  2015-04-16 
14:13:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gtkwave.new/gtkwave.changes     2015-07-08 
07:00:05.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Jul  7 16:37:08 UTC 2015 - [email protected]
+
+- Update to version 3.3.66
+  * minor changes and bugfixes, see included ChangeLog file for details
+
+-------------------------------------------------------------------

Old:
----
  gtkwave-3.3.65.tar.gz

New:
----
  gtkwave-3.3.66.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gtkwave.spec ++++++
--- /var/tmp/diff_new_pack.V4WywI/_old  2015-07-08 07:00:06.000000000 +0200
+++ /var/tmp/diff_new_pack.V4WywI/_new  2015-07-08 07:00:06.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gtkwave
-Version:        3.3.65
+Version:        3.3.66
 Release:        0
 Summary:        Waveform viewer for Ditital Signals
 License:        GPL-2.0+

++++++ gtkwave-3.3.65.tar.gz -> gtkwave-3.3.66.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/ChangeLog new/gtkwave-3.3.66/ChangeLog
--- old/gtkwave-3.3.65/ChangeLog        2015-04-01 19:16:12.000000000 +0200
+++ new/gtkwave-3.3.66/ChangeLog        2015-07-05 21:34:33.000000000 +0200
@@ -1505,3 +1505,12 @@
                stack overflow crashes.
                Added support for synthetic clocks in FST file.
                Update timetrace marking so it runs quicker for large traces.
+3.3.66 05jul15 Faster fsdb initialization.
+               Fix vcd recoder loader crash for malformed vcd if signal is 
+               declared as bits and a real valued change is encountered for
+               the value change.
+               Fixed crash in vcd2vzt for vcd files with no value changes
+               (likely a malformed vcd).
+               Added fsdbReaderResetSignalList() to prevent signals from
+               loading over and over when unnecessary.
+               Compile fixes for renamed functions and defines in gtk osx.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/LICENSE.TXT 
new/gtkwave-3.3.66/LICENSE.TXT
--- old/gtkwave-3.3.65/LICENSE.TXT      2014-12-29 21:10:07.000000000 +0100
+++ new/gtkwave-3.3.66/LICENSE.TXT      2015-07-05 21:35:36.000000000 +0200
@@ -1,6 +1,6 @@
 ##########################################################################
 
-GTKWave 3.3.65 Wave Viewer is Copyright (C) 1999-2015 Tony Bybell.  
+GTKWave 3.3.66 Wave Viewer is Copyright (C) 1999-2015 Tony Bybell.  
 Portions of GTKWave are Copyright (C) 1999-2015 Udi Finkelstein. 
 Context support is Copyright (C) 2007-2015 Kermin Elliott Fleming.
 Trace group support is  Copyright (C) 2009-2015 Donald Baltus.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/configure new/gtkwave-3.3.66/configure
--- old/gtkwave-3.3.65/configure        2014-12-05 09:03:31.000000000 +0100
+++ new/gtkwave-3.3.66/configure        2015-07-05 21:34:33.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gtkwave 3.3.65.
+# Generated by GNU Autoconf 2.69 for gtkwave 3.3.66.
 #
 # Report bugs to <[email protected]>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='gtkwave'
 PACKAGE_TARNAME='gtkwave'
-PACKAGE_VERSION='3.3.65'
-PACKAGE_STRING='gtkwave 3.3.65'
+PACKAGE_VERSION='3.3.66'
+PACKAGE_STRING='gtkwave 3.3.66'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1383,7 +1383,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gtkwave 3.3.65 to adapt to many kinds of systems.
+\`configure' configures gtkwave 3.3.66 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1449,7 +1449,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gtkwave 3.3.65:";;
+     short | recursive ) echo "Configuration of gtkwave 3.3.66:";;
    esac
   cat <<\_ACEOF
 
@@ -1595,7 +1595,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gtkwave configure 3.3.65
+gtkwave configure 3.3.66
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2239,7 +2239,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gtkwave $as_me 3.3.65, which was
+It was created by gtkwave $as_me 3.3.66, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3106,7 +3106,7 @@
 
 # Define the identity of the package.
  PACKAGE='gtkwave'
- VERSION='3.3.65'
+ VERSION='3.3.66'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4197,35 +4197,13 @@
 EXTLOAD_CFLAGS=
 
 if test "X$FFR" = "Xyes" ; then
-       as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnffr.so"" | 
$as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
\"$FSDBREADER_LIBS/libnffr.so\"" >&5
-$as_echo_n "checking for \"$FSDBREADER_LIBS/libnffr.so\"... " >&6; }
-if eval \${$as_ac_File+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  test "$cross_compiling" = yes &&
-  as_fn_error $? "cannot check for file existence when cross compiling" 
"$LINENO" 5
-if test -r ""$FSDBREADER_LIBS/libnffr.so""; then
-  eval "$as_ac_File=yes"
-else
-  eval "$as_ac_File=no"
-fi
-fi
-eval ac_res=\$$as_ac_File
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
-  FSDB_SO=yes
-else
-  FSDB_SO=no
-fi
-
-
-       if test "X$FSDB_SO" = "Xyes" ; then
-               FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS"
-               FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so"
-               EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
-       else
+#      AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no)
+#
+#      if test "X$FSDB_SO" = "Xyes" ; then
+#              FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS"
+#              FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so"
+#              EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
+#      else
 
                as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnffr.a"" 
| $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
\"$FSDBREADER_LIBS/libnffr.a\"" >&5
@@ -4259,37 +4237,15 @@
 $as_echo "$as_me: WARNING: FSDB reader library not found, skipping." >&2;}
 
                fi
-       fi
+#      fi
 
-       as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnsys.so"" | 
$as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
\"$FSDBREADER_LIBS/libnsys.so\"" >&5
-$as_echo_n "checking for \"$FSDBREADER_LIBS/libnsys.so\"... " >&6; }
-if eval \${$as_ac_File+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  test "$cross_compiling" = yes &&
-  as_fn_error $? "cannot check for file existence when cross compiling" 
"$LINENO" 5
-if test -r ""$FSDBREADER_LIBS/libnsys.so""; then
-  eval "$as_ac_File=yes"
-else
-  eval "$as_ac_File=no"
-fi
-fi
-eval ac_res=\$$as_ac_File
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
-  AFSDB_SO=yes
-else
-  AFSDB_SO=no
-fi
-
-
-       if test "X$AFSDB_SO" = "Xyes" ; then
-               FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS"
-               FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD"
-               EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
-       else
+#      AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no)
+#
+#      if test "X$AFSDB_SO" = "Xyes" ; then
+#              FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS"
+#              FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD"
+#              EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
+#      else
 
                as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_LIBS/libnsys.a"" 
| $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
\"$FSDBREADER_LIBS/libnsys.a\"" >&5
@@ -4326,7 +4282,7 @@
 $as_echo "$as_me: WARNING: FSDB system library not found, skipping." >&2;}
 
                fi
-       fi
+#      fi
 
        as_ac_File=`$as_echo "ac_cv_file_"$FSDBREADER_HDRS/ffrAPI.h"" | 
$as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
\"$FSDBREADER_HDRS/ffrAPI.h\"" >&5
@@ -7319,12 +7275,12 @@
     pkg_cv_GTK_MAC_CFLAGS="$GTK_MAC_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gtk-mac-integration\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk-mac-integration") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gtk-mac-integration >= 2.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-mac-integration >= 2.0.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GTK_MAC_CFLAGS=`$PKG_CONFIG --cflags "gtk-mac-integration" 
2>/dev/null`
+  pkg_cv_GTK_MAC_CFLAGS=`$PKG_CONFIG --cflags "gtk-mac-integration >= 2.0.0" 
2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -7335,12 +7291,12 @@
     pkg_cv_GTK_MAC_LIBS="$GTK_MAC_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gtk-mac-integration\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk-mac-integration") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gtk-mac-integration >= 2.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-mac-integration >= 2.0.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GTK_MAC_LIBS=`$PKG_CONFIG --libs "gtk-mac-integration" 2>/dev/null`
+  pkg_cv_GTK_MAC_LIBS=`$PKG_CONFIG --libs "gtk-mac-integration >= 2.0.0" 
2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -7358,14 +7314,14 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
"gtk-mac-integration" 2>&1`
+               GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
"gtk-mac-integration >= 2.0.0" 2>&1`
         else
-               GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --print-errors 
"gtk-mac-integration" 2>&1`
+               GTK_MAC_PKG_ERRORS=`$PKG_CONFIG --print-errors 
"gtk-mac-integration >= 2.0.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GTK_MAC_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (gtk-mac-integration) were not met:
+       as_fn_error $? "Package requirements (gtk-mac-integration >= 2.0.0) 
were not met:
 
 $GTK_MAC_PKG_ERRORS
 
@@ -10992,7 +10948,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gtkwave $as_me 3.3.65, which was
+This file was extended by gtkwave $as_me 3.3.66, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -11058,7 +11014,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gtkwave config.status 3.3.65
+gtkwave config.status 3.3.66
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/configure.ac 
new/gtkwave-3.3.66/configure.ac
--- old/gtkwave-3.3.65/configure.ac     2014-12-05 09:03:31.000000000 +0100
+++ new/gtkwave-3.3.66/configure.ac     2015-07-05 21:34:33.000000000 +0200
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(gtkwave, 3.3.65, [email protected])
+AC_INIT(gtkwave, 3.3.66, [email protected])
 AC_CONFIG_SRCDIR([src/vcd.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADER([config.h])
@@ -356,13 +356,13 @@
 EXTLOAD_CFLAGS=
 
 if test "X$FFR" = "Xyes" ; then
-       AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no)
-
-       if test "X$FSDB_SO" = "Xyes" ; then
-               FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS"
-               FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so"
-               EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
-       else
+#      AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.so", FSDB_SO=yes, FSDB_SO=no)
+#
+#      if test "X$FSDB_SO" = "Xyes" ; then
+#              FSDB_CFLAGS="-DFSDB_IS_PRESENT -I$FSDBREADER_HDRS"
+#              FSDB_LDADD="$FSDBREADER_LIBS/libnffr.so"
+#              EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
+#      else
 
                AC_CHECK_FILE("$FSDBREADER_LIBS/libnffr.a", FSDB_A=yes, 
FSDB_A=no)
                if test "X$FSDB_A" = "Xyes" ; then
@@ -373,15 +373,15 @@
                AC_MSG_WARN([FSDB reader library not found, skipping.])
 
                fi
-       fi
+#      fi
 
-       AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no)
-
-       if test "X$AFSDB_SO" = "Xyes" ; then
-               FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS"
-               FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD"
-               EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
-       else
+#      AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.so", AFSDB_SO=yes, AFSDB_SO=no)
+#
+#      if test "X$AFSDB_SO" = "Xyes" ; then
+#              FSDB_CFLAGS="-DFSDB_NSYS_IS_PRESENT $FSDB_CFLAGS"
+#              FSDB_LDADD="$FSDBREADER_LIBS/libnsys.so $FSDB_LDADD"
+#              EXTLOAD_CFLAGS="-DEXTLOAD_SUFFIX=\\\"fsdb\\\""
+#      else
 
                AC_CHECK_FILE("$FSDBREADER_LIBS/libnsys.a", AFSDB_A=yes, 
AFSDB_A=no)
                if test "X$AFSDB_A" = "Xyes" ; then
@@ -395,7 +395,7 @@
                AC_MSG_WARN([FSDB system library not found, skipping.])
 
                fi
-       fi
+#      fi
 
        AC_CHECK_FILE("$FSDBREADER_HDRS/ffrAPI.h", FSDB_SOY=yes, FSDB_SOY=no)
        if test "X$FSDB_SOY" = "Xno" ; then
@@ -695,7 +695,7 @@
 # removed...causes problems with gtk-1.2...
 # AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
        if test "x$_gdk_tgt" = xquartz; then
-          PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration)
+          PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration >= 2.0.0)
           AC_SUBST(GTK_MAC_LIBS)
           AC_SUBST(GTK_MAC_CFLAGS)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gtkwave-3.3.65/contrib/bundle_for_osx/Info-gtkwave.plist 
new/gtkwave-3.3.66/contrib/bundle_for_osx/Info-gtkwave.plist
--- old/gtkwave-3.3.65/contrib/bundle_for_osx/Info-gtkwave.plist        
2014-12-29 21:10:07.000000000 +0100
+++ new/gtkwave-3.3.66/contrib/bundle_for_osx/Info-gtkwave.plist        
2015-07-05 21:34:33.000000000 +0200
@@ -8,7 +8,7 @@
     <key>CFBundleExecutable</key>
     <string>gtkwave</string>
     <key>CFBundleGetInfoString</key>
-    <string>3.3.65, (C) 1999-2015 Tony Bybell 
http://gtkwave.sourceforge.net</string>
+    <string>3.3.66, (C) 1999-2015 Tony Bybell 
http://gtkwave.sourceforge.net</string>
     <key>CFBundleIconFile</key>
     <string>gtkwave.icns</string>
     <key>CFBundleIdentifier</key>
@@ -18,11 +18,11 @@
     <key>CFBundlePackageType</key>
     <string>APPL</string>
     <key>CFBundleShortVersionString</key>
-    <string>3.3.65</string>
+    <string>3.3.66</string>
     <key>CFBundleSignature</key>
     <string>????</string>
     <key>CFBundleVersion</key>
-    <string>3.3.65</string>
+    <string>3.3.66</string>
     <key>NSHumanReadableCopyright</key>
     <string>Copyright 1999 - 2015 Tony Bybell, GNU General Public 
License.</string>
     <key>LSMinimumSystemVersion</key>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/contrib/fsdb2vcd/fsdb2vcd_fast.cc 
new/gtkwave-3.3.66/contrib/fsdb2vcd/fsdb2vcd_fast.cc
--- old/gtkwave-3.3.65/contrib/fsdb2vcd/fsdb2vcd_fast.cc        2014-03-14 
19:56:00.000000000 +0100
+++ new/gtkwave-3.3.66/contrib/fsdb2vcd/fsdb2vcd_fast.cc        2015-06-19 
03:17:04.000000000 +0200
@@ -1,6 +1,6 @@
 /*
  to compile: 
- g++ -o fsdb2vcd_fast -O2 fsdb2vcd_fast.cc -I /pub/FsdbReader/ 
/pub/FsdbReader/libnffr.a /pub/FsdbReader/libnsys.a -ldl -lpthread
+ g++ -o fsdb2vcd_fast -O2 fsdb2vcd_fast.cc -I /pub/FsdbReader/ 
/pub/FsdbReader/libnffr.a /pub/FsdbReader/libnsys.a -ldl -lpthread -lz
 
  Much faster version of fsdb2vcd as compared to one bundled with Verdi.
  Requires libs and headers for FsdbReader.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/Makefile.in 
new/gtkwave-3.3.66/src/Makefile.in
--- old/gtkwave-3.3.65/src/Makefile.in  2014-01-03 05:17:31.000000000 +0100
+++ new/gtkwave-3.3.66/src/Makefile.in  2015-05-08 03:09:38.000000000 +0200
@@ -408,7 +408,7 @@
        vcd_partial.c vcd_recoder.c vcd_saver.c vcd_saver.h version.h vlist.c 
vlist.h vzt.c vzt.h wavealloca.h \
        wavewindow.c zoombuttons.c
 
-gtkwave_LDADD = $(LIBCOCOA_LDADD) $(GTK_LIBS) $(LIBLZMA_LDADD) $(LIBZ_LDADD) 
$(LIBBZ2_LDADD) $(LIBFST_LDADD) $(AET2_LDADD) $(FSDB_LDADD) $(TCL_LDADD) 
$(TK_LDADD) $(LIBJUDY_LDADD) $(GTK_MAC_LIBS) $(GCONF_LIBS) 
$(GTK_UNIX_PRINT_LIBS) $(MINGW_LDADD)
+gtkwave_LDADD = $(LIBCOCOA_LDADD) $(GTK_LIBS) $(LIBLZMA_LDADD) $(LIBZ_LDADD) 
$(LIBBZ2_LDADD) $(LIBFST_LDADD) $(AET2_LDADD) $(TCL_LDADD) $(TK_LDADD) 
$(FSDB_LDADD) $(LIBJUDY_LDADD) $(GTK_MAC_LIBS) $(GCONF_LIBS) 
$(GTK_UNIX_PRINT_LIBS) $(MINGW_LDADD)
 gtkwave_LDFLAGS = $(COCOA_GTK_LDFLAGS)
 twinwave_SOURCES = twinwave.c
 twinwave_LDADD = $(GTK_LIBS) $(GTK_MAC_LIBS) $(GCONF_LIBS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/extload.c 
new/gtkwave-3.3.66/src/extload.c
--- old/gtkwave-3.3.65/src/extload.c    2014-07-17 04:19:01.000000000 +0200
+++ new/gtkwave-3.3.66/src/extload.c    2015-06-18 06:31:56.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2009-2014.
+ * Copyright (c) Tony Bybell 2009-2015.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -72,6 +72,90 @@
 
 #else
 
+/******************************************************************/
+
+/*
+ * reverse equality mem compare
+ */
+static int memrevcmp(int i, const char *s1, const char *s2)
+{
+i--;
+for(;i>=0;i--)
+        {
+        if(s1[i] != s2[i]) break;
+        }
+
+return(i+1);
+}
+
+
+
+/*
+ * fast itoa for decimal numbers
+ */
+static char* itoa_2(int value, char* result)
+{
+char* ptr = result, *ptr1 = result, tmp_char;
+int tmp_value;
+
+do {
+        tmp_value = value;
+        value /= 10;
+        *ptr++ = "9876543210123456789" [9 + (tmp_value - value * 10)];
+} while ( value );
+
+if (tmp_value < 0) *ptr++ = '-';
+result = ptr;
+*ptr-- = '\0';
+while(ptr1 < ptr) {
+        tmp_char = *ptr;
+        *ptr--= *ptr1;
+        *ptr1++ = tmp_char;
+}
+return(result);
+}
+
+
+/*
+ * preformatted sprintf statements which remove parsing latency
+ */
+static int sprintf_2_sd(char *s, char *c, int d)
+{
+char *s2 = s;
+
+while(*c)
+        {
+        *(s2++) = *(c++);
+        }
+*(s2++) = '[';
+s2 = itoa_2(d, s2);
+*(s2++) = ']';
+*s2 = 0;
+
+return(s2 - s);
+}
+
+
+static int sprintf_2_sdd(char *s, char *c, int d, int d2)
+{
+char *s2 = s;
+
+while(*c)
+        {
+        *(s2++) = *(c++);
+        }
+*(s2++) = '[';
+s2 = itoa_2(d, s2);
+*(s2++) = ':';
+s2 = itoa_2(d2, s2);
+*(s2++) = ']';
+*s2 = 0;
+
+return(s2 - s);
+}
+
+/******************************************************************/
+
 #ifndef WAVE_FSDB_READER_IS_PRESENT
 static int last_modification_check(void)
 {
@@ -187,8 +271,15 @@
                        char *vtyp_nam;
                        char *cpyto;
                        char *pntd;
+                       char *typ_src = pnt;
+                       char *typ_dst = typ;
 
-                       sscanf(rc + 5, "%s", typ);
+                       /* following code replaces: sscanf(rc + 5, "%s", typ) */
+                       while(*typ_src && !isspace(*typ_src))
+                               {
+                               *(typ_dst++) = *(typ_src++);
+                               }
+                       *typ_dst = 0;
 
                        while(*pnt)
                                {
@@ -233,9 +324,28 @@
                        if(last_l)
                                {
                                unsigned int l, r;
-                               char s1[32];
+                               /* char s1[32]; */
                                unsigned int d2;
-                               sscanf(last_l+2, "%u r:%u %s %u", &l, &r, s1, 
&d2);
+                               /* sscanf(last_l+2, "%u r:%u %s %u", &l, &r, 
s1, &d2); */
+                                       
+                               char *ps = last_l+2;
+                               char *l_pnt, *r_pnt, *d2_pnt;
+
+                               while(*ps &&  isspace(*ps)) { ps++; }
+                               l_pnt = ps;
+                               while(*ps && !isspace(*ps)) { ps++; }
+                               while(*ps &&  isspace(*ps)) { ps++; }
+                               r_pnt = ps;                                     
+                               while(*ps && !isspace(*ps)) { ps++; }
+                               while(*ps &&  isspace(*ps)) { ps++; }
+                               /* s1_pnt = ps; */
+                               while(*ps && !isspace(*ps)) { ps++; }
+                               while(*ps &&  isspace(*ps)) { ps++; }
+                               d2_pnt = ps;
+
+                               l = atoi(l_pnt);
+                               r = atoi(r_pnt+2);
+                               d2 = atoi(d2_pnt);
 
                                GLOBALS->extload_idcodes[i] = d2;
                                if(GLOBALS->extload_inv_idcodes[d2] == 0) 
GLOBALS->extload_inv_idcodes[d2] = i+1; /* root alias */
@@ -524,6 +634,7 @@
 struct fac *f;
 char *fnam;
 int flen;
+int longest_nam_candidate = 0;
 
 i = GLOBALS->extload_i;
 
@@ -535,22 +646,25 @@
 
        if(GLOBALS->extload_hlen)
                {
-               
GLOBALS->extload_namecache[0]=malloc_2(GLOBALS->extload_hlen+1+flen+1);
-               strcpy(GLOBALS->extload_namecache[0], GLOBALS->fst_scope_name);
-               *(GLOBALS->extload_namecache[0]+GLOBALS->extload_hlen) = '.';
-               strcpy(GLOBALS->extload_namecache[0]+GLOBALS->extload_hlen+1, 
fnam);
+               GLOBALS->extload_namecache[0 & 
F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & 
F_NAME_MODULUS]=GLOBALS->extload_hlen+1+flen+1);
+               memcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], 
GLOBALS->fst_scope_name, GLOBALS->extload_hlen);
+               *(GLOBALS->extload_namecache[0 & 
F_NAME_MODULUS]+GLOBALS->extload_hlen) = '.';
+               strcpy(GLOBALS->extload_namecache[0 & 
F_NAME_MODULUS]+GLOBALS->extload_hlen+1, fnam);
+               GLOBALS->extload_namecache_lens[0 & 
F_NAME_MODULUS]=GLOBALS->extload_hlen + 1 + flen;
                }
        else
                {
-               GLOBALS->extload_namecache[0]=malloc_2(flen+1);
-               strcpy(GLOBALS->extload_namecache[0], fnam);
+               GLOBALS->extload_namecache[0 & 
F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & 
F_NAME_MODULUS]=flen+1);
+               strcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], fnam);
+               GLOBALS->extload_namecache_lens[0 & F_NAME_MODULUS] = flen;
                }
 #else
        fnam = get_varname(&GLOBALS->extload_vt_prev, 
&GLOBALS->extload_vd_prev, 0);
        flen = strlen(fnam);
 
-       GLOBALS->extload_namecache[0]=malloc_2(flen+1);
-       strcpy(GLOBALS->extload_namecache[0], fnam);
+       GLOBALS->extload_namecache[0 & 
F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[0 & 
F_NAME_MODULUS]=flen+1);
+       strcpy(GLOBALS->extload_namecache[0 & F_NAME_MODULUS], fnam);
+       GLOBALS->extload_namecache_lens[0 & F_NAME_MODULUS] = flen;
 #endif
        }
 else
@@ -565,37 +679,59 @@
 
                if(GLOBALS->extload_hlen)
                        {
-                       
GLOBALS->extload_namecache[i+1]=malloc_2(GLOBALS->extload_hlen+1+flen+1);
-                       strcpy(GLOBALS->extload_namecache[i+1], 
GLOBALS->fst_scope_name);
-                       
*(GLOBALS->extload_namecache[i+1]+GLOBALS->extload_hlen) = '.';
-                       
strcpy(GLOBALS->extload_namecache[i+1]+GLOBALS->extload_hlen+1, fnam);
+                       if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] 
< (GLOBALS->extload_hlen+1+flen+1))
+                               {
+                               
if(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]) 
free_2(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]);
+                               
GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS]
 = GLOBALS->extload_hlen+1+flen+1);
+                               }
+
+                       
memcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], 
GLOBALS->fst_scope_name, GLOBALS->extload_hlen);
+                       
*(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]+GLOBALS->extload_hlen) = '.';
+                       
strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]+GLOBALS->extload_hlen+1,
 fnam);
+                       GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = 
GLOBALS->extload_hlen + 1 + flen;
                        }
                else
                        {
-                       GLOBALS->extload_namecache[i+1]=malloc_2(flen+1);
-                       strcpy(GLOBALS->extload_namecache[i+1], fnam);
+                       if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] 
< (flen+1))
+                               {
+                               
if(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS])free_2(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]);
+                               
GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS]
 = flen+1);
+                               }
+                       
strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], fnam);
+                       GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = 
flen;
                        }
 #else
                fnam = get_varname(&GLOBALS->extload_vt_prev, 
&GLOBALS->extload_vd_prev, i+1);
                flen = strlen(fnam);
 
-               GLOBALS->extload_namecache[i+1]=malloc_2(flen+1);
-               strcpy(GLOBALS->extload_namecache[i+1], fnam);
+               if(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS] < 
(flen+1))
+                       {
+                       
GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]=malloc_2(GLOBALS->extload_namecache_max[(i+1)&F_NAME_MODULUS]
 = flen+1);
+                       }
+               strcpy(GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS], fnam);
+                       GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS] = 
flen;
 #endif
                }
 
-       if(i>1)
-               {
-               free_2(GLOBALS->extload_namecache[i-2]);
-               GLOBALS->extload_namecache[i-2] = NULL;
-               }
-
        f=GLOBALS->mvlfacs_vzt_c_3+i;
 
        if((f->len>1)&& 
(!(f->flags&(VZT_RD_SYM_F_INTEGER|VZT_RD_SYM_F_DOUBLE|VZT_RD_SYM_F_STRING))) )
                {
-               int len=sprintf(buf, "%s[%d:%d]", 
GLOBALS->extload_namecache[i],GLOBALS->extload_node_block[i].msi, 
GLOBALS->extload_node_block[i].lsi);
-               str=malloc_2(len+1);
+               int len=sprintf_2_sdd(buf, 
GLOBALS->extload_namecache[i&F_NAME_MODULUS],GLOBALS->extload_node_block[i].msi,
 GLOBALS->extload_node_block[i].lsi);
+               longest_nam_candidate = len;
+
+                if(!GLOBALS->do_hier_compress)
+                        {
+                        str=malloc_2(len+1);
+                        }   
+                        else
+                        {
+                        if(len > GLOBALS->f_name_build_buf_len)
+                                {
+                                free_2(GLOBALS->f_name_build_buf); 
GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1);
+                                }
+                        str = GLOBALS->f_name_build_buf;
+                        }
 
                if(!GLOBALS->alt_hier_delimeter)
                        {
@@ -611,14 +747,28 @@
                }
        else if (
                        
((f->len==1)&&(!(f->flags&(VZT_RD_SYM_F_INTEGER|VZT_RD_SYM_F_DOUBLE|VZT_RD_SYM_F_STRING)))&&
-                       
((i!=GLOBALS->numfacs-1)&&(!strcmp(GLOBALS->extload_namecache[i], 
GLOBALS->extload_namecache[i+1]))))
+                       
((i!=GLOBALS->numfacs-1)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i+1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS],GLOBALS->extload_namecache[i&F_NAME_MODULUS],
 GLOBALS->extload_namecache[(i+1)&F_NAME_MODULUS]))))
                        ||
-                       (((i!=0)&&(!strcmp(GLOBALS->extload_namecache[i], 
GLOBALS->extload_namecache[i-1]))) &&
+                       
(((i!=0)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i-1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS],
 GLOBALS->extload_namecache[i&F_NAME_MODULUS], 
GLOBALS->extload_namecache[(i-1)&F_NAME_MODULUS]))) &&
                        
(GLOBALS->extload_node_block[i].msi!=-1)&&(GLOBALS->extload_node_block[i].lsi!=-1))
                )
                {
-               int len = sprintf(buf, "%s[%d]", 
GLOBALS->extload_namecache[i],GLOBALS->extload_node_block[i].msi);
-               str=malloc_2(len+1);
+               int len = sprintf_2_sd(buf, 
GLOBALS->extload_namecache[i&F_NAME_MODULUS],GLOBALS->extload_node_block[i].msi);
+               longest_nam_candidate = len;
+
+                if(!GLOBALS->do_hier_compress)
+                        {
+                        str=malloc_2(len+1);
+                        }
+                        else
+                        {
+                        if(len > GLOBALS->f_name_build_buf_len)
+                                {
+                                free_2(GLOBALS->f_name_build_buf); 
GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1);
+                                }
+                        str = GLOBALS->f_name_build_buf;
+                        }
+
                if(!GLOBALS->alt_hier_delimeter)
                        {
                        strcpy(str, buf);
@@ -629,7 +779,7 @@
                        }
                s=&GLOBALS->extload_sym_block[i];
                symadd_name_exists_sym_exists(s,str,0);
-               
if((GLOBALS->extload_prevsym)&&(i>0)&&(!strcmp(GLOBALS->extload_namecache[i], 
GLOBALS->extload_namecache[i-1])))        /* allow chaining for search 
functions.. */
+               
if((GLOBALS->extload_prevsym)&&(i>0)&&(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS]==GLOBALS->extload_namecache_lens[(i-1)&F_NAME_MODULUS])&&(!memrevcmp(GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS],
 GLOBALS->extload_namecache[i&F_NAME_MODULUS], 
GLOBALS->extload_namecache[(i-1)&F_NAME_MODULUS])))      /* allow chaining for 
search functions.. */
                        {
                        GLOBALS->extload_prevsym->vec_root = 
GLOBALS->extload_prevsymroot;
                        GLOBALS->extload_prevsym->vec_chain = s;
@@ -643,14 +793,29 @@
                }
                else
                {
-               str=malloc_2(strlen(GLOBALS->extload_namecache[i])+1);
+               int len = GLOBALS->extload_namecache_lens[i&F_NAME_MODULUS];
+
+               longest_nam_candidate = len;
+                if(!GLOBALS->do_hier_compress)
+                        {
+                        str=malloc_2(len+1);
+                        }
+                        else
+                        {   
+                        if(len > GLOBALS->f_name_build_buf_len)
+                                {
+                                free_2(GLOBALS->f_name_build_buf); 
GLOBALS->f_name_build_buf = malloc_2((GLOBALS->f_name_build_buf_len=len)+1);
+                                }
+                        str = GLOBALS->f_name_build_buf;
+                        }
+
                if(!GLOBALS->alt_hier_delimeter)
                        {
-                       strcpy(str, GLOBALS->extload_namecache[i]);
+                       strcpy(str, 
GLOBALS->extload_namecache[i&F_NAME_MODULUS]);
                        }
                        else
                        {
-                       strcpy_vcdalt(str, GLOBALS->extload_namecache[i], 
GLOBALS->alt_hier_delimeter);
+                       strcpy_vcdalt(str, 
GLOBALS->extload_namecache[i&F_NAME_MODULUS], GLOBALS->alt_hier_delimeter);
                        }
                s=&GLOBALS->extload_sym_block[i];
                symadd_name_exists_sym_exists(s,str,0);
@@ -665,6 +830,20 @@
                }
 
         n=&GLOBALS->extload_node_block[i];
+
+       if(longest_nam_candidate > GLOBALS->longestname) GLOBALS->longestname = 
longest_nam_candidate;
+
+        if(GLOBALS->do_hier_compress)
+                {
+                n->nname = compress_facility((unsigned char *)s->name, 
longest_nam_candidate);
+                /* free_2(s->name); ...removed as GLOBALS->f_name_build_buf is 
now used */
+                s->name = n->nname;
+                }
+                else
+                {
+                n->nname=s->name;
+                }
+
         n->nname=s->name;
         n->mv.mvlfac = GLOBALS->mvlfacs_vzt_c_3+i;
        GLOBALS->mvlfacs_vzt_c_3[i].working_node = n;
@@ -965,12 +1144,25 @@
 
 GLOBALS->mvlfacs_vzt_c_3=(struct fac *)calloc_2(GLOBALS->numfacs,sizeof(struct 
fac));
 GLOBALS->vzt_table_vzt_c_1=(struct lx2_entry *)calloc_2(GLOBALS->numfacs, 
sizeof(struct lx2_entry));
-GLOBALS->extload_namecache=(char **)calloc_2(GLOBALS->numfacs, sizeof(char *));
+GLOBALS->extload_namecache=(char **)calloc_2(F_NAME_MODULUS+1, sizeof(char *));
+GLOBALS->extload_namecache_max=(int *)calloc_2(F_NAME_MODULUS+1, sizeof(int));
+GLOBALS->extload_namecache_lens=(int *)calloc_2(F_NAME_MODULUS+1, sizeof(int));
 GLOBALS->extload_sym_block = (struct symbol *)calloc_2(GLOBALS->numfacs, 
sizeof(struct symbol));
 GLOBALS->extload_node_block=(struct Node 
*)calloc_2(GLOBALS->numfacs,sizeof(struct Node));
 GLOBALS->extload_idcodes=(unsigned int *)calloc_2(GLOBALS->numfacs, 
sizeof(unsigned int));
 GLOBALS->extload_inv_idcodes=(int *)calloc_2(max_idcode+1, sizeof(int));
 
+if(!GLOBALS->fast_tree_sort)
+        {
+        GLOBALS->do_hier_compress = 0;
+        }
+
+GLOBALS->f_name_build_buf_len = 128;
+GLOBALS->f_name_build_buf = malloc_2(GLOBALS->f_name_build_buf_len + 1);
+
+init_facility_pack();
+
+
 /* SPLASH */                            splash_sync(1, 5);
 
 #ifdef WAVE_FSDB_READER_IS_PRESENT
@@ -989,7 +1181,7 @@
 decorated_module_cleanup(); /* ...also now in gtk2_treesearch.c */
 iter_through_comp_name_table();
 
-for(i=0;((i<2)&&(i<GLOBALS->numfacs));i++)
+for(i=0;i<=F_NAME_MODULUS;i++)
        {
        if(GLOBALS->extload_namecache[i])
                {
@@ -998,6 +1190,8 @@
                }
        }
 free_2(GLOBALS->extload_namecache); GLOBALS->extload_namecache = NULL;
+free_2(GLOBALS->extload_namecache_max); GLOBALS->extload_namecache_max = NULL;
+free_2(GLOBALS->extload_namecache_lens); GLOBALS->extload_namecache_lens = 
NULL;
 
 fstReaderClose(GLOBALS->extload_xc); /* corresponds to 
fstReaderOpenForUtilitiesOnly() */
 
@@ -1025,7 +1219,7 @@
 decorated_module_cleanup(); /* ...also now in gtk2_treesearch.c */
 iter_through_comp_name_table();
 
-for(i=0;((i<2)&&(i<GLOBALS->numfacs));i++)
+for(i=0;i<=F_NAME_MODULUS;i++)
        {
        if(GLOBALS->extload_namecache[i])
                {
@@ -1034,6 +1228,8 @@
                }
        }
 free_2(GLOBALS->extload_namecache); GLOBALS->extload_namecache = NULL;
+free_2(GLOBALS->extload_namecache_max); GLOBALS->extload_namecache_max = NULL;
+free_2(GLOBALS->extload_namecache_lens); GLOBALS->extload_namecache_lens = 
NULL;
 pclose(GLOBALS->extload);
 
 fstReaderClose(GLOBALS->extload_xc); /* corresponds to 
fstReaderOpenForUtilitiesOnly() */
@@ -1041,15 +1237,16 @@
 #endif
 
 /* SPLASH */                            splash_sync(2, 5);
+if(GLOBALS->f_name_build_buf) { free_2(GLOBALS->f_name_build_buf); 
GLOBALS->f_name_build_buf = NULL; }
+freeze_facility_pack();
+
 GLOBALS->facs=(struct symbol **)malloc_2(GLOBALS->numfacs*sizeof(struct symbol 
*));
 
 if(GLOBALS->fast_tree_sort)
         {
         for(i=0;i<GLOBALS->numfacs;i++)
                 {
-                int len;
                 GLOBALS->facs[i]=&GLOBALS->extload_sym_block[i];
-                if((len=strlen(GLOBALS->facs[i]->name))>GLOBALS->longestname) 
GLOBALS->longestname=len;
                 }
 
 /* SPLASH */                            splash_sync(3, 5);
@@ -1058,7 +1255,9 @@
         init_tree();
         for(i=0;i<GLOBALS->numfacs;i++)
                 {
-               build_tree_from_name(GLOBALS->facs[i]->name, i);
+                int was_packed = HIER_DEPACK_STATIC; /* no need to free_2() 
afterward then */
+                char *sb = hier_decompress_flagged(GLOBALS->facs[i]->name, 
&was_packed);
+                build_tree_from_name(sb, i);
                 }
 /* SPLASH */                            splash_sync(4, 5);
         treegraft(&GLOBALS->treeroot);
@@ -1522,6 +1721,7 @@
        if(!GLOBALS->extload_ffr_import_count)
                {
                fsdbReaderUnloadSignals(GLOBALS->extload_ffr_ctx);
+               fsdbReaderResetSignalList(GLOBALS->extload_ffr_ctx);
                }
        GLOBALS->extload_ffr_import_count++;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/fsdb_wrapper_api.cc 
new/gtkwave-3.3.66/src/fsdb_wrapper_api.cc
--- old/gtkwave-3.3.65/src/fsdb_wrapper_api.cc  2014-05-15 18:34:32.000000000 
+0200
+++ new/gtkwave-3.3.66/src/fsdb_wrapper_api.cc  2015-06-18 06:31:56.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2013-2014.
+ * Copyright (c) Tony Bybell 2013-2015.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -103,6 +103,13 @@
 }
 
 
+extern "C" void fsdbReaderResetSignalList(void *ctx)
+{
+ffrObject *fsdb_obj = (ffrObject *)ctx;
+fsdb_obj->ffrResetSignalList();
+}
+
+
 extern "C" void fsdbReaderLoadSignals(void *ctx)
 {
 ffrObject *fsdb_obj = (ffrObject *)ctx;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/fsdb_wrapper_api.h 
new/gtkwave-3.3.66/src/fsdb_wrapper_api.h
--- old/gtkwave-3.3.65/src/fsdb_wrapper_api.h   2014-05-15 18:34:32.000000000 
+0200
+++ new/gtkwave-3.3.66/src/fsdb_wrapper_api.h   2015-06-18 06:31:56.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2013-2014.
+ * Copyright (c) Tony Bybell 2013-2015.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -44,6 +44,7 @@
 int fsdbReaderGetMaxVarIdcode(void *ctx);
 struct fsdbReaderGetStatistics_t *fsdbReaderGetStatistics(void *ctx);
 void fsdbReaderAddToSignalList(void *ctx, int i);
+void fsdbReaderResetSignalList(void *ctx);
 void fsdbReaderLoadSignals(void *ctx);
 void *fsdbReaderCreateVCTraverseHandle(void *ctx, int i);
 int fsdbReaderHasIncoreVC(void *ctx, void *hdl);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/fst.c new/gtkwave-3.3.66/src/fst.c
--- old/gtkwave-3.3.65/src/fst.c        2015-04-01 09:13:04.000000000 +0200
+++ new/gtkwave-3.3.66/src/fst.c        2015-04-15 02:14:04.000000000 +0200
@@ -1727,7 +1727,7 @@
        JRB fi = jrb_find_int(GLOBALS->synclock_jrb, txidx);
        if(fi)
                {
-               expand_synvec(txidx+1, fi->val.s);
+               expand_synvec(GLOBALS->mvlfacs_fst_c_3[txidx].node_alias+1, 
fi->val.s);
                import_fst_trace(np);
                return; /* import_fst_trace() will construct the trailer */
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/ghw.c new/gtkwave-3.3.66/src/ghw.c
--- old/gtkwave-3.3.65/src/ghw.c        2015-03-10 22:02:18.000000000 +0100
+++ new/gtkwave-3.3.66/src/ghw.c        2015-05-09 01:17:16.000000000 +0200
@@ -51,7 +51,7 @@
 
 long ghw_cmp_l(void *i, void *j)
 {
-long il = (long)i, jl = (long)j;
+uintptr_t il = (uintptr_t)i, jl = (uintptr_t)j;
 return(il - jl);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/globals.c 
new/gtkwave-3.3.66/src/globals.c
--- old/gtkwave-3.3.65/src/globals.c    2015-04-01 08:54:54.000000000 +0200
+++ new/gtkwave-3.3.66/src/globals.c    2015-05-08 05:06:51.000000000 +0200
@@ -243,6 +243,8 @@
 0, /* extload_already_errored */
 #endif
 NULL, /* extload_namecache */
+NULL, /* extload_namecache_max */
+NULL, /* extload_namecache_lens */
 NULL, /* extload_sym_block */
 NULL, /* extload_node_block */
 NULL, /* extload_xc */
@@ -252,6 +254,8 @@
 0, /* extload_hlen */
 0, /* extload_vt_prev */
 0, /* extload_vd_prev */
+0, /* f_name_build_buf_len */
+NULL, /* f_name_build_buf */
 
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/globals.h 
new/gtkwave-3.3.66/src/globals.h
--- old/gtkwave-3.3.65/src/globals.h    2015-04-01 08:54:54.000000000 +0200
+++ new/gtkwave-3.3.66/src/globals.h    2015-05-08 05:06:51.000000000 +0200
@@ -242,6 +242,8 @@
 char extload_already_errored; /* from extload.c */
 #endif
 char **extload_namecache;
+int *extload_namecache_max;
+int *extload_namecache_lens;
 struct symbol *extload_sym_block;
 struct Node *extload_node_block;
 void *extload_xc;
@@ -251,6 +253,8 @@
 int extload_hlen;
 unsigned char extload_vt_prev;
 unsigned char extload_vd_prev;
+int f_name_build_buf_len;
+char *f_name_build_buf;
 
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/fst/fstapi.c 
new/gtkwave-3.3.66/src/helpers/fst/fstapi.c
--- old/gtkwave-3.3.65/src/helpers/fst/fstapi.c 2015-04-01 08:54:54.000000000 
+0200
+++ new/gtkwave-3.3.66/src/helpers/fst/fstapi.c 2015-05-08 23:52:58.000000000 
+0200
@@ -1449,12 +1449,12 @@
                                         PPvoid_t pv = JudyHSIns(&PJHSArray, 
dmem, destlen, NULL);
                                         if(*pv)
                                                 {
-                                                uint32_t pvi = (long)(*pv);
+                                                uint32_t pvi = (intptr_t)(*pv);
                                                 vm4ip[2] = -pvi;
                                                 }
                                                 else
                                                 {
-                                                *pv = (void *)(long)(i+1);
+                                                *pv = (void *)(intptr_t)(i+1);
 #endif
                                                 fpos += fstWriterVarint(f, 
wrlen);
                                                 fpos += destlen;
@@ -1469,12 +1469,12 @@
                                         PPvoid_t pv = JudyHSIns(&PJHSArray, 
scratchpnt, wrlen, NULL);
                                         if(*pv)
                                                 {
-                                                uint32_t pvi = (long)(*pv);
+                                                uint32_t pvi = (intptr_t)(*pv);
                                                 vm4ip[2] = -pvi;
                                                 }
                                                 else
                                                 {
-                                                *pv = (void *)(long)(i+1);
+                                                *pv = (void *)(intptr_t)(i+1);
 #endif
                                                 fpos += fstWriterVarint(f, 0);
                                                 fpos += wrlen;
@@ -1504,12 +1504,12 @@
                                         PPvoid_t pv = JudyHSIns(&PJHSArray, 
dmem, rc, NULL);
                                         if(*pv)
                                                 {
-                                                uint32_t pvi = (long)(*pv);
+                                                uint32_t pvi = (intptr_t)(*pv);
                                                 vm4ip[2] = -pvi;
                                                 }
                                                 else
                                                 {
-                                                *pv = (void *)(long)(i+1);
+                                                *pv = (void *)(intptr_t)(i+1);
 #endif
                                                 fpos += fstWriterVarint(f, 
wrlen);
                                                 fpos += rc;
@@ -1524,12 +1524,12 @@
                                         PPvoid_t pv = JudyHSIns(&PJHSArray, 
scratchpnt, wrlen, NULL);
                                         if(*pv)
                                                 {
-                                                uint32_t pvi = (long)(*pv);
+                                                uint32_t pvi = (intptr_t)(*pv);
                                                 vm4ip[2] = -pvi;
                                                 }
                                                 else
                                                 {
-                                                *pv = (void *)(long)(i+1);
+                                                *pv = (void *)(intptr_t)(i+1);
 #endif
                                                 fpos += fstWriterVarint(f, 0);
                                                 fpos += wrlen;
@@ -1546,12 +1546,12 @@
                         PPvoid_t pv = JudyHSIns(&PJHSArray, scratchpnt, wrlen, 
NULL);
                         if(*pv)
                                 {
-                                uint32_t pvi = (long)(*pv);
+                                uint32_t pvi = (intptr_t)(*pv);
                                 vm4ip[2] = -pvi;
                                 }
                                 else
                                 {
-                                *pv = (void *)(long)(i+1);
+                                *pv = (void *)(intptr_t)(i+1);
 #endif
                                 fpos += fstWriterVarint(f, 0);
                                 fpos += wrlen;
@@ -2299,22 +2299,24 @@
 #ifndef _WAVE_HAVE_JUDY
         const uint32_t hashmask = FST_PATH_HASHMASK;
         const unsigned char *path2 = (const unsigned char *)path;
+       PPvoid_t pv;
 #else
         char *path2 = alloca(slen + 1); /* judy lacks const qualifier in its 
JudyHSIns definition */
+       PPvoid_t pv;
         strcpy(path2, path);
 #endif
 
-        PPvoid_t pv = JudyHSIns(&(xc->path_array), path2, slen, NULL);
+        pv = JudyHSIns(&(xc->path_array), path2, slen, NULL);
         if(*pv)
                 {
-                sidx = (long)(*pv);
+                sidx = (intptr_t)(*pv);
                 }
                 else
                 {
                 char *rp = NULL;
 
                 sidx = ++xc->path_array_count;
-                *pv = (void *)(long)(xc->path_array_count);
+                *pv = (void *)(intptr_t)(xc->path_array_count);
 
                 if(use_realpath)
                         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/shmidcat.c 
new/gtkwave-3.3.66/src/helpers/shmidcat.c
--- old/gtkwave-3.3.65/src/helpers/shmidcat.c   2014-07-08 20:48:14.000000000 
+0200
+++ new/gtkwave-3.3.66/src/helpers/shmidcat.c   2015-05-09 01:17:16.000000000 
+0200
@@ -35,6 +35,15 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#ifndef _MSC_VER
+#ifndef __MINGW32__
+#include <stdint.h>
+#else
+#include <windows.h>
+#endif
+#endif
+
+
 #include "wave_locale.h"
 
 #if !defined _MSC_VER
@@ -118,7 +127,7 @@
 void emit_string(char *s)
 {
 int len = strlen(s);
-long l_top, l_curr;
+uintptr_t l_top, l_curr;
 int consumed;
 int blksiz;
 
@@ -140,8 +149,8 @@
                        }
                }
 
-       l_top = (long)buf_top;
-       l_curr = (long)buf_curr;
+       l_top = (uintptr_t)buf_top;
+       l_curr = (uintptr_t)buf_curr;
 
        if(l_curr >= l_top)
                {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vcd2fst.c 
new/gtkwave-3.3.66/src/helpers/vcd2fst.c
--- old/gtkwave-3.3.65/src/helpers/vcd2fst.c    2014-10-25 06:12:39.000000000 
+0200
+++ new/gtkwave-3.3.66/src/helpers/vcd2fst.c    2015-05-21 21:22:50.000000000 
+0200
@@ -570,6 +570,11 @@
                char *nam;
                unsigned int hash;
 
+               if(!st)
+                       {
+                       continue; /* variable declaration not on a single line 
*/
+                       }
+
                vartype = FST_VT_VCD_WIRE;
                switch(st[0])
                        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vcd2vzt.c 
new/gtkwave-3.3.66/src/helpers/vcd2vzt.c
--- old/gtkwave-3.3.65/src/helpers/vcd2vzt.c    2014-05-28 06:59:41.000000000 
+0200
+++ new/gtkwave-3.3.66/src/helpers/vcd2vzt.c    2015-05-21 21:22:50.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999-2014 Tony Bybell.
+ * Copyright (c) 1999-2015 Tony Bybell.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -964,8 +964,15 @@
                        }
                        else
                        {
-                       vzt_wr_emit_value_double(lt, v->ltsym, 0, *d);
-                       add_histent(current_time, v->narray[0],'g',1,(char *)d);
+                       if(v->vartype == V_REAL)
+                               {
+                               vzt_wr_emit_value_double(lt, v->ltsym, 0, *d);
+                               add_histent(current_time, 
v->narray[0],'g',1,(char *)d);
+                               }
+                               else
+                               {
+                               fprintf(stderr,"Near line %d, real value change 
for non-real '%s'\n",vcdlineno, yytext);
+                               }
                        free_2(d);
                        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vzt_read.c 
new/gtkwave-3.3.66/src/helpers/vzt_read.c
--- old/gtkwave-3.3.65/src/helpers/vzt_read.c   2015-02-23 05:10:25.000000000 
+0100
+++ new/gtkwave-3.3.66/src/helpers/vzt_read.c   2015-05-09 01:17:16.000000000 
+0200
@@ -319,7 +319,7 @@
 /* vztint32_t *block_end = (vztint32_t *)(pnt + b->uncompressed_siz); */
 vztint32_t *val_tmp;
 unsigned int num_bitplanes;
-long padskip;
+uintptr_t padskip;
 
 num_time_ticks = vzt_rd_get_v32(&pnt);
 /* fprintf(stderr, "* num_time_ticks = %d\n", num_time_ticks); */
@@ -350,7 +350,7 @@
 
 num_sections = vzt_rd_get_v32(&pnt);
 num_dict_entries = vzt_rd_get_v32(&pnt);
-padskip = ((long)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 
4 byte boundary */
+padskip = ((uintptr_t)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to 
next 4 byte boundary */
 
 /* fprintf(stderr, "num_sections: %d, num_dict_entries: %d\n", num_sections, 
num_dict_entries); */
 
@@ -407,7 +407,7 @@
 bpcalc:
 num_bitplanes = vzt_rd_get_byte(pnt, 0) + 1;   pnt++;
 b->multi_state = (num_bitplanes > 1);
-padskip = ((long)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to next 
4 byte boundary */
+padskip = ((uintptr_t)pnt)&3; pnt += (padskip) ? 4-padskip : 0; /* skip pad to 
next 4 byte boundary */
 b->vindex = (vztint32_t *)(pnt);
 
 if(is_big_endian()) /* have to bswap the value changes on big endian 
machines... */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/helpers/vzt_write.c 
new/gtkwave-3.3.66/src/helpers/vzt_write.c
--- old/gtkwave-3.3.65/src/helpers/vzt_write.c  2014-07-17 22:27:04.000000000 
+0200
+++ new/gtkwave-3.3.66/src/helpers/vzt_write.c  2015-05-21 21:22:50.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2009 Tony Bybell.
+ * Copyright (c) 2003-2015 Tony Bybell.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -1223,6 +1223,12 @@
 int val;
 unsigned int numticks;
 
+if(!lt->emitted) /* only happens if there are no value changes */
+        {
+        vzt_wr_emitfacs(lt);
+        lt->emitted = 1;
+       }
+
 if(!lt->timegranule)
        {
        vzt_wr_dsvzt_Tree *t=NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/main.c 
new/gtkwave-3.3.66/src/main.c
--- old/gtkwave-3.3.65/src/main.c       2014-11-23 17:54:17.000000000 +0100
+++ new/gtkwave-3.3.66/src/main.c       2015-06-23 01:32:37.000000000 +0200
@@ -1522,7 +1522,11 @@
        }
 
 
-if(((GLOBALS->loaded_file_type != FST_FILE) && (GLOBALS->loaded_file_type != 
AE2_FILE)) || (!GLOBALS->fast_tree_sort))
+if(((GLOBALS->loaded_file_type != FST_FILE) && (GLOBALS->loaded_file_type != 
AE2_FILE) 
+#if defined(EXTLOAD_SUFFIX)
+                                                                               
       && (GLOBALS->loaded_file_type != EXTLOAD_FILE)
+#endif
+                                                                               
                                                     ) || 
(!GLOBALS->fast_tree_sort))
        {
        GLOBALS->do_hier_compress = 0; /* for now, add more file formats in the 
future */
        }
@@ -1778,15 +1782,15 @@
 
 #ifdef MAC_INTEGRATION
 {
-GtkOSXApplication *theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL);
+GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
 gtk_widget_hide(menubar);
-gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
-gtk_osxapplication_set_use_quartz_accelerators(theApp, TRUE);
-gtk_osxapplication_ready(theApp);
-gtk_osxapplication_set_dock_icon_pixbuf(theApp, dock_pb);
+gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
+gtkosx_application_set_use_quartz_accelerators(theApp, TRUE);
+gtkosx_application_ready(theApp);
+gtkosx_application_set_dock_icon_pixbuf(theApp, dock_pb);
 if(GLOBALS->loaded_file_type == MISSING_FILE)
        {
-       gtk_osxapplication_attention_request(theApp, INFO_REQUEST);
+       gtkosx_application_attention_request(theApp, INFO_REQUEST);
        }
 
 g_signal_connect(theApp, "NSApplicationOpenFile", 
G_CALLBACK(deal_with_finder_open), NULL);
@@ -2023,15 +2027,15 @@
 
 #ifdef MAC_INTEGRATION
 {
-GtkOSXApplication *theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL);
+GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
 gtk_widget_hide(menubar);
-gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
-gtk_osxapplication_set_use_quartz_accelerators(theApp, TRUE);
-gtk_osxapplication_ready(theApp);
-gtk_osxapplication_set_dock_icon_pixbuf(theApp, dock_pb);
+gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
+gtkosx_application_set_use_quartz_accelerators(theApp, TRUE);
+gtkosx_application_ready(theApp);
+gtkosx_application_set_dock_icon_pixbuf(theApp, dock_pb);
 if(GLOBALS->loaded_file_type == MISSING_FILE)
        {
-       gtk_osxapplication_attention_request(theApp, INFO_REQUEST);
+       gtkosx_application_attention_request(theApp, INFO_REQUEST);
        }
 
 g_signal_connect(theApp, "NSApplicationOpenFile", 
G_CALLBACK(deal_with_finder_open), NULL);
@@ -2904,7 +2908,7 @@
                                        {
                                        char buf[64];
 #ifdef MAC_INTEGRATION
-                                       const gchar *p = 
quartz_application_get_executable_path();
+                                       const gchar *p = 
gtkosx_application_get_executable_path();
 #endif
                                        sprintf(buf, "%08x", shmid);
 
@@ -3009,7 +3013,7 @@
       }
       else {
 #ifdef MAC_INTEGRATION
-       const gchar *p = quartz_application_get_executable_path();
+       const gchar *p = gtkosx_application_get_executable_path();
        if(p && strstr(p, "Contents/"))
                {
                const char *xec = "../Resources/bin/vcd2fst";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/markerbox.c 
new/gtkwave-3.3.66/src/markerbox.c
--- old/gtkwave-3.3.65/src/markerbox.c  2014-07-14 02:42:28.000000000 +0200
+++ new/gtkwave-3.3.66/src/markerbox.c  2015-05-09 01:17:16.000000000 +0200
@@ -104,7 +104,7 @@
 hashmask |= hashmask >> 8;
 hashmask |= hashmask >> 16;
 
-i = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
+i = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
 GLOBALS->dirty_markerbox_c_1 = 1;
 
 entry_text = gtk_entry_get_text(GTK_ENTRY(entry));
@@ -138,7 +138,7 @@
 hashmask |= hashmask >> 8;
 hashmask |= hashmask >> 16;
 
-i = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
+i = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
 GLOBALS->dirty_markerbox_c_1 = 1;
 
 entry_text = gtk_entry_get_text(GTK_ENTRY(entry));
@@ -182,7 +182,7 @@
 hashmask |= hashmask >> 8;
 hashmask |= hashmask >> 16;
 
-ent_idx = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
+ent_idx = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
 
 entry=GLOBALS->entries_markerbox_c_1[ent_idx];
 
@@ -237,7 +237,7 @@
 hashmask |= hashmask >> 8;
 hashmask |= hashmask >> 16;
 
-ent_idx = ((int) (((long) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
+ent_idx = ((int) (((intptr_t) which) & hashmask)) % WAVE_NUM_NAMED_MARKERS;
 
 entry=GLOBALS->entries_markerbox_c_1[ent_idx];
 
@@ -396,8 +396,8 @@
     gtk_widget_show (hbox);
 
     GLOBALS->entries_markerbox_c_1[i]=entry = gtk_entry_new_with_max_length 
(48);
-    gtkwave_signal_connect(GTK_OBJECT(entry), "activate", 
GTK_SIGNAL_FUNC(enter_callback), (void *)((long) i));
-    gtkwave_signal_connect(GTK_OBJECT(entry), "changed", 
GTK_SIGNAL_FUNC(change_callback), (void *)((long) i));
+    gtkwave_signal_connect(GTK_OBJECT(entry), "activate", 
GTK_SIGNAL_FUNC(enter_callback), (void *)((intptr_t) i));
+    gtkwave_signal_connect(GTK_OBJECT(entry), "changed", 
GTK_SIGNAL_FUNC(change_callback), (void *)((intptr_t) i));
     if(GLOBALS->shadow_markers_markerbox_c_1[i]==-1)
        {
        sprintf(buf,"<None>");
@@ -415,8 +415,8 @@
     entry = gtk_entry_new_with_max_length (48);
     if(GLOBALS->shadow_marker_names[i]) gtk_entry_set_text (GTK_ENTRY (entry), 
GLOBALS->shadow_marker_names[i]);
     gtk_widget_show (entry);
-    gtkwave_signal_connect(GTK_OBJECT(entry), "activate", 
GTK_SIGNAL_FUNC(str_enter_callback), (void *)((long) i));
-    gtkwave_signal_connect(GTK_OBJECT(entry), "changed", 
GTK_SIGNAL_FUNC(str_change_callback), (void *)((long) i));
+    gtkwave_signal_connect(GTK_OBJECT(entry), "activate", 
GTK_SIGNAL_FUNC(str_enter_callback), (void *)((intptr_t) i));
+    gtkwave_signal_connect(GTK_OBJECT(entry), "changed", 
GTK_SIGNAL_FUNC(str_change_callback), (void *)((intptr_t) i));
 
     gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/menu.c 
new/gtkwave-3.3.66/src/menu.c
--- old/gtkwave-3.3.65/src/menu.c       2014-08-20 00:08:35.000000000 +0200
+++ new/gtkwave-3.3.66/src/menu.c       2015-06-23 01:32:37.000000000 +0200
@@ -2250,10 +2250,10 @@
         }
        else
        {
-        const gchar *bundle_id = quartz_application_get_bundle_id();
+        const gchar *bundle_id = gtkosx_application_get_bundle_id();
         if(bundle_id)
                 {
-                const gchar *rpath = quartz_application_get_resource_path();
+                const gchar *rpath = gtkosx_application_get_resource_path();
                 const char *suf = "/doc/gtkwave.pdf";
                char *pdfpath = NULL;
                FILE *handle;
@@ -8671,7 +8671,9 @@
 gtk_window_add_accel_group(GTK_WINDOW(window), global_accel);
 
 #ifdef MAC_INTEGRATION
+#if defined(HAVE_LIBTCL)
 gtk_widget_hide(menu_wlist[WV_MENU_TCLSEP]);
+#endif
 gtk_widget_hide(menu_wlist[WV_MENU_FQY]);
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/rc.c new/gtkwave-3.3.66/src/rc.c
--- old/gtkwave-3.3.65/src/rc.c 2014-08-11 02:38:54.000000000 +0200
+++ new/gtkwave-3.3.66/src/rc.c 2015-06-23 01:32:37.000000000 +0200
@@ -1003,10 +1003,10 @@
        if(!(handle=fopen(rcpath,"rb")))
                {
 #ifdef MAC_INTEGRATION
-               const gchar *bundle_id = quartz_application_get_bundle_id();
+               const gchar *bundle_id = gtkosx_application_get_bundle_id();
                if(bundle_id)
                        {
-                       const gchar *rpath = 
quartz_application_get_resource_path();
+                       const gchar *rpath = 
gtkosx_application_get_resource_path();
                        const char *suf = "/gtkwaverc";
 
                        rcpath = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/renderopt.c 
new/gtkwave-3.3.66/src/renderopt.c
--- old/gtkwave-3.3.65/src/renderopt.c  2014-07-14 02:42:28.000000000 +0200
+++ new/gtkwave-3.3.66/src/renderopt.c  2015-05-09 01:17:16.000000000 +0200
@@ -43,7 +43,7 @@
 
 for(i=0;i<4;i++) GLOBALS->target_mutex_renderopt_c_1[i]=0;
 
-i = (int)((long)which);
+i = (int)((intptr_t)which);
 GLOBALS->target_mutex_renderopt_c_1[i] = 1; /* mark our choice */
 
 DEBUG(printf("picked: %s\n", render_targets[i]));
@@ -57,7 +57,7 @@
 
 for(i=0;i<5;i++) GLOBALS->page_mutex_renderopt_c_1[i]=0;
 
-GLOBALS->page_size_type_renderopt_c_1 = (int)((long)which);
+GLOBALS->page_size_type_renderopt_c_1 = (int)((intptr_t)which);
 GLOBALS->page_mutex_renderopt_c_1[GLOBALS->page_size_type_renderopt_c_1] = 1; 
/* mark our choice */
 
 DEBUG(printf("picked: %s\n", 
page_size[GLOBALS->page_size_type_renderopt_c_1]));
@@ -71,7 +71,7 @@
 
 for(i=0;i<3;i++) GLOBALS->render_mutex_renderopt_c_1[i]=0;
 
-i = (int)((long)which);
+i = (int)((intptr_t)which);
 GLOBALS->render_mutex_renderopt_c_1[i] = 1; /* mark our choice */
 
 DEBUG(printf("picked: %s\n", render_type[i]));
@@ -475,7 +475,7 @@
        group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem));
        gtk_menu_append (GTK_MENU (menu), menuitem);
        gtk_widget_show (menuitem);
-        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(render_clicked), (void *)((long)i));
+        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(render_clicked), (void *)((intptr_t)i));
        }
 
        GLOBALS->target_mutex_renderopt_c_1[0]=1;       /* "ps" */
@@ -494,7 +494,7 @@
        group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem));
        gtk_menu_append (GTK_MENU (menu), menuitem);
        gtk_widget_show (menuitem);
-        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(pagesize_clicked), (void *)((long)i));
+        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(pagesize_clicked), (void *)((intptr_t)i));
        GLOBALS->page_mutex_renderopt_c_1[i]=0;
        }
 
@@ -517,7 +517,7 @@
        group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem));
        gtk_menu_append (GTK_MENU (menu), menuitem);
        gtk_widget_show (menuitem);
-        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(rendertype_clicked), (void *)((long)i));
+        gtkwave_signal_connect(GTK_OBJECT (menuitem), "activate", 
GTK_SIGNAL_FUNC(rendertype_clicked), (void *)((intptr_t)i));
        GLOBALS->render_mutex_renderopt_c_1[i]=0;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/savefile.c 
new/gtkwave-3.3.66/src/savefile.c
--- old/gtkwave-3.3.65/src/savefile.c   2014-07-17 22:27:04.000000000 +0200
+++ new/gtkwave-3.3.66/src/savefile.c   2015-06-23 01:32:37.000000000 +0200
@@ -2716,7 +2716,7 @@
 /*
  * block termination if in the middle of something important
  */
-gboolean deal_with_termination(GtkOSXApplication *app, gpointer user_data)
+gboolean deal_with_termination(GtkosxApplication *app, gpointer user_data)
 {
 (void)app;
 (void)user_data;
@@ -2736,7 +2736,7 @@
  * Integration with Finder...
  * cache name and load in later off a timer (similar to caching DnD for 
quartz...)
  */
-gboolean deal_with_finder_open(GtkOSXApplication *app, gchar *path, gpointer 
user_data)
+gboolean deal_with_finder_open(GtkosxApplication *app, gchar *path, gpointer 
user_data)
 {
 (void)app;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/savefile.h 
new/gtkwave-3.3.66/src/savefile.h
--- old/gtkwave-3.3.65/src/savefile.h   2013-10-25 22:47:00.000000000 +0200
+++ new/gtkwave-3.3.66/src/savefile.h   2015-06-23 01:32:37.000000000 +0200
@@ -28,8 +28,8 @@
 char *find_dumpfile(char *orig_save, char *orig_dump, char *this_save);
 
 #ifdef MAC_INTEGRATION
-gboolean deal_with_finder_open(GtkOSXApplication *app, gchar *path, gpointer 
user_data);
-gboolean deal_with_termination(GtkOSXApplication *app, gpointer user_data);
+gboolean deal_with_finder_open(GtkosxApplication *app, gchar *path, gpointer 
user_data);
+gboolean deal_with_termination(GtkosxApplication *app, gpointer user_data);
 #endif
 
 gboolean deal_with_rpc_open(const gchar *path, gpointer user_data);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/search.c 
new/gtkwave-3.3.66/src/search.c
--- old/gtkwave-3.3.65/src/search.c     2014-07-14 02:42:28.000000000 +0200
+++ new/gtkwave-3.3.66/src/search.c     2015-05-09 01:17:16.000000000 +0200
@@ -181,7 +181,7 @@
 
 for(i=0;i<5;i++) GLOBALS->regex_mutex_search_c_1[i]=0;
 
-GLOBALS->regex_which_search_c_1=(int)((long)which);
+GLOBALS->regex_which_search_c_1=(int)((intptr_t)which);
 GLOBALS->regex_mutex_search_c_1[GLOBALS->regex_which_search_c_1] = 1; /* mark 
our choice */
 
 
@@ -1095,7 +1095,7 @@
         group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM 
(GLOBALS->menuitem_search[i]));
         gtk_menu_append (GTK_MENU (menu), GLOBALS->menuitem_search[i]);
         gtk_widget_show (GLOBALS->menuitem_search[i]);
-        gtkwave_signal_connect(GTK_OBJECT (GLOBALS->menuitem_search[i]), 
"activate", GTK_SIGNAL_FUNC(regex_clicked), (void *)((long)i));
+        gtkwave_signal_connect(GTK_OBJECT (GLOBALS->menuitem_search[i]), 
"activate", GTK_SIGNAL_FUNC(regex_clicked), (void *)((intptr_t)i));
         GLOBALS->regex_mutex_search_c_1[i]=0;
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/strace.c 
new/gtkwave-3.3.66/src/strace.c
--- old/gtkwave-3.3.65/src/strace.c     2015-04-01 19:16:12.000000000 +0200
+++ new/gtkwave-3.3.66/src/strace.c     2015-05-09 01:17:16.000000000 +0200
@@ -358,7 +358,7 @@
     int i;
     int numtraces;
 
-    GLOBALS->strace_current_window = (int)(long)data; /* arg for which search 
box going in */
+    GLOBALS->strace_current_window = (int)(intptr_t)data; /* arg for which 
search box going in */
     GLOBALS->strace_ctx = 
&GLOBALS->strace_windows[GLOBALS->strace_current_window];
 
     /* fix problem where ungrab doesn't occur if button pressed + simultaneous 
accelerator key occurs */
@@ -1407,7 +1407,7 @@
 {
 TimeType basetime=GLOBALS->tims.first;
 TimeType endtime =MAX_HISTENT_TIME;
-int i, notfirst=0;
+int notfirst=0;
 TimeType *t;
 int t_allocated;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/vcd_recoder.c 
new/gtkwave-3.3.66/src/vcd_recoder.c
--- old/gtkwave-3.3.65/src/vcd_recoder.c        2015-03-10 17:12:25.000000000 
+0100
+++ new/gtkwave-3.3.66/src/vcd_recoder.c        2015-05-21 21:22:50.000000000 
+0200
@@ -395,7 +395,7 @@
        v += vprev;
        vprev = v;
 
-        n->mv.mvlfac_vlist = (struct vlist_t *)(long)(v);
+        n->mv.mvlfac_vlist = (struct vlist_t *)(intptr_t)(v);
        vs = vs->next;
        }
 
@@ -404,7 +404,7 @@
 GLOBALS->fastload_current = NULL;
 
 /* now create the time table */
-vl = (struct vlist_t *)(long)time_vlist_vcd_recoder_write;
+vl = (struct vlist_t *)(intptr_t)time_vlist_vcd_recoder_write;
 vlist_uncompress(&vl);
 depacked = pnt = (char *)vlist_packer_decompress(vl, &list_size);
 vlist_destroy(vl);
@@ -504,7 +504,7 @@
        shamt += 7;
        } while(!(ch & 0x80));
 
-vl = (struct vlist_t *)(long)v;
+vl = (struct vlist_t *)(intptr_t)v;
 vlist_uncompress(&vl);
 depacked = vlist_packer_decompress(vl, &list_size);
 vlist_destroy(vl);
@@ -1290,7 +1290,10 @@
 
                                if((v->vartype!=V_REAL) && 
(v->vartype!=V_STRINGTYPE))
                                        {
-                                       /* ok, typical case */
+                                        if((typ2=='R')||(typ2=='S'))
+                                                {
+                                                typ2 = 'B';     /* ok, typical 
case...fix as 'r' on bits variable causes recoder crash during trace extraction 
*/
+                                                }
                                        }
                                        else
                                        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.65/src/vcd_saver.c 
new/gtkwave-3.3.66/src/vcd_saver.c
--- old/gtkwave-3.3.65/src/vcd_saver.c  2014-07-17 23:40:47.000000000 +0200
+++ new/gtkwave-3.3.66/src/vcd_saver.c  2015-05-09 01:17:16.000000000 +0200
@@ -142,7 +142,7 @@
 
 static long vcdsav_cmp_l(void *i, void *j)
 {
-long il = (long)i, jl = (long)j;
+intptr_t il = (intptr_t)i, jl = (intptr_t)j;
 return(il - jl);
 }
 


Reply via email to