Subject: 24.3.50; modified syntax table leads to error: "Point before start of properties"

From: Nicolas Richard <[email-masked]>
Date: Fri, 28 Mar 2014 19:41:05 +0100

Hello,

Using AUCTeX, and doing this~:
$ src/emacs -q -l tex-site -l latex --eval '(modify-syntax-entry ?\\ "  p" LaTeX-mode-syntax-table)' --eval '(progn (insert "\\foo") (goto-char 2) (latex-mode))'

I get an error: "Point before start of properties" after I run
M-: (backward-prefix-chars).

I don't understand what causes this. Am I not allowed to modify the
syntax table like I do for some reason ? I unfortunately can't repro
without using AUCTeX.

Also note that adding (backward-prefix-chars) in the progn on the
command line invocation does *not* trigger the error. Only the
interactive call, once emacs has started, does.

Thanks for any help,

Here's gdb backtrace when breaking at Fsignal :

(gdb) bt
#0  Fsignal (error_symbol=error_symbol@entry=138861858, data=data@entry=144742286) at eval.c:1474
#1  0x08183ba7 in xsignal (error_symbol=error_symbol@entry=138861858, data=144742286) at eval.c:1588
#2  0x08183bef in xsignal1 (error_symbol=138861858, arg=arg@entry=145245257) at eval.c:1603
#3  0x08183cd0 in verror (m=m@entry=0x8222110 "Point before start of properties", ap=ap@entry=0xbfffe724 "\n\\F\bN\346\254\bs\256\034\b\n\\F\b\036\263N\b\365*G\bT\ba\b\377\377\377\377")
    at eval.c:1781
#4  0x08183ce7 in error (m=m@entry=0x8222110 "Point before start of properties") at eval.c:1793
#5  0x081ca74f in update_interval (i=<optimized out>, i@entry=0x8610854, pos=pos@entry=0) at intervals.c:794
#6  0x081a92d0 in update_syntax_table (charpos=0, count=count@entry=-1, init=init@entry=false, object=138828738) at syntax.c:362
#7  0x081a9b53 in UPDATE_SYNTAX_TABLE_BACKWARD (charpos=0) at syntax.h:186
#8  UPDATE_SYNTAX_TABLE (charpos=0) at syntax.h:194
#9  char_quoted (charpos=<optimized out>, charpos@entry=0, bytepos=<optimized out>, bytepos@entry=0) at syntax.c:497
#10 0x081aac59 in Fbackward_prefix_chars () at syntax.c:3027
#11 0x08182a0d in eval_sub (form=form@entry=144743062) at eval.c:2182
#12 0x08185d64 in Feval (form=144743062, lexical=138828738) at eval.c:2003
#13 0x08183470 in Ffuncall (nargs=3, args=0xbfffe944) at eval.c:2818
#14 0x081b5fa3 in exec_byte_code (bytestr=138861858, vector=10400, maxdepth=28, args_template=args_template@entry=2052, nargs=nargs@entry=2, args=0xbfffe940) at bytecode.c:919
#15 0x08182f9e in funcall_lambda (fun=137187245, nargs=nargs@entry=2, arg_vector=arg_vector@entry=0xbfffead4) at eval.c:2983
#16 0x08183253 in Ffuncall (nargs=3, args=args@entry=0xbfffead0) at eval.c:2876
#17 0x0818465b in Fapply (nargs=nargs@entry=2, args=args@entry=0xbfffeb58) at eval.c:2354
#18 0x0818488f in apply1 (fn=fn@entry=140667530, arg=arg@entry=144742342) at eval.c:2588
#19 0x0817f61a in Fcall_interactively (function=140667530, record_flag=138828738, keys=138837581) at callint.c:378
#20 0x08183459 in Ffuncall (nargs=4, args=0xbfffec9c) at eval.c:2822
#21 0x081b5fa3 in exec_byte_code (bytestr=138861858, vector=10400, maxdepth=52, args_template=args_template@entry=4100, nargs=nargs@entry=1, args=0xbfffec8c) at bytecode.c:919
#22 0x08182f9e in funcall_lambda (fun=137188901, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfffee4c) at eval.c:2983
#23 0x08183253 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0xbfffee48) at eval.c:2876
#24 0x081835e7 in call1 (fn=138855234, arg1=140667530) at eval.c:2614
#25 0x08123347 in command_loop_1 () at keyboard.c:1556
#26 0x08181a13 in internal_condition_case (bfun=bfun@entry=0x8123020 <command_loop_1>, handlers=138861858, hfun=hfun@entry=0x811a960 <cmd_error>) at eval.c:1354
#27 0x081163d5 in command_loop_2 (ignore=138828738) at keyboard.c:1174
#28 0x08181943 in internal_catch (tag=138859906, func=func@entry=0x81163b0 <command_loop_2>, arg=138828738) at eval.c:1118
#29 0x0811a5b2 in command_loop () at keyboard.c:1153
#30 recursive_edit_1 () at keyboard.c:777
#31 0x0811a873 in Frecursive_edit () at keyboard.c:845

In GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.24.20)
 of 2014-01-30 on LDLC-portable
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Ubuntu 13.10

Configured using:
 `configure 'CFLAGS=-g3 -O2''

Important settings:
  value of $LANG: fr_BE.UTF-8
  locale-coding-system: utf-8-unix

-- 
Nico.