EmEditor (text editor) Forum Index
   EmEditor Core Bug Reports
     broken auto-indent with array in C++ configuration
Register To Post

Threaded | Oldest First Previous Topic | Next Topic | Bottom
Poster Thread
supercoolm
Posted on: 11/24/2011 11:22 am
Just popping in
Joined: 7/28/2009
From:
Posts: 7
Re: broken auto-indent with array in C++ configuration
it's reproducible on fresh install of latest EmEditor, so I think it's a bug because default configuration comes with EmEditor does this.

steps:

1. fresh install latest EmEditor (64-bit edition)
2. launch EmEditor
3. select C++ configuration
4. copy the first code snippet in my post and paste them into EmEditor
5. enter number with keyboard to the array value between bracelet brackets

example:
change
uint16_t tempArray[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 };

to
uint16_t tempArray[] = { 0x0000, 0x0000, 0x0000, 0x00200, 0x0000 };


6. observe indentation of the line immediately change to no indentation, which is wrong as described in the post
CrashNBurn
Posted on: 11/2/2011 10:39 am
Just can't stay away
Joined: 4/8/2010
From:
Posts: 130
Re: broken auto-indent with array in C++ configuration
I can't reproduce this behaviour. I have [x] Auto Indent and [x] wrap indent enabled.
Yutaka
Posted on: 11/2/2011 10:27 am
Webmaster
Joined: 9/28/2006
From: Redmond
Posts: 2401
Re: broken auto-indent with array in C++ configuration
Hello supercoolm,

You might want to modify the regular expressions specified in the Tab/Indent dialog box (configuration properties > General tab > Tab/Indent). I hope this helps.

Thanks!


----------------
Yutaka Emura
Developer of EmEditor
http://www.emeditor.com/

supercoolm
Posted on: 10/31/2011 5:26 pm
Just popping in
Joined: 7/28/2009
From:
Posts: 7
broken auto-indent with array in C++ configuration
with the following code



uint32_t* init_temparray(){
    uint16_t tempArray[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 };
    .
    .
    .
    return tempArray;
}


when I want to change value of the array, EmEditor automatically re-indent the line by removing all indentation of that line.

when I move cursor to last 16-bit integer value and press 2, I expected this.

uint32_t* init_temparray(){
    uint16_t tempArray[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x00002 };
    .
    .
    .
    return tempArray;
}



but EmEditor automatically modifies to code to

uint32_t* init_temparray(){
uint16_t tempArray[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x00002 };
    .
    .
    .
    return tempArray;
}


with some trial and error, it looks like this only happens when curly brackets is in the line (i.e. array definition)

Is there a way to correct this behaviour without disabling other features?
Threaded | Oldest First Previous Topic | Next Topic | Top


Register To Post
 
English čeština Deutsch español français italiano 日本語 한국어 Русский 简体中文 繁體中文