* bug#10480: 24.0.92; cc-mode breakage due to "Large brace-block initialisation makes CC Mode slow: Fix"
@ 2012-01-11 15:37 Alex
[not found] ` <mailman.1652.1326301490.15002.bug-gnu-emacs@gnu.org>
0 siblings, 1 reply; 2+ messages in thread
From: Alex @ 2012-01-11 15:37 UTC (permalink / raw
To: 10480
I'm currently tracking the Emacs BZR/GIT repo for the current bleeding
edge code. It seems it broke over Christmas. While editing C code I was
constantly hit with back traces like the following:
Debugger entered--Lisp error: (args-out-of-range 10389 15607)
parse-partial-sexp(10389 15607)
c-literal-limits(nil nil t)
c-indent-new-comment-line(t)
default-indent-new-line(t)
do-auto-fill()
apply(do-auto-fill nil)
c-mask-paragraph(nil t do-auto-fill)
c-do-auto-fill()
self-insert-command(1)
newline()
newline-and-indent()
call-interactively(newline-and-indent nil nil)
This often left emacs unusable, sometime wiping the current editing
buffer. Bisecting through the code tree I found it was the Large
brace-block fix that causes the regression. I'm afraid I can't provide
the code it broke on but was occurring all over the place so I don't
think it was anything special.
Regards,
Alex
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#10480: 24.0.92; ?cc-mode breakage due to "Large brace-block initialisation makes CC?Mode slow: Fix"
[not found] ` <mailman.1652.1326301490.15002.bug-gnu-emacs@gnu.org>
@ 2012-01-15 9:59 ` Alan Mackenzie
0 siblings, 0 replies; 2+ messages in thread
From: Alan Mackenzie @ 2012-01-15 9:59 UTC (permalink / raw
To: Alex; +Cc: 10480
In article <mailman.1652.1326301490.15002.bug-gnu-emacs@gnu.org> you
wrote:
>
> I'm currently tracking the Emacs BZR/GIT repo for the current bleeding
> edge code. It seems it broke over Christmas. While editing C code I
> was
> constantly hit with back traces like the following:
> Debugger entered--Lisp error: (args-out-of-range 10389 15607)
> parse-partial-sexp(10389 15607)
> c-literal-limits(nil nil t)
> c-indent-new-comment-line(t)
> default-indent-new-line(t)
> do-auto-fill()
> apply(do-auto-fill nil)
> c-mask-paragraph(nil t do-auto-fill)
> c-do-auto-fill()
> self-insert-command(1)
> newline()
> newline-and-indent()
> call-interactively(newline-and-indent nil nil)
Sorry about this, and thanks for reporting the bug.
> This often left emacs unusable, sometime wiping the current editing
> buffer. Bisecting through the code tree I found it was the Large
> brace-block fix that causes the regression.
This looks to be the same as bug #10463 which has already been fixed.
The fix was committed to the savannah repository on 2012-01-11, revision
#106849.
Would you please apply that bug's patch and let me know if it fails to
fix the current bug. Here is that patch:
*** orig/cc-engine.el 2012-01-09 20:27:51.000000000 +0000
--- cc-engine.el 2012-01-10 11:09:42.000000000 +0000
***************
*** 4225,4236 ****
Note that this function might do hidden buffer changes. See the
comment at the start of cc-engine.el for more info."
! (let* ((safe-place (c-state-safe-place (point)))
! (lit (c-state-pp-to-literal safe-place (point))))
! (or (cadr lit)
! (and detect-cpp
! (save-excursion (c-beginning-of-macro))
! 'pound))))
(defun c-literal-limits (&optional lim near not-in-delimiter)
"Return a cons of the beginning and end positions of the comment or
--- 4225,4238 ----
Note that this function might do hidden buffer changes. See the
comment at the start of cc-engine.el for more info."
! (save-restriction
! (widen)
! (let* ((safe-place (c-state-safe-place (point)))
! (lit (c-state-pp-to-literal safe-place (point))))
! (or (cadr lit)
! (and detect-cpp
! (save-excursion (c-beginning-of-macro))
! 'pound)))))
(defun c-literal-limits (&optional lim near not-in-delimiter)
"Return a cons of the beginning and end positions of the comment or
***************
*** 4250,4258 ****
(save-excursion
(let* ((pos (point))
(lim (or lim (c-state-safe-place pos)))
! (pp-to-lit (c-state-pp-to-literal lim pos))
(state (car pp-to-lit))
- (lit-type (cadr pp-to-lit))
(lit-limits (car (cddr pp-to-lit))))
(cond
--- 4252,4261 ----
(save-excursion
(let* ((pos (point))
(lim (or lim (c-state-safe-place pos)))
! (pp-to-lit (save-restriction
! (widen)
! (c-state-pp-to-literal lim pos)))
(state (car pp-to-lit))
(lit-limits (car (cddr pp-to-lit))))
(cond
> Regards,
> Alex
--
Alan Mackenzie (Nuremberg, Germany).
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-01-15 9:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-11 15:37 bug#10480: 24.0.92; cc-mode breakage due to "Large brace-block initialisation makes CC Mode slow: Fix" Alex
[not found] ` <mailman.1652.1326301490.15002.bug-gnu-emacs@gnu.org>
2012-01-15 9:59 ` bug#10480: 24.0.92; ?cc-mode breakage due to "Large brace-block initialisation makes CC?Mode " Alan Mackenzie
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.