5 Changes since tio v1.41:
11 * Handle malloc failure
15 * Add missing 'string.h' include.
19 Changes since tio v1.40:
21 * Rename --hex-mode to --hexadecimal
23 * Enable buffered writing
25 Read block of bytes from input and process same block for output. This
26 will speed things up by reducing I/O overhead.
28 * Enable buffered reading
30 Read block of bytes from input and process byte by byte for output. This
31 will speed things up by reducing I/O overhead.
35 * Cleanup stdout flushing
37 Flushing is not needed since we disabled buffering of stdout.
39 * Simplify stdout_configure() code
41 * Simplify stdin_configure() code
49 Changes since tio v1.39:
51 * Add config support for log-strip
53 * Add config support for hex-mode
55 * Rename --hex to --hex-mode
57 * Fix completion for -e, --local-echo
59 * Ignore newlines in hex output
61 * Fix newline in warning_printf()
63 * Fix ansi_printf_raw() in no color mode
65 * Enter non-interactive mode when piping to tio
67 Add support for a non interactive mode which allows other application to
68 pipe data to tio which then forwards the data to the connected serial
71 Non ineractive means that tio does not react to interactive key commands
72 in the incoming stream. This allows users to pipe binary data directly
73 to the connected serial device.
77 $ cat commands.txt | tio /dev/ttyUSB0
79 * Also strip backspace from log
81 To make log strip feature consistent so that we remove all unprintable
82 control characters and escape sequences.
88 * Rename --log-filename to --log-file
92 * Allow strip escape sequence characters from log file
94 The log without escape key stripped is like:
97 ^M[12:47:17] ACRN:\>lasdfjklsdjf
99 ^M[12:47:18] Error: Invalid command.
102 ^M[12:47:26] ACRN:\>sdafkljsdkaljfklsadjflksdjafjsda^H ^H^H...
104 ^M[12:47:31] Error: Invalid command.
106 After strip escape key, the log is like:
112 [12:49:19] Error: Invalid command.
114 [12:49:19] ACRN:\>dfaslhj
116 [12:49:24] Error: Invalid command.
118 Beside escape key, it also handle backspace key as well.
122 Changes since tio v1.38:
124 * Improve key command response for local echo and timestamp
126 * Fix invalid hex character error message
128 * Make sure only matched config section is parsed
130 * Add support for "disable" keyword in config file
132 * Unify error message formating
134 * Cleanup list devices code
136 * Fix command-line tty-device|config parsing
138 Allow user to add options on both sides of the provided config argument.
142 $ tio -b 9600 am64-evm -e
144 Before, tio only allowed adding arguments after the config argument.
146 Implemented as simple as possible by introducing two stage option parsing.
148 * Update bash completion
150 * Add support for IPv4 and IPv6 network sockets
152 Add support for IPv4 and IPv6 network sockets via socket syntax
153 "inet:<port>" and "inet6:<port>" respectively.
155 For example, to listen and redirect serial device I/O to a host bound
156 IPv4 socket simply do:
158 $ tio /dev/ttyUSB0 --socket inet:4444
164 Likewise, for IPv6 do:
166 $ tio /dev/ttyUSB0 --socket inet6:4444
172 If port is 0 or no port is provided default port 3333 is used.
174 * Fix tio deleting unix socket file
176 If tio has a unix file socket open, a second tio instance of tio may
177 delete the socket file. This change fixes so that it will not be deleted
178 and tio will instead error and complain about conflicting socket file.
180 * Rework color option
182 Rework the color option to support setting ANSI color code values
183 ranging from 0..255 or "none" for no color or "list" to print a list of
184 available ANSI colors codes.
186 Also, disables color when piping.
188 * Remove print of hex mode status at startup
190 * Remove newline option in hex mode
192 * Fix configfile memory leaks
194 * Remove command-line option inconsistencies
196 Optional arguments, as parsed by the getopt_long mechanism, are
197 inherently inconsistent with how you define required arguments.
199 To avoid confusion we decide to avoid this inconsistency by replacing
200 optional options with additional options with required argmuments.
202 * Replace '1' with 'enable' in config files
204 * Convert errors to warnings
208 * Extended hexadecimal mode.
210 While in hex mode (ctrl-t h) you can output hexadecimal values.
211 E.g.: to send 0x0A you have to type 0A (always 2 characters).
213 Added option -x, --hex to start in hexadecimal mode.
215 Added option --newline-in-hex to interpret newline characters in hex mode.
216 This is disabled by default, because, in my opinion, hex stream is
217 fundamentally different from text, so a "new line" is meaningless in this
222 Changes since tio v1.37:
224 * Redirect error messages to stderr
226 * Improve help and man page
228 * Mention config file in --help
230 * Fix running without config file
232 * Fix config file error messages
234 * Redirect error messages to stderr
236 * Add repology packaging status
238 * Fix parsing of default settings
240 Default configuration file settings were not parsed in case a section
241 was matched. Now we make sure that the default (unnamed) settings are
244 * Append to existing log file (no truncation)
246 * Add socket info to show configuration
248 * Print socket info at startup
250 * Fix socket option parsing
254 * Match user input against config section names if pattern matching was unsuccessful.
256 This allows for better config file ergonomics if the user has a diverse
257 set of serial devices as the name does not need to be specified in
258 the config file twice.
260 * Add support for external control via a Unix domain socket.
262 This feature allows an external program to inject output into and
263 listen to input from a serial port via a Unix domain socket (path
264 specified via the -S/--socket command line flag, or the socket
265 config file option) while tio is running. This is useful for ad-hoc
266 scripting of serial port interactions while still permitting manual
267 control. Since many serial devices (at least on Linux) get confused
268 when opened by multiple processes, and most commands do not know
269 how to correctly open a serial device, this allows a more convenient
270 usage model than directly writing to the device node from an external
273 Any input from clients connected to the socket is sent on the serial
274 port as if entered at the terminal where tio is running (except that
275 ctrl-t sequences are not recognized), and any input from the serial
276 port is multiplexed to the terminal and all connected clients.
278 Sockets remain open while the serial port is disconnected, and writes
281 Example usage 1 (issue a command):
283 echo command | nc -UN /path/to/socket > /dev/null
285 Example usage 2 (use the expect command to script an interaction):
292 spawn nc -UN /path/to/socket
295 send -i $uart "command1\n"
296 expect -i $uart "prompt> "
297 send -i $uart "command2\n"
298 expect -i $uart "prompt> "
302 * fix for using option 'log' without 'log-filename' in config file
306 Changes since tio v1.36:
308 * Make libinih a fallback dependency
310 This means that in case meson does not find libinih it will
311 automatically clone libinih and include it in the build.
313 The libinih library is reconfigured to be statically built so that no
314 shared object will be installed.
318 * Fix timestamp parsing in INI conf
320 * Factorize timestamp parsing to be coherent with command line format in configuration file.
324 Changes since tio v1.35:
326 * Add support for defaults in config file
328 If no section name is specified the configuration will be considered the
331 This allows to set e.g. a default color code for sections which do not
332 configure a color code.
336 Handle SIGHUP so that the registered exit handlers are called to restore
337 the terminal back to its orignal state.
339 * Add color configuration support
341 * Bypass unused result warnings
343 * Force dependency on libinih
345 Configuration file support is considered a mandatory feature.
353 * Move string_to_long() to misc.c
355 * Update CircleCI config
361 * Update LICENSE date
363 * Remove redundant COPYING file
367 * Document configuration file options
369 * Add support for a configuration file
371 * misc: add _unused macro
373 Some parameters are expected to be unused.
374 Add a basic macro to mute these compiler warnings.
376 * options: expose string_to_long()
378 Expose string_to_long() so that other source files can use it.
382 Changes since tio v1.34:
384 * Add support for automatically generated log filename
386 Automatically generate log filename if none is provided.
388 The auto generated file name is on the form:
389 "tio_DEVICE_YYYY-MM-DDTHH:MM:SS.log"
391 * Add support for configurable timestamp format
393 Also changes default timestamp format from ISO8601 to classic 24-hour
394 format as this is assumed to be the format that most users would prefer.
396 And reintroduces strict but optional ISO8601 format.
398 This feature allows to easily add more timestamp formats in the future.
400 * Reintroduce asm-generic/ioctls.h
402 It is needed for ppc builds.
404 * Add macro hack to workaround older buggy glibc
408 * Add support for high bps on OS X
412 Changes since tio v1.33:
414 * Fix setspeed2 compilation
416 * Only apply color formatting when using color option
418 To help the color blind who may use custom terminal foreground /
423 * Add '-c, --color' option
425 Allow user to select which ANSI color code to use to colorize the tio
426 text. To successfully set the color the color code must be in the range
429 If color code is negative tio will print all available ANSI colors.
431 The default color is changed to bold white to make tio defaults usable
432 for most users, including color blind users.
434 * Fix setspeed2 check
436 * Fix meson header check string
438 * Reintroduce long timestamp format
440 But make the timestamp format RFC3339 compliant instead. The RFC states:
442 NOTE: ISO 8601 defines date and time separated by "T".
443 Applications using this syntax may choose, for the sake of
444 readability, to specify a full-date and full-time separated by
445 (say) a space character.
447 This way we keep the information specified by ISO 8601 but make it more
448 human readable which is better for the console output.
450 * Update version year
454 * Fix TTY device listing on Darwin. (#136)
456 * Fix TCGETS2 search on Darwin.
460 Changes since tio v1.32:
462 * Show auto connect status in show configuration
464 * Use '#pragma once' in all headers
466 * Improve printed output
468 Get rid of inconsistencies in the printed output (error printing,
471 Prepare for user configurable color.
473 * Rename option -i to -L
477 * Shorten timestamp description
479 We do not need the date part of the timestamp. It simply takes up too
480 much precious line space. In case of logging to file, one can easily
481 conclude the date from the file date information.
483 * Replace Travis with circleCI
485 * Replace autotools with meson
487 To introduce much simpler build configuration which is also easier to
490 * Add list serial devices feature
492 For convenience, add a --list-devices option which lists the available
495 * Cleanup: Use dot notation for default options struct
499 * Add command to show version
501 The key sequence ctrl-t v will now show the version of tio.
503 * Align format of timestamps
505 * Add Sylvain as official co-maintainer
509 * Add '-t' option description for time stamping.
511 * Add description for time stamping.
513 * Resolved tio/tio#84: Added timestamps in log file if enabled.
517 * Refine timestamps with milliseconds and ISO-8601 format (#129).
519 * Show milliseconds too in the timestamp (#114) and log file (#124)
520 * Change timestamp format to ISO-8601.
524 * Output newline on stdout with hex print mode
526 This is to fix the issue #104. The timestamp will always be
527 printed at the beginning of line:
529 [10:25:56] Switched to hexadecimal mode
530 0d 0a 0d [10:25:57] 41 43 52 4e 3a 5c 3e 0d 0a 0d [10:25:58] 41
534 [12:34:56] 45 72 72 6f 72 3a 20 49 6e 76 61 6c 69 64 20
535 [12:34:56] 41 43 52 4e 3a 5c 3e
536 [12:34:56] 41 43 52 4e 3a 5c 3e
537 [12:34:57] 41 43 52 4e 3a 5c 3e 6c 73
541 * Make comparison POSIX compliant
543 String comparison with == is not POSIX compliant and can fail with e.g.
546 Henrik Brix Andersen:
548 * Add bash completion of tty devices.
550 * Add -t/--timestamp to bash completion script.
554 * Local echo: show character by character even if stdout buffered.
558 * Show error when failing to open a tty
562 * Fix out of tree builds
564 Out of tree builds are currently broken because $(top_srcdir)src/include
565 is not in the search path. In tree builds are working because autconf add
566 $(top_builddir)/src/include to the search path for the generated config.h.
567 As $(top_builddir) and $(top_srcdir) are identical during in tree builds
568 the search path still end up beeing somehow correct.
570 To fix this add -I$(srcdir)/include to the CPPFLAGS in Makefile.am.
574 * src/setspeed2.c: fix redefinition of termio
576 Include ioctls.h and termbits.h from asm-generic instead of asm to avoid
581 * Exit if output speed cannot be set.
583 Lars Kellogg-Stedman:
585 * fflush() after putchar() for print_hex and print_normal
587 In order for local echo to work properly, we have to either call
588 fflush(stdout) after every character or just disable line buffering.
589 This change calls fflush() after putchar().
591 * Disable line buffering in stdout
593 In order for local echo to work properly, we have to either call
594 fflush(stdout) after every character or just disable line buffering.
595 This change uses setbuf(stdout, NULL) to do the latter.
599 * dont show line state if ioctl failed
601 * add serial lines manual control
605 * Flush every local echo char
607 Flush stdout at every char in case it
608 happens to be buffered.
612 * Newline: handle booth NL and CR
614 Flag ONLCRNL expects code \n after press Enter, but on some systems \r is send instead.
618 Changes since tio v1.31:
622 * Minor code style cleanups
624 * Cleanup print macros
628 Make sure output is transmitted immediately by flushing the output.
632 * add optional timestamps
634 with "-t" or "C-t T", toggle a timestamp prefix to each line.
642 * Added macOS compatibility
644 * Made O_NONBLOCK flag to open() call specific to macOS only.
646 * Added macOS-related details.
648 * Added O_NONBLOCK flag to open() call for macOS (10.13.6) compatibility.
652 Changes since tio v1.30:
660 * Clarify the input/output variable names (No-op change)
662 * Organize options the same sequence they are mentioned in cmdline help.
666 * Map CR->NL locally on output instead of using tio.c_oflag |= OCRNL.
668 This mostly is intended to have local echo output exactly what is sent
669 to the remote endpoint.
670 A nice side-effect is, that it also fixes tty-implementations, that can't
671 deal with the OCRNL flag on tio.c_oflag.
673 * Provide local-echo option.
675 Can be switched on with -e on the command line.
676 Can be toggled with Ctrl t e while program is running.
678 * Write to logfile as soon as we have the data, don't buffer.
680 Logfiles are important to see what happened, in particular if something
681 unexpected happened; so we want to make sure that the logfile is flushed
684 Before this change, the logfile was typically written at the end in
685 a large chunk as the default (large) buffering applied. Now, characters are
686 written out ASAP, so it is possible to get a live-view with a
691 Changes since tio v1.29:
695 * Update man page and bash completion
701 * ONLCRNL: change the method to map NL to CR-NL
705 Changes since tio v1.28:
707 * Add mapping flags INLCRNL and ODELBS
709 The following new mapping flags are added:
711 INLCRNL: Map NL to CR-NL on input.
712 ODELBS: Map DEL to BS on output.
714 Flags requested and tested by Jan Ciger (janoc).
718 Changes since tio v1.27:
724 * Add snap status to README.md
726 * Add README.md to prettify GitHub page
732 * Add missing header file under musl-libc
734 Musl's inclusion tree slightly differs from glibc, therefore TCGETS2 is
735 not reachable through sys/ioctl.h, so asm/ioctls.h needs to be included
740 * Fix grammar and typos
744 Changes since tio v1.26:
748 * Add support for setting non-standard baudrates
750 Support for non-standard baudrate settings will be automatically enabled
751 if the termios2 interface is detected available. However, to play it
752 safe, the old and widely supported termios interface will still be used
753 when setting standard baudrates.
761 Changes since tio v1.25:
765 Make stdin behave more raw'ish. In particular, don't
766 translate CR -> NL on input.
768 * Add special character map feature
770 Add a --map option which allows mapping special characters, in particular CR and
771 NL characters which are used in various combinations on various platforms.
785 Changes since tio v1.24:
787 * Fix error applying new stdout settings
789 On Fedora 26 tio will quit with the following error message:
791 "Error: Could not apply new stdout settings (Invalid argument)"
793 In case of Fedora, it turns out that the new stdout settings used are a
794 bit too aggressive because an empty termios structure is used. To remedy
795 this we reuse the existing stdout settings and only reconfigure the
796 specific options we need to make a "raw" stdout configuration.
798 * Remove unused pkgconfig in configure
802 Remove unused variable.
806 Changes since tio v1.23:
808 * Optimize clear screen command
810 Replaced system call with inline ANSI/VT100 clear screen code sequence
812 * Fix bash completion installation
814 Fixed the configure script to avoid that the bash completion script gets
815 installed outside of the prefix location. The default install location
816 is now $prefix/share/bash-completion/completions.
818 Use the configure option '--with-bash-completion-dir=PATH' if you need
819 to install the bash completion script elsewhere.
823 * Add missing commas in conditional sentences
827 Changes since tio v1.22:
829 * Update copyright headers
837 Changes since tio v1.21:
839 * Update man page date
841 * Update copyright year
845 * Update README and man page
849 Changes since tio v1.20:
851 * Add support for hexadecimal mode
853 A new key command 'ctrl-t h' is introduced which toggles between
854 hexadecimal mode and normal mode. When in hexadecimal mode data received
855 will be printed in hexadecimal.
857 * Do not distribute src/bash_completion/tio
859 Since the bash completion tio script is now autogenerated from tio.in it
860 should not be distributed in the tarball.
862 * Add missing forward flag
864 * Update AUTHORS file
868 * 'ctrl-t b' to send serial break.
872 * Removed git commit references from ChangeLog
874 ChangeLog is primary useful for users who don't have the git repository
877 Replace git commit references with version numbers; or if the change
878 only cleans up another change with no release in between, remove the
879 changelog item completely.
883 Changes since tio v1.19:
885 * Added more error handling of terminal calls
887 Also removed duplicate terminal flushing calls.
889 * Revert "Added support for non-standard baud rates"
891 This reverts a change made in v1.18.
893 Reverting because supporting non-standard or arbitrary baud rates is
894 troublesome because the c library provides no means of doing so and even
895 if bare metal linux kernel interface is used it will not work on all
896 Linux kernels version.
900 Changes since tio v1.18:
902 * Rearranged key commands
904 Rearranged the key commands:
906 ctrl-t c (clear screen) is now
907 ctrl-t l which is similar to the well known shell ctrl-l
909 ctrl-t i (show settings information) is now
910 ctrl-t c (show configuration)
912 Updated man page accordingly.
914 * Added "ctrl-t c" key command to clear screen
918 Changes since tio v1.17:
922 * Added support for non-standard baud rates
924 Only enabled when possible, that is, when the BOTHER definition is
927 It is untested but it should work as described here:
928 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683826
930 Some Cypress USB<->serial devices supposedly supports arbitrary speeds.
932 * Generate baudrate switch cases based on detection
934 Support a single source of baud rate configuration as discussed in
935 https://github.com/tio/tio/issues/45 .
937 To do so, autogeneration of the switch cases which do the baud rate
938 option value check and configuration/conversion in tty_configure() is
939 introduced via a single macro.
941 Just to be safe, this change also enables configure detection of all
942 baud rates, including the ones previously assumed supported by most/all
947 * Exit when not a tty device in autoconnect mode
951 * Added non-standard baud rates that are defined on FreeBSD
953 * Capitalized "GitHub" in README
957 Changes since tio v1.16:
959 * Compacted tty_configure() a bit
961 * Fixed automatic baud rate enablement
965 * Added autodetection of available baud rates
967 Various platforms support different baud rates.
969 To avoid adding platform specific handling generic baud rate detection
970 tests are introduced in the configure script. Successfully detected baud
971 rates are automatically enabled. This applies to both the C code and the
972 bash completion script.
975 Baud rates below 57600 are defined by POSIX-1 and supported by most
976 platforms so only baud rate 57600 and above are tested.
978 * Updated bash-completion
980 * Fixed printf() format type
982 * Added Travis build configuration
986 * Generated bash completion at configure time
988 * Reduce code duplication in baud rate detection
990 * Add support for baud rates 200 and 1800
992 * Fixed baudrate type
996 Changes since tio v1.15:
1002 * Removed obsolete packaging files
1004 * Removed use of deprecated bzero()
1008 Changes since tio v1.14:
1010 * Removed + to remove potential confusion
1012 * Added input digit checks
1014 * Fixed license string
1016 * Introduced tty_configure()
1018 Moved tty configuration actions to tty_configure() in tty.c. This way
1019 options.c is strictly about parsing options nothing else.
1021 * Function names cleanup
1023 * Updated AUTHORS file
1025 Added Nick who created the new tio package for Arch Linux.
1027 * Fixed tx/rx counters type
1031 * Include config.h before standard headers
1033 Large file support was meant to be enabled in v1.11.
1034 This change enables it for real.
1038 Changes since tio v1.13:
1040 * Fixed tio_printf macro
1042 * Fixed launch hints
1044 Fixed launch hints not being printed in no autoconnect mode.
1046 * Added 'ctrl-t ?' to list available commands
1048 * Fixed log mechanism
1050 To avoid echoing only log what is received from tty device.
1052 * Improved tio output
1054 Added titles and indentation to commands output for clearer separation
1055 when firing commands repeatedly.
1057 Also added print of tio version and quit command hint at launch.
1059 * Cleaned up tio print mechanism
1065 "allow" is a transitive verb, which requires an object,
1066 so "allow to <verb>" is ungrammatical.
1072 Changes since tio v1.12:
1074 * Fixed some error prints
1076 * Fixed error printing for no autoconnect mode
1078 Always print errors but only print silent errors when in no autoconnect
1081 * Added key command for showing session settings
1083 A new key command "ctrl-t i" is added to allow the user to display the
1084 various session settings information (baudrate, databits, log file, etc.).
1086 This is useful in case you have a running session but have forgotten
1087 what the settings are.
1091 Changes since tio v1.11:
1093 * Consolidated command key handling
1095 * Moved delay mechanism into separate function
1097 * Retired obsolete usleep()
1099 Replaced with nanosleep()
1101 * Added simple tx/rx statistics command (ctrl-t s)
1103 To display the total number of bytes transmitted/received simply perform the
1104 'ctrl-t s' command sequence.
1106 This feature can be useful when eg. trying to detect non-printable
1109 * Further simplification of key handling
1111 Changed so that the "ctrl-t ctrl-t" sequence is now simply "ctrl-t t" to
1112 send the ctrl-t key code. This is inspired by screen which does similar
1113 to send its command key code (ctrl-a a).
1115 This change also eases adding new key commands if needed.
1117 Updated man page accordingly.
1119 * Cleaned up and simplified key handling
1123 * Insert output delay only if something was output
1127 Changes since tio v1.10:
1129 * Enabled large file support (LFS)
1131 Added autotools AC_SYS_LARGEFILE to support 64 bit file size handling.
1137 Changes since tio v1.9:
1139 * Introduced lock on device file
1141 Tio will now test for and obtain an advisory lock on the tty device file
1142 to prevent starting multiple sessions on the same tty device.
1148 * Treat EOF on stdin as error
1152 Changes since tio v1.8:
1154 * Cleanup of error handling
1156 Introduced consistent way of handling errors and printing error messages.
1158 Also upgraded some warnings to errors.
1160 * Updated localtime() error message
1166 * Fix error handling for select()
1168 Previously the error handling code for select() was unreachable.
1170 * Removed unneeded quotes from AM_CFLAGS
1174 * Fixed setting "tainted"
1176 Set "tainted" if and only if any character was read from the device.
1178 Ctrl-t is no longer sent to the device on exit, so the trick to avoid
1179 its echo is not necessary.
1181 Characters read from stdin don't directly affect output, so they
1182 shouldn't enable "tainted".
1184 * Used \r in color_printf()
1186 \033[300D is an unusual way to move the cursor back to column 1.
1187 Use straightforward \r instead.
1189 * Added missing \r\n to warning messages
1191 \n alone is not enough, because the terminal is in raw mode.
1195 Changes since tio v1.7:
1197 * Fixed enablement of compiler warnings
1199 * Fixed log_open() prototype
1201 * Fixed index error wrt ctrl-t detection
1203 * Fixed handling of ctrl-t
1205 Before, when exercising the quit key sequence (ctrl-t + q) the ctrl-t code
1206 (0x14) would be sent.
1208 This is now fixed so that it is not sent.
1210 However, in case it is needed to send ctrl-t to the device it is possible by
1211 simply repeating the ctrl-t.
1213 Meaning, ctrl-t + ctrl-t = ctrl-t sent to device.
1215 * Improved error handling
1217 Fixes a memory leak and avoids aggressive busy looping when problems
1218 accessing tty device.
1220 * Removed redundant log_close() call
1222 * Enabled compiler warnings
1226 * Stopped copying arguments to fixed-size buffers
1228 Don't needlessly copy command-line arguments into fixed-size buffers.
1230 Previously the program crashed if an overlong pathname was provided on
1231 the command line. Also, some systems (such as GNU Hurd) don't define
1234 * Added const to log_open() prototype
1236 * Completed the ^g to ^t transition
1238 In v1.7 the escape key was changed from ^g to ^t, but some
1239 code and comments still referred to the old key.
1241 * Used HTTPS for tio.github.io
1243 * Man page beautification
1245 * Bumped date in man page
1247 * Improve man page formatting
1249 Use regular font for metacharacters such as "[]", "," or "|";
1250 use italic font for metavariables.
1252 * Fixed hyphen vs minus vs em-dash confusion in man page
1255 \- prints as minus sign;
1256 \em prints as em-dash.
1260 Changes since tio v1.6:
1262 * Changed escape key from ^g to ^t
1264 After renaming to "tio" it makes sense to change the escape key
1265 accordingly. Hence, the new escape key is ^t.
1267 Meaning, in session, its now ctrl-t + q to quit.
1271 * Fixed silly "tio or tio" in man page