• Alan Mackenzie's avatar
    Fix a loop in C Mode caused by inadequate analysis of comments. · 230e25fd
    Alan Mackenzie authored
    After M-;, and the insertion of the opening "/*", the CC Mode after-change
    function got confused, since the new comment opener matched the end of a
    subsequent comment, but moving back over that comment did not come back to the
    starting point.  Fix this.
    
    * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
    point is left if no end-of-macro is found before it.
    (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
    non-nil except where we have an unclosed block comment at the end of a macro.
    This enables us to populate the cache more fully, at the cost of some run
    time.
    230e25fd
cc-engine.el 472 KB