unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* redundant space after run 'c-indent-new-comment-line'
@ 2007-02-14  7:24 William Xue
  2007-02-14 22:34 ` Alan Mackenzie
  2007-02-15 22:37 ` Alan Mackenzie
  0 siblings, 2 replies; 10+ messages in thread
From: William Xue @ 2007-02-14  7:24 UTC (permalink / raw)
  To: emacs-devel

First, 'M-;' make a c style comment in a new line in a .h file, it prints  
'/*   */', and the cursor blinks at the 2nd space char.

Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
'/*
  *  */' and the cursor blinks at the last '*', but I think it should be  
blinks at the 2nd space in the second line.

Please point out if I am wrong or have missed something.

Thanks!
-- 
Sincerely yours,
William

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-14  7:24 redundant space after run 'c-indent-new-comment-line' William Xue
@ 2007-02-14 22:34 ` Alan Mackenzie
  2007-02-15  1:51   ` William Xue
  2007-02-15 15:18   ` Stefan Monnier
  2007-02-15 22:37 ` Alan Mackenzie
  1 sibling, 2 replies; 10+ messages in thread
From: Alan Mackenzie @ 2007-02-14 22:34 UTC (permalink / raw)
  To: William Xue; +Cc: emacs-devel

Hi, William!

On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
> First, 'M-;' make a c style comment in a new line in a .h file, it prints  
> '/*   */', and the cursor blinks at the 2nd space char.

Yes.  This is the place where you'll be wanting to start typing.

> Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
> '/*
>  *  */' and the cursor blinks at the last '*', but I think it should be  
> blinks at the 2nd space in the second line.

More precisely, you get this (but not in gnu style - use C-. k&r first to
see this):

/*
 *  */
    ^
    |
  point

What you are saying, it I understand you correctly, is that you should
see this:

/*
 *  */
   ^
   |
 point

I agree with you.  It's a bug.

> Please point out if I am wrong or have missed something.

c-indent-new-comment-line is a rat's nest of special cases.  Invoking it
when there's no text inside the "/*  */" needs special handling.

I'll fix it.

> Thanks!

Thank you!

> -- 
> Sincerely yours,
> William

-- 
Alan Mackenzie (Ittersbach, Germany).

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-14 22:34 ` Alan Mackenzie
@ 2007-02-15  1:51   ` William Xue
  2007-02-15 15:18   ` Stefan Monnier
  1 sibling, 0 replies; 10+ messages in thread
From: William Xue @ 2007-02-15  1:51 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

On Thu, 15 Feb 2007 06:34:40 +0800, Alan Mackenzie <acm@muc.de> wrote:

> Hi, William!
>
> On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
>> First, 'M-;' make a c style comment in a new line in a .h file, it  
>> prints
>> '/*   */', and the cursor blinks at the 2nd space char.
>
> Yes.  This is the place where you'll be wanting to start typing.
>
>> Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
>> '/*
>>  *  */' and the cursor blinks at the last '*', but I think it should be
>> blinks at the 2nd space in the second line.
>
> More precisely, you get this (but not in gnu style - use C-. k&r first to
> see this):
>
> /*
>  *  */
>     ^
>     |
>   point
>
> What you are saying, it I understand you correctly, is that you should
> see this:
>
> /*
>  *  */
>    ^
>    |
>  point

Yes, that is what I want.

>
> I agree with you.  It's a bug.
>
>> Please point out if I am wrong or have missed something.
>
> c-indent-new-comment-line is a rat's nest of special cases.  Invoking it
> when there's no text inside the "/*  */" needs special handling.
>
> I'll fix it.

Thank you!

>
>> Thanks!
>
> Thank you!
>
>> --
>> Sincerely yours,
>> William
>



-- 
Sincerely yours,
William

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-14 22:34 ` Alan Mackenzie
  2007-02-15  1:51   ` William Xue
@ 2007-02-15 15:18   ` Stefan Monnier
  2007-02-15 19:34     ` Alan Mackenzie
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2007-02-15 15:18 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: William Xue, emacs-devel

> On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
>> First, 'M-;' make a c style comment in a new line in a .h file, it prints  
>> '/*   */', and the cursor blinks at the 2nd space char.

> Yes.  This is the place where you'll be wanting to start typing.

But why 3 spaces?  This looks like a bug.  But when I try it in Emacs -Q,
I get 2 spaces, so maybe it's something in his .emacs ?


        Stefan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-15 15:18   ` Stefan Monnier
@ 2007-02-15 19:34     ` Alan Mackenzie
  2007-02-16  1:53       ` William Xue
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Mackenzie @ 2007-02-15 19:34 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: William Xue, emacs-devel

Hi, Stefan!

On Thu, Feb 15, 2007 at 10:18:31AM -0500, Stefan Monnier wrote:
> > On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
> >> First, 'M-;' make a c style comment in a new line in a .h file, it prints  
> >> '/*   */', and the cursor blinks at the 2nd space char.

> > Yes.  This is the place where you'll be wanting to start typing.

> But why 3 spaces?  This looks like a bug.  But when I try it in Emacs
> -Q, I get 2 spaces, so maybe it's something in his .emacs ?

Maybe.  Maybe he copied the string by hand, and an extra space slipped
in.  

William, if you suspect that you got one space too many in '/*   */',
please dump your CC Mode configuration (with C-c C-b) and post it here.

>         Stefan

-- 
Alan.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-14  7:24 redundant space after run 'c-indent-new-comment-line' William Xue
  2007-02-14 22:34 ` Alan Mackenzie
@ 2007-02-15 22:37 ` Alan Mackenzie
  2007-02-16  2:37   ` William Xue
  1 sibling, 1 reply; 10+ messages in thread
From: Alan Mackenzie @ 2007-02-15 22:37 UTC (permalink / raw)
  To: William Xue; +Cc: emacs-devel

Hi, William!

On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
> First, 'M-;' make a c style comment in a new line in a .h file, it prints  
> '/*   */', and the cursor blinks at the 2nd space char.

> Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
> '/*
>  *  */' and the cursor blinks at the last '*', but I think it should be  
> blinks at the 2nd space in the second line.

I think the essence of this bug is that point ends up further to the
right after the M-j that where it started.  An M-j should NEVER do this -
normally, of course, point ends up at the far left, just after the
comment prefix.

I've committed a fix to ..../progmodes/cc-cmds.el.  Could you update your
Emacs and try it out, please.

> William

-- 
Alan Mackenzie (Ittersbach, Germany).

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-15 19:34     ` Alan Mackenzie
@ 2007-02-16  1:53       ` William Xue
  0 siblings, 0 replies; 10+ messages in thread
From: William Xue @ 2007-02-16  1:53 UTC (permalink / raw)
  To: Alan Mackenzie, Stefan Monnier; +Cc: emacs-devel

On Fri, 16 Feb 2007 03:34:25 +0800, Alan Mackenzie <acm@muc.de> wrote:

> Hi, Stefan!
>
> On Thu, Feb 15, 2007 at 10:18:31AM -0500, Stefan Monnier wrote:
>> > On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
>> >> First, 'M-;' make a c style comment in a new line in a .h file, it  
>> prints
>> >> '/*   */', and the cursor blinks at the 2nd space char.
>
>> > Yes.  This is the place where you'll be wanting to start typing.
>
>> But why 3 spaces?  This looks like a bug.  But when I try it in Emacs
>> -Q, I get 2 spaces, so maybe it's something in his .emacs ?
>
> Maybe.  Maybe he copied the string by hand, and an extra space slipped
> in.
>
> William, if you suspect that you got one space too many in '/*   */',
> please dump your CC Mode configuration (with C-c C-b) and post it here.
>
>>         Stefan
>

There are only 2 spaces here also. Maybe I added one more space  
accidentially when writing the message, sorry.



-- 
Sincerely yours,
William

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-15 22:37 ` Alan Mackenzie
@ 2007-02-16  2:37   ` William Xue
  2007-02-16  7:16     ` Alan Mackenzie
  0 siblings, 1 reply; 10+ messages in thread
From: William Xue @ 2007-02-16  2:37 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

On Fri, 16 Feb 2007 06:37:34 +0800, Alan Mackenzie <acm@muc.de> wrote:

> Hi, William!
>
> On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
>> First, 'M-;' make a c style comment in a new line in a .h file, it  
>> prints
>> '/*   */', and the cursor blinks at the 2nd space char.
>
>> Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
>> '/*
>>  *  */' and the cursor blinks at the last '*', but I think it should be
>> blinks at the 2nd space in the second line.
>
> I think the essence of this bug is that point ends up further to the
> right after the M-j that where it started.  An M-j should NEVER do this -
> normally, of course, point ends up at the far left, just after the
> comment prefix.
>
> I've committed a fix to ..../progmodes/cc-cmds.el.  Could you update your
> Emacs and try it out, please.
>

It seems not to work, even start emacs with -Q.

When did you commit the fix? I made a update about 12 hours ago and now  
there is nothing newer.
Here is the information of 'c-c c-b', maybe it can help something.

---8<----------------------------------------------------------------->8---
Emacs  : GNU Emacs 23.0.0.1 (i386-mingw-nt5.1.2600)
  of 2007-02-12 on WILLIAMNB
Package: CC Mode 5.31.4 (C/lah)
Buffer Style: williamxue
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes  
gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
(setq
  c-basic-offset 8
  c-comment-only-line-offset 4
  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 '(scope-operator empty-defun-braces defun-close-semi)
  c-hanging-braces-alist '((substatement-open after) (brace-list-open))
  c-hanging-colons-alist '((member-init-intro before) (inher-intro)  
(case-label after) (label after) (access-label after))
  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 . 8)
                    (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 . 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)
                    (topmost-intro-cont . c-lineup-topmost-intro-cont)
                    (brace-list-open . 0)
                    (inline-open . +)
                    (arglist-close . c-lineup-arglist)
                    (arglist-intro . +)
                    (statement-cont . +)
                    (statement-case-open . 0)
                    (label . 2)
                    (substatement-label . 2)
                    (substatement-open . 0)
                    (knr-argdecl-intro . -)
                    (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 "k&r"
  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 70
  paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*$\\|^\f"
  adaptive-fill-mode t
  adaptive-fill-regexp  
"[ 	]*\\(//+\\|\\**\\)[ 	]*\\([ 	]*\\([-!|#%;>*·•‣⁃◦]+[ 	]*\\)*\\)"
  )
---8<----------------------------------------------------------------->8---

>> William
>



-- 
Sincerely yours,
William

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-16  2:37   ` William Xue
@ 2007-02-16  7:16     ` Alan Mackenzie
  2007-02-16 17:51       ` William Xue
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Mackenzie @ 2007-02-16  7:16 UTC (permalink / raw)
  To: William Xue; +Cc: emacs-devel

On Fri, Feb 16, 2007 at 10:37:07AM +0800, William Xue wrote:
> On Fri, 16 Feb 2007 06:37:34 +0800, Alan Mackenzie <acm@muc.de> wrote:

> >Hi, William!

> >On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
> >>First, 'M-;' make a c style comment in a new line in a .h file, it  
> >>prints
> >>'/*   */', and the cursor blinks at the 2nd space char.

> >>Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
> >>'/*
> >> *  */' and the cursor blinks at the last '*', but I think it should be
> >>blinks at the 2nd space in the second line.

> >I think the essence of this bug is that point ends up further to the
> >right after the M-j that where it started.  An M-j should NEVER do this -
> >normally, of course, point ends up at the far left, just after the
> >comment prefix.

> >I've committed a fix to ..../progmodes/cc-cmds.el.  Could you update your
> >Emacs and try it out, please.


> It seems not to work, even start emacs with -Q.

> When did you commit the fix? I made a update about 12 hours ago and now  
> there is nothing newer.

Revision 1.54 of .../progmodes/cc-cmds.el, about 8 hours ago, at ~22:30
GMT.  I've just had a look at http://savannah.gnu.org, and it's
definitely there now.

> William

-- 
Alan.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: redundant space after run 'c-indent-new-comment-line'
  2007-02-16  7:16     ` Alan Mackenzie
@ 2007-02-16 17:51       ` William Xue
  0 siblings, 0 replies; 10+ messages in thread
From: William Xue @ 2007-02-16 17:51 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

On Fri, 16 Feb 2007 15:16:46 +0800, Alan Mackenzie <acm@muc.de> wrote:

> On Fri, Feb 16, 2007 at 10:37:07AM +0800, William Xue wrote:
>> On Fri, 16 Feb 2007 06:37:34 +0800, Alan Mackenzie <acm@muc.de> wrote:
>
>> >Hi, William!
>
>> >On Wed, Feb 14, 2007 at 03:24:54PM +0800, William Xue wrote:
>> >>First, 'M-;' make a c style comment in a new line in a .h file, it
>> >>prints
>> >>'/*   */', and the cursor blinks at the 2nd space char.
>
>> >>Then, 'M-J' to run 'c-indent-new-comment-line', and it gives
>> >>'/*
>> >> *  */' and the cursor blinks at the last '*', but I think it should  
>> be
>> >>blinks at the 2nd space in the second line.
>
>> >I think the essence of this bug is that point ends up further to the
>> >right after the M-j that where it started.  An M-j should NEVER do  
>> this -
>> >normally, of course, point ends up at the far left, just after the
>> >comment prefix.
>
>> >I've committed a fix to ..../progmodes/cc-cmds.el.  Could you update  
>> your
>> >Emacs and try it out, please.
>
>
>> It seems not to work, even start emacs with -Q.
>
>> When did you commit the fix? I made a update about 12 hours ago and now
>> there is nothing newer.
>
> Revision 1.54 of .../progmodes/cc-cmds.el, about 8 hours ago, at ~22:30
> GMT.  I've just had a look at http://savannah.gnu.org, and it's
> definitely there now.
>
>> William
>

It works! Thank you very much!

At first, I have only checked emacs-unicode-2, and haven't found it.

Now, according to your indication, I found it in
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/?root=emacs

Thanks!

-- 
Sincerely yours,
William

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2007-02-16 17:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-14  7:24 redundant space after run 'c-indent-new-comment-line' William Xue
2007-02-14 22:34 ` Alan Mackenzie
2007-02-15  1:51   ` William Xue
2007-02-15 15:18   ` Stefan Monnier
2007-02-15 19:34     ` Alan Mackenzie
2007-02-16  1:53       ` William Xue
2007-02-15 22:37 ` Alan Mackenzie
2007-02-16  2:37   ` William Xue
2007-02-16  7:16     ` Alan Mackenzie
2007-02-16 17:51       ` William Xue

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).