[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

c-mode syntax strings and regexp word boundaries

From: Jon Dufresne
Subject: c-mode syntax strings and regexp word boundaries
Date: Thu, 5 Sep 2013 22:14:16 -0700


I am trying to modify a major mode derived from c-mode. I am adding support for an alternative string syntax (PHP heredoc). To do this I am using "syntax-propertize-function" and "syntax-propertize-extend-region-functions". (As an aside I am not sure this is the best approach, but it is best I have come up with so far.)

When trying to extend the propertize region, a regexp fails, but I am not clear as to why. I have isolated the problem with the following test case.

  (insert "END;\n")
  (goto-char (point-min))
  (message "Search forward first time")
  (re-search-forward "^END\\b")
  (put-text-property (1- (point)) (point)
                     'syntax-table (string-to-syntax "|"))
  (goto-char (point-min))
  (message "Search forward second time")
  (re-search-forward "^END\\b"))

Running this give me the output:

Search forward first time
Search forward second time
Search failed: "^END\\b"

I do not understand why the second regexp fails. I suppose it has to do with the text property string boundary. What is the correct way to look for the boundary in this case?

Thanks for any help.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]