Hello community,

here is the log from the commit of package xvkbd for openSUSE:Factory checked 
in at 2020-06-02 14:37:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xvkbd (Old)
 and      /work/SRC/openSUSE:Factory/.xvkbd.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xvkbd"

Tue Jun  2 14:37:37 2020 rev:28 rq:810402 version:4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/xvkbd/xvkbd.changes      2019-10-16 
09:12:41.747868001 +0200
+++ /work/SRC/openSUSE:Factory/.xvkbd.new.3606/xvkbd.changes    2020-06-02 
14:38:22.171470256 +0200
@@ -1,0 +2,13 @@
+Sat May 30 19:36:21 UTC 2020 - Asterios Dramis <[email protected]>
+
+- Update to version 4.1:
+  * xvkbd-4.0 couldn't read word list without frequency
+    information. This bug is not fixed.
+  * Too slow startup if word list file is large.
+    This problem is now fixed by making xvkbd to read large word
+    list file on the fly.
+  * Modified Makefile.am to add prefix $(DESTDIR) to the
+    destination path.
+  * Fixed duplicate definition problem of variable appres.
+
+-------------------------------------------------------------------

Old:
----
  xvkbd-4.0.tar.gz

New:
----
  xvkbd-4.1.tar.gz

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

Other differences:
------------------
++++++ xvkbd.spec ++++++
--- /var/tmp/diff_new_pack.PJLftp/_old  2020-06-02 14:38:23.283473771 +0200
+++ /var/tmp/diff_new_pack.PJLftp/_new  2020-06-02 14:38:23.283473771 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xvkbd
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           xvkbd
-Version:        4.0
+Version:        4.1
 Release:        0
 Summary:        Virtual Keyboard for the X Window System
 License:        GPL-2.0-or-later
@@ -50,11 +50,11 @@
 
 %build
 %configure
-make %{?_smp_mflags}
+%make_build
 
 %install
 install -dm 0755 %{buildroot}%{_datadir}/X11/app-defaults
-%make_install appdefaultdir=%{buildroot}%{_datadir}/X11/app-defaults 
datarootdir=%{buildroot}%{_datadir}
+%make_install
 desktop-file-install %{SOURCE1}
 install -Dpm 0644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/xvkbd.png
 

++++++ xvkbd-4.0.tar.gz -> xvkbd-4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/ChangeLog new/xvkbd-4.1/ChangeLog
--- old/xvkbd-4.0/ChangeLog     2019-08-31 12:32:58.000000000 +0200
+++ new/xvkbd-4.1/ChangeLog     2020-05-04 06:33:52.000000000 +0200
@@ -439,12 +439,26 @@
 
   - Modifier "Super" (keysym Super_L and Super_R) is now supported,
     although it is not on the supplied keyboard layouts.
-    
+
     Modifier "Super" can be expressed as "\W" in -text option.
-  
+
   - Modifiers did not work correctly before first key is pressed.
     This problem is fixed.
 
   - To build, "./configure" may be used instead of "xmkmf".
- 
-     
\ No newline at end of file
+
+
+Version 4.1 (2020-05-04)
+
+ - xvkbd-4.0 couldn't read word list without frequency information.
+   This bug is not fixed.
+
+ - Too slow startup if word list file is large.
+   This problem is now fixed by making xvkbd to read large word list file
+   on the fly.
+
+ - Modified Makefile.am to add prefix $(DESTDIR) to the destination path.
+
+ - Fixed duplicate definition problem of variable appres.
+
+ 
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/Imakefile new/xvkbd-4.1/Imakefile
--- old/xvkbd-4.0/Imakefile     2019-08-31 09:45:09.000000000 +0200
+++ new/xvkbd-4.1/Imakefile     2020-05-04 09:10:40.000000000 +0200
@@ -68,7 +68,7 @@
 InstallAppDefaults(XVkbd-uk)
 InstallAppDefaults(XVkbd-strip)
 
-InstallNonExec(words.english, $(SHAREDIR)/words.english)
+InstallNonExec(words.english,$(SHAREDIR)/words.english)
 
 
 README:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/Makefile.am new/xvkbd-4.1/Makefile.am
--- old/xvkbd-4.0/Makefile.am   2019-09-01 00:03:14.000000000 +0200
+++ new/xvkbd-4.1/Makefile.am   2020-02-08 12:43:15.000000000 +0100
@@ -17,11 +17,12 @@
        [ which ad2c > /dev/null ] || ad2c XVkbd-common.ad > XVkbd-common.h
 
 install-data-hook:
+       [ -d $(DESTDIR)$(appdefaultdir) ] || mkdir $(DESTDIR)$(appdefaultdir)
        for file in *.ad; do \
-               $(INSTALL_DATA) $$file $(appdefaultdir)/$${file%.ad}; \
+               $(INSTALL_DATA) $$file $(DESTDIR)$(appdefaultdir)/$${file%.ad}; 
\
        done
-       [ -d $(datarootdir)/xvkbd/ ] || mkdir $(datarootdir)/xvkbd/
-       $(INSTALL_DATA) words.english $(datarootdir)/xvkbd/words.english
+       [ -d $(DESTDIR)$(datarootdir)/xvkbd/ ] || mkdir 
$(DESTDIR)$(datarootdir)/xvkbd/
+       $(INSTALL_DATA) words.english 
$(DESTDIR)$(datarootdir)/xvkbd/words.english
 
 EXTRA_DIST = XVkbd-common.h *.ad *.xbm xvkbd.man README ChangeLog Imakefile 
words.english
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/Makefile.in new/xvkbd-4.1/Makefile.in
--- old/xvkbd-4.0/Makefile.in   2019-09-01 00:03:18.000000000 +0200
+++ new/xvkbd-4.1/Makefile.in   2020-05-04 06:45:55.000000000 +0200
@@ -988,11 +988,12 @@
        [ which ad2c > /dev/null ] || ad2c XVkbd-common.ad > XVkbd-common.h
 
 install-data-hook:
+       [ -d $(DESTDIR)$(appdefaultdir) ] || mkdir $(DESTDIR)$(appdefaultdir)
        for file in *.ad; do \
-               $(INSTALL_DATA) $$file $(appdefaultdir)/$${file%.ad}; \
+               $(INSTALL_DATA) $$file $(DESTDIR)$(appdefaultdir)/$${file%.ad}; 
\
        done
-       [ -d $(datarootdir)/xvkbd/ ] || mkdir $(datarootdir)/xvkbd/
-       $(INSTALL_DATA) words.english $(datarootdir)/xvkbd/words.english
+       [ -d $(DESTDIR)$(datarootdir)/xvkbd/ ] || mkdir 
$(DESTDIR)$(datarootdir)/xvkbd/
+       $(INSTALL_DATA) words.english 
$(DESTDIR)$(datarootdir)/xvkbd/words.english
 
 clean::
        rm -f *~ *.bak
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/README new/xvkbd-4.1/README
--- old/xvkbd-4.0/README        2019-09-01 00:17:45.000000000 +0200
+++ new/xvkbd-4.1/README        2020-05-04 06:44:07.000000000 +0200
@@ -360,7 +360,7 @@
            - \{keysym} - the keysym keysym (e.g., \{Left}), which will be
              processed in more primitive matter and can also be used for
              modofier keys such as Control_L, Meta_L, etc.; also,
-             \{+keysym} and \{+keysym} will simulate press and release of
+             \{+keysym} and \{-keysym} will simulate press and release of
              the key, respectively
 
            - \Ddigit - delay digit * 100 ms
@@ -559,10 +559,12 @@
 Download
        Latest Official Release
 
-           http://t-sato.in.coocan.jp/xvkbd/xvkbd-4.0.tar.gz
-           - source of version 4.0 (2019-08-31)
+           http://t-sato.in.coocan.jp/xvkbd/xvkbd-4.1.tar.gz
+           - source of version 4.1 (2020-05-04)
 
        previous release
+           http://t-sato.in.coocan.jp/xvkbd/xvkbd-4.0.tar.gz
+           - source of version 4.0 (2019-08-31)
            http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.9.tar.gz
            - source of version 3.9 (2018-02-25)
            http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.8.tar.gz
@@ -762,6 +764,14 @@
          o Num Lock (and maybe other modifiers) on the physical keyboard
            may not work correctly when xvkbd is in use.
 
+         o After updated from xvkbd-3.x to xvkbd-4.x, you may need to reset
+           the completion dictionary by clicking "Default" button after
+           "Static Dictionary:" in the xvkbd's property panel.
+
+         o Known Bug: xvkbd-4.0 can no longer read dictonary file without
+           frequency information, such as /usr/share/dict/words.  I will
+           fix this problem in the next release.
+
     Additional Informations
        ChangeLog
            http://t-sato.in.coocan.jp/xvkbd/ChangeLog
@@ -785,4 +795,4 @@
        The latest version of this software and more information about it
        may be available at http://t-sato.in.coocan.jp/xvkbd/.
 
-                                 2019-09-01                        xvkbd(1)
+                                 2020-05-04                        xvkbd(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/XVkbd-common.ad 
new/xvkbd-4.1/XVkbd-common.ad
--- old/xvkbd-4.0/XVkbd-common.ad       2019-08-31 09:12:11.000000000 +0200
+++ new/xvkbd-4.1/XVkbd-common.ad       2020-05-03 11:24:53.000000000 +0200
@@ -160,7 +160,7 @@
 XVkbd*menu.quit.label: Quit
 XVkbd*menu.SmeBSB.rightMargin: 30
 
-XVkbd*props_panel.title: xvkbd - proprety
+XVkbd*props_panel.title: xvkbd - property
 XVkbd*props_panel*defaultDistance: 10
 XVkbd*props_panel*vertDistance: 5
 XVkbd*props_panel*always_on_top.label: Always on Top?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/XVkbd-common.h new/xvkbd-4.1/XVkbd-common.h
--- old/xvkbd-4.0/XVkbd-common.h        2019-08-31 09:12:20.000000000 +0200
+++ new/xvkbd-4.1/XVkbd-common.h        2020-05-03 11:24:56.000000000 +0200
@@ -135,7 +135,7 @@
 "XVkbd*menu.close_display.label: Revert to Local Display",
 "XVkbd*menu.quit.label: Quit",
 "XVkbd*menu.SmeBSB.rightMargin: 30",
-"XVkbd*props_panel.title: xvkbd - proprety",
+"XVkbd*props_panel.title: xvkbd - property",
 "XVkbd*props_panel*defaultDistance: 10",
 "XVkbd*props_panel*vertDistance: 5",
 "XVkbd*props_panel*always_on_top.label: Always on Top?",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/configure new/xvkbd-4.1/configure
--- old/xvkbd-4.0/configure     2019-08-31 10:42:52.000000000 +0200
+++ new/xvkbd-4.1/configure     2020-05-04 06:45:55.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xvkbd 4.0.
+# Generated by GNU Autoconf 2.69 for xvkbd 4.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='xvkbd'
 PACKAGE_TARNAME='xvkbd'
-PACKAGE_VERSION='4.0'
-PACKAGE_STRING='xvkbd 4.0'
+PACKAGE_VERSION='4.1'
+PACKAGE_STRING='xvkbd 4.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1283,7 +1283,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 xvkbd 4.0 to adapt to many kinds of systems.
+\`configure' configures xvkbd 4.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1353,7 +1353,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xvkbd 4.0:";;
+     short | recursive ) echo "Configuration of xvkbd 4.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1459,7 +1459,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xvkbd configure 4.0
+xvkbd configure 4.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1828,7 +1828,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xvkbd $as_me 4.0, which was
+It was created by xvkbd $as_me 4.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2691,7 +2691,7 @@
 
 # Define the identity of the package.
  PACKAGE='xvkbd'
- VERSION='4.0'
+ VERSION='4.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5753,7 +5753,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xvkbd $as_me 4.0, which was
+This file was extended by xvkbd $as_me 4.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5819,7 +5819,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xvkbd config.status 4.0
+xvkbd config.status 4.1
 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/xvkbd-4.0/configure.ac new/xvkbd-4.1/configure.ac
--- old/xvkbd-4.0/configure.ac  2019-08-31 10:42:46.000000000 +0200
+++ new/xvkbd-4.1/configure.ac  2020-05-04 06:45:46.000000000 +0200
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([xvkbd], [4.0], [[email protected]])
+AC_INIT([xvkbd], [4.1], [[email protected]])
 AM_INIT_AUTOMAKE([foreign])
 AC_CONFIG_SRCDIR([resources.h])
 AC_CONFIG_HEADERS([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/resources.h new/xvkbd-4.1/resources.h
--- old/xvkbd-4.0/resources.h   2019-08-31 07:57:55.000000000 +0200
+++ new/xvkbd-4.1/resources.h   2020-05-04 06:13:52.000000000 +0200
@@ -110,8 +110,9 @@
   float private_dict_decay;
   Boolean insert_blank_after_completion;
   Boolean integrate_completion_panel;
-} appres;
+};
 
+extern struct appres_struct appres;
 
 /* FindWidget() is defined in findwidget.c */
 extern Window FindWidget(Widget w, Window client, const char *name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xvkbd-4.0/xvkbd.c new/xvkbd-4.1/xvkbd.c
--- old/xvkbd-4.0/xvkbd.c       2019-09-01 00:14:31.000000000 +0200
+++ new/xvkbd-4.1/xvkbd.c       2020-05-04 06:34:19.000000000 +0200
@@ -1,8 +1,8 @@
 /*
  * xvkbd - Virtual Keyboard for X Window System
- * (Version 4.0, 2019-08-31)
+ * (Version 4.1, 2020-05-04)
  *
- * Copyright (C) 2000-2019 by Tom Sato <[email protected]>
+ * Copyright (C) 2000-2020 by Tom Sato <[email protected]>
  * http://t-sato.in.coocan.jp/xvkbd/
  *
  * This program is free software; you can redistribute it and/or
@@ -25,6 +25,7 @@
 #include <time.h>
 #include <fnmatch.h>
 #include <limits.h>
+#include <sys/time.h>
 
 #include <X11/Intrinsic.h>
 #include <X11/StringDefs.h>
@@ -58,7 +59,7 @@
 #endif
 
 #include "resources.h"
-#define PROGRAM_NAME_WITH_VERSION "xvkbd (v4.0)"
+#define PROGRAM_NAME_WITH_VERSION "xvkbd (v4.1)"
 
 #define PRIVATE_DICT ".xvkbd.words"
 
@@ -461,6 +462,8 @@
 /*
  * Global variables
  */
+struct appres_struct appres;
+
 static char dict_filename[PATH_MAX] = "";
 static char private_dict_weight_value[20] = "1";
 
@@ -1352,7 +1355,7 @@
 static Boolean need_insert_blank = FALSE;
 
 #define MINIMUM_COMPLETION_PREFIX_LENGTH 2
-#define HASH_SIZE 100
+#define HASH_SIZE 1000
 #define Hash(str)   ((toupper(str[0]) * 26 + toupper(str[1])) % HASH_SIZE)
 
 static void UpdateCompetionDictionary(const char *str);
@@ -1423,14 +1426,19 @@
       if (stage != 0) fprintf(stderr, "%s: can't read dictionary file %s: 
%s\n",
                              PROGRAM_NAME, dict_filename_p, strerror(errno));
     } else {
-      if (appres.debug) fprintf(stderr, "xvkbd: ReadCompletionDictionary: 
reading %s\n", dict_filename_p);
+      struct timeval tv0, tv;
       
+      if (appres.debug) fprintf(stderr, "xvkbd: ReadCompletionDictionary: 
reading %s\n", dict_filename_p);
+
+      gettimeofday(&tv0, NULL);
       while (fgets(str, sizeof(str) - 1, fp)) {
-       if (MINIMUM_COMPLETION_PREFIX_LENGTH + 1 < strlen(str)) {
+       int len = strlen(str);
+       if (MINIMUM_COMPLETION_PREFIX_LENGTH + 1 < len) {
          char *p;
          float str_frequency;
 
          str_frequency = 0;
+         str[len - 1] = 0;
          p = strrchr(str, ' ');
          if (p != NULL && isdigit(*(p + 1))) {
            str_frequency = atof(p + 1);
@@ -1460,6 +1468,23 @@
            n_completion_words++;
          }
        }
+
+       gettimeofday(&tv, NULL);
+       if (300 < (1000 + (tv.tv_usec / 1000 - tv0.tv_usec / 1000)) % 1000) {
+         /* read huge dictionary file on the fly */
+         tv0 = tv;
+
+         XEvent event;
+         XtAppContext app_con;
+
+         if (appres.debug) fprintf(stderr, "xvkbd: ReadCompletionDictionary: 
reading... %d\n", n_completion_words);
+                                   
+         app_con = XtWidgetToApplicationContext(toplevel);
+         while (XtAppPending(app_con) & XtIMXEvent) {
+           XtAppNextEvent(app_con, &event);
+           XtDispatchEvent(&event);
+         }
+       }
       }
       fclose(fp);
     }
@@ -1681,7 +1706,7 @@
     }
   }
 
-  ReadCompletionDictionary();
+  /* ReadCompletionDictionary(); */
 
   if (completion_entry != None) {
     snprintf(msg, sizeof(msg), "%d words in the dictionary", 
n_completion_words);
@@ -4161,6 +4186,8 @@
 
     if (open_keypad_panel) MenuSelected(None, "keypad");
 
+    ReadCompletionDictionary();
+
     XtAppMainLoop(app_con);
   }
   exit(0);



Reply via email to