Fix some things
Prevent `ESC LF` from performing the newline. Only recognise `, ~`, not `,` anything. Document BEL and the ignored sequences.
This commit is contained in:
parent
1754f68ac9
commit
523c478d67
8
ANSI.c
8
ANSI.c
@ -152,7 +152,7 @@
|
|||||||
remove wcstok, avoiding potential interference with the host;
|
remove wcstok, avoiding potential interference with the host;
|
||||||
similarly, use a private heap instead of malloc.
|
similarly, use a private heap instead of malloc.
|
||||||
|
|
||||||
v1.80, 26 October to 29 November, 2017:
|
v1.80, 26 October to 30 November, 2017:
|
||||||
fix unloading;
|
fix unloading;
|
||||||
revert back to (re)storing buffer cursor position;
|
revert back to (re)storing buffer cursor position;
|
||||||
increase cache to five handles;
|
increase cache to five handles;
|
||||||
@ -1482,7 +1482,7 @@ ParseAndPrintString( HANDLE hDev,
|
|||||||
{
|
{
|
||||||
FlushBuffer();
|
FlushBuffer();
|
||||||
pState->crm = TRUE;
|
pState->crm = TRUE;
|
||||||
PushBuffer( (WCHAR)c );
|
ChBuffer[nCharInBuffer++] = c; // skip newline handling
|
||||||
FlushBuffer();
|
FlushBuffer();
|
||||||
pState->crm = FALSE;
|
pState->crm = FALSE;
|
||||||
state = 1;
|
state = 1;
|
||||||
@ -1543,7 +1543,7 @@ ParseAndPrintString( HANDLE hDev,
|
|||||||
{
|
{
|
||||||
suffix2 = c;
|
suffix2 = c;
|
||||||
}
|
}
|
||||||
else if (suffix2 != 0 && suffix2 != ',' && suffix2 != '+')
|
else if (suffix2 != 0 && suffix2 != '+' && (suffix2 != ',' || c != '~'))
|
||||||
{
|
{
|
||||||
state = 1;
|
state = 1;
|
||||||
}
|
}
|
||||||
@ -1576,7 +1576,7 @@ ParseAndPrintString( HANDLE hDev,
|
|||||||
{
|
{
|
||||||
suffix2 = c;
|
suffix2 = c;
|
||||||
}
|
}
|
||||||
else if (suffix2 != 0 && suffix2 != ',' && suffix2 != '+')
|
else if (suffix2 != 0 && suffix2 != '+' && (suffix2 != ',' || c != '~'))
|
||||||
{
|
{
|
||||||
state = 1;
|
state = 1;
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
write newline with _putws, not putwchar (fixes redirecting to CON).
|
write newline with _putws, not putwchar (fixes redirecting to CON).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PDATE L"29 November, 2017"
|
#define PDATE L"30 November, 2017"
|
||||||
|
|
||||||
#include "ansicon.h"
|
#include "ansicon.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
@ -157,6 +157,7 @@ Sequences Recognised
|
|||||||
\e[21t xterm: Report window's title
|
\e[21t xterm: Report window's title
|
||||||
\e[s ANSI.SYS: Save Cursor Position
|
\e[s ANSI.SYS: Save Cursor Position
|
||||||
\e[u ANSI.SYS: Restore Cursor Position
|
\e[u ANSI.SYS: Restore Cursor Position
|
||||||
|
BEL BEL Bell
|
||||||
\e[#Z CBT Cursor Backward Tabulation
|
\e[#Z CBT Cursor Backward Tabulation
|
||||||
\e[#G CHA Cursor Character Absolute
|
\e[#G CHA Cursor Character Absolute
|
||||||
\e[#I CHT Cursor Forward Tabulation
|
\e[#I CHT Cursor Forward Tabulation
|
||||||
@ -301,7 +302,7 @@ Version History
|
|||||||
|
|
||||||
Legend: + added, - bug-fixed, * changed.
|
Legend: + added, - bug-fixed, * changed.
|
||||||
|
|
||||||
1.80 - 29 November, 2017:
|
1.80 - 30 November, 2017:
|
||||||
- fix unloading;
|
- fix unloading;
|
||||||
- fix -e et al when redirecting to CON;
|
- fix -e et al when redirecting to CON;
|
||||||
- hook CreateFile and CreateConsoleScreenBuffer to force read/write access
|
- hook CreateFile and CreateConsoleScreenBuffer to force read/write access
|
||||||
@ -544,4 +545,4 @@ Distribution
|
|||||||
|
|
||||||
|
|
||||||
=============================
|
=============================
|
||||||
Jason Hood, 29 November, 2017.
|
Jason Hood, 30 November, 2017.
|
||||||
|
@ -6,7 +6,8 @@ This is a complete list of the ANSI escape sequences recognised by ANSICON,
|
|||||||
roughly ordered by function. The initial escape character is assumed. The
|
roughly ordered by function. The initial escape character is assumed. The
|
||||||
display consists of the buffer width and window height; add '+' before the
|
display consists of the buffer width and window height; add '+' before the
|
||||||
final character to use the buffer height (e.g. "[2J" will erase the window,
|
final character to use the buffer height (e.g. "[2J" will erase the window,
|
||||||
whilst "[2+J" will erase the buffer).
|
whilst "[2+J" will erase the buffer). BEL will also be recognised, playing
|
||||||
|
the Windows default beep (but only if it's not already playing).
|
||||||
|
|
||||||
|
|
||||||
[m restore default color (and intensity)
|
[m restore default color (and intensity)
|
||||||
@ -160,3 +161,11 @@ whilst "[2+J" will erase the buffer).
|
|||||||
6 F5 698 15 D6 1174 24 B6 1976
|
6 F5 698 15 D6 1174 24 B6 1976
|
||||||
7 F#5/Gb5 740 16 D#6/Eb6 1244 25 C7 2094
|
7 F#5/Gb5 740 16 D#6/Eb6 1244 25 C7 2094
|
||||||
8 G5 784 17 E6 1318
|
8 G5 784 17 E6 1318
|
||||||
|
|
||||||
|
P...ST ignored (Device Control String)
|
||||||
|
X...ST ignored (Start Of String)
|
||||||
|
^...ST ignored (Privacy Message)
|
||||||
|
_...ST ignored (Application Program Command)
|
||||||
|
|
||||||
|
Any of space and !"#$%&'()*+,-./, possibly repeated, followed by anything else,
|
||||||
|
will be ignored.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user