From svnnotify @ sourceforge.jp Fri Jul 1 12:10:07 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 01 Jul 2016 12:10:07 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjBdICDjg4njgq3jg6Xjg6Hjg7Pjg4g=?= =?utf-8?b?5pu05pawIChyNjQxOCk=?= Message-ID: <1467342607.920049.23366.nullmailer@users.sourceforge.jp> Revision: 6420 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6420 Author: doda Date: 2016-07-01 12:10:07 +0900 (Fri, 01 Jul 2016) Log Message: ----------- ドキュメント更新 (r6418) Revision Links: -------------- http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6418 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/en/html/menu/setup-additional.html trunk/doc/ja/html/about/history.html trunk/doc/ja/html/menu/setup-additional.html -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-06-30 13:33:45 UTC (rev 6419) +++ trunk/doc/en/html/about/history.html 2016-07-01 03:10:07 UTC (rev 6420) @@ -34,10 +34,14 @@

2016.xx.xx (Ver 4.92)

- +
  • Bug fixes
  • added support for specifying any strings as the ConfirmChangePaste function.
  • added the Wait4allMacroCommand entry in the teraterm.ini file. The default is off. Turn on the value to enable the "wait4all" macro command.
  • added the new option of the "exec" macro command that the application exit code is stored in the result variable.
  • @@ -1765,7 +1765,7 @@
  • Bug fix: the transparency of window could not change to 255.
  • Bug fix: last 1 character of title string that is sent from server is deleted.
  • Bug fix: TeraTerm would use the configuration of TCPLocalEcho/TCPCRSend when the user start telnet connection on New connection dialog.
  • -
  • Bug fix: when continued line copy is enabled, Copy Table does not work correctly
  • +
  • Bug fix: when continued line copy is enabled, Copy Table does not work correctly
  • Bug fix: when Transmit DEL by Delete key is enabled and Num Lock status is off, Numeric Keypad "." sends DEL.
  • Bug fix: 'wait' macro command can't wait a long string. This bug was introduced in 4.54.
  • Bug fix: The color value on Window setup dialog would become 255 when the value is less than 16 and the user pushes PageUP key.
  • Modified: trunk/doc/en/html/menu/setup-additional.html =================================================================== --- trunk/doc/en/html/menu/setup-additional.html 2016-07-01 03:14:14 UTC (rev 6421) +++ trunk/doc/en/html/menu/setup-additional.html 2016-07-01 03:14:16 UTC (rev 6422) @@ -26,7 +26,7 @@
    Accept broadcast
    - Accept the broadcast command.
    + Accept the broadcast command.
    Can be only enabled when the "Realtime mode" is off. However, this option is always ignored when the "Realtime mode" is on.
    @@ -42,12 +42,12 @@
    Clear display when window resized
    - The current screen is cleared when the VT window resizes. + The current screen is cleared when the VT window resizes.
    Change cursor shape with IME state
    - When the IME is enabled, the caret is gray. + When the IME is enabled, the caret is gray.
    @@ -63,63 +63,65 @@
    Disable mouse event tracking when Control is pressed
    - The mouse tracking mode is enabled, TeraTerm does not send the mouse operation while the control key is pressed. + The mouse tracking mode is enabled, TeraTerm does not send the mouse operation while the control key is pressed.
    Accept window title change request
    - Configures whether a user accepts the window title changing. -
    -
    off
    -
    Do not accept it.
    -
    overwrite
    -
    Accept it, and then display only the window tile.
    -
    ahead
    -
    Accept it, and then insert the window title before the canonical title.
    -
    last
    -
    Accept it, and then insert the window title after the canonical title.
    -
    + Configures whether a user accepts the window title changing. +
    +
    off
    +
    Do not accept it.
    +
    overwrite
    +
    Accept it, and then display only the window tile.
    +
    ahead
    +
    Accept it, and then insert the window title before the canonical title.
    +
    last
    +
    Accept it, and then insert the window title after the canonical title.
    +
    Window title report
    - A user can configure how Tera Term can respond to the dtterm window title and icon label reporting request. -
    -
    ignore
    -
    Ignore a window title reporting request.
    -
    accept
    -
    Tera Term reports the current window title. However, be careful about using this feature because the security problem will occur.
    -
    empty
    -
    Report empty string.
    -
    + A user can configure how Tera Term can respond to the dtterm window title and icon label reporting request. +
    +
    ignore
    +
    Ignore a window title reporting request.
    +
    accept
    +
    Tera Term reports the current window title. However, be careful about using this feature because the security problem will occur.
    +
    empty
    +
    Report empty string.
    +
    Window control sequence
    - added support for the position moving, the minimization, the maximization, the most front, the most back, the refresh and the window size changing(per pixel and character) control sequences regarding the dtterm window operation. + added support for the position moving, the minimization, the maximization, the most front, the most back, the refresh and the window size changing(per pixel and character) control sequences regarding the dtterm window operation.
    Window report sequence
    - This function enables the dtterm control sequence such as the window status reporting, the window position reporting, the window size(in pixel and character) reporting and the root window size reporting, among the window information reporting features.
    - If you do not want window information to be sent to remote host by some reason such as security, please disable this setting. + This function enables the dtterm control sequence such as the window status reporting, the window position reporting, the window size(in pixel and character) reporting and the root window size reporting, among the window information reporting features.
    + If you do not want window information to be sent to remote host by some reason such as security, please disable this setting.
    Cursor control sequence
    - Enables the control sequence for the cursor shape.
    - This function enables cursor shape change by cursor change sequence of DECSCUSR(cursor shape change), WYSTCURM(Wyse no-blinking cursor), WYULCURM(Wyse underlined cursor) and AT&T 610 blinking cursor.

    - - If a user uses the vim editor, write below entries in the ~/.vimrc to enable this feature. + Enables the control sequence for the cursor shape.
    + This function enables cursor shape change by cursor change sequence of DECSCUSR(cursor shape change), WYSTCURM(Wyse no-blinking cursor), WYULCURM(Wyse underlined cursor) and AT&T 610 blinking cursor. +

    + If a user uses the vim editor, write below entries in the ~/.vimrc to enable this feature. +

    +
     set t_SI=^[[3\ q
     set t_EI=^[[1\ q
     NOTE: Input ^[ by using Control-V Control-[.
     
    - If the cursor periodically blinks after an application exits, a user should configure as follows.
    - In the ncurses 5.7 terminfo, the invisible(civis)/normal display(cnorm)/highlighting(cvvis) of the xterm cursor are as follows: + If the cursor periodically blinks after an application exits, a user should configure as follows.
    + In the ncurses 5.7 terminfo, the invisible(civis)/normal display(cnorm)/highlighting(cvvis) of the xterm cursor are as follows:
     civis=\E[?25l
    @@ -127,9 +129,9 @@
     cvvis=\E[?12;25h
     
    - When the upper configuration is enabled, the normal cursor displays with the non-blinking mode and the emphasis cursor displays with the blinking mode. - So, the cursor does not blink when the terminfo application displays the own cursor.
    - If a user want to blink the cursor, turn off the CursorCtrlSequence entry or do in the following commands: + When the upper configuration is enabled, the normal cursor displays with the non-blinking mode and the emphasis cursor displays with the blinking mode. + So, the cursor does not blink when the terminfo application displays the own cursor.
    + If a user want to blink the cursor, turn off the CursorCtrlSequence entry or do in the following commands:
     % infocmp xterm > xterm.ti
    @@ -143,17 +145,17 @@
     
           
    Clipboard access from remote
    - permits the host to access the clipboard. -
    -
    off
    -
    can not permit
    -
    write only
    -
    can permit a clipboard to write
    -
    read only
    -
    can permit a clipboard to read
    -
    read/write
    -
    can permit a clipboard to write and read
    -
    + permits the host to access the clipboard. +
    +
    off
    +
    can not permit
    +
    write only
    +
    can permit a clipboard to write
    +
    read only
    +
    can permit a clipboard to read
    +
    read/write
    +
    can permit a clipboard to write and read
    +
    @@ -161,7 +163,7 @@

    "Copy and Paste" Tab

    -
    Enable continued line copy
    +
    Enable continued line copy
    Concatenates current line with the next line including word characters when the whole line is stepped over. @@ -197,23 +199,18 @@
    String file
    - When the Clipboard includes any strings in the specified file, + When the Clipboard includes any strings in the specified file, the confirmation dialog can be shown to paste by right-click or Alt+V. This is a foolproof way.
    - This function works when the ConfirmChangePaste is enabled. + This function works when the ConfirmChangePaste is enabled.
    -
    Confirm change paste string file
    +
    Delimiter characters
    - When a user pastes, the user can specify a keyword file for ConfirmChangePaste except the CR/LF. -
    - -
    Delimiter characters
    -
    Includes delimiter characters for the word selection.
    -
    Paste delay per line
    +
    Paste delay per line
    A user can delay to send a line data to the remote host when the user pastes multiple lines. The delay time can be specified by this option on the millisecond time scale.
    @@ -234,7 +231,7 @@
    Tera Term window looks like Eterm look-feel background transparency.
    - +
    Background Image
    When the Eterm look-feel feature is enabled, an image file can be specified as background. @@ -246,12 +243,11 @@ The range of value is from 0 to 255.
    The more brightness reduces the value, the more image brightens.
    - + +

    See also Background transparency.

    - -
    MouseCursor
    @@ -285,13 +281,13 @@
    Enable URL attribute color
    Enable ANSI color
    - Enables each color attributes and color setting.
    + Enables each color attributes and color setting.
    If ANSI color is disabled, 16 colors and 256 colors modes are also disabled.
    Underline URL string
    - Enables Underline attribute on URL string. + Enables Underline attribute on URL string.
    @@ -332,84 +328,82 @@ %y Year without century, as decimal number (00 - 99) %Y Year with century, as decimal number %z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; - no characters if time zone is unknown + no characters if time zone is unknown %% Percent sign
    -
    Default log save folder
    +
    Default log save folder
    Specify default path to save log file. It is used when the log file name is not a full path.
    -
    Auto start logging
    +
    Auto start logging
    - Start logging automatically when connecting. Default Log File Name is used for log file name.
    - When the /nolog command line is specified, this feature is always disabled. + Start logging automatically when connecting. Default Log File Name is used for log file name.
    + When the /nolog command line is specified, this feature is always disabled.
    -
    Log Rotate
    +
    Log Rotate
    - The log rotation is enabled. The extension of the rotated file is added .1, .2, .3 etc. + The log rotation is enabled. The extension of the rotated file is added .1, .2, .3 etc. +
    +
    Size
    +
    + The log file is rotated when it grows bigger than Size bytes. If the size is followed by KB, + the size is assumed to be in kilobytes. If the MB is used, the size is in megabytes. +
    + +
    Rotate
    +
    + The log file is rotated Rotate times before being removed. If the Rotate is 0, + the old version is not removed rather than rotated. +
    +
    - - -
    Log option
    +
    Log option
    - Specify the log type. -
    + Specify the log type. +
    +
    Binary
    +
    + If you select this option, received characters are written without + any modifications. Otherwise, new-line codes are converted and + escape sequences are stripped out. +
    -
    + -
    Include screen buffer
    -
    - If you select this option, the logging starts after current all buffer is written into a log file. -
    - - @@ -422,10 +416,11 @@
    CygTerm
    - Configure CygTerm settings.

    - - (version 4.88 or earlier)
    - The CygTerm configuration file(cygterm.cfg) will be immediately written after your configuration. So, you need not to do the save setup. + Configure CygTerm settings. +
    Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-01 03:14:14 UTC (rev 6421) +++ trunk/doc/ja/html/about/history.html 2016-07-01 03:14:16 UTC (rev 6422) @@ -1331,7 +1331,7 @@
  • ConfirmChangePaste \x8B@\x94\\x82?A\x94C\x88??\xB6\x8E\x9A\x97\xF1\x82\xF0\x8Ew\x92?\x82邱\x82?\xAA\x82ł\xAB\x82\xE9\x90V\x82\xB5\x82\xA2\x82\xB5\x82\xAD\x82?\xF0\x92?\xC1\x82\xB5\x82\xBD\x81B
  • teraterm.ini \x82\xC9 Wait4allMacroCommand \x83G\x83\x93\x83g\x83\x8A\x82\xF0\x92?\xC1\x82\xB5\x82\xBD\x81B\x83f\x83t\x83H\x83\x8B\x83g\x82\xCDoff\x81Bon\x82?\xB7\x82\xE9\x82?A"wait4all" \x83}\x83N\x83\x8D\x83R\x83}\x83\x93\x83h\x82\xAA\x97L\x8C\xF8\x82??\xE9\x81B
  • \x83}\x83N\x83\x8D\x83R\x83}\x83\x93\x83h "exec" \x82?A\x8BN\x93\xAE\x82\xB5\x82\xBD\x83A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82?I\x97\xB9\x83R\x81[\x83h\x82\xF0 result \x82?i\x94[\x82\xB7\x82邽\x82??I\x83v\x83V\x83\x87\x83\x93\x82\xF0\x92?\xC1\x82\xB5\x82\xBD\x81B
  • @@ -1764,7 +1764,7 @@
  • \x83E\x83B\x83\x93\x83h\x83E\x82?\xA7\x96\xBE\x93x\x82\xF0 255 \x82?ύX\x82ł\xAB\x82?\xA2\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • \x83T\x81[\x83o\x82\xA9\x82瑗\x90M\x82\xB3\x82\xEA\x82\xE9\x83^\x83C\x83g\x83\x8B\x95\xB6\x8E\x9A\x97\xF1\x82?\x96\x94\xF6 1 \x95\xB6\x8E\x9A\x82\xAA\x8D\xED\x82\xE7\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • New connection \x83_\x83C\x83A\x83\x8D\x83O\x82\xA9\x82\xE7 Telnet \x90?\xB1\x82\xF0\x8AJ\x8En\x82\xB5\x82\xBD\x82?\xAB\x81ATCPLocalEcho/TCPCRSend \x82??肪\x8Eg\x97p\x82\xB3\x82\xEA\x82Ă\xB5\x82?\xA4\x82\xB1\x82?\xAA\x82\xA0\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • -
  • \x8Cp\x91\xB1\x8Ds\x98A\x8C\x8B\x83R\x83s\x81[\x82\xF0\x97L\x8C\xF8\x82???\x82Ă\xA2\x82鎞\x81A\x83e\x81[\x83u\x83\x8B\x82\xF0\x83R\x83s\x81[\x82\xAA\x90\xB3\x82\xB5\x82\xAD\x93\xAE\x8D?\x82?\xA2\x8F?\x82\xAA\x82\xA0\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • +
  • \x8Cp\x91\xB1\x8Ds\x98A\x8C\x8B\x83R\x83s\x81[\x82\xF0\x97L\x8C\xF8\x82???\x82Ă\xA2\x82鎞\x81A\x83e\x81[\x83u\x83\x8B\x82\xF0\x83R\x83s\x81[\x82\xAA\x90\xB3\x82\xB5\x82\xAD\x93\xAE\x8D?\x82?\xA2\x8F?\x82\xAA\x82\xA0\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • Delete\x83L\x81[\x82\xC5DEL\x82?M\x82\xB7\x82\xE9\x90?\xE8\x82\xC5 Num Lock \x82?\xF3\x91?\xAA Off \x82?\x9E\x81A\x90\x94\x92l\x83L\x81[\x83p\x83b\x83h\x82\xCC"."\x82\xC5DEL\x82\xAA\x91\x97\x90M\x82\xB3\x82\xEA\x82Ă\xA2\x82\xBD\x82?\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • \x83}\x83N\x83\x8D\x82\xCC wait \x83R\x83}\x83\x93\x83h\x82\xAA\x92\xB7\x82\xA2\x95\xB6\x8E\x9A\x97\xF1\x82\xF0\x91?Ă?\xAD\x82?\xC1\x82Ă\xA2\x82\xBD\x82?\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B4.54\x82ł?G\x83\x93\x83o\x83O\x81B
  • \x83E\x83B\x83\x93\x83h\x83E\x82??\xE8\x83_\x83C\x83A\x83\x8D\x83O\x82?J\x83\x89\x81[\x90?\xE8\x82ŁA\x92l\x82\xAA15\x88?\xBA\x82?\x9E\x82\xC9PageUp\x83L\x81[\x82\xF0\x89\x9F\x82\xB7\x82\xC6255\x82??\xE9\x82?\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
  • Modified: trunk/doc/ja/html/menu/setup-additional.html =================================================================== --- trunk/doc/ja/html/menu/setup-additional.html 2016-07-01 03:14:14 UTC (rev 6421) +++ trunk/doc/ja/html/menu/setup-additional.html 2016-07-01 03:14:16 UTC (rev 6422) @@ -26,7 +26,7 @@
    Accept broadcast
    - \x83u\x83\x8D\x81[\x83h\x83L\x83\x83\x83X\x83g\x83R\x83}\x83\x93\x83h\x82\xF0\x8E?\xFC\x82\xEA\x82?\xB7\x81B
    + \x83u\x83\x8D\x81[\x83h\x83L\x83\x83\x83X\x83g\x83R\x83}\x83\x93\x83h\x82\xF0\x8E?\xFC\x82\xEA\x82?\xB7\x81B
    \x82\xB1\x82??\xE8\x82\xCD "Realtime mode" \x82\xAA off \x82?u\x83\x8D\x81[\x83h\x83L\x83\x83\x83X\x83g\x91\x97\x90M\x82??\xB5\x82ėL\x8C\xF8\x82ł\xB7\x81B"Realtime mode" \x82\xAA on \x82?u\x83\x8D\x81[\x83h\x83L\x83\x83\x83X\x83g\x91\x97\x90M\x82?A\x82\xB1\x82??\xE8\x92l\x82?\xA9\x82\xA9\x82\xED\x82炸\x8E\xF3\x90M\x82\xB3\x82\xEA\x82?\xB7\x81B
    @@ -47,7 +47,7 @@
    Change cursor shape with IME state
    - IME\x82\xAAon\x82?\x9E\x82?A\x83J\x81[\x83\\x83\x8B\x82\xF0\x96?|\x82\xAF\x82?\xB7\x82?\x90??\x82?\xB7\x81B + IME\x82\xAAon\x82?\x9E\x82?A\x83J\x81[\x83\\x83\x8B\x82\xF0\x96?|\x82\xAF\x82?\xB7\x82?\x90??\x82?\xB7\x81B
    @@ -57,69 +57,71 @@
    Accept mouse event tracking
    - \x83z\x83X\x83g\x91\xA4\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82?\xE6\x82\xC1\x82āAVT window \x82\xAA\x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x82?ύX\x82\xB3\x82?\x8F?\x81ATera Term \x82?}\x83E\x83X\x91\x80\x8D\xEC\x82\xF0\x83z\x83X\x83g\x82??\xB7\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B
    - \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x82\xCDxterm\x82?g\x92\xA3\x8B@\x94\\x82ł\xB7\x82?ŁATERM\x8A?\xAB\x95?\x94\x82\xAA"xterm"\x88?O\x82\xBE\x82?z\x83X\x83g\x91\xA4\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82?\xB1\x82?@\x94\\x82\xF0\x8Eg\x82\xED\x82?\xA2\x82\xA9\x82\xE0\x82\xB5\x82\xEA\x82?\xB9\x82\xF1\x81B + \x83z\x83X\x83g\x91\xA4\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82?\xE6\x82\xC1\x82āAVT window \x82\xAA\x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x82?ύX\x82\xB3\x82?\x8F?\x81ATera Term \x82?}\x83E\x83X\x91\x80\x8D\xEC\x82\xF0\x83z\x83X\x83g\x82??\xB7\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B
    + \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x82\xCDxterm\x82?g\x92\xA3\x8B@\x94\\x82ł\xB7\x82?ŁATERM\x8A?\xAB\x95?\x94\x82\xAA"xterm"\x88?O\x82\xBE\x82?z\x83X\x83g\x91\xA4\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82?\xB1\x82?@\x94\\x82\xF0\x8Eg\x82\xED\x82?\xA2\x82\xA9\x82\xE0\x82\xB5\x82\xEA\x82?\xB9\x82\xF1\x81B
    Disable mouse event tracking when Control is pressed
    - \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x8E\x9E\x81AControl\x83L\x81[\x82\xAA\x89\x9F\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x8A??}\x83E\x83X\x91\x80\x8D\xEC\x82\xF0\x92?m\x82\xB5\x82?\xA2\x82悤\x82?\xB5\x82?\xB7\x81B + \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x83\x82\x81[\x83h\x8E\x9E\x81AControl\x83L\x81[\x82\xAA\x89\x9F\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x8A??}\x83E\x83X\x91\x80\x8D\xEC\x82\xF0\x92?m\x82\xB5\x82?\xA2\x82悤\x82?\xB5\x82?\xB7\x81B
    Accept window title change request
    - \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x95ύX\x97v\x8B\x81\x82\xF0\x8E?\xFC\x82\xEA\x82?\x82\xF0\x90??\x82?\xB7\x81B -
    -
    off
    -
    \x8E?\xFC\x82\xEA\x82?\xA2
    -
    overwrite
    -
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82??\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9
    -
    ahead
    -
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95W\x8F\x80\x82?^\x83C\x83g\x83\x8B\x82?O\x82??\xC1\x82\xB7\x82\xE9
    -
    last
    -
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95W\x8F\x80\x82?^\x83C\x83g\x83\x8B\x82?\xE3\x82\xEB\x82??\xC1\x82\xB7\x82\xE9
    -
    + \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x95ύX\x97v\x8B\x81\x82\xF0\x8E?\xFC\x82\xEA\x82?\x82\xF0\x90??\x82?\xB7\x81B +
    +
    off
    +
    \x8E?\xFC\x82\xEA\x82?\xA2
    +
    overwrite
    +
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82??\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9
    +
    ahead
    +
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95W\x8F\x80\x82?^\x83C\x83g\x83\x8B\x82?O\x82??\xC1\x82\xB7\x82\xE9
    +
    last
    +
    \x8E?\xFC\x82\xEA\x81A\x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?E\x83C\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95W\x8F\x80\x82?^\x83C\x83g\x83\x8B\x82?\xE3\x82\xEB\x82??\xC1\x82\xB7\x82\xE9
    +
    Window title report
    - dtterm \x82?E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xA8\x82\xE6\x82уA\x83C\x83R\x83\x93\x83\x89\x83x\x83\x8B\x95?v\x8B\x81\x82??\xB5\x82āA\x82??悤\x82?\x9E\x93\x9A\x82\xB7\x82?\x82\xF0\x95ύX\x82ł\xAB\x82?\xB7\x81B -
    -
    ignore
    -
    \x95?v\x8B\x81\x82??\xB5\x82ĉ\xBD\x82\xE0\x89\x9E\x93\x9A\x82\xB5\x82?\xA2\x82悤\x82?\xB7\x82\xE9
    -
    accept
    -
    \x8C\xBB\x8D??E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95?\xB7\x82\xE9\x81B\x82\xBD\x82\xBE\x82\xB5\x81A\x8C\xBB\x8D??\xBB\x8D??E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95?\xB7\x82\xE9\x82??Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8F\xE3\x8A?\x82ł\xB7\x82?ŁA\x96{\x93\x96\x82?K\x97v\x82?\x9E\x82??\xB1\x82??\xE8\x82\xF0\x8Ds\x82\xA4\x82悤\x82?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B
    -
    empty
    -
    \x83E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82????\xB7\x82\xE9
    -
    + dtterm \x82?E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xA8\x82\xE6\x82уA\x83C\x83R\x83\x93\x83\x89\x83x\x83\x8B\x95?v\x8B\x81\x82??\xB5\x82āA\x82??悤\x82?\x9E\x93\x9A\x82\xB7\x82?\x82\xF0\x95ύX\x82ł\xAB\x82?\xB7\x81B +
    +
    ignore
    +
    \x95?v\x8B\x81\x82??\xB5\x82ĉ\xBD\x82\xE0\x89\x9E\x93\x9A\x82\xB5\x82?\xA2\x82悤\x82?\xB7\x82\xE9
    +
    accept
    +
    \x8C\xBB\x8D??E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95?\xB7\x82\xE9\x81B\x8C\xBB\x8D??E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82\xF0\x95?\xB7\x82\xE9\x82??Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8F\xE3\x8A?\x82ł\xB7\x82?ŁA\x96{\x93\x96\x82?K\x97v\x82?\x9E\x82??\xB1\x82??\xE8\x82\xF0\x8Ds\x82\xA4\x82悤\x82?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B
    +
    empty
    +
    \x83E\x83B\x83\x93\x83h\x83E\x83^\x83C\x83g\x83\x8B\x82????\xB7\x82\xE9
    +
    Window control sequence
    - \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?Adtterm\x82?E\x83B\x83\x93\x83h\x83E\x91\x80\x8D?\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\xE0\x81A\x88?u\x88?\xAE, \x8D?\xAC\x89\xBB, \x8Dő?, \x8DőO\x96??\xAE, \x8DŔw\x96??\xAE, \x83\x8A\x83t\x83\x8C\x83b\x83V\x83\x85, \x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95ύX(\x83s\x83N\x83Z\x83\x8B\x92P\x88\xCA, \x95\xB6\x8E\x9A\x92P\x88\xCA) \x82\xAA\x97L\x8C\xF8\x82??\xE8\x82?\xB7\x81B + \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?Adtterm\x82?E\x83B\x83\x93\x83h\x83E\x91\x80\x8D?\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\xE0\x81A\x88?u\x88?\xAE, \x8D?\xAC\x89\xBB, \x8Dő?, \x8DőO\x96??\xAE, \x8DŔw\x96??\xAE, \x83\x8A\x83t\x83\x8C\x83b\x83V\x83\x85, \x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95ύX(\x83s\x83N\x83Z\x83\x8B\x92P\x88\xCA, \x95\xB6\x8E\x9A\x92P\x88\xCA) \x82\xAA\x97L\x8C\xF8\x82??\xE8\x82?\xB7\x81B
    Window report sequence
    - \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?Adtterm\x82?E\x83B\x83\x93\x83h\x83E\x8F\xEE\x95\xF1\x95??\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\xE0\x81A\x83E\x83B\x83\x93\x83h\x83E\x8F\xF3\x91?\xF1\x8D\x90, \x83E\x83B\x83\x93\x83h\x83E\x88?u\x95\xF1\x8D\x90, \x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83s\x83N\x83Z\x83\x8B\x92P\x88\xCA, \x95\xB6\x8E\x9A\x92P\x88\xCA), \x83\x8B\x81[\x83g\x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90 \x82\xAA\x97L\x8C\xF8\x82??\xE8\x82?\xB7\x81B
    - \x83Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8F\xE3\x82?\x9D\x97R\x93\x99\x82ŃE\x83B\x83\x93\x83h\x83E\x82?\xEE\x95\xF1\x82\xF0\x95?\xB5\x82\xBD\x82\xAD\x82?\xA2\x8F?\x82?\xB3\x8C\xF8\x82?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B + \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?Adtterm\x82?E\x83B\x83\x93\x83h\x83E\x8F\xEE\x95\xF1\x95??\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\xE0\x81A\x83E\x83B\x83\x93\x83h\x83E\x8F\xF3\x91?\xF1\x8D\x90, \x83E\x83B\x83\x93\x83h\x83E\x88?u\x95\xF1\x8D\x90, \x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83s\x83N\x83Z\x83\x8B\x92P\x88\xCA, \x95\xB6\x8E\x9A\x92P\x88\xCA), \x83\x8B\x81[\x83g\x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90 \x82\xAA\x97L\x8C\xF8\x82??\xE8\x82?\xB7\x81B
    + \x83Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8F\xE3\x82?\x9D\x97R\x93\x99\x82ŃE\x83B\x83\x93\x83h\x83E\x82?\xEE\x95\xF1\x82\xF0\x95?\xB5\x82\xBD\x82\xAD\x82?\xA2\x8F?\x82?\xB3\x8C\xF8\x82?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B
    Cursor control sequence
    - \x83J\x81[\x83\\x83\x8B\x8C`\x8F\xF3\x82??\x82\xE9\x83V\x81[\x83P\x83\x93\x83X\x82\xF0\x8Eg\x97p\x82\xB7\x82?\x82?\xA4\x82\xA9\x82\xF0\x90??\x82?\xB7\x81B
    - \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?ADECSCUSR(\x83J\x81[\x83\\x83\x8B\x8C`\x8F\xF3\x95ύX), WYSTCURM(Wyse\x94\xF1\x93_\x96ŃJ\x81[\x83\\x83\x8B), WYULCURM(Wyse\x89\xBA\x90\xFC\x83J\x81[\x83\\x83\x8B), AT&T 610\x82?J\x81[\x83\\x83\x8B\x93_\x96Ő\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\x9E\x82\xB6\x82āA\x83J\x81[\x83\\x83\x8B\x8C`\x8F?ύX\x82\xB3\x82\xEA\x82?\xB7\x81B

    - - vim\x82\xF0\x8Eg\x97p\x82\xB5\x82Ă\xA2\x82\xE9\x8F?\x81A\x82\xB1\x82?@\x94\\x82\xF0 on \x82?\xB5\x82\xC4 ~/.vimrc \x82??\xBA\x82?悤\x82??\xC1\x82\xB7\x82\xE9\x82?\xFC\x97?\x82\x81[\x83h\x82?\x9E\x82\xB6\x82ăJ\x81[\x83\\x83\x8B\x8C`\x8F?ς\xED\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B + \x83J\x81[\x83\\x83\x8B\x8C`\x8F\xF3\x82??\x82\xE9\x83V\x81[\x83P\x83\x93\x83X\x82\xF0\x8Eg\x97p\x82\xB7\x82?\x82?\xA4\x82\xA9\x82\xF0\x90??\x82?\xB7\x81B
    + \x82\xB1\x82??肪 on \x82??\xC1\x82Ă\xA2\x82\xE9\x82?ADECSCUSR(\x83J\x81[\x83\\x83\x8B\x8C`\x8F\xF3\x95ύX), WYSTCURM(Wyse\x94\xF1\x93_\x96ŃJ\x81[\x83\\x83\x8B), WYULCURM(Wyse\x89\xBA\x90\xFC\x83J\x81[\x83\\x83\x8B), AT&T 610\x82?J\x81[\x83\\x83\x8B\x93_\x96Ő\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82?\x9E\x82\xB6\x82āA\x83J\x81[\x83\\x83\x8B\x8C`\x8F?ύX\x82\xB3\x82\xEA\x82?\xB7\x81B +

    + vim\x82\xF0\x8Eg\x97p\x82\xB5\x82Ă\xA2\x82\xE9\x8F?\x81A\x82\xB1\x82?@\x94\\x82\xF0 on \x82?\xB5\x82\xC4 ~/.vimrc \x82??\xBA\x82?悤\x82??\xC1\x82\xB7\x82\xE9\x82?\xFC\x97?\x82\x81[\x83h\x82?\x9E\x82\xB6\x82ăJ\x81[\x83\\x83\x8B\x8C`\x8F?ς\xED\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B +

    +
     set t_SI=^[[3\ q
     set t_EI=^[[1\ q
     \x92\x8D: ^[ \x82\xCDControl-V Control-[\x82œ\xFC\x97?\xB7\x82\xE9
     
    - \x83A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x8FI\x97\xB9\x8C\xE3\x82?A\x83J\x81[\x83\\x83\x8B\x82\xF0\x93_\x96?\xF3\x91???\xB7\x82??A\x88?\xBA\x82?悤\x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B
    - ncurses 5.7 \x82\xCC terminfo \x82ł\xCD xterm \x82?J\x81[\x83\\x83\x8B\x82?\xF1\x95\\x8E\xA6(civis)/\x92?\xED\x95\\x8E\xA6(cnorm)/\x8B\xAD\x92\xB2\x95\\x8E\xA6(cvvis)\x82?\xBB\x82?\x82\xEA\x88?\xBA\x82?悤\x82??\xC1\x82Ă\xA2\x82?\xB7\x81B + \x83A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x8FI\x97\xB9\x8C\xE3\x82?A\x83J\x81[\x83\\x83\x8B\x82\xF0\x93_\x96?\xF3\x91???\xB7\x82??A\x88?\xBA\x82?悤\x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B
    + ncurses 5.7 \x82\xCC terminfo \x82ł\xCD xterm \x82?J\x81[\x83\\x83\x8B\x82?\xF1\x95\\x8E\xA6(civis)/\x92?\xED\x95\\x8E\xA6(cnorm)/\x8B\xAD\x92\xB2\x95\\x8E\xA6(cvvis)\x82?\xBB\x82?\x82\xEA\x88?\xBA\x82?悤\x82??\xC1\x82Ă\xA2\x82?\xB7\x81B
     civis=\E[?25l
    @@ -127,9 +129,9 @@
     cvvis=\E[?12;25h
     
    - \x82\xB1\x82???\x82?A\x83J\x81[\x83\\x83\x8B\x82??\xED\x95\\x8E\xA6\x8E\x9E\x82?\xF1\x93_\x96ł?A\x8B\xAD\x92\xB2\x95\\x8E\xA6\x8E\x9E\x82?_\x96ł\xB7\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B - \x82\xB1\x82?\xBD\x82\xDF terminfo \x91Ή\x9E\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82\xAA\x83J\x81[\x83\\x83\x8B\x82\xF0\x92?\xED\x95\\x8E\xA6\x82\xB5\x82悤\x82?\xB5\x82\xBD\x8E\x9E\x82?_\x96ł\xB5\x82?\xAD\x82?\xE8\x82?\xB7\x81B
    - \x91Ή\x9E\x82?\xB5\x82Ă?A\x83J\x81[\x83\\x83\x8B\x82?_\x96Ő\xA7\x8C\xE4\x82?\x8B\x82\xB7\x82\xE9\x88?\xC9 CursorCtrlSequence \x82\xF0 off \x82???\x82?\x81A\x83J\x81[\x83\\x83\x8B\x95\\x8E\xA6\x8F\xF3\x91?ύX\x8E\x9E\x82?_\x96?\xF3\x91?\xF0\x95ύX\x82\xB5\x82?\xA2\x82悤\x82??\xBA\x82?菇\x82\xF0\x83z\x83X\x83g\x91\xA4\x82?\xC0\x8E{\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B + \x82\xB1\x82???\x82?A\x83J\x81[\x83\\x83\x8B\x82??\xED\x95\\x8E\xA6\x8E\x9E\x82?\xF1\x93_\x96ł?A\x8B\xAD\x92\xB2\x95\\x8E\xA6\x8E\x9E\x82?_\x96ł\xB7\x82\xE9\x82悤\x82??\xE8\x82?\xB7\x81B + \x82\xB1\x82?\xBD\x82\xDF terminfo \x91Ή\x9E\x82?A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x82\xAA\x83J\x81[\x83\\x83\x8B\x82\xF0\x92?\xED\x95\\x8E\xA6\x82\xB5\x82悤\x82?\xB5\x82\xBD\x8E\x9E\x82?_\x96ł\xB5\x82?\xAD\x82?\xE8\x82?\xB7\x81B
    + \x91Ή\x9E\x82?\xB5\x82Ă?A\x83J\x81[\x83\\x83\x8B\x82?_\x96Ő\xA7\x8C\xE4\x82?\x8B\x82\xB7\x82\xE9\x88?\xC9 CursorCtrlSequence \x82\xF0 off \x82???\x82?\x81A\x83J\x81[\x83\\x83\x8B\x95\\x8E\xA6\x8F\xF3\x91?ύX\x8E\x9E\x82?_\x96?\xF3\x91?\xF0\x95ύX\x82\xB5\x82?\xA2\x82悤\x82??\xBA\x82?菇\x82\xF0\x83z\x83X\x83g\x91\xA4\x82?\xC0\x8E{\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B
     % infocmp xterm > xterm.ti
    @@ -142,17 +144,17 @@
     
           
    Clipboard access from remote
    - \x83z\x83X\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??A\x83N\x83Z\x83X\x82\xF0\x8B\x96\x89?\xB7\x82?\x90??\x82?\xB7\x81B -
    -
    off
    -
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??A\x83N\x83Z\x83X\x82\xF0\x8B\x96\x89?\xB5\x82?\xA2
    -
    write only
    -
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??\x91\x82\xAB\x8D\x9E\x82?\xF0\x8B\x96\x89?\xB7\x82\xE9
    -
    read only
    -
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82????\x9E\x82?\xF0\x8B\x96\x89?\xB7\x82\xE9
    -
    read/write
    -
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82????\x91\x82\xAB\x97\xBC\x95\xFB\x82\xF0\x8B\x96\x89?\xB7\x82\xE9
    -
    + \x83z\x83X\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??A\x83N\x83Z\x83X\x82\xF0\x8B\x96\x89?\xB7\x82?\x90??\x82?\xB7\x81B +
    +
    off
    +
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??A\x83N\x83Z\x83X\x82\xF0\x8B\x96\x89?\xB5\x82?\xA2
    +
    write only
    +
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82??\x91\x82\xAB\x8D\x9E\x82?\xF0\x8B\x96\x89?\xB7\x82\xE9
    +
    read only
    +
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82????\x9E\x82?\xF0\x8B\x96\x89?\xB7\x82\xE9
    +
    read/write
    +
    \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82????\x91\x82\xAB\x97\xBC\x95\xFB\x82\xF0\x8B\x96\x89?\xB7\x82\xE9
    +
    @@ -160,7 +162,7 @@

    "Copy and Paste" \x83^\x83u

    -
    Enable continued line copy
    +
    Enable continued line copy
    \x8Cp\x91\xB1\x82\xB5\x82Ă\xA2\x82\xE9\x8Ds\x82\xF0\x89\xFC\x8Ds\x82\xB9\x82\xB8\x82?R\x83s\x81[\x82\xB7\x82\xE9\x8B@\x94\\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B
    @@ -198,20 +200,15 @@ \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82?A\x82\xB1\x82??\xE8\x82?w\x92?\x82\xBD\x83t\x83@\x83C\x83\x8B\x93\xE0\x82?\xB6\x8D?\xB7\x82\xE9\x83e\x83L\x83X\x83g\x82\xAA\x8A??\xEA\x82\xE9\x8F?\x81A\x83}\x83E\x83X\x82?E\x83N\x83\x8A\x83b\x83N\x82\xA8\x82\xE6\x82\xD1Alt+V\x82\xC5 Tera Term\x83E\x83B\x83\x93\x83h\x83E\x82?\\x82\xE8\x95t\x82\xAF\x82悤\x82?\xB7\x82\xE9\x83^\x83C\x83~\x83\x93\x83O\x82ŁA\x8Am\x94F\x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x95\\x8E\xA6\x82\xB3\x82\xB9\x82邱\x82?\xAA\x82ł\xAB\x82?\xB7\x81B \x8C?\x8D\xEC\x82?\xE6\x82\xE8\x81A\x92[\x96\x96\x82?\\x8A\xFA\x82\xB9\x82?R\x83}\x83\x93\x83h\x93\x8A\x93\xFC\x82\xF0\x96h\x82\xAE\x82\xB1\x82?\xAA\x82ł\xAB\x82?\xB7\x81B
    - \x82\xB1\x82??\xE8\x82?AConfirmChangePaste\x82??肪\x97L\x8C\xF8\x82??\x82?\xEC\x97p\x82\xB5\x82?\xB7\x81B + \x82\xB1\x82??\xE8\x82?AConfirmChangePaste\x82??肪\x97L\x8C\xF8\x82??\x82?\xEC\x97p\x82\xB5\x82?\xB7\x81B -
    Confirm change paste string file
    +
    Delimiter characters
    - \x83y\x81[\x83X\x83g\x8E\x9E\x82?A\x89\xFC\x8Ds\x83R\x81[\x83h\x88?O\x82?x\x8D\x90\x82\xB5\x82\xBD\x82\xA2\x83L\x81[\x83\x8F\x81[\x83h\x82\xF0\x97?\xB5\x82\xBD\x83t\x83@\x83C\x83\x8B\x82\xF0\x8Ew\x92?\x82邱\x82?\xAA\x82ł\xAB\x82?\xB7\x81B -
    - -
    Delimiter characters
    -
    \x92P\x8C\xEA\x91I\x91\xF0\x82?\xE6\x90??\x8E\x9A\x82\xF0\x90??\x82?\xB7\x81B
    -
    Paste delay per line
    +
    Paste delay per line
    \x95\xA1\x90\x94\x8Ds\x82?f\x81[\x83^\x82\xF0\x93\\x82\xE8\x95t\x82\xAF\x82\xE9\x82?\xAB\x81A\x89\xFC\x8Ds\x82\xAA\x8C\xBB\x82\xEA\x82邲\x82??f\x81[\x83^\x82?\x97\x90M\x82\xF0\x92x\x89\x84\x82\xB3\x82\xB9\x82邱\x82?\xAA\x82ł\xAB\x82?\xB7\x81B\x92x\x89\x84\x82\xB7\x82鎞\x8A?\xF0\x83~\x83\x8A\x95b\x82Ő??\x82?\xB7\x81B
    @@ -243,13 +240,12 @@ \x92l\x82\xAA\x8F\xAC\x82\xB3\x82\xA2\x82?ǖ\xBE\x82?\x82?\xE8\x82?\xB7\x81B +

    \x8F?\xB5\x82\xAD\x82?u\x93\xA7\x89?E\x83C\x83\x93\x83h\x83E\x81v \x82\xF0\x8EQ\x8F?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B

    - -
    MouseCursor
    @@ -282,13 +278,13 @@
    Enable URL attribute color
    Enable ANSI color
    - \x82\xBB\x82?\x82\xEA\x82?F\x91\xAE\x90\xAB\x82\xA8\x82\xE6\x82?F\x90?\xE8\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B
    + \x82\xBB\x82?\x82\xEA\x82?F\x91\xAE\x90\xAB\x82\xA8\x82\xE6\x82?F\x90?\xE8\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B
    \x82\xE0\x82\xB5ANSI color\x82?\xF8\x82?\xB5\x82\xBD\x8F?\x81A16\x90F\x82\xA8\x82\xE6\x82\xD1256\x90F\x83\x82\x81[\x83h\x82\xE0\x96\xB3\x8C\xF8\x82??\xE8\x82?\xB7\x81B
    Underline URL string
    - URL \x95\xB6\x8E\x9A\x97\xF1\x82?\xBA\x90\x{11B90AC2}\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B + URL \x95\xB6\x8E\x9A\x97\xF1\x82?\xBA\x90\x{11B90AC2}\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B
    @@ -329,7 +325,7 @@ %y 10 \x90i\x90\x94\x82ŕ\\x82\xB7\x90\xBC\x97\xEF\x82?\xBA 2 \x8C\x85 (00 \x81` 99)\x81B %Y 10 \x90i\x90\x94\x82ŕ\\x82\xB7 4 \x8C\x85\x82?\xBC\x97\xEF\x81B %z, %Z \x83\x8C\x83W\x83X\x83g\x83\x8A\x82??\xE8\x82?\x9E\x82\xB6\x82āA\x83^\x83C\x83\x80 \x83]\x81[\x83\x93\x82?\xBC\x91O\x82?\xBD\x82??\xAA\x8C`\x82\xF0\x8Ew\x92?\x82?\xB7\x81B - \x83^\x83C\x83\x80 \x83]\x81[\x83\x93\x82\xAA\x95s\x96\xBE\x82??\x82?w\x92?\x82?\xB9\x82\xF1\x81B + \x83^\x83C\x83\x80 \x83]\x81[\x83\x93\x82\xAA\x95s\x96\xBE\x82??\x82?w\x92?\x82?\xB9\x82\xF1\x81B %% \x83p\x81[\x83Z\x83\x93\x83g\x8BL\x8D\x86\x81B @@ -341,69 +337,67 @@
    Auto start logging
    - \x90?\xB1\x8E\x9E\x82?\xA9\x93\xAE\x93I\x82?\x8D\x83O\x8D?\xE6\x82\xF0\x8AJ\x8En\x82\xB7\x82\xE9\x8B@\x94\\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B\x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x96\xBC\x82??A\x95W\x8F\x80\x82?\x8D\x83O\x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xAA\x8Eg\x97p\x82\xB3\x82\xEA\x82?\xB7\x81B
    - /nolog \x83R\x83}\x83\x93\x83h\x83\x89\x83C\x83\x93\x83I\x83v\x83V\x83\x87\x83\x93\x82\xAA\x8Ew\x92?\x82\xEA\x82Ă\xA2\x82\xE9\x82?A\x93\x96\x8AY\x8B@\x94\\x82?\xB3\x8C\x{27B0B3}\x82\xEA\x82?\xB7\x81B + \x90?\xB1\x8E\x9E\x82?\xA9\x93\xAE\x93I\x82?\x8D\x83O\x8D?\xE6\x82\xF0\x8AJ\x8En\x82\xB7\x82\xE9\x8B@\x94\\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B\x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x96\xBC\x82??A\x95W\x8F\x80\x82?\x8D\x83O\x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xAA\x8Eg\x97p\x82\xB3\x82\xEA\x82?\xB7\x81B
    + /nolog \x83R\x83}\x83\x93\x83h\x83\x89\x83C\x83\x93\x83I\x83v\x83V\x83\x87\x83\x93\x82\xAA\x8Ew\x92?\x82\xEA\x82Ă\xA2\x82\xE9\x82?A\x93\x96\x8AY\x8B@\x94\\x82?\xB3\x8C\x{27B0B3}\x82\xEA\x82?\xB7\x81B
    -
    Log Rotate
    +
    Log Rotate
    - \x83\x8D\x83O\x82?\x8D\x81[\x83e\x81[\x83g\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B\x83\x8D\x81[\x83e\x81[\x83g\x82\xB3\x82?\x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82??A\x8Ag\x92\xA3\x8Eq\x82\xC9 .1, .2, .3 \x81c \x82?t\x97^\x82\xB3\x82\xEA\x82?\xB7\x81B + \x83\x8D\x83O\x82?\x8D\x81[\x83e\x81[\x83g\x82\xF0\x97L\x8C\xF8\x82?\xB5\x82?\xB7\x81B\x83\x8D\x81[\x83e\x81[\x83g\x82\xB3\x82?\x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82??A\x8Ag\x92\xA3\x8Eq\x82\xC9 .1, .2, .3 \x81c \x82?t\x97^\x82\xB3\x82\xEA\x82?\xB7\x81B +
    +
    Size
    +
    + \x83\x8D\x83O\x82\xF0\x83\x8D\x81[\x83e\x81[\x83g\x82\xB3\x82\xB9\x82\xE9\x8F\xE3\x8C\xC0\x83T\x83C\x83Y\x82\xF0\x90??\x82?\xB7\x81B\x92P\x88?\xC9"KB", "MB"\x82\xF0\x8Ew\x92?\x82邱\x82?\xE0\x82ł\xAB\x82?\xB7\x81B +
    + +
    Rotate
    +
    + \x83\x8D\x83O\x82\xF0\x83\x8D\x81[\x83e\x81[\x83g\x82\xB3\x82\xB9\x82?\x91?\x82\xF0\x90??\x82?\xB7\x81B"0"\x82??\x82?A\x90\xA2\x91\xE3\x8AǗ\x9D\x82\xF0\x82\xB5\x82?\xB9\x82\xF1\x81B +
    +
    - - -
    Log option
    +
    Log option
    - \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82?\xED\x95?\xF0\x90??\x82?\xB7\x81B -
    + \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82?\xED\x95?\xF0\x90??\x82?\xB7\x81B +
    +
    Binary
    +
    + \x83z\x83X\x83g\x82\xA9\x82\xE7\x8E\xF3\x90M\x82\xB5\x82\xBD\x95\xB6\x8E\x9A\x82\xF0\x82\xBB\x82???t\x83@\x83C\x83\x8B\x82?\x91\x82\xAB\x8D\x9E\x82?\xBD\x82\xA2\x8F?\x82?I\x91\xF0\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B + \x91I\x91\xF0\x82\xB5\x82?\xA2\x8F?\x82?A\x8A\xBF\x8E\x9A\x83R\x81[\x83h\x81A\x89\xFC\x8Ds\x95\xB6\x8E\x9A\x82?ϊ\xB7\x82\xB3\x82\xEA\x81A + \x83G\x83X\x83P\x81[\x83v\x83V\x81[\x83P\x83\x93\x83X\x82?\xE6\x82菜\x82\xA9\x82\xEA\x82Ă\xA9\x82?\x82\xAB\x8D\x9E\x82?\xEA\x82?\xB7\x81B +
    -
    + -
    Include screen buffer
    -
    - \x8C\xBB\x8D??[\x96\x96\x83o\x83b\x83t\x83@\x82\xF0\x82\xB7\x82?ă\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82?\x91\x82\xAB\x8Fo\x82\xB5\x82Ă\xA9\x82\xE7\x81A\x83\x8D\x83O\x8D?\xE6\x82\xF0\x8AJ\x8En\x82\xB5\x82?\xB7\x81B -
    - - @@ -416,10 +410,10 @@
    CygTerm
    - CygTerm \x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B

    - - (version 4.88\x88?O)
    - \x90?\xE8\x8C\xE3\x81A\x91\xA6\x8D\xC0\x82??\xE8\x83t\x83@\x83C\x83\x8B(cygterm.cfg)\x82\xF0\x8DX\x90V\x82\xB5\x82?\xB7\x81BSave setup \x82\xF0\x8Ds\x82\xA4\x95K\x97v\x82?\xA0\x82\xE8\x82?\xB9\x82\xF1\x81B + CygTerm \x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B\x8Ae\x8D\x80\x96???\xA1\x82??\xA2\x82Ă?ACygTerm+ \x90?\xE8\x83t\x83@\x83C\x83\x8B \x82\xF0\x8EQ\x8F?\xB5\x82ĉ\xBA\x82\xB3\x82\xA2\x81B +

    \x92\x8D: \x88?O\x82?o\x81[\x83W\x83\x87\x83\x93\x82ł??\xE8\x8C\xE3\x82?\xA9\x93\xAE\x82\xC5cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB5\x82Ă\xA2\x82?\xB5\x82\xBD\x82\xAA\x81Aversion 4.89\x88?~\x82ł?\xA9\x93\xAE\x82ł?X\x90V\x82\xF0\x8Ds\x82\xED\x82?\xA2\x82悤\x82??\xE8\x82?\xB5\x82\xBD\x81B
    + cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB7\x82\xE9\x88??\xCD Setup - Save Setup \x82\xF0\x8Ds\x82\xA4\x95K\x97v\x82\xAA\x82\xA0\x82\xE8\x82?\xB7\x81B +

    From svnnotify @ sourceforge.jp Fri Jul 1 12:14:26 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 01 Jul 2016 12:14:26 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjZdICDlpInmm7TlsaXmrbTmm7TmlrA=?= Message-ID: <1467342866.542707.29130.nullmailer@users.sourceforge.jp> Revision: 6426 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6426 Author: doda Date: 2016-07-01 12:14:26 +0900 (Fri, 01 Jul 2016) Log Message: ----------- 変更履歴更新 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-01 03:14:23 UTC (rev 6425) +++ trunk/doc/en/html/about/history.html 2016-07-01 03:14:26 UTC (rev 6426) @@ -40,6 +40,11 @@ + Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-01 03:14:23 UTC (rev 6425) +++ trunk/doc/ja/html/about/history.html 2016-07-01 03:14:26 UTC (rev 6426) @@ -40,6 +40,11 @@ +
  • \x83}\x83N\x83\x8D\x82?R\x83}\x83\x93\x83h\x83\x89\x83C\x83\x93\x82?\xB5\x82\xA2\x95\xFB\x82\xF0\x95ύX\x82\xB5\x82\xBD\x81B +
  • From svnnotify @ sourceforge.jp Fri Jul 1 12:14:24 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 01 Jul 2016 12:14:24 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjVdICDjg4bjgrnjg4jjg5Djg4Pjg4E=?= =?utf-8?b?44OV44Kh44Kk44OrIC8g44Oe44Kv44Ot44KS5pu05paw?= Message-ID: <1467342864.115860.29087.nullmailer@users.sourceforge.jp> Revision: 6425 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6425 Author: doda Date: 2016-07-01 12:14:23 +0900 (Fri, 01 Jul 2016) Log Message: ----------- テストバッチファイル/マクロを更新 Modified Paths: -------------- trunk/tests/macroparam.bat trunk/tests/macroparam.ttl -------------- next part -------------- Modified: trunk/tests/macroparam.bat =================================================================== --- trunk/tests/macroparam.bat 2016-07-01 03:14:21 UTC (rev 6424) +++ trunk/tests/macroparam.bat 2016-07-01 03:14:23 UTC (rev 6425) @@ -4,15 +4,24 @@ set MACROFILE=%~dpn0.ttl echo == test 1 == -"%TTMACRO%" "%MACROFILE%" /vxx /ixx /v /i test1 +"%TTMACRO%" "%MACROFILE%" /vxx /ixx /V /i test1 if ERRORLEVEL 1 echo test 1 failed. echo == test 2 == -"%TTMACRO%" "%MACROFILE%" /v /i test2 +"%TTMACRO%" /V /i "%MACROFILE%" /v /I test2 if ERRORLEVEL 1 echo test 2 failed. echo == test 3 == -"%TTMACRO%" "%MACROFILE%" test3 /vxx /ixx /v /i +"%TTMACRO%" /I "%MACROFILE%" test3 /Vxx /ixx /V /i if ERRORLEVEL 1 echo test 3 failed. +echo == test 4 == +"%TTMACRO%" /i "%MACROFILE%" test4 /V /Vxx /ixx +if ERRORLEVEL 1 echo test 4 failed. + +rem ; ttpmacro.exe macrofile /vxx /ixx /V /i test1 +rem ; ttpmacro.exe /V /i macrofile /v /I test2 +rem ; ttpmacro.exe /I macrofile test3 /Vxx /ixx /V /i +rem ; ttpmacro.exe /i macrofile test4 /V /Vxx /ixx + pause Modified: trunk/tests/macroparam.ttl =================================================================== --- trunk/tests/macroparam.ttl 2016-07-01 03:14:21 UTC (rev 6424) +++ trunk/tests/macroparam.ttl 2016-07-01 03:14:23 UTC (rev 6425) @@ -30,61 +30,98 @@ execcmnd cmd endif + goto error :test1 -; ttpmacro.exe macrofile /vxx /ixx /v /i test1 +; ttpmacro.exe macrofile /vxx /ixx /V /i test1 ; -; \x82??\x82\xA6\x82\xB8\x88?\xBA\x82?悤\x82?\xF0\x8E?\xB7\x82鎖\x82?\xB7\x82\xE9 -; paramcnt: 4 +; \x88?\xBA\x82?悤\x82?\xF0\x8E?\xB7\x82鎖\x82?\xB7\x82\xE9 +; paramcnt: 6 ; param2: /vxx ; param3: /ixx -; param4: test1 +; param4: /V +; param5: /i +; param6: test1 ; -if paramcnt <> 4 goto error +if paramcnt <> 6 goto error strcompare param2 "/vxx" if result <> 0 goto error strcompare param3 "/ixx" if result <> 0 goto error -strcompare param4 "test1" +strcompare param4 "/V" if result <> 0 goto error +strcompare param5 "/i" +if result <> 0 goto error +strcompare param6 "test1" +if result <> 0 goto error goto end :test2 -; ttpmacro.exe macrofile /v /i test2 +; ttpmacro.exe /V /i macrofile /v /I test2 ; -; paramcnt: 2 -; param2: test2 +; paramcnt: 4 +; param2: /v +; param3: /I +; param4: test2 ; -if paramcnt <> 2 goto error -strcompare param2 "test2" +if paramcnt <> 4 goto error +strcompare param2 "/v" if result <> 0 goto error +strcompare param3 "/I" +if result <> 0 goto error +strcompare param4 "test2" +if result <> 0 goto error goto end :test3 -; ttpmacro.exe macrofile test3 /vxx /ixx /v /i +; ttpmacro.exe /I macrofile test3 /Vxx /ixx /V /i ; -; \x82\xB1\x82\xEA\x82\xE0\x8Eb\x92\xE8\x82ň?\xBA\x82?\xB7\x82\xE9 -; paramcnt: 4 +; \x88?\xBA\x82?\xF0\x8E??\xB7\x82\xE9 +; paramcnt: 6 ; param2: test3 -; param3: /vxx +; param3: /Vxx ; param4: /ixx +; param5: /V +; param6: /i ; -if paramcnt <> 4 goto error +if paramcnt <> 6 goto error strcompare param2 "test3" if result <> 0 goto error -strcompare param3 "/vxx" +strcompare param3 "/Vxx" if result <> 0 goto error strcompare param4 "/ixx" if result <> 0 goto error +strcompare param5 "/V" +if result <> 0 goto error +strcompare param6 "/i" +if result <> 0 goto error goto end :test4 -; \x96\xA2\x8E\xC0\x91\x95 +; ttpmacro.exe /i macrofile test4 /V /Vxx /ixx +; +; \x88?\xBA\x82?\xF0\x8E??\xB7\x82\xE9 +; paramcnt: 5 +; param2: test4 +; param3: /V +; param4: /Vxx +; param5: /ixx +; +if paramcnt <> 5 goto error +strcompare param2 "test4" +if result <> 0 goto error +strcompare param3 "/V" +if result <> 0 goto error +strcompare param4 "/Vxx" +if result <> 0 goto error +strcompare param5 "/ixx" +if result <> 0 goto error + goto end :test5 From svnnotify @ sourceforge.jp Fri Jul 1 15:50:49 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 01 Jul 2016 15:50:49 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjddICDliYrpmaTmvI/jgow=?= Message-ID: <1467355849.197318.5377.nullmailer@users.sourceforge.jp> Revision: 6427 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6427 Author: doda Date: 2016-07-01 15:50:48 +0900 (Fri, 01 Jul 2016) Log Message: ----------- 削除漏れ Modified Paths: -------------- trunk/teraterm/ttpmacro/ttmdlg.cpp -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttmdlg.cpp =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-01 03:14:26 UTC (rev 6426) +++ trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-01 06:50:48 UTC (rev 6427) @@ -72,7 +72,6 @@ *IOption = FALSE; *VOption = FALSE; Param = GetCommandLine(); - i = 0; // the first term shuld be executable filename of TTMACRO start = GetParam(Temp, sizeof(Temp), Param); From svnnotify @ sourceforge.jp Fri Jul 1 23:12:54 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 01 Jul 2016 23:12:54 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjhdICDoi7HoqLPjgII=?= Message-ID: <1467382374.577883.73826.nullmailer@users.sourceforge.jp> Revision: 6428 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6428 Author: yutakapon Date: 2016-07-01 23:12:54 +0900 (Fri, 01 Jul 2016) Log Message: ----------- 英訳。 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/en/html/menu/setup-additional.html -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-01 06:50:48 UTC (rev 6427) +++ trunk/doc/en/html/about/history.html 2016-07-01 14:12:54 UTC (rev 6428) @@ -36,15 +36,15 @@ Modified: trunk/doc/en/html/menu/setup-additional.html =================================================================== --- trunk/doc/en/html/menu/setup-additional.html 2016-07-01 06:50:48 UTC (rev 6427) +++ trunk/doc/en/html/menu/setup-additional.html 2016-07-01 14:12:54 UTC (rev 6428) @@ -416,11 +416,12 @@
    CygTerm
    - Configure CygTerm settings. - + Configure CygTerm settings. Please refer to CygTerm+ setup file regarding some entry description. +

    + NOTE: The cygterm.cfg is automatically updated after configuration on version 4.88 or ealier, + however the configuration is not updated on version 4.89 or later.
    + Please do Setup - Save Setup to update cygterm.cfg. +

    From svnnotify @ sourceforge.jp Sat Jul 2 15:21:03 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 02 Jul 2016 15:21:03 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MjldICDml6Xoi7Hjga7ooajnj77jgpI=?= =?utf-8?b?5L+u5q2j44GX44Gf44CC?= Message-ID: <1467440463.677968.31320.nullmailer@users.sourceforge.jp> Revision: 6429 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6429 Author: yutakapon Date: 2016-07-02 15:21:03 +0900 (Sat, 02 Jul 2016) Log Message: ----------- 日英の表現を修正した。 Modified Paths: -------------- trunk/doc/en/html/menu/setup-additional.html trunk/doc/ja/html/menu/setup-additional.html -------------- next part -------------- Modified: trunk/doc/en/html/menu/setup-additional.html =================================================================== --- trunk/doc/en/html/menu/setup-additional.html 2016-07-01 14:12:54 UTC (rev 6428) +++ trunk/doc/en/html/menu/setup-additional.html 2016-07-02 06:21:03 UTC (rev 6429) @@ -416,11 +416,11 @@
    CygTerm
    - Configure CygTerm settings. Please refer to CygTerm+ setup file regarding some entry description. + Configure CygTerm settings. Please refer to CygTerm+ setup file for details.

    - NOTE: The cygterm.cfg is automatically updated after configuration on version 4.88 or ealier, - however the configuration is not updated on version 4.89 or later.
    - Please do Setup - Save Setup to update cygterm.cfg. + NOTE: The cygterm.cfg file is automatically updated after configuration on version 4.88 or ealier, + however the file is not automatically updated on version 4.89 or later.
    + Please do Setup - Save Setup to update the cygterm.cfg file.

    Modified: trunk/doc/ja/html/menu/setup-additional.html =================================================================== --- trunk/doc/ja/html/menu/setup-additional.html 2016-07-01 14:12:54 UTC (rev 6428) +++ trunk/doc/ja/html/menu/setup-additional.html 2016-07-02 06:21:03 UTC (rev 6429) @@ -410,9 +410,9 @@
    CygTerm
    - CygTerm \x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B\x8Ae\x8D\x80\x96???\xA1\x82??\xA2\x82Ă?ACygTerm+ \x90?\xE8\x83t\x83@\x83C\x83\x8B \x82\xF0\x8EQ\x8F?\xB5\x82ĉ\xBA\x82\xB3\x82\xA2\x81B -

    \x92\x8D: \x88?O\x82?o\x81[\x83W\x83\x87\x83\x93\x82ł??\xE8\x8C\xE3\x82?\xA9\x93\xAE\x82\xC5cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB5\x82Ă\xA2\x82?\xB5\x82\xBD\x82\xAA\x81Aversion 4.89\x88?~\x82ł?\xA9\x93\xAE\x82ł?X\x90V\x82\xF0\x8Ds\x82\xED\x82?\xA2\x82悤\x82??\xE8\x82?\xB5\x82\xBD\x81B
    - cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB7\x82\xE9\x88??\xCD Setup - Save Setup \x82\xF0\x8Ds\x82\xA4\x95K\x97v\x82\xAA\x82\xA0\x82\xE8\x82?\xB7\x81B + CygTerm \x82??\xE8\x82\xF0\x82\xB5\x82?\xB7\x81B\x8Ae\x8D\x80\x96???\xA1\x82??\xA2\x82Ă?ACygTerm+ \x90?\xE8\x83t\x83@\x83C\x83\x8B \x82\xF0\x8EQ\x8F?\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B +

    \x92\x8D: version 4.88\x88?O\x82?o\x81[\x83W\x83\x87\x83\x93\x82ł??\xE8\x8C\xE3\x82?\xA9\x93\xAE\x82\xC5cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB5\x82Ă\xA2\x82?\xB5\x82\xBD\x82\xAA\x81Aversion 4.89\x88?~\x82ł?\xA9\x93\xAE\x82ł?X\x90V\x82\xF0\x8Ds\x82\xED\x82?\xA2\x82悤\x82??\xE8\x82?\xB5\x82\xBD\x81B
    + cygterm.cfg\x82\xF0\x8DX\x90V\x82\xB7\x82邽\x82??\xCD Setup - Save Setup \x82\xF0\x8Ds\x82\xA4\x95K\x97v\x82\xAA\x82\xA0\x82\xE8\x82?\xB7\x81B

    From svnnotify @ sourceforge.jp Thu Jul 7 20:45:56 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 07 Jul 2016 20:45:56 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzJdICBwYXJhbXMg44KS5L2/44GG44KI?= =?utf-8?b?44GG44Gr5aSJ5pu0?= Message-ID: <1467891956.904349.31479.nullmailer@users.sourceforge.jp> Revision: 6432 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6432 Author: doda Date: 2016-07-07 20:45:56 +0900 (Thu, 07 Jul 2016) Log Message: ----------- params を使うように変更 Modified Paths: -------------- trunk/tests/macroparam.ttl -------------- next part -------------- Modified: trunk/tests/macroparam.ttl =================================================================== --- trunk/tests/macroparam.ttl 2016-07-07 11:45:54 UTC (rev 6431) +++ trunk/tests/macroparam.ttl 2016-07-07 11:45:56 UTC (rev 6432) @@ -46,15 +46,15 @@ ; param6: test1 ; if paramcnt <> 6 goto error -strcompare param2 "/vxx" +strcompare params[2] "/vxx" if result <> 0 goto error -strcompare param3 "/ixx" +strcompare params[3] "/ixx" if result <> 0 goto error -strcompare param4 "/V" +strcompare params[4] "/V" if result <> 0 goto error -strcompare param5 "/i" +strcompare params[5] "/i" if result <> 0 goto error -strcompare param6 "test1" +strcompare params[6] "test1" if result <> 0 goto error goto end @@ -68,11 +68,11 @@ ; param4: test2 ; if paramcnt <> 4 goto error -strcompare param2 "/v" +strcompare params[2] "/v" if result <> 0 goto error -strcompare param3 "/I" +strcompare params[3] "/I" if result <> 0 goto error -strcompare param4 "test2" +strcompare params[4] "test2" if result <> 0 goto error goto end @@ -89,15 +89,15 @@ ; param6: /i ; if paramcnt <> 6 goto error -strcompare param2 "test3" +strcompare params[2] "test3" if result <> 0 goto error -strcompare param3 "/Vxx" +strcompare params[3] "/Vxx" if result <> 0 goto error -strcompare param4 "/ixx" +strcompare params[4] "/ixx" if result <> 0 goto error -strcompare param5 "/V" +strcompare params[5] "/V" if result <> 0 goto error -strcompare param6 "/i" +strcompare params[6] "/i" if result <> 0 goto error goto end @@ -113,13 +113,13 @@ ; param5: /ixx ; if paramcnt <> 5 goto error -strcompare param2 "test4" +strcompare params[2] "test4" if result <> 0 goto error -strcompare param3 "/V" +strcompare params[3] "/V" if result <> 0 goto error -strcompare param4 "/Vxx" +strcompare params[4] "/Vxx" if result <> 0 goto error -strcompare param5 "/ixx" +strcompare params[5] "/ixx" if result <> 0 goto error goto end From svnnotify @ sourceforge.jp Thu Jul 7 20:45:51 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 07 Jul 2016 20:45:51 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzBdICBNYXhTdHJMZW4g44Gu5a6a576p?= =?utf-8?b?44GM5pWj44KJ44Gw44Gj44Gm44GE44Gf44Gu44Gn44CBdHRtZGVmLmgg44Gr?= =?utf-8?b?6ZuG57SE44GZ44KL44CC?= Message-ID: <1467891951.141694.31311.nullmailer@users.sourceforge.jp> Revision: 6430 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6430 Author: doda Date: 2016-07-07 20:45:50 +0900 (Thu, 07 Jul 2016) Log Message: ----------- MaxStrLen の定義が散らばっていたので、ttmdef.h に集約する。 Modified Paths: -------------- trunk/teraterm/ttpmacro/inpdlg.cpp trunk/teraterm/ttpmacro/ttmdlg.cpp trunk/teraterm/ttpmacro/ttmdlg.h trunk/teraterm/ttpmacro/ttmparse.h Added Paths: ----------- trunk/teraterm/ttpmacro/ttmdef.h -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/inpdlg.cpp =================================================================== --- trunk/teraterm/ttpmacro/inpdlg.cpp 2016-07-02 06:21:03 UTC (rev 6429) +++ trunk/teraterm/ttpmacro/inpdlg.cpp 2016-07-07 11:45:50 UTC (rev 6430) @@ -7,13 +7,12 @@ #include "stdafx.h" #include "teraterm.h" #include "ttlib.h" +#include "ttmdef.h" #include "ttm_res.h" #include "ttmlib.h" #include "inpdlg.h" -#define MaxStrLen 512 - #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE Added: trunk/teraterm/ttpmacro/ttmdef.h =================================================================== --- trunk/teraterm/ttpmacro/ttmdef.h (rev 0) +++ trunk/teraterm/ttpmacro/ttmdef.h 2016-07-07 11:45:50 UTC (rev 6430) @@ -0,0 +1,15 @@ +/* Tera Term + Copyright(C) 2016 TeraTerm Project + All rights reserved. */ + +/* TTMACRO.EXE, common definitions */ + +#pragma once + +#define MaxNameLen (LONG)32 +#define MaxStrLen (LONG)512 +#define MaxLineLen (LONG)1024 + +#define TimeOutTimerVal 50 + +#define INT_BIT (CHAR_BIT * sizeof(int)) Modified: trunk/teraterm/ttpmacro/ttmdlg.cpp =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-02 06:21:03 UTC (rev 6429) +++ trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-07 11:45:50 UTC (rev 6430) @@ -11,6 +11,7 @@ #include "tttypes.h" #include "ttlib.h" #include +#include "ttmdef.h" #include "errdlg.h" #include "inpdlg.h" #include "msgdlg.h" @@ -18,8 +19,6 @@ #include "ListDlg.h" #include "ttmlib.h" -#define MaxStrLen 512 - extern "C" { char HomeDir[MAXPATHLEN]; char FileName[MAX_PATH]; Modified: trunk/teraterm/ttpmacro/ttmdlg.h =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.h 2016-07-02 06:21:03 UTC (rev 6429) +++ trunk/teraterm/ttpmacro/ttmdlg.h 2016-07-07 11:45:50 UTC (rev 6430) @@ -4,14 +4,14 @@ /* TTMACRO.EXE, dialog boxes */ +#pragma once + +#include "ttmdef.h" + #ifdef __cplusplus extern "C" { #endif -#ifndef MaxStrLen // ttmparse.h\x82ł\xE0\x92\xE8\x8B`\x82\xB5\x82Ă\xA2\x82邽\x82?\xF1\x8Fd\x92\xE8\x8B`\x96h\x8E~ -#define MaxStrLen (LONG)512 -#endif - void ParseParam(PBOOL IOption, PBOOL VOption); BOOL GetFileName(HWND HWin); void SetDlgPos(int x, int y); Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2016-07-02 06:21:03 UTC (rev 6429) +++ trunk/teraterm/ttpmacro/ttmparse.h 2016-07-07 11:45:50 UTC (rev 6430) @@ -4,6 +4,10 @@ /* TTMACRO.EXE, TTL parser */ +#pragma once + +#include "ttmdef.h" + #define IdTTLRun 1 #define IdTTLWait 2 #define IdTTLWaitLn 3 @@ -273,14 +277,6 @@ // integer type for buffer pointer typedef DWORD BINT; -#define MaxNameLen (LONG)32 -#ifndef MaxStrLen // ttmdlg.h\x82ł\xE0\x92\xE8\x8B`\x82\xB5\x82Ă\xA2\x82邽\x82?\xF1\x8Fd\x92\xE8\x8B`\x96h\x8E~ -#define MaxStrLen (LONG)512 -#endif -#define MaxLineLen (LONG)1024 - -#define INT_BIT (CHAR_BIT * sizeof(int)) - typedef char TName[MaxNameLen]; typedef TName far *PName; typedef char TStrVal [MaxStrLen]; From svnnotify @ sourceforge.jp Thu Jul 7 20:45:59 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 07 Jul 2016 20:45:59 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzNdICBiYXQg44OV44Kh44Kk44Or44KS?= =?utf-8?b?5pu444GP44Gu44Gr5Y+C6ICD44Gr44GX44Gf6KiY6L+w44KS5YmK6Zmk44GX?= =?utf-8?b?5b+Y44KM44Gm44GE44Gf44GR44KM44Gp44CB?= Message-ID: <1467891959.515251.31556.nullmailer@users.sourceforge.jp> Revision: 6433 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6433 Author: doda Date: 2016-07-07 20:45:59 +0900 (Thu, 07 Jul 2016) Log Message: ----------- bat ファイルを書くのに参考にした記述を削除し忘れていたけれど、 残っていてもいいかなと思ったのでふさわしい場所に移動。 Modified Paths: -------------- trunk/tests/macroparam.bat -------------- next part -------------- Modified: trunk/tests/macroparam.bat =================================================================== --- trunk/tests/macroparam.bat 2016-07-07 11:45:56 UTC (rev 6432) +++ trunk/tests/macroparam.bat 2016-07-07 11:45:59 UTC (rev 6433) @@ -4,24 +4,23 @@ set MACROFILE=%~dpn0.ttl echo == test 1 == +rem ; ttpmacro.exe macrofile /vxx /ixx /V /i test1 "%TTMACRO%" "%MACROFILE%" /vxx /ixx /V /i test1 if ERRORLEVEL 1 echo test 1 failed. echo == test 2 == +rem ; ttpmacro.exe /V /i macrofile /v /I test2 "%TTMACRO%" /V /i "%MACROFILE%" /v /I test2 if ERRORLEVEL 1 echo test 2 failed. echo == test 3 == +rem ; ttpmacro.exe /I macrofile test3 /Vxx /ixx /V /i "%TTMACRO%" /I "%MACROFILE%" test3 /Vxx /ixx /V /i if ERRORLEVEL 1 echo test 3 failed. echo == test 4 == +rem ; ttpmacro.exe /i macrofile test4 /V /Vxx /ixx "%TTMACRO%" /i "%MACROFILE%" test4 /V /Vxx /ixx if ERRORLEVEL 1 echo test 4 failed. -rem ; ttpmacro.exe macrofile /vxx /ixx /V /i test1 -rem ; ttpmacro.exe /V /i macrofile /v /I test2 -rem ; ttpmacro.exe /I macrofile test3 /Vxx /ixx /V /i -rem ; ttpmacro.exe /i macrofile test4 /V /Vxx /ixx - pause From svnnotify @ sourceforge.jp Thu Jul 7 20:45:54 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 07 Jul 2016 20:45:54 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzFdICDkuI3kvb/nlKjjga7plqLmlbA=?= =?utf-8?b?44KS5YmK6Zmk?= Message-ID: <1467891954.352395.31401.nullmailer@users.sourceforge.jp> Revision: 6431 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6431 Author: doda Date: 2016-07-07 20:45:54 +0900 (Thu, 07 Jul 2016) Log Message: ----------- 不使用の関数を削除 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttmparse.c trunk/teraterm/ttpmacro/ttmparse.h -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttmparse.c =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.c 2016-07-07 11:45:50 UTC (rev 6430) +++ trunk/teraterm/ttpmacro/ttmparse.c 2016-07-07 11:45:54 UTC (rev 6431) @@ -1859,12 +1859,6 @@ return ((VarId+1) << 16) | Index; } -// \x94z\x97\xF1\x82?v\x91f\x95?\x94\x82\xA9\x82\xE7\x81A\x94z\x97\xF1\x91S\x91?\xCCVarID\x82\xF0\x95?\xB7\x81B -TVarId GetArrayVarId(TVarId VarId) -{ - return ((VarId>>16)-1); -} - void GetIntAryVar(PVarId VarId, LPWORD Err) { TName Name; Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2016-07-07 11:45:50 UTC (rev 6430) +++ trunk/teraterm/ttpmacro/ttmparse.h 2016-07-07 11:45:54 UTC (rev 6431) @@ -324,7 +324,6 @@ TVarId GetIntVarFromArray(TVarId VarId, int Index, LPWORD Err); TVarId GetStrVarFromArray(TVarId VarId, int Index, LPWORD Err); BOOL GetIndex(int *Index, LPWORD Err); -TVarId GetArrayVarId(TVarId VarId); void GetIntAryVar(PVarId VarId, LPWORD Err); void GetStrAryVar(PVarId VarId, LPWORD Err); int GetIntAryVarSize(TVarId VarId); From svnnotify @ sourceforge.jp Thu Jul 7 20:46:02 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 07 Jul 2016 20:46:02 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzRdICDjgrfjgrnjg4bjg6DlpInmlbAg?= =?utf-8?b?cGFyYW1zIOOBrui/veWKoA==?= Message-ID: <1467891962.565894.32600.nullmailer@users.sourceforge.jp> Revision: 6434 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6434 Author: doda Date: 2016-07-07 20:46:02 +0900 (Thu, 07 Jul 2016) Log Message: ----------- システム変数 params の追加 今までの param1 ? param9 を配列にした物 [Ttssh2-devel 3025] ・現在の param1 ? param9 とは別に配列 params にもパラメータを格納する ・param1 ? param9 と params の値は同期等しない。 param1 を書き換えても params[1] は変化しない。逆も同様。 ・params の最大値には制限をかけない。10 番目以降にもアクセス可能とする。 [とりあえず現在の仕様] ・param1 ? param9 は params[1] ? params[9] としてアクセス可能。 ・params[0] にはとりあえずコマンドライン全体を入れておく (awkの$0風) ・パラメータが 10 以上有る場合は paramcnt も 10 以上の値を取る 以前の仕様(paramcntの最大値は9)と非互換 ・パラメータの数が少なくても param1 ? param9 は常に確保されているが、 params は paramcnt の値までしか確保されない。 ⇒ paramcnt==3 の時に params[4] へのアクセスは Index out of range Modified Paths: -------------- trunk/teraterm/ttpmacro/ttl.c trunk/teraterm/ttpmacro/ttmdlg.cpp trunk/teraterm/ttpmacro/ttmdlg.h trunk/teraterm/ttpmacro/ttmparse.c trunk/teraterm/ttpmacro/ttmparse.h Added Paths: ----------- trunk/tests/params_array.bat trunk/tests/params_array.ttl -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2016-07-07 11:45:59 UTC (rev 6433) +++ trunk/teraterm/ttpmacro/ttl.c 2016-07-07 11:46:02 UTC (rev 6434) @@ -76,6 +76,9 @@ { int i; TStrVal Dir; + TVarId ParamsVarId, id; + char tmpname[10]; + WORD Err; HMainWin = HWin; @@ -98,17 +101,40 @@ NewStrVar("groupmatchstr8",""); // for 'waitregex' command (2005.10.15 yutaka) NewStrVar("groupmatchstr9",""); // for 'waitregex' command (2005.10.15 yutaka) - NewStrVar("param1",ShortName); // \x83}\x83N\x83\x8D\x83t\x83@\x83C\x83\x8B\x96\xBC (2012.4.14 yutaka) - NewStrVar("param2",Param2); - NewStrVar("param3",Param3); - NewStrVar("param4",Param4); - NewStrVar("param5",Param5); - NewStrVar("param6",Param6); - NewStrVar("param7",Param7); - NewStrVar("param8",Param8); - NewStrVar("param9",Param9); NewIntVar("paramcnt",ParamCnt); // \x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xE0\x8A??\xF8\x90\x94\x82??\x94 (2012.4.10 yutaka) + // \x8B\x8C\x8C`\x8E\xAE\x82?p\x83\x89\x83\x81\x81[\x83^\x90?\xE8 (param1 \x81` param9) + NewStrVar("param1", ShortName); + if (Params) { + for (i=2; i<=9; i++) { + _snprintf_s(tmpname, sizeof(tmpname), _TRUNCATE, "param%d", i); + if (ParamCnt >= i && Params[i] != NULL) { + NewStrVar(tmpname, Params[i]); + } + else { + NewStrVar(tmpname, ""); + } + } + } + + // \x90V\x8C`\x8E\xAE\x82?p\x83\x89\x83\x81\x81[\x83^\x90?\xE8 (params[1\x81`ParamCnt]) + if (NewStrAryVar("params", ParamCnt+1) == 0) { + Err = 0; + GetStrAryVarByName(&ParamsVarId, "params", &Err); + if (Err == 0 && Params) { + for (i=0; i<=ParamCnt; i++) { + if (Params[i]) { + Err = 0; + id = GetStrVarFromArray(ParamsVarId, i, &Err); + SetStrVal(id, Params[i]); + free(Params[i]); + } + } + free(Params); + Params = NULL; + } + } + ParseAgain = FALSE; IfNest = 0; ElseFlag = 0; Modified: trunk/teraterm/ttpmacro/ttmdlg.cpp =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-07 11:45:59 UTC (rev 6433) +++ trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-07 11:46:02 UTC (rev 6434) @@ -24,16 +24,10 @@ char FileName[MAX_PATH]; char TopicName[11]; char ShortName[MAX_PATH]; -char Param2[MaxStrLen]; -char Param3[MaxStrLen]; -char Param4[MaxStrLen]; -char Param5[MaxStrLen]; -char Param6[MaxStrLen]; -char Param7[MaxStrLen]; -char Param8[MaxStrLen]; -char Param9[MaxStrLen]; +char **Params = NULL; +int ParamCnt; +int ParamsSize; BOOL SleepFlag; -int ParamCnt; /* \x88\xF8\x90\x94\x82??\x94 */ } static int DlgPosX = -10000; @@ -45,7 +39,7 @@ void ParseParam(PBOOL IOption, PBOOL VOption) { int dirlen, fnpos; - char *Param; + char *Param, **ptmp; char Temp[MaxStrLen]; PCHAR start, cur, next; @@ -59,19 +53,18 @@ // Get command line parameters FileName[0] = 0; TopicName[0] = 0; - Param2[0] = 0; - Param3[0] = 0; - Param4[0] = 0; - Param5[0] = 0; - Param6[0] = 0; - Param7[0] = 0; - Param8[0] = 0; - Param9[0] = 0; SleepFlag = FALSE; *IOption = FALSE; *VOption = FALSE; Param = GetCommandLine(); + ParamsSize = 50; + Params = (char **)malloc(sizeof(char*) * ParamsSize); + if (Params) { + Params[0] = _strdup(Param); + Params[1] = NULL; + } + // the first term shuld be executable filename of TTMACRO start = GetParam(Temp, sizeof(Temp), Param); ParamCnt = 0; @@ -97,24 +90,26 @@ } } - switch (++ParamCnt) { - case 1: strncpy_s(FileName, sizeof(FileName), Temp, _TRUNCATE); break; - case 2: strncpy_s(Param2, sizeof(Param2), Temp, _TRUNCATE); break; - case 3: strncpy_s(Param3, sizeof(Param3), Temp, _TRUNCATE); break; - case 4: strncpy_s(Param4, sizeof(Param4), Temp, _TRUNCATE); break; - case 5: strncpy_s(Param5, sizeof(Param5), Temp, _TRUNCATE); break; - case 6: strncpy_s(Param6, sizeof(Param6), Temp, _TRUNCATE); break; - case 7: strncpy_s(Param7, sizeof(Param7), Temp, _TRUNCATE); break; - case 8: strncpy_s(Param8, sizeof(Param8), Temp, _TRUNCATE); break; - case 9: strncpy_s(Param9, sizeof(Param9), Temp, _TRUNCATE); break; - default: ;/* nothing to do */ + if (++ParamCnt == 1) { + strncpy_s(FileName, sizeof(FileName), Temp, _TRUNCATE); + if (Params == NULL) { + break; + } } + else { + if (ParamsSize <= ParamCnt) { + ParamsSize += 10; + ptmp = (char **)realloc(Params, sizeof(char*) * ParamsSize); + if (ptmp == NULL) { + ParamCnt--; + break; + } + Params = ptmp; + } + Params[ParamCnt] = _strdup(Temp); + } } - if (ParamCnt > 9) { - ParamCnt = 9; - } - if (FileName[0]=='*') { FileName[0] = 0; } @@ -127,6 +122,10 @@ AppendSlash(FileName, sizeof(FileName)); strncat_s(FileName, sizeof(FileName), ShortName, _TRUNCATE); } + + if (Params) { + Params[1] = _strdup(ShortName); + } } else { FileName[0] = 0; Modified: trunk/teraterm/ttpmacro/ttmdlg.h =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.h 2016-07-07 11:45:59 UTC (rev 6433) +++ trunk/teraterm/ttpmacro/ttmdlg.h 2016-07-07 11:46:02 UTC (rev 6434) @@ -29,16 +29,9 @@ extern char FileName[MAX_PATH]; extern char TopicName[11]; extern char ShortName[MAX_PATH]; -extern char Param2[MaxStrLen]; -extern char Param3[MaxStrLen]; -extern char Param4[MaxStrLen]; -extern char Param5[MaxStrLen]; -extern char Param6[MaxStrLen]; -extern char Param7[MaxStrLen]; -extern char Param8[MaxStrLen]; -extern char Param9[MaxStrLen]; -extern BOOL SleepFlag; +extern char **Params; extern int ParamCnt; +extern BOOL SleepFlag; #ifdef __cplusplus } Modified: trunk/teraterm/ttpmacro/ttmparse.c =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.c 2016-07-07 11:45:59 UTC (rev 6433) +++ trunk/teraterm/ttpmacro/ttmparse.c 2016-07-07 11:46:02 UTC (rev 6434) @@ -1859,46 +1859,32 @@ return ((VarId+1) << 16) | Index; } -void GetIntAryVar(PVarId VarId, LPWORD Err) +void GetAryVar(PVarId VarId, WORD VarType, LPWORD Err) { TName Name; - WORD VarType; if (*Err!=0) return; if (GetIdentifier(Name)) { - if (CheckVar(Name, &VarType, VarId)) { - if (VarType != TypIntArray) { - *Err = ErrTypeMismatch; - } - } - else { - *Err = ErrTypeMismatch; - } + GetAryVarByName(VarId, Name, VarType, Err); } - else + else { *Err = ErrSyntax; + } } -void GetStrAryVar(PVarId VarId, LPWORD Err) +void GetAryVarByName(PVarId VarId, PCHAR Name, WORD VarType, LPWORD Err) { - TName Name; - WORD VarType; + WORD typ; - if (*Err!=0) return; - - if (GetIdentifier(Name)) { - if (CheckVar(Name, &VarType, VarId)) { - if (VarType != TypStrArray) { - *Err = ErrTypeMismatch; - } - } - else { + if (CheckVar(Name, &typ, VarId)) { + if (typ != VarType) { *Err = ErrTypeMismatch; } } - else - *Err = ErrSyntax; + else { + *Err = ErrVarNotInit; + } } int GetIntAryVarSize(TVarId VarId) Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2016-07-07 11:45:59 UTC (rev 6433) +++ trunk/teraterm/ttpmacro/ttmparse.h 2016-07-07 11:46:02 UTC (rev 6434) @@ -324,8 +324,8 @@ TVarId GetIntVarFromArray(TVarId VarId, int Index, LPWORD Err); TVarId GetStrVarFromArray(TVarId VarId, int Index, LPWORD Err); BOOL GetIndex(int *Index, LPWORD Err); -void GetIntAryVar(PVarId VarId, LPWORD Err); -void GetStrAryVar(PVarId VarId, LPWORD Err); +void GetAryVar(PVarId VarId, WORD VarType, LPWORD Err); +void GetAryVarByName(PVarId VarId, PCHAR Name, WORD VarType, LPWORD Err); int GetIntAryVarSize(TVarId VarId); int GetStrAryVarSize(TVarId VarId); @@ -338,3 +338,8 @@ #ifdef __cplusplus } #endif + +#define GetIntAryVar(VarId, Err) GetAryVar(VarId, TypIntArray, Err) +#define GetStrAryVar(VarId, Err) GetAryVar(VarId, TypStrArray, Err) +#define GetIntAryVarByName(VarId, Name, Err) GetAryVarByName(VarId, Name, TypIntArray, Err) +#define GetStrAryVarByName(VarId, Name, Err) GetAryVarByName(VarId, Name, TypStrArray, Err) Added: trunk/tests/params_array.bat =================================================================== --- trunk/tests/params_array.bat (rev 0) +++ trunk/tests/params_array.bat 2016-07-07 11:46:02 UTC (rev 6434) @@ -0,0 +1,10 @@ + @ echo off + +set TTMACRO=%~dp0\..\teraterm\Debug\ttpmacro.exe +set MACROFILE=%~dpn0.ttl + +echo == test 1 == +"%TTMACRO%" "%MACROFILE%" /vxx /ixx /V /i test1 "param 7" "" param9 10 eleven +if ERRORLEVEL 1 echo test 1 failed. + +pause Property changes on: trunk/tests/params_array.bat ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/params_array.ttl =================================================================== --- trunk/tests/params_array.ttl (rev 0) +++ trunk/tests/params_array.ttl 2016-07-07 11:46:02 UTC (rev 6434) @@ -0,0 +1,94 @@ +if paramcnt <= 1 goto error + +testlabel = "testnotfound" + +; param1\x81`9 \x82\xC6 params[] \x82\xAA\x93\xAF\x82\xB6\x82ł\xA0\x82鎖\x82?m\x94F +for i 1 paramcnt + if i <= 9 then + sprintf2 cmd "paramval = param%d" i + execcmnd cmd + strcompare params[i] paramval + if result <> 0 then + sprintf2 msg "params[%d] \x82\xC6 param%d \x82?l\x82\xAA\x88?\x82?\xB7" i i + sprintf2 tmp #10"params[%d]: '%s'" i params[i] + strconcat msg tmp + sprintf2 tmp #10"param%d: '%s'" i paramval + strconcat msg tmp + messagebox msg "\x83G\x83\x89\x81[" + endif + endif +next + +; \x83e\x83X\x83g\x94?\x86\x82?\x9F\x8Fo +for i 2 paramcnt + strmatch params[i] "^test[0-9]+$" + if result then + testlabel = matchstr + break + endif +next + +; \x83e\x83X\x83g\x82?\xB6\x8D?m\x94F +sprintf2 cmd 'ifdefined %s' testlabel +execcmnd cmd +if result = 4 then + sprintf2 cmd 'goto %s' testlabel + execcmnd cmd +endif + +; \x83e\x83X\x83g\x82\xAA\x96\xA2\x8E\xC0\x91\x95 +sprintf2 msg "%s: \x96\xA2\x8E\xC0\x91\x95\x82?e\x83X\x83g\x82ł\xB7" testlabel +messagebox msg "\x83G\x83\x89\x81[" +goto error + +; \x83e\x83X\x83g\x94?\x86\x82\xAA\x8C\x9F\x8Fo\x82ł\xAB\x82?\xA2\x8F? +:testnotfound +messagebox "\x83e\x83X\x83g\x94?\x86\x82?w\x92肪\x82\xA0\x82\xE8\x82?\xB9\x82\xF1" "\x83G\x83\x89\x81[" +goto error + +:test1 +; ttpmacro.exe macrofile /vxx /ixx /V /i test1 +; ttpmacro.exe macrofile /vxx /ixx /V /i test1 "param 7" "" param9 10 eleven +; +; \x88?\xBA\x82?悤\x82?\xF0\x8E?\xB7\x82鎖\x82?\xB7\x82\xE9 +; paramcnt: 11 +; params[2]: /vxx +; params[3]: /ixx +; params[4]: /V +; params[5]: /i +; params[6]: test1 +; params[7]: param 7 +; params[8]: \x8B?\x9A\x97\xF1 +; params[9]: param9 +; params[10]: 10 +; params[11]: eleven +; +if paramcnt <> 11 goto error +strcompare params[2] "/vxx" +if result <> 0 goto error +strcompare params[3] "/ixx" +if result <> 0 goto error +strcompare params[4] "/V" +if result <> 0 goto error +strcompare params[5] "/i" +if result <> 0 goto error +strcompare params[6] "test1" +if result <> 0 goto error +strcompare params[7] "param 7" +if result <> 0 goto error +strcompare params[8] "" +if result <> 0 goto error +strcompare params[9] "param9" +if result <> 0 goto error +strcompare params[10] "10" +if result <> 0 goto error +strcompare params[11] "eleven" +if result <> 0 goto error + +goto end + +:error +setexitcode 1 + +:end +end Property changes on: trunk/tests/params_array.ttl ___________________________________________________________________ Added: svn:executable + * From svnnotify @ sourceforge.jp Mon Jul 11 17:53:03 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 11 Jul 2016 17:53:03 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzVdICDjg7vooYzmnKvjga7nqbrnmb0g?= =?utf-8?b?LyDjgr/jg5bjgpLliYrpmaQ=?= Message-ID: <1468227183.128522.146992.nullmailer@users.sourceforge.jp> Revision: 6435 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6435 Author: doda Date: 2016-07-11 17:53:02 +0900 (Mon, 11 Jul 2016) Log Message: ----------- ・行末の空白/タブを削除 ・インデント調整 Modified Paths: -------------- trunk/teraterm/teraterm/addsetting.cpp trunk/teraterm/teraterm/buffer.c trunk/teraterm/teraterm/clipboar.c trunk/teraterm/teraterm/commlib.c trunk/teraterm/teraterm/filesys.cpp trunk/teraterm/teraterm/ftdlg.cpp trunk/teraterm/teraterm/hfs_plus.map trunk/teraterm/teraterm/keyboard.c trunk/teraterm/teraterm/prnabort.cpp trunk/teraterm/teraterm/protodlg.cpp trunk/teraterm/teraterm/teklib.c trunk/teraterm/teraterm/tekwin.cpp trunk/teraterm/teraterm/telnet.c trunk/teraterm/teraterm/telnet.h trunk/teraterm/teraterm/teraprn.cpp trunk/teraterm/teraterm/teraterm.cpp trunk/teraterm/teraterm/teraterm.manifest trunk/teraterm/teraterm/ttdde.c trunk/teraterm/teraterm/ttdde.h trunk/teraterm/teraterm/ttdialog.c trunk/teraterm/teraterm/ttermpro.rc trunk/teraterm/teraterm/ttime.c trunk/teraterm/teraterm/ttwinman.c trunk/teraterm/teraterm/ttwsk.c trunk/teraterm/teraterm/uni2sjis.map trunk/teraterm/teraterm/vtdisp.c trunk/teraterm/teraterm/vtterm.c trunk/teraterm/teraterm/vtwin.cpp trunk/teraterm/ttpcmn/ttcmn.c trunk/teraterm/ttpdlg/ttdlg.c trunk/teraterm/ttpfile/ttfile.c trunk/teraterm/ttpset/ttset.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/addsetting.cpp =================================================================== --- trunk/teraterm/teraterm/addsetting.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/addsetting.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -173,7 +173,7 @@ // (4)IDC_MOUSEWHEEL_SCROLL_LINE GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf)); val = atoi(buf); - if (val > 0) + if (val > 0) ts.MouseWheelScrollLine = val; // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE @@ -567,7 +567,7 @@ btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR); btn->SetCheck(ts.TrimTrailingNLonPaste); - // (7)ConfirmChangePaste + // (7)ConfirmChangePaste btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE); btn->SetCheck(ts.ConfirmChangePaste); @@ -931,7 +931,7 @@ btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE); btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0); - // \x83_\x83C\x83A\x83\x8D\x83O\x82?t\x83H\x81[\x83J\x83X\x82?Ă\xE9 + // \x83_\x83C\x83A\x83\x8D\x83O\x82?t\x83H\x81[\x83J\x83X\x82?Ă\xE9 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND)); return FALSE; @@ -1497,7 +1497,7 @@ GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE); GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE); GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE); - } + } } return TRUE; @@ -1644,7 +1644,7 @@ ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str); for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) { - if (strcmp(str, LogRotateSizeType[i]) == 0) + if (strcmp(str, LogRotateSizeType[i]) == 0) break; } if (i >= LOG_ROTATE_SIZETYPE_NUM) Modified: trunk/teraterm/teraterm/buffer.c =================================================================== --- trunk/teraterm/teraterm/buffer.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/buffer.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -29,7 +29,7 @@ #define BuffSizeMax (BuffYMax * 80) // status line -int StatusLine; //0: none 1: shown +int StatusLine; //0: none 1: shown /* top, bottom, left & right margin */ int CursorTop, CursorBottom, CursorLeftM, CursorRightM; BOOL Selected; @@ -1593,7 +1593,7 @@ }; unsigned char ch = CodeLine[x]; - if (ts.EnableClickableUrl == FALSE && + if (ts.EnableClickableUrl == FALSE && (ts.ColorFlag & CF_URLCOLOR) == 0) return; @@ -1605,7 +1605,7 @@ if ((PrevCharAttr & AttrURL) && !(AttrLine[0]&(AttrKanji|AttrSpecial)) && !(ch & 0x80) && url_char[ch]) { if ((AttrLine[0] & AttrLineContinued) || (ts.JoinSplitURL && (PrevCharCode == ts.JoinSplitURLIgnoreEOLChar || ts.JoinSplitURLIgnoreEOLChar == '\0' ))) { - AttrLine[0] |= AttrURL; + AttrLine[0] |= AttrURL; } } return; @@ -1614,7 +1614,7 @@ if ((x-1>=0) && (AttrLine[x-1] & AttrURL) && !(AttrLine[x] & (AttrKanji|AttrSpecial)) && ((!(ch & 0x80) && url_char[ch]) || (x == NumOfColumns - 1 && ch == ts.JoinSplitURLIgnoreEOLChar))) { - AttrLine[x] |= AttrURL; + AttrLine[x] |= AttrURL; return; } @@ -1628,7 +1628,7 @@ len = strlen(*p) - 1; if ((x-len>=0) && !strncmp(&CodeLine[x-len], *p, len)) { for (i = 0; i <= len; i++) { - AttrLine[x-i] |= AttrURL; + AttrLine[x-i] |= AttrURL; } break; } @@ -2399,7 +2399,7 @@ uptr = url; for (i = 0; i < end - start + 1; i++) { ch = CodeBuff[start + i]; - if ((start + i) % NumOfColumns == NumOfColumns - 1 + if ((start + i) % NumOfColumns == NumOfColumns - 1 && ch == ts.JoinSplitURLIgnoreEOLChar) { // \x8Ds\x96\x96\x82\xAA\x8Ds\x8Cp\x91\xB1\x83}\x81[\x83N\x97p\x82?\xB6\x8E\x9A\x82??\x82?X\x83L\x83b\x83v\x82\xB7\x82\xE9 } else { @@ -2696,7 +2696,7 @@ MoveCharPtr(TmpPtr,&IStart,1); } } - + // \x8Ds\x82\xAA\x88?\xAE\x82\xB5\x82Ă\xA2\x82?\x82\xE0\x82\xB5\x82\xEA\x82?\xA2\x82?ŁA\x83N\x83\x8A\x83b\x83N\x82\xB5\x82\xBD\x8Ds\x82\xF0\x8E\xE6\x82蒼\x82\xB7 TmpPtr = GetLinePtr(YEnd); i = 1; @@ -2972,7 +2972,7 @@ ChangeSelectRegion(); SelectStart = DblClkEnd; SelectEnd.x = X; - SelectEnd.y = Y; + SelectEnd.y = Y; } if (IsDelimiter(TmpPtr,SelectEnd.x)) { b = CodeBuff[TmpPtr+SelectEnd.x]; @@ -2995,7 +2995,7 @@ MoveCharPtr(TmpPtr,(int *)&SelectEnd.x,-1); // move left } if (IsDelimiter(TmpPtr,SelectEnd.x)) { - MoveCharPtr(TmpPtr,(int *)&SelectEnd.x,1); + MoveCharPtr(TmpPtr,(int *)&SelectEnd.x,1); } } } Modified: trunk/teraterm/teraterm/clipboar.c =================================================================== --- trunk/teraterm/teraterm/clipboar.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/clipboar.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -859,7 +859,7 @@ FILE *fp = NULL; char buf[256]; int len; - + if (filename == NULL || filename[0] == '\0') goto error; @@ -870,7 +870,7 @@ // TODO: \x88\xEA\x8Ds\x82\xAA256byte\x82?\xA6\x82Ă\xA2\x82\xE9\x8F?\x82?l\x97\xB6 while (fgets(buf, sizeof(buf), fp) != NULL) { len = strlen(buf); - if (buf[len - 1] == '\n') + if (buf[len - 1] == '\n') buf[len - 1] = '\0'; if (buf[0] == '\0') continue; @@ -912,7 +912,7 @@ if (!ts.ConfirmChangePaste && !ts.TrimTrailingNLonPaste) return 1; - if (! cv.Ready) + if (! cv.Ready) goto error; if (TalkStatus!=IdTalkKeyb) goto error; @@ -923,10 +923,10 @@ Cf = CF_TEXT; else if (IsClipboardFormatAvailable(CF_OEMTEXT)) Cf = CF_OEMTEXT; - else + else goto error; - if (!OpenClipboard(HWin)) + if (!OpenClipboard(HWin)) goto error; if (Cf == CF_UNICODETEXT) { Modified: trunk/teraterm/teraterm/commlib.c =================================================================== --- trunk/teraterm/teraterm/commlib.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/commlib.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -586,7 +586,7 @@ case IdNamedPipe: InitFileIO(IdNamedPipe); /* TTPLUG */ TTXOpenFile(); /* TTPLUG */ - + memset(P, 0, sizeof(P)); strncpy_s(P, sizeof(P), ts->HostName, _TRUNCATE); @@ -594,10 +594,10 @@ if (CheckNamedPipeFormat(P, strlen(P)) < 0) { InvalidHost = TRUE; - _snprintf_s(ErrMsg, sizeof(ErrMsg), _TRUNCATE, + _snprintf_s(ErrMsg, sizeof(ErrMsg), _TRUNCATE, "Invalid pipe name (%d)\n\n" "A valid pipe name has the form\n" - "\"\\\\\\pipe\\\"", + "\"\\\\\\pipe\\\"", GetLastError()); get_lang_msg("MSG_TT_ERROR", uimsg, sizeof(uimsg), "Tera Term: Error", ts->UILanguageFile); MessageBox(cv->HWin,ErrMsg,uimsg,MB_TASKMODAL | MB_ICONEXCLAMATION); @@ -675,7 +675,7 @@ WaitForSingleObject(REnd,INFINITE); } else { - DErr = GetLastError(); + DErr = GetLastError(); // [VMware] this returns 109 (broken pipe) if a named pipe is removed. // [Virtual Box] this returns 233 (pipe not connected) if a named pipe is removed. if (! cv->Ready || ERROR_BROKEN_PIPE == DErr || ERROR_PIPE_NOT_CONNECTED == DErr) { @@ -1089,7 +1089,7 @@ DWORD DErr; if ((! cv->Open) || (! cv->Ready)) { - cv->OutBuffCount = 0; + cv->OutBuffCount = 0; return; } Modified: trunk/teraterm/teraterm/filesys.cpp =================================================================== --- trunk/teraterm/teraterm/filesys.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/filesys.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -60,7 +60,7 @@ static BOOL FSend = FALSE; -HWND HWndLog = NULL; //steven add +HWND HWndLog = NULL; //steven add static HMODULE HTTFILE = NULL; static int TTFILECount = 0; @@ -181,7 +181,7 @@ { FreeLibrary(HTTFILE); HTTFILE = NULL; - return FALSE; + return FALSE; } else { TTFILECount = 1; @@ -228,7 +228,7 @@ FTDlg->Create(fv, &cv, &ts); FTDlg->RefreshNum(); if (fv->OpId == OpLog) { - HWndLog = FTDlg->m_hWnd; // steven add + HWndLog = FTDlg->m_hWnd; // steven add } } @@ -408,7 +408,7 @@ } // \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82?p\x83X\x83\x8C\x83b\x83h -static unsigned _stdcall DeferredLogWriteThread(void *arg) +static unsigned _stdcall DeferredLogWriteThread(void *arg) { MSG msg; PFileVar fv = (PFileVar)arg; @@ -490,8 +490,8 @@ (0x1000 * ts.LogTypePlainText) | (0x2000 * ts.LogTimestamp) | (0x4000 * ts.LogHideDialog) | - (0x8000 * ts.LogAllBuffIncludedInFirst) - ); + (0x8000 * ts.LogAllBuffIncludedInFirst) + ); // \x83\x8D\x83O\x82?f\x83t\x83H\x83\x8B\x83g\x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xF0\x90?\xE8 (2006.8.28 maya) strncat_s(LogVar->FullName, sizeof(LogVar->FullName), ts.LogDefaultName, _TRUNCATE); @@ -813,7 +813,7 @@ return; if (LogVar->RotateMode == ROTATE_SIZE) { - if (LogVar->ByteCount <= LogVar->RotateSize) + if (LogVar->ByteCount <= LogVar->RotateSize) return; //OutputDebugPrintf("%s: mode %d size %ld\n", __FUNCTION__, LogVar->RotateMode, LogVar->ByteCount); } else { @@ -921,7 +921,7 @@ strncat_s(tmp, sizeof(tmp), strtime, _TRUNCATE); strncat_s(tmp, sizeof(tmp), "] ", _TRUNCATE); } - + /* 2007.05.24 Gentaro */ if( b == 0x0a ){ eLineEnd = Line_LineHead; /* set endmark*/ @@ -971,7 +971,7 @@ #endif #else time_t tick = time(NULL); - char *strtime = ctime(&tick); + char *strtime = ctime(&tick); #endif /* 2007.05.24 Gentaro */ if( eLineEnd == Line_FileHead ){ @@ -991,7 +991,7 @@ WriteFile((HANDLE)LogVar->FileHandle, "] ", 2, &wrote, NULL); #endif } - + /* 2007.05.24 Gentaro */ if( b == 0x0a ){ eLineEnd = Line_LineHead; /* set endmark*/ @@ -1101,7 +1101,7 @@ return; } - if (! LoadTTFILE()) + if (! LoadTTFILE()) return; if (! NewFileVar(&SendVar)) { @@ -1178,7 +1178,7 @@ { FLogDlg->DestroyWindow(); FLogDlg = NULL; - HWndLog = NULL; // steven add + HWndLog = NULL; // steven add } FreeFileVar(&LogVar); FreeLogBuf(); @@ -1226,7 +1226,7 @@ // - FileBracketMode == false // - cv.TelFlag == false // - ts.LocalEcho == 0 -void FileSendBinayBoost() +void FileSendBinayBoost() { WORD c, fc; LONG BCOld; @@ -1459,7 +1459,7 @@ ((PXVar)ProtoVar)->XOpt = Opt1; ((PXVar)ProtoVar)->TextFlag = 1 - (Opt2 & 1); break; - case PROTO_YM: + case PROTO_YM: ((PYVar)ProtoVar)->YMode = Mode; ((PYVar)ProtoVar)->YOpt = Opt1; break; @@ -1524,7 +1524,7 @@ (((PQVVar)ProtoVar)->QVMode==IdQVSend)) CommTextOut(&cv,"\015",1); if (FileVar->LogFlag) - _lclose(FileVar->LogFile); + _lclose(FileVar->LogFile); FileVar->LogFile = 0; if (ProtoVar!=NULL) { @@ -1645,7 +1645,7 @@ FileVar->OpId = OpKmtSend; if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0) { - if (! (*GetGetFname)(FileVar->HMainWin,FileVar) || + if (! (*GetGetFname)(FileVar->HMainWin,FileVar) || (strlen(FileVar->FullName)==0)) { ProtoEnd(); Modified: trunk/teraterm/teraterm/ftdlg.cpp =================================================================== --- trunk/teraterm/teraterm/ftdlg.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/ftdlg.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -197,7 +197,7 @@ ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); } -BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam) +BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam) { switch (LOWORD(wParam)) { case IDCANCEL: Modified: trunk/teraterm/teraterm/hfs_plus.map =================================================================== --- trunk/teraterm/teraterm/hfs_plus.map 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/hfs_plus.map 2016-07-11 08:53:02 UTC (rev 6435) @@ -5,7 +5,7 @@ } hfsplus_codemap_t; /* - * cf. http://developer.apple.com/technotes/tn/tn1150table.html + * cf. http://developer.apple.com/technotes/tn/tn1150table.html * */ static hfsplus_codemap_t mapHFSPlusUnicode[] = { Modified: trunk/teraterm/teraterm/keyboard.c =================================================================== --- trunk/teraterm/teraterm/keyboard.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/keyboard.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -790,7 +790,7 @@ { /* shift */ State = State | 2; /* bit 1 */ } - + if ((KCode & 1024) != 0) { /* control */ State = State | 4; /* bit 2 */ Modified: trunk/teraterm/teraterm/prnabort.cpp =================================================================== --- trunk/teraterm/teraterm/prnabort.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/prnabort.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -60,7 +60,7 @@ DestroyWindow(); } -BOOL CPrnAbortDlg::OnCommand(WPARAM wParam, LPARAM lParam) +BOOL CPrnAbortDlg::OnCommand(WPARAM wParam, LPARAM lParam) { *Abort = TRUE; DestroyWindow(); @@ -68,12 +68,12 @@ return CDialog::OnCommand(wParam, lParam); } -void CPrnAbortDlg::PostNcDestroy() +void CPrnAbortDlg::PostNcDestroy() { delete this; } -BOOL CPrnAbortDlg::DestroyWindow() +BOOL CPrnAbortDlg::DestroyWindow() { HWND HParent; Modified: trunk/teraterm/teraterm/protodlg.cpp =================================================================== --- trunk/teraterm/teraterm/protodlg.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/protodlg.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -64,7 +64,7 @@ ::PostMessage(fv->HMainWin,WM_USER_PROTOCANCEL,0,0); } -BOOL CProtoDlg::OnCommand(WPARAM wParam, LPARAM lParam) +BOOL CProtoDlg::OnCommand(WPARAM wParam, LPARAM lParam) { switch (LOWORD(wParam)) { case IDCANCEL: Modified: trunk/teraterm/teraterm/teklib.c =================================================================== --- trunk/teraterm/teraterm/teklib.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/teklib.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -65,7 +65,7 @@ TEKInit = (PTEKInit)GetProcAddress(HTTTEK, MAKEINTRESOURCE(IdTEKInit)); if (TEKInit==NULL) Err = TRUE; - + TEKResizeWindow = (PTEKResizeWindow)GetProcAddress(HTTTEK, MAKEINTRESOURCE(IdTEKResizeWindow)); if (TEKResizeWindow==NULL) Err = TRUE; Modified: trunk/teraterm/teraterm/tekwin.cpp =================================================================== --- trunk/teraterm/teraterm/tekwin.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/tekwin.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -491,7 +491,7 @@ void CTEKWindow::OnSetFocus(CWnd* pOldWnd) { TEKChangeCaret(&tk,&ts); - CFrameWnd::OnSetFocus(pOldWnd); + CFrameWnd::OnSetFocus(pOldWnd); } void CTEKWindow::OnSize(UINT nType, int cx, int cy) Modified: trunk/teraterm/teraterm/telnet.c =================================================================== --- trunk/teraterm/teraterm/telnet.c 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/telnet.c 2016-07-11 08:53:02 UTC (rev 6435) @@ -44,7 +44,7 @@ static TelRec tr; static HANDLE keepalive_thread = (HANDLE)-1L; -static HWND keepalive_dialog = NULL; +static HWND keepalive_dialog = NULL; int nop_interval = 0; void DefaultTelRec() @@ -323,7 +323,7 @@ else SendBack(DONTTEL,b); break; - + case WantNo: switch (tr.HisOpt[b].Que) { case Empty: Modified: trunk/teraterm/teraterm/telnet.h =================================================================== --- trunk/teraterm/teraterm/telnet.h 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/telnet.h 2016-07-11 08:53:02 UTC (rev 6435) @@ -28,7 +28,7 @@ #define BINARY 0 #define ECHO 1 #define RECONNECT 2 -#define SGA 3 +#define SGA 3 #define AMSN 4 #define STATUS 5 #define TIMING 6 Modified: trunk/teraterm/teraterm/teraprn.cpp =================================================================== --- trunk/teraterm/teraterm/teraprn.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/teraprn.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -181,7 +181,7 @@ // = IdPrnSelectedText (user selects "print selection") // = IdPrnScrollRegion (always when PrnFlag=IdPrnScrollRegion) // = IdPrnFile (always when PrnFlag=IdPrnFile) -{ +{ BOOL Sel; TEXTMETRIC Metrics; POINT PPI, PPI2; Modified: trunk/teraterm/teraterm/teraterm.cpp =================================================================== --- trunk/teraterm/teraterm/teraterm.cpp 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/teraterm.cpp 2016-07-11 08:53:02 UTC (rev 6435) @@ -98,8 +98,8 @@ if (cv.ProtoFlag) Change = ProtoDlgParse(); else { switch (ActiveWin) { - case IdVT: - Change = ((CVTWindow*)pVTWin)->Parse(); + case IdVT: + Change = ((CVTWindow*)pVTWin)->Parse(); // TEK window\x82?A\x83N\x83e\x83B\x83u\x92\x86\x82\xC9 pause \x82\xF0\x8Eg\x82\xA4\x82?ACPU\x8Eg\x97p\x97\xA6100%\x82??\xE9 // \x8C\xBB\x8F???b\x92\xE8\x91Ώ\x88\x81B(2006.2.6 yutaka) // \x91?\xBF\x8E\x9E\x8A?\xF0\x82?\xAD\x82\xB5\x81A\x83R\x83\x93\x83e\x83L\x83X\x83g\x83X\x83C\x83b\x83`\x82\xBE\x82\xAF\x82?\xB7\x82\xE9\x81B(2006.3.20 yutaka) Modified: trunk/teraterm/teraterm/teraterm.manifest =================================================================== --- trunk/teraterm/teraterm/teraterm.manifest 2016-07-07 11:46:02 UTC (rev 6434) +++ trunk/teraterm/teraterm/teraterm.manifest 2016-07-11 08:53:02 UTC (rev 6435) @@ -13,8 +13,8 @@ publicKeyToken="6595b64144ccf1df" language="*" /> -
    /DS
    \x8BN\x93\xAE\x8E\x9E\x82\xC9 "New connection" \x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x95\\x8E\xA6\x82\xB5\x82?\xA2
    From svnnotify @ sourceforge.jp Mon Jul 11 17:53:11 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 11 Jul 2016 17:53:11 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzddICDjg57jgq/jg63jg5XjgqHjgqQ=?= =?utf-8?b?44Or5ZCN5oyH5a6a44Gq44GX44Gn6LW35YuV4oeS44OA44Kk44Ki44Ot44Kw?= =?utf-8?b?44Gn44Oe44Kv44Ot44KS6YG444KT44Gg5pmC44CB?= Message-ID: <1468227191.207629.147287.nullmailer@users.sourceforge.jp> Revision: 6437 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6437 Author: doda Date: 2016-07-11 17:53:11 +0900 (Mon, 11 Jul 2016) Log Message: ----------- マクロファイル名指定なしで起動⇒ダイアログでマクロを選んだ時、 params[1] が設定されない問題を修正。 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttl.c trunk/teraterm/ttpmacro/ttmdlg.cpp trunk/tests/params_array.ttl -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2016-07-11 08:53:08 UTC (rev 6436) +++ trunk/teraterm/ttpmacro/ttl.c 2016-07-11 08:53:11 UTC (rev 6437) @@ -76,7 +76,7 @@ { int i; TStrVal Dir; - TVarId ParamsVarId, id; + TVarId ParamsVarId; char tmpname[10]; WORD Err; @@ -101,6 +101,9 @@ NewStrVar("groupmatchstr8",""); // for 'waitregex' command (2005.10.15 yutaka) NewStrVar("groupmatchstr9",""); // for 'waitregex' command (2005.10.15 yutaka) + if (ParamCnt == 0) { + ParamCnt++; + } NewIntVar("paramcnt",ParamCnt); // \x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xE0\x8A??\xF8\x90\x94\x82??\x94 (2012.4.10 yutaka) // \x8B\x8C\x8C`\x8E\xAE\x82?p\x83\x89\x83\x81\x81[\x83^\x90?\xE8 (param1 \x81` param9) @@ -121,17 +124,23 @@ if (NewStrAryVar("params", ParamCnt+1) == 0) { Err = 0; GetStrAryVarByName(&ParamsVarId, "params", &Err); - if (Err == 0 && Params) { - for (i=0; i<=ParamCnt; i++) { - if (Params[i]) { - Err = 0; - id = GetStrVarFromArray(ParamsVarId, i, &Err); - SetStrVal(id, Params[i]); - free(Params[i]); + if (Err == 0) { + if (ShortName[0] != 0) { + SetStrValInArray(ParamsVarId, 1, ShortName, &Err); + } + if (Params) { + for (i=0; i<=ParamCnt; i++) { + if (i == 1) { + continue; + } + if (Params[i]) { + SetStrValInArray(ParamsVarId, i, Params[i], &Err); + free(Params[i]); + } } + free(Params); + Params = NULL; } - free(Params); - Params = NULL; } } Modified: trunk/teraterm/ttpmacro/ttmdlg.cpp =================================================================== --- trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-11 08:53:08 UTC (rev 6436) +++ trunk/teraterm/ttpmacro/ttmdlg.cpp 2016-07-11 08:53:11 UTC (rev 6437) @@ -178,11 +178,6 @@ return FALSE; } else { - /* ttpmacro.exe\x82\xAA\x92P\x91?ŋN\x93\xAE\x82\xB3\x82\xEA\x81A\x83_\x83C\x83A\x83\x8D\x83O\x82Ń}\x83N\x83\x8D\x83t\x83@\x83C\x83\x8B\x82\xAA\x93??\x9E\x82??\x8F?\x82?A - * \x88\xF8\x90\x94\x82??\x94\x82\xCD"1"\x82??\xE8\x81A"param1"\x82\xAA\x8DX\x90V\x82\xB3\x82\xEA\x82\xE9\x81B - * (2012.4.14 yutaka) - */ - ParamCnt = 1; return TRUE; } } Modified: trunk/tests/params_array.ttl =================================================================== --- trunk/tests/params_array.ttl 2016-07-11 08:53:08 UTC (rev 6436) +++ trunk/tests/params_array.ttl 2016-07-11 08:53:11 UTC (rev 6437) @@ -1,7 +1,10 @@ -if paramcnt <= 1 goto error - testlabel = "testnotfound" +if paramcnt = 0 then + messagebox "paramcnt \x82\xAA 0 \x82ł\xB7" "\x83G\x83\x89\x81[" + end +endif + ; param1\x81`9 \x82\xC6 params[] \x82\xAA\x93\xAF\x82\xB6\x82ł\xA0\x82鎖\x82?m\x94F for i 1 paramcnt if i <= 9 then @@ -19,6 +22,11 @@ endif next +if paramcnt = 1 then + messagebox "\x83p\x83\x89\x83\x81\x81[\x83^\x82?\xB5\x82ŋN\x93\xAE\x82\xB3\x82\xEA\x82?\xB5\x82\xBD" params[1] + end +endif + ; \x83e\x83X\x83g\x94?\x86\x82?\x9F\x8Fo for i 2 paramcnt strmatch params[i] "^test[0-9]+$" From svnnotify @ sourceforge.jp Mon Jul 11 17:53:08 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 11 Jul 2016 17:53:08 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzZdICDphY3liJflhoXjga7lgIvliKU=?= =?utf-8?b?44Gu5YCk44KSIEluZGV4IOaMh+WumuOBp+ebtOaOpeOCu+ODg+ODiOOBmQ==?= =?utf-8?b?44KL54K644Gu6Zai5pWw44KS6L+95Yqg?= Message-ID: <1468227188.648018.147202.nullmailer@users.sourceforge.jp> Revision: 6436 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6436 Author: doda Date: 2016-07-11 17:53:08 +0900 (Mon, 11 Jul 2016) Log Message: ----------- 配列内の個別の値を Index 指定で直接セットする為の関数を追加 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttmparse.c trunk/teraterm/ttpmacro/ttmparse.h -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttmparse.c =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.c 2016-07-11 08:53:02 UTC (rev 6435) +++ trunk/teraterm/ttpmacro/ttmparse.c 2016-07-11 08:53:08 UTC (rev 6436) @@ -1887,6 +1887,26 @@ } } +void SetIntValInArray(TVarId VarId, int Index, int Val, LPWORD Err) +{ + TVarId id; + + id = GetIntVarFromArray(VarId, Index, Err); + if (*Err == 0) { + SetIntVal(id, Val); + } +} + +void SetStrValInArray(TVarId VarId, int Index, PCHAR Str, LPWORD Err) +{ + TVarId id; + + id = GetStrVarFromArray(VarId, Index, Err); + if (*Err == 0) { + SetStrVal(id, Str); + } +} + int GetIntAryVarSize(TVarId VarId) { return IntAryVal[VarId].size; Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2016-07-11 08:53:02 UTC (rev 6435) +++ trunk/teraterm/ttpmacro/ttmparse.h 2016-07-11 08:53:08 UTC (rev 6436) @@ -326,6 +326,8 @@ BOOL GetIndex(int *Index, LPWORD Err); void GetAryVar(PVarId VarId, WORD VarType, LPWORD Err); void GetAryVarByName(PVarId VarId, PCHAR Name, WORD VarType, LPWORD Err); +void SetIntValInArray(TVarId VarId, int Index, int Val, LPWORD Err); +void SetStrValInArray(TVarId VarId, int Index, PCHAR Str, LPWORD Err); int GetIntAryVarSize(TVarId VarId); int GetStrAryVarSize(TVarId VarId); From svnnotify @ sourceforge.jp Mon Jul 11 17:53:16 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 11 Jul 2016 17:53:16 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0MzldICDkvovnpLrnlKjjg4njg6HjgqQ=?= =?utf-8?b?44OzIC8gSVDjgqLjg4njg6zjgrnjgavmm7jjgY3jgYvjgYg=?= Message-ID: <1468227196.479470.147414.nullmailer@users.sourceforge.jp> Revision: 6439 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6439 Author: doda Date: 2016-07-11 17:53:16 +0900 (Mon, 11 Jul 2016) Log Message: ----------- 例示用ドメイン/IPアドレスに書きかえ Modified Paths: -------------- trunk/doc/ja/html/commandline/teraterm.html -------------- next part -------------- Modified: trunk/doc/ja/html/commandline/teraterm.html =================================================================== --- trunk/doc/ja/html/commandline/teraterm.html 2016-07-11 08:53:13 UTC (rev 6438) +++ trunk/doc/ja/html/commandline/teraterm.html 2016-07-11 08:53:16 UTC (rev 6439) @@ -208,14 +208,14 @@
     TTERMPRO
    -TTERMPRO myhost.mydomain
    -TTERMPRO myhost.mydomain:23
    -TTERMPRO myhost.mydomain 23
    -TTERMPRO 111.111.11.11
    -TTERMPRO myhost.mydomain /T=0 /P=7
    +TTERMPRO myhost.example.com
    +TTERMPRO myhost.example.com:23
    +TTERMPRO myhost.example.com 23
    +TTERMPRO 192.0.2.1
    +TTERMPRO myhost.example.com /T=0 /P=7
     TTERMPRO /C=1
     TTERMPRO /F=TELNET.INI
    -TTERMPRO foohost.foodomain /F=FOOHOST.INI
    +TTERMPRO foohost.example.org /F=FOOHOST.INI
     TTERMPRO /C=2 /BAUD=9600 /F=MYSETUP.INI
     TTERMPRO /K=MYKEY.CNF /W="My host"
     TTERMPRO /R=README.TXT ; replay a file
    
    From svnnotify @ sourceforge.jp  Tue Jul 12 18:04:21 2016
    From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp)
    Date: Tue, 12 Jul 2016 18:04:21 +0900
    Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDBdICDjg7tDQlN0YXJ0UGFzdGUgKCkg?=
     =?utf-8?b?IOOCkiBEREUg57O744Go44Kv44Oq44OD44OX44Oc44O844OJ57O744Gr5YiG?=
     =?utf-8?b?6Zui?=
    Message-ID: <1468314261.209102.4475.nullmailer@users.sourceforge.jp>
    
    Revision: 6440
              http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6440
    Author:   doda
    Date:     2016-07-12 18:04:20 +0900 (Tue, 12 Jul 2016)
    Log Message:
    -----------
    ・CBStartPaste() を DDE 系とクリップボード系に分離
    ・DDE系の CBStartSend() と CBStartEcho() を共通化
    ・コメントで DataSize should be <= BuffSize とあるが実際には保証されてなく、
      ヒープを破壊する事があった事(*1)、および BuffSize を呼び出し元から指定する
      意味も無さそうなので BuffSize を廃止し、メモリの確保にも DataSize を
      使うように変更。
    
    [*1] BuffSize は TermWidthMax(500) だが、DataSize は MaxStrLen(512) まで
         大きくなる為、500バイト以上のデータを send するとバッファオーバランで
         ヒープが壊れる
    
    Modified Paths:
    --------------
        trunk/teraterm/teraterm/clipboar.c
        trunk/teraterm/teraterm/clipboar.h
        trunk/teraterm/teraterm/tekwin.cpp
        trunk/teraterm/teraterm/ttdde.c
        trunk/teraterm/teraterm/vtwin.cpp
    
    -------------- next part --------------
    Modified: trunk/teraterm/teraterm/clipboar.c
    ===================================================================
    --- trunk/teraterm/teraterm/clipboar.c	2016-07-11 08:53:16 UTC (rev 6439)
    +++ trunk/teraterm/teraterm/clipboar.c	2016-07-12 09:04:20 UTC (rev 6440)
    @@ -108,13 +108,49 @@
     	CBCopyWideHandle = NULL;
     }
     
    -void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed,
    -                  int BuffSize, PCHAR DataPtr, int DataSize)
    -//
    -//  DataPtr and DataSize are used only for DDE
    -//	  For clipboard, BuffSize should be 0
    -//	  DataSize should be <= BuffSize
    +void CBStartSend(PCHAR DataPtr, int DataSize, BOOL EchoOnly)
     {
    +	if (! cv.Ready) {
    +		return;
    +	}
    +	if (TalkStatus!=IdTalkKeyb) {
    +		return;
    +	}
    +
    +	CBAddCR = FALSE;
    +	CBBracketed = CB_BRACKET_NONE;
    +
    +	CBEchoOnly = EchoOnly;
    +
    +	CBMemHandle = NULL;
    +	CBMemPtr = NULL;
    +
    +	CBMemPtr2 = 0;
    +	CBDDE = TRUE;
    +	CBWIDE = FALSE;
    +
    +	CBInsertDelay = FALSE;
    +
    +	CBRetrySend = FALSE;
    +	CBRetryEcho = FALSE;
    +	CBSendCR = FALSE;
    +
    +	if ((CBMemHandle = GlobalAlloc(GHND, DataSize)) != NULL) {
    +		if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) {
    +			memcpy(CBMemPtr, DataPtr, DataSize);
    +			GlobalUnlock(CBMemHandle);
    +			CBMemPtr=NULL;
    +			TalkStatus=IdTalkCB;
    +		}
    +	}
    +
    +	if (TalkStatus != IdTalkCB) {
    +		CBEndPaste();
    +	}
    +}
    +
    +void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed)
    +{
     	UINT Cf;
     
     	if (! cv.Ready) {
    @@ -129,20 +165,18 @@
     		CBBracketed = CB_BRACKET_START;
     	}
     
    -	if (BuffSize==0) { // for clipboar
    -		if (IsClipboardFormatAvailable(CF_UNICODETEXT)) {
    -			Cf = CF_UNICODETEXT;
    -		}
    -		else if (IsClipboardFormatAvailable(CF_TEXT)) {
    -			Cf = CF_TEXT;
    -		}
    -		else if (IsClipboardFormatAvailable(CF_OEMTEXT)) {
    -			Cf = CF_OEMTEXT;
    -		}
    -		else {
    -			return;
    -		}
    +	if (IsClipboardFormatAvailable(CF_UNICODETEXT)) {
    +		Cf = CF_UNICODETEXT;
     	}
    +	else if (IsClipboardFormatAvailable(CF_TEXT)) {
    +		Cf = CF_TEXT;
    +	}
    +	else if (IsClipboardFormatAvailable(CF_OEMTEXT)) {
    +		Cf = CF_OEMTEXT;
    +	}
    +	else {
    +		return;
    +	}
     
     	CBEchoOnly = FALSE;
     
    @@ -153,59 +187,46 @@
     	CBWIDE = FALSE;
     	CBInsertDelay = FALSE;
     
    -	if (BuffSize==0) { //clipboard
    -		if (ts.PasteDelayPerLine > 0) {
    -			CBInsertDelay = TRUE;
    -		}
    -		if (OpenClipboard(HWin)) {
    -			if (Cf == CF_UNICODETEXT) {
    -				// \x93\\x82\xE8\x95t\x82\xAF\x8F\x88\x97\x9D\x82ł\xCD CBMemHandle \x82ł??\xAD dde \x82?\xAF\x82\xB6\x82悤\x82\xC9 CBMemPtr \x82\xAA\x8Eg\x82\xED\x82\xEA\x82\xE9
    -				HGLOBAL TmpHandle = GetClipboardData(Cf);
    -				CBWIDE = TRUE;
    -				if (TmpHandle) {
    -					LPWSTR TmpPtr = (LPWSTR)GlobalLock(TmpHandle);
    -					int mb_len = WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, 0, 0, NULL, NULL);
    +	CBRetrySend = FALSE;
    +	CBRetryEcho = FALSE;
    +	CBSendCR = FALSE;
     
    -					CBMemHandle = GlobalAlloc(GHND, mb_len);
    -					if (CBMemHandle != NULL) {
    -						CBMemPtr = GlobalLock(CBMemHandle);
    -						if (CBMemPtr != NULL) {
    -							WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, CBMemPtr, mb_len, NULL, NULL);
    +	if (ts.PasteDelayPerLine > 0) {
    +		CBInsertDelay = TRUE;
    +	}
    +	if (OpenClipboard(HWin)) {
    +		if (Cf == CF_UNICODETEXT) {
    +			// \x93\\x82\xE8\x95t\x82\xAF\x8F\x88\x97\x9D\x82ł\xCD CBMemHandle \x82ł??\xAD dde \x82?\xAF\x82\xB6\x82悤\x82\xC9 CBMemPtr \x82\xAA\x8Eg\x82\xED\x82\xEA\x82\xE9
    +			HGLOBAL TmpHandle = GetClipboardData(Cf);
    +			CBWIDE = TRUE;
    +			if (TmpHandle) {
    +				LPWSTR TmpPtr = (LPWSTR)GlobalLock(TmpHandle);
    +				int mb_len = WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, 0, 0, NULL, NULL);
     
    -							GlobalUnlock(CBMemHandle);
    -							CBMemPtr=NULL;
    -							TalkStatus=IdTalkCB;
    -						}
    +				CBMemHandle = GlobalAlloc(GHND, mb_len);
    +				if (CBMemHandle != NULL) {
    +					CBMemPtr = GlobalLock(CBMemHandle);
    +					if (CBMemPtr != NULL) {
    +						WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, CBMemPtr, mb_len, NULL, NULL);
     
    -						GlobalUnlock(TmpHandle);
    -						CloseClipboard();
    +						GlobalUnlock(CBMemHandle);
    +						CBMemPtr=NULL;
    +						TalkStatus=IdTalkCB;
     					}
    +
    +					GlobalUnlock(TmpHandle);
    +					CloseClipboard();
     				}
     			}
    -			else {
    -				CBMemHandle = GetClipboardData(Cf);
    -				if (CBMemHandle!=NULL) {
    -					TalkStatus=IdTalkCB;
    -				}
    -			}
     		}
    -	}
    -	else { // dde
    -		CBMemHandle = GlobalAlloc(GHND,BuffSize);
    -		if (CBMemHandle != NULL) {
    -			CBDDE = TRUE;
    -			CBMemPtr = GlobalLock(CBMemHandle);
    -			if (CBMemPtr != NULL) {
    -				memcpy(CBMemPtr,DataPtr,DataSize);
    -				GlobalUnlock(CBMemHandle);
    -				CBMemPtr=NULL;
    +		else {
    +			CBMemHandle = GetClipboardData(Cf);
    +			if (CBMemHandle!=NULL) {
     				TalkStatus=IdTalkCB;
     			}
     		}
     	}
    -	CBRetrySend = FALSE;
    -	CBRetryEcho = FALSE;
    -	CBSendCR = FALSE;
    +
     	if (TalkStatus != IdTalkCB) {
     		CBEndPaste();
     	}
    @@ -325,36 +346,6 @@
     	}
     }
     
    -void CBStartEcho(PCHAR DataPtr, int DataSize)
    -{
    -	if (! cv.Ready) {
    -		return;
    -	}
    -	if (TalkStatus!=IdTalkKeyb) {
    -		return;
    -	}
    -
    -	CBEchoOnly = TRUE;
    -	CBMemPtr2 = 0;
    -	CBRetryEcho = FALSE;
    -	CBSendCR = FALSE;
    -	CBWIDE = FALSE;
    -
    -	CBDDE = TRUE;
    -	if ((CBMemHandle = GlobalAlloc(GHND, DataSize)) != NULL) {
    -		if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) {
    -			memcpy(CBMemPtr, DataPtr, DataSize);
    -			GlobalUnlock(CBMemHandle);
    -			CBMemPtr=NULL;
    -			TalkStatus=IdTalkCB;
    -		}
    -	}
    -
    -	if (TalkStatus != IdTalkCB) {
    -		CBEndPaste();
    -	}
    -}
    -
     // \x82\xB1\x82??\x94\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA8\x82\xE6\x82\xD1DDE\x83f\x81[\x83^\x82\xF0\x92[\x96\x96\x82?\x97\x82?\x82?B
     //
     // CBMemHandle\x83n\x83\x93\x83h\x83\x8B\x82?O\x83\x8D\x81[\x83o\x83\x8B\x95?\x94\x82??ŁA\x82\xB1\x82??\x94\x82\xAA\x8FI\x97\xB9\x82\xB7\x82\xE9\x82?ł?A
    
    Modified: trunk/teraterm/teraterm/clipboar.h
    ===================================================================
    --- trunk/teraterm/teraterm/clipboar.h	2016-07-11 08:53:16 UTC (rev 6439)
    +++ trunk/teraterm/teraterm/clipboar.h	2016-07-12 09:04:20 UTC (rev 6440)
    @@ -11,10 +11,9 @@
     /* prototypes */
     PCHAR CBOpen(LONG MemSize);
     void CBClose();
    -void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed,
    -		  int BuffSize, PCHAR DataPtr, int DataSize);
    +void CBStartSend(PCHAR DataPtr, int DataSize, BOOL EchoOnly);
    +void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed);
     void CBStartPasteB64(HWND HWin, PCHAR header, PCHAR footer);
    -void CBStartEcho(PCHAR DataPtr, int DataSize);
     void CBSend();
     void CBEcho();
     void CBEndPaste();
    
    Modified: trunk/teraterm/teraterm/tekwin.cpp
    ===================================================================
    --- trunk/teraterm/teraterm/tekwin.cpp	2016-07-11 08:53:16 UTC (rev 6439)
    +++ trunk/teraterm/teraterm/tekwin.cpp	2016-07-12 09:04:20 UTC (rev 6440)
    @@ -485,7 +485,7 @@
     
     void CTEKWindow::OnRButtonUp(UINT nFlags, CPoint point)
     {
    -	CBStartPaste(tk.HWin, FALSE, FALSE, 0, NULL, 0);
    +	CBStartPaste(tk.HWin, FALSE, FALSE);
     }
     
     void CTEKWindow::OnSetFocus(CWnd* pOldWnd)
    @@ -743,12 +743,12 @@
     
     void CTEKWindow::OnEditPaste()
     {
    -	CBStartPaste(tk.HWin, FALSE, FALSE, 0, NULL, 0);
    +	CBStartPaste(tk.HWin, FALSE, FALSE);
     }
     
     void CTEKWindow::OnEditPasteCR()
     {
    -	CBStartPaste(tk.HWin, TRUE, FALSE, 0, NULL, 0);
    +	CBStartPaste(tk.HWin, TRUE, FALSE);
     }
     
     void CTEKWindow::OnEditClearScreen()
    
    Modified: trunk/teraterm/teraterm/ttdde.c
    ===================================================================
    --- trunk/teraterm/teraterm/ttdde.c	2016-07-11 08:53:16 UTC (rev 6439)
    +++ trunk/teraterm/teraterm/ttdde.c	2016-07-12 09:04:20 UTC (rev 6440)
    @@ -57,9 +57,6 @@
     
     static BOOL AutoLogClose = FALSE;
     
    -#define CBBufSize TermWidthMax
    -
    -
     static void BringupMacroWindow(BOOL flash_flag)
     {
     	HWND hwnd;
    @@ -288,7 +285,7 @@
     
     	DataPtr = DdeAccessData(Data,&DataSize);
     	if (DataPtr==NULL) return DDE_FNOTPROCESSED;
    -	CBStartPaste(NULL, FALSE, FALSE, CBBufSize, DataPtr, DataSize);
    +	CBStartSend(DataPtr, DataSize, FALSE);
     	DdeUnaccessData(Data);
     	if (TalkStatus==IdTalkCB)
     		return (HDDEDATA)DDE_FACK;
    @@ -1016,7 +1013,7 @@
     		break;
     
     	case CmdDispStr:
    -		CBStartEcho(ParamFileName, sizeof(ParamFileName));
    +		CBStartSend(ParamFileName, sizeof(ParamFileName), TRUE);
     		break;
     
     	case CmdLogInfo:
    
    Modified: trunk/teraterm/teraterm/vtwin.cpp
    ===================================================================
    --- trunk/teraterm/teraterm/vtwin.cpp	2016-07-11 08:53:16 UTC (rev 6439)
    +++ trunk/teraterm/teraterm/vtwin.cpp	2016-07-12 09:04:20 UTC (rev 6440)
    @@ -942,7 +942,7 @@
     
     	if (Paste) {
     		if (CBStartPasteConfirmChange(HVTWin, FALSE)) {
    -			CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), 0, NULL, 0);
    +			CBStartPaste(HVTWin, FALSE, BracketedPasteMode());
     			// \x83X\x83N\x83\x8D\x81[\x83\x8B\x88?u\x82\xF0\x83\x8A\x83Z\x83b\x83g
     			if (WinOrgY != 0) {
     				DispVScroll(SCROLL_BOTTOM, 0);
    @@ -4440,7 +4440,7 @@
     {
     	// add confirm (2008.2.4 yutaka)
     	if (CBStartPasteConfirmChange(HVTWin, FALSE)) {
    -		CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), 0, NULL, 0);
    +		CBStartPaste(HVTWin, FALSE, BracketedPasteMode());
     		// \x83X\x83N\x83\x8D\x81[\x83\x8B\x88?u\x82\xF0\x83\x8A\x83Z\x83b\x83g
     		if (WinOrgY != 0) {
     			DispVScroll(SCROLL_BOTTOM, 0);
    @@ -4452,7 +4452,7 @@
     {
     	// add confirm (2008.3.11 maya)
     	if (CBStartPasteConfirmChange(HVTWin, TRUE)) {
    -		CBStartPaste(HVTWin, TRUE, BracketedPasteMode(), 0, NULL, 0);
    +		CBStartPaste(HVTWin, TRUE, BracketedPasteMode());
     		// \x83X\x83N\x83\x8D\x81[\x83\x8B\x88?u\x82\xF0\x83\x8A\x83Z\x83b\x83g
     		if (WinOrgY != 0) {
     			DispVScroll(SCROLL_BOTTOM, 0);
    @@ -6133,7 +6133,7 @@
     	if (sending) {
     		// \x92[\x96\x96\x82?\xB6\x8E\x9A\x97\xF1\x82??\x82\xDE
     		// DDE\x92?M\x82?g\x82\xA4\x8A?\x94\x82?ύX\x81B(2006.2.7 yutaka)
    -		CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), TermWidthMax/*CBBufSize*/, buf, buflen);
    +		CBStartSend(buf, buflen, FALSE);
     		// \x91\x97\x90M\x83f\x81[\x83^\x82\xAA\x82\xA0\x82\xE9\x8F?\x82?\x97\x90M\x82\xB7\x82\xE9
     		if (TalkStatus == IdTalkCB) {
     			CBSend();
    
    From svnnotify @ sourceforge.jp  Tue Jul 12 18:04:24 2016
    From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp)
    Date: Tue, 12 Jul 2016 18:04:24 +0900
    Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDFdICBQYXN0ZTY0IOOBp+OBruOCrw==?=
     =?utf-8?b?44Oq44OD44OX44Oc44O844OJ6Kqt44G/6L6844G/44Gn5pyr5bC+44Gr5L2Z?=
     =?utf-8?b?6KiI44GqIFwwIOOBjOS7mOOBhOOBpuOBhOOBn+OBruOCkuS/ruato+OAgg==?=
    Message-ID: <1468314264.778342.4547.nullmailer@users.sourceforge.jp>
    
    Revision: 6441
              http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6441
    Author:   doda
    Date:     2016-07-12 18:04:24 +0900 (Tue, 12 Jul 2016)
    Log Message:
    -----------
    Paste64 でのクリップボード読み込みで末尾に余計な \0 が付いていたのを修正。
    
    Modified Paths:
    --------------
        trunk/doc/en/html/about/history.html
        trunk/doc/ja/html/about/history.html
        trunk/teraterm/teraterm/clipboar.c
    
    -------------- next part --------------
    Modified: trunk/doc/en/html/about/history.html
    ===================================================================
    --- trunk/doc/en/html/about/history.html	2016-07-12 09:04:20 UTC (rev 6440)
    +++ trunk/doc/en/html/about/history.html	2016-07-12 09:04:24 UTC (rev 6441)
    @@ -51,6 +51,7 @@
       
  • Bug fixes
    • Tera Term(ttermpro.exe) can not run on Windows 95/98/Me/NT4.0.
    • +
    • MACRO: When invalid regular expression is specified at the strreplace command, source string is corrupted.
      • The result variable returns -1 when invalid regular expression is specified.
      • Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-12 09:04:20 UTC (rev 6440) +++ trunk/doc/ja/html/about/history.html 2016-07-12 09:04:24 UTC (rev 6441) @@ -51,6 +51,7 @@
      • \x83o\x83O\x8FC\x90\xB3
        • Windows 95/98/Me/NT4.0\x82ŋN\x93\xAE\x82ł\xAB\x82?\xAD\x82?\xC1\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
        • +
        • \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x93??\xE6\x82\xE8\x82??\xB5\x82āA\x96\x96\x94\xF6\x82?]\x8Cv\x82\xC8 NUL \x95\xB6\x8E\x9A\x82\xF0\x95t\x89\xC1\x82\xB5\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
        • strreplace \x83}\x83N\x83\x8D\x83R\x83}\x83\x93\x83h\x82ŁA\x90\xB3\x82\xB5\x82\xAD\x82?\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82?\xB3\x95\xB6\x8E\x9A\x97?\xF3\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
          • \x90\xB3\x82\xB5\x82\xAD\x96\xB3\x82\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82\xCD result \x82\xC5 -1 \x82\xF0\x95?\xB7\x82悤\x82?\xB5\x82\xBD\x81B
          • Modified: trunk/teraterm/teraterm/clipboar.c =================================================================== --- trunk/teraterm/teraterm/clipboar.c 2016-07-12 09:04:20 UTC (rev 6440) +++ trunk/teraterm/teraterm/clipboar.c 2016-07-12 09:04:24 UTC (rev 6441) @@ -296,7 +296,7 @@ } tmpPtr = (char *)calloc(sizeof(char), mb_len); WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, tmpPtr, mb_len, NULL, NULL); - b64encode(CBMemPtr + hlen, blen - hlen, tmpPtr, mb_len); + b64encode(CBMemPtr + hlen, blen - hlen, tmpPtr, mb_len-1); free(tmpPtr); if (flen > 0) { strncat_s(CBMemPtr, blen, footer, _TRUNCATE); From svnnotify @ sourceforge.jp Tue Jul 12 22:47:58 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 12 Jul 2016 22:47:58 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDJdICDoi7HoqLPjgII=?= Message-ID: <1468331278.553403.133424.nullmailer@users.sourceforge.jp> Revision: 6442 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6442 Author: yutakapon Date: 2016-07-12 22:47:58 +0900 (Tue, 12 Jul 2016) Log Message: ----------- 英訳。 Modified Paths: -------------- trunk/doc/en/html/about/history.html -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-12 09:04:24 UTC (rev 6441) +++ trunk/doc/en/html/about/history.html 2016-07-12 13:47:58 UTC (rev 6442) @@ -51,7 +51,7 @@
          • Bug fixes
            • Tera Term(ttermpro.exe) can not run on Windows 95/98/Me/NT4.0.
            • - +
            • When the clipboard is read from remote host, unnecessary NUL character is added at the end of the string.
            • MACRO: When invalid regular expression is specified at the strreplace command, source string is corrupted.
              • The result variable returns -1 when invalid regular expression is specified.
              • From svnnotify @ sourceforge.jp Fri Jul 15 18:33:21 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:21 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDNdICDjgq/jg6rjg4Pjg5fjg5zjg7w=?= =?utf-8?b?44OJ44Ki44Kv44K744K544Gu44OG44K544OI55So44K544Kv44Oq44OX44OI?= =?utf-8?b?44KS6L+95Yqg?= Message-ID: <1468575201.174166.125200.nullmailer@users.sourceforge.jp> Revision: 6443 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6443 Author: doda Date: 2016-07-15 18:33:20 +0900 (Fri, 15 Jul 2016) Log Message: ----------- クリップボードアクセスのテスト用スクリプトを追加 Added Paths: ----------- trunk/tests/clipboard-access.rb -------------- next part -------------- Added: trunk/tests/clipboard-access.rb =================================================================== --- trunk/tests/clipboard-access.rb (rev 0) +++ trunk/tests/clipboard-access.rb 2016-07-15 09:33:20 UTC (rev 6443) @@ -0,0 +1,149 @@ +#!/usr/bin/env ruby +# encoding: ASCII-8BIT + +Encoding.default_external = "ASCII-8BIT" if RUBY_VERSION >= "1.9.0" + +require 'timeout' +require 'kconv' + +def rawio(t=nil, &blk) + saved_mode = nil + open("|stty -g") do |stty| + saved_mode = stty.gets + end + begin + system("stty raw -echo") + if t + return Timeout.timeout(t, &blk) + else + return blk.call + end + ensure + system("stty #{saved_mode}") + end +end + +def check_kcode + begin + rawio(1) do + print "\r\xe6\xa4\xa3\xe6\x8e\xa7\e[6n\e[1K\r" + buff = "" + while c = STDIN.getc + buff << c.chr + if /(\x9c|\x1b\[)(\d+);(\d+)R/ =~ buff + case $3.to_i + when 5 + $out_code = :toutf8 + when 6 + $out_code = :toeuc + when 7 + $out_code = :tosjis + end + break + end + end + end + rescue Timeout::Error + $out_code = nil + end +end + +def msgout(msg) + if $out_code + puts msg.to_s.method($out_code).call + else + puts msg.to_s + end +end + +def getClipboard + begin + return rawio(1) do + rdata = "" + cbnum = "" + + print "\e]52;c;?\e\\" + + while (c = STDIN.getc) + break if c.ord == 3 || c.ord == 4 + rdata << c + if /(\e\]|\x9d)52;([cps0-7]+);/ =~ rdata + cbnum = $2 + break + end + end + + rdata = "" + if (cbnum != "") + while (c = STDIN.getc) + break if c.ord == 3 || c.ord == 4 + rdata << c + if /(\x9c|\x1b\\)/ =~ rdata + return $`.unpack("m")[0] + break + end + end + end + nil + end + rescue Timeout::Error + nil + end +end + +def setClipboard(data) + printf "\e]52;c;#{[data].pack("m").chomp}\e\\" +end + +def testClipboard + def rwClipboard(data) + msgout "クリップボードに \"#{data}\" をセットします。" + setClipboard data + + msgout "クリップボードの内容を取得します。" + cbdata = getClipboard + + if cbdata == data + msgout "クリップボードへ設定した文字列と読み込んだ文字列が一致しました。" + return :ok + elsif cbdata == nil + msgout "クリップボードの内容取得で、タイムアウトが発生しました。" + msgout "クリップボードへのアクセスが許可されているか確認して下さい。" + return :timeout + else + msgout "クリップボードへ設定した文字列と読み込んだ文字列が異なります。" + msgout "set: #{data.inspect}" + msgout "get: #{cbdata.inspect}" + return :error + end + end + + check_kcode + msgout "端末のクリップボードアクセスのテストを行います。" + msgout "「設定」⇒「その他の設定」⇒「制御シーケンス」にある" + msgout "「リモートからのクリップボードアクセス」を“読込/書込”にして下さい。" + msgout "準備が出来たらリターンキーをおして下さい。" + STDIN.gets + + rwClipboard "Clipboard Test" +end + +case ARGV.shift +when "--set" + setClipboard(ARGV.join(" ")) +when "--get" + if (cbdata = getClipboard) + p cbdata + else + check_kcode + msgout "クリップボードの内容取得で、タイムアウトが発生しました。" + end +when "--test" + testClipboard +else + check_kcode + msgout "使い方: #$0 [ --set | --get | --test ] [ パラメータ ]" + msgout " --set パラメータに指定した文字列をクリップボードに設定する" + msgout " --get クリップボードの内容を取得する" + msgout " --test 端末のクリップボードアクセス機能のテストを行う" +end Property changes on: trunk/tests/clipboard-access.rb ___________________________________________________________________ Added: svn:executable + * From svnnotify @ sourceforge.jp Fri Jul 15 18:33:28 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:28 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDZdICBUVFgg44GuIG9yZGVyIOOCkiAw?= =?utf-8?b?IOOBi+OCiSAxMCDjgavlpInmm7TjgII=?= Message-ID: <1468575208.964719.125630.nullmailer@users.sourceforge.jp> Revision: 6446 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6446 Author: doda Date: 2016-07-15 18:33:28 +0900 (Fri, 15 Jul 2016) Log Message: ----------- TTX の order を 0 から 10 に変更。 TTProxy の前に他の TTX を割り込ませる事を可能にする為。 Modified Paths: -------------- trunk/TTProxy/TTProxy.h trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html -------------- next part -------------- Modified: trunk/TTProxy/TTProxy.h =================================================================== --- trunk/TTProxy/TTProxy.h 2016-07-15 09:33:25 UTC (rev 6445) +++ trunk/TTProxy/TTProxy.h 2016-07-15 09:33:28 UTC (rev 6446) @@ -289,8 +289,8 @@ /* This must contain the size of the structure. See below for its usage. */ sizeof EXPORTS, /* load first */ - 0, - + 10, + /* Now we just list the functions that we've implemented. */ TTProxy::TTXInit, NULL, @@ -308,7 +308,7 @@ int size = sizeof EXPORTS - sizeof exports->size; /* do version checking if necessary */ /* if (Version!=TTVERSION) return FALSE; */ - + if (size > exports->size) { size = exports->size; } Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-15 09:33:25 UTC (rev 6445) +++ trunk/doc/en/html/about/history.html 2016-07-15 09:33:28 UTC (rev 6446) @@ -60,10 +60,11 @@
            • - +
            @@ -4123,6 +4124,11 @@

            TTProxy

            +

            2016.xx.xx (Ver 1.0.0.23)

            +
              + +
            +

            2015.12.01 (Ver 1.0.0.22)

            • The command line option can be quoted from an offset when the '"' is used.
            • Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-15 09:33:25 UTC (rev 6445) +++ trunk/doc/ja/html/about/history.html 2016-07-15 09:33:28 UTC (rev 6446) @@ -60,10 +60,11 @@
          • - +
          @@ -4127,6 +4128,11 @@

          TTProxy

          +

          2016.xx.xx (Ver 1.0.0.23)

          +
            +
          • TTX \x83\x8D\x81[\x83h\x8E\x9E\x82?D\x90?\x88\xCA (order) \x82\xF0 0 \x82\xA9\x82\xE7 10 \x82?ύX\x82\xB5\x82\xBD\x81B
          • +
          +

          2015.12.01 (Ver 1.0.0.22)

          • \x83R\x83}\x83\x93\x83h\x83\x89\x83C\x83\x93\x83I\x83v\x83V\x83\x87\x83\x93\x82?p\x81[\x83X\x8F\x88\x97\x9D\x82\xF0\x95ύX\x82\xB5\x81A\x83p\x83\x89\x83\x81\x81[\x83^\x82?r\x92\x86\x82\xA9\x82\xE7\x82ł\xE0 '"' \x82?\xE6\x82\xE9\x83N\x83I\x81[\x83g\x82\xF0\x89?\\x82?\xB5\x82\xBD\x81B
          • From svnnotify @ sourceforge.jp Fri Jul 15 18:33:23 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:23 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDRdICDku5bjgYvjgonmibHjgYTjgaU=?= =?utf-8?b?44KJ44GE44Gu44GnIE5VTCBUZXJtaW5hdGUg44GZ44KL44KI44GG44Gr44GX?= =?utf-8?b?44Gf44CC?= Message-ID: <1468575203.502669.125348.nullmailer@users.sourceforge.jp> Revision: 6444 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6444 Author: doda Date: 2016-07-15 18:33:23 +0900 (Fri, 15 Jul 2016) Log Message: ----------- 他から扱いづらいので NUL Terminate するようにした。 Modified Paths: -------------- trunk/teraterm/common/ttlib.c -------------- next part -------------- Modified: trunk/teraterm/common/ttlib.c =================================================================== --- trunk/teraterm/common/ttlib.c 2016-07-15 09:33:20 UTC (rev 6443) +++ trunk/teraterm/common/ttlib.c 2016-07-15 09:33:23 UTC (rev 6444) @@ -176,6 +176,12 @@ if (dsize > len) dst[len++] = (b >> 8) & 0xff; } + if (len < dsize) { + dst[len] = 0; + } + else { + dst[dsize-1] = 0; + } return len; } From svnnotify @ sourceforge.jp Fri Jul 15 18:33:26 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:26 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDVdICBQYXN0ZTY0IOOBp+epuuaWhw==?= =?utf-8?b?5a2X5YiX44Gu44K744OD44OI44KS6KGM44GI44KL44KI44GG44Gr44GX44Gf?= =?utf-8?b?44CC?= Message-ID: <1468575206.008827.125476.nullmailer@users.sourceforge.jp> Revision: 6445 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6445 Author: doda Date: 2016-07-15 18:33:25 +0900 (Fri, 15 Jul 2016) Log Message: ----------- Paste64 で空文字列のセットを行えるようにした。 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html trunk/teraterm/common/ttlib.c trunk/teraterm/teraterm/vtterm.c trunk/tests/clipboard-access.rb -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-15 09:33:23 UTC (rev 6444) +++ trunk/doc/en/html/about/history.html 2016-07-15 09:33:25 UTC (rev 6445) @@ -52,6 +52,7 @@
            • Tera Term(ttermpro.exe) can not run on Windows 95/98/Me/NT4.0.
            • When the clipboard is read from remote host, unnecessary NUL character is added at the end of the string.
            • +
            • MACRO: When invalid regular expression is specified at the strreplace command, source string is corrupted.
              • The result variable returns -1 when invalid regular expression is specified.
              • Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-15 09:33:23 UTC (rev 6444) +++ trunk/doc/ja/html/about/history.html 2016-07-15 09:33:25 UTC (rev 6445) @@ -52,6 +52,7 @@
                • Windows 95/98/Me/NT4.0\x82ŋN\x93\xAE\x82ł\xAB\x82?\xAD\x82?\xC1\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                • \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x93??\xE6\x82\xE8\x82??\xB5\x82āA\x96\x96\x94\xF6\x82?]\x8Cv\x82\xC8 NUL \x95\xB6\x8E\x9A\x82\xF0\x95t\x89\xC1\x82\xB5\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                • +
                • \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x8F\x91\x82\xAB\x8D\x9E\x82?ŁA\x8B?\x9A\x97?Z\x83b\x83g\x8Fo\x97\x88\x82?\xA2\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                • strreplace \x83}\x83N\x83\x8D\x83R\x83}\x83\x93\x83h\x82ŁA\x90\xB3\x82\xB5\x82\xAD\x82?\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82?\xB3\x95\xB6\x8E\x9A\x97?\xF3\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                  • \x90\xB3\x82\xB5\x82\xAD\x96\xB3\x82\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82\xCD result \x82\xC5 -1 \x82\xF0\x95?\xB7\x82悤\x82?\xB5\x82\xBD\x81B
                  • Modified: trunk/teraterm/common/ttlib.c =================================================================== --- trunk/teraterm/common/ttlib.c 2016-07-15 09:33:23 UTC (rev 6444) +++ trunk/teraterm/common/ttlib.c 2016-07-15 09:33:25 UTC (rev 6445) @@ -137,7 +137,7 @@ int len = 0, state = 0; if (src == NULL || dst == NULL || dsize == 0) - return 0; + return -1; while (1) { if (isspace(*src)) { Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2016-07-15 09:33:23 UTC (rev 6444) +++ trunk/teraterm/teraterm/vtterm.c 2016-07-15 09:33:25 UTC (rev 6445) @@ -4604,7 +4604,7 @@ len = b64decode(cbbuff, blen, p); - if (len == 0 || len >= blen) { + if (len < 0 || len >= blen) { GlobalUnlock(cbmem); GlobalFree(cbmem); return; Modified: trunk/tests/clipboard-access.rb =================================================================== --- trunk/tests/clipboard-access.rb 2016-07-15 09:33:23 UTC (rev 6444) +++ trunk/tests/clipboard-access.rb 2016-07-15 09:33:25 UTC (rev 6445) @@ -126,6 +126,8 @@ STDIN.gets rwClipboard "Clipboard Test" + puts "" + rwClipboard "" end case ARGV.shift From svnnotify @ sourceforge.jp Fri Jul 15 18:33:33 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:33 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDhdICBQYXN0ZTY0IOWRqOOCiuOBrg==?= =?utf-8?b?44Kz44O844OJ44Gu5pW055CG?= Message-ID: <1468575213.495653.125893.nullmailer@users.sourceforge.jp> Revision: 6448 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6448 Author: doda Date: 2016-07-15 18:33:33 +0900 (Fri, 15 Jul 2016) Log Message: ----------- Paste64 周りのコードの整理 Modified Paths: -------------- trunk/teraterm/teraterm/clipboar.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/clipboar.c =================================================================== --- trunk/teraterm/teraterm/clipboar.c 2016-07-15 09:33:31 UTC (rev 6447) +++ trunk/teraterm/teraterm/clipboar.c 2016-07-15 09:33:33 UTC (rev 6448) @@ -236,10 +236,9 @@ { HANDLE tmpHandle = NULL; char *tmpPtr = NULL; - int len, hlen, flen, blen; + int len, header_len, footer_len, b64_len; UINT Cf; LPWSTR tmpPtrWide = NULL; - int mb_len; if (! cv.Ready) { return; @@ -282,60 +281,55 @@ } } - if (Cf == CF_UNICODETEXT) { - if (tmpHandle) { + + if (tmpHandle) { + if (Cf == CF_UNICODETEXT) { if ((tmpPtrWide = GlobalLock(tmpHandle)) != NULL) { - hlen = strlen(header); - flen = strlen(footer); - mb_len = WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, 0, 0, NULL, NULL); - blen = (mb_len + 2) / 3 * 4 + hlen + flen + 1; - if ((CBMemHandle = GlobalAlloc(GHND, blen)) != NULL) { - if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { - if (hlen > 0) { - strncpy_s(CBMemPtr, blen, header, _TRUNCATE); - } - tmpPtr = (char *)calloc(sizeof(char), mb_len); - WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, tmpPtr, mb_len, NULL, NULL); - b64encode(CBMemPtr + hlen, blen - hlen, tmpPtr, mb_len-1); - free(tmpPtr); - if (flen > 0) { - strncat_s(CBMemPtr, blen, footer, _TRUNCATE); - } - TalkStatus=IdTalkCB; - GlobalUnlock(CBMemPtr); - CBMemPtr = NULL; - } + len = WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, 0, 0, NULL, NULL); + if ((tmpPtr = (char *)calloc(sizeof(char), len)) != NULL) { + WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, tmpPtr, len, NULL, NULL); } + // WideCharToMultiByte \x82œ\xBE\x82\xE7\x82\xEA\x82\xE9\x82??\x96\x94\xF6\x82\xCC \0 \x8D\x9E\x82??\xB7\x82\xB3 + // \0 \x82\xF0\x83G\x83\x93\x83R\x81[\x83h\x91Ώ?????\xA2\x88?\xC9 1 \x8C\xB8\x82炷 + len--; GlobalUnlock(tmpPtrWide); } - CloseClipboard(); } - } - else { - if (tmpHandle) { + else { if ((tmpPtr = GlobalLock(tmpHandle)) != NULL) { - hlen = strlen(header); - flen = strlen(footer); len = strlen(tmpPtr); - blen = (len + 2) / 3 * 4 + hlen + flen + 1; - if ((CBMemHandle = GlobalAlloc(GHND, blen)) != NULL) { - if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { - if (hlen > 0) { - strncpy_s(CBMemPtr, blen, header, _TRUNCATE); - } - b64encode(CBMemPtr + hlen, blen - hlen, tmpPtr, len); - if (flen > 0) { - strncat_s(CBMemPtr, blen, footer, _TRUNCATE); - } - TalkStatus=IdTalkCB; - GlobalUnlock(CBMemPtr); - CBMemPtr = NULL; + } + } + + if (tmpPtr) { + header_len = strlen(header); + footer_len = strlen(footer); + + b64_len = (len + 2) / 3 * 4 + header_len + footer_len + 1; + + if ((CBMemHandle = GlobalAlloc(GHND, b64_len)) != NULL) { + if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { + if (header_len > 0) { + strncpy_s(CBMemPtr, b64_len, header, _TRUNCATE); } + b64encode(CBMemPtr + header_len, b64_len - header_len, tmpPtr, len); + if (footer_len > 0) { + strncat_s(CBMemPtr, b64_len, footer, _TRUNCATE); + } + TalkStatus=IdTalkCB; + GlobalUnlock(CBMemPtr); + CBMemPtr = NULL; } + } + + if (Cf == CF_UNICODETEXT) { + free(tmpPtr); + } + else { GlobalUnlock(tmpPtr); } - CloseClipboard(); } + CloseClipboard(); } CBRetrySend = FALSE; From svnnotify @ sourceforge.jp Fri Jul 15 18:33:36 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:36 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDldICDjgq/jg6rjg4Pjg5fjg5zjg7w=?= =?utf-8?b?44OJ44GL44KJ44Gu6LK844KK5LuY44GR5ZGo44KK44Gu5pW055CG?= Message-ID: <1468575216.245192.126129.nullmailer@users.sourceforge.jp> Revision: 6449 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6449 Author: doda Date: 2016-07-15 18:33:36 +0900 (Fri, 15 Jul 2016) Log Message: ----------- クリップボードからの貼り付け周りの整理 ・クリップボードの内容が CF_TEXT や CF_OEMTEXT の時も貼り付け開始時点で クリップボードの内容をコピーし、貼り付け処理中はクリップボードのロックを しないようにした。 ただし、クリップボードの内容が CF_TEXT や CF_OEMTEXT でも、CF_UNICODETEXT として取得できるようで、ほぼすべての場合で CF_UNICODETEXT として処理が 行われていたはずなので実質的な動作変更はない事になるはず。 ・Bracketed Paste や AddCR の処理を CBStartPaste へ移動した。 クリップボードの内容をコピーする時点で Bracket や CR を付加する。 Bracketed Paste Mode 有効時に空文字列の貼り付けで終了 Bracket のみ送られる というバグがあったが、この処理変更で修正される。 ・Bracketed Paste Mode テスト用スクリプトを追加 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html trunk/teraterm/teraterm/clipboar.c Added Paths: ----------- trunk/tests/bracketed-paste-test.rb -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-15 09:33:33 UTC (rev 6448) +++ trunk/doc/en/html/about/history.html 2016-07-15 09:33:36 UTC (rev 6449) @@ -53,6 +53,7 @@
                  • Tera Term(ttermpro.exe) can not run on Windows 95/98/Me/NT4.0.
                  • When the clipboard is read from remote host, unnecessary NUL character is added at the end of the string.
                  • +
                  • MACRO: When invalid regular expression is specified at the strreplace command, source string is corrupted.
                    • The result variable returns -1 when invalid regular expression is specified.
                    • Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2016-07-15 09:33:33 UTC (rev 6448) +++ trunk/doc/ja/html/about/history.html 2016-07-15 09:33:36 UTC (rev 6449) @@ -53,6 +53,7 @@
                    • Windows 95/98/Me/NT4.0\x82ŋN\x93\xAE\x82ł\xAB\x82?\xAD\x82?\xC1\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                    • \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x93??\xE6\x82\xE8\x82??\xB5\x82āA\x96\x96\x94\xF6\x82?]\x8Cv\x82\xC8 NUL \x95\xB6\x8E\x9A\x82\xF0\x95t\x89\xC1\x82\xB5\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                    • \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82?N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x8F\x91\x82\xAB\x8D\x9E\x82?ŁA\x8B?\x9A\x97?Z\x83b\x83g\x8Fo\x97\x88\x82?\xA2\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                    • +
                    • \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82?\xE0\x97e\x82\xAA\x8B?\x9A\x97\xF1\x82?\x9E\x81ABracketed Paste Mode \x97L\x8C\xF8\x8E\x9E\x82?\\x82\xE8\x95t\x82\xAF\x82?I\x97\xB9 Bracket \x82??\xAA\x91\x97\x82\xE7\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                    • strreplace \x83}\x83N\x83\x8D\x83R\x83}\x83\x93\x83h\x82ŁA\x90\xB3\x82\xB5\x82\xAD\x82?\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82?\xB3\x95\xB6\x8E\x9A\x97?\xF3\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B
                      • \x90\xB3\x82\xB5\x82\xAD\x96\xB3\x82\xA2\x90\xB3\x8BK\x95\\x8C\xBB\x82\xF0\x8Ew\x92?\x82\xBD\x8E\x9E\x82\xCD result \x82\xC5 -1 \x82\xF0\x95?\xB7\x82悤\x82?\xB5\x82\xBD\x81B
                      • Modified: trunk/teraterm/teraterm/clipboar.c =================================================================== --- trunk/teraterm/teraterm/clipboar.c 2016-07-15 09:33:33 UTC (rev 6448) +++ trunk/teraterm/teraterm/clipboar.c 2016-07-15 09:33:36 UTC (rev 6449) @@ -24,21 +24,14 @@ static HGLOBAL CBCopyWideHandle = NULL; static LPWSTR CBCopyWidePtr = NULL; -#define CB_BRACKET_NONE 0 -#define CB_BRACKET_START 1 -#define CB_BRACKET_END 2 // for clipboard paste static HGLOBAL CBMemHandle = NULL; static PCHAR CBMemPtr = NULL; static LONG CBMemPtr2 = 0; -static BOOL CBAddCR = FALSE; -static int CBBracketed = CB_BRACKET_NONE; static BYTE CBByte; static BOOL CBRetrySend; static BOOL CBRetryEcho; static BOOL CBSendCR; -static BOOL CBDDE; -static BOOL CBWIDE; static BOOL CBEchoOnly; static BOOL CBInsertDelay = FALSE; @@ -117,17 +110,12 @@ return; } - CBAddCR = FALSE; - CBBracketed = CB_BRACKET_NONE; - CBEchoOnly = EchoOnly; CBMemHandle = NULL; CBMemPtr = NULL; CBMemPtr2 = 0; - CBDDE = TRUE; - CBWIDE = FALSE; CBInsertDelay = FALSE; @@ -151,7 +139,13 @@ void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed) { + static char BracketStart[] = "\033[200~"; + static char BracketEnd[] = "\033[201~"; UINT Cf; + PCHAR TmpPtr; + LPWSTR TmpPtrW; + HGLOBAL TmpHandle; + int BuffLen, BracketLen; if (! cv.Ready) { return; @@ -160,11 +154,6 @@ return; } - CBAddCR = AddCR; - if (Bracketed) { - CBBracketed = CB_BRACKET_START; - } - if (IsClipboardFormatAvailable(CF_UNICODETEXT)) { Cf = CF_UNICODETEXT; } @@ -183,48 +172,72 @@ CBMemHandle = NULL; CBMemPtr = NULL; CBMemPtr2 = 0; - CBDDE = FALSE; - CBWIDE = FALSE; - CBInsertDelay = FALSE; + if (ts.PasteDelayPerLine > 0) { + CBInsertDelay = TRUE; + } + else { + CBInsertDelay = FALSE; + } + CBRetrySend = FALSE; CBRetryEcho = FALSE; CBSendCR = FALSE; - if (ts.PasteDelayPerLine > 0) { - CBInsertDelay = TRUE; - } if (OpenClipboard(HWin)) { - if (Cf == CF_UNICODETEXT) { - // \x93\\x82\xE8\x95t\x82\xAF\x8F\x88\x97\x9D\x82ł\xCD CBMemHandle \x82ł??\xAD dde \x82?\xAF\x82\xB6\x82悤\x82\xC9 CBMemPtr \x82\xAA\x8Eg\x82\xED\x82\xEA\x82\xE9 - HGLOBAL TmpHandle = GetClipboardData(Cf); - CBWIDE = TRUE; - if (TmpHandle) { - LPWSTR TmpPtr = (LPWSTR)GlobalLock(TmpHandle); - int mb_len = WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, 0, 0, NULL, NULL); + if ((TmpHandle = GetClipboardData(Cf)) != NULL) { + if (Cf == CF_UNICODETEXT) { + TmpPtrW = (LPWSTR)GlobalLock(TmpHandle); + BuffLen = WideCharToMultiByte(CP_ACP, 0, TmpPtrW, -1, 0, 0, NULL, NULL); + } + else { + TmpPtr = (PCHAR)GlobalLock(TmpHandle); + BuffLen = strlen(TmpPtr) + 1; + } - CBMemHandle = GlobalAlloc(GHND, mb_len); - if (CBMemHandle != NULL) { - CBMemPtr = GlobalLock(CBMemHandle); - if (CBMemPtr != NULL) { - WideCharToMultiByte(CP_ACP, 0, TmpPtr, -1, CBMemPtr, mb_len, NULL, NULL); + if (Bracketed) { + BuffLen += sizeof(BracketStart) + sizeof(BracketEnd); + } - GlobalUnlock(CBMemHandle); - CBMemPtr=NULL; - TalkStatus=IdTalkCB; + if (AddCR) { + BuffLen++; + } + + if ((CBMemHandle = GlobalAlloc(GHND, BuffLen)) != NULL) { + if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { + if (Bracketed) { + strncpy_s(CBMemPtr, BuffLen, BracketStart, _TRUNCATE); + BracketLen = strlen(CBMemPtr); } + else { + BracketLen = 0; + } - GlobalUnlock(TmpHandle); - CloseClipboard(); + if (Cf == CF_UNICODETEXT) { + WideCharToMultiByte(CP_ACP, 0, TmpPtrW, -1, CBMemPtr+BracketLen, BuffLen-BracketLen, NULL, NULL); + } + else { + strncat_s(CBMemPtr, BuffLen, TmpPtr, _TRUNCATE); + } + + if (Bracketed) { + strncat_s(CBMemPtr, BuffLen, BracketEnd, _TRUNCATE); + } + + if (AddCR) { + strncat_s(CBMemPtr, BuffLen, "\r", _TRUNCATE); + } + + CBMemPtr = NULL; + + TalkStatus = IdTalkCB; } + GlobalUnlock(CBMemHandle); + CBMemPtr = NULL; } + GlobalUnlock(TmpHandle); } - else { - CBMemHandle = GetClipboardData(Cf); - if (CBMemHandle!=NULL) { - TalkStatus=IdTalkCB; - } - } + CloseClipboard(); } if (TalkStatus != IdTalkCB) { @@ -252,8 +265,6 @@ CBMemHandle = NULL; CBMemPtr = NULL; CBMemPtr2 = 0; - CBDDE = TRUE; - CBWIDE = FALSE; if (ts.PasteDelayPerLine > 0) { CBInsertDelay = TRUE; @@ -262,6 +273,10 @@ CBInsertDelay = FALSE; } + CBRetrySend = FALSE; + CBRetryEcho = FALSE; + CBSendCR = FALSE; + if (IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(HWin)) { Cf = CF_UNICODETEXT; if ((tmpHandle = GetClipboardData(CF_UNICODETEXT)) == NULL) { @@ -281,7 +296,6 @@ } } - if (tmpHandle) { if (Cf == CF_UNICODETEXT) { if ((tmpPtrWide = GlobalLock(tmpHandle)) != NULL) { @@ -332,9 +346,6 @@ CloseClipboard(); } - CBRetrySend = FALSE; - CBRetryEcho = FALSE; - CBSendCR = FALSE; if (TalkStatus != IdTalkCB) { CBEndPaste(); } @@ -352,9 +363,6 @@ int c; BOOL EndFlag; static DWORD lastcr; - static char BracketStart[] = "\033[200~"; - static char BracketEnd[] = "\033[201~"; - static int BracketPtr = 0; DWORD now; if (CBMemHandle==NULL) { @@ -408,14 +416,7 @@ } EndFlag = (CBMemPtr[CBMemPtr2]==0); - if (CBBracketed == CB_BRACKET_START) { - CBByte = BracketStart[BracketPtr++]; - if (BracketPtr >= sizeof(BracketStart) - 1) { - CBBracketed = CB_BRACKET_END; - BracketPtr = 0; - } - } - else if (! EndFlag) { + if (! EndFlag) { CBByte = CBMemPtr[CBMemPtr2]; CBMemPtr2++; // Decoding characters which are encoded by MACRO @@ -430,19 +431,6 @@ CBByte = CBByte - 1; // character just after 0x01 } } - else if (CBAddCR) { - EndFlag = FALSE; - CBAddCR = FALSE; - CBByte = 0x0d; - } - else if (CBBracketed == CB_BRACKET_END) { - EndFlag = FALSE; - CBByte = BracketEnd[BracketPtr++]; - if (BracketPtr >= sizeof(BracketEnd) - 1) { - CBBracketed = CB_BRACKET_NONE; - BracketPtr = 0; - } - } else { CBEndPaste(); return; @@ -530,20 +518,12 @@ if (CBMemPtr!=NULL) { GlobalUnlock(CBMemHandle); } - if (CBDDE || CBWIDE) { - GlobalFree(CBMemHandle); - } + GlobalFree(CBMemHandle); } - if (!CBDDE && !CBWIDE) { - CloseClipboard(); - } - CBDDE = FALSE; - CBWIDE = FALSE; CBMemHandle = NULL; CBMemPtr = NULL; CBMemPtr2 = 0; - CBAddCR = FALSE; CBEchoOnly = FALSE; CBInsertDelay = FALSE; } Added: trunk/tests/bracketed-paste-test.rb =================================================================== --- trunk/tests/bracketed-paste-test.rb (rev 0) +++ trunk/tests/bracketed-paste-test.rb 2016-07-15 09:33:36 UTC (rev 6449) @@ -0,0 +1,226 @@ +#!/usr/bin/env ruby +# encoding: ASCII-8BIT + +Encoding.default_external = "ASCII-8BIT" if RUBY_VERSION >= "1.9.0" + +require 'timeout' +require 'kconv' + +def rawio(t=nil, &blk) + saved_mode = nil + open("|stty -g") do |stty| + saved_mode = stty.gets + end + begin + system("stty raw -echo") + if t + return Timeout.timeout(t, &blk) + else + return blk.call + end + ensure + system("stty #{saved_mode}") + end +end + +def check_kcode + begin + rawio(1) do + print "\r\xe6\xa4\xa3\xe6\x8e\xa7\e[6n\e[1K\r" + buff = "" + while c = STDIN.getc + buff << c.chr + if /(\x9c|\x1b\[)(\d+);(\d+)R/ =~ buff + case $3.to_i + when 5 + $out_code = :toutf8 + when 6 + $out_code = :toeuc + when 7 + $out_code = :tosjis + end + break + end + end + end + rescue Timeout::Error + $out_code = nil + end +end + +def msgout(msg) + if $out_code + puts msg.to_s.method($out_code).call + else + puts msg.to_s + end +end + +def getClipboard + begin + return rawio(1) do + rdata = "" + cbnum = "" + + print "\e]52;c;?\e\\" + + while (c = STDIN.getc) + break if c.ord == 3 || c.ord == 4 + rdata << c + if /(\e\]|\x9d)52;([cps0-7]+);/ =~ rdata + cbnum = $2 + break + end + end + + rdata = "" + if (cbnum != "") + while (c = STDIN.getc) + break if c.ord == 3 || c.ord == 4 + rdata << c + if /(\x9c|\x1b\\)/ =~ rdata + return $`.unpack("m")[0] + break + end + end + end + nil + end + rescue Timeout::Error + nil + end +end + +def setClipboard(data) + printf "\e]52;c;#{[data].pack("m").chomp}\e\\" +end + +def getBracketedString + bracket_type = nil + rdata = "" + begin + return rawio(30) do + pdata = nil + + c = STDIN.getc + if c.ord == 3 || c.ord == 4 + return [:interrupt, rdata] + end + rdata << c + + # \xB0\xEC?\xBB\xFA\xA4?\xE2\xCD?\xA4\xE9\xBBĤ\xEA\xA4Υ\xBF\xA5\xA4\xA5?\xA5\xA6\xA5?\xF2 1 \xC9ä\xCB\xCA?\xB9\xA4\xB9\xA4\xEB + Timeout.timeout(1) do + while (c = STDIN.getc) + if c.ord == 3 || c.ord == 4 + return [:interrupt, rdata] + end + rdata << c + if /(?:\e\[|\x9b)20([01])~/ =~ rdata + pdata = $` + bracket_type = $1.to_i + break + end + end + + case bracket_type + when nil + # \xA4\xB3\xA4?\xA4\xA4?\xBA\xA4\xC0\xA4\xB1\xA4\xC9 + return [:interrupt, rdata] + when 0 + nil + when 1 + return [:nostart, pdata] + else + # \xA4\xB3\xA4\xEC\xA4\xE2\xA4?\xA4\xA4?\xBA + return [:invalid, bracket_type] + end + + rdata = "" + while (c = STDIN.getc) + if c.ord == 3 || c.ord == 4 + return [:interrupt, rdata] + end + rdata << c + if /(\e\[|\x9b)201~/ =~ rdata + return [:ok, $`] + end + end + end + [:noend, rdata] + end + rescue Timeout::Error + case bracket_type + when nil + [:timeout, rdata] + when 0 + [:noend, rdata] + when 1 + [:nostart, rdata] + else + return [:invalid, bracket_type] + end + ensure + print "\e[?2004l" + end +end + +def testBracketedPaste(msg, str, enableBracket) + msgout msg + setClipboard str + print "\e[?2004h" if enableBracket + msgout "Ž\xA4\xEA\xC9?\xB1\xC1\xE0\xBA\xEE(\xA5?\xA6\xA5\xB9\xB1\xA6\xA5?\xBF\xA5?\xEA\xA5å\xAF\xA4\xE4Alt+v\xC5\xF9)\xA4\xF2\xB9?ä?\xAF\xA4\xC0\xA4\xB5\xA4\xA4\xA1\xA3" + result, data = getBracketedString + + case result + when :ok + if enableBracket + if str == data + msgout "\xB7\xEB\xB2\xCC: \xA1\xFB" + else + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xC0\xDF\xC4\xEA\xA4?\xFE\xC5\xFA\xA4\xAC\xB0\xEC\xC3?\xB7\xA4?\xBB\xA4?\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + end + else + if str == data + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xC8\xF3?\xB8\xFA\xB2\xBD\xA4?Τ\xCB Bracket \xA4???\xEC\xA4?\xA4\xA4?\xB9\xA1\xA3" + else + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xC8\xF3?\xB8\xFA\xB2\xBD\xA4?Τ\xCB Bracket \xA4???\xEC\xA4?\xA4\xA4?\xB9\xA1\xA3\xC0\xDF\xC4\xEA\xA4?\xFE\xC5\xFA\xA4\xAC\xB0\xEC\xC3?\xB7\xA4?\xBB\xA4?\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + end + end + when :interrupt + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xBD\xE8\xCD\xFD\xA4\xAC\xC3\xE6\xC3?\xB5\xA4\xEC\xA4?\xB7\xA4\xBF\xA1\xA3" + when :invalid + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xB0?\xEF\xA4?\xF5\xC2??\xB9\xA1\xA3" + when :timeout + if enableBracket + if str == data + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xB1\xFE\xC5\xFA\xA4\xAC Bracket \xA4???\xEC\xA4?\xA4\xA4?\xBB\xA4\xF3\xA1\xA3" + else + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xA5\xBF\xA5\xA4\xA5?\xA5\xA6\xA5?\xB7\xA4?\xB7\xA4\xBF\xA1\xA3\xBC\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + end + else + if str == data + msgout "\xB7\xEB\xB2\xCC: \xA1\xFB" + else + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xC0\xDF\xC4\xEA\xA4?\xFE\xC5\xFA\xA4\xAC\xB0\xEC\xC3?\xB7\xA4?\xBB\xA4?\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + end + end + when :nostart + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xB3\xAB\xBB\xCF Bracket \xA4\xAC\xCD\xE8\xA4?\xA4\xA4Τ?\xAAλ Bracket \xA4\xAC\xCD\xE8\xA4?\xB7\xA4\xBF\xA1\xA3\xBC\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + when :noend + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xB3\xAB\xBB\xCF Bracket \xA4\xCF\xCD\xE8\xA4?\xB7\xA4\xBF\xA4\xAC\xBD\xAAλ Bracket \xA4\xAC\xCD\xE8\xA4?\xBB\xA4\xF3\xA4?\xB7\xA4\xBF\xA1\xA3\xBC\xF5\xBF\xAE?\xBB\xFA\xCE\xF3: \"#{data}\"" + else + msgout "\xB7\xEB\xB2\xCC: \xA1\xDF - \xB0?\xEF\xA4?\xF5\xC2??\xB9\xA1\xA3" + end + puts "" +end + +check_kcode +msgout "Bracketed Paste Mode \xA4Υ?\xB9\xA5?\xF2\xB9?\xA4\xA4?\xB9\xA1\xA3" +msgout "\xA1\xD6\xC0\xDF\xC4\xEA\xA1???\xBD\xA4\xCE?\xA4\xCE\xC0\xDF\xC4\xEA\xA1??\xD6\xC0\xA9\xB8楷\xA1\xBC\xA5\xB1\xA5???\xA2\xA4\xEB" +msgout "\xA1?\xEA\xA5?\xA5?\xAB\xA4\xE9\xA4Υ\xAF\xA5\xEA\xA5å??\xBC\xA5?\xA2\xA5\xAF\xA5\xBB\xA5\xB9\xA1?\xF2\xA1?\xF1\xB9\xFE\xA4Τ???\xBF\xA4?\xC8\xC6?\xFE/\xBD\xF1\xB9\xFE\xA1??\xB7\xA4?\xBC\xA4\xB5\xA4\xA4\xA1\xA3" +msgout "\xBD\xE0\xC8\x{1E4B3D}\xD0\xCD?\xA4\xE9\xA5?\xA1\xBC\xA5?\xBC\xA4?\xB7\xA4?\xBC\xA4\xB5\xA4\xA4\xA1\xA3" +STDIN.gets + +testBracketedPaste("\xA5?\xB9\xA5\xC81: \xC4?\xEF", "Bracketed Paste Test", true) +testBracketedPaste("\xA5?\xB9\xA5\xC82: \xB6\xF5?\xBB\xFA\xCE\xF3", "", true) +testBracketedPaste("\xA5?\xB9\xA5\xC83: \xC8\xF3?\xB8\xFA\xB2\xBD", "Non-Bracketed Mode Test", false) Property changes on: trunk/tests/bracketed-paste-test.rb ___________________________________________________________________ Added: svn:executable + * From svnnotify @ sourceforge.jp Fri Jul 15 18:33:31 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 18:33:31 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NDddICDjg7vjg5jjg6vjg5fjg6Hjg4M=?= =?utf-8?b?44K744O844K444KS6Kq/5pW0?= Message-ID: <1468575211.317569.125746.nullmailer@users.sourceforge.jp> Revision: 6447 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6447 Author: doda Date: 2016-07-15 18:33:31 +0900 (Fri, 15 Jul 2016) Log Message: ----------- ・ヘルプメッセージを調整 ・typo fix Modified Paths: -------------- trunk/tests/clipboard-access.rb -------------- next part -------------- Modified: trunk/tests/clipboard-access.rb =================================================================== --- trunk/tests/clipboard-access.rb 2016-07-15 09:33:28 UTC (rev 6446) +++ trunk/tests/clipboard-access.rb 2016-07-15 09:33:31 UTC (rev 6447) @@ -122,7 +122,7 @@ msgout "端末のクリップボードアクセスのテストを行います。" msgout "「設定」⇒「その他の設定」⇒「制御シーケンス」にある" msgout "「リモートからのクリップボードアクセス」を“読込/書込”にして下さい。" - msgout "準備が出来たらリターンキーをおして下さい。" + msgout "準備が出来たらリターンキーを押して下さい。" STDIN.gets rwClipboard "Clipboard Test" @@ -145,7 +145,7 @@ else check_kcode msgout "使い方: #$0 [ --set | --get | --test ] [ パラメータ ]" - msgout " --set パラメータに指定した文字列をクリップボードに設定する" - msgout " --get クリップボードの内容を取得する" - msgout " --test 端末のクリップボードアクセス機能のテストを行う" + msgout " --set パラメータに指定した文字列をクリップボードに設定する" + msgout " --get クリップボードの内容を取得する" + msgout " --test 端末のクリップボードアクセス機能のテストを行う" end From svnnotify @ sourceforge.jp Fri Jul 15 22:45:43 2016 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 15 Jul 2016 22:45:43 +0900 Subject: [Ttssh2-commit] =?utf-8?b?WzY0NTBdICDoi7HoqLPjgII=?= Message-ID: <1468590343.157579.101232.nullmailer@users.sourceforge.jp> Revision: 6450 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6450 Author: yutakapon Date: 2016-07-15 22:45:42 +0900 (Fri, 15 Jul 2016) Log Message: ----------- 英訳。 Modified Paths: -------------- trunk/doc/en/html/about/history.html -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2016-07-15 09:33:36 UTC (rev 6449) +++ trunk/doc/en/html/about/history.html 2016-07-15 13:45:42 UTC (rev 6450) @@ -52,8 +52,8 @@
                        • Tera Term(ttermpro.exe) can not run on Windows 95/98/Me/NT4.0.
                        • When the clipboard is read from remote host, unnecessary NUL character is added at the end of the string.
                        • - - +
                        • When the clipboard is written from remote host, empty string can not be set.
                        • +
                        • When the clipboard is empty string and Bracketed Paste Mode is enabled, final Bracket is only sent by pasting.
                        • MACRO: When invalid regular expression is specified at the strreplace command, source string is corrupted.