  - double check packet patch code, gagging patched line? Echo command?

  - look into large variable handling, foreach, once again


  - output from the other session remains in the input line of the new session sometimes.

  - dev/test/mouse/windowmap.tin has issues with ; in chat window
    caused by %w in format, add SUB_BRA to just substitute braces.

  - #echo {%g} {10684.3609}

----------------

  - backspace rewrites the input line, which can confuse screen readers.

  - precision is poorly handled in #math (sprintf(temp, "%.12Lf", value);) needs to be improved.

  - Add #event {SESSION CONNECTED} {5.1} option.

  - allow using #snoop to print to the foreground in provided square?

  - #split 0 1;#screen inputregion -2 1 -2 -1;#showme bug -1

  - look into using $HOME/.config/tintin
  - look into checking XDG: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

  - Display directory on failed #read.

  - Add the option to use + ? . and * as variable exit fields. 

  - TT++ HANDBOOK for meticulous organized details.

  - improve #draw bar.▪▪ ◼◼ ■■ ◆◆ ▬▬ ●● ⣿⣿⣿⣷
    dual bar using reverse color and ██ ▀▀ ▄▄
    128 bit flags
    text inside bar.    

  - store creation epoch in arg4 for #tick, add example script to display.

  - get rid of SORT_DELAY due to one shot code.

  - add #path load option to #path create

  - double check script crashes on screen resize

  - Add catch events for SIGUSR1 and SIGUSR2
  - See about turning window close into a program termination event.

  - check out hibbmap.dat in dev/test, mudlet to tt++ conversion

  - add #history filter option to filter out 1 letter commands.

  - no longer works?

          #event {SESSION ACTIVATED} {
                #BUFFER end;
                };

  - Possible crash with launching 2 sessions reading a large variable.

  - https://tintin.sourceforge.io/forum/viewtopic.php?f=3&t=2818 (likely a
    telnet compatibility issue)

  - https://tintin.sourceforge.io/forum/viewtopic.php?f=10&t=2811 (possible
    issue with iniating input buffer for a new session, possibly prompt
    related somehow)

  - possible issue with sessions randomly getting activated.

  - possible wordwrapping on raw string length instead of stripped length
    in some edge case.

  - Look into WSL sound handling

  - CP949.TXT full table support

  - Look into escaped color code handling in zmp, possibly msdp

  - See about making @$var{} work. Maybe allow @{$var}{}

  - finish BUFFER_SIZE replacement.

  - WSL faq: #system cmd.exe /c start notepad

  - update msdp scripts with #line msdp feature

  - refresh input on session switch

  - swap arg1, arg2, arg for do_port

  - https://tintin.sourceforge.io/forum/viewtopic.php?f=5&t=2776
    Need special casing for non capturing {?!} regex handling.

  - #cursor get word option, maybe get the yank buffer as well.

  - Look into config option to change the working directory

  - Add a way to set env variables either 1) for the current process, and/or 2) as a parameter to #system (i.e. after fork in the child process).

  - Add #info input, mainly to save the cursor position

* STUFF THAT IS PROBABLY GONNA GET DONE

  - #path get position saves as 1 if no path is loaded. 

  - Finish port proxy support: resizing, input, security

  - look into transparent drawing

  - if error pcre.h, need export C_INCLUDE_PATH= where it locate

  - The #else command could follow a #foreach so as to create "for-else" loops
    in case a loop is not broken.

  - Add #line gag 2 +2 -2 support.

  - Work on VT2020 protocol (mouse click)

  - $var[%*][%*] support.
  - make list sorting move nests as well

  - #line convert utf-8 support.

  - better #draw font support

  - case insensitive tabbing (partial start with rewrite)
  - tabbing on directory structure.
  - tabbing on dictionary

#0  0x00005555555a5418 in tunnel_void (ses=0x555558a97b00, from=8004, room=1931506785, dir=1684955508) at mapper.c:4220
#1  0x00005555555a599d in searchgrid_find (ses=0x555558a97b00, from=153, search=0x555558d8f850) at mapper.c:4336
#2  0x00005555555afb44 in map_list (ses=0x555558a97b00, arg=0x5555572e1b95 "{} {} {} {$roomarea} {variable} {area_mapped}",
    arg1=0x555555d2d910 "", arg2=0x555555d23cb0 "") at mapper.c:6791
#3  0x0000555555596562 in do_map (ses=0x555558a97b00, arg=0x5555572e1b95 "{} {} {} {$roomarea} {variable} {area_mapped}",
    arg1=0x555555d2d910 "", arg2=0x555555d23cb0 "", arg3=0x0, arg4=0x0) at mapper.c:133
#4  0x00005555555be82a in parse_script (root=0x555557f71960, lvl=0, token=0x55555c6ba230, shift=0x55555767ab10) at tokenize.c:812
#5  0x00005555555bfded in script_driver (ses=0x555558a97b00, list=1,
    str=0x555555d19ff0 "#map {get} {ROOMVNUM} {roomvnum};#map {get} {ROOMAREA} {roomarea};#map {get} {ROOMNAME} {roomname};#map {get} {ROOMDESC} {roomdesc};#format {roomname_len}\t{%L} {$roomname};#format {roomvnum_len}\t{%L} "...) at tokenize.c:1242
#6  0x0000555555581ee1 in parse_input (ses=0x555558a97b00, input=0x55555767c099 "") at parse.c:226
#7  0x00005555555bef73 in parse_script (root=0x555557680c80, lvl=0, token=0x555557f719d0, shift=0x555557f719d0) at tokenize.c:1011
#8  0x00005555555bfded in script_driver (ses=0x555558a97b00, list=6, str=0x555558d95d10 "mapupdate") at tokenize.c:1242
#9  0x00005555555865af in delay_update () at update.c:938
#10 0x000055555558434d in mainloop () at update.c:159
#11 0x000055555557df19 in main (argc=2, argv=0x7fffffffe4c8) at main.c:416

  - #map list {<exits>} breaks on rooms that have e mapped to eu.
  - finish landmarks
  - map sandbox mode support (flags to disable saving?)
  - add ghosting to fix #map flag nofollow exit cmd issues?
  ! #map legend support for unicode graphics.
  - multi-line room symbols
  - pancake mode to display rooms at all levels and annotations
  - there might be a terrain density bug
  - provide the coordinate of the X on the vtmap.
  - add maze flag for maze handling.
  - Request: aura around the character position. Something similar to terrain dense narrow. Could improve visibility of the character position on big resolutions. Furthermor config to allow modification of the character terrain. 
  - vt map doesn't utilize all available space.
  - Request: 'stop' #map center command, so i could see how the 'user' moves, rather map moves around him? 
  - #map uninsert <vnum>
  - make map spacing easier
  - add configurable default symbol
  - exit symbol?
  - more data to #map list saving, and maybe easier sorting of tables.
  - event for failed #map move.
  - look into #send triggering follow map.
  - add {roomdata} search to #map list

  - truncate prompt longer than split.

  - Make actions with a priority of 0. trigger always

  - #draw table {1;2;3;4} {a;b;c;d}
    #draw scrollbar
    #draw graph
    #draw button
    #draw titanic

  - proper vt100 skip detection for improper color codes.

  - Make { match both a { and \x7B as it's an annoying issue to debug.

  - Add VT100 filter to make outside sources respect terminal size constraints, also needed to run bash in vsplit mode.

  - Remote script loading

  - add class specific debug
  - better class event and class size handling ?

  - more potent long-click handling including held down ticks.

  - look into discord api / arachnos

  - better color syntax highlighting configuration.

  - Add #log delete/remove option.

  - See about adding SESSIONS to the list table.

  - Add debugger to syntax highlighter, substitution highlighing, 256 color support, and variable expansion.

  - fix readmud in net.c to not move the cursor on inactive sessions.

  - add packets patched counter

  - Fix arrow key up history recall overwriting the prompt (partial redesign)
    Auto prompt fixing on overwrite.

  - reportable_sounds

  - https://tintin.sourceforge.io/forum/viewtopic.php?f=4&t=2597 #add #screen support

  - TELNET documentation.

  - Add JSON support to #scan

  - see if #break 2 is possible, maybe #continue 2 as well.

  - http://tintin.sourceforge.net/board/viewtopic.php?p=9625 (map undo issue) (not a big issue)

  - http://tintin.sourceforge.net/board/viewtopic.php?t=2339 (map area data)

  - IPv6 for chat

  - http://tintin.sourceforge.net/board/viewtopic.php?p=9109 (vt102 strip \e[2J\e[H )

  - http://tintin.sourceforge.net/board/viewtopic.php?p=8766#8766 (global verbose toggle?)

  - http://tintin.sourceforge.net/board/viewtopic.php?p=8745#8745 (verbose logging?)

  - See about adding ~/ handling for file names.

--------------------------------------------------------------------------------

* LOW PRIORITY

  - Add a file handler.

  - multi-line buffer searches / captures / deletes

  - multi-line triggers (use nested actions?)

  - add color based auto unwrap routine.

  - Start of line anchors aren't working in #replace.

--------------------------------------------------------------------------------

* ROADMAP

  - dictionary +tabbing

  - editor

  - clickable link support

  - tintin commander

  - sixel graphics

  - windowing

  - blind automapping

  - better attach/detach

  - GUI mode

  - Braille handling

  - Allow converting tt++ scripts to C.

  - session proxies

--------------------------------------------------------------------------------

* STUFF THAT MIGHT BE IMPLEMENTED

  - ability to #read entire directories.

  - fix ctrl-r ctrl-d / ctrl-c / enter

  - Option to run #script in background.

  - Make &0 to &99 local.

  - Color compression (already partial support)

  - SGA disabling

  - BINARY TELOPT support.

  - add #line gag {lines} option

  - Add something like #log append $dir/logs/log.txt {%D %H:%M:%S}

  - compact map view mode http://tintin.sourceforge.net/board/viewtopic.php?p=9994

  - https://github.com/eliukblau/pixterm

--------------------------------------------------------------------------------


* BUGS THAT NEED FIXING

  - Word wrap related scroll back problems.

  - Crash on multiple session close

  - \x7B\x7D_____\x7B\x7D_ doesn't match in #regex.

--------------------------------------------------------------------------------

* BUGS THAT MIGHT NEED FIXING

  - http://tintin.sourceforge.net/board/viewtopic.php?p=7124

  - There's a bug with prompt repetitions with packet patch set.

  - Deal with escaping { } / ; in #script variables.

  - Make tintin char setting by session instead of global.

  - #cr doesn't reset the packet patch state

    + tintin.sourceforge.net/board/viewtopic.php?t=36

--------------------------------------------------------------------------------


* MAPPING

  - add option to show party members on the map

  - add option to add a delay to each exit for #map run

  - map where command that shows relative coordinates.

  - Room creation event

  - Add better table support for data fields.

  - auto adjust max vnum size of mapper.

  - global flag to only show the same area with the mapper.

  - map color setting for hidden exits.

  - Create global exits, (aka portals) like recall, that can be used
    with #map run.

  - Add something to indicate a non standard exit on the ASCII mapper.

  - Display hidden exits differently.

  - Better #map undo support using maybe timestamp, type, info.

  - Add conditional if checks for room traversal.

  - add highlight option

  - Add #V version info

--------------------------------------------------------------------------------

* STUFF FOR A RAINY DAY

- Fix up ipv6 support in chat.

- Look into packet defragmentation for chat.

- Look into using speech-dispatcher for text to speech.

- Add %U (upper) %L (lower) support.
  check https://www.boost.org/doc/libs/1_50_0/libs/regex/doc/html/boost_regex/syntax/basic_extended.html

- cursor extension for vim

- interactive script tutorial

-------------------------------------------------------------------------------

* STUFF I'M NOT SURE ABOUT

- Keep last input visible with repeat enter enabled.

- would be nice to have "#map list" show the variable being filtered on, instead of defaulting to roomname ie, I'm currently writing a script to save "#map list {roomnote} {{\w+}}" into a variable, then map get roomnote for each item in the list and display it...would be nice if when listing for a roomnote, it showed the roomnote

-------------------------------------------------------------------------------

* STUFF THAT WON'T BE IMPLEMENTED

- Lua or any other scripting language, focus is on developing tintin scripting.

-------------------------------------------------------------------------------

* ISSUES

- TinTin++ only allows 1 action triggering per line.

- TinTin++ probably should substitute escapes in if checks.

- TinTin++ is not handling #return inside #regex intuitively.
