From: David H. <dav...@ph...> - 2006-07-31 17:39:31
|
On Mon, 31 Jul 2006 17:14:19 +0100 Alan Mackenzie wrote: > Hi, David! > > I got your message forwarded from Richard Stallman. > > On Mon, Jul 31, 2006 at 12:38:29AM -0400, Richard Stallman wrote: >> Please DTRT. > >> ------- Start of forwarded message ------- >> From: David Hansen <dav...@ph...> > >> The buffer contains: > >> ,---- >> | #define FOO() \ >> | do { \ >> | bar (); \ >> | baz () >> | } >> `---- > >> when i move the cursor after the closing brace '}' and hit >> RET twice i get: > >> ,---- >> | Debugger entered--Lisp error: (wrong-type-argument listp 58) >> | c-guess-basic-syntax() >> | c-indent-line() >> | indent-according-to-mode() >> | reindent-then-newline-and-indent() >> | call-interactively(reindent-then-newline-and-indent) >> `---- > > I don't hit this bug on my setup. Would you please generate a complete > dump of the CC Mode configuration (with C-c C-b in the problematical > buffer) and send it to bug...@gn.... Thanks in advance! OK, doesn't happen with emacs -Q but you can trigger the bug when you M-: (local-set-key "\C-m" 'reindent-then-newline-and-indent) in the buffer. > Are any of the "erc-..." minor modes likely to be mixing in with this > bug, do you think? As a matter of interest, what are these "erc-..." > minor modes? I doubt they do anything to c-mode buffer. ERC stands for Emacs IRC Client (a chat client now part of Emacs 22). David In case you are still interested: Emacs : GNU Emacs 22.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.8.18) of 2006-07-29 on robotron Package: CC Mode 5.31.3 (C/l) Buffer Style: linux c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-st= ring-delim gen-comment-delim syntax-properties 1-bit) current state: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (setq c-basic-offset 4 c-comment-only-line-offset 0 c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1) (cpp-end-block space . 2)) c-indent-comments-syntactically-p nil c-block-comment-prefix "* " c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+") (other . "//+\\|\\**")) c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc)) c-cleanup-list '(brace-else-brace) c-hanging-braces-alist '((brace-list-open) (brace-entry-open) (substatement-open after) (block-close . c-snug-do-while)) c-hanging-colons-alist nil c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist) c-backslash-column 48 c-backslash-max-column 72 c-special-indent-hook nil c-label-minimum-indentation 1 c-offsets-alist '((inexpr-class . +) (inexpr-statement . +) (lambda-intro-cont . +) (inlambda . c-lineup-inexpr-block) (template-args-cont c-lineup-template-args +) (incomposition . +) (inmodule . +) (innamespace . +) (inextern-lang . +) (composition-close . 0) (module-close . 0) (namespace-close . 0) (extern-lang-close . 0) (composition-open . 0) (module-open . 0) (namespace-open . 0) (extern-lang-open . 0) (objc-method-call-cont . c-lineup-ObjC-method-call) (objc-method-args-cont . c-lineup-ObjC-method-args) (objc-method-intro . [0]) (friend . 0) (cpp-define-intro c-lineup-cpp-define +) (cpp-macro-cont . +) (cpp-macro . [0]) (inclass . +) (stream-op . c-lineup-streamop) (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist ) (arglist-cont c-lineup-gcc-asm-reg 0) (comment-intro c-lineup-knr-region-comment c-lineup-comment ) (catch-clause . 0) (else-clause . 0) (do-while-closure . 0) (access-label . -) (case-label . 0) (substatement . +) (statement-case-intro . +) (statement . 0) (brace-entry-open . 0) (brace-list-entry . 0) (brace-list-intro . +) (brace-list-close . 0) (block-close . 0) (block-open . 0) (inher-cont . c-lineup-multi-inher) (inher-intro . +) (member-init-cont . c-lineup-multi-inher) (member-init-intro . +) (topmost-intro-cont . c-lineup-topmost-intro-cont) (topmost-intro . 0) (knr-argdecl . 0) (func-decl-cont . +) (inline-close . 0) (class-close . 0) (class-open . 0) (defun-block-intro . +) (defun-close . 0) (defun-open . 0) (c . c-lineup-C-comments) (string . c-lineup-dont-change) (brace-list-open . 0) (inline-open . +) (arglist-close . +) (arglist-intro . +) (statement-cont . +) (statement-case-open . 0) (label . 0) (substatement-label . 0) (substatement-open . 0) (knr-argdecl-intro . 0) (statement-block-intro . +) ) c-buffer-is-cc-mode 'c-mode c-tab-always-indent t c-syntactic-indentation t c-syntactic-indentation-in-macros t c-ignore-auto-fill '(string cpp code) c-auto-align-backslashes t c-backspace-function 'backward-delete-char-untabify c-delete-function 'delete-char c-electric-pound-behavior nil c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu")) c-enable-xemacs-performance-kludge-p nil c-old-style-variable-behavior nil defun-prompt-regexp nil tab-width 8 comment-column 32 parse-sexp-ignore-comments t parse-sexp-lookup-properties nil auto-fill-function nil comment-multi-line t comment-start-skip "\\(//+\\|/\\*+\\)\\s *" fill-prefix nil fill-column 78 paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f" adaptive-fill-mode t adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-!|#%;>*=C2=B7= =E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\|(?[0-9]+[.)][ ]*\\)*\\)" ) |