Ticket #1411 (closed defect: fixed)
mcedit input text issue
| Reported by: | angel_il | Owned by: | angel_il |
|---|---|---|---|
| Priority: | major | Milestone: | 4.7.0-pre2 |
| Component: | mcedit | Version: | master |
| Keywords: | Cc: | dmartina@… | |
| Blocked By: | Blocking: | ||
| Branch state: | Votes for changeset: | committed-master |
Description
in insert mode? mcedit incorrect replace utf-8 text.
for reproduce:
input test like this 'йцукенг' in utf-8
move cursor at start of line
press key <Ins>
input new text.
Change History
comment:2 Changed 16 years ago by angel_il
- Status changed from new to accepted
- Owner set to angel_il
comment:3 Changed 16 years ago by angel_il
- severity changed from no branch to on review
branch: 1411_insert_issue (parent: master)
changeset: ffdeb28b3bfbfa6242fd41a247f87133115c493a
comment:5 Changed 16 years ago by iNode
Yes it's fix the problem but some related old code seems ugly, I propose to do small refactoring.
i.e. edit.c:edit_delete:
p = edit->buffers2[(edit->curs2 - 1) >> S_EDIT_BUF_SIZE][EDIT_BUF_SIZE - ((edit->curs2 - 1) & M_EDIT_BUF_SIZE) - 1];
too long
... const int byte_delete
/* if byte_delete = 1 then delete only one byte not multibyte char*/
should be gboolean.
edit.c:edit_get_utf
if ( next_ch != str ) {
width = next_ch - str;
} else {
width = 0;
}
Any way next_ch - str equal width or 0, useless if.
Thanks.
comment:6 Changed 16 years ago by angel_il
but some related old code seems ugly, I propose to do small refactoring.
ok, but not in this ticket
comment:7 Changed 16 years ago by angel_il
rebased: 0a594b7cc028ca31a2f1dc4b3fa6395ead4b67c6 (forced update)
comment:9 Changed 16 years ago by andrew_b
- Votes for changeset changed from slavazanko to slavazanko andrew_b
- severity changed from on review to approved
comment:10 Changed 16 years ago by angel_il
- Status changed from assigned to testing
- Resolution set to fixed
comment:11 Changed 16 years ago by angel_il
- Status changed from testing to closed
- Votes for changeset changed from slavazanko andrew_b to commited-master

I noticed too:
Something easy:
And try to overwrite the '€' with a plain 'e'.