diff --git a/doc/en/html/about/history.html b/doc/en/html/about/history.html
index 3b2998ae7..fa3d487dd 100644
--- a/doc/en/html/about/history.html
+++ b/doc/en/html/about/history.html
@@ -73,6 +73,13 @@
YYYY.MM.DD (Ver 5.4 not released yet)
Fixed display characters containing surrogate pair character when "Drawing resized font to fit cell width"
MACRO: Fixed getenv, expandenv and setenv macro commands were not Unicode-compatible.
Fixed B-plus send is not working
+ Fixed local echo setting was not used:
+
+
diff --git a/doc/en/html/usage/mouse.html b/doc/en/html/usage/mouse.html
index c338c7afd..b89454af8 100644
--- a/doc/en/html/usage/mouse.html
+++ b/doc/en/html/usage/mouse.html
@@ -115,7 +115,7 @@
- Send File (Paste content of file)
+ Send File (Paste content of file)
The file content is sent(pasted) into the terminal.
When the file is dropped, this menu can be selected with the file.
diff --git a/doc/ja/html/about/history.html b/doc/ja/html/about/history.html
index bf7b64a20..2c67aa964 100644
--- a/doc/ja/html/about/history.html
+++ b/doc/ja/html/about/history.html
@@ -73,6 +73,13 @@ YYYY.MM.DD (Ver 5.4 not released yet)
"Drawing resized font to fit cell width" が on のとき、サロゲートペアの文字が存在したとき正しく表示するよう修正した。
MACRO: getenv, expandenv, setenv マクロコマンド が Unicode に対応していなかったので修正した。
B-Plusの送信ができなくなっていたので修正した。
+ 次の時 local echo 設定を反映していなかったので修正した。
+
+
diff --git a/doc/ja/html/usage/mouse.html b/doc/ja/html/usage/mouse.html
index a977a272c..9a6035d80 100644
--- a/doc/ja/html/usage/mouse.html
+++ b/doc/ja/html/usage/mouse.html
@@ -117,7 +117,7 @@
- Send File (Paste content of file)
+ Send File (Paste content of file)
ファイルの内容を端末内に送信(ペースト)します。
ドロップ内容がファイルだけのとき選択できます。
diff --git a/teraterm/teraterm/sendmem.cpp b/teraterm/teraterm/sendmem.cpp
index 862839ab6..33788658e 100644
--- a/teraterm/teraterm/sendmem.cpp
+++ b/teraterm/teraterm/sendmem.cpp
@@ -712,7 +712,7 @@ BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType dela
return r;
}
#else
-SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max)
+SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo)
{
SendMem *sm;
if (!binary) {
@@ -743,20 +743,22 @@ SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayTy
SendMemInitDialogCaption(sm, L"send file"); // title
SendMemInitDialogFilename(sm, filename);
SendMemInitDelay(sm, delay_type, delay_tick, send_max);
+ SendMemInitEcho(sm, local_echo);
+
SendMemStart(sm);
return sm;
}
#endif
-BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max)
+BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo)
{
- SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max);
+ SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max, local_echo);
return (sm != NULL) ? TRUE : FALSE;
}
-BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, void (*callback)(void *data), void *callback_data)
+BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo, void (*callback)(void *data), void *callback_data)
{
- SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max);
+ SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max, local_echo);
if (sm == NULL) {
return FALSE;
}
diff --git a/teraterm/teraterm/sendmem.h b/teraterm/teraterm/sendmem.h
index 5a1e24e39..9deb1fdff 100644
--- a/teraterm/teraterm/sendmem.h
+++ b/teraterm/teraterm/sendmem.h
@@ -59,8 +59,8 @@ void SendMemContinuously(void);
// convenient function
BOOL SendMemPasteString(wchar_t *str);
-BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max);
-BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, void (*callback)(void *data), void *callback_data);
+BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo);
+BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo, void (*callback)(void *data), void *callback_data);
#ifdef __cplusplus
}
diff --git a/teraterm/teraterm/ttdde.c b/teraterm/teraterm/ttdde.c
index eafc83ff3..b5b784ff4 100644
--- a/teraterm/teraterm/ttdde.c
+++ b/teraterm/teraterm/ttdde.c
@@ -796,7 +796,7 @@ static HDDEDATA AcceptExecute(HSZ TopicHSz, HDDEDATA Data)
BOOL r = FileSendStart(ParamFileNameW, ParamBinaryFlag);
#else
// 5 で追加した方法で送信
- BOOL r = SendMemSendFile2(ParamFileNameW, ParamBinaryFlag, 0, 0, 0, SendCallback, NULL);
+ BOOL r = SendMemSendFile2(ParamFileNameW, ParamBinaryFlag, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, ts.LocalEcho, SendCallback, NULL);
#endif
free(ParamFileNameW);
if (r) {
diff --git a/teraterm/teraterm/vtwin.cpp b/teraterm/teraterm/vtwin.cpp
index 1ced1df21..f8a2c7e2b 100644
--- a/teraterm/teraterm/vtwin.cpp
+++ b/teraterm/teraterm/vtwin.cpp
@@ -1770,12 +1770,8 @@ LRESULT CVTWindow::OnDropNotify(WPARAM ShowDialog, LPARAM lparam)
// cancel
break;
case DROP_TYPE_SEND_FILE: {
- if (!data->TransBin) {
- SendMemSendFile2(FileName, FALSE, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, DropSendCallback, data);
- }
- else {
- SendMemSendFile2(FileName, TRUE, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, DropSendCallback, data);
- }
+ const BOOL binary = data->TransBin ? TRUE : FALSE;
+ SendMemSendFile2(FileName, binary, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, ts.LocalEcho, DropSendCallback, data);
break;
}
case DROP_TYPE_PASTE_FILENAME:
@@ -3996,7 +3992,7 @@ void CVTWindow::OnFileSend()
wchar_t *filename = data.filename;
if (!data.method_4) {
// new file send
- SendMemSendFile(filename, data.binary, data.delay_type, data.delay_tick, data.send_size);
+ SendMemSendFile(filename, data.binary, data.delay_type, data.delay_tick, data.send_size, ts.LocalEcho);
}
else {
// file send same as teraterm 4