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

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

CC Mode 5.25 (C); # not in first column causes hang


From: Michael E. Rolish
Subject: CC Mode 5.25 (C); # not in first column causes hang
Date: Wed, 8 Aug 2001 18:53:39 -0400 (EDT)

Dear Barry and Martin,

As a newbie going through a book on C, I read that ISO C
allows whitespace to precede and follow the # denoting a
preprocessor directive.  So I tried this in C mode by
entering the following lines (without the dashes):
--
      #     include    <stdio.h>

int main()
{
--

Emacs then 'hung' with the cursor on the line after the open
brace, i.e. no input would be accepted save C-g.  C-g
returned control to me.

It would also hang whenever I typed in an electric character
besides # (; : ( ) { } ,) or TAB.  Again, C-g would return
control to me and print the character I typed to the screen.

After playing around with it I gathered that not having the
# in the first (or sometimes second) column caused this.
Sometimes it didn't happen, depending on if I placed
'correct' preprocessor directives before the spaced out one,
or the order in which I typed the various lines.

I tried this on two different machines, one running MIT's
Athena, the other running Red Hat 7.  In both cases the
Emacs version was 20.7.1 and CC Mode 5.25.

If this isn't a bug or I'm missing something, my apologies.

-Mike Rolish
--
Michael E. Rolish, MIT '04
Courses VI-3 (CS) and VII (Biology)
http://web.mit.edu/merolish/www/
merolish@mit.edu
--

Emacs  : GNU Emacs 20.7.1 (sparc-sun-solaris2.7, X toolkit)
 of Tue Jan  2 2001 on downy.mit.edu
Package: CC Mode 5.25 (C)
Buffer Style: bsd


c-emacs-features: (1-bit)

current state:
==============
(setq
 c-basic-offset 4
 c-offsets-alist '((string . c-lineup-dont-change)
                   (c . c-lineup-C-comments)
                   (defun-open . 0)
                   (defun-close . 0)
                   (defun-block-intro . +)
                   (class-open . 0)
                   (class-close . 0)
                   (inline-open . +)
                   (inline-close . 0)
                   (func-decl-cont . +)
                   (knr-argdecl-intro . +)
                   (knr-argdecl . 0)
                   (topmost-intro . 0)
                   (topmost-intro-cont . 0)
                   (member-init-intro . +)
                   (member-init-cont . 0)
                   (inher-intro . +)
                   (inher-cont . c-lineup-multi-inher)
                   (block-open . 0)
                   (block-close . 0)
                   (brace-list-open . 0)
                   (brace-list-close . 0)
                   (brace-list-intro . +)
                   (brace-list-entry . 0)
                   (brace-entry-open . 0)
                   (statement . 0)
                   (statement-cont . +)
                   (statement-block-intro . +)
                   (statement-case-intro . +)
                   (statement-case-open . 0)
                   (substatement . +)
                   (substatement-open . 0)
                   (case-label . +)
                   (access-label . -)
                   (label . 0)
                   (do-while-closure . 0)
                   (else-clause . 0)
                   (catch-clause . 0)
                   (comment-intro . c-lineup-comment)
                   (arglist-intro . +)
                   (arglist-cont . 0)
                   (arglist-cont-nonempty . c-lineup-arglist)
                   (arglist-close . +)
                   (stream-op . c-lineup-streamop)
                   (inclass . +)
                   (cpp-macro . -1000)
                   (cpp-macro-cont . c-lineup-dont-change)
                   (friend . 0)
                   (objc-method-intro . -1000)
                   (objc-method-args-cont . c-lineup-ObjC-method-args)
                   (objc-method-call-cont . c-lineup-ObjC-method-call)
                   (extern-lang-open . 0)
                   (extern-lang-close . 0)
                   (inextern-lang . +)
                   (namespace-open . 0)
                   (namespace-close . 0)
                   (innamespace . +)
                   (template-args-cont . +)
                   (inlambda . c-lineup-inexpr-block)
                   (lambda-intro-cont . +)
                   (inexpr-statement . 0)
                   (inexpr-class . +)
                   )
 c-cleanup-list '(scope-operator)
 c-comment-only-line-offset 0
 c-backslash-column 48
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-hanging-braces-alist '((brace-list-open) (brace-entry-open)
                          (substatement-open after)
                          (block-close . c-snug-do-while)
                          (extern-lang-open after) (inexpr-class-open after)
                          (inexpr-class-close before))
 c-hanging-colons-alist nil
 c-hanging-comment-starter-p t
 c-hanging-comment-ender-p t
 c-indent-comments-syntactically-p nil
 c-tab-always-indent t
 c-comment-continuation-stars "* "
 c-label-minimum-indentation 1
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 )



reply via email to

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