summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>2003-07-22 13:08:31 +0000
committerJames Henstridge <jamesh@src.gnome.org>2003-07-22 13:08:31 +0000
commit5213f59bc973279f124d8f5ef5cfc845645626f0 (patch)
treef0f36b9a77666cd73ead6ee12e2029242104c86c
parent84506cb181221eed722ccb10935384280b4bcbbd (diff)
downloadpygtk-5213f59bc973279f124d8f5ef5cfc845645626f0.tar.gz
print a real error if we find a string or identifier outside of a
2003-07-22 James Henstridge <james@daa.com.au> * codegen/scmexpr.py (parse): print a real error if we find a string or identifier outside of a s-expression (bug #104311).
-rw-r--r--ChangeLog3
-rw-r--r--codegen/scmexpr.py6
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f2a17aa1..e2ebf5f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2003-07-22 James Henstridge <james@daa.com.au>
+ * codegen/scmexpr.py (parse): print a real error if we find a
+ string or identifier outside of a s-expression (bug #104311).
+
* gtk/gtktreeview.override: wrappers for tree model drag
source/dest functions from Emmanuele Bassi (bug #116133).
diff --git a/codegen/scmexpr.py b/codegen/scmexpr.py
index 5f508c63..d08c517a 100644
--- a/codegen/scmexpr.py
+++ b/codegen/scmexpr.py
@@ -58,6 +58,9 @@ def parse(filename):
else:
yield closed
elif line[pos] == '"': # quoted string
+ if not stack:
+ raise error(filename, lineno,
+ 'string found outside of s-expression')
endpos = pos + 1
chars = []
while endpos < len(line):
@@ -82,6 +85,9 @@ def parse(filename):
pos = endpos
stack[-1] += (''.join(chars),)
else: # symbol/number
+ if not stack:
+ raise error(filename, lineno,
+ 'identifier found outside of s-expression')
endpos = pos
while endpos < len(line) and line[endpos] not in nonsymbol:
endpos += 1