unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).