bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#13713: Root cause


From: Dima Kogan
Subject: bug#13713: Root cause
Date: Sun, 17 Feb 2013 00:06:49 -0800

I looked at it some more, and it's pretty clear what's happening. The
indentation command calls (c-determine-limit), which in turn calls
(parse-partial-sexp) in many places. (parse-partial-sexp) fails if asked to look
at the buffer outside of the narrowed region. Thus one way to fix this is to
wrap the definition of c-determine-limit in (save-restriction (widen) ... ).
This is a construct that already appears in many places in cc-engine.el, so
maybe it's appropriate here. This advice makes it work:


(defadvice c-determine-limit (around c-determine-limit-works-with-narrowing
                                     (how-far-back &optional start try-size)
                                     activate)
  "I lift the restriction around this function to get around emacs bug 13713"
  (save-restriction (widen) ad-do-it))


I don't know enough about the internal design of cc-engine.el to know if this is
an appropriate place to lift the restriction, or if lifting it is the way to go
at all.

Thanks





reply via email to

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