summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-lib/libx11
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-graphics/xorg-lib/libx11
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-graphics/xorg-lib/libx11')
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff520
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch22
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff17
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch19
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/libX11-Add-missing-NULL-check.patch72
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/nls-always-use-XCOMM-instead-of-for-comments-in-Comp.patch101
6 files changed, 751 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff b/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff
new file mode 100644
index 0000000000..744cedc777
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff
@@ -0,0 +1,520 @@
1Upstream-Status: Pending
2
3Upstream-Status: Inappropriate [configuration]
4Index: libX11-1.3/src/imConv.c
5===================================================================
6--- libX11-1.3.orig/src/imConv.c
7+++ libX11-1.3/src/imConv.c
8@@ -83,6 +83,7 @@ static const struct SubstRec SubstTable[
9 * from UCS char to specified charset char.
10 * This converter is needed for _XimGetCharCode subroutine.
11 */
12+#ifdef XLOCALE
13 XPointer
14 _XimGetLocaleCode (
15 _Xconst char* encoding_name)
16@@ -96,6 +97,7 @@ _XimGetLocaleCode (
17 }
18 return cvt;
19 }
20+#endif
21
22 /*
23 * Returns the locale dependent representation of a keysym.
24@@ -106,6 +108,7 @@ _XimGetLocaleCode (
25 * terminating NUL byte. Return 0 if the keysym is not representable in the
26 * locale
27 */
28+#ifdef XLOCALE
29 /*ARGSUSED*/
30 int
31 _XimGetCharCode (
32@@ -135,6 +138,7 @@ _XimGetCharCode (
33 buf[count]= '\0';
34 return count;
35 }
36+#endif
37
38 #ifdef XKB
39 static int lookup_string(
40Index: libX11-1.3/src/X18NCMSstubs.c
41===================================================================
42--- /dev/null
43+++ libX11-1.3/src/X18NCMSstubs.c
44@@ -0,0 +1,428 @@
45+/*
46+ * X18NCMSstubs.c
47+ * - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed
48+ *
49+ * Copyright 2003 Matthew Allum
50+ *
51+ * Permission to use, copy, modify, distribute, and sell this software and its
52+ * documentation for any purpose is hereby granted without fee, provided that
53+ * the above copyright notice appear in all copies and that both that
54+ * copyright notice and this permission notice appear in supporting
55+ * documentation, and that the name of Matthew Allum not be used in
56+ * advertising or publicity pertaining to distribution of the software without
57+ * specific, written prior permission. Keith Packard and Compaq makes no
58+ * representations about the suitability of this software for any purpose. It
59+ * is provided "as is" without express or implied warranty.
60+ *
61+ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
62+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
63+ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
64+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
65+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
66+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
67+ * PERFORMANCE OF THIS SOFTWARE.
68+ */
69+
70+#include <stdlib.h>
71+#include "Xlibint.h"
72+#include "Xlcint.h"
73+#include <X11/Xlocale.h>
74+#include <X11/Xos.h>
75+#ifdef WIN32
76+#undef close
77+#endif
78+#include <X11/Xutil.h>
79+#include "XlcPubI.h"
80+
81+#include "Xcmsint.h" /* for XcmsCCC type */
82+#include "XlcPubI.h" /* for XLCd type */
83+#include "config.h"
84+
85+#if ! XLOCALE
86+
87+Bool
88+XSupportsLocale()
89+{
90+ return False;
91+}
92+
93+char *
94+XSetLocaleModifiers(
95+ const char *modifiers)
96+{
97+ return NULL;
98+}
99+
100+XLCd
101+_XOpenLC(
102+ char *name)
103+{
104+ return NULL;
105+}
106+
107+XLCd
108+_XlcCurrentLC()
109+{
110+ return NULL;
111+}
112+
113+void
114+_XlcVaToArgList(
115+ va_list var,
116+ int count,
117+ XlcArgList *args_ret)
118+{
119+ return;
120+}
121+
122+void
123+_XlcCountVaList(
124+ va_list var,
125+ int *count_ret)
126+{
127+ return;
128+}
129+
130+void
131+_XCloseLC(
132+ XLCd lcd)
133+{
134+ return;
135+}
136+
137+int
138+_XlcConvert(
139+ XlcConv conv,
140+ XPointer *from,
141+ int *from_left,
142+ XPointer *to,
143+ int *to_left,
144+ XPointer *args,
145+ int num_args)
146+{
147+ return 0;
148+}
149+
150+/* XIM Stubs */
151+
152+XPointer
153+_XimGetLocaleCode ( _Xconst char* encoding_name )
154+{
155+ return NULL;
156+}
157+
158+int
159+_XimGetCharCode (
160+ XPointer ucs_conv,
161+ KeySym keysym,
162+ unsigned char* buf,
163+ int nbytes)
164+{
165+ return 0;
166+}
167+
168+/* Xrm Stubs */
169+
170+XrmMethods
171+_XrmInitParseInfo(
172+ XPointer *state)
173+{
174+ return (XrmMethods) NULL;
175+}
176+
177+/* Xwc Stubs */
178+
179+int
180+XwcTextExtents(
181+ XFontSet font_set,
182+ _Xconst wchar_t *text,
183+ int text_len,
184+ XRectangle *overall_ink_extents,
185+ XRectangle *overall_logical_extents)
186+{
187+ return 0;
188+}
189+
190+void
191+XwcDrawString(Display *display,
192+ Drawable d,
193+ XFontSet font_set,
194+ GC gc,
195+ int x, int y,
196+ _Xconst wchar_t *string,
197+ int num_wchars)
198+{
199+ ;
200+}
201+
202+void
203+XwcDrawText(
204+ Display *dpy,
205+ Drawable d,
206+ GC gc,
207+ int x,
208+ int y,
209+ XwcTextItem *text_items,
210+ int nitems)
211+{
212+ ;
213+}
214+
215+void
216+XwcDrawImageString(
217+ Display *dpy,
218+ Drawable d,
219+ XFontSet font_set,
220+ GC gc,
221+ int x,
222+ int y,
223+ _Xconst wchar_t *text,
224+ int text_len)
225+{
226+ ;
227+}
228+
229+int
230+XwcTextEscapement(
231+ XFontSet font_set,
232+ _Xconst wchar_t *text,
233+ int text_len)
234+{
235+ return 0;
236+}
237+
238+Status
239+XwcTextPerCharExtents(
240+ XFontSet font_set,
241+ _Xconst wchar_t *text,
242+ int text_len,
243+ XRectangle *ink_extents_buffer,
244+ XRectangle *logical_extents_buffer,
245+ int buffer_size,
246+ int *num_chars,
247+ XRectangle *max_ink_extents,
248+ XRectangle *max_logical_extents)
249+{
250+ return(XcmsFailure);
251+}
252+
253+int
254+XwcTextPropertyToTextList(
255+ Display *dpy,
256+ const XTextProperty *text_prop,
257+ wchar_t ***list_ret,
258+ int *count_ret)
259+{
260+ return 0;
261+}
262+
263+int
264+XwcTextListToTextProperty(
265+ Display *dpy,
266+ wchar_t **list,
267+ int count,
268+ XICCEncodingStyle style,
269+ XTextProperty *text_prop)
270+{
271+ return 0;
272+}
273+
274+void
275+XwcFreeStringList(wchar_t **list)
276+{
277+ return;
278+}
279+
280+
281+void XmbSetWMProperties ( /* Actually from mbWMProps.c */
282+ Display *dpy,
283+ Window w,
284+ _Xconst char *windowName,
285+ _Xconst char *iconName,
286+ char **argv,
287+ int argc,
288+ XSizeHints *sizeHints,
289+ XWMHints *wmHints,
290+ XClassHint *classHints)
291+{
292+ return;
293+}
294+
295+int
296+XmbTextPropertyToTextList(
297+ Display *dpy,
298+ const XTextProperty *text_prop,
299+ char ***list_ret,
300+ int *count_ret)
301+{
302+ return XLocaleNotSupported;
303+}
304+
305+int
306+XmbTextListToTextProperty(
307+ Display *dpy,
308+ char **list,
309+ int count,
310+ XICCEncodingStyle style,
311+ XTextProperty *text_prop)
312+{
313+ return XLocaleNotSupported;
314+}
315+
316+int
317+XmbTextExtents(
318+ XFontSet font_set,
319+ _Xconst char *text,
320+ int text_len,
321+ XRectangle *overall_ink_extents,
322+ XRectangle *overall_logical_extents)
323+{
324+ return 0;
325+}
326+
327+void
328+XmbDrawText(
329+ Display *dpy,
330+ Drawable d,
331+ GC gc,
332+ int x,
333+ int y,
334+ XmbTextItem *text_items,
335+ int nitems)
336+{
337+ ;
338+}
339+
340+void
341+XmbDrawString(
342+ Display *dpy,
343+ Drawable d,
344+ XFontSet font_set,
345+ GC gc,
346+ int x,
347+ int y,
348+ _Xconst char *text,
349+ int text_len)
350+{
351+ ;
352+}
353+
354+void
355+XmbDrawImageString(
356+ Display *dpy,
357+ Drawable d,
358+ XFontSet font_set,
359+ GC gc,
360+ int x,
361+ int y,
362+ _Xconst char *text,
363+ int text_len)
364+{
365+ ;
366+}
367+
368+int
369+XmbTextEscapement(
370+ XFontSet font_set,
371+ _Xconst char *text,
372+ int text_len)
373+{
374+ return 0;
375+}
376+
377+Status
378+XmbTextPerCharExtents(
379+ XFontSet font_set,
380+ _Xconst char *text,
381+ int text_len,
382+ XRectangle *ink_extents_buffer,
383+ XRectangle *logical_extents_buffer,
384+ int buffer_size,
385+ int *num_chars,
386+ XRectangle *max_ink_extents,
387+ XRectangle *max_logical_extents)
388+{
389+ return 0;
390+}
391+
392+unsigned int
393+KeySymToUcs4(KeySym keysym)
394+{
395+ return 0;
396+}
397+
398+#endif
399+
400+#if ! XCMS
401+
402+XcmsCCC
403+XcmsCCCOfColormap(dpy, cmap)
404+ Display *dpy;
405+ Colormap cmap;
406+{
407+ return NULL;
408+}
409+
410+Status
411+_XcmsResolveColorString (
412+ XcmsCCC ccc,
413+ const char **color_string,
414+ XcmsColor *pColor_exact_return,
415+ XcmsColorFormat result_format)
416+{
417+ return(XcmsFailure);
418+}
419+
420+void
421+_XcmsUnresolveColor(
422+ XcmsCCC ccc,
423+ XcmsColor *pColor)
424+{
425+ return;
426+}
427+
428+void
429+_XUnresolveColor(
430+ XcmsCCC ccc,
431+ XColor *pXColor)
432+{
433+ return;
434+}
435+
436+XcmsCmapRec *
437+_XcmsAddCmapRec(dpy, cmap, windowID, visual)
438+ Display *dpy;
439+ Colormap cmap;
440+ Window windowID;
441+ Visual *visual;
442+{
443+ return NULL;
444+}
445+
446+void
447+_XcmsRGB_to_XColor(
448+ XcmsColor *pColors,
449+ XColor *pXColors,
450+ unsigned int nColors)
451+{
452+ return;
453+}
454+
455+XcmsCmapRec *
456+_XcmsCopyCmapRecAndFree(
457+ Display *dpy,
458+ Colormap src_cmap,
459+ Colormap copy_cmap)
460+{
461+ return NULL;
462+}
463+
464+void
465+_XcmsDeleteCmapRec(
466+ Display *dpy,
467+ Colormap cmap)
468+{
469+ return;
470+}
471+
472+#endif
473Index: libX11-1.3/src/Makefile.am
474===================================================================
475--- libX11-1.3.orig/src/Makefile.am
476+++ libX11-1.3/src/Makefile.am
477@@ -335,6 +335,8 @@ if THRSTUBS
478 libX11_la_SOURCES+=UIThrStubs.c
479 endif
480
481+libX11_la_SOURCES+=X18NCMSstubs.c
482+
483 x11datadir = @X11_DATADIR@
484 x11data_DATA = XKeysymDB XErrorDB
485
486@@ -342,6 +344,7 @@ EXTRA_DIST = \
487 $(x11data_DATA) \
488 os2Stubs.c \
489- UIThrStubs.c
490+ UIThrStubs.c \
491+ X18NCMSstubs.c
492
493 if XCB
494 libX11_la_SOURCES += \
495Index: libX11-1.3/src/locking.c
496===================================================================
497--- libX11-1.3.orig/src/locking.c
498+++ libX11-1.3/src/locking.c
499@@ -66,7 +66,9 @@ in this Software without prior written a
500 #define NUM_FREE_CVLS 4
501
502 /* in lcWrap.c */
503+#ifdef XLOCALE
504 extern LockInfoPtr _Xi18n_lock;
505+#endif
506
507 #ifdef WIN32
508 static DWORD _X_TlsIndex = (DWORD)-1;
509@@ -594,9 +596,11 @@ Status XInitThreads(void)
510 _Xglobal_lock = &global_lock;
511 xmutex_init(_Xglobal_lock->lock);
512 xmutex_set_name(_Xglobal_lock->lock, "Xlib global");
513+#ifdef XLOCALE
514 _Xi18n_lock = &i18n_lock;
515 xmutex_init(_Xi18n_lock->lock);
516 xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n");
517+#endif
518 _XLockMutex_fn = _XLockMutex;
519 _XUnlockMutex_fn = _XUnlockMutex;
520 _XCreateMutex_fn = _XCreateMutex;
diff --git a/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch b/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch
new file mode 100644
index 0000000000..c1b6cde534
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/disable_tests.patch
@@ -0,0 +1,22 @@
1Upstream-Status: Inappropriate [disable feature]
2
3Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
4
5Update for 1.6.1
6
7Signed-off-by: Kai Kang <kai.kang@windriver.com>
8
9diff -Nurd libX11-1.5.0/nls/Makefile.am libX11-1.5.0/nls/Makefile.am
10--- libX11-1.5.0/nls/Makefile.am 2012-06-02 09:37:18.000000000 +0300
11+++ libX11-1.5.0/nls/Makefile.am 2013-01-02 16:10:24.960156131 +0200
12@@ -36,11 +36,6 @@
13 < locale.dir.l1 > locale.dir.l2
14 cat locale.dir.l2 locale.dir.l1 > locale.dir
15
16-if HAVE_PERL
17-LOG_COMPILER = $(PERL)
18-TESTS = compose-check.pl
19-endif HAVE_PERL
20-
21
22 # Per-locale data files
diff --git a/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff b/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff
new file mode 100644
index 0000000000..a7c3984fd5
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff
@@ -0,0 +1,17 @@
1Upstream-Status: Pending
2
3Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
4--- libX11-X11R7.0-1.0.0/src/Font.c.orig 2006-03-12 18:35:42.000000000 +0100
5+++ libX11-X11R7.0-1.0.0/src/Font.c 2006-03-12 18:40:27.000000000 +0100
6@@ -701,7 +701,11 @@
7 }
8 if (l - 2 - (p - charset) < 0)
9 return 0;
10+#ifdef XLOCALE
11 if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset))
12+#else
13+ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset))
14+#endif
15 return 0;
16 if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1)
17 return 0;
diff --git a/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch b/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch
new file mode 100644
index 0000000000..c6347f5be1
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch
@@ -0,0 +1,19 @@
1Upstream-Status: Pending
2
3Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
4
5#
6# Patch managed by http://www.holgerschurig.de/patcher.html
7#
8
9--- libX11-X11R7.0-1.0.0/include/X11/Xlib.h~fix-utf8-wrong-define
10+++ libX11-X11R7.0-1.0.0/include/X11/Xlib.h
11@@ -103,7 +103,7 @@
12
13 /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
14 November 2000. Its presence is indicated through the following macro. */
15-#define X_HAVE_UTF8_STRING 1
16+#undef X_HAVE_UTF8_STRING
17
18 typedef char *XPointer;
19
diff --git a/meta/recipes-graphics/xorg-lib/libx11/libX11-Add-missing-NULL-check.patch b/meta/recipes-graphics/xorg-lib/libx11/libX11-Add-missing-NULL-check.patch
new file mode 100644
index 0000000000..30686206ab
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/libX11-Add-missing-NULL-check.patch
@@ -0,0 +1,72 @@
1From 4d85d5f3bd8afac893738fd88e19d8cb5cf998ff Mon Sep 17 00:00:00 2001
2From: Drew Moseley <drew_moseley@mentor.com>
3Date: Sun, 27 Jul 2014 13:10:07 -0400
4Subject: [PATCH] libX11: Add missing NULL check on im and im->methods
5
6Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=81822]
7
8Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
9---
10 src/xlibi18n/ICWrap.c | 5 +++--
11 1 file changed, 3 insertions(+), 2 deletions(-)
12
13diff -ru libX11-1.6.2-orig/src/xlibi18n/ICWrap.c libX11-1.6.2/src/xlibi18n/ICWrap.c
14--- libX11-1.6.2-orig/src/xlibi18n/ICWrap.c 2014-07-27 13:38:29.586666449 -0400
15+++ libX11-1.6.2/src/xlibi18n/ICWrap.c 2014-07-27 13:41:39.671609030 -0400
16@@ -169,7 +169,7 @@
17 va_list var;
18 int total_count;
19 XIMArg *args;
20- char *ret;
21+ char *ret = NULL;
22
23 /*
24 * so count the stuff dangling here
25@@ -185,7 +185,8 @@
26 _XIMVaToNestedList(var, total_count, &args);
27 va_end(var);
28
29- ret = (*im->methods->set_values) (im, args);
30+ if (im && im->methods)
31+ ret = (*im->methods->set_values) (im, args);
32 if (args) Xfree(args);
33 return ret;
34 }
35@@ -196,7 +197,7 @@
36 va_list var;
37 int total_count;
38 XIMArg *args;
39- char *ret;
40+ char *ret = NULL;
41
42 /*
43 * so count the stuff dangling here
44@@ -212,7 +213,8 @@
45 _XIMVaToNestedList(var, total_count, &args);
46 va_end(var);
47
48- ret = (*im->methods->get_values) (im, args);
49+ if (im && im->methods)
50+ ret = (*im->methods->get_values) (im, args);
51 if (args) Xfree(args);
52 return ret;
53 }
54@@ -228,7 +230,7 @@
55 va_list var;
56 int total_count;
57 XIMArg *args;
58- XIC ic;
59+ XIC ic = NULL;
60
61 /*
62 * so count the stuff dangling here
63@@ -244,7 +246,8 @@
64 _XIMVaToNestedList(var, total_count, &args);
65 va_end(var);
66
67- ic = (XIC) (*im->methods->create_ic) (im, args);
68+ if (im && im->methods)
69+ ic = (XIC) (*im->methods->create_ic) (im, args);
70 if (args) Xfree(args);
71 if (ic) {
72 ic->core.next = im->core.ic_chain;
diff --git a/meta/recipes-graphics/xorg-lib/libx11/nls-always-use-XCOMM-instead-of-for-comments-in-Comp.patch b/meta/recipes-graphics/xorg-lib/libx11/nls-always-use-XCOMM-instead-of-for-comments-in-Comp.patch
new file mode 100644
index 0000000000..b7f5356e6c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/nls-always-use-XCOMM-instead-of-for-comments-in-Comp.patch
@@ -0,0 +1,101 @@
1Upstream-Status: Backport
2
3Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
4
5From b64bee2ddb7b96f00713a8b8435f11ad9ac1c9e0 Mon Sep 17 00:00:00 2001
6From: Ran Benita <ran234@gmail.com>
7Date: Sun, 16 Feb 2014 15:24:58 +0200
8Subject: [PATCH] nls: always use XCOMM instead of # for comments in
9 Compose.pre files
10
11Lines starting with # are considered as preprocessor directives in the
12.pre files.
13
14Fixes warnings like:
15<stdin>:3:0: error: invalid preprocessing directive #Khmer
16
17Signed-off-by: Ran Benita <ran234@gmail.com>
18Signed-off-by: James Cloos <cloos@jhcloos.com>
19---
20 nls/km_KH.UTF-8/Compose.pre | 2 +-
21 nls/sr_CS.UTF-8/Compose.pre | 32 ++++++++++++++++----------------
22 2 files changed, 17 insertions(+), 17 deletions(-)
23
24diff --git a/nls/km_KH.UTF-8/Compose.pre b/nls/km_KH.UTF-8/Compose.pre
25index 77651d0..dc89119 100644
26--- a/nls/km_KH.UTF-8/Compose.pre
27+++ b/nls/km_KH.UTF-8/Compose.pre
28@@ -1,6 +1,6 @@
29 include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
30
31-# Khmer digraphs
32+XCOMM Khmer digraphs
33 <U17ff> : "ាំ"
34 <U17fe> : "ោះ"
35 <U17fd> : "េះ"
36diff --git a/nls/sr_CS.UTF-8/Compose.pre b/nls/sr_CS.UTF-8/Compose.pre
37index 119e23e..b2397f7 100644
38--- a/nls/sr_CS.UTF-8/Compose.pre
39+++ b/nls/sr_CS.UTF-8/Compose.pre
40@@ -1,17 +1,17 @@
41 include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
42
43-# Serbian accented Cyrillic
44-# а А - U+0430, U+0410 Cyrillic_a, Cyrillic_A
45-# е Е - U+0435, U+0415 Cyrillic_e, Cyrillic_E
46-# о О - U+043E, U+041E Cyrillic_o, Cyrillic_O
47-# у У - U+0443, U+0423 Cyrillic_u, Cyrillic_U
48-# и И - U+0438, U+0418 Cyrillic_i, Cyrillic_I
49-#
50-# ̀ - U+0300 <dead_grave>, <combining_grave>, <Multi_key> <grave>
51-# ́ - U+0301 <dead_acute>, <Multi_key> <acute>, <Multi_key> <apostrophe>, <combining_acute>
52-# ̂ - U+0302 <dead_circumflex>, <Multi_key> <asciicircum>
53-# ̏ - U+030F <dead_diaeresis>, <dead_doubleacute>
54-# ̀ - kratkouzlazni, U+0300 <dead_grave>, <combining_grave>, <Multi_key> <grave>
55+XCOMM Serbian accented Cyrillic
56+XCOMM а А - U+0430, U+0410 Cyrillic_a, Cyrillic_A
57+XCOMM е Е - U+0435, U+0415 Cyrillic_e, Cyrillic_E
58+XCOMM о О - U+043E, U+041E Cyrillic_o, Cyrillic_O
59+XCOMM у У - U+0443, U+0423 Cyrillic_u, Cyrillic_U
60+XCOMM и И - U+0438, U+0418 Cyrillic_i, Cyrillic_I
61+XCOMM
62+XCOMM ̀ - U+0300 <dead_grave>, <combining_grave>, <Multi_key> <grave>
63+XCOMM ́ - U+0301 <dead_acute>, <Multi_key> <acute>, <Multi_key> <apostrophe>, <combining_acute>
64+XCOMM ̂ - U+0302 <dead_circumflex>, <Multi_key> <asciicircum>
65+XCOMM ̏ - U+030F <dead_diaeresis>, <dead_doubleacute>
66+XCOMM ̀ - kratkouzlazni, U+0300 <dead_grave>, <combining_grave>, <Multi_key> <grave>
67 <dead_grave> <Cyrillic_a> : "а̀"
68 <combining_grave> <Cyrillic_a> : "а̀"
69 <Multi_key> <grave> <Cyrillic_a> : "а̀"
70@@ -42,7 +42,7 @@ include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
71 <dead_grave> <Cyrillic_U> : "У̀"
72 <combining_grave> <Cyrillic_U> : "У̀"
73 <Multi_key> <grave> <Cyrillic_U> : "У̀"
74-# ́ - dugouzlazni, U+0301 <dead_acute>, <Multi_key> <acute>, <Multi_key> <apostrophe>, <combining_acute>
75+XCOMM ́ - dugouzlazni, U+0301 <dead_acute>, <Multi_key> <acute>, <Multi_key> <apostrophe>, <combining_acute>
76 <dead_acute> <Cyrillic_a> : "а́"
77 <combining_acute> <Cyrillic_a> : "а́"
78 <Multi_key> <acute> <Cyrillic_a> : "а́"
79@@ -83,7 +83,7 @@ include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
80 <combining_acute> <Cyrillic_U> : "У́"
81 <Multi_key> <acute> <Cyrillic_U> : "У́"
82 <Multi_key> <apostrophe> <Cyrillic_U> : "У́"
83-# ̂ - dugosilazni, U+0302 <dead_circumflex>, <Multi_key> <asciicircum>
84+XCOMM ̂ - dugosilazni, U+0302 <dead_circumflex>, <Multi_key> <asciicircum>
85 <dead_circumflex> <Cyrillic_a> : "а̂"
86 <Multi_key> <asciicircum> <Cyrillic_a> : "а̂"
87 <dead_circumflex> <Cyrillic_A> : "А̂"
88@@ -104,8 +104,8 @@ include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
89 <Multi_key> <asciicircum> <Cyrillic_u> : "у̂"
90 <dead_circumflex> <Cyrillic_U> : "У̂"
91 <Multi_key> <asciicircum> <Cyrillic_U> : "У̂"
92-# ̏ - kratkosilazni, U+030F <dead_diaeresis>, <dead_doubleacute>
93-# there's no appropriate dead_doublegrave, so we use these two dead keys
94+XCOMM ̏ - kratkosilazni, U+030F <dead_diaeresis>, <dead_doubleacute>
95+XCOMM there's no appropriate dead_doublegrave, so we use these two dead keys
96 <dead_diaeresis> <Cyrillic_a> : "а̏"
97 <dead_doubleacute> <Cyrillic_a> : "а̏"
98 <dead_diaeresis> <Cyrillic_A> : "А̏"
99--
1001.7.9.5
101