[gtk+] Fixes for the compose-parse.py script
- From: Matthias Clasen <matthiasc src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+] Fixes for the compose-parse.py script
- Date: Mon, 26 Oct 2009 03:49:08 +0000 (UTC)
commit 16482f20db0596851f3b43cc167df2a464115822
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Oct 25 23:46:27 2009 -0400
Fixes for the compose-parse.py script
Several fixes by Ray Strode and Peter Hutterer to make compose-parse.py
work with the current X.org Compose file.
gtk/compose-parse.py | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 deletions(-)
---
diff --git a/gtk/compose-parse.py b/gtk/compose-parse.py
index dfa9492..2aa1356 100755
--- a/gtk/compose-parse.py
+++ b/gtk/compose-parse.py
@@ -425,30 +425,61 @@ except:
""" Look if there is a lookaside (supplementary) compose file in the current
directory, and if so, open, then merge with upstream Compose file.
"""
+xorg_compose_sequences_raw = []
+for seq in composefile.readlines():
+ xorg_compose_sequences_raw.append(seq)
+
try:
composefile_lookaside = open(FILENAME_COMPOSE_SUPPLEMENTARY, 'r')
+ for seq in composefile_lookaside.readlines():
+ xorg_compose_sequences_raw.append(seq)
except IOError, (errno, strerror):
- if not opt_quiet:
+ if opt_verbose:
print "I/O error(%s): %s" % (errno, strerror)
print "Did not find lookaside compose file. Continuing..."
except:
print "Unexpected error: ", sys.exc_info()[0]
sys.exit(-1)
-xorg_compose_sequences_raw = []
-for seq in composefile.readlines():
- xorg_compose_sequences_raw.append(seq)
-for seq in composefile_lookaside.readlines():
- xorg_compose_sequences_raw.append(seq)
-
""" Parse the compose file in xorg_compose_sequences"""
xorg_compose_sequences = []
xorg_compose_sequences_algorithmic = []
linenum_compose = 0
+comment_nest_depth = 0
for line in xorg_compose_sequences_raw:
linenum_compose += 1
line = line.strip()
- if line is "" or match("^XCOMM", line) or match("^#", line):
+ if match("^XCOMM", line) or match("^#", line):
+ continue
+
+ line = sub(r"\/\*([^\*]*|[\*][^/])\*\/", "", line)
+
+ comment_start = line.find("/*")
+
+ if comment_start >= 0:
+ if comment_nest_depth == 0:
+ line = line[:comment_start]
+ else:
+ line = ""
+
+ comment_nest_depth += 1
+ else:
+ comment_end = line.find("*/")
+
+ if comment_end >= 0:
+ comment_nest_depth -= 1
+
+ if comment_nest_depth < 0:
+ print "Invalid comment %(linenum_compose)d in %(filename)s: \
+ Closing '*/' without opening '/*'" % { "linenum_compose": linenum_compose, "filename": filename_compose }
+ exit(-1)
+
+ if comment_nest_depth > 0:
+ line = ""
+ else:
+ line = line[comment_end + 2:]
+
+ if line is "":
continue
#line = line[:-1]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]