* YAM.cd: added a title and more descriptive explaination for the "zombie files"
  warning requester.
    
3 lines of code changed in 1 file:
* YAM_CO.c: changed the default shot header configuration to also show the
  carbon copy (Cc) and blind carbon copy (Bcc) recipient addresses.
    
1 lines of code changed in 1 file:
* YAM.c, locale/YAM.cd, locale/deutsch.ct: if some zombie files could not be
  deleted upon quitting a requester will now inform the user about that fact.
  Pressing "Ignore" here will silently keep all still existing zombie files.
    
15 lines of code changed in 1 file:
* raised the timeout for zombie files to 300 seconds again.
    
1 lines of code changed in 1 file:
* YAM_UT.c: modified DeleteZombieFiles() to not use an additional temporary
  list but just remove the successfully deleted files from the list and keep
  all the others. The filename memory is now freed, too.
    
14 lines of code changed in 1 file:
* YAM.c, YAM_UT.c, YAM_RE.c: implemented a list of zombie files. Such files
  emerge if for example an attached picture is shown by MultiView and the read
  window is closed before MultiView released the file. Before these files
  existed until a reboot or until the used deleted them manually. Now YAM will
  try to delete the files every 5 minutes and finally upon shutdown. If a file
  is still locked then it will remain as before. This finally fixes bug
  #1659581.
    
125 lines of code changed in 5 files:
* YAM_FI.c: fixed vertical weight factor so that the find window comes up with
  a minimized folder list group.
    
1 lines of code changed in 1 file:
* YAM_RE.c: the new BuildCommandString() function will now replace "%%" with
  a single '%' character to allow to forward a single % char.
    
20 lines of code changed in 2 files:
* YAM_MA.c, YAM_MI.c: minor code cleanups.
    
12 lines of code changed in 2 files:
* YAM_FO.c: code cleanup according to the STYLEGUIDE.
    
363 lines of code changed in 1 file:
* YAM_FI.c: put a balancing bar between the upper part and the result list in
  in the find window.
    
7 lines of code changed in 1 file:
* YAM_RE.c: reimplemented the MIME command string generation to respect the
  new %p placeholder.
    
135 lines of code changed in 1 file:
* YAM_COg.c, locale/YAM.cd, locale/deutsch.ct: MIME command strings now can be
  enriched with %p as a placeholder for YAM's public screen name.
    
1 lines of code changed in 1 file:
* ReadWindowStatusBar.c: fixed a possible NULL pointer access.
    
4 lines of code changed in 1 file:
* YAM_RE.c: if a memory allocation during RE_DisplayMIME() failed a temporary
  file construct would persist.
    
6 lines of code changed in 1 file:
* YAM_RE.c, YAM_MA.c, YAM.c: added new UpdateReadMailDataStatus() function
  which allows to sync the status of a readmail data object (window) with
  what the current mail contains. This should fix issues where a read window
  ended up with other status images like the main mail list displayed.
    
62 lines of code changed in 4 files:
* StatusIconGroup, ReadWindowStatusBar, misc: transformed the previous
  'StatusIconGroup' into a new more general status bar which is placed right
  below the read window toolbar and which should carry general mail status
  information like the status flags and folder information.
    
158 lines of code changed in 9 files:
* ReadMailGroup.c, YAM.cd: the 4 most common header line names
  (From/To/Date/Subject) are now translatable into the local language which
  in fact should make the header display more intuitive and in line what the
  main mail list title displayes as well.
    
14 lines of code changed in 1 file:
* AttachmentImage.c: drawing the image no longer relies on a successful
  drawing of the super class, as this seems to be handled differently in MUI 
  3.8 and MUI 3.9. This should fix bug #1708557.
    
29 lines of code changed in 1 file:
* YAM_main.h, YAM_utilities.h: removed some orphaned prototypes.
0 lines of code changed in 2 files:
* YAM_mail_lex.l: an end of a signature will now be recognized by a dashed
  line rather than by searching for a "\nFrom :" sequence which isn't always
  present in a message digest.
    
22 lines of code changed in 2 files:
* YAM_COg.c, YAM_COs., YAM_CO.c: the POP3 server list is now dragsortable
  again so that entries can also be sorted via a drag&drop operation. In
  addition, the arrow buttons are now layouted a bit closer to eachother
  to save space. Also a new POP3 server entry does now show a default
  account name to make it less probable that users generate an empty
  POP3 server in the list by accident.
    
133 lines of code changed in 4 files:
* YAM_CO.c, YAM_COg.c, YAM_COs.c: changed the POP3 account list to an NList
  class object and added an up and down button below the list. This makes it
  possible to reorder the POP3 accounts.
    
68 lines of code changed in 4 files:
* classes/ThemeListGroup.c, themes: commit the first new default theme
  directory and file layout including a new added Update() method for the
  upcoming ThemeListGroup and it's corresponding theme integration.
    
85 lines of code changed in 2 files:
- forgot to commit YAM_mail_lex.h header files changes.
    
2 lines of code changed in 1 file:
* YAM_MA.c: fixed another possible NULL pointer access.
17 lines of code changed in 1 file:
* YAM_CO.c, YAM_COs.c: fixed two possible NULL pointer accesses.
55 lines of code changed in 2 files:
* YAM_mail_lex.l: the colored citing of quoted mails wasn't working when the
  message parser was in signature mode. This caused problems with messages
  where the actual main message didn't stop right after the signature. In
  fact, digest messages from mailing lists are known to just concatenate
  mails without using MIME mechanisms. Therefore we can't assume that
  everything following the "-- " signature is really just part of the
  signature. Therefore, a found "\nFrom: " string will now automatically
  reset the signature state and display further text as normal text. This,
  of course doesn't catch all such cases, but in the end it is partly a
  fault of the mailing list server just plainly concatenating emails without
  using MIME.
    
39 lines of code changed in 1 file:
* StatusIconGroup.c: the status icon group in the read window is now at least
  50 pixels wide, which should be enough for most mails with 3 icons at most.
  More icons and a wider group are possible, of course, but the refresh will
  lead to a refresh of the whole window which in sequence may result in a
  slight "flicker" on slower machines. This fixed bug #1702542.
    
22 lines of code changed in 1 file:
* YAM_RE.c: added a range of more invalid characters in an AmigaDOS filename.
    
6 lines of code changed in 1 file:
* YAM_RE.c: fixed the RE_Export() function which was broken due to recent
  cleanups. In fact, an '==' check ended up in a "!=" expression which
  caused that if a MIME part was tried to be saved always a overwrite
  warning was immediately popped up instead of suggesting the correct
  filename. In addition, the RE_SuggestName() function now proposes
  filenames until the passed length limit which in fact allows now to
  suggest filenames up to the internal 107 char limit. Lets see how
  filesystems play with that new raised limit.
    
43 lines of code changed in 1 file:
* BayesFilter.c: added some more security checks while reading the training
  data. If something fails the training data will be reset.
    
47 lines of code changed in 1 file:
* fixed two signedness warnings.
    
6 lines of code changed in 2 files:
* added a missing semicolon.
    
1 lines of code changed in 1 file:
* BayesFilter.c: updated the source according to the latest changes in 
  ThunderBird 2.0.0.0. Basically this means that some more size checks are
  done while reading in the training data.
    
60 lines of code changed in 2 files:
* YAM_RE.c: cleaned up several functions.
333 lines of code changed in 1 file:
* YAM_MA.c, YAM_RE.c, YAM_UT.c: changed several static buffers to "normal"
  local buffers.
    
32 lines of code changed in 3 files:
* MainMailList.c: changed the context menu title to be a member of the class 
  instead of a static buffer within a function.
    
7 lines of code changed in 1 file:
* QuickSearchBar.c: no static text buffer is needed, because the text will be
  copied by MUI.
    
5 lines of code changed in 1 file:
* YAM.c: the autosave file have to be renamed in case the found file was
  created by another write window number than the one we opened for editing
  the autosaved message.
    
7 lines of code changed in 1 file:
* YAM.c, YAM_WR.c, YAM_write.h: changed the WR_AutoSaveFile() function to
  not store the file in a static buffer but take a destination buffer as
  a seperate argument. This e.g. caused problems in the automatic autosave
  file deletion in YAM.c where the function had to be used twice because
  WR_NewMail() was also calling this function and therefore overwrote
  a pointer that was previously obtained. Now the API should be less
  error prone, reentrant and more intuitive.
    
21 lines of code changed in 3 files:
* YAM.c: deleting an old autosave file now uses the already obtained file
  name from the testing stage.
    
1 lines of code changed in 1 file:
* YAM.c: the autosaved file wasn't automatically deleted in case it was put
  on hold in the outgoing folder.
    
9 lines of code changed in 1 file:
* YAM.c, YAM.cd: switched the default buttons of the autosaved requester to
  put the mail on hold per default. In addition, the buttons should contain
  short enough text to make the requester not too large.
    
14 lines of code changed in 1 file:
* YAM.c: if an old autosave file is found upon startup the user now has the
  possibility to just create a new mail with this text in the outgoing folder
  which is set to HOLD. All other already known possibilities (edit, delete,
  ignore) are still available. The new mail will get an default receiver and
  subject, because the autosave file just contains the message text.
    
28 lines of code changed in 1 file:
* Searchwindow.c: the MUIM_Searchwindow_Search method now gets some flags
  passed instead of a single boolean value. This flag value is used to specify
  whether to search from the beginning of the text and wether to beep if the
  search failed. A failed first search now only displays a requester, while
  a failed continued search produces a DisplayBeep(). This fulfills change
  request #1681866.
    
19 lines of code changed in 1 file:
* MainMailListGroup.c: a doubleclick on a mail that is currently in the
  outgoing folder should have always opened the write window instead no matter
  if the embedded read pane is enabled or not. Now it is and this fixes
  bug #1702674.
    
4 lines of code changed in 1 file:
* extrasrc/memdup.c: added minor NULL pointer check in case the source
  pointer is NULL.
    
2 lines of code changed in 1 file:
* memdup.c: added missing include of stdlib.h
1 lines of code changed in 1 file:
* misc: changed all occurences of AllocCopy() to memdup().
8 lines of code changed in 8 files:
25 lines of code changed in 5 files:
* YAM_AB.c, YAM_FI.c, YAM_MA.c, YAM_US.c, Addrmatchlist.c: replaced custom
  clone code of structures by a call to AllocCopy().
    
23 lines of code changed in 5 files:
* YAM_WR.c: the issues with the BuildPartsList() functions weren't all
  completly fixed according to the way the function was operating prior to
  the cleanup that broke some functionality in it. Now also the WhichEncoding()
  function call gets the correct arguments. In addition, the function should
  now correctly fail in case a new part couldn't be created.
    
19 lines of code changed in 1 file:
* YAM_WR.c: building a message with more than one part (i.e. attachments)
  screwed up the order of the single parts (the attachment was the first part
  instead of the last).
    
10 lines of code changed in 1 file:
* YAM_MI.c: mails with main MIME parts that are base64 encoded and contain
  non-base64 decoded text as well did raise a warning in YAM, but didn't show
  at least the text that was successfully decoded. Now the base64decode()
  function always returns a negative counter in case an error/problem occurs
  and it is up to the caller to correctly handle that.
    
54 lines of code changed in 1 file:
* YAM_WR.c: cleaned up most functions.
    
585 lines of code changed in 1 file:
* YAM_WR.c: BCC addresses are now added to the address cache, too.
    
3 lines of code changed in 1 file:
* added missing brace
    
1 lines of code changed in 1 file:
* YAM_WR.c, ReadMailGroup.c: fixed even more possible NULL pointer accesses.
40 lines of code changed in 2 files:
* YAM_FI.c, YAM_UT.c: fixed even more possible NULL pointer accesses.
49 lines of code changed in 2 files:
* YAM_RE.c: fixed another possible NULL pointer access.
3 lines of code changed in 1 file:
* AttachmentImage.c: moved the check if YAM is running on the WB to the top to
  avoid some unnecessary overhead.
    
135 lines of code changed in 1 file:
* AttachmentImage.c: fixed broken build for MOS/OS3, due to a missing struct
  Layer declaration.
    
4 lines of code changed in 1 file:
* YAM_FI.c: made FreeFilterNode() public instead of static.
    
2 lines of code changed in 2 files:
* YAM_CO.c, YAM_FI.c: encapsulated the whole filter list cleanup stuff into a
  new function.
    
116 lines of code changed in 3 files:
* AttachmentImage.c: in case YAM was running on the Workbench screen and an
  attachment icon from an opened read window was dragged to a write window's
  attachment list a DisplayBeep() was always issued because workbench.library
  was most probably not able to detect one of its own objects (drawer, icon,
  etc) at the dropping coordinates. Now YAM checks if an open write window is
  the frontmost one at the dropping coordinates. This fixes bug #1695750.
    
156 lines of code changed in 1 file:
* YAM_RE.c: cleaned up the photo related stuff a bit.
    
27 lines of code changed in 1 file:
* YAM_EA.c: the help text is now set again if the user image changes, because
  the old object has been deleted before.
    
1 lines of code changed in 1 file:
* YAM_FI.c: added additional checks to each access to the filter rule list.
  Creating a new filter now also fails if the first rule cannot be created as
  this one is always expected to exist.
    
150 lines of code changed in 1 file:
* MainMailList.c: a completely new mail can now be marked as "read", too.
    
1 lines of code changed in 1 file:
* YAM_mail_lex.l: fixed bug #1699625 where the signature color wasn't properly
  terminated and may have caused that upon deleting the whole text of a mail
  with signature, the color still remained colored passages with no chance of
  deactivating the color.
    
5 lines of code changed in 1 file:
- minor fixes to get YAM compiled for m68k-amigaos target again
    
2 lines of code changed in 1 file:
* YAM.c: renamed the new startup sempahore to "YAM_Startup" and used strlcpy()
  instead of the plain strcpy() for copying the semaphore name.
    
7 lines of code changed in 1 file:
* UserImage.c: replaced the image loading by the functions provided by the
  image cache. This also speeds up image access, because the user images will
  be handled by the cache now, too.
    
83 lines of code changed in 1 file:
* YAM_WR.c: fixed further possible NULL pointer accesses and free() calls for
  possible NULL pointers.
    
22 lines of code changed in 1 file:
* YAM_RE.c, YAM_WR.c: some functions didn't check the result of OpenTempFile()
  and could access a NULL pointer later.
    
180 lines of code changed in 2 files:
* YAM.c: the Abort() function now takes a translated string as first parameter
  instead of translating the error message itself. This is far more intuitive.
    
13 lines of code changed in 1 file:
* YAM.c, YAM_UT.c: moved the semaphore stuff to YAM.c as this is the only
  place where these functions will be used.
    
101 lines of code changed in 4 files:
* YAM.c, locale/YAM.cd, locale/deutsch.ct: a public semaphore is now used to
  single thread the creation of the basic application object. Running YAM
  twice with next to no delay inbetween could cause crashes if the second
  instance was created while the first instance has not yet been completely
  created. This seems to be an MUI internal bug. All in all the usage of the
  semaphore fixes bug #1698275.
    
53 lines of code changed in 2 files:
* YAM_UT.c: added a 4 new functions to handle public semaphores.
    
127 lines of code changed in 2 files:
* YAM_MA.c: cleaned up MA_AppendRcpt().
    
28 lines of code changed in 1 file:
* YAM_UT.c: added "<" and ">" to the list of invalid chars for real names
  which must be surrounded by quotes. This fixes bug #1697643.
    
1 lines of code changed in 1 file:
* YAM_COg.c: finally fixed the strange issue with a screwed up cycle gadget on
  m68k-amigaos targets in the new Look&Feel page and removed the previously
  added dummy array to work around the problem. It seems that an unused array
  definition in the "Misc" config page generation code overwrote the newly
  generated text arrayes for the cycle gadgets. Somehow that bug only manifested
  itself on the m68k-amigaos target with the GCC 2.95.3 compiler suite. This
  should fix bug #1688165.
    
0 lines of code changed in 1 file:
* extrasrc.h: added missing include for sys/types.h. Otherwise some compilers
  might complain about a missing definition for size_t.
    
3 lines of code changed in 1 file:
* YAM_COg.c: added a dummy variable to the look&feel page initialization to
  work around a possible bug in the gcc 2.95.3 cross compiler for OS3.
    
4 lines of code changed in 1 file:
* WriteAttachmentList.c: cleaned up drag&drop code a little bit.
    
25 lines of code changed in 1 file:
* AttachmentImage.c: cleaned up icon generation a little bit.
    
48 lines of code changed in 1 file:
* YAM_MA.c, YAM_UT.c: SafeOpenWindow() now does a DisplayBeep() itself if
  opening the window fails or a NULL object is supplied.
    
22 lines of code changed in 2 files:
* YAM_FI.c: pimped the source according to the STYLEGUIDE and fixed several
  missing malloc()/calloc() checks.
    
386 lines of code changed in 1 file:
* YAM_US.c: replaced some static buffer sizes by sizeof() representation.
    
6 lines of code changed in 1 file:
* misc: several functions did not check the result of a malloc() or calloc()
  call.
    
299 lines of code changed in 9 files:
* YAM_MA.c, YAM_MAf.c, YAM_TR.c: several functions didn't respect that adding
  a mail to a list might fail and then possibly accessed a NULL pointer. Also
  made sure that the result of all malloc(), calloc() and realloc() calls is
  handled correctly to avoid NULL pointer accesses.
    
407 lines of code changed in 3 files:
* YAM_MAf.c: the function MA_DetectUUE() did not check for a successful
  memory allocation and hence could access a NULL pointer in a low memory
  situation.
    
17 lines of code changed in 1 file:
* ThemeListGroup.c, YAM_COg.c: moved the themes relevant GUI generation code
  from the Look&Feel page into a seperate custom class so that all themes
  related stuff can now be more easily added there instead.
    
4 lines of code changed in 4 files:
* ReadMailGroup.c, YAM_MA.c, YAM_MAf.c: changed the ReadMailGroup_Clear method
  to take a generalized flag instead of a boolean as an argument. This allows
  to specify more option what to keep while clearing the group. In fact, this
  allows to keep the attachment group visible while switching mails as that
  should avoid unnecessary flickering in case the mail switch was just between
  two mails with attachments present.
    
19 lines of code changed in 3 files:
* added missing #include
    
3 lines of code changed in 1 file:
* WriteAttachmentList.c: cleaned up the setup and cleanup methods.
    
22 lines of code changed in 1 file:
* Recipientstring.c: cleaned up the setup method.
    
18 lines of code changed in 1 file:
* ReadWindow.c: a call to AddMailToList() might return NULL, but this was not
  handled correctly.
    
18 lines of code changed in 1 file:
* misc classes: fixed all other subclasses which make use of MUIM_Setup and
  MUIM_Cleanup to do their own work only if the setup of the super class
  succeeded.
    
47 lines of code changed in 2 files:
* AttachmentGroup.c, AttachmentImage.c: minor cosmetic changes to the sources
  to get them more compliant to the STYLEGUIDE.
    
287 lines of code changed in 2 files:
* Addrmatchlist.c: the OM_DISPOSE method was not overloaded although the
  OM_NEW method added an event handler which has to be removed again when the
  object gets disposed.
    
20 lines of code changed in 1 file:
* ConfigPageList.c: the super class' destructor was not called upon
  OM_DISPOSE.
    
7 lines of code changed in 1 file:
* AttachmentGroup.c, ImageArea.c: changed MUIM_Setup and MUIM_Cleanup methods
  to do their own work in the correct sequence.
    
13 lines of code changed in 2 files:
* misc: changed several invocations of the MUIM_Group_InitChange method to
  check the return value before continuing.
    
274 lines of code changed in 6 files:
* YAM_MAf.c: changed the "jump to new message" behaviour so that the jump is
  only tried if the folder contains new or unread messages. This makes it
  possible to use the "jump to new message" and "jump to recent message"
  options in parallel.
    
122 lines of code changed in 1 file:
* YAM_UT.c: cleaned up many functions according to the STYLEGUIDE.
    
454 lines of code changed in 2 files:
* YAM_RE.c: cleaned up the function RE_GetThread() and fixed a wrong jump out
  of the function if getting the index of a folder was successful.
    
47 lines of code changed in 1 file:
* YAM_COs.c, locale/YAM.cd, locale/deutsch.ct: if the option "mark spam mails
  as read" is enabled but less than 100 mails have been classified yet a
  requester will now ask the user if this is really intended.
    
21 lines of code changed in 1 file:
* HashTable.c: Beautyfied some functions, too.
    
45 lines of code changed in 1 file:
* BayesFilter.c: a wrong check in tokenizerGet() may have caused "suboptimal"
  spam recognition. Also beautyfied some functions a little bit.
    
45 lines of code changed in 1 file:
* ImageCache.c: added the DTA_SourceType tag to the NewDTObject() call
  to work around a bug in datatypes.library 52.2.
    
1 lines of code changed in 1 file:
* YAM_UT.c: fixed a possible random pointer access in the SWSSearch()
  function which could happen in a low memory situation.
    
31 lines of code changed in 1 file:
- minor cosmetic change
    
2 lines of code changed in 1 file:
* YAM_COg.c: the color requesting poppen objects will now be disabled in case
  the 'Use Textstyles' checkbox is turned off.
    
10 lines of code changed in 1 file: