______________________________________________________________________

               GoldED TODO and BUG list. Not complete.
______________________________________________________________________

v---- x = fixed or done. w = working on it. ? = works here.
  v-- ? = bug not found/tested. - = bug found/tested. + = new/changed.

* FIREBIRD:
  1. complete switchover to new text windowing class.
  2. implement and add tcp/ip module.
  3. implement internet "modes" - see gmsgpart.cpp.
  4. move to new msg line model.
  5. move to new msg header storage model.
  6. reduce startup time.
  7. improve msgbase error handling.
  8. separate area cfg and area list from area class.
  9. new search features.
  X. pave the way for windows version.

* PROJECTS:
  - addressbook.
  - uudecode marked msgs.
  - enhanced search features: "and" search, regex search.
  - access nntp, smtp, pop3 servers for news/mail via tcp/ip.
  - arealist class with integrated group features. (internal)
  - messagebase objects separate from area config. (internal)
w - special line text allocation. (internal)

* KNOWN BUGS / PROBLEMS: (not a complete list)
  - scan marked areas fubars when there are no marked areas.
  - pcb: in echomail areas, the "uns" flag is unreliable (cosmetic).
  - pcb: msg should be "uns" if all ~fido~ users have lower lastreads.
  - inputfile in group doesn't work.
  - gedw32: one area is scanned even if esc is pressed during startup.
  - gedw32: doesn't obey the screensize keyword.
  - gedw32: standard beep effects don't work under win'95. ok with nt.
  - ransys language isn't always switched properly.
  - with dispsoftcr, softcr at beg.new line is stripped anyway?
  - after a shell, ctrl-s shows nothing and the clock stops.
  - import of very large files sometimes goes bad in 386 version.
  - qwk features have problems in *.msg areas?
  - something in the code seems to be making pointer under+overruns?
  - tearline --- UNREG UNREG. related to empty tearline?
  - template filename seems to sometimes be used as origin in groups?
  - the fd/im nodelist index lookup/browse is not 100% reliable.
  - unexpected deleted squish msgs causes unusual behaviour.
  - when frqing from a netmail, don't ask about deleting original.
  - when reply to a msg in net, and decide to address it to another
    aka using an addressmacro, the standing aka is not rematched.
  - ie import: stops at eof mark. shouldn't.
  - soup import: crashes with long lines (like 100k to-line). (>16k)
  - cosmetic: del at pos 2 above a quote. quote disappears.
  - cosmetic: enter right after the '>'. quote is not reproduced.
  - dispmsgsize also enables/disables gif/mood display.

* TODO / WISHLIST:
  + add (was: oldsubj) when entering new subject.
  + add warnings for location dependent keywords.
  + add-to-userlist ("phonebook").
  + addressmacro selection menu.
  + alarm clock / reminder functions.
  + area setup menu for manually adding new areas. (echoid from area:)
  + areadesc: add option to set type (net, echo, news, etc.)
  + areaexcl etc. should accept @filename.lst.
  + areagroupexcl <group number/letter>.
  + areaisemail/news should be location independent.
  + areaisgroup <letter or #number>.
  + arealistsort: sort according to how often an area is accessed.
  + arealistsortorder @sortordr.lst.
  + arealistontop <echoid>, arealistsort 'L'. sort echo to the top.
  + arearename <old> <new> ["desc"] [(attrs)].
  + beepword <word>. beeps when <word> is found somewhere in a msg.
  + better support for "static" mailers like binkley etc.
  + better support of mailer semaphores (incl. fdinsess.*).
  + built-in basic xlatcharset/xlatescsets such as latin-1.
  + call externutil from arealist (and other places).
  + call externutil www browser for URL's ("http://" and "ftp://").
  + carbon copies to internet address should be gated.
  + charset selection menu for outgoing msgs.
  + color differentiation for groups in arealist.
  + command to write msgs to a file *without* the header stuff.
  + commandline -SOUP to auto-import and link soup packets at startup.
  + configurable zonegating (see msg from joe rinck).
  + confirmfile in groups. allow @loadlanguage in .cfm file.
  + copy/move of current msg should c/m viewed msg, not disk msg.
  + critical error handler (for printer errors from dos etc).
  + crossposting should also use random system group items.
  + ctrl-c and ctrl-break should not rudely exit golded.
  + cursor shape configurable.
  + datetime formats without leading zeroes.
  + editing line highlighted in a specified color.
  + emphasize unread mail in the msglist.
  + errorlevels for e-mail and newsgroups.
  + event scandone. after area scanning is done.
  + event pscandone. after personal mail scanning is done.
  + example "essential.cfg" between simple.cfg and advanced.cfg.
  + forward/copy etc. should not reset searchfor etc.
  + freq alternates: --begin-frq-alt-- / <text> n/n / --end-frq-alt--
  + freq function should find multiple frqext per line.
  + freq function should make more msgs if subj is full.
  + freq list option: allow manual entry of filenames.
  + freq manager. to manage all frqs in all netmail areas.
  + frqaddrmap <fromaddr> <toaddr>. for auto re-address of freqs.
  + frqwazoo: support different outbound for each domain.
  + gifavailable <yes/no>. to confirm that it really is frq'able.
  + global scope for attribs* etc. in golded.cfg.
  + goldnode option to ignore down nodes.
  + helena.inf support.
  + help system: fully updated - maybe links to manuals?
  + hideemptyarea keyword. removes area from arealist if zero msgs.
  + hudson size warning screen with more detailed info.
  + internal editor: ctrl-up/down: scroll without moving cursor.
  + jump to first area with personal mail.
  + key command to add from-person to moderator database.
  + key command: editinserttime. plus keyword edittimefmt.
  + key command: readexternutilmenu: externutil selection menu.
  + key command: readstealtagline.
  + mark areas and toggle view of marked areas only.
  + mark complete reply tree, not just chain.
  + mark important msgs to a list for future reply.
  + mark interesting subject (and/or msgids) for future highlighting.
  + mark msgs older or newer than a specified date.
  + mark to/from/subject for future twitting.
  + mask/action keywords a'la netmgr to replace twit-feature.
  + message undelete function.
  + mini-hatch system to make a .tic for attached files.
  + moderator @moderatr.lst. show moderator for echo in header.
  + msgidisaddress <yes/no> (no). scan msgid for ftn address.
  + msglist command to go to next/prev marked msg.
  + msglist command to see only marked msgs.
  + multiple hudson msgbases (for concord etc).
  + new help file with *all* key commands explained and indexed.
  + nodelist browser: option to work like fd/im browser.
  + nodelist browser: show Txy flag as the actual open hours.
  + progress bar: when reverse search, fill bar from right.
  + progress indicator desirable during soup import.
  + qwkoptions maxlines=nn.
  + rcv bit should be togglable off, without automatically turning on again.
  + remove various 64k msgbase limits in dos 16-bit version.
  + reorganized users guide manual, including step-by-step setup.
  + reply to moderator.
  + screenblanker -vga. a "pure black" mode for "green" monitors.
  + screenblanker should turn off with ctrl/alt/shift keys too.
  + search across several areas.
  + search the raw nodelist (tiny grep or list).
  + search: show number of matches in the msg when found.
  + search: add new "near" method: "someword near someotherword".
  + selection of import charsets when importing textfile.
  + semaphore exportlist needs to be mtask compatible.
  + semaphore gerescan.now. asks golded to perform msgbase rescan.
  + should check all paths/filenames during cfg compile.
  + showkludge <kludgename>.
  + small popup "notebook" database for info on persons.
  + spellchecker should support @tmpfile too.
  + split long msgs using split kludge spec.
  + statistics (quote% etc) for messages.
  + statusline: ... | lines/total | ... | clock
  + store msg marks between sessions.
  + stringcatcher for www,ftp,http etc. address strings.
  + stylecode char stripping when displaying.
  + support relative paths (such as o\msgs) in areafiles.
  + templates: "Look what @oname~I~ wrote to @dname~me~:"
  + twitkludge..
  + twitnameto.
  + unc file naming support (\\server\dir\file).
  + userbase browser / name selection.
  + userbase lookup should also work in jam areas.
  + viewtagline, viewtearline, vieworigin etc.
  + want old-style column dividing lines back in arealist.
  + want old-style logo screen back in startup.
  + warn about use of global keywords in groups.
  + when changing, move changed msg to end and delete the old one.
  + xenia nodelist index support.
  + xlat future: tables convert only to/from iso dis 10646.
  + xlat: cp850 tables: 850_iqp.chs, 850_mne.chs, mne_850.esc etc.
  + xlat: ibmpc<->cp850 tables: ibm_850.chs, 850_ibm.chs.
  + xlatchcp (switch codepage (DosSetCp/INT21,AX=6602h)).
  + xlatchcp <import> <codepage> <localset>.
  + xlatexternal for conversion of text from an external editor.
  + xxdecode features.

* AREAFILE WISH LIST:
  + concord.
  + fmail 1.3+
  + wildcat.
  + wmail 3.x (update).

* MSGBASE WISH LIST:
  + pipbase.
  + rbbs.
  + searchlight.
  + synchronet.
  + tribbs.

* INTERNET SUPPORT / SOUP:
  + auto-translate internet addr to real name via private userlist.
  + better support for quoted-printable (use =3D instead of '=').
  + built-in replylinker for message-id/references.
  + dupe check for soup import.
  + followup-to: poster (reply via email).
  + hide fidonet details when in "internet mode".
  + newsgroups: get from-name/address via replylink if possible.
  + options to show certain rfc's, like "keywords" and "summary".
  + re-import (toss) bad_soup area.
  + simplify internet setup.
  + split long msgs using mime message/partial subtype.
  + support base64.
  + support internet email cc and bcc's.
  + support rfc distribution: header.
  + support rfc followup-to: header.
  + support rfc lines: header.
  + support rfc replyto: header != internetaddress.
  + support rfc1522 (q-p/base64 in header).
  + support usenet crossposting.
  + support uupc mail/news packets in addition to soup.

* REPLY LINKING:
  + built-in replylinker with a variety of link options.
  + redefine non-jam msgbase hdr fields to jam-style linking.

* PERSONAL MAIL SCAN:
  + optional safe scan: if hash/crc matches, check actual msg.
  + implement personal mail scan of *.msg and ezycom msgbases.
  + semi-intelligent pm scan for internet newsgroups.
  + inbox/outbox concept.

* INTERNAL EDITOR:
  + free fullscreen cursor.
  + real block funcs, incl. column blocks.
  + twokeys (^k^b etc).
  + next-key-is-literal key.
  + call externutil to work on marked block or all msg.
  + show numlock/capslock status.

* USER INTERFACE:
  + configurable arealist layout.
  + configurable header layout.
  + configurable msglist layout.
  + configurable statusline layout.

* CHECKLIST FOR BETTER INTERNET COMPATIBILITY:
  + binary attachments, full feature set.
  + killfile features.
  + message list sorting (threads/date/subject/from/to).
  + mime multipart, base64, etc.
  + multiple msgs uudecode/un-base64.
  + new internet-tuned msgbase format.
w + nntp, smtp, pop3 direct to msgbase (via tcpip/2, winsock).
  + quoted-printable fixes.
  + rfc1522 (charsets in headers).
  + specific header view, such as summary, comments etc.
  + threading features.
  + mime: store attachments externally (or not at all) when loading.

* MESSAGE TEXT PROCESSING:
> + serial traversal of tree using stack.
> + header/kludge identification (header_line).
> + build, save and load charset tables.
  + option to calculate content-md5 on the fly.
  + option to write attachments to files instead of memory.
  + re-assemble an ftn-split message from multiple trees.
  + re-assemble a message/partial from multiple trees.
x + reverse processing: create text from mime entity.
  + optimize.

* FIREBIRD:
  + arealist: store only cfg+disp data, not the actual area pointers.
  + improve arealist class.
  + area group item collection class tied in with arealist.
  + msgbase managers for wide-management.
  + line collection class to replace raw line access.
  + derive header line class and body line class.
  + new text-to-line engine to replace MakeLineIndex.

* UNDER/OVERRUNS
  - gecarb. carbon copying.  (dos)
  - search many (>1000) msgs in jam.  (os/2)
  - gelmsg.  (386)
  - gutltag.  (dos)
  - gcarea.  (dos)
  - geinit.  (dos)
  - gmsqsh2. move sqsh->msg.  (os/2)
  - gwininpt.  lookups.   (dos)
  - geline.  cc.  (dos,386)
  - gwinpckf.  ie import.  (386)

______________________________________________________________________
