summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/syntax.c b/src/syntax.c
index 6dc63c25537..0c547c724c9 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -1,3 +1,4 @@
+#include <stdio.h>
/* GNU Emacs routines to deal with syntax tables; also word and list parsing.
Copyright (C) 1985, 1987, 1993, 1994, 1995, 1997, 1998, 1999, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008
@@ -298,6 +299,18 @@ char_quoted (charpos, bytepos)
register int quoted = 0;
int orig = charpos;
+#ifdef HAVE_NS
+ /* For some reason keeps getting called w/both 1, then segfaulting
+ due to the definitions of DEC_BOTH and DEC_POS in character.h,
+ which lead to decrementing below initial address and then examining
+ character there. Need to investigate further.. */
+ if (charpos < 2 || bytepos < 2)
+ {
+ //fprintf(stderr,"Returning because charpos = %d, bytepos = %d\n",charpos, bytepos);
+ return 0;
+ }
+#endif
+
DEC_BOTH (charpos, bytepos);
while (charpos >= beg)