Externutils/charset fixes

This commit is contained in:
Alexander S. Aganichev 2001-10-30 11:18:44 +00:00
parent 7f90a6d53d
commit 9d58bafa3e
4 changed files with 15 additions and 2 deletions

View File

@ -12,6 +12,11 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
- Fixed improper charset conversion when replying on message without
charset between areas with different Xlatimport.
- Fixed externutils/external editor with freshly created messages.
- Fixed bug in Latin-x to ISO-8859-x converter, now charset in - Fixed bug in Latin-x to ISO-8859-x converter, now charset in
Internet mail should be properly specifyed as ISO rather than as Internet mail should be properly specifyed as ISO rather than as
Latin. Latin.

View File

@ -67,7 +67,8 @@ void SaveLines(int mode, const char* savefile, GMsg* msg, int margin, bool clip)
} }
} }
#else #else
AA->LoadMsg(msg, msg->msgno, margin); // reload message if(mode == MODE_WRITE)
AA->LoadMsg(msg, msg->msgno, margin); // reload message
TemplateToText(((mode == MODE_WRITE) and prnheader) ? ((prnheader & WRITE_ONLY_HEADER) ? MODE_HEADER : MODE_WRITEHEADER) : MODE_WRITE, msg, msg, AA->WTpl(), CurrArea); TemplateToText(((mode == MODE_WRITE) and prnheader) ? ((prnheader & WRITE_ONLY_HEADER) ? MODE_HEADER : MODE_WRITEHEADER) : MODE_WRITE, msg, msg, AA->WTpl(), CurrArea);
msg->attr.tou1(); msg->attr.tou1();
msg->TextToLines(margin); msg->TextToLines(margin);

View File

@ -441,7 +441,7 @@ char* strxmimecpy(char* dest, const char* source, int level, int size, bool dete
if(detect) { if(detect) {
if(table == -1) if(table == -1)
LoadCharset(CFG->xlatimport, CFG->xlatlocalset); LoadCharset(AA->Xlatimport(), CFG->xlatlocalset);
else else
LoadCharset(CFG->xlatcharset[table].imp, CFG->xlatcharset[table].exp); LoadCharset(CFG->xlatcharset[table].imp, CFG->xlatcharset[table].exp);
} }

View File

@ -558,6 +558,11 @@ static void MakeMsg2(int& mode, int& status, int& forwstat, int& topline, GMsg*
status = MODE_QUIT; status = MODE_QUIT;
} }
} }
if(status != MODE_QUIT) {
LoadCharset("N/A", "N/A");
strcpy(stpcpy(msg->charset, CFG->xlatlocalset), " 2");
msg->charsetlevel = 2;
}
} }
else if(forwstat == NO and (EDIT->Internal() or not *EDIT->External())) { else if(forwstat == NO and (EDIT->Internal() or not *EDIT->External())) {
w_info(LNG->Wait); w_info(LNG->Wait);
@ -830,6 +835,8 @@ void MakeMsg(int mode, GMsg* omsg, bool ignore_replyto) {
switch(mode) { switch(mode) {
case MODE_QUOTE: case MODE_QUOTE:
case MODE_REPLYCOMMENT: case MODE_REPLYCOMMENT:
if(CurrArea != OrigArea)
AA->SetXlatimport(AL.AreaIdToPtr(OrigArea)->Xlatimport());
omsg->attr.tou0(); omsg->attr.tou0();
omsg->TextToLines(-CFG->quotemargin, false); omsg->TextToLines(-CFG->quotemargin, false);
if(ignore_replyto) if(ignore_replyto)