Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ibus-m17n for openSUSE:Factory 
checked in at 2023-11-13 22:18:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibus-m17n (Old)
 and      /work/SRC/openSUSE:Factory/.ibus-m17n.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ibus-m17n"

Mon Nov 13 22:18:42 2023 rev:34 rq:1125102 version:1.4.24

Changes:
--------
--- /work/SRC/openSUSE:Factory/ibus-m17n/ibus-m17n.changes      2023-08-04 
15:04:19.168615685 +0200
+++ /work/SRC/openSUSE:Factory/.ibus-m17n.new.17445/ibus-m17n.changes   
2023-11-13 22:21:11.748220570 +0100
@@ -1,0 +2,7 @@
+Fri Nov 10 18:09:50 UTC 2023 - Gordon Leung <piratec...@protonmail.com>
+
+- Update to 1.4.24
+ * Make IBusEngineSimple read ~/.XCompose
+ * Do not hide empty preedit text before committing text
+
+-------------------------------------------------------------------

Old:
----
  ibus-m17n-1.4.20.tar.gz

New:
----
  ibus-m17n-1.4.24.tar.gz

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

Other differences:
------------------
++++++ ibus-m17n.spec ++++++
--- /var/tmp/diff_new_pack.h196k2/_old  2023-11-13 22:21:12.616252530 +0100
+++ /var/tmp/diff_new_pack.h196k2/_new  2023-11-13 22:21:12.616252530 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ibus-m17n
-Version:        1.4.20
+Version:        1.4.24
 Release:        0
 Summary:        The M17N engine for IBus platform
 License:        GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.h196k2/_old  2023-11-13 22:21:12.644253561 +0100
+++ /var/tmp/diff_new_pack.h196k2/_new  2023-11-13 22:21:12.648253708 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/ibus/ibus-m17n</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
-    <param name="revision">1.4.20</param>
+    <param name="revision">1.4.24</param>
     <param name="versionrewrite-pattern">(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>
   </service>

++++++ ibus-m17n-1.4.20.tar.gz -> ibus-m17n-1.4.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/aclocal.m4 
new/ibus-m17n-1.4.24/aclocal.m4
--- old/ibus-m17n-1.4.20/aclocal.m4     2023-08-01 21:53:31.000000000 +0200
+++ new/ibus-m17n-1.4.24/aclocal.m4     2023-11-10 18:12:50.000000000 +0100
@@ -20,8 +20,8 @@
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 
'autoreconf'.])])
 
-# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
-# serial 11 (pkg-config-0.29.1)
+# pkg.m4 - Macros to locate and use pkg-config.   -*- Autoconf -*-
+# serial 12 (pkg-config-0.29.2)
 
 dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>.
 dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com>
@@ -63,7 +63,7 @@
 dnl See the "Since" comment for each macro you use to see what version
 dnl of the macros you require.
 m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29.1])
+[m4_define([PKG_MACROS_VERSION], [0.29.2])
 m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
     [m4_fatal([pkg.m4 version $1 or higher is required but 
]PKG_MACROS_VERSION[ found])])
 ])dnl PKG_PREREQ
@@ -108,7 +108,7 @@
 dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
 dnl
 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-dnl only at the first occurence in configure.ac, so if the first place
+dnl only at the first occurrence in configure.ac, so if the first place
 dnl it's called might be skipped (such as if it is within an "if", you
 dnl have to call PKG_CHECK_EXISTS manually
 AC_DEFUN([PKG_CHECK_EXISTS],
@@ -164,7 +164,7 @@
 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
 
 pkg_failed=no
-AC_MSG_CHECKING([for $1])
+AC_MSG_CHECKING([for $2])
 
 _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
 _PKG_CONFIG([$1][_LIBS], [libs], [$2])
@@ -174,17 +174,17 @@
 See the pkg-config man page for more details.])
 
 if test $pkg_failed = yes; then
-       AC_MSG_RESULT([no])
+        AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "$2" 2>&1`
-        else 
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"$2" 2>&1`
+                $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "$2" 2>&1`
+        else
+                $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"$2" 2>&1`
         fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+        # Put the nasty error message in config.log where it belongs
+        echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-       m4_default([$4], [AC_MSG_ERROR(
+        m4_default([$4], [AC_MSG_ERROR(
 [Package requirements ($2) were not met:
 
 $$1_PKG_ERRORS
@@ -195,8 +195,8 @@
 _PKG_TEXT])[]dnl
         ])
 elif test $pkg_failed = untried; then
-       AC_MSG_RESULT([no])
-       m4_default([$4], [AC_MSG_FAILURE(
+        AC_MSG_RESULT([no])
+        m4_default([$4], [AC_MSG_FAILURE(
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -206,10 +206,10 @@
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
         ])
 else
-       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+        $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
         AC_MSG_RESULT([yes])
-       $3
+        $3
 fi[]dnl
 ])dnl PKG_CHECK_MODULES
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/config.guess 
new/ibus-m17n-1.4.24/config.guess
--- old/ibus-m17n-1.4.20/config.guess   2023-08-01 21:53:32.000000000 +0200
+++ new/ibus-m17n-1.4.24/config.guess   2023-11-10 18:12:51.000000000 +0100
@@ -1,10 +1,10 @@
 #!/usr/bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2022 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2022-05-25'
+timestamp='2023-06-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@
 usage="\
 Usage: $0 [OPTION]
 
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
 
 Options:
   -h, --help         print this help, then exit
@@ -60,13 +60,13 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -102,8 +102,8 @@
 # temporary files to be created and, as you can see below, it is a
 # headache to deal with in a portable fashion.
 
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
 
 # Portable tmp directory creation inspired by the Autoconf team.
 
@@ -459,7 +459,7 @@
                UNAME_RELEASE=`uname -v`
                ;;
        esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
+       # Japanese Language versions have a version number like '4.1.3-JL'.
        SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
        GUESS=sparc-sun-sunos$SUN_REL
        ;;
@@ -966,6 +966,12 @@
        GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
        GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
        ;;
+    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+       GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+       ;;
+    *:[Mm]anagarm:*:*)
+       GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+       ;;
     *:Minix:*:*)
        GUESS=$UNAME_MACHINE-unknown-minix
        ;;
@@ -1036,7 +1042,7 @@
     k1om:Linux:*:*)
        GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
        ;;
-    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
        GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
        ;;
     m32r*:Linux:*:*)
@@ -1191,7 +1197,7 @@
        GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
        ;;
     i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
+       # If we were able to find 'uname', then EMX Unix compatibility
        # is probably installed.
        GUESS=$UNAME_MACHINE-pc-os2-emx
        ;;
@@ -1332,7 +1338,7 @@
                GUESS=ns32k-sni-sysv
        fi
        ;;
-    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+    PENTIUM:*:4.0*:*)  # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
                        # says <richard.m.bar...@ccmail.census.gov>
        GUESS=i586-unisys-sysv4
        ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/config.sub 
new/ibus-m17n-1.4.24/config.sub
--- old/ibus-m17n-1.4.20/config.sub     2023-08-01 21:53:32.000000000 +0200
+++ new/ibus-m17n-1.4.24/config.sub     2023-11-10 18:12:51.000000000 +0100
@@ -1,10 +1,10 @@
 #!/usr/bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2022 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2022-01-03'
+timestamp='2023-06-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -76,13 +76,13 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -130,7 +130,7 @@
 # Separate into logical components for further validation
 case $1 in
        *-*-*-*-*)
-               echo Invalid configuration \`"$1"\': more than four components 
>&2
+               echo "Invalid configuration '$1': more than four components" >&2
                exit 1
                ;;
        *-*-*-*)
@@ -145,7 +145,7 @@
                        nto-qnx* | linux-* | uclinux-uclibc* \
                        | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | 
netbsd*-gnu* \
                        | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
-                       | storm-chaos* | os2-emx* | rtmk-nova*)
+                       | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
                                basic_machine=$field1
                                basic_os=$maybe_os
                                ;;
@@ -943,7 +943,7 @@
 EOF
                IFS=$saved_IFS
                ;;
-       # We use `pc' rather than `unknown'
+       # We use 'pc' rather than 'unknown'
        # because (1) that's what they normally are, and
        # (2) the word "unknown" tends to confuse beginning users.
        i*86 | x86_64)
@@ -1075,7 +1075,7 @@
        pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
                cpu=i586
                ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+       pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
                cpu=i686
                ;;
        pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1207,7 +1207,7 @@
                        | k1om \
                        | le32 | le64 \
                        | lm32 \
-                       | loongarch32 | loongarch64 | loongarchx32 \
+                       | loongarch32 | loongarch64 \
                        | m32c | m32r | m32rle \
                        | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | 
m68k \
                        | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
@@ -1285,7 +1285,7 @@
                                ;;
 
                        *)
-                               echo Invalid configuration \`"$1"\': machine 
\`"$cpu-$vendor"\' not recognized 1>&2
+                               echo "Invalid configuration '$1': machine 
'$cpu-$vendor' not recognized" 1>&2
                                exit 1
                                ;;
                esac
@@ -1341,6 +1341,10 @@
                kernel=linux
                os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
                ;;
+       managarm*)
+               kernel=managarm
+               os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+               ;;
        *)
                kernel=
                os=$basic_os
@@ -1754,7 +1758,7 @@
             | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
             | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
             | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
-            | fiwix* )
+            | fiwix* | mlibc* )
                ;;
        # This one is extra strict with allowed versions
        sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1762,8 +1766,11 @@
                ;;
        none)
                ;;
+       kernel* )
+               # Restricted further below
+               ;;
        *)
-               echo Invalid configuration \`"$1"\': OS \`"$os"\' not 
recognized 1>&2
+               echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
                exit 1
                ;;
 esac
@@ -1772,14 +1779,24 @@
 # (given a valid OS), if there is a kernel.
 case $kernel-$os in
        linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
-                  | linux-musl* | linux-relibc* | linux-uclibc* )
+                  | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* 
)
                ;;
        uclinux-uclibc* )
                ;;
-       -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
+       managarm-mlibc* | managarm-kernel* )
+               ;;
+       -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
                # These are just libc implementations, not actual OSes, and thus
                # require a kernel.
-               echo "Invalid configuration \`$1': libc \`$os' needs explicit 
kernel." 1>&2
+               echo "Invalid configuration '$1': libc '$os' needs explicit 
kernel." 1>&2
+               exit 1
+               ;;
+       -kernel* )
+               echo "Invalid configuration '$1': '$os' needs explicit kernel." 
1>&2
+               exit 1
+               ;;
+       *-kernel* )
+               echo "Invalid configuration '$1': '$kernel' does not support 
'$os'." 1>&2
                exit 1
                ;;
        kfreebsd*-gnu* | kopensolaris*-gnu*)
@@ -1796,7 +1813,7 @@
                # Blank kernel with real OS is always fine.
                ;;
        *-*)
-               echo "Invalid configuration \`$1': Kernel \`$kernel' not known 
to work with OS \`$os'." 1>&2
+               echo "Invalid configuration '$1': Kernel '$kernel' not known to 
work with OS '$os'." 1>&2
                exit 1
                ;;
 esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/configure 
new/ibus-m17n-1.4.24/configure
--- old/ibus-m17n-1.4.20/configure      2023-08-01 21:53:32.000000000 +0200
+++ new/ibus-m17n-1.4.24/configure      2023-11-10 18:12:50.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ibus-m17n 1.4.20.
+# Generated by GNU Autoconf 2.71 for ibus-m17n 1.4.24.
 #
 # Report bugs to <http://code.google.com/p/ibus/issues/entry>.
 #
@@ -621,8 +621,8 @@
 # Identity of this package.
 PACKAGE_NAME='ibus-m17n'
 PACKAGE_TARNAME='ibus-m17n'
-PACKAGE_VERSION='1.4.20'
-PACKAGE_STRING='ibus-m17n 1.4.20'
+PACKAGE_VERSION='1.4.24'
+PACKAGE_STRING='ibus-m17n 1.4.24'
 PACKAGE_BUGREPORT='http://code.google.com/p/ibus/issues/entry'
 PACKAGE_URL=''
 
@@ -1416,7 +1416,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 ibus-m17n 1.4.20 to adapt to many kinds of systems.
+\`configure' configures ibus-m17n 1.4.24 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1487,7 +1487,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ibus-m17n 1.4.20:";;
+     short | recursive ) echo "Configuration of ibus-m17n 1.4.24:";;
    esac
   cat <<\_ACEOF
 
@@ -1623,7 +1623,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ibus-m17n configure 1.4.20
+ibus-m17n configure 1.4.24
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2046,7 +2046,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ibus-m17n $as_me 1.4.20, which was
+It was created by ibus-m17n $as_me 1.4.24, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3534,7 +3534,7 @@
 
 # Define the identity of the package.
  PACKAGE='ibus-m17n'
- VERSION='1.4.20'
+ VERSION='1.4.24'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -5106,9 +5106,9 @@
 
 # define PACKAGE_VERSION_* variables
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.4.20 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.4.20 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.4.20 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.4.24 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.4.24 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.4.24 | cut -d'.' -f3)
 
 
 
@@ -5118,7 +5118,7 @@
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 printf %s "checking nano version... " >&6; }
 
-  NANO=$(echo 1.4.20 | cut -d'.' -f4)
+  NANO=$(echo 1.4.24 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -18319,8 +18319,12 @@
 fi
 
 pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IBUS" >&5
-printf %s "checking for IBUS... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for
+    ibus-1.0 >= 1.4
+" >&5
+printf %s "checking for
+    ibus-1.0 >= 1.4
+... " >&6; }
 
 if test -n "$IBUS_CFLAGS"; then
     pkg_cv_IBUS_CFLAGS="$IBUS_CFLAGS"
@@ -18372,7 +18376,7 @@
 
 
 if test $pkg_failed = yes; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -18381,18 +18385,18 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "
+                IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "
     ibus-1.0 >= 1.4
 " 2>&1`
         else
-               IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
+                IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
     ibus-1.0 >= 1.4
 " 2>&1`
         fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$IBUS_PKG_ERRORS" >&5
+        # Put the nasty error message in config.log where it belongs
+        echo "$IBUS_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (
+        as_fn_error $? "Package requirements (
     ibus-1.0 >= 1.4
 ) were not met:
 
@@ -18405,9 +18409,9 @@
 and IBUS_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
-       { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" 
>&5
+        { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" 
>&5
 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make 
sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
@@ -18420,8 +18424,8 @@
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
 else
-       IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS
-       IBUS_LIBS=$pkg_cv_IBUS_LIBS
+        IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS
+        IBUS_LIBS=$pkg_cv_IBUS_LIBS
         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 printf "%s\n" "yes" >&6; }
 
@@ -18430,8 +18434,12 @@
 # check m17n
 
 pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for M17N" >&5
-printf %s "checking for M17N... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for
+    m17n-shell
+" >&5
+printf %s "checking for
+    m17n-shell
+... " >&6; }
 
 if test -n "$M17N_CFLAGS"; then
     pkg_cv_M17N_CFLAGS="$M17N_CFLAGS"
@@ -18483,7 +18491,7 @@
 
 
 if test $pkg_failed = yes; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -18492,18 +18500,18 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               M17N_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "
+                M17N_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "
     m17n-shell
 " 2>&1`
         else
-               M17N_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
+                M17N_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
     m17n-shell
 " 2>&1`
         fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$M17N_PKG_ERRORS" >&5
+        # Put the nasty error message in config.log where it belongs
+        echo "$M17N_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (
+        as_fn_error $? "Package requirements (
     m17n-shell
 ) were not met:
 
@@ -18516,9 +18524,9 @@
 and M17N_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
-       { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" 
>&5
+        { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" 
>&5
 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make 
sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
@@ -18531,8 +18539,8 @@
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
 else
-       M17N_CFLAGS=$pkg_cv_M17N_CFLAGS
-       M17N_LIBS=$pkg_cv_M17N_LIBS
+        M17N_CFLAGS=$pkg_cv_M17N_CFLAGS
+        M17N_LIBS=$pkg_cv_M17N_LIBS
         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 printf "%s\n" "yes" >&6; }
 
@@ -18568,8 +18576,8 @@
 if test x$with_gtk != xno; then
 
 pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5
-printf %s "checking for GTK... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 
gtk+-$GTK_API_VERSION >= $GTK_REQUIRED" >&5
+printf %s "checking for gtk+-$GTK_API_VERSION >= $GTK_REQUIRED... " >&6; }
 
 if test -n "$GTK_CFLAGS"; then
     pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
@@ -18609,7 +18617,7 @@
 
 
 if test $pkg_failed = yes; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -18618,21 +18626,21 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "gtk+-$GTK_API_VERSION >= $GTK_REQUIRED" 2>&1`
+                GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "gtk+-$GTK_API_VERSION >= $GTK_REQUIRED" 2>&1`
         else
-               GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"gtk+-$GTK_API_VERSION >= $GTK_REQUIRED" 2>&1`
+                GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"gtk+-$GTK_API_VERSION >= $GTK_REQUIRED" 2>&1`
         fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$GTK_PKG_ERRORS" >&5
+        # Put the nasty error message in config.log where it belongs
+        echo "$GTK_PKG_ERRORS" >&5
 
-       with_gtk=no
+        with_gtk=no
 elif test $pkg_failed = untried; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
-       with_gtk=no
+        with_gtk=no
 else
-       GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
-       GTK_LIBS=$pkg_cv_GTK_LIBS
+        GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
+        GTK_LIBS=$pkg_cv_GTK_LIBS
         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 printf "%s\n" "yes" >&6; }
 
@@ -21463,7 +21471,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ibus-m17n $as_me 1.4.20, which was
+This file was extended by ibus-m17n $as_me 1.4.24, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21531,7 +21539,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-ibus-m17n config.status 1.4.20
+ibus-m17n config.status 1.4.24
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/configure.ac 
new/ibus-m17n-1.4.24/configure.ac
--- old/ibus-m17n-1.4.20/configure.ac   2023-08-01 21:53:05.000000000 +0200
+++ new/ibus-m17n-1.4.24/configure.ac   2023-11-10 18:12:09.000000000 +0100
@@ -22,7 +22,7 @@
 m4_define([ibus_released], [1])
 m4_define([ibus_major_version], [1])
 m4_define([ibus_minor_version], [4])
-m4_define([ibus_micro_version], [20])
+m4_define([ibus_micro_version], [24])
 m4_define(ibus_maybe_datestamp,
     m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d 
'\n\r'; fi]))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/m17n.appdata.xml 
new/ibus-m17n-1.4.24/m17n.appdata.xml
--- old/ibus-m17n-1.4.20/m17n.appdata.xml       2023-08-01 21:53:05.000000000 
+0200
+++ new/ibus-m17n-1.4.24/m17n.appdata.xml       2023-11-10 18:12:09.000000000 
+0100
@@ -26,7 +26,9 @@
   <icon type="remote" width="128" 
height="128">https://raw.githubusercontent.com/ibus/ibus-m17n/main/icons/128x128/ibus-m17n.png</icon>
   <icon type="remote" width="256" 
height="256">https://raw.githubusercontent.com/ibus/ibus-m17n/main/icons/256x256/ibus-m17n.png</icon>
   <project_license>GPL-2</project_license>
-  <developer_name>Parag Nemade, Mike FABIAN</developer_name>
+  <developer>
+    <name>Parag Nemade, Mike FABIAN</name>
+  </developer>
   <update_contact>pnem...@redhat.com, mfab...@redhat.com</update_contact>
   <url type="homepage">https://github.com/ibus/ibus-m17n</url>
   <url type="bugtracker">https://github.com/ibus/ibus-m17n/issues</url>
@@ -34,6 +36,67 @@
   <url 
type="translate">https://translate.fedoraproject.org/projects/ibus-m17n/</url>
   <content_rating type="oars-1.1" />
   <releases>
+    <release version="1.4.24" date="2023-10-28" urgency="medium">
+      <url>https://github.com/ibus/ibus-m17n/releases/tag/1.4.24</url>
+      <description>
+        <p>This new stable release includes these changes:</p>
+        <ul>
+          <li>
+            Do not hide empty preedit text before committing text (Resolves: 
github-pull#64).
+            Together with ibus >= 1.5.29 this solves the preedit flicker 
problem perfectly.
+          </li>
+        </ul>
+      </description>
+      <issues>
+        <issue url="https://github.com/ibus/ibus-m17n/pull/64";>
+          github-pull#64
+        </issue>
+      </issues>
+    </release>
+    <release version="1.4.23" date="2023-10-27" urgency="medium">
+      <url>https://github.com/ibus/ibus-m17n/releases/tag/1.4.23</url>
+      <description>
+        <p>This new stable release includes these changes:</p>
+        <ul>
+          <li>
+            Do not translate the Multi_key when using the option “☑️ Use 
US keyboard layout”
+          </li>
+          <li>
+            Fix option “☑️ Use US keyboard layout” (Resolves: 
github-issues#66)
+          </li>
+          <li>
+            Translation update from Weblate: new language Hindi, hi 100%
+          </li>
+        </ul>
+      </description>
+      <issues>
+        <issue url="https://github.com/ibus/ibus-m17n/issues/66";>
+          github-issues#66
+        </issue>
+      </issues>
+    </release>
+    <release version="1.4.22" date="2023-08-21" urgency="medium">
+      <url>https://github.com/ibus/ibus-m17n/releases/tag/1.4.22</url>
+      <description>
+        <p>This new stable release includes these changes:</p>
+        <ul>
+          <li>
+            Translation update from Weblate (Lithuanian, lt 100%)
+          </li>
+        </ul>
+      </description>
+    </release>
+    <release version="1.4.21" date="2023-08-07" urgency="medium">
+      <url>https://github.com/ibus/ibus-m17n/releases/tag/1.4.21</url>
+      <description>
+        <p>This new stable release includes these changes:</p>
+        <ul>
+          <li>
+            Translation update from Weblate (Swedish, sv 100%)
+          </li>
+        </ul>
+      </description>
+    </release>
     <release version="1.4.20" date="2023-07-30" urgency="medium">
       <url>https://github.com/ibus/ibus-m17n/releases/tag/1.4.20</url>
       <description>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/LINGUAS 
new/ibus-m17n-1.4.24/po/LINGUAS
--- old/ibus-m17n-1.4.20/po/LINGUAS     2022-09-08 09:56:50.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/LINGUAS     2023-10-27 16:16:11.000000000 +0200
@@ -16,3 +16,6 @@
 bn
 ar
 ka
+sv
+lt
+hi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/ar.po 
new/ibus-m17n-1.4.24/po/ar.po
--- old/ibus-m17n-1.4.20/po/ar.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/ar.po       2023-11-10 18:13:00.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.9\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2022-09-04 07:05+0000\n"
 "Last-Translator: Avid Seeker <avidseek...@protonmail.com>\n"
 "Language-Team: Arabic <https://translate.fedoraproject.org/projects/ibus-";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/bn.po 
new/ibus-m17n-1.4.24/po/bn.po
--- old/ibus-m17n-1.4.20/po/bn.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/bn.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.3\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2021-04-04 09:01+0000\n"
 "Last-Translator: Abu Huraira <abuhura...@tutamail.com>\n"
 "Language-Team: Bengali <https://translate.fedoraproject.org/projects/ibus-";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/de.po 
new/ibus-m17n-1.4.24/po/de.po
--- old/ibus-m17n-1.4.20/po/de.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/de.po       2023-11-10 18:12:59.000000000 +0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.0\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2019-12-19 09:38+0000\n"
 "Last-Translator: Mike FABIAN <mfab...@redhat.com>\n"
 "Language-Team: German <https://translate.stg.fedoraproject.org/projects/ibus-";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/es.po 
new/ibus-m17n-1.4.24/po/es.po
--- old/ibus-m17n-1.4.20/po/es.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/es.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2020-06-19 12:40+0000\n"
 "Last-Translator: Emilio Herrera <ehespinos...@gmail.com>\n"
 "Language-Team: Spanish <https://translate.fedoraproject.org/projects/ibus-";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/fa.po 
new/ibus-m17n-1.4.24/po/fa.po
--- old/ibus-m17n-1.4.20/po/fa.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/fa.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/fr.po 
new/ibus-m17n-1.4.24/po/fr.po
--- old/ibus-m17n-1.4.20/po/fr.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/fr.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2020-01-18 16:32+0000\n"
 "Last-Translator: Julien Humbert <julro...@gmail.com>\n"
 "Language-Team: French <https://translate.stg.fedoraproject.org/projects/ibus-";
Binary files old/ibus-m17n-1.4.20/po/hi.gmo and new/ibus-m17n-1.4.24/po/hi.gmo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/hi.po 
new/ibus-m17n-1.4.24/po/hi.po
--- old/ibus-m17n-1.4.20/po/hi.po       1970-01-01 01:00:00.000000000 +0100
+++ new/ibus-m17n-1.4.24/po/hi.po       2023-11-10 18:13:00.000000000 +0100
@@ -0,0 +1,116 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Huang Peng <shawn.p.hu...@gmail.com>
+# This file is distributed under the same license as the ibus-m17n package.
+# Sudip Shil <ss...@redhat.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: ibus-m17n 1.4.20\n"
+"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/m17nutil.c:351
+msgid "M17N"
+msgstr "एम17एन"
+
+#: src/ibus-m17n-preferences.ui:14
+msgid "System"
+msgstr "प्रणाली"
+
+#: src/ibus-m17n-preferences.ui:18
+msgid "Vertical"
+msgstr "खड़ा"
+
+#: src/ibus-m17n-preferences.ui:22
+msgid "Horizontal"
+msgstr "क्षैतिज"
+
+#: src/ibus-m17n-preferences.ui:36
+msgid "Single"
+msgstr "अकेला"
+
+#: src/ibus-m17n-preferences.ui:40
+msgid "Double"
+msgstr "दोगुना"
+
+#: src/ibus-m17n-preferences.ui:44
+msgid "Low"
+msgstr "कम"
+
+#: src/ibus-m17n-preferences.ui:48
+msgid "None"
+msgstr "कुछ नहीं"
+
+#: src/ibus-m17n-preferences.ui:57
+msgid "Preferences"
+msgstr "पसंद"
+
+#: src/ibus-m17n-preferences.ui:172
+msgid "Foreground:"
+msgstr "अग्रभूमि:"
+
+#: src/ibus-m17n-preferences.ui:181
+msgid "Background:"
+msgstr "पृष्ठभूमि:"
+
+#: src/ibus-m17n-preferences.ui:196
+msgid "Underline:"
+msgstr "रेखांकन:"
+
+#: src/ibus-m17n-preferences.ui:211
+msgid "<b>Pre-edit Appearance</b>"
+msgstr "<b>पूर्व-संपादन उपस्थिति</b>"
+
+#: src/ibus-m17n-preferences.ui:244
+msgid "Lookup Table Orientation:"
+msgstr "लुकअप टेबल ओरिएंटेशन:"
+
+#: src/ibus-m17n-preferences.ui:260
+msgid "Use US keyboard layout"
+msgstr "यूएस कीबोर्ड लेआउट का 
उपयोग करें"
+
+#: src/ibus-m17n-preferences.ui:280
+msgid "<b>Other</b>"
+msgstr "<b>अन्य</b>"
+
+#: src/ibus-m17n-preferences.ui:299
+msgid "General"
+msgstr "सामान्य"
+
+#: src/ibus-m17n-preferences.ui:347
+msgid "<b>m17n-lib Configuration</b>"
+msgstr "<b>m17n-lib कॉन्फ़िगरेशन</b>"
+
+#: src/ibus-m17n-preferences.ui:362
+msgid "Advanced"
+msgstr "उन्नत"
+
+#: src/ibus-setup-m17n.desktop.in.in:3
+msgid "IBus M17N Setup"
+msgstr "आईबीस एम17एन सेटअप"
+
+#: src/ibus-setup-m17n.desktop.in.in:4
+msgid "Set up IBus M17N engine"
+msgstr "आईबीस एम17एन इंजन सेट करें"
+
+#: m17n.appdata.xml:6
+msgid "Ibus M17N"
+msgstr "आईबीस एम17एन"
+
+#: m17n.appdata.xml:7
+msgid "M17N input engine for IBus"
+msgstr "आईबस के लिए एम17एन इनपुट 
इंजन"
+
+#: m17n.appdata.xml:9
+msgid ""
+"This multilingualization input method allows entering many languages using "
+"the input methods from the m17n library."
+msgstr ""
+"यह बहुभाषीकरण इनपुट विधि 
एम17एन लाइब्रेरी से इनपुट 
विधियों का उपयोग करके कई 
भाषाओं में "
+"प्रवेश करने की अनुमति देती 
है।"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/ibus-m17n.pot 
new/ibus-m17n-1.4.24/po/ibus-m17n.pot
--- old/ibus-m17n-1.4.20/po/ibus-m17n.pot       2023-08-01 21:53:05.000000000 
+0200
+++ new/ibus-m17n-1.4.24/po/ibus-m17n.pot       2023-11-10 18:12:09.000000000 
+0100
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: ibus-m17n 1.4.20\n"
+"Project-Id-Version: ibus-m17n 1.4.24\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/id.po 
new/ibus-m17n-1.4.24/po/id.po
--- old/ibus-m17n-1.4.20/po/id.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/id.po       2023-11-10 18:12:59.000000000 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2019-12-20 00:06+0000\n"
 "Last-Translator: Mike FABIAN <mfab...@redhat.com>\n"
 "Language-Team: Indonesian <https://translate.stg.fedoraproject.org/projects/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/ja.po 
new/ibus-m17n-1.4.24/po/ja.po
--- old/ibus-m17n-1.4.20/po/ja.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/ja.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2019-12-19 09:38+0000\n"
 "Last-Translator: Mike FABIAN <mfab...@redhat.com>\n"
 "Language-Team: Japanese <https://translate.stg.fedoraproject.org/projects/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/ka.po 
new/ibus-m17n-1.4.24/po/ka.po
--- old/ibus-m17n-1.4.20/po/ka.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/ka.po       2023-11-10 18:13:00.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.10\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
Binary files old/ibus-m17n-1.4.20/po/lt.gmo and new/ibus-m17n-1.4.24/po/lt.gmo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/lt.po 
new/ibus-m17n-1.4.24/po/lt.po
--- old/ibus-m17n-1.4.20/po/lt.po       1970-01-01 01:00:00.000000000 +0100
+++ new/ibus-m17n-1.4.24/po/lt.po       2023-11-10 18:13:00.000000000 +0100
@@ -0,0 +1,121 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Huang Peng <shawn.p.hu...@gmail.com>
+# This file is distributed under the same license as the ibus-m17n package.
+# mooo <ha...@hotmail.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: ibus-m17n 1.4.20\n"
+"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
+"PO-Revision-Date: 2023-08-20 13:21+0000\n"
+"Last-Translator: mooo <ha...@hotmail.com>\n"
+"Language-Team: Lithuanian <https://translate.fedoraproject.org/projects/ibus-";
+"m17n/app/lt/>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > "
+"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? "
+"1 : 2);\n"
+"X-Generator: Weblate 4.18.2\n"
+
+#: src/m17nutil.c:351
+msgid "M17N"
+msgstr "M17N"
+
+#: src/ibus-m17n-preferences.ui:14
+msgid "System"
+msgstr "Sistema"
+
+#: src/ibus-m17n-preferences.ui:18
+msgid "Vertical"
+msgstr "Vertikali"
+
+#: src/ibus-m17n-preferences.ui:22
+msgid "Horizontal"
+msgstr "Horizontali"
+
+#: src/ibus-m17n-preferences.ui:36
+msgid "Single"
+msgstr "Viengubas"
+
+#: src/ibus-m17n-preferences.ui:40
+msgid "Double"
+msgstr "Dvigubas"
+
+#: src/ibus-m17n-preferences.ui:44
+msgid "Low"
+msgstr "Žemas"
+
+#: src/ibus-m17n-preferences.ui:48
+msgid "None"
+msgstr "Nėra"
+
+#: src/ibus-m17n-preferences.ui:57
+msgid "Preferences"
+msgstr "Parametrai"
+
+#: src/ibus-m17n-preferences.ui:172
+msgid "Foreground:"
+msgstr "Priekinis planas:"
+
+#: src/ibus-m17n-preferences.ui:181
+msgid "Background:"
+msgstr "Fonas:"
+
+#: src/ibus-m17n-preferences.ui:196
+msgid "Underline:"
+msgstr "Pabraukimas:"
+
+#: src/ibus-m17n-preferences.ui:211
+msgid "<b>Pre-edit Appearance</b>"
+msgstr "<b>Parengtinio taisymo išvaizda</b>"
+
+#: src/ibus-m17n-preferences.ui:244
+msgid "Lookup Table Orientation:"
+msgstr "Paieškos lentelės orientacija:"
+
+#: src/ibus-m17n-preferences.ui:260
+msgid "Use US keyboard layout"
+msgstr "Naudoti JAV klaviatūros išdėstymą"
+
+#: src/ibus-m17n-preferences.ui:280
+msgid "<b>Other</b>"
+msgstr "<b>Kita</b>"
+
+#: src/ibus-m17n-preferences.ui:299
+msgid "General"
+msgstr "Bendri"
+
+#: src/ibus-m17n-preferences.ui:347
+msgid "<b>m17n-lib Configuration</b>"
+msgstr "<b>m17n-lib konfigūracija</b>"
+
+#: src/ibus-m17n-preferences.ui:362
+msgid "Advanced"
+msgstr "Išplėstiniai"
+
+#: src/ibus-setup-m17n.desktop.in.in:3
+msgid "IBus M17N Setup"
+msgstr "IBus M17N sąranka"
+
+#: src/ibus-setup-m17n.desktop.in.in:4
+msgid "Set up IBus M17N engine"
+msgstr "Nustatyti IBus M17N modulį"
+
+#: m17n.appdata.xml:6
+msgid "Ibus M17N"
+msgstr "Ibus M17N"
+
+#: m17n.appdata.xml:7
+msgid "M17N input engine for IBus"
+msgstr "M17N įvesties modulis, skirtas IBus"
+
+#: m17n.appdata.xml:9
+msgid ""
+"This multilingualization input method allows entering many languages using "
+"the input methods from the m17n library."
+msgstr ""
+"Šis daugiakalbystės įvesties metodas leidžia rašyti daugeliu kalbų 
naudojant "
+"įvesties metodus iš m17n bibliotekos."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/pt_BR.po 
new/ibus-m17n-1.4.24/po/pt_BR.po
--- old/ibus-m17n-1.4.20/po/pt_BR.po    2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/pt_BR.po    2023-11-10 18:12:59.000000000 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2021-03-08 02:01+0000\n"
 "Last-Translator: Rafael Fontenelle <rafae...@gnome.org>\n"
 "Language-Team: Portuguese (Brazil) <https://translate.fedoraproject.org/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/si.po 
new/ibus-m17n-1.4.24/po/si.po
--- old/ibus-m17n-1.4.20/po/si.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/si.po       2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.3\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2023-02-19 11:57+0000\n"
 "Last-Translator: Hela Basa <r45xv...@pm.me>\n"
 "Language-Team: Sinhala <https://translate.fedoraproject.org/projects/ibus-";
Binary files old/ibus-m17n-1.4.20/po/sv.gmo and new/ibus-m17n-1.4.24/po/sv.gmo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/sv.po 
new/ibus-m17n-1.4.24/po/sv.po
--- old/ibus-m17n-1.4.20/po/sv.po       1970-01-01 01:00:00.000000000 +0100
+++ new/ibus-m17n-1.4.24/po/sv.po       2023-11-10 18:13:00.000000000 +0100
@@ -0,0 +1,116 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Huang Peng <shawn.p.hu...@gmail.com>
+# This file is distributed under the same license as the ibus-m17n package.
+# Luna Jernberg <bit...@reimu.nl>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: ibus-m17n 1.4.17\n"
+"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/m17nutil.c:351
+msgid "M17N"
+msgstr "M17N"
+
+#: src/ibus-m17n-preferences.ui:14
+msgid "System"
+msgstr "Systemstandard"
+
+#: src/ibus-m17n-preferences.ui:18
+msgid "Vertical"
+msgstr "Vertikalt"
+
+#: src/ibus-m17n-preferences.ui:22
+msgid "Horizontal"
+msgstr "Horisontellt"
+
+#: src/ibus-m17n-preferences.ui:36
+msgid "Single"
+msgstr "Ensam"
+
+#: src/ibus-m17n-preferences.ui:40
+msgid "Double"
+msgstr "Dubbel"
+
+#: src/ibus-m17n-preferences.ui:44
+msgid "Low"
+msgstr "LÃ¥g"
+
+#: src/ibus-m17n-preferences.ui:48
+msgid "None"
+msgstr "Ingen"
+
+#: src/ibus-m17n-preferences.ui:57
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: src/ibus-m17n-preferences.ui:172
+msgid "Foreground:"
+msgstr "Förgrund:"
+
+#: src/ibus-m17n-preferences.ui:181
+msgid "Background:"
+msgstr "Bakgrund:"
+
+#: src/ibus-m17n-preferences.ui:196
+msgid "Underline:"
+msgstr "Understrykning:"
+
+#: src/ibus-m17n-preferences.ui:211
+msgid "<b>Pre-edit Appearance</b>"
+msgstr "<b>Förredigera utseende</b>"
+
+#: src/ibus-m17n-preferences.ui:244
+msgid "Lookup Table Orientation:"
+msgstr "Uppslagstabellorientering:"
+
+#: src/ibus-m17n-preferences.ui:260
+msgid "Use US keyboard layout"
+msgstr "Använd US-amerikansk tangentbordslayout"
+
+#: src/ibus-m17n-preferences.ui:280
+msgid "<b>Other</b>"
+msgstr "<b>Annat</b>"
+
+#: src/ibus-m17n-preferences.ui:299
+msgid "General"
+msgstr "Allmänt"
+
+#: src/ibus-m17n-preferences.ui:347
+msgid "<b>m17n-lib Configuration</b>"
+msgstr "<b>m17n-lib-konfiguration</b>"
+
+#: src/ibus-m17n-preferences.ui:362
+msgid "Advanced"
+msgstr "Avancerat"
+
+#: src/ibus-setup-m17n.desktop.in.in:3
+msgid "IBus M17N Setup"
+msgstr "Installation av IBus M17N"
+
+#: src/ibus-setup-m17n.desktop.in.in:4
+msgid "Set up IBus M17N engine"
+msgstr "Ställ in IBus M17N-motor"
+
+#: m17n.appdata.xml:6
+msgid "Ibus M17N"
+msgstr "Ibus M17N"
+
+#: m17n.appdata.xml:7
+msgid "M17N input engine for IBus"
+msgstr "M17N inmatningsmetod för IBus"
+
+#: m17n.appdata.xml:9
+msgid ""
+"This multilingualization input method allows entering many languages using "
+"the input methods from the m17n library."
+msgstr ""
+"Denna inmatningsmetod för flerspråkighet tillåter inmatning av många 
språk "
+"med inmatningsmetoderna från m17n-biblioteket."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/tr.po 
new/ibus-m17n-1.4.24/po/tr.po
--- old/ibus-m17n-1.4.20/po/tr.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/tr.po       2023-11-10 18:12:59.000000000 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.0\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2019-12-19 11:20+0000\n"
 "Last-Translator: Oğuz Ersen <oguzer...@protonmail.com>\n"
 "Language-Team: Turkish <https://translate.stg.fedoraproject.org/projects/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/uk.po 
new/ibus-m17n-1.4.24/po/uk.po
--- old/ibus-m17n-1.4.20/po/uk.po       2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/uk.po       2023-11-10 18:12:59.000000000 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2020-01-17 17:15+0000\n"
 "Last-Translator: Yuri Chornoivan <yurc...@ukr.net>\n"
 "Language-Team: Ukrainian <https://translate.stg.fedoraproject.org/projects/";
Binary files old/ibus-m17n-1.4.20/po/zh_CN.gmo and 
new/ibus-m17n-1.4.24/po/zh_CN.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/zh_CN.po 
new/ibus-m17n-1.4.24/po/zh_CN.po
--- old/ibus-m17n-1.4.20/po/zh_CN.po    2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/zh_CN.po    2023-11-10 18:12:59.000000000 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2021-01-28 17:40+0000\n"
 "Last-Translator: Dingzhong Chen <wsxy...@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/po/zh_TW.po 
new/ibus-m17n-1.4.24/po/zh_TW.po
--- old/ibus-m17n-1.4.20/po/zh_TW.po    2023-08-01 21:53:35.000000000 +0200
+++ new/ibus-m17n-1.4.24/po/zh_TW.po    2023-11-10 18:12:59.000000000 +0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ibus-m17n 1.4.1\n"
 "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n";
-"POT-Creation-Date: 2023-07-30 20:35+0200\n"
+"POT-Creation-Date: 2023-11-10 18:06+0100\n"
 "PO-Revision-Date: 2022-07-21 06:42+0000\n"
 "Last-Translator: Mike FABIAN <mfab...@redhat.com>\n"
 "Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-m17n-1.4.20/src/engine.c 
new/ibus-m17n-1.4.24/src/engine.c
--- old/ibus-m17n-1.4.20/src/engine.c   2023-08-01 21:52:54.000000000 +0200
+++ new/ibus-m17n-1.4.24/src/engine.c   2023-11-10 18:03:20.000000000 +0100
@@ -443,6 +443,8 @@
     g_object_ref_sink (m17n->table);
     m17n->context = NULL;
     m17n->us_keymap = ibus_keymap_get ("us");
+    /* Load $HOME/.XCompose file: */
+    ibus_engine_simple_add_table_by_locale ((IBusEngineSimple *) m17n, NULL);
 }
 
 static GObject*
@@ -550,6 +552,10 @@
     gchar *buf;
     IBusM17NEngineClass *klass = (IBusM17NEngineClass *) G_OBJECT_GET_CLASS 
(m17n);
 
+    if (!mtext_len (m17n->context->preedit)) {
+        /* Do not update the preedit if it has length 0 to avoid flicker */
+        return;
+    }
     buf = ibus_m17n_mtext_to_utf8 (m17n->context->preedit);
     if (buf) {
         text = ibus_text_new_from_string (buf);
@@ -564,13 +570,28 @@
         ibus_engine_update_preedit_text_with_mode ((IBusEngine *) m17n,
                                                    text,
                                                    m17n->context->cursor_pos,
-                                                   mtext_len 
(m17n->context->preedit) > 0,
+                                                   TRUE,
                                                    klass->preedit_focus_mode);
     }
     g_free (buf);
 }
 
 static void
+ibus_m17n_engine_hide_preedit_if_empty (IBusM17NEngine *m17n)
+{
+    IBusM17NEngineClass *klass = (IBusM17NEngineClass *) G_OBJECT_GET_CLASS 
(m17n);
+    if (mtext_len (m17n->context->preedit)) {
+        return;
+    }
+    ibus_engine_update_preedit_text_with_mode (
+        (IBusEngine *) m17n,
+        ibus_text_new_from_string (""),
+        0,
+        FALSE,
+        klass->preedit_focus_mode);
+}
+
+static void
 ibus_m17n_engine_commit_string (IBusM17NEngine *m17n,
                                 const gchar    *string)
 {
@@ -703,6 +724,7 @@
     retval = minput_filter (m17n->context, key, NULL);
 
     if (retval) {
+        ibus_m17n_engine_hide_preedit_if_empty (m17n);
         return TRUE;
     }
 
@@ -721,7 +743,7 @@
         ibus_m17n_engine_commit_string (m17n, buf);
     }
     g_free (buf);
-
+    ibus_m17n_engine_hide_preedit_if_empty (m17n);
     return retval == 0;
 }
 
@@ -747,28 +769,28 @@
         break;
     }
 
+    if (klass->use_us_layout) {
+        if (g_strcmp0 (ibus_keyval_name (keyval), "Multi_key") != 0) {
+            /*
+              Do not translate the Multi_key: If the non-US layout has
+              a Multi_key, trying to translate it to US layout just
+              takes it away. Skipping the translation keeps the
+              Multi_key around which is more useful, it can still be
+              used for Compose then.
+             */
+            keyval = ibus_keymap_lookup_keysym (m17n->us_keymap,
+                                                keycode,
+                                                modifiers);
+        }
+    }
+
     /*
       Compose support:
 
       IBusM17NEngine inherits from
       IBusEngineSimple. IBUS_ENGINE_CLASS(parent_class)->process_key_event()
-      calls ibus_engine_simple_process_key_event(). If this does not
-      start to process a compose sequence, it calls
-      ibus_engine_hide_preedit_text((IBusEngine *)simple) before
-      returning FALSE. If m17n->context->preedit was not empty when
-      this happens, the preedit of IBusM17NEngine disappears for a
-      very short moment until it is shown again later when
-      IBusM17NEngine continues processing the key event. This may
-      cause a flicker in the preedit.  How visible this flicker is
-      depends on the circumstances, but sometimes it can be quite
-      visible and annoying. It seems possible to avoid 99% of the
-      flicker by calling ibus_engine_show_preedit_text ((IBusEngine
-      *)m17n) directly before **and** after
-      IBUS_ENGINE_CLASS(parent_class)->process_key_event() if the
-      preedit of IBusM17NEngine is not empty.
+      calls ibus_engine_simple_process_key_event(). This will handle compose 
sequences.
     */
-    if (mtext_len (m17n->context->preedit) > 0)
-        ibus_engine_show_preedit_text ((IBusEngine *)m17n);
     if (IBUS_ENGINE_CLASS (parent_class)->process_key_event (engine, keyval, 
keycode, modifiers)) {
         if (mtext_len (m17n->context->preedit) > 0) {
             gchar *buf;
@@ -783,18 +805,10 @@
         }
         return TRUE;
     }
-    if (mtext_len (m17n->context->preedit) > 0)
-        ibus_engine_show_preedit_text ((IBusEngine *)m17n);
 
     if (modifiers & IBUS_RELEASE_MASK)
         return FALSE;
 
-    if (klass->use_us_layout) {
-        keyval = ibus_keymap_lookup_keysym (m17n->us_keymap,
-                                            keycode,
-                                            modifiers);
-    }
-
     MSymbol m17n_key = ibus_m17n_key_event_to_symbol (m17n,
                                                       keycode,
                                                       keyval,

Reply via email to