$Header: /home/users/hurtta/cvsroot/mail/elmme+/README.ME+,v 2.1107 2024/06/29 09:22:40 hurtta Exp $

Version Elm2.4ME+ PL0 (25) is based on version Elm2.4 PL24 ME8b+.
Version Elm2.4 PL24 ME8b+ is based on version Elm2.4 PL24 ME8b.

Version Elm2.4 PL24 ME8b is done by Michael Elkins <elkins.aero.org>.
For details, check file ANNOUNCE.ME

[ Michael Elkins posted the equivalent of MIME code in Elm2.4 PL24 ME8b 
  to Elm Development Coordinator. Later changes are not posted to
  Elm Development Coordinator. ]

Version Elm2.4 PL24 ME8b is based on version Elm2.4 PL24.
Version Elm2.4ME+ PLx (25) includes patch of version Elm2.4 PL25.

Version ElmME+ 2.5.x is based on version Elm2.4ME+ PLx (25)
and incorporates code from of Elm 2.5.


Changelog of Elm ME+ 2.5

Changes on Elm ME+ 2.5 PLalpha64 compared with Elm ME+ 2.5 PLalpha63

        SUMMARY: This release last read timestamps file for
                 used for folder browser when  access time of
                 folders are not updated when read. "Eu" -command
                 (show mail quota usage) now rereads IMAP quota
                 before displaying. New elmrc
                 options are "use-last-read-file" and
                 "last-read-fallback-locking". Also some bug
                 fixes and other changes are included.
        - Added file .elm-last-read-{uid} on directory (when
          directory is writable) or file ~/.elm/last.read,
          when mailbox is on mailhome directory, to
          keep track last read time of folder.
	* This helps situation where access time of
	  mail folders or mailboxes are not updated
	  when they are read and therefore N (new mail)
	  indicator is shown on folder browser although mail folder
	  or mailbox is read after it was updated.
        - Added "use-last-read-file" elmrc option.
          Values are:
                 no                     Do not read or update
                                        .elm-last-read-{uid} file
                 yes                    Create, use and update
                                        .elm-last-read-{uid} file
                 auto                   Use and update existing
                                        .elm-last-read-{uid} file.
                                        Create file if access
                                        time is not updated.
                 existing               Use and update existing
                                        .elm-last-read-{uid} file
           This elmrc option is also used for
            ~/.elm/last.read update.
        - Added "last-read-fallback-locking" elmrc option.
           This lock option knows following keywords
                none                    None of values are selected
                                        (use value none to disable locking)
                flock                   Use flock() locking. flock() 
                                        does not lock files over NFS.
                fcntl                   Use fcntl() locking.  
                prefer                  Prefer this option instead of
                                        folder-locking or mailbox-locking
        - ~/.elm/last.read file uses conf-merge-locking.
        - .elm-last-read-{uid} file uses either folder-locking,
          mailbox-locking, or last-read-fallback-locking.
        - Exported
              char * MAILBOX_LOCKING[]
          from lib/read_rc.c to hdrs/rc_imp.h and added "prefer"
          value to it.
        - Change for fbrowser_selection_is_mbox()
        - Small change of home[] initialization on user_init()
        - Moved struct file_changes from lib/alias/aliases.c
          to lib/addr/file_changes.c and from hdrs/aliaslib.h
          to hdrs/addrlib.h 
        - Possible fix for malloc_gets()
        - Added  cat_dir_entry() to lib/mox/localmbx.c and
          lib/mbox/def_mbox.c
        - Changed write_conf() on lib/misc/conf_write.c
        - Changed insert_commentfile() on lib/misc/commentfile.c
        - Changed most of ino_t and dev_t output to use (unsigned long)
          and %lu format.
	- Added copy_num_messages_folder() to lib/mbox/mbox.c
          and hdrs/mboxlib.h
	- Added mbx_give_message_count_folder() to  hdrs/mbx_imp.h
	- Added mbx_give_message_count_default() to lib/mbox/mbox_generic.c
          and lib/mbox/def_mbox.h
	- Added number of messages to 
	  	Reading in XXX message: xxx
	  counter if available and there is enough space.
	- Changed width calculations on
	  	Reading in XXX message: xxx
	  counter text.
	- Possible fix on quota_display_add_qlist() on src/quotadisp.c
	- Possible fix on ref_mqr_imap() on lib/mbox/imap_quota.c
	- "Eu" -command ("E)xtended command" - "show mail quota u)sage")
	  now reloads IMAP QUOTA information.
	* Changed prototype of mbx_give_imap_quotar_list()
	* Added quotaroot_list_set_refresh() to  lib/mbox/quota.c
	  and  hdrs/mboxlib.h
	- Changed cs_streamclip_from_unknown() on lib/cs_unknown.c
	- Possible fix for lookup_static_host_sentry() on lib/static-hosts.c
	- Possible fix for compare_threads_1_revsentd() on src/thread.c
	New file:
            lib/mbox/last_read.c
            lib/addr/file_changes.c
            doc/elmlastread-info
        New elmrc options:
            use-last-read-file
            last-read-fallback-locking

Changes on Elm ME+ 2.5 PLalpha63 compared with Elm ME+ 2.5 PLalpha62

        SUMMARY: This release includes tagfilter module for
                 filtering text/enriched and text/html
                 tags. This release adds "editor-tfent-propline"
                 and "page-tagfilter" elmrc options and
                 new tool "elmtagfilterents". This release
                 adds global "elm.tagfilter.entities" and
                 user "~/.elm/tagfilter.entities" configuration
                 files. Also some bug fixes and other changes are
                 included.
        - Changed prototype of string_matches_ascii() -
          Added op parameter:
                SMA_op_normal,
                SMA_op_match_prefix,
                SMA_op_find_ascii,
                SMA_op_return_order
          SMA_return_len can not used with SMA_op_return_order 
        - Added tagfilter module for <tag> filtering.
        - Tagfilter supports following text/enriched tags
          when builtin++ pager is used:
          <bold>
          <underline>
          <italic>
          <center>      (detected, does nor work correctly (*))
          <nofill>
          Other tags are just filtered.
        - Rewrapping and joining of multiple lines to one line
          for displaying not supported when replying or forwarding
          mail or when viewing with external pager. This is similar
          than how content type text/plain; format=flowed
          is handled.
        - If builtin pager is not used (or when replying or
          forwarding mail) shows message
          [ text/enriched is unsupported, filtering tags. ]
          (*) Centering does not work when displayed line
              cover several tags or several lines on
              original message (before newline is
              converted to space or multiple
              lines are joined to one line for
              displaying).
        - Added pg_ITALIC flag (termcap codes ZH and ZR).
        - Added pg_DIM flag (termcap code mh).
        - Added pg_SUBSCRIPT flag (termcap codes ZN and ZV).
        - Added pg_SUPERSCRIPT flag (termcap codes ZO and ZW).
        - Added pg_STRIKETHROUGH    (no termcap code)
        - Changed PR_CENTER_THIS handling on span_helper()
        - Tagfilter supports following text/html tags
          when builtin++ pager is used:
          <html>
          <head>
          <body>
          <noscript>
          <b>
          <br>
          <em>
          <hr>
          <i>
          <p>
          <pre>
          <q>
          <s>          (!!)
          <strong>
          <sub>        (XX)
          <sub>        (XX)
          <u>
        - Tagfilter uses display attributes for following
          text/html tags (but reports them unsupported)
          when builtin++ pager is used:
          <cite>
          <del>
          <h1>
          <h2>
          <h3>
          <h4>
          <h5>
          <h6>
          <var>
        - Other text/html tags are just used for define
          what are recognized tags but otherwise just
          filtered.
        - Tagfilter recognizes different text/html tags depending
          on inside on what tags they occurs.  
          (!!) Only when "ANSI-SGR strikethrough" is
               given on global elm.terminalinfo or
               on user ~/.elm/terminal.info.
          (XX) Incompletely - no terminals support this
        - If builtin pager is not used (or when replying or
          forwarding mail) shows message
          [ text/html is unsupported, filtering tags. ]
        - Added elmrc option "page-tagfilter". If set,
          media types given as keywords are displayed with "pager",
          otherwise these are considered to need metamail
          (or mailcap programs).
          Option includes list of keywords:
               none            None of values are selected
               text/enriched   text/enriched type does not require
                                 external programs or metamail
               text/html       text/html type does not require
                                 external programs or metamail
          This does not take account possible unsupported
          tags or that builtin++ pager is not used as "pager".
        - Added global elm.tagfilter.entities and
          user .elm/tagfilter.entities. These files
          defines text/html named character references
          recognized by tagfilter.
          See also "Tagfilter entities listing"
        - Builtin text/html named character references
          recognized by tagfilter are
          &amp;         unicode 0x0026          & -character
          &nbsp;        unicode 0x00A0          NO-BREAK SPACE
          &quot;        unicode 0x0022          " -character
          &lt;          unicode 0x003C          < -character
          &gt;          unicode 0x003E          > -character
        - Added elmtagfilterents -command.
        - Added "editor-tfent-propline" elmrc option.
          This is similar than "editor-elmrc-propline". 
          If set to "emacs", then when on user's 
          tagfilter.entities file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-tfent-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.    
        - Global global elm.terminalinfo and
          user ~/.elm/terminal.info can now include
          ANSI-SGR which tell elm to use ANSI SGR
          attributes for bold, dim, italic, underline,
          blinking, reverse, strikethrough, superscript
          and subscript. If termcap specifies also
          attribute, elm may invoke it twice. Do
          not use ANSI-SGR if termcap already specifies it.
          This is mainly for strikethrough, which is
          not supported by termcap. For more information
          see chapter "Additional terminal information".
        - Added struct out_entity routines with lib/out_entity.c
        - Added  state_putentity() to lib/elmlib.h and
          lib/state_out.c     
        - Added string_type_have_unicode() to hdrs/elmlib.h
          and lib/string.c     
        - Added state_add_opcode_pager_range()  to hdrs/elmlib.h and
          lib/state_out.c     
        - Added state_pager_add_param_text() to hdrs/elmlib.h and
          lib/state_out.c     
        - Added struct pager_param_value routines with
          lib/pager_range.c 
        - Added stringbuffer_add_entity() and
          stringbuffer_add_pager_param() to hdrs/elmlib.h and
          lib/stringbuffer.c 
        - Added new_out_entity(), free_out_entity(),
          inc_out_entity_refcount(), out_entity_reference_key(),
          out_entity_text_value(), out_entity_unicode_value(),
          and dup_out_entity()
          to hdrs/elmlib.h and lib/out_entity.c
        - Added missing fclose(f) to parse_hash_mark_entries()
        - Change on dump_aliases_map()
        - Changed exit status handling on elmregister.
        - Possible fix for state_putunicode() on lib/state_out.c
        - Moved inc_pager_range_refcount() from hdrs/pg_range_imp.h
          to hdrs/elmlib.h
        - Potential fix for string_sort_cmp()
        - Fixed crash when inherited page_range was used
          PAGER RANGE PANIC in .../lib/pager_range.c:562:get_pager_range_serialization_from_file
          >>>Bad data read from file
        - Added new_string_alt_text(), new_string_alt_entity(),
          get_string_alt_value(), inc_string_alt_refcount() and
          free_string_alt() to  hdrs/elmlib.h and lib/string_alt.c
        - Added get_lineext_alt_and_walk()to  hdrs/elmlib.h and
          lib/pager_lineext.c   
        - Added curses_available_string()
          to hdrs/me.h and src/screen/curses.c   
        - Added get_pager_param_from_stringbuffer() to 
          hdrs/me.h and lib/stringbuffer.c
        - Some fixed for error handling of load_terminal_map()
        - Added ANSI_sgr_values[] to hdrs/msiclib.h
          and lib/misc/terminal.c
        - Added pg_set_or_disable_flags() to hdrs/msiclib.h
          and lib/misc/terminal.c
        - Changed get_pager_range_change()
        - Changed malloc_simple_pager_range()
        - Fix for put_pager_range_serialization_to_file()
        - Fix for stringbuffer_add_pager_range()
        - Fix for state_convert_EOLN()
        - Fix for get_decoded_attachment()
        - Added curses_check_terminal() 
          to hdrs/me.h and src/screen/curses.c   
        New tool:
            elmtagfilterents
        New files:
            melib/tagfilter.c
            melib/tagfilter_decode.c
            hdrs/tagfilter_imp.h
            melib/tagfilter_entity.c
            melib/init.c
            doc/elmtagfilent-info
            utils/elmtagfilterents.c
            doc/tagfilter.entities
            ConfTool/GenEntities
            hdrs/convert_status.h
            lib/convert_status.c
            doc/elmtagfilterents.1
            melib/tagfilter_tag.c
            lib/out_entity.c
            melib/tagfilter_enriched.c
            hdrs/elmme-magic.h
            melib/tagfilter_html.c
            hdrs/pg_params_imp.h
            lib/string_alt.c
        New elmrc option:
            editor-tfent-propline
            page-tagfilter

Changes on Elm ME+ 2.5 PLalpha62 compared with Elm ME+ 2.5 PLalpha61

        SUMMARY: This release fixes few crashes.
        - Fixed crash on reconnect when same time is open
          imap mailbox and local folder.   
          MBX PANIC in .../lib/mbox/localmbx.c:5738:mbx_prepare_read_non_spool
          >>>mode == PREPARE_RECONNECT
          Call stack: 7FA4D22B5DC9 7FA4D2C856D7 7FA4D2C64DAD 5555938012D8 5555937FE4C9
           continues: 555593813D57 5555937D5BEF 5555937D7262 5555937A2E17 7FA4D1A0BC87
           continues: 55559374FB4A
          backtrace: 
          /usr/local/lib64/libelmme-base.so.1.1.61(panic+0x1de)[0x7fa4d22b5dc9]
          /usr/local/lib64/libelmme-mbox.so.1.1.61(+0x3a6d7)[0x7fa4d2c856d7]
          /usr/local/lib64/libelmme-mbox.so.1.1.61(prepare_read_folder+0x687)[0x7fa4d2c64dad]
          elm(+0xd82d8)[0x5555938012d8]
          elm(newmbox_1+0x5e7)[0x5555937fe4c9]
          elm(resync+0x4d2)[0x555593813d57]
          elm(+0xacbef)[0x5555937d5bef]
          elm(main_messages_menu+0x17d)[0x5555937d7262]
          elm(main+0xf48)[0x5555937a2e17]
          /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fa4d1a0bc87]
          elm(_start+0x2a)[0x55559374fb4a]
          Press a <enter> to abort or <enter> to exit:
        - Fixed crash on reconnect when same time is open
          imap mailbox and local mailbox.
          MBX PANIC in .../lib/mbox/localmbx.c:5808:mbx_prepare_read_spool
          >>>mode == PREPARE_RECONNECT
          Call stack: 7FAC4D996DC9 7FAC4E364B83 7FAC4E343DAD 55A9DCC072B8 55A9DCC044A9
           continues: 55A9DCC19D37 55A9DCBDBBCF 55A9DCBDD242 55A9DCBA8DF7 7FAC4D0ECC87
           continues: 55A9DCB55B2A
          backtrace: 
          /tmp/TEST/lib64/libelmme-base.so.1.1.61+(panic+0x1de)[0x7fac4d996dc9]
          /tmp/TEST/lib64/libelmme-mbox.so.1.1.61+(+0x3ab83)[0x7fac4e364b83]
          /tmp/TEST/lib64/libelmme-mbox.so.1.1.61+(prepare_read_folder+0x687)[0x7fac4e343dad]
          /tmp/TEST/bin/elm(+0xd82b8)[0x55a9dcc072b8]
          /tmp/TEST/bin/elm(newmbox_1+0x5e7)[0x55a9dcc044a9]
          /tmp/TEST/bin/elm(resync+0x4d2)[0x55a9dcc19d37]
          /tmp/TEST/bin/elm(+0xacbcf)[0x55a9dcbdbbcf]
          /tmp/TEST/bin/elm(main_messages_menu+0x17d)[0x55a9dcbdd242]
          /tmp/TEST/bin/elm(main+0xf48)[0x55a9dcba8df7]
          /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fac4d0ecc87]
          /tmp/TEST/bin/elm(_start+0x2a)[0x55a9dcb55b2a]
          Press <enter> to abort: 
        - Fixed debug output on file_bytes() at lib/file_util.c

Changes on Elm ME+ 2.5 PLalpha61 compared with Elm ME+ 2.5 PLalpha60

        SUMMARY: This release adds -4 (use IPv4) and -6 (use IPv6)
                 options to elm and other commands. This release
                 includes hack for convert bare CR to newline
                 with elmrc option "convert-cr-to-newline-hack".
                 Also some bug fixes and other changes are
                 included.
        - Added options -4 (use IPv4) and -6 (use IPv6) to elm,
          readmsg,fastmail,frm and newmail.
          Both options can be given. If only use IPv4 or
          use IPv6 options are used, that limits some
          connections to IPv6 or IPv4 addresses.
          Does not limit all possible usage.
        - Option combination -46 can be used
          to try first IPv4 connections before IPv6
          connections are tried.
        - Option combination -64 can be used to
          try first IPv6 connections before
          IPv4 connections are tried.
        - Added add_ipv_option() to lib/remote_mbx.c
          and hdrs/elmib.h
        - Options -4 (use IPv4) and -6 (use IPv6) override
          elmrc option "query-address-type" (on resolv:
          -section) when lookup for service address is
          done.
        - Options -4 and -6 works with
               mail-services-lookup = getaddrinfo
          and  mail-services-lookup = resolv:all-addresses
          values of elmrc option.
        > With other values of "mail-services-lookup"
          elmrc option command line options -4 (use IPv4) and
          -6 (use IPv6) may produce unexpected results
          or cause connection failure.
        - Fixed 'z' modifier on elm_vmessage() and
          elm_smessage()
        - Fixed case where elmrc option "resolv:search-mail-service"
          was not set default value properly.
        - Added post_init_shared_options1(), and
          post_init_shared_opt1() to hdrs/shared_imp.h
          and lib/shared.c
        - Changed fastmail, newmail and readmsg usage text.
        - Changed frm help text.
        - Certain sender sends mail with CR (^M) as line
          separator (on content-transfer-encoded body part).
          Added elmrc option "convert-cr-to-newline-hack".
          When set, lone CR on text body part are converted
          to newline. Possible values are
                off             Do not convert lone CR
                on-with-error   Convert lone CR to newline
                                with diagnostic message
                on-silent       Convert lone CR to newline
                                without diagnostic message
          Also boolean ON, OFF, TRUE, FALSE, YES and NO values
          are allowed.
        - Changed newline / CR caching on struct in_state_decode
          or on state_decode routines at melib/state_decode.c
        - Potentially fixed case where CR NUL loses NUL
          when converting newlines on decoded text.
        - Added unsigned int show_error   : 1;
          to struct decode_opts on hdrs/melib.h
        - Print errors to buffer also when replying
          (or forwarding with mail on edit buffer)
        NOTE: Ubuntu 20.04 is observed to need
                 imap.server       imaps; tls:tls-version=tls-1.2
                 smtp.server       submissions; tls:tls-version=tls-1.2
              on .elm/mail.services when imap server and
              submission server are used. Record messages with
              --messages=message.log elm ME+ comannd line option and
              look TLS error from message.log.
        - Fixed debug output crash on prompt_expanded_address()
          at src/addr_prompt.c.

Changes on Elm ME+ 2.5 PLalpha60 compared with Elm ME+ 2.5 PLalpha59

        SUMMARY: This release changes "Mailcap program selection"
                 and adds elmrc option "mailcap-select-other". This
                 release adds listing of aliases with TABulator
                 to few address prompts.  Also some other changes
                 are included and bugs fixed.
        - Do no allow -f name option twice on fastmail -command.
        - Tell that both -f name and -F address options
          are not allowed together  on fastmail -command.
        - Giving -F address option on fastmail -command now discards
          address read from ~/.elm/elmheaders file
          (before that -F option just appended new address).
        - Allow -f name option on fastmail -command set phrase
          of From address if  ~/.elm/elmheaders file gives just
          one From address.
        - Fixed port_imaponly_masks [] on htrem_have_connection()
          at lib/mbox/hashmark_remote.c
        - Fixed port_imaponly_masks [] on make_remote_mbox()
          at lib/mbox/remote_mbx.c
        - Fixed port_masks [] on submission_mailer_info_init()
          at shared_libs/smtp/smtp.c
        - Fixed port_masks [] on  submission_mailer_info_rs_hook()
          at shared_libs/smtp/smtp.c
        - Fixed debug output on bgconnect_got_connection()
          at lib/remote_mbx.c
        - Do not ask program on "Mailcap program selection"
          if later part is skipped as attachment
        - Added  mime_disposition_names[] to hdrs/melib.h
          and melib/mime.c
        - Changed DISPOSITION() macro on hdrs/melib.h
        - Renamed debug_f() to mime_debug_classify_f()
          and exported from melib/mime_selector.c and
          removed other static copies.
        - Passed  struct header_rec * hdr to mime_classify_media()
          on parse_mime_headers1() at melib/mime_parse.c
        - Changed prototype of mime_classify_media() 
        - Added elmrc option "mailcap-select-other". If
          it is set (default), "Mailcap program selection"
          screen shows o)ther alternative programs.
          Setting this option means that "test="
          commands from all mailcap entries for given type
          is executed and if test succeed, these entries
          are added as o)ther alternatives. If elmrc
          option "mailcap-select-other" is not set,
          "test=" commands from mailcap entries
          for given type is executed until some test
          succeed (or mailcap entry without "test="
          is found for given type).
        - Added struct mailcap_entry      ** other_entries;
          and size_t                       num_other_entries;
          to struct mime_selected_handler on hdrs/melib.h
        - Some changes on prompt_programs() at src/showmsg.c
        - Added struct prompt_programs_list to hdrs/me.h
          (was struct prompt_list on  src/showmsg.c)
        - Added check_mailcap_view_cmd() to src/showmsg.c
          and hdrs/me.h
        - Added prompt_mailcap_other() to src/mailcap_sel.c
          and hdrs/me.h
        - Allow space to move to next entry on
          "Mailcap program selection" even when there is
          question if it is already answered.
        - Moved struct mailcap_vector from melib/mailcap.c to
          hdrs/mailcap_imp.h
        - Moved struct mailcap_entry from melib/mailcap.c to
          hdrs/mailcap_imp.h
        - Added char quote_char to struct mailcap_vector
          on  hdrs/mailcap_imp.h for printing purposed.
        - Possible fix for need_meta() on src/showmsg.c
        - Moved "Mail Quota Screen" title to second line
          from first line.
        - Added struct hdrmenu_context to hdrs/me.h
        - Added clear_hdrmenu_context() to hdrs/me.h
          and src/hdrconfg.c
        - Changed prototype of presend_action() on
          hdrs/me.h
        - Added listing of aliases with TABulator
          to T)o:, C)c: and B)cc: -commands
          on "Mail Pre-Send Screen".
          R)eturn-path: -command does not show
          listing  of aliases on "Mail Pre-Send Screen"..
        - Added  listing of aliases with TABulator
          to address prompts on "Message Header Edit Screen".
        - Added listing of aliases with TABulator
          to T)o: -command on "Bounce Pre-Send Screen".
          R)eturn-path: -command does not show
          listing  of aliases on "Bounce Pre-Send Screen".
        - Fixed memory leak on add_surface() at src/addr_prompt.c
        - Fixed memory leak on expanded_to_tokenized() at src/addr_prompt.c
        New elmrc option:
            mailcap-select-other
        New files:
            src/mailcap_sel.c
            hdrs/mailcap_imp.h

Changes on Elm ME+ 2.5 PLalpha59 compared with Elm ME+ 2.5 PLalpha58

        SUMMARY: This release fixes some compiling errors and
                 warnings. This releases adds aliases listing
                 (available with TABulator key) to To: and
                 CC: -prompts for m)ail, b)ounce and r)eply
                 commands.  Also some other changes are
                 included and bugs fixed.
        - "/usr/bin/ld: outheaders.o:(.bss+0x0): multiple definition of `attribution_s'; mailer.o:(.bss+0x0): first defined here
           /usr/bin/ld: outheaders.o:(.bss+0x8): multiple definition of `fwdattribution_s'; mailer.o:(.bss+0x8): first defined here"
         Reported by: Noam G. Nudelman
        > Added missing extern to struct string * attribution_s and
          struct string * fwdattribution_s on hdrs/elmlib.h
        - "elmregister.c: In function ‘copy_dir’:
           elmregister.c:2234:21: warning: גparse_log_tailג accessing 1034 bytes in a region of size 1024 [-Wstringop-overflow=]
            2234 |                     parse_log_tail(&L1,buffer,L,module_ptr,command_ptr,user_ptr,
                 |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            2235 |                                    group_ptr,mode_ptr,args_ptr,argnum);
                 |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
         Reported by: Noam G. Nudelman
        > Unify parse_log_tail() buffer reservation on
          utils/elmregister.c
        - "elmregister.c: In function ‘copy_dir’:
           elmregister.c:2234:21: warning: ‘parse_log_tail’ accessing 1200 bytes in a region of size 4 [-Wstringop-overflow=]
            2234 |                     parse_log_tail(&L1,buffer,L,module_ptr,command_ptr,user_ptr,
                 |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            2235 |                                    group_ptr,mode_ptr,args_ptr,argnum);
                 |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           elmregister.c:2234:21: note: referencing argument 9 of type ‘int *’
           elmregister.c:601:13: note: in a call to function ‘parse_log_tail’
            601 | static void parse_log_tail(l,buffer1,ptr,module_ptr,command_ptr,user_ptr,
                |             ^~~~~~~~~~~~~~"
         Reported by: Noam G. Nudelman
        > Changed int args_ptr[MAX_ARGS] to int *args_ptr on prototype
        - "query.c: In function ‘lookup_resolv_cache_nonblocked’:
           query.c:5213:9: warning: ‘__hostalias’ is deprecated: use getaddrinfo instead [-Wdeprecated-declarations]
            5213 |         } else if (!dots && (alias = hostalias(name))) {
                 |         ^
           In file included from elmresolv.h:27,
                            from query.c:10:
           /usr/include/resolv.h:185:17: note: declared here
             185 | const char *    hostalias (const char *) __THROW
                 |                 ^~~~~~~~~"
         Reported by: Noam G. Nudelman
        > Added Configure test that hostalias() exists and works
          when $HOSTALIASES is set -- this does
          does not remove warning. hostalias() is not anyway useful
          when Elm ME+ is setgid mail, however.
        - Configure of libelme-resolv module asks that
          is hostalias() used directly on module if Elm ME+ is setgid
          or hostalias() is deprecated.
        - Moved hostalias() lookup from lookup_resolv_cache_nonblocked()
          on shared_libs/resolv/query.c to
          query_resolv_cache() on shared_libs/resolv/resolv.c.
          hostname() lookup is now also done when exact name is
          queried without search.
        - ".../resolv/resolvertest2.c: In function ‘main’:
           .../shared_libs/resolv/resolvertest2.c:822:5: warning: ‘__hostalias’ is deprecated: use getaddrinfo instead [-Wdeprecated-declarations]
           822 |     } else if (!dots && (alias = hostalias(name))) {
               |     ^
           In file included from .../shared_libs/resolv/resolvertest2.c:44:
           /usr/include/resolv.h:185:17: note: declared here
           185 | const char *    hostalias (const char *) __THROW
               |                 ^~~~~~~~~"
         Reported by: Noam G. Nudelman
        > Excluded hostalias() from resolvertest2.c
          That is used on Configure and hostalias() is tested
          after resolvertest2.c tests. hostalias()
          is included later on elmresolvertest2 if
          hostalias() was not excluded.
        - Fixed compilation warning
          .../lib/mbox/remote_server.c:103:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
               if (REMOTE_BROWSER_magic != dir->a.remote_browser->magic)
        - Fixed compilation warning
          .../lib/mbox/remote_server.c:2805:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
               if (REMOTE_BROWSER_magic != dir->a.remote_browser->magic)
        - Fixed compilation warning
          .../lib/can_open.c: In function ‘can_open’:
          .../lib/can_open.c:124:31: warning: ?: using integer constants in boolean context, the expression will always evaluate to ‘true’ [-Wint-in-bool-context]
            DPRINT(Debug,(0 == ret) ? 10 : 1, 
                   ~~~~~~~~~~~~~~~~~~~~~~^~~
          .../hdrs/elmlib.h:2396:21: note: in definition of macro ‘DPRINT’
               if (x.active >= level) debug_action_call action; \
                               ^~~~~
        > Changed DPRINT macro
        - Changed also DEBUG_CHECK(), SIGDPRINT() and DEBUG_PRINT_BUFFER()
          macros
        - Fixed compilation warning
          .../lib/digest_wrapper.c: In function ‘digest_proc_equal’:
          .../lib/digest_wrapper.c:473:34: warning: self-comparison always evaluates to false [-Wtautological-compare]
                if (ptr1->digest_result[x]  != ptr1->digest_result[x]) {
                                             ^~  
        > Fixed incorrect result of digest_proc_equal()
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2487:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_94;
            ^~~~
          .../lib/iso2022.c:2488:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G0;
                             ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2498:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_94;
            ^~~~
          .../lib/iso2022.c:2499:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G1;
                             ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2509:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_94;
            ^~~~
            .../lib/iso2022.c:2510:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                               result->bank = bank_G2;
                               ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2520:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_94;
            ^~~~
          .../lib/iso2022.c:2521:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G3;
                             ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2531:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_96;
            ^~~~
          .../lib/iso2022.c:2532:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G1;
                             ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2543:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_96;
            ^~~~
          .../lib/iso2022.c:2544:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G2;
                             ^~~~~~
        - Fixed compilation warning
          .../lib/iso2022.c: In function ‘eat_iso2022_setid’:
          .../lib/iso2022.c:2554:2: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
            else             result->type = iso2022_96;
            ^~~~
          .../lib/iso2022.c:2555:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
                             result->bank = bank_G3;
                             ^~~~~~
        - Fixed compilation warning
          .../shared_libs/tls/tls.c: In function ‘tls_init’:
          .../shared_libs/tls/tls.c:735:6: warning: unused variable ‘z’ [-Wunused-variable]
            int z,l;
                ^
        - Fixed compilation warning
          .../src/alias_display.c: In function ‘ad_set_alias_group_phrase’:
          .../src/alias_display.c:1660:6: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
                if (group_phrase)
                ^~
          .../src/alias_display.c:1663:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
                 redraw1:
                 ^~~~~~~
        - Fixed compilation warning
          .../src/attach_menu.c: In function ‘attach_view_binary’:
          .../src/attach_menu.c:1592:10: warning: self-comparison always evaluates to true [-Wtautological-compare]
             if (cs == cs ||
                    ^~
        > Fixed character set check on attach_view_binary()
        - Fixed compilation warning
          .../src/builtin++.c: In function ‘builtinplusplus’:
          .../src/builtin++.c:714:7: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
                 else
                 ^~~~
        - Fixed compilation warning
          .../src/showmsg_c.c: In function ‘process_showmsg_cmd’:
          .../src/showmsg_c.c:679:6: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
                if (flags & SHOWMSG_NOMAIL)
                ^~
          .../src/showmsg_c.c:682:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
             put_cmd_name(pager_page,TRUE,
             ^~~~~~~~~~~~
        - Fixed case where "Copies to:" prompt is not cleared when
          new address is written - bug was introduced when
          address prompt implementation changed on
          Elm ME+ 2.5 PLalpha58   
        > Changed CleartoEOLN() to menu_CleartoEOLN()
          on enter_helper() at src/enter_helper.c
        - Added listing of aliases to
                "Send the message to: "
          and   "Copies to: "
          prompts of m)ail command with TABulator. Also
          TABulator shows listing of aliases
          on    "Send the message to: "
          prompt on b)ounce command and
          on    "Copies to: "
          prompt on r)eply command.
        > TABulator do not show aliases address prompts of
          "Mail Pre-Send Screen" and "Message Header Edit Screen".
        - Added w_menu_calculate_rline() to src/screen/def_sceen.h
        - Added w_menu_calculate_rline    * wra_calculate_line;
          to struct  menu_draw_routine
        - Added scommon_calculate_rline() to src/screen/scommon.c
          and src/screen/def_scommon.h
        - Added menu_translate_pos() to src/screen/screen.c
          and hdrs/me.h
        - Added add_one_alias_to_expanded() to src/addr_util.c and
          and hdrs/me.h
        - Added full_page_r         * full_page; to struct enter_info
        - Added default_full_page()  to hdrs/me.h and src/enter_helper.c
        - Added more check_changes() calls to cur_ReadCh2() on src/screen/curs_input.c
        - Changed resize and redraw handling on cur_ReadCh2()
        - Changed waiting on  cur_ReadCh2()
        - Added wait_for_action_or_timeout_f() to hdrs/elmlib.h
          and lib/schedule.c
        - Added prompt_hint_r       * prompt_hint; to struct enter_info
        - Added default_prompt_hint() to hdrs/me.h and src/enter_helper.c
        - Changed sort_aliases() call on set_aview_alias_mode()
          at src/alias.c
        - Changed prototype of sort_aliases()
        - Fixed crash on debug output on build_address_l()
          SIGNAL PANIC in .../src/signals.c:144:segv_signal
          >>>
          Segment Violation signal!
          Call stack: 7FF9F99BAB34 55BF908911DD 7FF9F912DF10 7FF9F927D461 7FF9F9998086
           continues: 7FF9F9998B5F 55BF907B49DD 55BF907AD4BF 55BF907AFCC7 55BF9082C5CA
           continues: 55BF9082CFC4 55BF9082DB43 55BF9082DCF2 55BF907F8AC0 55BF90829D45
           continues: 55BF9082B5E5 55BF907FBED5 7FF9F9110C87 55BF907AB87A
          backtrace: 
          .../lib64/libelmme-base.so.1.1.58+(panic+0x1de)[0x7ff9f99bab34]
          .../bin/elm(segv_signal+0x80)[0x55bf908911dd]
          /lib/x86_64-linux-gnu/libc.so.6(+0x3ef10)[0x7ff9f912df10]
          /lib/x86_64-linux-gnu/libc.so.6(+0x18e461)[0x7ff9f927d461]
          .../lib64/libelmme-base.so.1.1.58+(+0x56086)[0x7ff9f9998086]
          .../lib64/libelmme-base.so.1.1.58+(debug_action_call+0x6b2)[0x7ff9f9998b5f]
          .../bin/elm(build_address_l+0x1264)[0x55bf907b49dd]
          .../bin/elm(+0x284bf)[0x55bf907ad4bf]
          .../bin/elm(prompt_expanded_address+0xc7c)[0x55bf907afcc7]
          .../bin/elm(get_to+0x4e2)[0x55bf9082c5ca]
          .../bin/elm(send_msg_middle2+0x36f)[0x55bf9082cfc4]
          .../bin/elm(send_msg_middle+0x19b)[0x55bf9082db43]
          .../bin/elm(send_msg_l+0x17a)[0x55bf9082dcf2]
          .../bin/elm(mailbox_command+0xf73)[0x55bf907f8ac0]
          .../bin/elm(+0xa4d45)[0x55bf90829d45]
          .../bin/elm(main_messages_menu+0x17d)[0x55bf9082b5e5]
          .../bin/elm(main+0xf48)[0x55bf907fbed5]
          /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7ff9f9110c87]
          /tmp/TEST/bin/elm(_start+0x2a)[0x55bf907ab87a]
          Press <enter> to abort: 
        - Fixed string_need_quote() on lib/stringtok.c

Changes on Elm ME+ 2.5 PLalpha58 compared with Elm ME+ 2.5 PLalpha57

        SUMMARY: This release adds "Implicit TLS" (RFC 8314)
                 for imap, pop and submission protocols. This
                 is controlled with new elmrc option "use-tls".
                 This release uses openssl's X509_check_host().
                 This release changes address prompts and fixes
                 crash when folder browser login prompt from
                 #hashmark is interrupted with Ctrl-C. Also
                 some other changes are included and bugs fixed.
        RFC 8314: Use of TLS for Email Submission/Access
        - Added "Implicit TLS" (separate tcp port) for imap,
          pop, submission which is tried first before
          imap, pop, submission (and STARTTLS after that)
          is tried. Implicit TLS is available only
          when libelmme-tls module is loaded. This
          is controlled with new elm.rc option "use-tls".
        - Added keyword "submissions" to  to mail.services.
          RFC 8314 registers tcp port 465 for
          "Message Submission over TLS protocol".
        > Port 465 is also registered  for
          "URL Rendesvous Directory for SSM"
        > Historically port 465 was registered for
          smtps, but this was revoked (smtp uses
          MX records, which do not specify port).
        - Added service_type_defport(), enumerate_service_type(),
          init_enum_service_type(), init_enum_service_list(),
          convert_service_entry()       
          to lib/service_list.c and hdrs/connection_imp.h
        - Added elmrc option "use-tls".
          Option includes list of keywords:
               none            None of values are selected
               implicit-tls    Use "Implicit TLS" (separate tcp port)
                               for imap, pop, submission which is tried
                               first before imap, pop, submission
                               (and STARTTLS after that) is tried.
               starttls        libbelmme-tls module uses STARTTLS
                               (IMAP, SMTP) or STLS (POP) if command
                               is available. This is default.
              verify-tls-certificate         connection must use tls
                                             and server certificate
                                             must have valid   
              require-tls-peer-name          connection must use tls
                                             and certificates's CN must
                                             match
              display-check-host             display X509_check_host()
                                             matching when login
          The  "use-tls"  elm.rc option accepts two forms:             
            - Absolute form where used options are listed
            - Additive form where changes from compile
               time default are listed:
               +implicit-tls    -implicit-tls
               +starttls        -starttls
               +verify-tls-certificate
               -verify-tls-certificate
               +require-tls-peer-name
               -require-tls-peer-name
               +display-check-host
               -display-check-host
        These two forms can not be mixed.  
        - Allowed disabling automatic use of STARTTLS
          (IMAP, SMTP) or STLS (POP) commands by using of
                 use-tls = none
          or     use-tls = -starttls
        - Specifying tls:starttls-version on
          ~/.elm/mail.services or on global elm.mailservices
          overrides starttls disable given on use-tls setting.     
        * About same can be done by removing
                 use-connect-library = tls
        - Specifying require-tls-peer-name={name}
          on  ~/.elm/mail.services or on global elm.mailservices
          can used to make 'require-tls-peer-name' on use-tls
          accept also other certificate's CN (or some
          cases other 'Subject Alternative Name' (SAN)) than given
          hostname. 
        - 'require-tls-peer-name' checks certificate's CN
          when correct name is usually certificate's
          'Subject Alternative Name' (SAN) -
          with OpenSSL 1.0.2 or newer 'require-tls-peer-name'
          check also DNS:name from 'Subject Alternative Name' (SAN)
          if name is not IP-address.
        > If 'Subject Alternative Name' (SAN) check is
          not supported, it is usually not good idea to use
          'require-tls-peer-name' on use-tls setting
        - Specifying verify-tls-certificate=off
          on  ~/.elm/mail.services or on global elm.mailservices
          overrides verify-tls-certificate given on use-tls setting.
        - Specifying use-tls-checks=no on ~/.elm/mail.services or on
          global elm.mailservices overrides 'verify-tls-certificate'
          and 'require-tls-peer-name' given on use-tls setting.
        - libbelmme-tls module changes default value of "use-tls"
          if use-config-library elmrc option lists tls.
        - Added RC_change_config() shared_libs/tls/tls.c
        - Added connect_remote_account_2()
          to lib/remote_mbx.c and hdrs/connection_imp.h 
        - Added  browser_passhm_open_ra2()
          to lib/mbox/hashmark_helper.c and hdrs/connection_imp.h       
        - Added hashmark_passhm_open_ra2()
          to lib/mbox/hashmark.c and hdrs/hashmark.h
        - Added hashtype_passhm_open_ra2_f() to hdrs/hashmark_imp.h
        - Added hashtype_passhm_open_ra2_f      * passhm_open_ra2;
          to struct hashtype_actions
        - Added 'Subject Alternative Name' (SAN) support
          to 'require-tls-peer-name' on global elm.mailservices
          and user's ~/.elm/mail.services file.
        - Added 'Subject Alternative Name' (SAN) support
          to 'require-tls-peer-name' flag on "use-tls" elm.rc
          option.
        - Added 'Subject Alternative Name' (SAN) support
          to "require-tls-peer-name" on global elm.hashmarks
          and user's ~/hash.marks file.
        > This 'Subject Alternative Name' (SAN) support requires
          OpenSSL 1.0.2 or newer, which includes X509_check_host()
          function.
        > This 'Subject Alternative Name' (SAN) support only
          checks "DNS:" -names with X509_check_host() and does not
          check "IP:" -names with X509_check_ip().
        - Added Configure (actually shared_libs/tls/config) test
          for X509_check_host()
        - If 'display-check-host' is given  use-tls setting,
          openssl includes  X509_check_host(), hostname is not
          ip address, and X509_check_host() succeed, with IMAP show 
               IMAP login to <host> (verified, host matches) as <user> ...
          or   IMAP login to <host> as <user> (verified, host matches <name>) ...
          instead of
               IMAP login to <host> (verified) as <user> ...
          or   IMAP login to <host> as <user> ... (verified: <cn name>)
          or   IMAP login to <host> as <user> ...
        - If 'display-check-host' is given  use-tls setting,
          openssl includes  X509_check_host(), hostname is not
          ip address, and X509_check_host() succeed, with POP show
               POP login to <host> (verified, host matches) as <user> ...
          or   POP login to <host> as <user> ... (verified, host matches <name>) ...
          instead of
               POP login to <host> (verified) as <user> ...
          or   POP login to <host> as <user> ... (verified: <cn name>)
          or   POP login to <host> as <user> ...
        -  Fixed POP error messages for reading non-existing
           UIDLS file. This error was probably introduced on
              Elm ME+ 2.5 PLalpha55
        - Added mbx_remote_login_msg() to lib/mbox/def_mbox.h
          and lib/mbox/remote_mbx.c   
        - Fixed crash when folder browser login prompt from #hashmark
          is interrupted with Ctrl-C and new hashmark is then
          opened:
                  CONNECTION PANIC in .../lib/mbox/hashmark_remote.c:3080:hashtype_initd_remote
                  >>>hassmark_data is set
                  Call stack: 7F6D8A104A14 7F6D8AB4CEFB 7F6D8AB4015D 7F6D8AB54A7B 7F6D8AB554F5
                   continues: 7F6D8AAE7C9B 7F6D8AAE7FB0 44A036 44D3A3 46DFDC
                   continues: 44E0A9 44E604 4D5CAA 498A40 499B65
                   continues: 46B06F 7F6D89881840 420149
                  backtrace: 
                  .../libelmme-base.so(panic+0x1de)[0x7f6d8a104a14]
                  .../libelmme-mbox.so(+0xb9efb)[0x7f6d8ab4cefb]
                  .../libelmme-mbox.so(hashmark_init_data+0x123)[0x7f6d8ab4015d]
                  .../libelmme-mbox.so(+0xc1a7b)[0x7f6d8ab54a7b]
                  .../libelmme-mbox.so(+0xc24f5)[0x7f6d8ab554f5]
                  .../libelmme-mbox.so(select_dir_item_helper+0x108)[0x7f6d8aae7c9b]
                  .../libelmme-mbox.so(select_dir_item+0x264)[0x7f6d8aae7fb0]
                  .../elm(browser_expand+0x3c9)[0x44a036]
                  .../elm[0x44d3a3]
                  .../elm(enter_helper+0x169c)[0x46dfdc]
                  .../elm[0x44e0a9]
                  .../bin/elm(folder_browser+0x160)[0x44e604]
                  .../bin/elm(change_file+0x19b)[0x4d5caa]
                  .../bin/elm[0x498a40]
                  .../bin/elm(main_messages_menu+0x17d)[0x499b65]
                  .../bin/elm(main+0xf48)[0x46b06f]
                  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f6d89881840]
                  .../elm(_start+0x29)[0x420149]
                  Press a <enter> to abort or <enter> to exit: 
        > Added hashmark_free_data() to browser_change_hashmark()
        - Changed address prompt implementation. Some errors may be
          reported when TAB or ENTER is pressed. On some situations
          address need to be confirmed by pressing ENTER second
          time. However all syntax errors are not reported and do not
          require confirm with pressing ENTER second time.
        - Added prompt_expanded_address() to hdrs/me.h and src/addr_prompt.c
        - Added zero_enter_info() to hdrs/me.h and src/enter_helper.c
        - Added struct address_edit  *address to struct enter_info
        - Added alter_buffer_r      * alter_buffer  to struct enter_info
        - Added default_alter_buffer() to hdrs/me.h and src/enter_helper.c
        - Changed prototype of enter_helper()
        - Added enum token_status  status to  struct string_token
        - Added update_textual_from_tokenized() to  hdrs/me.h and
          and src/addr_util.c
        - Changed prototype of buffer_to_header(), hdr_to_buffer()
        - Make hdr_to_buffer() and buffer_to_header()
          static for src/hdrconfig.c and removed from hdrs/me.h
        - Changed gb_optionally_enter() on src/in_utils.c
        - Possible fix to message_W() on src/out_utils.c
        - Possible fix to expanded_to_edit_buffer() on src/addr_util.c
        - Replaced sprintf() with elm_message() on do_pipe()
          at syscall.c
        New elmrc option:
            use-tls
        New file:
            src/addr_prompt.c

Changes on Elm ME+ 2.5 PLalpha57 compared with Elm ME+ 2.5 PLalpha56

        SUMMARY: This release removes "USENET supported version"
                 string and fixes bogus "Failed to stat mail-file"
                 error message. Also some other small changes
                 or bugs fixes are included.
        - Removed "USENET supported version" from WHAT_STRING
          from hdrs/patchlevel.h. Usenet news (nntp) server
          news.kolumbus.fi is closed since 2021-05-04, and
          Usenet news servers seems rare.
        - Checked possible ctime() failure on mbx_copy_envelope_pop()
        - Checked possible ctime() failure on real_from() debug
        - Checked possible ctime() failure on real_start_we_local()
        - Changed %D (expand date) expansion on fileio.c
        - Some changes on mbx_mark_keep_normal()
        - Checked possible asctime() failure on debug_message() 
        - Added some FOLDER_INFO_magic checks to lib/mbox/localmbx.c
        - Changed to filter_scanlist() on lib/misc/mime_types.c
        - Fixed bogus "Failed to stat mail-file" error message.

Changes on Elm ME+ 2.5 PLalpha56 compared with Elm ME+ 2.5 PLalpha55

        SUMMARY: This release fixes crash when alias with empty
                 address is saved. This releases changes aliases
                 handling. Unordered ~/.elm/elmaliases is rewritten
                 on startup if elmrc option  "user-conf-rewrite"
                 is set (default). New option "conf-merge-locking"
                 controls locking of ~/.elm/elmaliases.
                 Also elm command includes -b<backup-suffix> option.
                 This release fixes some memory leaks reported
                 by valgrind.  Also some other changes are included
                 and bugs fixed.
        - Changed aliases to use struct sortlist
          and sortlist routines on lib/alias/aliases.c 
        * Note: This implementation write aliases to file
                on order. If that is read on older
                versions of ELM ME+, resulting
                binary tree degenerates to linear list.
        - Changed prototype of aliases_map_lookup_alias()
        - Changed prototype of load_aliases_map()
        - If elmrc option "user-conf-rewrite" is set (default),
          ~/.elm/elmaliases is rewritten on elm startup
          if aliases are not on order. In that case
          backup is saved as ~/.elm/elmaliases.YYYY-MM-DD.bck
          if not exists (where YYYY, MM, and DD are numeric
          year, month and day).
        > However "elm -w" does not write backup when
          writing configuration files.
        - Elmrc option "user-conf-rewrite" is ignored
          and  ~/.elm/elmaliases is not written, if
          configure file parsing fails.
        - Added support that aliases (~/.elm/elmaliases)
          are modified on several Elms on same time
          and changes are merged when ~/.elm/elmaliases
          is saved.
        - Aliases file ~/.elm/elmaliases is  exclusively
          (read-write) locked and read for new changes
          before new file ~/.elm/elmaliases.N written
          and then renamed to  ~/.elm/elmaliases.  When lock is
          acquired, writer check that is original file changed
          (replaced with new file), if it is then file reopened and
          locked again before is its read for merge.
        - Locking is controlled with new elmrc option
          "conf-merge-locking". This lock option
          knows following keywords
                none                    None of values are selected
                                        (use value none to disable locking)
                flock                   Use flock() locking. flock() 
                                        does not lock files over NFS.
                fcntl                   Use fcntl() locking.    
        - Added edited_address_alias() to lib/addr/def_alias.h
          and lib/addr/address_alias.c
        - Added merge_aliases_map() to hdrs/aliaslib.h
          and lib/addr/aliases.c
        - If some aliases are deleted from  ~/.elm/elmaliases
          when changes from it is merged to new  ~/.elm/elmaliases(.N),
          deleted aliases are show with letter 'X' (as eXpunged)
          on Alias mode -screen.
        - Added aliases_map_deleted_alias() to hdrs/aliaslib.h
          and lib/alias/aliases.c
        - Changed show_alias_status(), rebuild_aliasview(),
          update_aview()
        - Added am_deleted_alias() to src/aliases/def_aliases.h
          and src/aliases/aliases_map.c
        - Fixed '$' command on a)lias -screen that
          it does not print "Updating aliases" 
          if aliases are not deleted or added
          (actually .elm/elmaliases is not
           written on that situation)
        [ That spurious updating message was probably
          introduced on Elm ME+ 2.5 PLalpha19 ]
        - Changed that '$' command on a)lias -screen
          read and merges aliases when  .elm/elmaliases
          is changed (also when there is no
          aliases to be deleted or added for
          writing .elm/elmaliases file).
        - Added test_file_changes() to hdrs/aliaslib.h and
          lib/alias/aliases.c
        - Changed prototype of  dump_aliases_map()
        - Added file_changed_aliasview() to hdrs/me.h and
          src/aliases/aliases.c
        - Changed prototype of dump_conf_map_f()
        - Added -b<backup-suffix> option to elm. Elm checks first that
          there is no files in form <config file><backup-suffix> exists
          when -b<backup-suffix> option is used.   
        - Command -wb<backup-suffix>  causes that config
          file <config file> is preserved as 
          <config file><backup-suffix> when file <config file> rewritten.
        - Option  -b<backup-suffix> without -w changes backup
          file used with elmrc option "user-conf-rewrite".
        - Added check_conf_backup_suffix() and
          check_file_backup_suffix() to hdrs/misclib.h
          and lib/misc/conf_writer.c
        - Changed prototype of save_options()
        - Added check_options_backup_suffix() to hdrs/me.h
          and src/save_opts.c
        * Without -b option ~/.elm/elmrc is saved to
          .elm/elmrc.old when -w option is given.
        * Note: Backup  .elm/elmrc.old is still used
          when ~/.elm/elmrc is saved with '>' command
          on o)ptions screen.
        - Added new_string_sort(), free_string_sort()
          and string_sort_cmp(), give_string_from_string_sort()
          inc_string_sort_refcount() to hdrs/elmlib.h and
          lib/string_sort.c    
        - Added  int refcount; to struct string
        - Added  inc_string_refcount() to hdrs/cs_imp.h
          and lib/string.c
        - Added cs_unicode_vector_from_string() to
          hdrs/cs_imp.h
        - Added  cs_unicode_vector_from_default() and
          cs_unicode_vector_from_null() to hdrs/cs_imp.h
          and lib/string.c 
        - Changed prototype of safeopen(),  safeopen_rdwr(),
          register_conf_write(),
          write_conf(), search_sort_list_item()
        - Changed safeopen(),  safeopen_rdwr() to use
          common safeopen_core()
        - Moved some locking routines from  lib/mbox/localmbx.c
          to lib/misc/filelock.c 
        - Added filelock_fd to lib/misc/filelock.c and
          hdrs/misclib.h 
        - Changed GrabRead_the_file(),
          Grab_the_file() and Release_the_file()
          to use filelock_fd()  
        - Changed prototype of Release_the_file()
        - Changed  mbx_syscall_unlock_file to use filelock_fd()
        - Fixed valgrind reported memory leak:
          124 bytes in 1 blocks are definitely lost in loss record 380 of 511
             at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CDFFF4: safe_realloc (safemalloc.c:115)
             by 0x5D3EAAA: strmcat (strmcpy.c:44)
             by 0x55C9A46: message_id_func (message-id.c:2261)
             by 0x5CAF626: dt_FUNC_print_value (rc_handle.c:1091)
             by 0x5CAC88A: dt_DELAY_print_value (rc_delay.c:458)
             by 0x5D4D8ED: write_option (write_rc.c:291)
             by 0x5D4DD3D: write_rc_part (write_rc.c:407)
             by 0x5D4F8AA: write_rc (write_rc.c:919)
             by 0x4F1184: save_options (save_opts.c:163)
             by 0x489F56: initialize (init.c:715)
             by 0x4699EA: main (elm.c:1402)
        - Fixed valgrind reported memory leak:
          41 bytes in 2 blocks are definitely lost in loss record 323 of 510
            at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
            by 0x5CDFC94: safe_malloc (safemalloc.c:60)
            by 0x5C7C05E: cs_stream_from_utf8 (cs_utf.c:747)
            by 0x5D3556D: bytestream_from_string (string.c:1482)
            by 0x5CAD829: sconvert_to_rcset (rc_handle.c:132)
            by 0x5CB7FF0: dt_STRING_print_value (rc_handle.c:4304)
            by 0x5D4D8ED: write_option (write_rc.c:291)
            by 0x5D4DD3D: write_rc_part (write_rc.c:407)
            by 0x5D4F8AA: write_rc (write_rc.c:919)
            by 0x4F1184: save_options (save_opts.c:163)
            by 0x489F56: initialize (init.c:715)
            by 0x4699EA: main (elm.c:1402)
         - Fixed crash which occurs when alias with empty address is saved:
                 SIGNAL PANIC in .../src/signals.c:144:segv_signal
                 >>>
                 Segment Violation signal!
                 Call stack: 7F81788496AC 4FE6E1 7F8177FDB4C0 7F8178D7BEF1 7F8178B56F85
                  continues: 52F2AE 52A4B1 4299E6 4290E4 466B3D
                  continues: 497CE4 499584 46ABA0 7F8177FC6840 41FD89
                 backtrace: 
                 ../lib64/libelmme-base.so.1.1.55+(panic+0x1de)[0x7f81788496ac]
                 ../bin/elm(segv_signal+0x80)[0x4fe6e1]
                 /lib/x86_64-linux-gnu/libc.so.6(+0x354c0)[0x7f8177fdb4c0]
                 ../lib64/libelmme-addr.so.1.1.55+(address_to_str+0x8f)[0x7f8178d7bef1]
                 ../lib64/libelmme-alias.so.1.1.55+(dump_aliases_map+0x78d)[0x7f8178b56f85]
        - Added address_is_empty() to hdrs/addrlib and lib/addr/address.c
        - Changed parse_one_tokenized_address() on lib/addr/parsestring.c
        - Changed parse_one_address() on  lib/addr/getaddr.c
        - Changed ad_set_alias_person_address() on arc/alias-display.c
        - Changed alias_info_update() on src/alias_info.c
        - Changed sb_update_alias_info_part on arc/alias-display.c
        - Changed do_expand_alias_tail() on lib/alias/aliasexpand.c
        - Changed some hdrs/elm_defs.h defines to enum
        - Changed thread view to use struct sortlist
          and sortlist routines on lib/alias/aliases.c
        - Added fix for handling of invalid date
          to update_mailbox_threads() on src/messages/thread.c
        - Used struct string_sort on struct thread_info
        - Changed time_sent_compare()
        - Changed compare_threads_1()
        - Added compare_threads_1_sentd(),
          compare_threads_1_revsentd() to hdrs/me.h
          and src/thread.c
        - Fixed valgrind reported memory leak:
         57,204 (45,880 direct, 11,324 indirect) bytes in 1 blocks are definitely lost in loss record 1,608 of 1,614
            at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
            by 0x5CE87EE: safe_array_realloc (safemalloc.c:263)
            by 0x50CD9A: sort_threads (thread.c:305)
            by 0x51085C: ViewThreads (thread.c:1522)
            by 0x46F649: h_view_threads (extended.c:285)
            by 0x4706AF: extended_command (extended.c:782)
            by 0x467459: mailbox_command (elm.c:301)
            by 0x4981FB: main_messages_loop (mailbox.c:315)
            by 0x499A9B: main_messages_menu (mailbox.c:964)
            by 0x46B09E: main (elm.c:1677)
        - Cast dev_t and ino_t to long on printing.
        New elmrc options:
            user-conf-rewrite
            conf-merge-locking
        New files:
            lib/misc/filelock.c
            hdrs/filelock.h
            lib/string_sort.c    

Changes on Elm ME+ 2.5 PLalpha55 compared with Elm ME+ 2.5 PLalpha54

        SUMMARY: This release fixes some memory errors reported
                 by valgrind. Delivery status notifications (DSNs)
                 are  stored to =dsn folder instead of =received
                 folder when mailbox is leaved with new elmrc
                 option "dsnmail" on this release. This release
                 changes how UIDL listing of POP mailboxes are
                 handled. This release adds new "dsn" criteria
                 to l)imit command. This release changes default
                 target for DSN mail on s)save command to folder
                 given on elmrc option "dsnmail".
        - Added elmrc option "dsnmail", which default value is "=dsn".
          If this is set (not none), read delivery status notifications
          are stored that folder and not to folder specified on
          "receivedmail". Also default folder for delivery status
          notifications is folder given on elmrc option "dsnmail", when
          using s)ave command.  
        * Setting
             dsnmail = none
          disabled special processing of delivery status notifications
          when mailbox is left.
        * s)ave command does not use elmrc option "dsnmail", if
          that folder is already open. If "folder-locking" is
          enabled, saving to open folder does not work.
        - Reserved [...] for folder name tags on folder expansion.
        - Tag [dsn] indicates folder given on elmrc option "dsnmail".
        - Added mime_type_is_dsn() to melib/mime.c and hdrs/melib.h
        * Only Content-Type
               multipart/report; report-type=delivery-status
          is considered to be delivery status notification.
        - Added letter 'd' as second status letter on mailbox menu
          for  delivery status notification.
        - Changed how messages are saved on sync_mbox()
        - Added question
                Move read notifications to "dsn" folder? (y/n)
          or
                Move read notifications to "dsn" or r)eceived folder? (y/n/r)
        - Question
                Keep unread message in incoming mailbox? (y/n)
          apply only to same type messages (normal or dsn)
          than which unread messages are moved to received
          or dsn folder.
        * If
                Move read messages to "received" folder? (y/n)
          or
                Move read notifications to "dsn" folder? (y/n)
          is answered 'n' (no), then also unread messages
          are also kept, even when question
                Keep unread message in incoming mailbox? (y/n)
          is answered 'n' (no).
        - Changed question
                Keep unread message in incoming mailbox? (y/n)
          to
                Keep unread notifications in incoming mailbox? (y/n) y
          when all unread messages are delivery status
          notifications.
        - Changed initialization of "receivedmail" and "sentmail"
          elmrc options.
        - Changed how default target is handled on save()
        - Added "dsn" to l)imit criteria.  
        - Added lib/sortlist.c   
        - Added alloc_sort_list(), free_sort_list(),
          prealloc_sort_list(),  sort_list_len(),
          get_sort_list_item(), get_sort_list_debug_name(),
          and search_sort_list_item()
          to hdrs/elmlib.h and lib/sortlist.c
        * search_sort_list_item() is generalization of
          give_resolv_cache() from shared_libs/resolv/resolv.c
        - Changed  cache_items to use struct sortlist
          and sortlist routines on
          shared_libs/resolv/resolv.c 
        - Changed POP uidl cache to use struct sortlist
          and sortlist routines on shared_libs/resolv/resolv.c
        * Note: This implementation write uidls to file
                on order. If that is read on older
                versions of ELM ME+, resulting
                binary tree degenerates to linear list.
        - This release removes old unused UIDLs,
          which are no longer on mailbox, from POP uidl cache.
        - Exported GrabRead_the_file() from lib/mbox/localmbx.c
          and added to hdrs/mboxlib.h
        - Clear new part of allocated area
          on resize_resolv_message()
        - Possibly fixed valgrind reported error:
          Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
             at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
             by 0x7A2A746: write_message (query.c:437)
             by 0x7A31F95: resolv_write_message (query.c:2547)
             by 0x5CEA1D6: real_wait_select (schedule.c:2017)
             by 0x5CED01D: real_wait (schedule.c:2500)
             by 0x5CEEBF5: wait_for_something (schedule.c:2829)
             by 0x5CF0C71: wait_for_action_or_timeout_settime_c (schedule.c:3241)
             by 0x7A38CC5: resolv_wait_answer (query.c:4143)
             by 0x7A3AE7F: end_query_helper (query.c:4810)
             by 0x7A3B969: lookup_resolv_cache_nonblocked (query.c:5020)
             by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
             by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
           Address 0x8aacfc4 is 84 bytes inside a block of size 152 alloc'd
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
             by 0x7A2C211: new_resolv_message_state (query.c:1051)
             by 0x7A33014: give_resolv_process (query.c:2788)
             by 0x7A33C0D: have_non_blocking_qm (query.c:2958)
             by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
             by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
             by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
             by 0x5CFE110: service_entry_hook (service_list.c:2681)
             by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
             by 0x5D02B37: give_service_entry5 (service_list.c:4129)
             by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
           Uninitialised value was created by a stack allocation
             at 0x7A3114B: resolv_write_message (query.c:2359)
        - Possibly fixed valgrind reported error:
          Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
             at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
             by 0x7A2A746: write_message (query.c:439)
             by 0x7A32044: resolv_write_message (query.c:2564)
             by 0x5CEA1D6: real_wait_select (schedule.c:2017)
             by 0x5CED01D: real_wait (schedule.c:2500)
             by 0x5CEEBF5: wait_for_something (schedule.c:2829)
             by 0x5CF1D5A: wait_for_action_or_deadline_settime_c (schedule.c:3479)
             by 0x7A38E37: resolv_wait_answer (query.c:4171)
             by 0x7A3AF2E: end_query_helper (query.c:4827)
             by 0x7A3BA18: lookup_resolv_cache_nonblocked (query.c:5037)
             by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
             by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
           Address 0x8a896b4 is 84 bytes inside a block of size 152 alloc'd
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
             by 0x7A2C211: new_resolv_message_state (query.c:1053)
             by 0x7A330C3: give_resolv_process (query.c:2805)
             by 0x7A33CBC: have_non_blocking_qm (query.c:2975)
             by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
             by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
             by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
             by 0x5CFE110: service_entry_hook (service_list.c:2681)
             by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
             by 0x5D02B37: give_service_entry5 (service_list.c:4129)
             by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
           Uninitialised value was created by a heap allocation
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD2445: safe_malloc (safemalloc.c:60)
             by 0x7A2984B: new_resolv_query_hdr (query.c:63)
             by 0x7A37181: query_one_name (query.c:3769)
             by 0x7A3B9D9: lookup_resolv_cache_nonblocked (query.c:5031)
             by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
             by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
             by 0x7A1FE26: query_resolv_cache (resolv.c:3311)
             by 0x7A260AF: lookup_service_addresses2 (resolv.c:5037)
             by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
             by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
             by 0x5CFE110: service_entry_hook (service_list.c:2681)
        - Used bzero() for  union xxx_rand initialization of
          real_wait_select() and real_wait_poll(). This tries
          avoid valgrind's uninitialized memory warnings
          (although uninitialized bytes does not really harm
           because that data is feed to random generator).
        - Added int nested_FreeStreamStack0; to struct streamsched
        - Fixed valgrind reported error:
          Invalid read of size 8
             at 0x5D1C5CC: ss_FreeSocket (streamsched.c:235)
             by 0x5D1DD96: free_stack (streamsched.c:757)
             by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
             by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
             by 0x5316A2C: mbx_close_pop (pop.c:1851)
             by 0x52BB7AC: close_folder (mbox.c:1038)
             by 0x48E471: close_cleanup_mbox (leavembox.c:745)
             by 0x4D475A: quit (quit.c:150)
             by 0x498AB5: main_messages_loop (mailbox.c:819)
             by 0x498EB2: main_messages_menu (mailbox.c:964)
             by 0x46A5BC: main (elm.c:1677)
           Address 0x8ab2270 is 80 bytes inside a block of size 104 free'd
             at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD34C5: safe_free (safemalloc.c:354)
             by 0x5D21E51: FreeStreamStack0 (streamsched.c:1950)
             by 0x5D1DAF2: free_ss_data (streamsched.c:704)
             by 0x5CE1509: remove_action0 (schedule.c:175)
             by 0x5CE4942: clear_action_idx (schedule.c:812)
             by 0x5CE4AEE: clear_action0 (schedule.c:837)
             by 0x5D1C5C7: ss_FreeSocket (streamsched.c:231)
             by 0x5D1DD96: free_stack (streamsched.c:757)
             by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
             by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
             by 0x5316A2C: mbx_close_pop (pop.c:1851)
             by 0x52BB7AC: close_folder (mbox.c:1038)
             by 0x48E471: close_cleanup_mbox (leavembox.c:745)
             by 0x4D475A: quit (quit.c:150)
             by 0x498AB5: main_messages_loop (mailbox.c:819)
             by 0x498EB2: main_messages_menu (mailbox.c:964)
             by 0x46A5BC: main (elm.c:1677)
           Block was alloc'd at
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
             by 0x5D21660: returnSimpleStream (streamsched.c:1771)
             by 0x5CCCC17: connect_remote_account (remote_mbx.c:4189)
             by 0x535CC35: htrem_have_connection (hashmark_remote.c:3897)
             by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
             by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
             by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
             by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
             by 0x52F6F2F: select_dir_item (savefolder.c:5088)
             by 0x44958D: browser_expand (browser.c:707)
             by 0x44C8FA: gb_browser (browser.c:1966)
             by 0x46D509: enter_helper (enter_helper.c:426)
             by 0x44D600: run_browser (browser.c:2326)
             by 0x450010: gen_browser (browser.c:3334)
             by 0x488220: select_folder (init.c:89)
             by 0x48A9F9: initialize_mailbox (init.c:980)
             by 0x498E4E: main_messages_menu (mailbox.c:951)
             by 0x46A5BC: main (elm.c:1677)
        - Possibly fixed valgrind reported error:
          Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
            at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
            by 0x7A2A746: write_message (query.c:444)
            by 0x7A32044: resolv_write_message (query.c:2573)
            by 0x5CEA1EF: real_wait_select (schedule.c:2021)
            by 0x5CED04C: real_wait (schedule.c:2509)
            by 0x5CEEC24: wait_for_something (schedule.c:2838)
            by 0x5CF0DEC: wait_for_action_or_timeout (schedule.c:3271)
            by 0x7A34BC4: free_non_blocking_qm (query.c:3235)
            by 0x7A295F6: free_shared_cache (resolv.c:5948)
            by 0x5CD9D80: free_shared_cache1 (shared.c:2010)
            by 0x5CDA184: free_shared_caches (shared.c:2067)
            by 0x50AD0E: leave (utils.c:440)
            by 0x46A78B: main (elm.c:1719)
          Address 0x8a72914 is 84 bytes inside a block of size 152 alloc'd
            at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
            by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
            by 0x7A2C211: new_resolv_message_state (query.c:1058)
            by 0x7A330C3: give_resolv_process (query.c:2814)
            by 0x7A33CBC: have_non_blocking_qm (query.c:2984)
            by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
            by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
            by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
            by 0x5CFE13F: service_entry_hook (service_list.c:2681)
            by 0x5D000E2: gse_scan_hostname (service_list.c:3277)
            by 0x5D02B66: give_service_entry5 (service_list.c:4129)
            by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
            by 0x535C89F: htrem_have_connection (hashmark_remote.c:3829)
            by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
            by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
            by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
            by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
            by 0x52F6F2F: select_dir_item (savefolder.c:5088)
            by 0x44958D: browser_expand (browser.c:707)
            by 0x44C8FA: gb_browser (browser.c:1966)
          Uninitialised value was created by a stack allocation
            at 0x7A17790: ??? (in /tmp/TEST/lib64/libelmme-resolv.so.1.1.54+)
        - Fixed valgrind reported memory leak:
          6 bytes in 2 blocks are definitely lost in loss record 125 of 3,254
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD2445: safe_malloc (safemalloc.c:60)
             by 0x531C832: pop_got_line (pop.c:3636)
             by 0x531CF8E: mbx_copy_header_pop (pop.c:3771)
             by 0x52C5E72: copy_header_folder (mbox.c:3495)
             by 0x5325CBB: read_folder_headers (headers.c:404)
             by 0x52BF1EA: copy_envelope_folder (mbox.c:1842)
             by 0x4C286F: read_headers (newmbox.c:1842)
             by 0x4BF44A: newmbox_1 (newmbox.c:722)
             by 0x48AF47: initialize_mailbox (init.c:1095)
             by 0x498E4E: main_messages_menu (mailbox.c:951)
             by 0x46A5BC: main (elm.c:1677)
        - Fixed valgrind reported memory leak:
          64 (24 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 2,519 of 3,420
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
             by 0x5D22F8D: malloc_string (string.c:85)
             by 0x5D26664: dup_string (string.c:1095)
             by 0x425B64: build_address_l (addr_util.c:1881)
             by 0x499F53: get_to (mailmsg1.c:400)
             by 0x49A363: send_msg_middle2 (mailmsg1.c:530)
             by 0x49AEE2: send_msg_middle (mailmsg1.c:793)
             by 0x49B091: send_msg_l (mailmsg1.c:838)
             by 0x4671CE: mailbox_command (elm.c:503)
             by 0x497612: main_messages_loop (mailbox.c:315)
             by 0x498EB2: main_messages_menu (mailbox.c:964)
             by 0x46A5BC: main (elm.c:1677)
        - Adding closing socket loop to free_non_blocking_qm()
        - Removed extra inc_resolv_query_item_re[f]count(ret)
          from query_one_name()
          ( Renamed inc_resolv_query_item_recount() to inc_resolv_query_item_refcount(). )
        - Fixed valgrind reported memory leak:
          2,502 (144 direct, 2,358 indirect) bytes in 1 blocks are definitely lost in loss record 291 of 302
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
             by 0x7A2BD79: new_resolv_query_item (query.c:918)
             by 0x7A37C6E: query_one_name (query.c:3929)
             by 0x7A3CE23: lookup_resolv_cache_nonblocked (query.c:5327)
             by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
             by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
             by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
             by 0x7A2870B: check_domain_name (resolv.c:5614)
             by 0x55B9A5A: process_one_check_domname (shared_mailer.c:629)
             by 0x55B9D73: shared_check_dname (shared_mailer.c:699)
             by 0x55C589B: check_msg_domain0 (message-id.c:2981)
             by 0x55C628F: check_msg_domain (message-id.c:3109)
             by 0x55CB71D: update_message_id (message-id.c:4236)
             by 0x4A7E62: mail (mailmsg2.c:3625)
             by 0x49ACE4: send_msg_middle2 (mailmsg1.c:737)
             by 0x49AEE5: send_msg_middle (mailmsg1.c:793)
             by 0x49B1C6: send_msg_argv (mailmsg1.c:883)
             by 0x46A2FF: main (elm.c:1623)
        - Removed extra inc_resolv_process_refcount(prx[prx_count])
          from select_resolv_process()
        - Fixed valgrind reported memory leak:
          2,232 (32 direct, 2,200 indirect) bytes in 1 blocks are definitely lost in loss record 239 of 249
            at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
            by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
            by 0x7A2C728: new_resolv_process (query.c:1214)
            by 0x7A338E3: give_resolv_process (query.c:2925)
            by 0x7A373E8: select_resolv_process (query.c:3780)
            by 0x7A384CB: query_one_name (query.c:4072)
            by 0x7A3C5D3: lookup_resolv_cache_nonblocked (query.c:5199)
            by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
            by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
            by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
            by 0x7A22184: verify_mail_domain2 (resolv.c:4117)
            by 0x55B8E28: process_one_verify_domain (shared_mailer.c:415)
            by 0x55B8F81: shared_verify_domain (shared_mailer.c:458)
            by 0x55D021E: verify_mail_domain_util (senderhelper.c:718)
            by 0x422337: build_address_verify_domain (addr_util.c:796)
            by 0x423C2D: build_address_l (addr_util.c:1342)
            by 0x41FEE5: argv_to_expanded (addr_util.c:150)
            by 0x49B17F: send_msg_argv (mailmsg1.c:881)
            by 0x46A2FF: main (elm.c:1623)
        - Added free_mail_quotaroot(&quotaroot); call to  ref_mqr_imap()
        - Fixed valgrind reported memory leak:
          191 (56 direct, 135 indirect) bytes in 1 blocks are definitely lost in loss record 1,418 of 1,573
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5CD15D1: safe_zero_alloc (safemalloc.c:85)
             by 0x5366227: malloc_mail_quotaroot (quota.c:464)
             by 0x536AC97: ref_mqr_imap (imap_quota.c:1117)
             by 0x536BCEC: parse_imap_quota (imap_quota.c:1407)
             by 0x533EA38: parse_response (con_imap.c:2030)
             by 0x5340B2F: imap_read_stream (con_imap.c:2527)
             by 0x5D1BCF3: call_user_read_callback (streamsched.c:427)
             by 0x5D1C3DE: call_read_callback (streamsched.c:531)
             by 0x5D1E8E6: after_action (streamsched.c:1183)
             by 0x5D1C5C6: read_engine (streamsched.c:596)
             by 0x5CE8D40: real_wait_select (schedule.c:1991)
             by 0x5CEC04C: real_wait (schedule.c:2509)
             by 0x5CEDC24: wait_for_something (schedule.c:2838)
             by 0x5CF0444: wait_for_any_action_settime_c (schedule.c:3359)
             by 0x5D1F23C: WaitStreamFor_c (streamsched.c:1343)
             by 0x5341F59: imap_wait_c (con_imap.c:2883)
             by 0x5342BE1: imap_command_ok_c (con_imap.c:3101)
             by 0x536D044: mbx_give_imap_quotar_list (imap_quota.c:1726)
             by 0x52C96B8: give_folder_quotaroot_l (mbox.c:4346)
        New elmrc option:
            dsnmail
        New file:
            lib/sortlist.c

Changes on Elm ME+ 2.5 PLalpha54 compared with Elm ME+ 2.5 PLalpha53

        SUMMARY: This release fixes type=iconv option
                 on .elm/mime.charsets and some other bugs.
                 This release changes size display on
                 mail listing. This release changes handling
                 some bogus 8-bit mail with elmrc options
                 "use-char-set-header-field-hack" and
                 "use-content-type-charset-for-8bit-subject-hack".
                 If getifaddrs() is available, resolv
                 module clears name lookup cache when
                 interfaces addresses change (with
                 elmrc option  "interface-change"
                 on "resolv:" section). Also some other
                 changes are included.
        - Changed sysconf(_SC_SAVED_IDS) call on user_init()
          at lib/read_rc.c
        - Show filename from Content-Disposition header field
          on "MIME structure Menu", if other data is not available.
        - Changed builtin++ pager prompt on end. Specially
          on case where attachments / mime parts are viewed.
        - Also changed metapager prompt on case where attachments /
          mime parts are viewed.
        - Changed metapager return value (when external pager is used).
        - Show size mail on (kilo/mega)bytes on mail listing if
          number of lines is not available, because mail
          on IMAP mailbox was skipped. Number of lines are shown
          inside of (), number of bytes are shows with [].
        - Also use prefixes "k" (kilo) and "M" (mega).
        - Added struct string *size_lines_s to struct header_rec
        - Added make_size_lines() to src/menu_common/message_screen.c
        - Added give_message_menu_size() to src/messages/messages.c
          and hdrs/me.h
        - Added mt_give_message_menu_size() to src/messages/def_messages.h
        - Added mt_give_message_menu_size  * mt_give_message_msize_it
          to struct mailbox_type
        - Added folder_give_message_msize() to lib/mbox/mbox.c
          and hdrs/mboxlib.h
        - Added mbx_give_message_msize_folder() to hdrs/mbx_imp.h
        - Added mbx_give_message_msize_default() to lib/mbox/mbox_generic.c
          and lib/mbox/def_mbox.h
        - Certain sender sends mail with header fields
                 MIME-Version: 1.0
                 Content-Type: text/plain
                 Char-Set: iso-8859-1
          where subject and message body includes
          8-bit (iso-8859-1) data. That Char-Set header field
          is non-standard. Added elmrc option
          "use-char-set-header-field-hack", which enables
          processing this (bogus) header field.  This
          "Char-Set:" handled only on mail's header block
          (non on MIME header's of body part).
        - Added header_trim_whitespace_helper() to hdrs/mboxlib.h
          and lib/mbox/headers.c
        - Added default_body_charset to struct header_rec
        - Changed prototype of mime_decode(), pgp_decode(), pgp_SG_decoder(),
          pgp_EC_decoder(), null_EC_decoder(), null_SG_decoder(),
          partial_decode()
        - Changed prototype of encrypted_decoder(),  signed_decoder(),
          CT_decoder()
        - Certain sender sends mail  where subject  8-bit (iso-8859-1)
          with headers
              Subject: <8-bit iso-8859-1 text>
              MIME-Version: 1.0
              Content-Type: text/plain; charset=iso-8859-1
          Sending raw 8-bit (iso-8859-1) text on subject header
          field  is non-standard. Added elmrc option
          "use-content-type-charset-for-8bit-subject-hack" which
          enables processing Subject: header field with using
          Content-Type header field. 
        - Added unsigned int header_charset_set :1;
          to struct header_rec
        - Changed prototype of  state_write_headers()
        - Added is_cancel_installed() to lib/cancel.c   
        - Changed block_signals() to take account
          possible cancel_data and installed SIGINT
          handler for that.
        - Removed menu_header_status_update() from
          'v' (View parts of message) on mailbox_command()
        - Removed menu_header_status_update() from
          'V' (View parts of message) on mailbox_command()
        * If getifaddrs() is available:
          - Clear name lookup cache of libelmme-resolv.so module
            when interfaces addresses change if "interface-change"
            (on "resolv:" section) have value "clear-cache"
            (default).
          - If address is marked as  interface_loopback,
            then address is not added to "mailname".
          - elmrc aoption "query-address-type" (on resolv:
            -section) value "default" also ignores
            addresses which are marked as  interface_loopback
            when determining if query A (IPv4) or AAAA (IPv6)
            records need to be queried. 
        - Added interface_up to struct interface_addr
        - Added interface_loopback to struct interface_addr
        - Added notify_if_change_f() to shared_libs/include/shared.h
        - Added notify_if_change_p to struct sl_connect_data
        - Added shared_notify_if_change to hdrs/connection_imp.h
          and lib/shared_connect.c
        - Added possible fix to cs_find_pattern_from_unknown()
        - Added possible fix to cs_add_streambyte_to_s_iconv()
        - Added possible fix to cs_soft_reset_s_iconv()
        - Added possible fix to cs_streamclip_from_iconv()
        - Added missing ...->cs_check_length_it() call to
          string_to_long()
        - Added ...->cs_check_length_it() calls to
          cat_strings_internal()
        - Fixed broken type=iconv option on .elm/mime.charsets
          (that was not implemented)
        - Added CS_charset_type_f() to shared_libs/include/shared.h
        - Changed cs_first_type to cs_charset_type on
          struct sl_base_data
        - Fixed compress_unicode() on case where zero length words
           was passed to it.
        New elmrc options:
            use-char-set-header-field-hack
            use-content-type-charset-for-8bit-subject-hack
            resolv:interface-change

Changes on Elm ME+ 2.5 PLalpha53 compared with Elm ME+ 2.5 PLalpha52

        SUMMARY: This release fixes some parsing on address
                 prompts and other bugs. This release changes
                 multipart/related handling and mailcap
                 programs prompt. This release adds X-Mailer:
                 to  ~/.elm/elmheaders file and header editing
                 screen. Also elmconfwriter command includes
                 -b<backup-suffix> option. New elmrc
                 options are "program-identification" and
                 "pagerelated". Also some other changes
                 are included.
        - Added Configure test for __int128 type.
        - If __int128 is available, use that on generation of
          left side (local part) of message id. That is used
          when {localspec} on "generate-message-id" option
          is either "md5" or "/dev/urandom". When __int128
          used these options produce left part without
          dot ('.'). That means there is 1 dot ('.') separated
          "word" on local part ( left side ) of message id.
          Otherwise when unsigned long is 64 bits, there
          is 2  dot ('.') separated "word" on local part
          ( left side ) of message id. And if unsigned long
          is 32 bits, there is 4 dot ('.') separated "word"
          on local part ( left side ) of message id. 
        - Address prompts accepts space as address separation
          but also accepts form
               phrase <address>
          Fixed bug where extra space after <address> caused
          that to be interpreted as two addresses 'phrase'
          and '<address>'. That is on
          update_expanded_from_edit_buffer().
        - Prompt mailcap programs when metamail is required, but
          not available. Causes that  for unsupported
          multipart/related have mailcap used on text/html part. Note
          that this does not work correctly, because related parts are
          not available.
        - Report unsupported multipart and other types on mailcap
          programs prompt if it caused that metamail was required. 
        * Note that setting elmrc option "pagemultipart" causes these
          unknown multipart types are not considered unsupported.
          Handling of "multipart/related" is controlled by
          elmrc option "pagerelated".
        - Moved NOTPLAIN_* macros from hdrs/elm_defs.h
          to hdrs/addrlib.h
        - Added -b<backup-suffix> option to elmconfwriter. Elmconfwriter
          checks first that there is no files in form
          <config file><backup-suffix> exists when -b<backup-suffix> option
          is used.
        - Command elmconfwriter -lb<backup-suffix>
          can be used to make backup of config files.
        - Option -b<backup-suffix> without -l option (list
          config files) causes that config
          file <config file> is preserved as
          <config file><backup-suffix> when file <config file> rewritten.
        - Added change_file_utime() to lib/mbox/utime_util.c
        - Changed newmail to use change_file_utime()
        - Changed  fbrowser_selection_is_mbox(),  mbx_move_temp_file()
          to use change_file_utime()
        - Changed prototype of elm_chown
        - Added variable CHOWN_neg1 (constant)
        - Tried fix usr1_signal() and usr2_signal() so that they
          do not hang (looping).
        - Allowed
             X-Mailer:
          header field on ~/.elm/elmheaders file and on
          'invoke e(d)itor' buffer on  header editing screen.
          Note however that ~/.elm/elmheaders file is used both on
          elm and fastmail -commands.
          This overrides default value of X-Mailer: header field.
          If empty field is given, X-Mailer: header field is not
          added when mail is sent.
        - Added struct string *xmailer to struct mailing_headers
        - Added
              X-Mailer: 
          header field to edit buffer used by 'invoke e(d)itor' on 
          header editing screen. This is added to screen
          only if there is value on X-Mailer:  header field.
          This is supported on static struct header_info
          header_types[] on lib/addr/headers.c.
        - Added elmrc option "program-identification".
          Option includes list of keywords:
               none            None of values are selected
               X-Mailer        Add X-Mailer: header field
               version         Add version information to header
                               field
               User-Agent      Add User-Agent header field
         The "program-identification" elm.rc option
         accepts two forms:                    
             - Absolute form where used options are listed
             - Additive form where changes from compile
               time default are listed:
               +X-Mailer        -X-Mailer
               +version         -version
               +User-Agent      -User-Agent
         These two forms can not be mixed.  
       - Note that also message-id domain, when
         it is msg-id.elmme-mailer.org, identifies program.
         Also X-ELM-OSV: header field, if generated,
         identifies program.
       - Added generation of
            User-Agent: elmme/{libversion} ({X-Mailer})
         header field. This requires that on
         "program-identification" mentions this header field.
         This header fields can not given
         on ~/.elm/elmheaders file or on 'invoke e(d)itor'
         buffer on  header editing screen. 
       - Added char * encoded_user_agent to struct mailing_headers
       - Added sndhelper_update_user_agent() to lib/mailer/senderhelper.c
         and hdrs/mailerlib.h
       - Added "User-Agent" to static struct header_info header_types[]
         on lib/addr/headers.c
       - Fixed getsockname() test on Configure
       - Added elmrc option "pagerelated". This control handling
         of multipart/related messages. Option have values
                no              May use metamail, if available.
                yes             Try page first (or start) part,
                single-part     Try page single part
         Default value is "single-part".
        NOTE: multipart/related is not supported, and related parts are not
              "passed" to first (or start) part.
        - Note that multipart/related is used normally with text/html as
          first part. That is not supported, and also not work when mailcap
          is used for text/html.
        > This is also known as MHTML.
        - When multipart/related have only single part (that is start part),
          using multipart/related is superfluous. In that case multipart/related
          is not required, and can be replaced with that single part.
        RFC 2387: The MIME Multipart/Related Content-type
         Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
         on elmrc option  "pagerelated".
       - Added struct message_id *     content_id
         to struct mimeinfo
       - Changed prototype of parse_mime_headers1(), mime_parser_parse(),
         mpar_parse(), mime_read_header()
       - Changed prototype of mpar_parse()
       - Fixed set_out_state_line_mode() so that NULL range parameter
         does not reset current range.
       - Added "DKIM-Signature:" to default weedlist. 
       - Fixed incorrect calls of change_helper_3()
         on terminal_switch_to() which caused memory corruption.
       - Added 
            unsigned                busy:1;
         to struct domain_info on lib/mailer/message-id.c
       - Fixed case where check_msg_domain0() was called with domain
         name (pointer), which was same than dompart field
         on struct domain_info;
        New elmrc options:
            program-identification
            pagerelated
        New file:
            lib/mbox/utime_util.c

Changes on Elm ME+ 2.5 PLalpha52 compared with Elm ME+ 2.5 PLalpha51

        Undo  Elm ME+ 2.5 PLalpha51a patch before applying this patch.
        SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
                 adds generation of "Message-ID:" -header field,
                 adds "Message-ID:", "Expires:", "Date:",
                 "In-reply-to:", and "References:" -header fields
                 to 'invoke e(d)itor' buffer on header editing screen
                 and adds --messages={file} and --transaction={file}
                 arguments to command line of elm. This release changes
                 pager date and time display on pager title line and
                 changes fastmail -command. This release adds TLS 1.1
                 and 1.2 alternatives to libelmme-tls module. New elmrc
                 options are "valid-msg-id-domains", "generate-message-id",
                 "pager-time-display" and "address-lookup". Also
                 added "default-tls-version" elmrc option to "tls:" section.
                 Also some other changes and fixes are included.
        - Changed Va_start() / va_end() usage on gen_browser()
        > This fixes crash on f)ilename command on
          Elm 2.5 style file browser:
              SIGNAL PANIC in signals.c:144:segv_signal
              >>>
              Segment Violation signal!
              Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
               continues: 44D2EE 4502A0 47372E 46470A 490DE5
               continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
              backtrace: 
              /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
              elm(segv_signal+0x80)[0x4f108b]
              /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
              /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
              /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
              elm[0x44d2ee]
              elm(gen_browser+0x73b)[0x4502a0]
              elm(save+0x834)[0x47372e]
              elm(mailbox_command+0x1cae)[0x46470a]
              elm[0x490de5]
              elm(main_messages_menu+0x165)[0x4925fe]
              elm(main+0xf13)[0x466d3a]
              /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
              elm[0x41f1a9]
              Press a <enter> to abort or <enter> to exit: 
          Crash occurs on x86_64 (amd64) architecture on Linux.
          Crash does not occur on i386 architecture on Linux.
        - Changed Va_start() / va_end() usage on folder_browser()
        - Added
              struct message_id    * message_id;
              struct digest_proc   * message_digest;
              struct expanded_date * date; 
          to struct mailing_headers on hdrs/addrlib.h
        - Added write_msgid_header(), write_date_header()
          to lib/addr/write_hdr.c and hdrs/addrlib.h
        NOTE: A header fields Date: and Message-ID: are generated
             before "Mail Preview Screen" entered. Therefore Date:
             header field does not reflect mail sending time. A header
             fields Date: and Message-ID: are always same on
             "Mail Preview Screen", on sent mail and on saved copy.
        - Changed static struct header_info header_types[]
          on lib/addr/headers.c so that Message-ID: is also
          allowed on .elm/elmheaders (although that is not very
          useful) or on 'invoke e(d)itor' buffer on 
          header editing screen.
        - Added
                Message-ID:
          to edit buffer used by 'invoke e(d)itor' on 
          header editing screen. This is supported on
          static struct header_info header_types[]
          on lib/addr/headers.c.         
        - Added is_whitelisted_msgid_domain() to
          to lib/addr/outheaders.h and to hdrs/addrlib.h
        - Added elmrc option "valid-msg-id-domains" to
          lib/addr/init.c
        - Added elmrc option "generate-message-id" to
          lib/mailer/init.c
        - Elm ME+ generates message-id header field
          when sending mail. This is controller by
          new elmrc option "generate-message-id".
          Message-id domain part is checked from
          DNS when
               use-mailer-library = smtp resolv
          is used. Id domain part of message-id
          header field is listed on new elmrc option
          "valid-msg-id-domains", then domain part is
          accepted without DNS check.
        See also chapter "Message-ID generation"
        - Configure now asks fall back domain name for
          message-id. msg-id.elmme-mailer.org is suggested.
        - Added check_domain_name() to shared_libs/resolv/resolv.c
        - Added "RSA Data Security, Inc. MD5 Message-Digest
          Algorithm" from
             RFC 1321: The MD5 Message-Digest Algorithm
          and modified that to work on 64-bit machine. Test
          suite on original code produces wrong hashes.
        - Possible fix to RC_fill_enum_values() on
          shared_libs/resolv/resolv.c
        - Possible fix to verify_mail_domain2() on
          shared_libs/resolv/resolv.c
        - Added macros DEBUG_CHECK_INIT() and DEBUG_CHECK()
          to hdrs/elmlib.h
        - Changed handling of valid-domains elmrc option.
          Even when some item on list starts with dot (.),
          name stated with dot (.) does not have accepted.
          When .domain is given on valid-domains elmrc option
          it marks {anything}.domain as valid domain, but
          {anything} can not be empty.
        - Moved message_id_domain() and message_id_left()
          from lib/addr/def_addr.h to hdrs/addrlib.h
        - Added free_digest_proc(), inc_digest_proc_refcount(),
          start_digest_proc(), feed_digest_proc(),
          len_digest_proc(), mode_digest_proc(),
          end_digest_proc(), result_digest_proc()
          digest_proc_equal(),  malloc_digest_proc(),
          digest_type()
          to hdrs/elmlib.h and lib/digest_wrapper.c
        - Exported name_ok() from lib/service_list.c
          as host_name_ok().
        - Changed mail() on src/mailmsg2.c
        - Added digest_feed_string() to  hdrs/elmlib.h and
          lib/string.c
        - Added cs_digest_feed_from_string() to hdrs/cs_imp.h
        - Added digest_feed_str(), digest_feed_references(),
          digest_feed_message_id(), digest_feed_addrs(),
          digest_feed_expires_hdr()
          to hdrs/addrlib.h and lib/addr/digest.c
        - Added query_s_mailer_info() to hdrs/mailerlib.h
          and lib/mailer/mailer.c
        - Added mailer_info_s_query_hook() to hdrs/mailer_imp.h
        - Added Configure test for getsockname()
        - Added set_address_from_gen_helper2() to hdrs/connection_imp.h
          and lib/remote_mbx.c
        - Added local socket address (result of
          getsockaname()) to struct remote_account
        - local address (result of getsockaname())
          is now included to transcript file
          (file given with -X option).
        - Submission mailer's check for MI_REMOTE_MAILER
          implementation for query_mailer_info() now
          also check that local and remote address
          of socket is same.
        - Added verify_library_prefix() to lib/shared.c and hdrs/shared_imp.h
        - Added shared_check_dname() and mailerdom_verify_lib_status()
          to lib/mailer/shared_mailer.c and hdrs/mailerlib.h
        - Added new_expanded_date(), free_expanded_date(),
          get_expanded_date_value(), get_expanded_date_cached_time(),
          get_expanded_date_source()
          to lib/addr/outdate.c and hdrs/addrlib.h
        - Added date_hdrval() to lib/addr/date.c and
          hdrs/addrlib.h
        - Added digest_feed_date_hdr() to lib/addr/digest.c
          and hdrs/addrlib.h
        - Added expanded_time_hdrval() to lib/addr/date.c
          and hdrs/addrlib.h
        - Changed add_expires_hdr()
        - Changed parsing of Expires: -header on .elm/elmheaders
        - Added
                Expires:
          to edit buffer used by 'invoke e(d)itor' on 
          header editing screen. This is supported on
          static struct header_info header_types[]
          on lib/addr/headers.c.        
        - Allow "x days" as value for Expires: -header
          on edit buffer.
        - Possible fix for expval_expires()
        - Added  add_date_hdr() to lib/addr/outheaders.h
        - Changed static struct header_info header_types[]
          on lib/addr/headers.c so that Date: is also
          allowed on .elm/elmheaders (although that is not very
          useful).
        - Added
                Date:
          to edit buffer used by 'invoke e(d)itor' on 
          header editing screen. This is supported on
          static struct header_info header_types[]
          on lib/addr/headers.c.         
        - Fixed skipping of comments between headers
          on edit buffer used by 'invoke e(d)itor' on 
          header editing screen. 
        - Fix for parse_parts_date_time(), wday number was
          returned wrongly.
        - Avoid 
             "Failed to leave folder: Try to quit again ?  ([P]anic/y/n) n"
          when
             "Move read messages to "received" folder? (y/n)"
          is canceled with ctrl-C
        - Added to sync_mbox() return status sync_mbox_cancel (-4).
        - Changed  sync_mbox() so that it does not
          call emergency_exit() when EOF is send from user input.
        - Added to sync_mbox() return status sync_mbox_EOF (-5).
        - Changed real_save() so that it does not
          call emergency_exit() when end_keep_folder()
          fails. Also real_save() does not close folder
          when end_keep_folder() fails. 
        - Added --messages={file} argument to elm.
          This logs some messages (usually errors)
          shown.  
        - Added open_messages_log(), close_messages_log()
          to hdrs/me.h and src/out_utils.c
        - Added --transaction={file} argument to elm.
          This is same than -X {file} option.
        - Added free_transaction_file() to hdrs/elmlib.h
          and lib/remote_mbx.c
        - free_transaction_file() is called from
          free_rc_options().
        - Changed some time() calls.
        - Check on can_open() that userid and groupid have set.
        - Set close-on-exec flag on set_transaction_file() and
          init_debug().
        - Avoid 
                Failed to leave folder!
          and then
                Failed to leave folder: Try to quit again ?  ([P]anic/y/n) n
          on closing/leaving folders
          when several folders are open and some of them
          are read only. If just read only folder was open
          that produced already
               Folder XXXXXX is read-only and unchanged.
        - Added "-X transcript/transaction file" parameter
          to fastmail. This is useful when mailer=submission
          is used. Same option is also on elm, newmail and frm
          (on these cases transcript/transaction file will
           include passwords). Currently mailer=submission
          does not support SMTP AUTH, so there is no passwords
          on transcript/transaction file on that case now.
        - Added Message-ID: -generation to fastmail.
        - Use DEFAULT_BATCH_SUBJECT also on fastmail.
        - Added write_common_mailing_headers() to
          lib/mailer/write_common.c and hdrs/mailerlib.h
        - Used that on elm's src/mailmsg2.c and
          on fastmail.
        Note: If nohdrencoding is set on elmrc, now
               also fastmail (as elm does) adds
                 X-ELM-OSV: no-hdr-encoding=1
              to outgoing mails.       
        - Moved add_parameter() from src/mime_encode.c
          to lib/mailer/mime_encode.c
        - Added feed_common_mailing_headers() to
          lib/mailer/feed_common.c and hdrs/mailerlib.h
        - Used that on elm's src/mailmsg2.c and
          on fastmail
        - Added -H option to fastmail. If set, only
          Return-Path: -header field is read from
          ~/.elm/elmheaders file and other header fields
          are ignored.
        - Added similar generation of From: and Sender:
          header fields to fastmail than it is on
          elm -command. Global elm.rc option "add-sender"
          is now used also on fastmail.
        - Added sndhelper_get_sender(),
          sndhelper_handle_sender() to
          lib/mailer/senderhelper.c and hdrs/mailerlib.h
        - Used that on elm's src/mailmsg2.c and
          on fastmail
        - Moved build_address_classify_domain(),
          build_address_classify_message(),
          build_address_cancel_mode(),
          verify_mail_domain_util() from
          hdrs/me.h and src/addr_util.c to
          lib/mailer/senderhelper.c and hdrs/mailerlib.h
        - Changed static struct header_info header_types[]
          on lib/addr/headers.c so that In-reply-to: and
          References: are also allowed on .elm/elmheaders
          (although that is not very useful) or on 'invoke
          e(d)itor' buffer on header editing screen.
        - Added In-reply-to: and References: to
          'invoke e(d)itor' buffer on header editing
          screen. This is supported on
          static struct header_info header_types[]
          on lib/addr/headers.c. 
        - Moved print_edit_string(), add_addr_header(),
          add_string_header(), edit_headers_on_editor()
          from src/hdrconfg.h to src/edithdr.c
        - strftime() format specifier %r (The time in
          a.m. or p.m. notation) produces 12-hour clock
          without AM/PM notification on fi_FI.UTF-8
          locale (also %p produces empty result).
        > Changed default to 24-hour clock (without
          seconds).
        - Added elmrc option "pager-time-display".
          Option have values
                 legacy                         (same than month-day-year-12h)
                 default                        (same than month-day-year-HH-MM)
                 month-day-year-12h             month day, Year 12h (am/pm)
                                                strftime %b %d, %Y %r
                 month-day-year-24h             month day, Year 24h
                                                strftime %b %d, %Y %T
                 month-day-year-HH-MM           month day, Year HH:MH
                                                strftime %b %d, %Y %R
                 preferred                      Local preferred format
                                                strftime %c
                 day-month-year-12h             day month year 12h (am/pm)
                                                strftime %d %b %Y %r
                 day-month-year-24h             day month year 24h
                                                strftime %d %b %Y %T
                 day-month-year-HH-MM           day month year  HH:MM
                                                strftime %d %b %Y %R
                 YYYY-MM-DD-HH-MM               numeric YYYY-MM-DD HH:MM
                 YYYY-MM-DD-HH-MM-SS            numeric YYYY-MM-DD HH:MM:SS
          Sender's timezone is appended to time.
          This option controls how pager show message
          date and time on title line (top line) when "titles"
          elmrc option have value ON (default).
        - If Date: is unparsable, pager no longer show dummy
          date and time on title line.
        - If Date: is parsable, but year is too early or
          year is too late (time_t overflows on 32-bit
          systems), pager shows text "year " and year number 
          on place of date and time on title line (top line).
        - Replaced elm_date_str() with elm_date_text().
        - elm_date_text() will report "year xxxx" if date value
          is unsupported or overflow, but year is available
          (from time_menu_year at struct header_rec)
        - Changed that setting add-in-reply-to-phrase does not
          use elm_date_str()'s or elm_date_text()'s strftime
          for phrase time used on in-reply-to reply header field. Result
          of that is locale dependent. Changed that this
          uses date: -header format on phrase (actually
          implemented via  elm_date_text(), but not available as
          "pager-time-display" value).
        - Added  give_name_from_sockaddr() to lib/service_list.c 
          and hdrs/connection_imp.h   
        - Added elmrc option "address-lookup".
          Possible values are:
                   normal                Currently same than
                                        "gethostbyaddr"
                   gethostbyaddr        Use getgostbyaddr()
                   getnameinfo          Use getnameinfo()
          This option specifies how translation from ip-address
          to hostname is done. Default value "normal"  specifies
          that normal address -lookup API (that is gethostbyaddr())
          is done.
          Both gethostbyaddr() and getnameinfo() works
          also with IPv6 (on Linux). getnameinfo() is newer
          interface, but it can return only one name. gethostbyaddr()
          may return several names. Seems that getnameinfo()
          returns first name from /etc/hosts even
          when this is not best choice.
          This is currently only used when "generate-message-id"
          have {domainspec} value "default" and "mailer"
          is "submission" and that connection is not local.
        - Added give_SOCKADDR_ptr_as_string() to 
          lib/service_list.c and hdrs/connection_imp.h
        - Do not ask
             Can I test if your mailer supports DSN options: -N -R -V?
          on Configure if selected mailer is "none".
        - Changed Configure (actually shared_libs/tls/config)
          so that it detects also on Ubuntu 18.4
          that OpenSSL is available on system directory.
        - OpenSSL seems not include RAND_egd_bytes() on Ubuntu 18.4.
          Now Configure (actually shared_libs/tls/config) tests
          that RAND_egd_bytes() can be linked.
        - libelmme-tls module only used SSLv23_client_method() and
          TLSv1_client_method(). Added Configure (actually shared_libs/tls/config)
          test that
               SSLv23_client_method()
               TLS_client_method()      
               TLSv1_client_method()
               TLSv1_1_client_method()
               TLSv1_2_client_method()
          can be linked.
        - Changed prototype of create_TLS_stream()
        - Changed libelmme-tls module handle more protocol versions.
        - "tls:starttls-version" and "tls:tls-version" parameters
          of global elm.mailservices and user's ~/.elm/mail.services
          file now accepts new values:
                 tls-1                  TLS 1 protocol
                 tls-1.1                TLS 1.1 protocol
                 tls-1.2                TLS 1.2 protocol
          These "tls:starttls-version" and "tls:tls-version" parameters
          also accepts old values:
                 none                   disables STLS or STARTTLS
                 ssl                    SSL or TLS, semantic varies
                 tls                    TLS, semantic varies (default)
          See details from shared_libs/tls/README.ME+ file.
          Default "tls" means that protocol TLS 1 is used or with
          OpenSSL 1.1 that protocol TLS 1 or newer is used. Value
          "ssl" probably means with OpenSSL 1.0 or older that
          SSL 2 client hello packet is used.
        NOTE: Configure (actually shared_libs/tls/config) disables
              by default
              TLSv1_client_method(),
              TLSv1_1_client_method(), and
              TLSv1_2_client_method()
          on Ubuntu 18.4 because them are deprecated. This assumes
          that compiler gives "is deprecated" message and user agrees
          disabling on Configure prompt.
          ( However SSLv23_client_method() seems not produce
            "is deprecated" message. )
        - Added "default-tls-version" elmrc option
          to "tls:" section. This option accepts values:
                 ssl                    SSL or TLS, semantic varies
                 tls                    TLS, semantic varies (default)
                 tls-1                  TLS 1 protocol
                 tls-1.1                TLS 1.1 protocol
                 tls-1.2                TLS 1.2 protocol
           This is used, if "tls:starttls-version" and
           "tls:tls-version" parameters does not exists on
           global elm.mailservices or user's ~/.elm/mail.services
           file for particular host and service.
        - Changed that Configure puts UU directory to build-directory when
          -O option is used and not source directory when checking
          that package is complete
        - Added $dummydomain to Configure. This is used if Configure
          defaults to placeholder domain. That is '.localdomain'.
        - Added matches_dummy_domain() to  lib/mailer/senderhelper.c
          and hdrs/mailerlib.h. That returns ".localdomain" if domain
          ends .localdomain and Configure or setup_names() selected that
          for placeholder domain. This is used for avoiding DNS
          lookup.
        New elmrc options:
            address-lookup
            generate-message-id
            valid-msg-id-domains
            pager-time-display
            tls:default-tls-version
        New files:
            lib/addr/md5_global.h
            lib/addr/md5.h
            lib/addr/md5c.c
            lib/addr/md5_wrapper.c
            lib/digest_wrapper.c
            hdrs/digest_imp.h
            lib/mailer/message-id.c
            lib/addr/digest.c
            lib/addr/outdate.c
            lib/mailer/write_common.c
            lib/mailer/feed_common.c
            lib/mailer/senderhelper.c
            src/edithdr.c
            shared_libs/tls/tlsconf.h.SH

Changes on Elm ME+ 2.5 PLalpha51a compared with Elm ME+ 2.5 PLalpha51

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes crash on f)ilename command
                 on Elm 2.5 style file browser which occurs
                 on x86_64 (amd64) architecture on Linux.
        - Changed Va_start() / va_end() usage on gen_browser()
        > This fixes crash on f)ilename command on
          Elm 2.5 style file browser:
              SIGNAL PANIC in signals.c:144:segv_signal
              >>>
              Segment Violation signal!
              Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
               continues: 44D2EE 4502A0 47372E 46470A 490DE5
               continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
              backtrace: 
              /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
              elm(segv_signal+0x80)[0x4f108b]
              /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
              /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
              /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
              elm[0x44d2ee]
              elm(gen_browser+0x73b)[0x4502a0]
              elm(save+0x834)[0x47372e]
              elm(mailbox_command+0x1cae)[0x46470a]
              elm[0x490de5]
              elm(main_messages_menu+0x165)[0x4925fe]
              elm(main+0xf13)[0x466d3a]
              /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
              elm[0x41f1a9]
              Press a <enter> to abort or <enter> to exit: 
          Crash occurs on x86_64 (amd64) architecture on Linux.
          Crash does not occur on i386 architecture on Linux.
        - Changed Va_start() / va_end() usage on folder_browser()

Changes on Elm ME+ 2.5 PLalpha51 compared with Elm ME+ 2.5 PLalpha50

        Undo  Elm ME+ 2.5 PLalpha50a patch before applying this patch.
        SUMMARY:  This release collects patch Elm ME+ 2.5 PLalpha50a,
                  fixes crash when mailbox is opened with -Oimaps://...
                  option, supports IMAP quotas (RFC 2087), delays
                  deletion of temp files used by internal mailcap,
                  if view command completes too fast. New elmrc options
                  are "show-mail-quota" and "mailcap-tempfile-lifetime".
                  This releases adds new command 'Eu' to show mail quota
                  (not affected by elmrc option "show-mail-quota").
                  Also some other changes and fixes are included.
        - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
         Reported by: Noam G. Nudelman
        > Fixed crash on prepare_read_folder()
          when called from "frm", "newmail" or
          "readmsg".
        - Small fix for span_line() and span_words()
          on src/pager/span_line.c
        - Small fix for span_helper()
          on src/pager/span_range.c
        - Fixed error where opening folder with
          elm  -Oimaps://username@server/INBOX
          produces
          SCREEN PANIC in .../src/screen/menu_param.c:30:mp_lookup_any1
          >>>Bad type
          Call stack: B7514D11 812D83C 812D970 813AF41 813761C
           continues: 8105015 812FB88 8130EBA 8119377 80C3D5F
           continues: 80C5AF3 809F466 B72B5AF3 805EE91
          backtrace: 
          /usr/local/lib/libelmme-base.so.1.1.50.1(panic+0x180)[0xb7514d11]
          elm[0x812d83c]
          elm(mp_lookup_integer+0x26)[0x812d970]
          elm(mc_screen_print_mbx_line+0x44)[0x813af41]
          elm(mcommon_screen_print_menu_line+0x3b)[0x813761c]
          elm(hdr_show_current+0x154)[0x8105015]
          elm[0x812fb88]
          elm(menu_header_change+0x1fc)[0x8130eba]
          elm(get_page+0xf1)[0x8119377]
          elm[0x80c3d5f]
          elm(url_messages_menu+0xf1)[0x80c5af3]
          elm(main+0x905)[0x809f466]
          /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb72b5af3]
        - Added elmrc option "show-mail-quota".
        - Check IMAP quota when mailbox is opened if
          elmrc option "show-mail-quota" have value
          "on-open".
        RFC 2087: IMAP4 QUOTA extension
        - Option "show-mail-quota" values are:
            off        Does not show mail quota on
                       mailbox open (command 'Eu'
                       still works).
            on-open    Shows mail quota (if supported)
                       on mailbox open (default).
        - Note that mailbox may have a mail quota even
          when it is not displayed.
        - Mail quota display does not show unit of
          mail usage or quota. That is not available.
        - Command 'Eu' shows quota usage. This is available
          also when "show-mail-quota" have value "off".
        - Added connection_set_reset_quota() to lib/mbox/connection.c
        - Added free_mail_quota(),  free_mail_quotaroot_list(),
          free_mail_quotaroot(), free_mail_quota_item(),
          inc_mail_quota_refcount(), inc_mail_quotaroot_list_refcount(),
          quotaroot_list_len(), quotaroot_list_item(),
          quotaroot_list_mquota(), quotaroot_name(),
          quotaroot_item_count(), quotaroot_item(), quota_item_name(),
          quota_item_values(), mail_quota_unlink_con(),
          inc_mail_quotaroot_refcount(), inc_mail_quota_item_refcount()
          to lib/mbox/quota.c
        - Added give_folder_quotaroot_l(), have_folder_quota()
          to lib/mbox/mbox.c
        - Added  menu_redraw_done() to src/screen/context.c
        - Message
             Checking mailbox ...
          is shown on screen when mailbox quota is read
          after 0.5 second delay if remote mailbox is stalled. 
        - Removed some emergency_exit() calls from change_file()
          on src/quit.c
        - Added some prototypes to nls/gencat/genlib.c and nls/gencat/gencat.h
        - Changed newmbox_1() do not call rm_temps_exit()
          when reading of new mailbox fails (however on resync
          still calls rm_temps_exit() when reading of mailbox
          fails).
        - Added struct menu_context    * page; to struct counter_data
          on src/newmbox.c
        - Fix cleanup of struct counter_data on failure.
        - Fixed EOF handling on verify_remote_url()
        - Use conv_from_imap_name() on imap_open_connection()
          at lib/mbox/imap.c
        - Added '%zu' to  parse_format_args() and
          convert_number() on lib/output.c (for size_t)
        - Added '%zu' to SKIP_WIDTH() on lib/debug.c
        - Replaced int long_f with enum width_type long_f
          on struct  format_elem
        - Replaced
                long len_or_value;
          with
                uint32 value;
                size_t str_len;
          on struct imap_token. 'number' on
          RFC 1730 (IMAP) is unsigned 32-bit integer.
        - Replaced 
                 long               literal_len;
          with
                 uint32             wanted_literal_len;
          on struct IMAP_CON
        - Exported
             const size_t size_MAX
          from lib/safemalloc.c;
        - Replaced
              int       read_len;
          with
              size_t    read_len;
          on 
              struct Read_Buffer
        - Changed prototype of cut_line() to use size_t
        - Changed  tokenize() to not use
          safe_malloc() to allocate literal.
        - Changed ReadFromSocket() to not use
          safe_realloc() to allocate buffer
        - Close connection, if literal len >= INT_MAX
          when reading from IMAP connection
        - Changed tokenize() to not use strtol()
          to parse literal length or other imap numbers.
          Added parse_imap_number() for that.
        - Added safe_array_size() to lib/safemalloc.c
        - Changed parse_response() to not use
          safe_array_realloc() when handling
          EXISTS response.
        - Changed debug_level_check() so that -d{class}:{level}
          have preference over -d{level} command line flag.
        - Do not call eval_condition() from
          signal handler on loc_info(), added
          int maybe_signal parameter
        > However if wait_can_signal is set,
          memory allocation is still safe.
        - Added int maybe_signal parameter
          to terminal_can_switch(), give_display_charsets(),
          switch_display_charset(), set_display_charset(),
          terminal_switch_to(), terminal_can_switch_to()
        - get_charset_MIME_name() may be called from signal
          handler
        - Added "mailcap-tempfile-lifetime" elmrc option which
          specifies minimum time on seconds which
          temporary file is kept before it is deleted
          when using internal mailcap. This is only available
          if system supports poll() or select(). If mailcap view
          commands exits before "mailcap-tempfile-lifetime" seconds,
          deletion of temporary file is delayed. This assumes that
          mailcap view command is used only to launch actual
          viewing application, that file is opened later.
          If system supports poll() or select(), default value
          is 5 seconds.
        - Added  alloc_delay_unlink(), free_delay_unlink(),
          delay_unlink_add_name(), delay_unlink_mark_done(),
          inc_delay_unlink_recount to lib/delay_unlink.c
        - Added delay_unlink_from_state_decode() to
          melib/state_decode.c
        - Added struct delay_unlink * timer_unlink
          to struct in_state_decode
        - Changed const int * conditional_option_p
          on struct rc_save_info_rec to union.
        - Changed prototype of run_mailcap_view()
        - Changed free_timed_task_handle()
        - Added free_schedule() and
          timed_task_alter_cleanup() to lib/schedule.c
        - Changed freeing order on leave(),
          rm_temps_exit(), silently_exit(),
          leave_locked(), main() of Elm
        - Moved
                Closing connections...
                Leaving mailbox ...
                Checking mailbox ...
          to
                setup_mbx_cancel_message()
          on src/network.c
        - Prompt "Press a <enter> to abort or <enter> to exit: "
          on panic(). This is used only when /dev/tty is open
          and current pid is same that when /dev/tty opened.
        - Added message
             ---- Debug output truncated ----
             Lost XXXX characters.
          to debug file if all debug output was not buffered
          successfully.
        - Changed debug so that source file information is printed
          to debug after debug file is established (so that does not fill
          debug buffer on initial debug output).
        New elmrc options:
            show-mail-quota
            mailcap-tempfile-lifetime
        New files:
            lib/mbox/quota.c
            hdrs/quota_imp.h
            src/quotadisp.c
            lib/mbox/imap_quota.c
            src/command/quota_dispcmd.c
            lib/delay_unlink.c
            src/network.c

Changes on Elm ME+ 2.5 PLalpha50a compared with Elm ME+ 2.5 PLalpha50

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes "frm", "newmail" and "readmsg"
                 -commands crash on startup when
                 prepare_read_folder() is called.
        - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
         Reported by: Noam G. Nudelman
        > Fixed crash on prepare_read_folder()
          when called from "frm", "newmail" or
          "readmsg".

Changes on Elm ME+ 2.5 PLalpha50 compared with Elm ME+ 2.5 PLalpha49

        SUMMARY: This release adds new magic numbers for
                 JPG (EXIF), better reconnection handling
                 for broken IMAP connections and 'Er'
                 (reconnect) command. This release allows
                 interrupting stalled connection with
                 interrupt character (Ctrl-C) on new mail
                 check and 'X' (Quick Exit) command. Other
                 commands still are stuck if connection
                 is stalled. Also some other changes and
                 fixes are included.
        - Changed magic number of image/jpeg on
          lib/misc/mime_types.c
          RFC 2046 says: "An initial subtype is "jpeg" for the JPEG format
                          using JFIF encoding [JPEG]."
        > Also adds Digital camera JPG using
          Exchangeable Image File Format (EXIF) as
          image/jpeg.
        - Exported wday_from_year_month_day()
          from lib/addr/outheaders.c
        - Changed that lib/mbox/imap.c generates
          real weekday name to From -separator line
          (was using "XXX" as weekday name).
        - Changed mbx_copy_envelope_pop() to use
          return_path_to_env_from_1() for generating From
          -separator address as mbx_copy_envelope_imap()
          is using.
        - Changed screen update on read_headers()
        - Changed header allocation on read_headers()
        - Added malloc_header_rec() and free_header_rec()
          to src/messages/header_alloc.c
        - Fixed handling of mails which arrive to
          IMAP mailbox when mailbox is read (opened). 
        - Changed prototype of copy_envelope_end_folder(),
          mbx_copy_envelope_end_folder()
        - Changed parse_body_routine() on src/newmbox.c
        - If IMAP mailbox connection is broken,
          after reconnection different
          temp folder is used when mails
          are read from mailbox.
        * If different temp folder is used
          all mails are no longer included
          as new mails to mail listing with mails
          before connection was broken.
        - When POP connection is re$yncronized
          different temp folder is used.
          (POP mailbox also always reopen
           connection when mailbox is
           re$yncronized).               
        - If messages are EXPUNGEd from IMAP
          folder, different temp folder is used
          when mail is re$yncronized.
        - If skipped mail is later loaded
          from IMAP folder, different temp folder
          is used when mail is re$yncronized.
        - Added 'Er' command for reconnect broken
          mailbox connections.  
        - Added update_selected_counter(),
          found_disconnected(), ReconnectMailbox() and
          ReconnectMailboxPost() to src/reconnect.c
        - If IMAP / POP mailbox connection is
          broken, some hint from
             Use 'X' for Quick Exit
             XXX disconnected and failed. Use 'Er' for reconnecting or 'X' for Quick Exit
             XXX disconnected. Use 'Er' for reconnecting broken connection
             XXX failed. Use 'X' for Quick Exit      
          is given, where XXX is some from
             POP mailbox
             IMAP mailbox
             IMAP folder
             Read-only IMAP folder
        > However re$yncronize command may try reconnect
          IMAP or POP mailbox connection. 
        - Changed prototype of
          prepare_read_folder(), end_read_folder(),
          copy_envelope_folder(), sessionlock_folder(),
          open_folder_lock(), new_mail_check(),
          flush_folder()
        - Changed prototype of mbx_prepare_read_folder(),
          mbx_end_read_folder(), mbx_sessionlock_folder(),
          mbx_flush_folder(), mbx_flush_temp()
        - Added search_previous_header(),
          copy_previous_mail(), free_reconnect_mode(),
          malloc_reconnect_mode() to lib/mbox/mbox.c
        - Added
                unsigned int was_reconnected :1;
                unsigned int got_skipped_mail :1;
          to struct folder_info 
        - Added
                int uidvalidity;
                unsigned int got_EXPUNGE :1;
          to struct IMAP_MBX
        - Changed prototype of end_edit_folder()
        - Changed prototype of mbx_end_edit_folder()
        - Changed sync_mbox(), usr1_signal(), usr2_signal(),
          resync(), visit_mailbox_loop(), change_file()
        - Added reconnect_mails() to src/newmbox.c
        - Changed prototype of  newmbox_1()
        - Changed prototype of file_bytes()
        - Changed prototype of show_last_error()
        - Changed file_bytes() on lib/file_util.c
        - Fixed error message on check_mailfile_size()
        - Fixed error where re$yncronizing
          POP mailbox shows ridiculous
          large percents when loading mails.
        - Added sessionlock_create_tempfolder()
          to lib/mbox/mbox_generic.c
        - Added mbx_prepare_read_reconnect()
          to lib/mbox/remote_mbx.c
        - Changed mbx_sessionlock_pop(),
          mbx_sessionlock_spool(), mbx_sessionlock_imap()
        - Added mbx_comp_prev_hdr_folder(),
          mbx_update_prev_hdr_folder()
        - Added mbx_comp_prev_hdr_default(),
          mbx_update_prev_hdr_default () to
          lib/mbox/mbox_generic.c
        - Exported adjust_content_remaining from
          lib/mbox/localmbx.c
        - Added struct copy_previous_rs * reconnect_copy_previous
          to struct read_folder_state.
        - Changed copy_header_folder(),
          copy_body_folder(), copy_envelope_end_folder()
          on lib/mbox/mbox.c
        - Changed new_mail_on_folder(),  new_mail_check(),
          main_messages_loop()
        - Moved addr_is_same() from src/messages/duplicate.c
          to lib/addr/duplicate.c as addr_list_is_same()
        - Added message_id_to_string() to
          lib/addr/message-id.c
        - Added references_to_string() to
          lib/addr/references.c
        - Fix for debug_message() on src/elm.c
        - Message
             Checking new mail...
          is shown on new mail check after
          0.5 second delay when checking remote mailbox
          (IMAP mailbox). Check may be cancelable with 
          interrupt character (Ctrl-C) but remote
          mailbox connection may be disconnected.
        - Added start_imap_command_c(), imap_command_ok_c(),
          imap_clear_command_c() to lib/mbox/con_imap.c
        - Message
             Leaving mailbox ...
          is shown on eXiting main mailbox
          screen after 2 second delay if remote
          mailbox is stalled. Wait may be cancelable with 
          interrupt character (Ctrl-C).
        - Changed prototype of free_mailbox(), free_storage(),
          leave_old_folder(), close_folder(),
          close_connection(), free_connection(),
          free_mailbox(), free_all_mailboxes(),
          free_connection(), close_cached_connections()
        - Changed prototype of mbx_close_folder(),
          cache_close_connection(), mt_free_mailbox(),
          mbx_free_folder()
        - Take account artificial "From " separator line
          when estimating IMAP mailfile size (temp
          folder size). This affects percent display
          when reading mailbox.
        New files:
           lib/addr/duplicate.c
           src/reconnect.c

Changes on Elm ME+ 2.5 PLalpha49 compared with Elm ME+ 2.5 PLalpha48

        SUMMARY: This release changes date display on
                 mail listing and adds separator lines
                 to mail listing. Also this release changes
                 Expires: and Sender: -header field
                 generation. This release checks more
                 email addresses for mail domain
                 validity (when libelmme-resolv.so module
                 is used). New elmrc options are
                 "expires-have-time", "mail-menu-time",
                 "verify-alias-domain" and "verify-local-domain".
                 Also some other changes and some bug
                 fixes are included.
        * Change from Elm 2.5
          - Changed make_menu_date() to generate
            Elm 2.5 style local specific date
            (uses strftime).
          - Changed days_ahead[_tm]() to use Elm 2.5
            style algorithm where localtime()
            is used first and then day is
            incremented on instead of
            Elm 2.4  style algorithm where
            time_t values is incremented
            by days  * 24 * 60 *60 and
            localtime() is used.   
          - Changed  days_ahead[_text]() to generate
            Elm 2.5 style local specific date
            (uses strftime) for hdrconfig. This
            is not used for actual Expires:
            header. However %Y (year with century)
            is used instead of %y (year with 2
            digits).
         -  Changed elm_date_str() to generate
            Elm 2.5 style local specific date
            (uses strftime) for pager and
            phrase of in-reply-to (if
            "add-in-reply-to-phrase" is set). However
            %Y (year with century) is used
            instead of %y (year with 2 digits).
        - Added year to mail listing. This is controlled
          with new elmrc option "mail-menu-time". Year is
          included on separator line.
        - New elmrc option "mail-menu-time" knows following keywords
                none                    None of values are selected
                year-separator          Show separator line with
                                        year on date -column.
                auto-separator          Show separator line for
                                        some sorting orders when
                                        message list space is sufficient
                                        big (21 lines).
                today                   Show time as hh:mm on date
                                        column instead of date if
                                        date is today and timezone
                                        is same. Also shows separator
                                        with "today" if separator
                                        lines are shown.
                today-separator         Show separator line for
                                        some sorting orders when
                                        message list space is sufficient
                                        big (6 lines). Also show separator
                                        when all messages are from
                                        current year.
                year-or-time            Add either year or time as hh:mm
                                        on date column when date is shown.
                                        Time is shown when year is current and
                                        timezone is same. 
          These options also accepts additive form where 
          changes from compile time default (or changes from 
          global elm.rc) are listed:                    
                 +year-separator    -year-separator
                 +auto-separator    -auto-separator
                 +today             -today
                 +today-separator   -today-separator
                 +year-or-time      -year-or-time
        - Separator line is not shown if all mail are from
          current year. In that case that does not add
          much information and just consumes one line from
          mail listing. Keyword "today-separator" is
          exception for this.
        - Keyword "auto-separator" on elmrc option "mail-menu-time"
          enables separator lines when sorting order is
          "sent", "received" or "mailbox". Or when sorting
          order is "reverse-" version of these. There must
          be at least 21 lines available for mail listing.
        - Keyword "today"  on elmrc option "mail-menu-time"
          causes that sent time on form hh:mm is shown
          on date -column on mail listing if day, month and
          year is same as today date and timezone offset is same
          than on local timezone. Note that date column
          shows sending date on sender's timezone which
          may be different than local timezone.
        - Keyword "today" together with "year-separator"
          or "auto-separator" on elmrc option "mail-menu-time"
          causes that separator line with "today"
          on date -column. Mails are considered to
          be sent today if  day, month and
          year is same as today date or sent time
          is between of local today date start and
          end.
        - Keyword "today-separator" on elmrc option "mail-menu-time"
          enables separator lines when sorting order is
          "sent", "received" or "mailbox". Or when sorting
          order is "reverse-" version of these. This
          keyword causes that separator line with "today"
          on date -column is used. If there is at least
          one mail which is considered to be send today,
          separators are send even when all mails are from
          current year. There must be at least 6 lines
          available for mail listing.
        - Keyword "year-or-time" on elmrc option
          "mail-menu-time" adds year or time after
          message date to date -column on mail listing.
          Time is added if year is same as on today date
          and timezone offset is same than on local timezone.
          Otherwise year of message is added to date column.
          If time of message is added because of "today"
          keyword, keyword "year-or-time" adds nothing
          to date column.
        - Keywords "auto-separator" and "today" are
          default values for "mail-menu-time".
          Separator lines is not shown if all mails
          are from current year.
        > Keyword "year-or-time" on elmrc option
          "mail-menu-time" may work better if
          "today" is disabled and keyword
           "today-separator" is used instead.
          That is:
               mail-menu-time = -today +year-or-time +today-separator
        - Added menu_header_change_page() to lib/screen/header.c
        - Changed prototype of new_menu_header() 
        - Added hdr_line_separator_index(), hdr_show_separator(),
          hdr_init_separators(), hdr_setup_line()
          and hdr_setup_init() to src/screen.c
        - Added mcommon_init_separators(), mcommon_separator_count(),
          mcommon_screen_print_sep_line(), mcommon_get_separator_index(),
          mcommon_screen_setup_menu_init() and
          mcommon_screen_setup_menu_line()
          to src/menu_common/mcommon.c
        - Added give_menu_separator(), menu_separator_count(),
          menu_separator_init(), get_menu_separator_index(),
          get_today_info(), message_hdr_setup_init() and
          message_hdr_setup_line() 
          to src/messages/messages.c
        - Changed prototype of build_alias_line()
        - Changed prototype of make_menu_date()
        - Required width for mail number and
          date columns are calculated before printing
          of mail list.
        - Also changed Elm 2.5 browser to use
          these header setup init/line routines
          to calculate width for date column.
        - Replaced fbrowser_mp_cur_page menu_param
          with cur_page on struct menu_anon_param.
        - Replaced fbrowser_mp_headers_per_page
          menu_param with headers_per_page
          on struct menu_anon_param.
        - Replaced fbrowser_mp_options menu_param
          with options on struct menu_anon_param.
        - Replaced fbrowser_mp_tlen menu_param
          with time_len on struct menu_anon_param.
        - Replaced fbrowser_mp_comcol menu_param
          with comment_column on struct menu_anon_param.
        - Added Configure test for mktime()
        * Tried check that gmtime() and localtime()
          returns non-NULL result. These can fail if
          time_t is 64-bit and values does not fit
          to struct tm for example.
        - Added some fixes to src/date.c
        - Added some fixes to lib/get_tz.c
        - Added some fixes to lib/getarpdate.c
        - Added some fixes to src/thread.c
        - Added some fixes to src/elm.c
        - Added some fixes to lib/mbox/imap.c
        - Some changes to lib/strftime.c
        - Changed parse_date_time() so it detect if
          time_t overflows.
        - Changed make_gmttime() return LONG_MAX
          (or LONG_MIN) on overflow
        - Changed parse_date_time() to return
          *time_result as time_MAX on overflow or
          *time_result as 0 if result is negative
          (before year 1970).
        - Changed prototype of parse_date_time()
        - If parse_date_time() detects overflow
          (or negative (before year 1970) result)
          only year is printed on date -column on 
          mail listing.
        - If time_sent is stored as time_MAX or
          0 then just stored year is used for sent
          time sorting.
        - Also only year is printed on
          on date -column thread view if there
          was overflow (or negative (before year
          1970) result) on some mails of thread.
        - Small fix to compare_thread() on src/sort.c
        - Moved most of days_ahead() on src/date.c
          to days_ahead_tm() on lib/addr/date.c
        - Moved days_ahead() as textual output
          for hdrconfig to days_ahead_text().
          This part uses strftime as on Elm 2.5.
        - Moved Elm 2.4 style formatting of
          days_ahead() to days_ahead_hdrval()
          on lib/addr/date.c
        - Added write_expires_header() to lib/addr/write_hdr.c
        - Added lib/addr/outexpires.c with new_expanded_expires(),
          free_expanded_expire(), get_expanded_expires_textual(),
          set_expanded_expires_textual(),
          get_expanded_expires_value(), get_expanded_expires_days_ahead(),
          get_expanded_expires_print_time(),
          get_expanded_expires_cached_time()
        - Changed static struct header_info header_types[]
          on lib/addr/headers.c so that Expires: is also
          allowed on .elm/elmheaders (although that is not very
          useful).
        > If Expires: -header on .elm/elmheaders includes time,
          time is included to Expires: -header on outgoing mail.
          Note however that time zone is not correctly handled
          and mostly ignored.     
        - Moved part of parse_date_time() from lib/mbox/parsarpdat.c  
          to new parse_parts_date_time()
          on lib/addr/parsarpdat.c  
        - Moved lib/mbox/getword.c to lib/addr/getword.c
        - If new elmrc option "expires-have-time" have set, then
          time is included to Expires: -header on outgoing mail
          when header is generated from  Message Header Edit Screen.
        - Added overflow checking to aton()
        - Changed prototype (including return type) of elm_date_str()
        - Changed thread view to generate
          local specific date (uses strftime).
        - Required width for thread number
          and date columns are calculated
          before printing of thread list.
        - Possible fix for sort_threads()
          and correspond change for ViewThreads()
          on src/thread.c
        - Added useful_mailname() to lib/addr/split_addr.c
        - If interface addresses are added to "mailname" 
          global elm.rc option and they are only names
          added, then add "(none)" as first value
          of "mailname" global elm.rc option.
        - If first value of "mailname" global elm.rc option
          is "(none)" or does not include '.' then use
          "hostfullname" elmrc option when sending mail.
        - Small fix for smtp_run_ehlo()
        - Added MI_REMOTE_MAILER to enum MI_query for
          query_mailer_info()
        - Added same_SOCKADDR_ptr() to lib/remobe_mbx.c
        - Added elmrc option "verify-local-domain".
          Values are:
                 no                     Do not verify mail domain
                                        given on "mailname" or
                                        "hostfullname" when sending
                                        mail.
                 yes                    Use "verify-domain" setting
                                        for mail domain given on "mailname"
                                        or "hostfullname" when sending
                                        mail.
                 if-remote-mailer       Use "verify-domain" setting
                                        for mail domain given on "mailname"
                                        or "hostfullname" when sending
                                        mail if mailer is remote
                                        (mailer=submission and "server" is
                                         not local).
          Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
          on elmrc option  "verify-local-domain".
        - Keyword "if-remote-mailer" is default value for
          "verify-local-domain". Therefore local domain (as given
          on "mailname" elmrc option) is verified with
          "verify-domain" setting setting when "mailer"
          global elm.rc option have value "submission" (and
          "server" is set to something other than local host).
        - Added elmrc option "verify-alias-domain". If this is
          set (default), then also domain of alias expanded
          address is verified (uses "verify-domain" setting).
        - "special-use-domains-blacklist" elmrc option also
           applies to autofilled  "mailname" / "hostfullname" and these
           case local recipient is not allowed (unless
           "valid-domains" elmrc option overrides this).
        - "special-use-domains-blacklist" elmrc option also
           applies to domain of alias expanded address
            (unless "valid-domains" elmrc option overrides this).
        - Changed prototype of get_alias_address_expanded(),
          aliases_expand_alias(), alias_stack_lookup_f(),
          alias_simple_lookup(), lookup_local(),
          lookup_dummy()
        - Moved some code of build_address_l() to separate functions.
        - build_address_l() no longer return 1 (indicating
          alias expansion), when local address is handled.
          This fixes -c (check alias) output so that
          that "elm -c {userid}" does not claim successful
          alias expansion.
        - Small change to clear_error() and do_check_only()
        - Added build_address_classify_domain(),
          build_address_classify_message(),
          build_address_is_local() and need_verify_ldomain()
          to src/addr_util.c
        - Also exported build_address_cancel_mode() and
          verify_mail_domain_util() from src/addr_util.c
        - Changed return type of mailer_restarted()
          to enum restart_mailer_status.
        - Changed return type of mailer_info_verify_addr()
          to enum mi_vrfyaddr_mailer_status.
        - Changed envelope sender handling on submission mailer.
        - Added mailer_env_from_verified(),
          mailer_env_from_domain(), and
          mailer_env_from_angleaddr()
          to lib/mailer/mailer.c
        - Renamed env_from_changed() to mailer_env_from_changed()
          on lib/mailer/mailer.c
        - Changed prototype of mailer_info_set_ef()
        - Show Return-Path (envelope sender) on
          "Mail Pre-Send Screen" even when
          userlevel = beginner if it is changed
          (for example via ~/.elm/elmheaders).
        - Changed prototype of mailer_env_from_change()
        - Changed mailer_env_from_change() on lib/mailer/mailer.c
        - "special-use-domains-blacklist" elmrc option also
          applies to domain of envelope sender address (shown as
          Return-Path: -header; unless submission mailer is
          returned 250 for VRFY of that address or unless
          "valid-domains" elmrc option overrides this). In
          that case envelope sender address is changed to
          null address (<>).
         NOTE: "special-use-domains-blacklist" elmrc option does
               not prevent using of mailer option verify=yes
               option for envelope sender address.
        - "verify-domain" and "verify-local-domain" elmrc
          options also applies to domain of envelope sender
          address (shown as Return-Path: -header; unless
          submission mailer is returned 250 for VRFY of
          that address or unless "valid-domains" elmrc option
          overrides this).
        > If NULL MX is returned, envelope sender address is changed to
          null address (<>).
         RFC 7505: "Null MX" No Service Resource Record 
                   for Domains That Accept No Mail
        > If domain does not found, just message is given (but
          envelope sender address is not changed). If submission
          mailer is used sending mail probably fails later
          when domain of envelope sender address does not found.
        - If there is errors on envelope sender (also known as
          Return-Path) and 'allow-set-sender=yes' is set on
          "mailer" global elm.rc option, then prompt on
          "Mail Pre-Send Screen" defaults to R)eturn-path command.
        - Also b)ounce -command checks envelope sender.
        - Added rp_classify_domain_message() and
          env_from_classify_domain(), prompt_mailmsg_page_interactive(),
          mail_env_from_presend(), mail_show_env_from(),
          mail_env_from_def_edit(), mail_edit_return_path()
          to src/mailmsg2.c
        - Changed remail() on src/remail.c
        - Changed import_mailheaders() on lib/addr/outheaders.c
        - Changed show_presend_headers(), presend_action()
        - Added "Bounce Pre-Send Screen" to b)ounce command.
          This is used, when there is Return-Path set or
          editable. This is similar than "Mail Pre-Send Screen"
          on m)ail command.
        - Added error message in for case where
          importing .elm/elmheaders header field fails.
        - If header field name on .elm/elmheaders
          start with '#', it is ignored. Also
          `backticked` command on .elm/elmheaders
          is not executed in that case.
          Output of `backticked` command is not
          checked for '#' character on header field name.
        - Added check that addresses with domain given on
          "special-use-domains-blacklist" elmrc option
          are dot imported (unless "valid-domains" elmrc
          option overrides this). If there is blacklisted
          domain on "From:", "To:", "Cc:" "Bcc:" or
          "Reply-To:" -header field, whole .elm/elmheaders
          line is ignored and error message is given.     
        - Changed add_from_hdr(), add_to_hdr(),
          add_cc_hdr(), add_bcc_hdr(),
          add_replyto_hdr(), add_env_from_hdr()
          on lib/addr/outheaders.c
        - Moved addr_is_user() from lib/okay_addr.c
          to lib/addr/okay_addr.c
        - Moved split_internet_address() from lib/okay_addr.c
          to lib/addr/split_addr.c
        - Moved clear_split_addr() from lib/okay_addr.c
          to lib/addr/split_addr.c
        - Moved match_splitted_addr() from lib/okay_addr.c
          to lib/addr/split_addr.c
        - Moved match_local_addr() from lib/okay_addr.c
          to lib/addr/split_addr.c 
        - Changed that shared_libs/resolv/resolvertest2.c
          returns 3 when connection is refused
          (errno == ECONNREFUSED) and not only on
          timeout (errno == ETIMEDOUT).
        - Changed ConfTool/Makefile
        - Changed lib/mailer/Makefile.SH
        - Changed lib/Makefile.SH
        - Changed shared_libs/tls/Makefile.SH
        - Changed shared_libs/smtp/Makefile.SH
        - Changed shared_libs/resolv/Makefile.SH
        - Changed shared_libs/iconv/Makefile.SH
        - Changed utils/readmsg/Makefile.SH
        - Changed utils/Makefile.SH
        - Changed src/url/Makefile.SH
        - Changed src/messages/Makefile.SH
        - Changed src/command/Makefile.SH
        - Changed src/aliases/Makefile.SH
        - Changed src/list/Makefile.SH
        - Changed src/screen/Makefile.SH
        - Changed src/pager/Makefile.SH
        - Changed src/menu_common/Makefile.SH
        - Changed src/block/Makefile.SH
        - Changed src/Makefile.SH
        - Changed lib/addr/Makefile.SH
        - Changed lib/alias/Makefile.SH
        - Changed lib/mbox/Makefile.SH
        - Changed lib/misc/Makefile.SH
        - Changed melib/Makefile.SH
        - Changed nls/gencat/Makefile.SH
        - Fixed valgrind reported memory leak:
          294 bytes in 2 blocks are definitely lost in loss record 246 of 280
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5C3B0CC: safe_malloc (lib/safemalloc.c:60)
             by 0x52B5674: browser_local_do_stat_2 (lib/mbox/localmbx.c:603)
             by 0x52B6517: browser_local_do_stat_1 (lib/mbox/localmbx.c:875)
             by 0x52BBF16: fbrowser_give_entry (lib/mbox/localmbx.c:2931)
             by 0x467011: fbrowser_scan_directory (src/fbrowser.c:1243)
             by 0x467EAF: fbrowser (src/fbrowser.c:1628)
             by 0x469F7A: fbrowser_hook_enter (src/fbrowser.c:2508)
             by 0x44AD78: gen_browser (src/browser.c:3366)
             by 0x47BA63: arg_to_folder (src/init.c:182)
             by 0x47D70B: initialize_mailbox (src/init.c:928)
             by 0x484A39: main_messages_menu (src/mailbox.c:762)
        - Fixed valgrind reported memory leak:
          70 (24 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 151
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5C3B1F8: safe_zero_alloc (safemalloc.c:85)
             by 0x5C76E4A: malloc_string (string.c:85)
             by 0x5C784CD: cat_strings_internal (string.c:553)
             by 0x5C80BF4: string_copy_character (string.c:3371)
             by 0x5780454: unquote_string (parsestring.c:596)
             by 0x531BBA7: hashtype_parse_kw_value_remote (hashmark_remote.c:1622)
             by 0x531076B: parse_hash_mark_entries (hashmark.c:1462)
             by 0x52AD5C1: hashmark_read_rc_file (init.c:147)
             by 0x5C29ABD: read_rc_file (read_rc.c:4918)
             by 0x47C58C: initialize (init.c:464)
             by 0x45E94B: main (elm.c:1221)
        - Fixed valgrind reported memory leak:
          42 bytes in 1 blocks are definitely lost in loss record 173 of 283
             at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
             by 0x5C3BA55: safe_strdup (lib/safemalloc.c:277)
             by 0x52C0A7D: mbx_init_spool (lib/mbox/localmbx.c:4561)
             by 0x52F71DD: real_folder_from_local (lib/mbox/common_local.c:295)
             by 0x52B9F6D: browser_folder_from_local (lib/mbox/localmbx.c:2137)
             by 0x52D8C70: folder_from_dir_item (lib/mbox/savefolder.c:5705)
             by 0x47C153: arg_to_folder (src/init.c:288)
             by 0x47DA29: initialize_mailbox (src/init.c:928)
             by 0x484D57: main_messages_menu (src/mailbox.c:762)
             by 0x45F546: main (src/elm.c:1489)
        - Fixed segmentation fault on start up when 
          certain interfaces are present. Specially
          allow ifa_addr pointer on struct ifaddrs to
          be NULL.
         Problem noted by: Jeffrey H. Johnson
        - Possible fix for mailer_get_env_from()
        - Changed global elm.rc option "add-sender"
          to type struct dt_enumerate_info.
          This option have values
                no              Add Sender: header only when there is
                                more than  one address on From: -header.
                yes             Add Sender: header also when user
                                specifies From: -header or user changes
                                changes envelope sender address (aka Return-Path).
                auto            If mailer is local or mail domain can
                                be verified (or verify is disabled), add 
                                Sender: header when user
                                specifies From: -header or user changes
                                changes envelope sender address (aka Return-Path).
          Value "auto" is default.  Also boolean ON, OFF, TRUE, FALSE, YES and NO
          values are allowed on global elm.rc option "add-sender".
          If there is more than one address on From: -header,
          Sender: -header is always added.
        NOTE: Value "auto" of elm.rc option "add-sender" also adds Sender:
              -header if DNS query fails (does not get positive or negative answer).
              Sender: header is not added if DNS query succeed and mail domain does
              not found (or if mail domain does not accept mail) and there is
              just one address on From: -header.
        - When elm.rc option "add-sender" have value of "auto", domain of
          Sender address may be rewritten.
        - If Sender: address uses domain from "special-use-domains-blacklist"
          elmrc option and  global elm.rc option "add-sender" causes Sender:
          header to be added, m)ail and other similar commands refuse
          to send mail (unless "valid-domains" elmrc option overrides this).
        - Changed prototype of from_addr_literal() and
          from_addr_literal1().
        - On some cases "self-cc" and "self-bcc" keyword
          on hashmarks file is not used if keyword
          uses domain from "special-use-domains-blacklist" elmrc option
          (unless "valid-domains" elmrc option overrides this).
        - If Sender: address for b)ounce command uses
          domain from "special-use-domains-blacklist" elmrc option,
          b)ounce command is refused (unless "valid-domains"
          elmrc option overrides this).
        - Moved "valid-domains" elmrc option from mailerlib
          to addrlib.
        - "However, a more serious problem is that as soon as there is a
           blank line before the first alias in the file, not a single alias
           is processed."  (on OLD .elm/aliases.text file)
         Problem noted by: Dirk Craeynest
        * Possibly fixed get_line() on lib/alias/oldaliases.c
        - Added small fix to "elm -h" text.
        - Added small fix to prompt menu text of Mail Preview Screen.
        - Changed make_from_addr() to check  "special-use-domains-blacklist"
          elmrc option (unless "valid-domains" elmrc option overrides this).
          make_from_addr() returns status of that check.
        - Changed prototype of make_from_addr().
        - Domain of make_from_addr() result is checked on
          m)ail and r)eply -commands  (and similar commands
          which use mail()) with  elmrc options "verify-local-domain"
          and "verify-domain" settings. If verify fails, confirmation is
          asked with "Continue send or preview message?" -prompt.
        - Added force_from_addr() to lib/mailer/outheaders.c
        - Changed add_commands_help_merge() on src/command/command.c
        - Added  fcntl(fd,F_SETFD,FD_CLOEXEC) calls to socket
          file descriptions created by socket() and socketpair().
        - Added pid to debug output.
        - Added clear_other_actions() to lib/schedule.c
        - Clear actions on subprocess at give_resolv_process()
          on shared_libs/resolv/query.c
        - Clear actions on subprocess at metapager()
          on src/metapager.c
        * Fixed error where IMAP (or POP) connection state
          was messed when external pager was used.
         Problem noted by: Dirk Craeynest
        - Changed change_action(), set_schedule_action() and
          clear_action() on lib/schedule.c
        - Replaced change_action() with change_action2()
        * Added badpid_action_f            * badpid_act
          to change_action.
        - Small fix for wait_for_something()
        - Added ConfigStream0(), ConfigStream2()
        - Added FreeStreamStack0(), FreeStreamStack2()
        - Added setup_actions0(), clear_action0()
        - Added clear_remote_account0()
        - Changed Metamail text of Configure.
        - "I should report that on OpenBSD, at least recent OpenBSD, 
          there is no sys/timeb.h include file."
         Problem noted by: Jeffrey H. Johnson
        > Elm ME+ have some
          #ifdef BSD_TYPE
          #   include <sys/timeb.h>
          #endif
          But <sys/timeb.h> gives only struct timeb
          on Linux and that is not used by Elm ME+.
          Function ftime() uses  struct timeb but
          that system call is not used. Removed
          #ifdef BSD_TYPE
          #   include <sys/timeb.h>
          #endif
          from Configure, src/date.c, src/elm.c
        - Added -I option to elmconfwriter -command.
          This is used together with -l to
          ignore missing shared libraries
          (given on use-library and use-*-library
           elmrc options) and some other missing
           data.
        - Changed prototype of init_addrlib(),
          init_aliaslib(), read_rc_file(),
          post_init_check(), parse_elmrc(),
          mailerfunc(), init_default_mailer(),
          init_mboxlib(), init_misclib(),
          do_rc_parse(), do_rc_process(),
          process_delayed_blocks(), delay_lib_reg(),
          do_set(), rc_eval_tail(), rc_eval_tail_cline(),
          rc_eval_tail_line(), expand_dt_path(),
          register_delayed(), null_option_func(),
          post_init_shared_options(), nameresfunc(),
          connect_mode_func(), query_mode_func()
        - Changed prototype of option_func(),
          rc_parse_line(), rc_parse_cline()
        - Changed expand_dt_path(),
          expand_map_bin(), read_rc_file(),
          delay_lib_reg(), process_lib_reg()
        New elmrc options:
            expires-have-time
            mail-menu-time
            verify-alias-domain
            verify-local-domain
        New files:
            lib/addr/outexpires.c
            lib/addr/date.c
            lib/addr/parsarpdat.c
            lib/addr/getword.c
            lib/addr/split_addr.c
            doc/DOCS
        Removed file:
            lib/mbox/getword.c

Changes on Elm ME+ 2.5 PLalpha48 compared with Elm ME+ 2.5 PLalpha47

        SUMMARY: This release updates mime types list
                 and adds additional magic numbers
                 (byte sequence signatures) to
                 global elm.mimetypes file. Also
                 this release fixes panic when
                 s)aving to username@server. Now
                 this allows s)aving to #hashmark
                 if hashmark refers to IMAP server.
                 Also some other changes and some bug
                 fixes are included.
        - Updated subtypes of application
          on doc/mime.types
        - Added MIME_TYPE_FONT to enum mime_major_type
          at hdrs/misclib.h 
        - Added "font" to major_type [] at
          lib/misc/mediatype.c
        - Added MIME_TYPE_MODEL to enum mime_major_type
          hdrs/misclib.h  (model was already
          on major_type [] at  lib/misc/mediatype.c)
        - Added MIME_TYPE_EXAMPLE to enum mime_major_type
          at hdrs/misclib.h 
        - Added "example" to major_type [] at
          lib/misc/mediatype.c ("example" is treated
          like MIME_TYPE_UNKNOWN / "?unknown?" ).
        - Added "chemical" to major_type [] at
          lib/misc/mediatype.c (but no constant
          to  enum mime_major_type).
        - Updated subtypes of audio
          on doc/mime.types
        - Added subtypes of font
          to doc/mime.types
        - Removed image/t38 from  doc/mime.types
        - Updated subtypes of image
          on doc/mime.types
        - Updated subtypes of text
          on doc/mime.types
        - Updated subtypes of video
          on doc/mime.types
        - Added ignore_mime_types_map() to
          hdrs/misclib.h and lib/misc/mime_types.c
        - Added -I mapfile to elmmimetypes
          to specify list of mappings which
          are ignored.
        - Mapping for image/t38
          is removed during installation
        - Allowed several magic numbers
          (byte sequence signatures) on
          global {lib}/elm.mimetypes and
          user's .elm/mime.types. Magic
          numbers  (byte sequence signatures)
          must be on offset order and all
          magic numbers (byte sequence signatures)
          need match.
        - Added additional magic numbers
          (byte sequence signatures) to
                application/vnd.etsi.asic-e+zip
                application/vnd.etsi.asic-s+zip
                application/epub+zip
                application/vnd.kde.kchart
                application/vnd.kde.kivio
                application/vnd.kde.karbon
                application/vnd.kde.kformula
                application/vnd.kde.kontour
                application/vnd.kde.kpresenter
                application/vnd.kde.kspread
                application/vnd.kde.kword
                application/vnd.oasis.opendocument.database
                application/vnd.oasis.opendocument.chart
                application/vnd.oasis.opendocument.formula
                application/vnd.oasis.opendocument.graphics
                application/vnd.oasis.opendocument.image
                application/vnd.oasis.opendocument.text-master
                application/vnd.oasis.opendocument.presentation
                application/vnd.oasis.opendocument.spreadsheet
                application/vnd.oasis.opendocument.text
                application/vnd.oasis.opendocument.chart-template
                application/vnd.oasis.opendocument.formula-template
                application/vnd.oasis.opendocument.graphics-template
                application/vnd.oasis.opendocument.text-web
                application/vnd.oasis.opendocument.image-template
                application/vnd.oasis.opendocument.presentation-template
                application/vnd.oasis.opendocument.spreadsheet-template
                application/vnd.oasis.opendocument.text-template
                application/vnd.collabio.xodocuments.presentation
                application/vnd.collabio.xodocuments.document
                application/vnd.collabio.xodocuments.spreadsheet
                application/vnd.collabio.xodocuments.presentation-template
                application/vnd.collabio.xodocuments.spreadsheet-template
                application/vnd.collabio.xodocuments.document-template
                audio/sp-midi
                audio/qcelp
           to doc/mime.types. However many of these seems
           to be incorrect.
        - Added safe_stralloc_append() to
          lib/safemalloc.c
        - Do not give error message
             Don't understand specifying a subject and no-one to send to!
          when called as
              elm -S -s subject
          (send only mode).
        - Also
              elm -s subject
          alone implies send only mode.
        - Fixed error where s)ave command for target
          username@server produces
        BROWSER PANIC in .../lib/mbox/savefolder.c:5705:prepare_write_folder
        >>>No selection
         Problem noted by: Laura Kataja
         ( But target username@server:INBOX works.)
        > Changed that change_folder_browser_type() does
          not clear selection, but frees only type
          specific type. 
        > If browser type supports hashmark data
          on selection, possible hashmark info is
          copied. 
        - Added support to to s)ave for target
          #hashmark. This is only supported
          if hashmark refers to IMAP server.
          In that case mail is saved to INBOX
          on IMAP server.
        - Changed implementation of
          browser_cat_hashmark() on hashmark
          browser.
        - Fixed possible bug on showmsg_visit_mailbox_cmd()
        - Fixed possible bug on metapager()
        New file:
            ConfTool/killmimetypes

Changes on Elm ME+ 2.5 PLalpha47 compared with Elm ME+ 2.5 PLalpha46

        SUMMARY: This release implements interruptible
                 (with interrupt character, usually Ctrl-C) 
                 DNS queries on some systems when 
                 libelmme-resolv.so module is used. New
                 elmrc options are "name-lookup-cache-time", 
                 "name-lookup-cancel",
                 "special-use-domains-lookup" and
                 "static-hosts-max-names" (and
                 "query-mode"  on "resolv:" section).
                 This release includes some changes
                 and fixes for elmrc parsing. Also some other 
                 changes and some bug fixes are included.
        - Changed gethostdomain() on lib/opt_utils.c
        - Added check that domain name accepts only
          ASCII characters on gethostdomain().
        - Added gethostdomain() to read $LOCALDOMAIN
          environment variable before {lib}/domain
          file (and before using getdomainname()
          if "getdomainname" is given on "name-resolution" 
          elmrc option.)
        - If $LOCALDOMAIN includes space separated list of domains,
          then first domain is used.
        - Changed generate_hostfullname() on lib/read_rc.c
        - Update doc/elmrc-info
        - If DNS answer is truncated and equal of buffer size then
          resolv -module retries query with bigger buffer
          (up to 65535 bytes) [when using query-mode = blocking].
        - Configure for resolv -module now tests if
          res_mkquery(), res_send() and related routines
          can be used to make DNS queries. Using
          these routines means that res_query() and
          specially res_search() is replaced with
          own code.
        - Configure for resolv -module now tests if
          socketpair(AF_UNIX,SOCK_SEQPACKET,0,pair)
          can be used.
        - This release adds "query-mode" elmrc option to
          resolv: -section. This option have values
                blocking        This uses res_query()
                                   or res_search()
                non-blocking    This uses res_mkquery() and runs
                                   res_send() on separate process.
                                   In that case resolv -module
                                   implements internally
                                   res_search() like search
                                   algorithm.
        > Parameter "helper=allow-interrupt" of "query-mode"
          elmrc option tells that interrupt character (Ctrl-C)
          is allowed kill res_send() helper processes.
        > Parameter "helper=ignore-interrupt" of "query-mode"
          elmrc option tells that interrupt character
          (Ctrl-C) is ignored (does not kill process).
        > Numeric value to "helper" of "query-mode"
          elmrc option parameter tells how many helper
          processes is considered for query.
        > Parameter "helper-skip-limit" of "query-mode"
          elmrc option tells how many busy helper processes
          are skipped and not considered for query.
        > Parameter "parallel-lookup-max-time" of "query-mode"
          elmrc option gives maximum time what is used to resolve DNS
          lookup when non-blocking mode is used.        
        - Added add_foreign_background() to lib/syscall.c  
        - Added wait_background_end() to lib/syscall.c
        - Changed maybe_background() on lib/syscall.c
        - Added wait_for_action_or_timeout_settime() to lib/schedule.c
        - Added wait_for_action_or_deadline_settime() to lib/schedule.c
        - Added wait_for_timeout_f() to lib/schedule.c
        - Small fix for real_wait_poll()
        - This release adds "name-lookup-cache-time" elmrc option
          which tells default cache time on seconds for mail service
          if it is cached (usually not). Default value is
          320 seconds. This replaces DEFAULT_CACHE_TIME constant
          from lib/service_list.c
        - Fixed error
            Enumerated values resolv:* ignored -- code not loaded
            I can't understand mail-services-lookup key "resolv:all-addresses"
               in line 54 in "(...)/lib/elm.rc" file
        - Changed set_dt_enumerate_as_str() on lib/rc_handle.c
        - Changed give_dt_enumerate_as_int() on lib/rc_handle.c
        - Changed give_dt_shared_value() on lib/rc_handle.c
        - Changed struct dt_enumerate_info on hdrs/save_opts.h
        - Fixed case-insensitive matching of tagged keyword
          on set_dt_enumerate_as_str()
        - Fixed error
              Keywords on section "resolv" ignored starting
                 from line 419 on file (...)/lib/elm.rc
        - Added new warning of ignored elm.rc lines.
        - Added rc_eval_tail_cline() to lib/read_rc.c
        - Added rc_eval_tail_line() to lib/read_rc.c
        - Changed struct parsed_rc
        - Changed do_rc_parse(), do_rc_process()
          on lib/rc_parse.c
        - Changed shared_fill_dt_enumerate_values(),
          give_options() on lib/shared.c
        - Fixed frm and elmrc-write -command error
                Keywords on section "smtp" ignored starting
                   from line 1889 on file .elm/elmrc
        - Changed frm -command option handling.
        - Added rc_DT_DELAYSHARED
        - Added some
                # Failed to convert charset of option ...
          comments to generated elm.rc or .elm/elmrc
          on error.
        - Changed do_rc_parse() so that empty line
          followed by comment line resets last option
          which is considered for continuation lines. This changes
          error messages like
                 Key "@charset" does not accept continuation lines
                     in line 119 in ".../elm.rc" file
        > Added error message
                 Continuation line 119 on file ".../elm.rc"
                 ignored: ...
        - Also comment lines starting with "### " resets
          last option which is considered for continuation lines.
        - Also section tag: lines resets last option which is
          considered for continuation lines.
        - Small change to mail_gets() and malloc_gets()
        - Fixed crash on smtp -module if submission/smtp
          server's name is not resolvable.
        - Made DNS query wait to be interruptible with Ctrl-C
          when
               query-mode=non-blocking
          is used on resolv -section with
               mail-services-lookup = resolv:addresses
          or
               mail-services-lookup = resolv:all-addresses
        - Also DNS query is interruptible with Ctrl-C
          when
               query-mode=non-blocking
          is used on resolv -section with
               verify-domain = resolv:mx-address
          or
               verify-domain = resolv:mx
          or
               verify-domain = resolv:any
        > NOTE: This uses actually interrupt signal
                which is usually generated with Ctrl-C
                but tty settings can vary.
        > NOTE: Also interrupt character (Ctrl-C) may kill
                res_send() helper process
                [when using helper=allow-interrupt].
                Otherwise
                DNS query is still completed (and resolv
                -module caches answer).
        > NOTE: If
               mail-services-lookup = hostname
          or
               mail-services-lookup = gethostbyname
          or
               mail-services-lookup = getaddrinfo
          is used, then DNS host lookup is not
          interruptible with Ctrl-C.
        > NOTE: If
               verify-domain = hostname
           is used, then DNS host lookup is not
          interruptible with Ctrl-C. 
        > NOTE: Also DNS
          lookup is not interruptible with Ctrl-C
          if
                query-mode = blocking
          is used on resolv -section.
        - This release adds "name-lookup-cancel"
          elmrc option, which controls behaviour of
          Ctrl-C (interrupt character) on DNS lookup handling.
          This option have values
                 disabled       hostname / mail domain name
                                  lookups are not interruptible.
                 enabled        hostname / mail domain name
                                  lookups are assumed to be
                                  interruptible (but that is
                                  not likely not work with
                                  gethostbyname(),  getaddrinfo(),
                                  res_query() and res_search()).
                 auto           hostname / mail domain names
                                  lookup result waiting is
                                  interruptible when  res_send()
                                  helper process is used.
          Value "auto" is default. This may case that
          this is disabled (unless "mail-services-lookup"
          is modified). Also boolean ON, OFF, TRUE, FALSE, YES and NO
          values are allowed on elmrc option "name-lookup-cancel".
        - Added set_cancel_message()
        - Changed connect_remote_account(), make_remote_mbox(),
          give_service_entryS(),  lookup_namei(),
          lookup_name()
        - Added give_service_entry_can(),
          give_service_entry4_can()
        - Added wait_for_action_or_timeout_settime_c() to lib/schedule.c
        - Added wait_for_action_or_deadline_settime_c() to lib/schedule.c
        - Changed that real_wait_select() and real_wait_poll()
          return -1 on error. Added enum wait_for_status.
        - Changed real_wait(), real_wait_check_timeout(),
          wait_for_something()
        - Some changes on my_wait()
        - Changed error_sleep() return type to be void (no value).
        - Changed SR_RawState()
        - Fixed crash on connect-mode -keyword parsing.
        - Added conf_split_param_value() to lib/remote_mbx.c
        - Added sigchld_handler() call to
          verify_transmission(), enter_helper(),
          attach_modify(), extended_command(),
          fbrowser(),  edit_headers(),
          alias_modify(),  ViewThreads()
        - Added lib/static-hosts.c, which parsed
          /etc/hosts file without using gethostent()
          function.
        - If elmrc option "special-use-domains-lookup"
          have value "static-hosts", names given on elmrc
          option "special-use-domains-blacklist"
          are directly read from /etc/hosts (only).
        > Names given on elmrc option
          "special-use-domain" are not looked up
          from DNS and are not looked up with elmrc
          option "mail-services-lookup".
        - If elmrc option "search-mail-service" on
          "resolv:" section is value "static-hosts-dotless-search-name",
          libelmme-resolv.so module search /etc/hosts first
          if name does not include dot (.), then lookups
          name from DNS with default search rules (res_search()).
          If name not found from DNS and name includes dot (.), then
          libelmme-resolv.so module search  /etc/hosts.
        > libelmme-resolv.so module uses elmrc option
          "search-mail-service", when it searches names for
          addresses.
        - If elmrc option "search-mail-service" on
          "resolv:" section is value "static-hosts-dotless",
          libelmme-resolv.so module search /etc/hosts first
          if name does not include dot (.), then queries
          exact name from DNS (res_query()). If name not found
          from DNS and name includes dot (.), then
          libelmme-resolv.so module search  /etc/hosts.
        - If "query-mode" on "resolv:" section have value
          "blocking", then default value of "search-mail-service"
          on "resolv:" section is "fallback-dotless-search-name".
        - If "query-mode" on "resolv:" section have value
          "non-blocking", then default value of "search-mail-service"
          on "resolv:" section is "static-hosts-dotless-search-name".
        - libelmme-resolv.so -module changes default value of
          "mail-services-lookup" if  "query-mode" on "resolv:"
          section have "non-blocking" values and "use-config-library"
          includes "resolv". This is similar than libelmme-resolv.so 
          -module's change of "verify-domain".
        - Changed wait_for_something(), real_wait_select() and
          real_wait_poll() on lib/schedule.c
        - Added "X-Autogenerated:" to default weedlist. This header
          is generated by Communigate Pro.
        - Added "Auto-Submitted:"  to default weedlist. This is defined
          on RFC 3834.
        - Added "X-MS-Exchange-" to default weedlist (removed
          "X-MS-Exchange-Organization-").
        - Added "X-Originating-IP:" and "Accept-Language:" to
          default weedlist.
        - Added "Resent-Message-ID:" to default weedlist.
        - Added warning of magic values >= 256 to
          parse_magic() on lib/misc/mime_types.c
        - Added some fixes for magic values >= 256 to
          parse_magic() on lib/misc/mime_types.c
        - Changes error messages on load_mime_types_map()
          on lib/misc/mime_types.c
        New elmrc options:
            name-lookup-cache-time
            name-lookup-cancel
            special-use-domains-lookup
            static-hosts-max-names
        New files:
            shared_libs/resolv/resolvertest2.c
            shared_libs/resolv/resolvconf.h.SH
            shared_libs/resolv/query.c
            lib/static-hosts.c
            hdrs/service_imp.h

Changes on Elm ME+ 2.5 PLalpha46 compared with Elm ME+ 2.5 PLalpha45

        SUMMARY: This release may use CLOCK_MONOTONIC and can make 
                 several connect() attempts on parallel on some 
                 systems. Elm includes new command line option --mail-file
                 on this release. New elmrc options are
                 "connect-mode", " pop-idle-alive-interval" and
                 "imap-idle-alive-interval" (and
                  "smtp-idle-alive-interval" on "smtp:" section).
                 This release adds "self-cc" and "self-bcc" keywords
                 to ~/.elm/hash.marks or global elm.hashmarks.
                 This release changes elmrc option "mimeforward".
                 Also some other changes and some bug fixes 
                 are included.
        - Changed prototype of (no_)action_routine(), change_action()
        - Changed prototype of (no_)schedule_routine(), set_schedule_action()
        - Changed prototype of ss_(no)action_routine()
        - Changed prototype of ss_StreamAction()
        - Added wait_for_any_action_settime() to lib/schedule.c
        - Added wait_for_any_action_settime_c() to lib/schedule.c       
        - Configure checks if clock_gettime() is available on libc
        - lib/schedule.c uses clock_gettime() and CLOCK_MONOTONIC
          for timeouts when monotonic clock is available. This should
          avoid confusion when current time (wallclock) is altered.
        - Also lib/service_list.c and resolv -module uses
          clock_gettime() and CLOCK_MONOTONIC for timeouts when monotonic
          clock is available.
        - Configure checks if gettimeofday() is available
        - lib/schedule.c uses gettimeofday() for timeouts
          when available (and monotonic clock is not)
        - Configure also tests if suseconds_t is available
        - Changed prototype of scan_mail_services_conf(),
          give_service_entry3(), give_service_entry4(),
          give_service_entryS(), add_alias_to_entry(),
          add_addr_to_entry(), shared_address_lookup(),
          lookup_service_addresses_f()
        - Some fixes for compilation when REMOTE_MBX
          is not defined.
        - Changed mail domain verification.
        - Configure now notes if struct timeval is defined on 
          <sys/time.h>
        - This release changes how Configure look up
          for <sys/select.h>
        - If ether select() or <sys/select.h> are found
          but not both, then Configure compile test
          these.
        - Allow command line option
             -dclass#debugfile:n
          This puts debug file to /tmp -directory.
        - Check on lib/schedule.c that fd description <= FDSETSIZE
          when select() is used.
        - Treat message/disposition-notification displayable
          as message/delivery-status is treated.
        - Added message/delivery-status and message/disposition-notification
          to lib/misc/mediatype.c
        - Fixed action removal on wait_for_something() on lib/schedule.c
        - Added timed tasks to lib/schedule.c. These are available only
          when some poll method (select() or poll()) is available.
        - Used timed task on src/addr_util.c
        - Used timed task on shared_libs/resolv/resolv.c
        - Used timed task on lib/service_list.c (only useful
          if names are on global elm.mailservices or
          user's .elm/mail.services -file).
        - Added wait_got_jump() to lib/schedule.c. This is
          called from src/in_utils.c, when GetJump is jumped out
          (and therefore interrupt wait_for_... routines on
           lib/schedule.c).
        - Configure checks if
          getsockopt(...,SOL_SOCKET,SO_ERROR,...,...)
          is available.
        - If elmrc option "connect-mode" is
          set to "parallel", Elm ME+ uses
          non-blocking connect() and tries next
          connect() attemp after given "delay" seconds
          or milliseconds if previous connect was not
          completed. This also requires that
          getsockopt(...,SOL_SOCKET,SO_ERROR,...,...)
          is available.
        - If elmrc option "connect-mode" is
          set to "non-blocking", Elm ME+ uses
          non-blocking connect(), but connection attempts
          are done sequentially.
        - If elmrc option "connect-mode" is set to
          "blocking" Elm ME+ makes connection attempts
          sequentially and connect() blocks until
          it is succeed or failed.
        - Changed prototype of change_action() and
          set_schedule_action().
        - Changed return type of action_routine()
          and ss_StreamAction().
        - Changed error message of "mailer" global elm.rc option.
        - Fixed  cancel_progress_x()
        - Added possible fix to skip_envelope()
        - Added command line option
                --mail-file=x
          to Elm. This assumes that file 'x'
          includes one mail message with headers.
          It is NOT assumed to include mail separator
          lines. For that use command line option
                -fx
           of Elm, which assumes that file 'x'
           is mail folder.  Option
                   --mail-file=x
           can't mixed with options
                 -fx
                 --folder-selection
                 -c
                 -Oimap:x
           However command line option
                --mail-file=x
           can mixed with sending of mail
           (in that case mail file is included
            as separate part to mail; normally
            as type message/rfc822, but sometimes
            as type application/octet-stream).
        - Added update_header_list1() to lib/addr/headers.c
        - Added parse_body_line_helper() to src/newmbox.c
        - Exported mbx_read_line() (was read_line())
          from lib/mbox/localmbx.c
        - Added mbx_max_line_read() to lib/mbox/localmbx.c
        - Possible small fix to compare_headers_1()
        - Added command line option
                --mail-file
          to Elm. This causes that arguments
          are treated as mail files and not mail recipients).
        - Fixed crash
                MBX VIEW PANIC in digest.c:87:mt_add_digest_storage
                >>>mt_add_digest_storage called
        - Added query_mailbox_flag() to src/messages/messages.c
        - Added
                application/octet-stream
          to lib/misc/mediatype.c. This is default unsupported type,
          but should be listed.
        - Changed mimeforward question
              Forward message as separate part? (y/n)
          to
              Forward t)ext only; or whole message as separate p)art ? (t/p)
         Prompted by: Laura Kataja
        > If elmrc option "mimeforward" is ON, then
          default value is 'p' (forward as separate part).
          Setting elmrc option "askmimeforward" 
          to OFF disables that prompt.
        - Changed elmrc option "mimeforward".
          Values are:
              off       Disables forwarding mail as message/rfc822
                        body part. This causes that only pageable
                        text is forwarded. Text is included on editor
                        buffer if message is edited.
              on        Enables forwarding mail as message/rfc822
                        body part. This enables forwarding whole mail.
                        Forwarded mail is not included on editor
                        buffer but is visible on attachment list
                        when sending mail (but disposition "inline"
                        instead of "attachment" is used).
             auto       Enables forwarding mail as message/rfc822
                        body part if it top level type of mail
                        is not text/plain or charset is not good
                        or top level disposition is attachment.                 
           Value "auto" is default. This may cause that almost all
           mails are forwarded as message/rfc822 body part.
           Also boolean ON, OFF, TRUE, FALSE, YES and NO
           values are allowed on elmrc option  "mimeforward".
        - Added elmrc option "pop-idle-alive-interval". This option
          controls how often NOOP command is send when POP is idle.
          Interval time is given on seconds. Default value is 25
          (seconds). This idle timeout value is same than previously.
        - If previous NOOP command is not completed, then
          warning is printed:
                  POP connection to ... stalled for ... seconds.
        - Added elmrc option "imap-idle-alive-interval". This option
          controls how often NOOP command is send when IMAP is idle.
          Interval time is given on seconds. Default value is 25
          (seconds). This idle timeout value is same than previously.
        - If previous NOOP command is not completed, then
          warning is printed:
                  IMAP connection to ... stalled for ... seconds.
        - Added check that numeric values on elmrc are valid.
        - Added missing 'w' character to name_ok() on
          lib/service_list.c. Missed 'w' character caused 
          that addresses (hostnames) with 'w' character was 
          saved on quoted form.
        - Added "smtp:" section to elmrc for shared library 
          libelmme-smtp.so.
        - Added  elmrc option "smtp-idle-alive-interval" to
          "smtp:" section. This option
          controls how often NOOP command is send when SMTP
          or submission is idle. Interval time is given on seconds. 
          Default value is 240 (seconds). This idle timeout
          value is same than previously.
        - Fixed smtp_timeout_action(). Sending of NOOP
          command was not working.
        - If previous NOOP command is not completed, then
          warning is printed:
                  Submission connection to ... stalled for ... seconds.
          (or
                  SMTP connection to ... stalled for ... seconds.
           for port 25.)
        NOTE: Elm ME+ does not provide command for
           kill stalled connections and stalled connections
           are noted only when connection is otherwise idle
           (if connection stalls on middle of some other
            command than that NOOP command used to keep
            connection not idle too long, warning is not
            printed either).
        - Generate internal "From " header even when imap
          reading is skipping body. That is required so that
          received_time can be calculated.
        > This affects received -sorting order.
         Problem noted by: Laura Kataja
        - When reading POP mailbox, set received_time
          same to all messages. This causes that
          received -sorting order uses mailbox order.
        - small fix to debug output on hdr_decode_word()
        - small fix to debug output on mbx_lock_pop()
        - Fixed error that RC_post_init2() from shared libraries
          was not processed.
        - Added "self-cc" and "self-bcc" keywords for
          hashtype: remote-mailbox
          on hash marks file (that is user's .elm/hash.marks or
          global elm.hashmarks file).
          These keywords adds user's address to cc:
          or bcc: header field when mailing.
        > Usually "self-cc" and "self-bcc" uses address given
          on hash marks file, but if it is not given then
          local username is used as address or
          From: header from user's .elm/elmheaders is
          copied to cc or bcc.
        NOTE: That if both  .elm/elmheaders and hash marks file gives
           From address, mail uses From: from .elm/elmheaders for
           From: header field but self-cc and self-bcc uses address
           from hash marks file.
        - Added username_to_surface_addr() to lib/mailer/outheaders.c
        - Fixed some output of dump_expanded_address(), used on
          debug.
        - Changed calling convention of copy_expanded_address()
        - Added append_expanded_address() and
          have_expanded_address() to hdrs/addrlib.h
        New files:
            hdrs/schedule_time.h
            lib/schedule_time.c
            src/messages/mailfile.c
            shared_libs/smtp/elmrc-smtp-info
        New elmrc options:
            connect-mode
            pop-idle-alive-interval
            imap-idle-alive-interval

Changes on Elm ME+ 2.5 PLalpha45 compared with Elm ME+ 2.5 PLalpha44

        SUMMARY: This release adds 'macro' functionality
          (as #hashmark) to folder and file browser. A
          #hashmark can refer to userid@server or local 
          directory. This includes new tool "elmhashmarks",
          new elmrc option "editor-hm-propline" and
          new global elm.rc option  "user-map-dir".
          This release changes  "incoming-mailbox", 
          "receivedmail" and "sentmail" elmrc options.
          IMAP connection caching may use UNSELECT command
          on this release.  Folder browser's 
          'remote server' prefix (&) search connections
          from IMAP connection cache on this release.
          Also some other changes and some bug fixes 
          are included.
        - Changed overflow checking on string_to_long()
        - Fixed a certain case where builtin++ pager refused
          display rest of (format=flowed) mail when 
          word-wrapping line line which include non-break 
          space.
        - Fix case where word-wrapping is not possible
          on (format=flowed) because all the words are
          separated by non-break space and then pager 
          refuses to display rest of (format=flowed) mail.
        - Allowed to refer userid@server or local directory
          with #markname when giving folder or file name.  
          These #markname are defined with [markname] 
          on global elm.hashmarks or user's hash.marks
          file.  
        See also chapter "Hashmark information"
        - Added "editor-hm-propline" elmrc option.
          This is similar than "editor-elmrc-propline". 
          If set to "emacs", then when on user's 
          hash.marks file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-hm-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.    
        - Added "user-map-dir" global elm.rc option.
          This gives default directory location for files 
          referenced with usermap-file: on global elm.hashmarks 
          file.
        - Added elmhashmarks -command.
        - Changed that 
                  incoming-mailbox 
          elmrc option is expand same way than 
                  receivedmail
          and     sentmail
          elmrc options.
        NOTE: Expansion does not support #hashmark
        - commentfile.o is included now in several
          libraries!
        - File and folder browser now complain if given
          name can not be converted to local-fs-charset.
        - Added add_free_rc_hook() to lib/read_rc.c
        - Freed user_aliases_map and system_aliases_map
          via free_rc_hook at lib/mbox/init.c
        - Freed some config via  free_rc_hook
          at lib/misc/init.c
        - Fixed ascii value check on parse_service_entries()
        - Added parse_tokenized_address() and 
          parse_one_tokenized_address() to 
          lib/addr/parsestring.c        
        - Changed parse_string_address() and
          unquote_string() on lib/addr/parsestring.c
        - Added read_charset_tag() to lib/service_list.c
        - Added trim_whitespace_from_end() to lib/service_list.c
        - Added unicode_is_space() to hdrs/elmlib.h
          This is "space" as considered on tokenizer.   
        - Added string_have_prefix() to lib/string.c
        - Added string_have_ascii_sep1() to lib/string.c
        - Added give_service_entry4() to lib/service_list.c 
        - Added  malloc_remote_account() and free_remote_account()
          to lib/remote_mbx.c
        - Added get_connection_state to lib/mbox/connection.c
        - Added set_imap_connection() to lib/mbox/imap.c
        - Replaced browser_from_connection() with
          browser_from_connectionX()
        - Possible fix for rs_folder_from_imap()
        - Removed valid_browser()
        - Changed give_line_dir()
        - Added comment column to Elm 2.5 style file browser
        - Added missing free() to free_terminal_map()
        - Added missing free() to free_interface_info()
        - Possible fix for charmap_copy()
        - Added -r elmrc -option also to elmmailinglists 
          -command.
        - Added -r elmrc -option also to elmmailservices
          -command.
        - Added -r elmrc -option also to elmmimetypes
          -command.
        - Added -r elmrc -option also to elmaliases-write
          -command.
        - Added -r elmrc -option also to elmbindata
          -command.
        - Moved  string_need_quote() from 
          melib/mime_param.c to lib/stringtok.c
        - Print long command line options on "elm -h"
          command.
        - Documented --mailbox-title command line
          option of Elm.
        - Documented  --have-double-wide-characters line
          option of Elm.
        - Small change to error printing.
        - Use UNSELECT command on IMAP if CLOSE
          command can not used.
        RFC 3691: Internet Message Access Protocol 
                  (IMAP) UNSELECT command
        - Changed that rs_connect_imap() uses IMAP
          connection cache. That is required so that '&'
          does not create IMAP connection when good connection
          is available. 
        - Added locate_from_cache_1() to lib/mbox/connection.c
        - Added value "use-$MAIL" for use as continuation line
          flag on "incoming-mailbox" elmrc option. That flag 
          is set by default , but it is reset when 
          "incoming-mailbox" elmrc option is set.
        - Moved check that $MAIL is not parsed as remote
          mailbox from remote_folder_type() to 
          enter_new_folder() and  defaultfile_expand_func()
        - Changed prototype of enter_new_folder()
        - Added value "local-file" for use as continuation line
          flag on "incoming-mailbox", "receivedmail" and
          "sentmail" elmrc options.
        - Added "unsigned short magic" to 
          struct browser_type
        - Added "unsigned short magic" to 
          struct folder_type and removed valid_magic()
          from lib/mbox/mbox.c
        - Added "unsigned short magic" to 
          struct folder_info  
        - Added "unsigned short magic" to 
          struct private_data
        - Added "unsigned short magic" to 
          struct folder_browser
        - Added "unsigned short magic" to 
          struct info_type
        - Changed 'skipping' on struct read_folder_state 
        - Changed that Configure defaults  both flock 
          and fcntl locking on Linux 4.*
        New tools:
            elmhashmarks
        New files:
            lib/mbox/hashmark.c
            hdrs/hashmark.h
            hdrs/hashmark_imp.h
            hdrs/commentfile.h
            lib/mbox/hashmark_local.c
            lib/mbox/hashmark_remote.c
            lib/mbox/hashmark_helper.c
            utils/elmhashmarks.c
            doc/elmhashmarks-info
            doc/hash.marks
            ConfTool/GenHashMarks
            doc/elm.user.map/elm.usermap
            doc/elmhashmarks.1
        New elmrc options:
            editor-hm-propline
            user-map-dir

Changes on Elm ME+ 2.5 PLalpha44 compared with Elm ME+ 2.5 PLalpha43

        SUMMARY: This release adds preview functionality
                 to "Mail Pre-Send Screen" and adds 
                 "weedout-without-title" option to 
                 elmrc. This release no longer quits
                 parsing IMAP mailbox when IMAP FETCH command
                 fails to retrieve header block of mail.
        - Space -key on "Mail Pre-Send Screen" previews
          message for sending.  This is not exactly same
          message than what will be mailed. PreV)iew menu 
          -command "Mail Pre-Send Screen" goes to "Mail 
          Preview Screen". Prev)iew parts command
          displays mime structure of prepared message.
          Effectively 'V' command toggles between
          "Mail Pre-Send Screen" and "Mail Preview Screen".
        - Added elmrc option "weedout-without-title".
          That is used instead of "weedout" when mail
          is viewed on  "Mail Preview Screen"
        - 'H' -command on "Mail Pre-Send Screen" previews
          message with all headers (ignore 
          weedout-without-title list).
        - Added function have_ispell() to mailmsg2.c
        - Added elm_append_message() to
          lib/output.c
        - Changed menu text on "Mail Pre-Send Screen".
        - Microsoft Exchange Server 2013 IMAP4 server sametimes
          returns no data for 
                  FETCH {number} (FLAGS INTERNALDATE BODY.PEEK[HEADER])
          command. Elm ME+ no longer abort reading
          rest of mailbox on that situation.
        New file:
            src/snd_preview.c
        New elmrc option:
            weedout-without-title

Changes on Elm ME+ 2.5 PLalpha43 compared with Elm ME+ 2.5 PLalpha42

        SUMMARY: This release reduces conditionally compiled
                 code and fixes some bugs including regression
                 where replied mark (r) was not added to
                 messages. This release changes default
                 command to e)dit on send confirmation
                 ("Mail Pre-Send Screen") if message is empty.
        - Removed most #ifdef MMDF
        - Added variable have_MMDF (constant)
        - Removed most #if POLL_METHOD
        - Added variable POLL_method (constant)
        - Removed most #ifdef ALLOW_MAILBOX_EDITING
        - Added variable ALLOW_mailbox_editing (constant)
        - Removed most #ifdef ALLOW_SUBSHELL
        - Added variable ALLOW_subshell (constant)
        - Removed most #ifdef ISPELL
        - Added variables have_ISPELL (constant),
          ISPELL_path (constant), ISPELL_options (constant)
        - Removed most #ifdef USE_PGP
        - Added variable use_PGP (constant)
        - Removed most #ifdef ENABLE_CALENDAR
        - Added variable ENABLE_calendar (constant)
        - Added conditional_option_p pointer
          to struct rc_save_info_rec and
          to struct OLD_optsmenu.
        - Possible fix to mbx_copy_body_non_spool()
          and mbx_copy_body_spool()
        - Possibly fixed case where last line of 
          ~/.elm/terminal.info was not (always) parsed 
          if there was not newline on last line.
        - Possibly fixed case where last line of 
          ~/.elm/mime.types was not (always) parsed 
          if there was not newline on last line.
        - If mail to be send is empty (except Subject),
          sending prompt is changed and default command
          is e)dit.
        - Elm ME+ 2.5 PLalpha42 failed to add replied
          mark (r) to messages.
         Reported by: Kimmo Ruosteenoja
        * This failure was caused by incorrect fix
          on Elm ME+ 2.5 PLalpha42 for compiler warning:
                mailmsg2.c:2069:6: warning: logical 'and' applied to 
                non-boolean constant [-Wlogical-op]

Changes on Elm ME+ 2.5 PLalpha42 compared with Elm ME+ 2.5 PLalpha41

        SUMMARY: Enabled some compiler warnings and fixed them.
                 Waiting of smtp/submission server is now
                 cancellable with interrupt character (Ctrl-C).
                 Added \ -command to builtin++ pager. Also
                 some bug fixes are included.
        - Fixed warning
                read_rc.c:2832:5: warning: ISO C90 forbids mixed 
                declarations and code [-Wdeclaration-after-statement]
        - Fixed warning
                mailmsg2.c:2069:6: warning: logical 'and' applied to 
                non-boolean constant [-Wlogical-op]
        - Removed bogus condition from browser_descend_local()
        - Fixed warning
                from.c:940:4: warning: string length '607' is 
                greater than the length '509' ISO C90 compilers 
                are required to support [-Woverlength-strings]
        - Fixed warning
                args.c:499:2: warning: string length '567' is 
                greater than the length '509' ISO C90 compilers 
                are required to support [-Woverlength-strings]     
        - Fixed warning
                mbox.c:34:1: warning: 'static' is not at beginning 
                of declaration [-Wold-style-declaration]
        - Fixed warning
                parsestring.c:29:1: warning: 'static' is not at 
                beginning of declaration [-Wold-style-declaration]
        - Fixed warning
                okay_addr.c:27:1: warning: 'static' is not at beginning 
                of declaration [-Wold-style-declaration]
        - Fixed warning
                ../../hdrs/me.h:75:1: warning: 'extern' is not at 
                beginning of declaration [-Wold-style-declaration]
        - Fixed warning
                curses.c:741:1: warning: 'static' is not at beginning 
                of declaration [-Wold-style-declaration]
        - Fixed warning
                termbuffer.c:19:1: warning: 'static' is not at 
                beginning of declaration [-Wold-style-declaration]
        - Fixed warning
                def_url.h:188:1: warning: 'extern' is not at beginning 
                of declaration [-Wold-style-declaration]
        - Fixed warning
                service_list.c:2075:30: warning: type of 'silent' 
                defaults to 'int' [-Wmissing-parameter-type]
        - Fixed search on builtin++ pager.
        - Added  wait_for_action_c(), wait_for_any_action_c(),
          wait_for_timeout_c(), wait_for_action_or_timeout_c(),
          wait_for_any_action_or_timeout_c() to lib/cancel.c
        - Added WaitStreamFor_c() to lib/streamsched.c
        - When 
               mailer = submission
          waits submission or smtp server greeting
          it is now possible to cancel with Ctrl-C 
          (interrupt character). 
        * Also waiting of EHLO response after
          server greeting is now possible to cancel 
          with Ctrl-C (interrupt character). 
        * Other waits still are not possible to cancel.
        * However waiting on
              mailer = sendmail-bs
          is not possible to cancel. Also actual
          mail submission and other waits which are
          common for  
              mailer = submission 
          and
              mailer = sendmail-bs
          are not possible to cancel.
        - Changed malloc() on shared_libs/smtp/smtp.c
        - Possible fix for smtp_push_data() on
          shared_libs/smtp/smtp.c
        - Added cancellable versions of some functions
          on shared_libs/smtp/smtp.c (all these are not
          used yet).
        - Some fixes for lib/schedule.c when poll()
          is used.
        - Changed error handling of smtp_run_ehlo()
        - Added time_t maximum value (aka time_MAX)
          checks to lib/schedule.c
        - Added new_schedule_cancel(), is_schedule_cancel()
          and schedule_cancel_timeout() to lib/cancel.c
        - Added \ -command to builtin++ pager. This
          hides (or shows) wrap indicator (\).
        - Fixed warning 
          ../shared_libs/smtp/smtp.c:3566: varoitus: the use of 
          `tempnam' is dangerous, better use `mkstemp'
        > tempnam() is not needed. Actual checks for attacks
          are done safeopen_rdwr(). 

Changes on Elm ME+ 2.5 PLalpha41 compared with Elm ME+ 2.5 PLalpha40

        SUMMARY: This release adds new memory allocation wrappers,
                 compiles libelmme-resolv.so module on more Linux 
                 distributions, makes IPv6 support more complete, 
                 may use getaddrinfo(), getifaddrs() and 
                 if_nameindex() -functions. New elmrc option 
                 "ipv6-scope-id" is added and new values are added 
                 to elmrc option "mail-services-lookup". This 
                 release changes error handling on parsing of 
                 headers. Then also some other changes and bug 
                 fixes are included.
        WARNING: There are some changes on nm usage so it may
                 cause that different set of symbols are found.
                 Please report possible problems.
        - metapager() did not display correctly a header
          whose unfolded length was 2560 characters or more.
          Raised that to 32k characters as it is on 
          state_read_headers().
        - Added safe_calloc() as wrapper to calloc().
          That is similar to safe_malloc(). 
        - Changed len from unsigned to size_t on safe_*
          allocation functions
        - Fail if size < 1  on safe_*  allocation functions
        - Added safe_array_realloc() to lib/safemalloc.c
        - Added safe_zero_alloc() to lib/safemalloc.c
        - Possible fix for debug_print_buffer()
        - Added Configure test for <stdint.h>
        - On Red Hat Enterprise Linux Server release 5.6 (Tikanga)
          Configure test for resolv library fails with
                /tmp/ccOfeE26.o: In function `main':
                tryresolv.c:(.text+0x474): undefined reference to `__ns_initparse'
                tryresolv.c:(.text+0x605): undefined reference to `__ns_parserr'
                tryresolv.c:(.text+0x86f): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0x902): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0x9a0): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0xbb4): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0xc58): undefined reference to `__ns_name_uncompress'
                collect2: ld returned 1 exit status
        > Linked tryresolv with static libresolv.a
          instead.
        - Added nls/C/C/C/s_iconv.m
        - Added nls/C/C/C/s_smtp.m
        - Added nls/C/C/C/s_tls.m
        - Changed struct smtp_callbacks on
          shared_libs/include/shared_smtp.h
        - Do not call flush_filter() with NULL
          ptr->filter_line on set_out_state_line_mode().
          Possible fix for crash.
        - Fix for add_se_alias_to_entry()
          on lib/service_list.c
        - If getaddrinfo() is available, use it for address lookup 
          when
                mail-services-lookup = hostname
          was used on user's .elm/elmrc -file. This is default.
        - New value 
                mail-services-lookup = gethostbyname
          on user's .elm/elmrc -file specifies that 
          gethostbyname() should be used.
        - New value 
                mail-services-lookup = getaddrinfo
          on user's .elm/elmrc -file specifies that 
          getaddrinfo() should be used.
        * However gethostbyname() is still used to 
          initialize "hostdomain" and IPv4 addressed 
          returned are still used for default values of
          "mailname" elmrc option. This does not
          use "mail-services-lookup" elmrc option
          and getaddrinfo() is not used on here.
        - Configure tests if AI_ADDRCONFIG is usable
          with getaddrinfo()
        - Fix panic on connect_remote_account_1():
          "CONNECTION PANIC in remote_mbx.c:521:connect_remote_account_1
           >>>No data (ra_from)"
        - Fixed some wrong definitions on known
          headers array on lib/addr/headers.c 
        - Changed parse_header_address() on
          lib/addr/getaddrc.c so that missing ','
          after '>' is detected. Before that change
          components of two address was catenated.
        - Do not alloc zero length vector
          if add_name_to_string() is called
          with empty ascii string. add_ascii_to_string()
          uses actually add_name_to_string().
        - Added more wrapping of headers when they are printed
          to editor's buffer on src/hdrconfg.c
        - If getifaddrs() is available, Configure asks
          that should interface addresses added to "mailname" 
          global elm.rc option. Interface "lo" is
          ignored when adding addresses to "mailname".
          Also IPv6 addresses with scope id are ignored.
        - Added get_interfaces(), update_interface_list(),
          set_SOCKADDR_from_data(), free_interface_list() ,
          same_SOCKADDR_ptr_generic() to lib/remote_mbx.c
        - Small fix to lookup_domain_name() on
          lib/read_rc.c
        - If getifaddrs() is available and elmrc option
          "query-address-type" (on resolv: -section on 
          user's .elm/elmrc -file) have value "default", 
          resolv -module uses interface address list to 
          determine if query A (IPv4) or AAAA (IPv6) records 
          need to be queried. Interface "lo" and IPv6 
          addresses with non-zero scope-id are ignored. 
          If only IPv4 addresses are seen then A (IPv4) 
          records are queried. If only IPv6 addresses are 
          seen then AAAA (IPv6) records are queried. Mail 
          domain verify queries both A (IPv4) or AAAA (IPv6) 
          records for query-address-type=default
          (when verify-domain=resolv:mx-address is used.)
        - Settings
                mail-services-lookup = shared
                mail-services-lookup = resolv:addresses
                mail-services-lookup = resolv:all-addresses
          caused that that command that IP-address
          an mailbox name as
             elm -f username@1.2.3.4
          was not accepted on Fedora release 19 
          and Ubuntu 10.04.4 LTS. Changed  give_service_entry3()
          to ignore mail-services-lookup if literal
          IP address is given as argument.
        - Do not allow addr= on user's mail.services
          or global elm.mailservices file if
          name of entry matches to literal IP-address.
        - If if_nameindex is available, elmrc
          option
                ipv6-scope-id = link-local-if-index
          can be used to tell that scope id's
          for link local IPv6-addresses are
          are interface indexes. This adds
          support for interface names as
          textual form of scope ids.
        * Scope id is part after % -character
          on numeric IPv6 -address.
        - Option
                ipv6-scope-id = auto
          enables 
                ipv6-scope-id = link-local-if-index
          if numeric scope id's of link
          local addresses matches to interface
          index on where address is located.
        - Scope-ids for other type IPv6-addresses
          are still numeric with
              ipv6-scope-id = link-local-if-index
          option.
        - Configure asks is struct sockaddr_in6's 
          sin6_scope_id -field is always interface 
          index as given on if_nametoindex() and
          if_indextoname() for link local addresses.
          For Linux this default to "yes".
        NOTE: Currently numeric IPv6 addresses is 
          possible to give on user's mail.services
          -file or on global elm.mailservices -file. 
          Elsewhere (for example hostnames on
          mailbox names) they are misparsed.
        - Added FL_SHOWSYS value for flags -field of 
          struct rc_save_info_rec.
        - "/usr/bin/nm -D -f sysv" seems crash on
          Ubuntu 14.04.4 LTS. Try "nm -D" instead
          if "nm -D -f sysv" crashes on Configure.
        - Using previous answer to "What is your domain name?"
          question as default on Configure even when
          hostname gives different domain.
        New files:
            nls/C/C/C/s_iconv.m
            hdrs/s_iconv.h
            nls/C/C/C/s_smtp.m
            hdrs/s_smtp.h
            nls/C/C/C/s_tls.m
            hdrs/s_tls.h
        New elmrc option:
            ipv6-scope-id

Changes on Elm ME+ 2.5 PLalpha40 compared with Elm ME+ 2.5 PLalpha39

        SUMMARY: This release adds libelmme-resolv.so module
                 which makes possible to check the existence of
                 mail domains (with changes on "verify-domain"
                 elmrc option). Also "use-config-library",
                 "mail-services-lookup", "valid-domains" and
                 "mailhome-dir" elmrc options are added (and 
                 "query-address-type", "query-domain-blacklist", 
                 "search-mail-domain" and "search-mail-service" 
                 to "resolv:" section of elmrc for 
                 libelmme-resolv.so module). Added support of 
                 IPv6 literals on user's mail.services and global 
                 elm.mailservices file (IPv6 hostnames work only 
                 with resolv -module.) Then also some other changes 
                 and bug fixes are included.
        - Replace NO_ADDRESS with NO_DATA
        - Moved strings.h / string.h test to earlier
          and include correct header on tests (not <stdio.h>)
          when using strcmp()
        - Added Confifure test for inet_pton() and inet_ntop() 
        - Used inet_pton() to parse IPv4-address on lib/service_list.c
        - Added give_addr_as_string() to lib/service_list.c
        - Used inet_ntop() / give_addr_as_string() 
          to print IPv4-address on lib/remote_mbx.c lib/service_list.c
        - Used inet_ntop() to print IPv4-address on lib/read_rc.c
        - Test also I_ARPA_INET -macro and not just I_NETINET_IN -macro
        - Changed  PF_INET to AF_INET on lib/remote_mbx.c
        - Changed Configure to compile test that socket() work. 
          Also test that on Linux even when 
          /usr/include/sys/socket.h does not found.
          Replaced  I_SYS_SOCKET with  HAVE_SOCKET macro.
          This fixes include for Ubuntu 12.04
        - Changed hdrs/elm_defs.h so that REMOTE_MBX is 
          only defined when HAVE_SOCKET is defined
        - Changed PF_UNIX to AF_UNIX  on shared_libs/smtp/smtp.c
        - Added Configure to test that struct sockaddr_in6 
          is defined on <netinet/in.h>. Added
          struct sockaddr_in6 to  union socket_addr on
          hdrs/connection_imp.h
        - Added IPv6 support to give_addr_as_string() on 
          lib/service_list.c if struct sockaddr_in6  
          is available and inet_ntop() is supported. 
          Non-zero scope ids are added on numeric 
          form to address.
        - Added uint32 macro to hdrs/elm_defs.h
        - Added Configure to test that struct sockaddr_in6 
          includes sin6_scope_id
        - Added IPv6 parsing (to get_ip()) on lib/service_list.c
          if  struct sockaddr_in6  is available and 
          inet_pton() is supported. Only numeric scope ids 
          (%n on end of address) are supported.
        - Added inet_ntop() to print IPv6-address on lib/read_rc.c
          (but that is not actually used).
        - Added give_addr_port() and set_addr_port()
          lib/service_list.c. These handled both IPv4
          (struct sockaddr_in) and IPv6 (struct sockaddr_in6)
          ports.
        - Changed connect_remote_account_1() 
          on lib/remote_mbx.c to support IPv6
          if struct sockaddr_in6 is available.
        - Changed connect_remote_account() 
          on lib/remote_mbx.c to support IPv6
          if  struct sockaddr_in6 is available.
        - Added fill_address() on lib/service_list.c
          to handle IPv6 addresses (but that is not 
          actually used). 
        NOTE: lookup_name() / gethostbyname() seems not 
          return IPv6 addresses, so IPv6 addresses
          may work only when literal addresses are given 
          on .elm/mail.services or global elm.mailservices
          file. 
          Reading mail from IPv6 hostname with IMAP is tested
          when
                mail-services-lookup = resolv:addresses
          on user's .elm/elmrc -file was on used. This requires
                   use-connect-library = resolv
           (or     use-connect-library = tls resolv )
          on global elm.rc -file.
        - Compilation fixes when REMOTE_MBX is not defined.
        - Changed ConfTool/Substitute that it uses cp 
          and not ln on hdrs/Makefile which it generates
        - Changed some Configure tests
        - Moved is_it_on() from lib/read_rc to
          lib/rc_handle.c
        - Added is_it_off() to lib/rc_handle.c
        - Added warning if boolean value is not either ON
          or OFF (also TRUE, FALSE, YES and NO are valid values).
        - Added support of boolean values to 
          struct dt_enumerate_info
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "browser-wildcard-matching".
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "local-lockfile-pidcheck".
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "show-header-errors".
        - Fixed error message on dt_SORT_parse_line() file
          lib/rc_handle.c
        - Added elmrc option "use-config-library". This
          includes shared libraries which are assumed
          to change default elmrc values.   
        - Content of option "use-library" is automatically
          moved to variable "use-config-library". 
        - Changed calling convention of post_init_shared_options(),
          RC_post_init_f()
        - Added post_init_change_config()
        - Added support for tag:value values to 
          struct dt_enumerate_info. Tag refer to
          shared library.  
        - Added give_dt_shared_value() to lib/rc_handle.c
        - Add exception for address literals on build_address_l()
        - Add exception for address literals on fastmail
        - Added locate_and_load_library1() to lib/shared.c
        - Changed elmrc option "verify-domain" to type
          struct dt_enumerate_info. Value "hostname" specifies 
          that normal hostname -lookup API (that is 
          gethostbyname()) is done. Error HOST_NOT_FOUND is 
          treated as non-existing domain and error NO_DATA 
          is treated as valid mail domain.
          Value "shared" specifies that mail domain is
          verified by shared library if available.
          In that case shared library must be given on 
          elmrc option "use-mailer-library".
        - Added "valid-domains" elmrc option. This gives list
          of mail domains which are considered valid without
          verifying. This also overrides 
          "special-use-domains-blacklist" elmrc option
          for mail addresses.
        - Small fix for print_history_changed()
        - Do not create change record when change
          of use-library or use-*-library
          was not result of error condition.
        - Changed unload_code()
        - Added free_shared_caches()
        - Added libelmme-resolv.so module.  
        - Added "use-config-library"  elmrc option. This 
          includes shared libraries which are assumed
          to change default elmrc values. 
        - Added elmrc options "query-address-type",
          "query-domain-blacklist", "search-mail-domain" 
          and "search-mail-service" to "resolv:" section. 
        - Undefined symbols involving the $non_lazy_ptr 
          linker error were generated on  Mac OS X.
         Patch from: dansdragon@gmail.com
        - "The source of the error is the alpha38 version of 
           Configure is line 1874:
                     elif test "$uname_os"="Linux"; then
          Are you aware that this test is always true in bash?  
          If you are currious, I have written a test script that 
          test that section of code by setting $uname_os to "nonsense" 
          and it still exits the conditional at that point. I just 
          learned that spaces are very important in bash. The correct 
          way to write this lins is as follows (like the OSF1 line in 
          line 1868):
               elif test "$uname_os" = "Linux"; then"
         Reported by: dansdragon@gmail.com
        > Fixed test on Configure.
          This bug is introduced on Elm2.4ME+ PL32 (25)
        - Do not fail if canceled mail do not have charset -parameter.
        - Fix case where PressAnyKeyToContinue() is
          called on raw mode
        - Allow content_length == -1 on copy_pgp(), copy_mime(),
          copy_encrypted(), copy_plain(), copy_binary(),
          copy_cooked()
        - Replaced #include <values.h> with #include <limits.h>
          and MAXINT with INT_MAX
         Problem noted by: dansdragon@gmail.com
        - Do not call initial_TLS_ra() if USE_DLOPEN is not defined
         Problem noted by: dansdragon@gmail.com
        - "Attached is the patch file for the alpha38 version of 
           Configure that includes all of the bits, some of which was 
           previously discussed that would allow the program to be 
           compiled on newer versions of Mac OS that has the clang 
           compiler from LLVM installed."
         From: dansdragon@gmail.com
         > Added setting of nm_opts for Darwin and  
           /usr/lib/system/libsystem_c.dylib as libc for Darwin.
        - Changed struct remote_account
        - Changed struct service_entry
        - If addr= -parameter gives port on global
          elm.mailservices or user's .elm/mail.services
          that address is uses only for that port.
          If URL gives different explicit port,
          this address is not used. However explicit port
          on URL overrides port= -parameter on
          global elm.mailservices or user's 
          .elm/mail.services.
        - Added "mail-services-lookup" elmrc option. This
          option specifies how names (normally hostnames, that 
          is part after '@' on folder name (before ':' or '/' 
          characters). And also that includes names given on 
          ~/.elm/mail.services or on global elm.mailservices file.
          Default value "hostname" specifies that normal  
          hostname -lookup API (that is gethostbyname()) is done.
          Value "shared" specifies that lookup is done by shared 
          library if available. In that case shared library must 
          be given on elmrc option "use-connect-library". 
        - c)ancel -command on "Mail Sending Screen" was not
          saving message content to  ~/Canceled.mail.dir/.
          Added rewind() to have_cancel_FILE() on 
          lib/mailer/mailer.c
        - Handle situation where mails on ~/Canceled.mail.dir/
          does not include Content-Length: -header. 
          c)ancel -command on "Mail Sending Screen" does
          not add  Content-Length: -header. 
        - Added lines counting for c)ancel -command on
          "Mail Sending Screen" to 
          cancel_ticket_to_canceled_mail() on src/mailmsg2.c.
        - Added following RFC 6857 headers to known headers
          (to array on lib/addr/headers.c):
          Downgraded-Message-Id, Downgraded-Resent-Message-Id, 
          Downgraded-In-Reply-To, Downgraded-References, 
          Downgraded-Original-Recipient, Downgraded-Final-Recipient 
        - Added following RFC 3282 headers to known headers
          (to array on lib/addr/headers.c):
          Accept-Language, Content-Language
        - Added following RFC 5064 header to known headers
          (to array on lib/addr/headers.c):
          Archived-At
        - Added following RFC 7601 header to known headers
          (to array on lib/addr/headers.c):
          Authentication-Results
        - Added following RFC 6376 header to known headers
          (to array on lib/addr/headers.c):
          DKIM-Signature
        - Added following RFC 3798 headers to known headers
          (to array on lib/addr/headers.c):
          Disposition-Notification-To, 
          Disposition-Notification-Options,
          Original-Recipient
        - Added following RFC 5703 headers to known headers
          (to array on lib/addr/headers.c):
          Original-Subject, Original-From
        - Added following RFC 2156 headers to known headers
          (to array on lib/addr/headers.c):
          Supersedes, Autoforwarded, Message-Type, 
          Autosubmitted, Delivery-Date
        - Added following RFC 5064 header to known headers
          (to array on lib/addr/headers.c):
          MT-Priority
        - Added following RFC 7681 header to known headers
          (to array on lib/addr/headers.c):
          Organization
        - Added following RFC 3865 header to known headers
          (to array on lib/addr/headers.c):
          Solicitation
        - Added following RFC 3297 headers to known headers
          (to array on lib/addr/headers.c):
          Content-alternative, Original-Message-ID
        - Added "Apparently-To" to known headers
          (to array on lib/addr/headers.c).
        - Added some checks to add_canceled_mail()
        - Do not write number of lines to Canceled.mail.dir/.index
          if it is zero.
        - If number of lines is zero on  Canceled.mail.dir/.index
          count lines on file.
        - Added shared_libs/resolv/elmrc-resolv-info 
          for documenting of user settable library options.
        - Unified writing main options and shared library
          specific options to write_rc_part().
        - Trim trailing space when reading options
          from comment file. 
        - Added shared_libs/iconv/elmrc-iconv-info
          for documenting of user settable library options.
        - Added shared_libs/tls/elmrc-tls-info
          for documenting of user settable library options.
        - Added global elm.rc option "mailhome-dir" which 
          tells location of local mail spool directory. 
          Special value "none" indicates that empty mailbox 
          (with type "No folder") should be opened (if 
          "incoming-mailbox" elmrc option  is not set).
        - Allow NULL initial value on set_dt_estr()
        - Allow NULL folder name on  enter_new_folder()
        - Let  mbx_sessionlock_no_name(),
          mbx_unlock_no_name(), mbx_prepare_read_no_name()
          and mbx_ferror_no_name() succeed.
        - Give "No folder" as type on mbx_no_name_type()
        - Added mbx_give_normal_server to struct folder_type no_name
        - Set *bytes = 0 on mbx_new_mail_on_no_name()
        NOTE: This change produced side effect however.
          Empty mailbox (with type "No folder") is 
          opened when connection to IMAP or POP servers
          fails. However empty mailbox is not opened when
          IMAP or POP server's name not found.
        - Changed value "none" on elmrc option 
          "incoming-mailbox" mean that empty mailbox 
          (with type "No folder") should be opened 
          (and not use literal file "none" as mailbox).
        - Changed *bytes from int to long 
          on  new_mail_on_folder() and  
          mbx_new_mail_on_folder()
        - Some changes on newmail. 
        - Changed dlopen test on Configure
        - Changed Configure test for tls -module
        WARNING: Check after installation that
                 libraries are enabled. Global
                 elm.rc values are:
                 use-library =
                 use-base-library = iconv
                 use-config-library = resolv
                 use-connect-library = tls resolv
                 use-mailer-library = smtp resolv
        After editing global elm.rc run
              .../lib/elmrc-write -GI
        for fixing possible errors.
        See also: shared_libs/resolv/README.ME+
        New files:
            shared_libs/resolv/config
            shared_libs/resolv/resolvertest.c
            shared_libs/resolv/Makefile.SH
            shared_libs/resolv/elmresolv.h
            shared_libs/resolv/resolv.c
            lib/shared_config.c
            nls/C/C/C/s_resolv.m
            hdrs/s_resolv.h
            shared_libs/resolv/README.ME+
            shared_libs/resolv/elmrc-resolv-info
            shared_libs/iconv/elmrc-iconv-info
            shared_libs/tls/elmrc-tls-info
        New elmrc options:
            mail-services-lookup
            use-config-library
            valid-domains
            mailhome-dir

Changes on Elm ME+ 2.5 PLalpha39 compared with Elm ME+ 2.5 PLalpha38

        SUMMARY: This release adds elmiso2022sets 
          -command and installs global elm.iso2022sets
          file. This release changes error handling on 
          Content-Type and Content-Disposition header 
          fields. This release adds "Mail Sending 
          Screen" for submission -mailer and
          "sending-display=yes" (or "...=no") -parameter
          to "mailer" option of global elm.rc.
          "special-use-domains-blacklist" -option is
          added to elmrc. Keywords "imaps", "pops"
          and "smtps" are added to mail.services.
          This release adds some support for
          non-standard imaps -URLs. This release
          adds SIZE support to submission -mailer.
          Then also some other changes and bug 
          fixes are included.
        - Possibly fixed case where last line of 
          ~/.elm/iso2022.sets  was not (always) parsed 
          if there was not newline on last line.
        - Do not free null pointer / string on
          browser_folder_from_imap(). Fixes crash
                SIGNAL PANIC in signals.c:144:segv_signal
                >>>
                Segment Violation signal!
                Call stack: 496D66 80E3A81 283400 170216 15FE2F
                 continues: 15CCF8 80A9D3C 80AA186 80B0C55 809072B
                 continues: 6EABF6 8060751
                backtrace: 
                /usr/local/lib/libelmme-base.so.1.1.38(panic+0x1e8)[0x496d66]
                elm(segv_signal+0x84)[0x80e3a81]
                [0x283400]
                /usr/local/lib/libelmme-mbox.so.1.1.38(+0x36216)[0x170216]
                /usr/local/lib/libelmme-mbox.so.1.1.38(+0x25e2f)[0x15fe2f]
                /usr/local/lib/libelmme-mbox.so.1.1.38(folder_from_dir_item+0x104)[0x15ccf8]
                elm[0x80a9d3c]
                elm(initialize_mailbox+0x390)[0x80aa186]
                elm(main_messages_menu+0xb1)[0x80b0c55]
                elm(main+0xbbd)[0x809072b]
                /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x6eabf6]
                elm[0x8060751]
        - Added elmiso2022sets -command. 
        - Added struct iso2022_map_conf
        - Changed calling convention of dump_iso2022_map()
        - parse_iso2022_map() now returns read
          map information as struct iso2022_map_conf
        - Added struct iso2022_mapinfo
        - Added free_iso2022_map_conf(), malloc_iso2022_map_conf()
        - Added refcounting to struct iso2022_mapinfo
        - Added free_iso2022_mapinfo(), inc_iso2022_mapinfo_refcount()
        - Added free_iso2022_map_list();
        - Changed some struct iso2022_setid matching rules on
          lib/iso2022.c (on give_iso2022_index(), 
          find_iso2022_map_spec() and loc_setid()).
        - Added call of free_aliases_map() to elmaliases-write
        - Added call of free_charset_map() to elmcharset
        - Added call of free_mlist_conf()  to elmmailinglists
        - Added call of free_mail_services_conf() to 
          elmmailservices
        - Added call of free_mime_types_map() to elmmimetypes
        - Added call of free_terminal_map() to elmterminal
        - Possible fix to read_map_format_a()
        - Moved dump_iso2022_map() from lib/iso2022.c to
          lib/misc/iso2022.c
        - Changed calling convention of dump_iso2022_map()
        - Fixed doc-info dependency on Makefile-1.SH or
          or info-list dependency on doc/Makefile.SH. This is
          used on cleanup-config target on Makefile-1.SH.
        - Possible fix to add_MIBenum()
        - Possible fix to iso2022_add_char()
        - Changed find_iso2022_map_spec so that it match
          map's with any bank if match with given bank 
          is not found.
        - Added doc/iso2022.sets with bank-94 4/10 
        - Added ISO-2022-JP to doc/mime.charsets (with
          incomplete map definition).
        - Added ISO-2022-JP-2 to doc/mime.charsets (with
          incomplete map definition).
        - "This problem has been around about as long as 
           I can remember. Occasionally when I try to forward 
           or bounce a message I get a segfault because something 
           goes wrong with elm reading the mime code."
         Reported by: Robert Brose <bob@jriver.com>
        > Fixed error handling on remail_multipart(). 
        - Report error if type on Content-Type
          header field is empty.
        - Report error if major type or subtype
          on Content-Type header field is empty.
        - Changed unicode_is_special() so that '<' ,
          '@', '>' are always special, not only 
          when TOK_mail is given.
        - Changed unicode_is_special() so that '?'
          is special if TOK_mime is given
        - Report error if major type or subtype
          on Content-Type header field includes
          non-ascii, space, control or MIME
          special characters.
        - Report error if disposition on
          on Content-Disposition header field 
          includes non-ascii, space, control or MIME
          special characters, or if it is empty.
        - Report error if mime param name
          on Content-Type or Content-Disposition
          header field includes non-ascii, control 
          or MIME special characters.
        - Added display about failed addresses
          which is used with "mailer = submission".
        * This is "Mail Sending Screen" which is displayed
          when mail sending is in progress. This is
          incompatible with "background-wait-time" elmrc
          option (not used with "mailer = submission").
          This is enabled with "sending-display=yes" or
          disabled with "sending-display=no" option.
        - "sending-display" mailer option is available
          with mailer types "unknown", "sendmail", 
          "execmail", "submission" and "sendmail-bs".
          Per address status is only available with
          mailer types "submission" and "sendmail-bs".
        - "Mail Sending Screen" is enabled by default
          with mailer types "submission" and "sendmail-bs".
          This screen allows saving failed mail to
          ~/Canceled.mail.dir/ (if c)ancel mail
          is selected) or e)dit again (and resend).
          Pressing ENTER gives default action, which
          is same as  "Mail Sending Screen" is
          not enabled. Default action does not
          save failed mail to ~/Canceled.mail.dir/.
        - Page Up and Page Down and Cursor Up and Down
          keys changes recipient list on "Mail Sending 
          Screen" when question is prompted. And
          Ctrl-C (interrupt character) cancels
          (interrupts) sending of mail when question 
          is prompted on "Mail Sending Screen".
        - Changes return value of verify_transmission()
        - Changes mail()
        - Added indent to struct pager_range
        - Added get_pager_range_indent(),
          get_pager_range_change()
        - Changed state_add_simple_pager_range(),
          stringbuffer_add_simple_pager_range()
        - Added find_pg_wrap_info()
        - Allow NULL range on set_out_state_line_pager_range()
        - Changed give_commands_help(). Now command
          help uses indent from struct pager_range
          for command description column.
        - Fix for handle_common (on debug.c)
        - Removed split_word() from src/strings.c
        - Removed argv_from_to() from src/strings.c
        - Changed menu_print_center() on src/out_utils.c
        - Allow menu_header_change(..., header_current,
          HEADER_NO_CURRENT) as special case
        - Added missing menu_header_change_item() to
          src/screen/header.c
        - Added support for non-standard imaps 
          (IMAP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+ uses imap or pop
          on standard port and then possibly
          negotiates TLS. Keyword "imaps" on
          user's .elm/mail.services or global 
          elm.mailservices -file changes
          port and starts TLS (or SSL) first.
         NOTE: Keyword "imaps" should only used when
               regular imap -port is blocked.
        - Added support for non-standard pop3s 
          (POP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+ uses IMAP or POP
          on standard port and then possibly
          negotiates TLS. Keyword "pops" on
          user's .elm/mail.services or global 
          elm.mailservices -file changes
          port and starts TLS (or SSL) first.
         NOTE: Keyword "pops" should only used when
               regular pop3 -port is blocked.
        * Consider using "verify-tls-certificate" 
          (and "require-tls-peer-name") with
          "imap" / "imaps" and "pop" / "pops"-keywords, 
          if trust is required (with "imap" and "pop" 
          -keywords STARTTLS / STLS -command is used).
        > These requires that
             use-connect-library = tls
          is used.
        > Keywords "imaps", STARTLS of "imap" 
          "pops" and STLS of "pop" defaults
          to tls (not ssl). This can changed with
             tls:starttls-version=ssl
          or
             tls:tls-version=ssl
          ( tls:starttls-version=none disables
            usage of ssl and tls. )
        - Imap URLs like 
               imap://user@full.hostname/inbox
          do not match "imaps" -keyword on
          user's .elm/mail.services or 
          global elm.mailservices -file.
        - Unified common code from imap_STARTTLS_handler()
          of shared_libs/tls/imap.c, pop_STLS_handler()
          of shared_libs/tls/pop.c and smtp_STARTTLS_handler
          of shared_libs/tls/smtp.c to ra_wrap_tls()
          of shared_libs/tls/remote.c.
        - Added STFLAG_service_type() to lib/service_list.c 
        - Removed  IMAP_SERVICE, POP_SERVICE, SUBMISSION_SERVICE
          and SMTP_SERVICE from lib/service_list.c
        - Changed locate_from_cache() on lib/mbox/connection.c
        - Added is_similar_service_entry()  to lib/service_list.c 
        - Added give_service_entry2() to lib/service_list.c 
        - Fixed service entry selection on
          url_make_connection_imap()
        - "However, on a Suse Linux Enterprise Server 11 SP 3 
           (with installed 32-bit compatibility package 
            glibc-devel-32bit)  I encountered problems because 
           configure chose the 32-bit version of libcrypt instead 
           of the necessary 64-bit version, thus resulting in a 
           linker error:
           i386 architecture of input file 
           `/usr/lib/libcrypt.a(sha512.o)' is incompatible with
           i386:x86-64 output"
          Reported by: Dr. Rainer Kaluscha <rainer.kaluscha@uni-ulm.de>
         > Added /usr/lib64 on search path if compiler
           produces 64-bit output
         * This also changes default shared library location.
        - Added support for non-standard smtps 
          (SMTP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+'s shared library 
          libelmme-smtp.so uses submission or smtp
          on standard port and then possibly
          negotiates TLS. Keyword "smtps" on
          user's .elm/mail.services or global 
          elm.mailservices -file requires
          explicit port definition and starts TLS 
          (or SSL) first.
         WARNING: Originally port 465 was reserved
                  for smtps, but this was revoked
                  and that port is now reserved for 
                  "URL Rendesvous Directory for SSM" 
                  instead.
        > Usually keywords "smtp" or "submission"
          are better here.
        - Added some support non-standard imaps -URLs.
          Support is similarly limited than is support
          of imap -URLs.  Basically only imap mailbox 
          can be specified, not individual message or 
          list of messages (search result).
          That is like
                imaps://user@full.hostname/inbox  
        - Imaps URLs do not match "imap" -keyword on
          user's .elm/mail.services or 
          global elm.mailservices -file.
        - Fixed imap: -URL handling so that
          capabilities are handled and therefore
          handle STARTTLS.
        - Free haliases -array on setup_names()
        - Simplified expand_dt_path()
        - Free pager_range -vector on sb_free_file()
        - Fix condition on cmd_on_statlist()
        - Free path element on dt_PATH_free_option()
        - Free mem element on sb_free_mem()
        - Free pager_range -vector on sb_free_mem()
        - Added support of SIZE extension to
          Elm ME+'s shared library libelmme-smtp.so.
          Now SIZE=xxx is added to MAIL -command's line
          if SIZE is mentioned on EHLO response.
        * If "Mail Sending Screen" is available
          when message size is bigger than allowed
          limit of SIZE on EHLO response, user
          is prompted. This allows saving
          mail to to ~/Canceled.mail.dir/ (if c)ancel 
          mail is selected) or e)dit again (and resend).
          Pressing ENTER gives default action, which
          is same as  "Mail Sending Screen" is
          not enabled. Default action tries
          send mail anyway.
        - Message size and possible size limit
          are shown on "Mail Sending Screen".
        - Added "special-use-domains-blacklist" elmrc option.
          Domain names given on list are not acceptable
          as server names or as mail addresses.
          RFC 6761: Special-Use Domain Names
        * If domain name is given as ".domain" then it
          blacklists names under that domain. If name
          is given as "domain" then also "domain"
          itself (and names under it) are blacklisted. 
        * Mail addresses with domain names given
          on "special-use-domains-blacklist" are removed
          from recipients list.
        New elmrc option:
           special-use-domains-blacklist
        New tools:
           elmiso2022sets
        New files:
           utils/elmiso2022sets.c
           lib/misc/iso2022.c
           doc/elmiso2022sets-info
           doc/iso2022.sets
           ConfTool/GenIso2022sets
           charset/MAPPINGS/JIS/JIS0201.TXT
           doc/elmiso2022sets.1
           src/snd_display.c
           src/def_sndmail.h
           shared_libs/tls/remote.c

Changes on Elm ME+ 2.5 PLalpha38 compared with Elm ME+ 2.5 PLalpha37

        SUMMARY: This release adds "@charset = " specification to
                 user's ~/.elm/elmaliases, ~/.elm/mailing.lists and
                 global {etcdir}/elm.aliases, 
                 {etcdir}/elm.mailinglists files. Also this release 
                 adds "editor-al-propline" and "editor-ml-propline" 
                 elmrc options. This release adds command 
                 'elmconfwriter' which is used to clean up some 
                 config files during installation. This release 
                 fixes some crashes. Then also some other changes 
                 and bug fixes are included.
        - Possible fix for cs_iso2022_info_set_binary()
        - Possible fix for print_local_shared_options()
        - Possible fix for getkey()
        - Possible fix for give_canceled_mail()
        - Possible fix on split_file() on elmregister.c
        - Use ml_global instead of ml_system parameter when 
          reading global elm.iso2022sets -file.
        - Removed  -C {doc/elmrc-info} from final
            elmrc-write -G -I elm.rc.old-values
        - Changed default_unidata()
        - Added elmconfwriter -command to rewrite existing
          config files. This is used during installation
          to clear existing config files.
        - Some fixes to Makefile.SH
        - Some fixes to utils/readmsg/Makefile.SH
        - Added "@charset = " specification to user's
          ~/.elm/elmaliases and  global
          {etcdir}/elm.aliases  files.
        - Added "editor-al-propline" elmrc option. This is similar
          than "editor-elmrc-propline". If set to "emacs", then 
          when on user's elmaliases file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-al-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.    
        - Do not crash when elm.aliases have alias
          without value:
                  ALIAS VIEW PANIC in aliases_map.c:442:am_give_alias
                  >>>No alias_value or alias_key
                  Call stack: 1C0CE6 80FEC1B 80FCCEE 8065540 8090E4B
                   continues: 80AF9A8 80B0964 80904CB 2F7BF6 80606A1
                  backtrace: 
                  /tmp/TEST/lib/libelmme-base.so(panic+0x1e8)[0x1c0ce6]
                  /tmp/TEST/bin/elm(am_give_alias+0x1e7)[0x80fec1b]
                  /tmp/TEST/bin/elm(update_aview+0x2e4)[0x80fccee]
                  /tmp/TEST/bin/elm(alias+0x436)[0x8065540]
                  /tmp/TEST/bin/elm(mailbox_command+0x1dc)[0x8090e4b]
                  /tmp/TEST/bin/elm[0x80af9a8]
                  /tmp/TEST/bin/elm(main_messages_menu+0xe0)[0x80b0964]
                  /tmp/TEST/bin/elm(main+0xbbd)[0x80904cb]
                  /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x2f7bf6]
                  /tmp/TEST/bin/elm[0x80606a1]
                  ABORTING...
                  Aborted (core dumped)
        - Fixed alias sorting error
        - Fixed crash when message was forwarded as attachment:
                  SIGNAL PANIC in signals.c:144:segv_signal
                  >>>
                  Segment Violation signal!
                  Call stack: 1551AC 80DE3ED 8C1420 80CF973 80D07C9
                   continues: 80D1388 80B1760 80B2247 80AEBF0 80AF02D
                   continues: 80AF257 80D3C39 80DC105 80DD7A5 808DFFD
                   continues: 80AB87E 80AC77C 808CAEA 1D6EDC 805D7D1
                  backtrace: 
                  /usr/local/lib/libelmme-base.so.1.1.37(panic+0x1b9)[0x1551ac]
                  elm(segv_signal+0x84)[0x80de3ed]
                  [0x8c1420]
                  elm[0x80cf973]
                  elm[0x80d07c9]
                  elm(convert_remail_message_1+0x676)[0x80d1388]
                  elm(attach_rfc822+0x18b)[0x80b1760]
                  elm(mail+0x7cf)[0x80b2247]
                  elm(send_msg_middle2+0xdad)[0x80aebf0]
                  elm(send_msg_middle+0x10c)[0x80af02d]
                  elm(send_msg_l+0x126)[0x80af257]
                  elm(forward+0x2af)[0x80d3c39]
                  elm(process_showmsg_cmd+0x545)[0x80dc105]
                  elm(show_message_normal+0xa9)[0x80dd7a5]
                  elm(mailbox_command+0xd73)[0x808dffd]
                  elm[0x80ab87e]
                  elm(main_messages_menu+0xe1)[0x80ac77c]
                  elm(main+0xb46)[0x808caea]
                  /lib/libc.so.6(__libc_start_main+0xdc)[0x1d6edc]
                  elm[0x805d7d1]
                  Emergency exit taken! All temp files intact!
                  ABORTING...
                  Aborted
          This bug is probably introduced on Elm ME+ 2.5 PLalpha18
        - Added "@charset = " specification to user's
          ~/.elm/mailing.lists and  global
          {etcdir}/elm.mailinglists  files. 
        - Added "editor-ml-propline" elmrc option. This is similar
          than "editor-elmrc-propline". If set to "emacs", then 
          when on user's mailing.lists file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-al-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.   
        - Possibly fixed case where last line of 
          ~/.elm/mailing.lists  was not (always) parsed 
          if there was not newline on last line.
        New elmrc options:
            editor-al-propline
            editor-ml-propline
        New tools:
           elmconfwriter
        New files:
           utils/elmconfwriter.c
           doc/elmconfwriter.1

Changes on Elm ME+ 2.5 PLalpha37 compared with Elm ME+ 2.5 PLalpha36

        SUMMARY: This release adds --folder-selection and
                 --have-double-wide-characters command line options.
                 Also this release adds "editor-ms-propline"
                 and "mime-encoded-filename-hack" elmrc options. 
                 This release adds STARTTLS support to SMTP /
                 mail submission module. This release adds
                 "verify-tls-certificate" and "require-tls-peer-name"
                 parameters to "mailer" option of global elm.rc.
                 This release changes user's .elm/mail.services
                 or global elm.mailservices file (also includes
                 "verify-tls-certificate" and "require-tls-peer-name"
                 parameters). This release writes global 
                 elm.mailservices file during installation.
                 Also this release includes *-info files
                 for many config files. This release includes
                 changes to file and folder browser. Then also 
                 some other changes and bug fixes are included.
        - Changed that Configure uses compiling test for mmap()
          for Linux even when /usr/include/sys/mman.h does not
          found.  This fixes MMAP for Ubuntu 12.04
        - Added --folder-selection option. This is similar to
          -f '' option.
        - Options
                -y             don't enter ELM if no unread mail is pending
                -z             Zero - don't enter ELM if no mail is pending
                --folder-selection  Ask folder/mailbox name
          are now mutually exclusive.
        - Changed help text on a file and folder browser.
        - Added '&' to help text of folder browser.
        - Added browser_get_remote_server() to hdrs/mboxlib.h
        - Added give_remote_server_title() to hdrs/mboxlib.h
        - Renamed free_fbowser_call() to free_fbrowser_call()
        - Added --have-double-wide-characters option. This is 
          similar than DW (or ISO2022/DW) flag on elm-terminalinfo.
          KDE "konsole" -program supports double wide characters,
          but it is not easy to detect this because $TERM is "xterm"
          which is too generic.
        - Added possible fix to elm_smessage() on lib/output.c
        - Changed help on file and folder browser. It is 
          now implemented with pager routines.
        - Added pager_helper_process_line(), 
          pager_helper_end_of_page() to src/pager/helper.c
        - Added span_helper(), clear_span_helper_data() to 
          src/pager/span_range.c
        - Used pager_helper_process_line(), 
          pager_helper_end_of_page() on builtinplusplus()
          in src/builtin++.c
        - Moved struct browser_edit initialization to
          init_browser_edit() on src/browser_help.c
        - Added clear_browser_edit() to src/browser_help.c
        - Changed get_lineext_from_stringbuffer() to
          get_lineext_and_walk()
        - Added Page Up and Page Down -keys to 
          file and folder browser. These change
          page and if "movepage" elmrc option is 
          set, then these keys also change 
          selected filename pointer.
        - Page Up and Page Down -keys on help file 
          and folder browser changes page if there is
          several pages. Normally text fits to one 
          page.
        - Added elmrc option "mime-encoded-filename-hack".
          If this is set (default), then MIME encoded words 
          (RFC 2047 or RFC 1522) filename parameter is 
          detected. However RFC 2231 style encoding is 
          preferred if elmrc option "mime-parameters" have 
          not value "plain". 
        - Do not allow '?' or '*' on default filename when 
          saving attachment if elmrc option "browser-wildcard-matching"
          have set (value "on" or "file browser").
        - Possible fix to pop_STLS_handler()
        - Indicate on connect_one_IN() to try another port 
          when connection is timed out (not just when connection 
          is refused)
        - Added reporting of current port to connect_remote_account()
          when list of ports is tried.
        - Fixed cancel_progress_X()
        - Added STARTTLS support to SMTP or mail submission module
         (used with use-mailer-library = smtp and use-connect-library = tls).
        - Possible fix to handle_pop_capa_libs() and 
          handle_imap_capa_libs().
        - Possible fix to  process_lib_reg()
        - Added init_library_REG -hook call to load_code0()  
        - Added check for new shared shared library code registration
          to register_hidden_library()
        - Added "verify-tls-certificate" and "require-tls-peer-name" 
          parameters (separated by ;) to "mailer = submission" 
          -value of global elm.rc option "mailer".
        - Note that "require-tls-peer-name" checks STARTTLS certificate's
          CN (common name) from certificate subject and does NOT check 
          DNS name from certificate.
        WARNING: Check for "require-tls-peer-name" is currently 
                 case sensitive. This also do not check against 
                 wildcards (*) on certificate name -- * on
                 certificate name is treated as regular character.
        - Added StreamVerifyName() and StreamOK() to lib/streamsched.c
        - Added "verify-tls-certificate" and "require-tls-peer-name" 
          parameters to user's ~/.elm/mail.services and global
          {etcdir}/elm.mailservices files. These are similar
          than "verify-tls-certificate" and "require-tls-peer-name" 
          parameters for mailer = submission.
        - Added remote_account_verify_peer() to lib/remote_mbx.c
        - Added "@charset = " specification to user's ~/.elm/mail.services 
          and global {etcdir}/elm.mailservices files.
        - Added "editor-ms-propline" elmrc option. This is similar
          than "editor-elmrc-propline". If set to "emacs", then 
          when on user's mail.services file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-ms-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.
        - Added possible fix to dump_service_entry(), 
          parse_service_entries(), dequote_opt()
        - Added free_service_entries()
        - Refcounted struct service_entry
        - Renamed free_remote_account() to clear_remote_account()
        - Added remote_account_OK() to lib/remote_mbx.c
        - Fixed case where last line of ~/.elm/mail.services was 
          not (always) parsed if there was not newline on last line.
        - Allowed named port on port=xx
          on ~/.elm/mail.services and 
          global {etcdir}/elm.mailservices files.
        - Added doc/elmaliases-info. This is installed
          to {lib}/elmrc-info. That is used when 
          {etcdir}/elm.elmaliases and 
          ~/.elm/elmaliases are written.
        - Added -C elmaliases-info option to
          elmaliases-write
        - Changed calling convention of dump_aliases_map(),
          write_conf() and dump_conf_map_f() functions.
        - Added doc/elmmimetypes-info. This is installed
          to {lib}/elmmimetypes-info.
        - Added -C elmmimetypes-info option to
          elmmimetypes
        - Changed calling convention of 
          dump_mime_types_map().
        - Added doc/elmterminalinfo-info. This is installed
          to {lib}/elmterminalinfo-info. That is used when 
          {etcdir}/elm.terminalinfo and ~/.elm/terminal.info
          are written. 
        - Added -C elmterminalinfo-info option to
          elmterminal
        - Removed extra code from utils/elmterminal.c
        - Changed calling convention of dump_terminal_map()
        - Added doc/elmmimecharsets-info. This is installed
          to {lib}/elmmimecharsets-info. That is used when 
          {etcdir}/elm.mimecharsets and ~/.elm/mime.charsets
          are written. 
        - Added -C elmmimecharsets-info option to
          elmcharset
        - Changed calling convention of dump_by_MIBenum()
          and dump_charset_map()
        - Added insert_commentfile() to lib/misc/commentfile.c
        - Fixed ConfTool/CharMap
        - Added doc/elmmailinglists-info. This is installed
          to {lib}/elmmailinglists-info. That is used when 
          {etcdir}/elm.mailinglists and ~/.elm/mailing.lists
          are written.
        - Added -C elmmailinglists-info option to
          elmmailinglists
        - Changed calling convention of dump_mlist_conf()
        - Moved dump_service_entries() from lib/service_list.c 
          to lib/misc/service_list.c
        - Added elmmailservices -command, 
          doc/elmmailservices-info, doc/mail.services,
          doc/elmmailservices.1, ConfTool/GenMailServices
        - Configure now copies doc/mail.services to
          bin/elm.mailservices for installation
        - Configure -M and Configure -S also (re)generates
          elm.mailservices
        - Configure does not read elm.mailservices from 
          elm global library directory. Instead existing
          elm.mailservices from elm global library directory
          is merged with bin/elm.mailservices during installation 
          (with -c option on elmmailservices). 
        - New values without merging are written to 
          elm.mailservices.NEW during installation.
        - Added struct mail_services_conf. This represents
          content of one mail.services or elm.mailservices
          file.
        - Changed calling convention of dump_service_entries(),
          parse_service_entries()
        - Implemented free_mail_services_conf(), 
          malloc_mail_services_conf(), tls_update_options(),
          update_entry()
        - Removed free_service_entries()
        - Possible fix for match_item() in src/misc/mlist.c
       New file:
           src/pager/helper.c
           src/browser_help.c
           src/def_browser.h
           shared_libs/smtp/shared_smtp.c
           shared_libs/tls/smtp.c
           shared_libs/include/shared_smtp.h
           doc/elmaliases-info
           doc/elmmimetypes-info
           doc/elmterminalinfo-info
           doc/elmmimecharsets-info
           lib/misc/commentfile.c
           doc/elmmailinglists-info
           utils/elmmailservices.c
           lib/misc/service_list.c
           doc/elmmailservices.1
           doc/mail.services
           doc/elmmailservices-info
           ConfTool/GenMailServices
        New elmrc options:
            editor-ms-propline
            mime-encoded-filename-hack
        New command line options:
            --folder-selection
            --have-double-wide-characters
        New tool:
            elmmailservices

Changes on Elm ME+ 2.5 PLalpha36 compared with Elm ME+ 2.5 PLalpha35

        SUMMARY: This release adds "folder-locking", 
                 "pager-header-display-mode", "mailbox-locking"
                 and "mailhome-locking" global elm.rc (or user elmrc)
                 options, changes paging of long lines and header field
                 names on builtin++ pager and changes locking
                 of mailboxes and folders. This release adds '?' (help)
                 -command to Message Header Edit Screen. Also
                 '?' (help) on main and Elm 2.5 style file browser's
                 option menu changes.  Then also some other changes 
                 and bug fixes are included.
        - Changed so that lib/stringbuffer.c does not store 
          long lines as whole to memory. Long lines are handled
          as series of 1040-4000 character segments. This
          segment handling does not cause extra newlines 
          when paged on builtin++ pager.
        - New segment is added to line also when charset
          changes.
        - Added new elmrc option "pager-header-display-mode".
          Value "plain" tells that header field names should be 
          shown as is and value "bold" (default) tells that 
          header field names should display as bold text on
          builtin++ pager.
        - That header field name is implemented as separate segment
          on line when paged on builtin++ pager.
        - Changed help listing of  Elm 2.5 style file browser 
          commands so that file  "help-fbrowser" is not used.
        - Changed '?' (help) command on Elm 2.5 style file 
          browser so that per command help is shown first.
        - Fixed crash (Segmentation fault) of 'I' command
          on options menu.
        - Changed help system of options menu so that
          files "help-options" and "help-fboptions" is not used.
        - Removed display_helpfile() from src/help.c
        - Added '?' (help) -command to Message Header Edit 
          Screen.  
        - Added "X-MS-Exchange-Organization-" and 
          "X-Auto-Response-Suppress:" to default weedlist. 
          These headers are generated by Microsoft Exchange.
        - Added selection of fcntl() or flock() locking with 
          elmrc or global elm.rc option. Configure still
          asks defaults and also asks which folder/mailbox 
          locking are compiled (supported). New elmrc options 
          are "folder-locking" and "mailbox-locking". New
          global elm.rc option "mailhome-locking" tells
          locking of incoming mailboxes on mailhome (mail 
          spool directory). Option "mailbox-locking" tells 
          locking of other incoming mailboxes. Option 
          "folder-locking" tells what locking is used for
           folders if "lock-folder" elmrc option is set.
        - These locking options knowns following keywords
                none                    None of values are selected
                                        (can not be used)
                lockfile                Use {mailbox}.lock file
                                        (can not be used with
                                         folder-locking option)
                flock                   Use flock() locking. flock() 
                                        does not lock files over NFS.
                fcntl                   Use fcntl() locking. 
          These options also accepts additive form where 
          changes from compile time default (or changes from 
          global elm.rc) are listed:                    
                +lockfile       -lockfile
                +flock          -flock
                +fcntl          -fcntl
        - Added new elmrc type rc_DT_FLAGS.
        - Changed calling convention of save_file_stats()
        New elmrc options:
            folder-locking
            pager-header-display-mode
            mailbox-locking
            mailhome-locking
        New files:
            lib/pager_lineext.c
            hdrs/pg_lineext_imp.h
            src/command/fbrowsercmd.c
            src/command/opt_gencmd.c
            hdrs/opt_imp.h
            src/command/headercmd.c
        Removed files:
            doc/help-fbrowser
            doc/help-options
            doc/help-fboptions

Changes on Elm ME+ 2.5 PLalpha35 compared with Elm ME+ 2.5 PLalpha34

        SUMMARY: This release adds "pointflagged" elmrc option, adds 
                 page as text on b)uiltin pager and '?' (help) 
                 -commands to the MIME structure Menu and to the 
                 Attachment Menu. This release changes Mime encoding 
                 on headers and includes some other changes also. 
                 This release fixes text/plain; format=flowed (RFC 
                 3676) handling of UTF-7 -text, fixes Ctrl-K (Mail 
                 PGP public key) -command, v)iew subparts command on 
                 the Attachment Menu and some other bugs.
        - Fixed p)rint and P)rint text command given
          on message viewer so that "confirmprint" elmrc 
          option is not ignored on that situation.
        - mime_write_part_headers() was failing to add
          Content-Transfer-Encoding: x-uuencoded
          header to part and include_part() did not handled
          this correctly.
        NOTE: Using any X-* encoding on [attach] or [include]
          assumes that part is already encoded!
        - Added name_selection_is_local() to 
          lib/mbox/common_local.c
        - Added elmrc option "pointflagged", which cased when this
          is set that Elm ME+ start up by pointing to the first 
          flagged message received, if possible. Elmrc option 
          "pointnew" takes precdence if set (default).
        - Added 
                page as text on b)uiltin pager
          to MIME structure Menu    
        - Added get_string_serialization_from_file()
          to lib/sb_file.c
        - Added put_string_serialization_to_file()
          to lib/sb_file.c
        - Builtin++ pager can now return command letter
          to MIME structure Menu
        - Added give_character_from_string() to lib/string.c
        - Printed unknown one byte characters as ^uXX 
          hexadecimal on builtin++ pager. This is 
          specially used on page as text on b)uiltin 
          pager -command.
        - Changed state_copy() and state_copy_range() on
          lib/state.c so that they do not quit on output
          failure.
        - Fixed range counting of state_copy_range() on
          lib/state.c
        - Added resetting of found parameter to some 
          cs_give_unicode_from_*() routines.
        - Added '?' command to the MIME structure Menu 
        - Added '?' command to the Attachment Menu
        - Changed prompt from "Attachments: "
          to "Mime structure: " on the MIME structure Menu 
        - Changed some message texts on the Attachment Menu
        - Added some prompt texts to the Attachment Menu
        - Fixed v)iew subparts so that it works also
          on the Attachment Menu (and not only on MIME 
          structure Menu).
        - Use system_charset when decoding attachment for 
          printing
        - Do not MIME encode ascii prefix such as Re: 
          on Subject.
        - Remote server was not set on [include ] and
          [attach ] handling.
        - On UTF-7 character set  > -character is on 
          "optional direct characters" -set, therefore 
          > -character may be UTF-7 encoded. Changed so
          melib/flowed.c operates with character values
          (via struct string) and not with encoded
          characters.
        - Added state_putstring() to lib/state_out.c
        - Added state_putstchar() to lib/state_out.c
        - Added state_putunicode() to lib/state_out.c
        - Added possible fix to state_putc() on
          lib/state_out.c
        - Added xterm-* entry to doc/terminal.info
        - Fixed bug where Makefile-1.SH was not installing
          $(ETC)/elm.mimecharsets $(ETC)/elm.terminalinfo
        - Used *def_ans_yes / *def_ans_no on verify_transmission()
          on src/mailmsg2.c
        - Changed elmregister so that it does not write
          $(ELM_ROOT) to elm.filelist. Otherwise rpmbuild
          requires 
                   export QA_SKIP_BUILD_ROOT=1
          on spec file for Fedora 19.
        - Fixed parsing 
                gpg --list-public-keys
          output.
        - Command Ctrl-K (^K) was not producing result. Replaced
          send_msg_l() with send_msg_middle() on 
          pgp_mail_public_key() at src/pgp.c.
        - Removed global pgp_status -variable.
        - Removed global included_file -variable.
        - Removed global batch_subject -variable.
        - Added error message if subject is given with both 
          -s and -O options on Elm.
        New elmrc options:
          pointflagged
        New file:
            src/command/attach_menucmd.c

Changes on Elm ME+ 2.5 PLalpha34 compared with Elm ME+ 2.5 PLalpha33

        SUMMARY: This release makes some changes to 
                 builtin++ pager, fixes some bugs,
                 changes Configure and fixes compilation on 
                 Fedora 19.
        WARNING: There are some changes on nm usage so it may
                 cause that different set of symbols are found.
                 Please report possible problems.
        - Moved set_out_state_filter() resetting after retry attempt
          at pgp_decode() on melib/pgp_decode.c
        - Fixed compilation warning
           config.h:19:1: warning: "/*" within comment
        - Fixed possible bug on verify_remote_url()
          at src/list/info.c
        - Fixed possible bug on print_local_shared_options() 
          at lib/shared.c
        - Fixed possible bug on get_copies() at src/mailmsg1.c
        - Fixed possible bug on generate_reply_to()
          at src/mkhdrs.c
        - Fixed some warnings caused by -Wall with
          gcc 4.4.3
        - Removed some unused variables (not all)
        - rcsid[] on top of files are now referenced
          (most of files them are used on DEBUG_VAR macro).
        - Added recording of wrapped positions on
          builtin++ pager. This is used to estimate
          better position from where start printing
          mail when mail is browsed backwards to
          beginning of mail. 
        NOTE: Because whole buffer is not wrapped 
              beforehand, jumping forward and also
              backwards does not always produce 
              consistent result. Also because whole 
              buffer is not rewrapped after 'w' and
              'W' commands also then jumping forward 
              and backwards does not always produce 
              consistent result. 
        - Fixed error message      
                Exited with status -1. Press any key to continue: 
          and bad gpg handling on copy_pgp() at
          src/fileio.c. This is used if mail is NOT a
          MIME message.
        - "if I try to build elm-ME+2.5.alpha33 without 
           having specified a DEBUG build then the
           DEBUG_PRINT_BUFFER() macro
           doesn't get defined and four files appear to want to use it."
         From: Kevin Buckley <kevin.m.buckley@gmail.com>
        > Added definition of DEBUG_PRINT_BUFFER() macro
          for case where DEBUG is not defined
        - nm seems crash on Fedora 19. Try make Configure
          output little more clear (it is not fatal).
        - Fedora 19 have
                 include ld.so.conf.d/*.conf
          line on /etc/ld.so.conf. Added Configure 
          check for that.
        - Do not ask about global variables sys_errlist[] and
          sys_nerr on Configure when strerror() exits
        - Accept also 'i' on symbol type letters on nm so that 
          they are found on  Fedora 19.
        - Fixed  my_wait() on lib/posixsig.c on case when
          BACKGROUD_PROCESSES is not defined
        - Fixed compilation of  shared_libs/smtp/smtp.c when
          BACKGROUD_PROCESSES is not defined
        - Save also $nm_opts to config.sh
        - If first nm fails, then use same sed expression
          to nm -p output than was used to previous nm output.
        - Changed default for Configure question
                  Your system has both index() and strchr().  Shall I use
                  index() rather than strchr()? [y]
          to [n] on case where ANSI C is used
        - Changed default for Configure question
                  Omit pathname from soname (as duplicate effort)? [n] 
          to [y]
        - Added Configure question
                Do you want install  unformatted manual pages, 
                formatted manual pages of both ?
          on case where installation prefix directory is set.
        - Fixed redraw loop on builtin++
        - Changed metapager() so that it does not call pager
          if copy_body() fails.
        - PressAnyKeyToContinue() returns now either '\0' or EOF
        - Replaced
                $(REG) copy -m 555 $? $@
          with
                $(REG) copy -m 755 $? $@
          on Makefile.SH so that rpmbuild tools works better
          on Fedora 19. 
        ( Configure sets already $mailermode to either 2755 
          or 755. This is used for elm -binary. )
        - Also replaced
                $(REG) copy -m 444 {library} $@
          or
                $(REG) copy -m 444 $? $@
          with
                $(REG) copy -m 644 {library} $@
          or
                $(REG) copy -m 644 $? $@
          on Makefile.SH where shared library is installed.
        - Fixed or silenced some -Wall compilation warnings
          on Fedora 19.
        - Added possible fix to 
          mt_give_message_remote_server_partial()
        - If configure does not found crypt() or cryptlib
          and crypt.h is found, then try compile test it.
          This fixes location of crypt() on Fedora 19 and 
          Ubuntu 12.04
        WARNING: Resulting encoding with and without
                 crypt() is different for [encode] 
                 (type application/X-ELM-encode). So old
                 messages can not decoded (easily). And format 
                 does not tell if crypt() used for encryption
                 key. But same difficulty is also between
                 different machines.
        - Used more $rmlist on Configure
        New file:
            src/pager/wraprecord.c

Changes on Elm ME+ 2.5 PLalpha33 compared with Elm ME+ 2.5 PLalpha32

        SUMMARY: This release adds RFC 3676 (content type
                 text/plain; format=flowed) support for 
                 builtin++ pager. Rewrapping of flowed 
                 paragraphs is not supported when replying 
                 or forwarding mail or when viewing with 
                 external pager. Flowed format is not 
                 supported either when mail is sent. This 
                 release adds two new commands to builtin++ 
                 pager ('W' for wrapping and 'w' for toggling 
                 paragraph width), and adds 
                 "pager-indicate-wrapping", 
                 "pager-paragraph-width", "@charset" and 
                 "editor-elmrc-propline" elmrc options. Also
                 crash when viewing thread is fixed. And 
                 then this release includes some other 
                 changes also.
        - Moved message line printing code of builtinplusplus()
          on src/builtin++.c to new routine span_line() on
          src/pager/span_line.c
        - Changed implementation builtinplusplus() to use
          span_line() routine. This also may fix potential bug
          on  UNICODE_NO_BREAK_SPACE, UNICODE_SOFT_HYPHEN 
          handling of builtin++ pager.
        - Added "pager-indicate-wrapping" elmrc option. If set
          (default), builtin pager uses \ character to indicate
          wrapping.
        - Added struct pager_range which convey information
          for quotation, word wrapping, and flowed paragraphs.
        - Used struct pager_range on struct decode_opts
        - Used struct pager_range for printing of quote prefix
        - Added handling of "format" -parameter for text/plain 
        - Added handling of "delsp" -parameter for 
                text/plain; format=flowed
          RFC 3676: The Text/Plain Format and DelSp Parameters
        - Adding parsing for mime type 
                 text/plain; format=flowed
          This (RFC 3676) is supported when mail is viewed with
          builtin pager. 
        - This format specifies that lines which end to space
          followed by line which does not end to space forms
          paragraphs which are rewrapped on display. This rewrapping
          is done on builtin pager (but not on when other
          pager is used or when mail is replied).
        - When printing quoted lines (as defined on RFC 2676),
          "prefix" elmrc option is used for quotation. When quotation
          level > 1 last printable character is repeated.
        - On format=flowed messages when builtin pager wraps fixed lines 
          (and prints \ character if "pager-indicate-wrapping" elmrc 
           option is set) possible quotation prefix is reprinted
          if needed (when quotation level is non-zero). That produces
          somewhat different result than how other fixed lines
          (which are not part of flowed format) are handled on line wrapping.
        - Fixed nls/gencat/Makefile.SH
        - Fixed nls/gencat/dumpmsg.c compilation.
        - Added 'W' command to builtin pager. This forces word
          wrapping or toggles it on/off. This does not affect
          fixed lines when mime type 
                text/plain; format=flowed
          or
                text/plain; format=fixed
          is used. Also this does not affect flowed paragraphs
          when mime type
                text/plain; format=flowed
          is used.
        - Added "pager-paragraph-width" elmrc option. Positive
          value indicate preferred width for flowed (word wrapped)
          paragraph. This is not hard limit, words may also
          wrapped after this with, if they with to screen width.
          Negative value indicate preferred distance from
          screen edge. Default value is 70 characters. 
          Set "pager-paragraph-width" to 0, if you want whole 
          screen width to be used
          for paragraphs.
        - Added 'w' command to builtin pager. This toggles
          paragraph width between of "pager-paragraph-width" 
          elmrc option option value and full width of screen.
        - Added menu_WriteUnicode() to src/screen/screen.c
        - Moved struct sb_in_file from hdrs/sb_imp.h to
          lib/sb_file.c
        - Moved struct sb_in_mem from hdrs/sb_imp.h to
          lib/sb_mem.c
        - Moved  struct stringbuffer from hdrs/elmlib.h
          to hdrs/sb_imp.h
        - Removed struct sb_private_data from hdrs/sb_imp.h
        - Moved struct charset_state from hdrs/elmlib.h
          to hdrs/cs_imp.h
        - Added get_state_charset() to lib/charset_input.c
        - Added set_state_caller_flags() to lib/charset_input.c
        - Added get_state_caller_flags() to lib/charset_input.c
        - Removed struct state_private_data from hdrs/cs_imp.h
        - Added DEBUG_PRINT_BUFFER() macro.  
        - Added debug_print_buffer() to lib/debug.c
        - Added missing  mt_give_message_remote_server_thread()
          to src/messages/thread_messages.c
          This fixes crash when viewing thread.   
        - Added @charset option to elmrc -- this specifies
          character set used on global elm.rc or on user's
          elmrc.  Lines are converted from this character 
          set to system (locale) character set. If file does 
          not have @charset option or tag (on top of file), system
          (locale) character set is used. That @charset
          option value is local to that file (and @charset
          on global elm.rc does not effect parsing of 
          user's elm.rc).
        - When writing global elm.rc or user's elmrc, value
          of character set is written to @charset option on 
          top of file. Normally this is current system (locale) 
          charset, but also UTF-8 may be used.
        - The global elm.rc or on user's elmrc are read
          on two pass. Following options are interpreted as
          ASCII only and are done without taking account
          system (locale) character set or @charset option:     
                 @charset
                 bindata
                 editor-elmrc-propline
                 hostdomain
                 hostfullname
                 hostname
                 mailname
                 name-resolution
                 unidata
        - Moved do_rc() from lib/read.rc to lib/rc_parse.c and 
          splitted to do_rc_parse() and do_rc_process().
        - Added flag argument to string_matches_ascii()
        - Changed charset handling on elm.rc routines
        - Added new elmrc option type rc_DT_STRING.
          This is for elmrc options which have type 
          struct string.
        * This stores values from global elm.rc or on user's
          elmrc file without converting them first
          to system (locale) character set.
        - Reimplemented elmrc option "prefix" as 
          rc_DT_STRING
        - Reimplemented elmrc option "fullname" as 
          rc_DT_STRING
        - Reimplemented elmrc option "attribution" 
          and "fwdattribution" as rc_DT_STRING
        - Changed comment which elmrc-write writes to ~/.elm/elmrc
          file.
        - Added "editor-elmrc-propline" elmrc option.
          If set to "emacs", then when writing global 
          elm.rc or on user's elmrc file, line
             # -*- coding: ... -*-
          is added to top of file. That line is also written
          if "editor-elmrc-propline" elmrc option is 
          set to "auto" (default) and line detected 
          when file is read. 
          If set to "ignore", then editor property line
             # -*- coding: ... -*-
          on top of file is ignored.
        - Added iso-latin-1 and latin-1 to ConfTool/charaliases.map
          as aliases of ISO-8859-1
        - Added iso-latin-2 and latin-2 to ConfTool/charaliases.map
          as aliases of ISO-8859-2
        - Added iso-latin-3 and latin-3 to ConfTool/charaliases.map
          as aliases of ISO-8859-3
        - Added iso-latin-4 and latin-4 to ConfTool/charaliases.map
          as aliases of ISO-8859-4
        - Added iso-latin-5 and latin-5 to ConfTool/charaliases.map
          as aliases of ISO-8859-9
        - Added iso-latin-6 and latin-6 to ConfTool/charaliases.map
          as aliases of ISO-8859-10
        - Added iso-latin-7 and latin-7 to ConfTool/charaliases.map
          as aliases of ISO-8859-13
        - Added iso-latin-8 and latin-8 to ConfTool/charaliases.map
          as aliases of ISO-8859-14
        - Added iso-latin-9 to ConfTool/charaliases.map
          as aliases of ISO-8859-15
        New elmrc options:
            pager-indicate-wrapping
            pager-paragraph-width
            @charset
            editor-elmrc-propline
        New files:
            src/pager/Makefile.SH
            src/pager/def_pager.h
            hdrs/pager.h
            src/pager/span_line.c
            src/pager/span_range.c
            lib/pager_range.c
            hdrs/pg_range_imp.h
            melib/flowed.c
            lib/rc_propline.c
            lib/rc_parse.c

Changes on Elm ME+ 2.5 PLalpha32 compared with Elm ME+ 2.5 PLalpha31

        SUMMARY: This release changes elmregister, removes
                 obsolete man or catman pages, adds handling
                 of '$' (or F5) command letter to duplicate 
                 removal (Ed) and A)ssemble message fragments 
                 -screens, and adds 'S' status letter file and 
                 folder browser. Also some other changes and bug 
                 fixes are included.
        - In IMAP login failure wait for 
          sleepmsg seconds on cache_login_imap() so that
          LOGOUT does not clear possible error message
        - Added some compilation fixes for case when
          POLL_METHOD is undefined
        - Fixed local-lockfile-pidcheck option so
          that qualified hostname is also
          accepted on {mailbox}.lock file.
        - Elm2.4ME+ PL97 (25) added check to 
          Configure that is elm's shared library 
          directory on /etc/ld.so.conf. That check 
          does not take account, if /etc/ld.so.conf
          have line
               include /etc/ld.so.conf.d/*.conf
          Added check for that.
        - Added removal of man or catman pages on
          installation if they are excluded from
          installation.
        - Added commands
                elmregister classify {class} {file}...
                elmregister rmclass {class}         
        - Added -v (verbose) option to commands
                elmregister uninstall
                elmregister master
          Changed so that "elmregister uninstall" and
          "elmregister master" does not print some messages
          (without -v (verbose) option).
        - Added small fix to uninstall_list() on
                elmregister uninstall
          command.
        - Added that ELM_INSTALLER_VERBOSE=1 environment
          variable also turns -v (verbose) option on
          elmregister.
        - Added compression of version listing on elm.filelist
          when rewriting it.
        - Documented environment variables on elmregister
          manual page.
        - Elm ME+ tries check MAX_ATTEMPTS times (given 
          on Configure) for the removal of the {mailbox}.lock 
          file. After that many tries lock file is removed
          if it more that 10 minutes old (and mailbox is 
          not accessed). Added extra check that {mailbox}.lock
          is always read (even when local-lockfile-pidcheck
          option is "no") and access time is compared with
          modify time. If modify time is less than 5
          minutes old compared to access time (before
          checks for removal of the {mailbox}.lock 
          file), then also file is NOT considered old
          enough for removal after it is checked 
          MAX_ATTEMPTS times. This may perhaps help
          when file is on NFS server and clocks does
          not have on synchronized. This check does not work
          if filesystem is mounted with noatime or relatime
          option.
        - Fixed compilation warning
                dumpmsg.c:73: warning: incompatible implicit 
                        declaration of built-in function ‘exit’
        - Some fixes to nls/gencat/Makefile.SH
        - Do not report 
             Couldn't parse the lock file {mailbox}.lock
          if {mailbox}.lock includes value 0 as pid.
        - Wait sleepmsg seconds after {mailbox}.lock 
          is removed (and lock file {mailbox}.lock recreated)
          so that message
             Timed out - removing current lock file...
          is visible.
        - Changed $d_netinet_in to $i_netinet_in on Configure
          (#include  <netinet/in.h>)
        - Added $i_arpa_inet to Configure 
          (#include <arpa/inet.h>)
        - Changed $d_socket to $i_sys_socket on Configure
          (#include <sys/socket.h>) and changed I_SOCKET
          macro to I_SYS_SOCKET
        - Changed $d_netdb to $i_netdb on Configure
          (#include <netdeb.h>)
        - Changed $d_locale to $i_locale on Configure
          (#include <locale.h>)
        - Changed $d_nl_types to $i_nl_types on Configure
          (#include <nl_types.h>)
        - Changed duplicate removal (Ed) -screen so that
          '$' and F5 does resynchronization ('$') -command 
          on caller's main_message_loop().
        - Changed A)ssemble message fragments -screen so  that
          '$' and F5 does resynchronization ('$') -command 
          on caller's main_message_loop().
        - These actions on duplicate removal (Ed) and 
          A)ssemble message fragments -screen are not
          available if this screen is called from 
          V)iew digest as mailbox -screen.
        - Changed Elm ME+ style file and folder browser 
          shows 'S' letter for mailboxes (on mail spool directory
          and files on directory given be "extra-mailbox-dir"
          elmrc option and files listen on "incomingfolders"
          elmrc option, and files with special modes 
          (mode 04600)) if they have corresponding temporary 
          file (sessionlock file). Location of that sessionlock 
          file is affected by global elm.rc option
          "local-sessionlock-dir" and 
          "local-sessionlock-use-home". Also letter 'S'
          is shown on Elm ME+ style file and folder browser
          if there is corresponding temporary file (sessionlock 
          file) for default mailbox.
        * This does NOT take account 'Magic mode' (treat all folders 
          as spool files).
        - Fixed Configure error  
                Testing if mmap() works ... 
                mmap.c:15: warning: function declaration isn’t a prototype
        - Removed NEED_REOPEN_AFTER_FAILED_CONNECT question
          and $d_connect_reopen from Configure. That is now
          always assumed.
        - Fixed Configure test programs
        - Added Configure test/question for getopt() that it allows
          resetting scanning of argument vector with getopt() 
          be setting optind = 1.
        - Fixed problem where, if first saving of message fails
          (command 'C' or 's') because target is locked, then 
          message is not saved when another file name is given.
        - Small fix to doc/Makefile.SH

Changes on Elm ME+ 2.5 PLalpha31 compared with Elm ME+ 2.5 PLalpha30

        SUMMARY: This release adds [send-as-charset ...] 
                 and [no keywords] commands (or keywords) 
                 for editor buffer, changes the handling 
                 of dotlock ({mailbox}.lock) file, adds 
                 "local-lockfile-pidcheck" global elm.rc 
                 option. Also some other changes and bug 
                 fixes are included.
        - Added handling of UNICODE_SOFT_HYPHEN (0x00AD),
          UNICODE_NO_BREAK_SPACE (0x00A0) and
          UNICODE_BAD_CHAR(0xFFFD) on bultin pager although 
          they was already handled on cur_PutLineS() on 
          src/screen/curses.c
        - Printed unicode control characters (> 0x007F)
          as ^uXXXX hexadecimal on builtin pager. This
          uses unicode values although mail's charset is
          not unicode. Other non-printable characters are 
          printed with ? still.
        - Moved unicode_ch() and UOP_xxx from hdrs/cs_imp.h
          to hdrs/elmlib.h
        - Added small fix to unicode_ch()
        - Added [send-as-charset ...] command. This works
          as "text-charset" elmrc option, but effects only
          to current mail message. Notice that this may
          be ignored on same situations than "text-charset" 
          elmrc option.
        - Added [no keywords] command. This disables 
          further keywords on buffer.
        - If saving of message was canceled, temporary tagging 
          of message was not properly cleared.
         Problem noted by: Laura Kataja
        - Added "local-lockfile-pidcheck" elmrc option:
                no        Do not check pid on file
                yes       Remove lockfile if given pid does not exists
                hostname  Remove lockfile if given pid does not exists.
                          Write pid@hostname format. 
                ignore-hostname   remove lockfile if given
                          pid does not exists. Do not check
                          @hostname part.
                require-hostname   remove lockfile if given
                          pid does not exists and @hostname
                          part exists (and matches).
                          Write pid@hostname format. 
          Default is "hostname". 
        > Now by default also hostname is written to
          {mailbox}.lock lockfile. This should partially 
          protect Elm to remove lockfile if /var/mail is 
          shared via NFS and mailbox is read on another 
          machine.
        > If program parses pid on mailbox.lock with atoi()
          it does not hurt that there is @hostname after 
          pid.
        > On other machine than where mail is delivered
          to mailbox, value "require-hostname" should 
          be used for "local-lockfile-pidcheck" elmrc option.
        - Added constants (enum pgp_sign_type_v) 
                for ENUMERATE pgp_sign_type
        - Added constants (enum pgp_encrypt_type_v) 
                for ENUMERATE pgp_encrypt_type
        - Added constants (enum auto_attachment_v) 
                for ENUMERATE auto_attachment
        - Added constants (enum browser_wildcards_v) 
                for ENUMERATE browser_wildcards
        - Added constants (enum folder_status_v)
                for ENUMERATE def_folder_status
        - Added constants (enum mime_parameters_v) 
                for ENUMERATE mime_parameters
        - Added constants (enum env_from_source_v) 
                for ENUMERATE env_from_source
        - Added constants (enum fragment_handling_v) 
                for ENUMERATE fragment_handling
        - Added constants (enum phrase_display_mode_v) 
                for ENUMERATE phrase_display_mode
        - Added constants (enum local_seslck_use_home_v) 
                for ENUMERATE local_sessionlock_use_home
        - Added constants (enum message_hide_v) 
                for ENUMERATE message_hide_hack
        - Added constants (enum allow_no_encoding_v) 
                for ENUMERATE allow_no_encoding
        - Added constants (enum show_header_errors_v) 
                for ENUMERATE show_header_errors_e
        - Added constants (enum user_level_v) 
                for ENUMERATE user_level
        New elmrc option:
            local-lockfile-pidcheck

Changes on Elm ME+ 2.5 PLalpha30 compared with Elm ME+ 2.5 PLalpha29

        SUMMARY: This release changes implementation of 
                 "pager", "editor" and "alteditor" elmrc
                 options, fixes some bugs (including  
                 crash when file with too long file name is 
                 attached) and changes elm.rc help texts.
        - Changed that give_dt_estr_as_str() returns const char *
          instead of char *. Changed many function that they
          take const char * instead of char * as argument.
        - Added join_argvc1() to lib/syscall.c  
        - Changed that have_printout() returns const char *
          instead of char *. 
        - Changed that have_metamail() returns const char *
          instead of char *. 
        - Added error message "Mailer (type %s) assumed"
        - Changed configure search first /var/mail
          instead of /usr/spool/mail for incoming mail
          spool directory.
        - Changed comments referring bzero on hdrs/defs.h
          to refer bzero on hdrs/elm_defs.h 
        - Used have_metamail() on show_msg()
        - Fixed some misspellings.
         Patch from: Vandeir Silva <vandeir@silva.info>
        - Added a missing function in the "write_rc.c" to print
          the ".elm/elmrc - options file for the ELM mail system" 
          line.
         Patch from: Vandeir Silva <vandeir@silva.info>
        > That text was on src/save_opts.c and
          probably lost on Elm ME+ 2.5 PLalpha5 
          and Elm 2.4ME+ PL122 (25). Added also condition
          that this text is not written when writing global
          elm.rc.
        - Changed help text of "pagealternative" elmrc 
          option on doc/elmrc-info.
         Patch from: Vandeir Silva <vandeir@silva.info>
        - Fixed some texts on doc/elmrc-info.
         From: Vandeir Silva <vandeir@silva.info>
        - Changed elmrc rc_DT_ESTR variables implementation
          so that they can take keywords (on first line)
          and list of flags on continuation line. Possible
          flags are reset when elmrc rc_DT_ESTR variable is set.
        - Changed that give_dt_estr_as_str() so that it
          takes parameters (pointers) for reading possible keyword
          and these flags of elmrc rc_DT_ESTR variable.
        - Added ESTR_print_expanded flag to elmrc rc_DT_ESTR variables.
          If that flag is set, text after # character is ignored
          for variable value and expanded value is written after
          # character when variable is saved to elmrc or
          global elm.rc
        - Changed "pager" elmrc option so that values
          "builtin", "builtin+", "builtin++", "internal" are
          implemented as rc_DT_ESTR variable keywords.
        - Added value "use-$PAGER" for use as continuation line
          flag on "pager" elmrc option. That flag is set by 
          default (if compilation time definition USE_BUILTIN_PAGER is 
          not used), but it is reset when "pager" elmrc option 
          is set.
        - After # character there is written expanded value
          of "pager" variable on elmrc file when it is saved.
        - Changed "editor" elmrc option so that values
          "builtin", "internal" are implemented as rc_DT_ESTR 
          variable keyword. 
        - Added value "use-$EDITOR" for use as continuation line
          flag on "editor" elmrc option. That flag is set by 
          default , but it is reset when "editor" elmrc option 
          is set.
        - After # character there is written expanded value
          of "editor" option on elmrc file when it is saved.
        - Value "none" on "editor" and "pager" elmrc option 
          is handled also specially.
        - Some compilation fixes for genlib.c on
          Ubuntu 10.04.4 LTS
        - Fixed crash on gen_splitted_ascii_param()
          when file with too long filename was attached:
                Couldn't malloc -79 bytes!!
                PANIC in utils.c:92:malloc_failed_exit
                >>>Out of memory
                Call stack: 6405A6 80DFFDA 6514C8 C3ED27 C3F6AC
                 continues: 80733B5 80772F4 80A2E96 80887B5 9A0BD6
                 continues: 805F891
                 backtrace: 
                 /usr/local/lib/libelmme-base.so.1.1.29+(panic+0x1e8)[0x6405a6]
                 bin/elm-shared(malloc_failed_exit+0xe2)[0x80dffda]
                 /usr/local/lib/libelmme-base.so.1.1.29+(safe_malloc+0x7c)[0x6514c8]
                 /usr/local/lib/libelmme-mime.so.1.1.29+(+0x16d27)[0xc3ed27]
                 /usr/local/lib/libelmme-mime.so.1.1.29+(mime_params_add+0x1f1)[0xc3f6ac]
                 bin/elm-shared[0x80733b5]
                 bin/elm-shared(Check_attachments+0xa8)[0x80772f4]
                 bin/elm-shared(initialize+0xaab)[0x80a2e96]
                 bin/elm-shared(main+0xe7)[0x80887b5]
        - Changed that malloc_failed_exit() used %u on instead
          of %d in error message because argument is
          'unsigned len'
        > That changes crash message to
               Couldn't malloc 4294967217 bytes!!
        - Reimplemented elmrc option "alteditor" as rc_DT_ESTR
        - Changed "alteditor" elmrc option so that value "EDITOR" 
          is implemented as rc_DT_ESTR variable keyword. 
        WARNING: On some situations "alteditor = EDITOR" may
                 use old value of "editor" when value of "editor" 
                 is changed after value of "alteditor" elmrc 
                 variable is set.
        - Added value "use-$EDITOR" for use as continuation line
          flag on "alteditor" elmrc option. That flag is set by 
          default , but it is reset when "alteditor" elmrc option 
          is set.
        - After # character there is written expanded value
          of "alteditor" variable on elmrc file when it is saved.
        - Value "none" on "alteditor" elmrc option 
          is handled also specially.
        - Added value "use-$VISUAL" for use as continuation line
          flag on "editor" and "alteditor" elmrc options. That 
          flag is set by default , but it is reset when "alteditor" 
          elmrc option is set. If both environment variables
          $VISUAL and $EDITOR are set and both continuation line
          flags "use-$EDITOR" and "use-$VISUAL" are set, then
          $EDITOR environment variable is used.
        - Used have_editor() on edit_a_file() on src/edit.c
        - Used have_editor() on attach_edit () on src/attach_menu.c
        - Changed edit_the_message() so that NULL is passed
          as editor if "editor" or "alteditor" elmrc 
          variable is used.
        - Fixed e)dit -command menu text on aliases.
        - Added menu_trigger_redraw(page) to edit_a_file()

Changes on Elm ME+ 2.5 PLalpha29 compared with Elm ME+ 2.5 PLalpha28

        SUMMARY: This release changes how decoding of 
                 content-transfer-encoding is done, uses
                 exit values from sysexits.h, adds "mailname"
                 and "name-resolution" global elm.rc options,
                 changes initialization of "hostdomain", 
                 "hostfullname" and (in some cases) "hostname"
                 global elm.rc options, adds support for 
                 /etc/mailname on Debian systems.  Also some 
                 other changes and bug fixes are included.
       - Added in_state_needs_encoding() to lib/misc/mimesend.c
       - Changed needs_encoding() on lib/misc/mimesend.c
         to use in_state_needs_encoding()
       - Added STATE_in_decode type for struct in_state.
         This handles decoding of Content-Transfer-Encoding.
       - Moved struct in_state from lib/state_in.c
         to hdrs/state_imp.h
       - Added seekable_si_file() to lib/state_in.c
       - Added ftell_si_file() to lib/state_in.c
       - Added fseek_si_file() to lib/state_in.c
       - Added in_state_error_message() to lib/state_in.c
       - Added errmsg_si_file() to lib/state_in.c
       - Added in_state_ferror() to lib/state_in.c
       - Added in_state_feof() to lib/state_in.c
       - Added ferror_si_file() to lib/state_in.c
       - Added feof_si_file() to lib/state_in.c
       - Added state_gets_helper() to lib/state_in_gets.c
       - Added state_getl_helper() to lib/state_in_gets.c
       - Used STATE_in_decode in text_decode() on 
         melib/mime_decode.c
       - Used STATE_in_decode in get_decoded_attachment()
         on src/attach_menu.c
       - Used STATE_in_decode in mmsg_copy_part()
         on src/mailmsg2.c
       - Used STATE_in_decode in pgp_SG_decoder()
         on melib/pgp_decode.c
       - Used STATE_in_decode in elm_decode()
         on melib/mime_decode.c
       - Used STATE_in_decode in mime_decode()
         on melib/mime_selector.c
       - Used STATE_in_decode in pgp_decode()
         on melib/pgp_decode.c
       - Used STATE_in_decode in pgp_EC_decoder()
         on melib/pgp_decode.c
       - used STATE_in_decode in simple_mime_walk()
         on melib/mimewalk.c
       - Changed calling convention of simple_mime_walk()
       - Changed calling convention of mmsg_copy_part()
       - Removed arrange_decoded() from melib/mime_decode.c
       - Removed run_cte_decoder() from melib/mime_decode.c
       - Removed base64_decode() from melib/mime_decode.c
       - Removed uudecode() from melib/mime_decode.c
       - Removed quoted_printable_decode() from 
                 melib/mime_decode.c
       - Fixed pgp_EC_decoder() so that it does not ask PGP
         passphrase if "usepgppass" elmrc option is not set.
       - Added inc_in_state_refcount() to lib/state_in.c.
         Decrementing of refcount is done by free_in_state()
       - STATE_in_decode increments refcount of source.
       - Added is_valid_encoding() to melib/state_decode.c
       - Used is_valid_encoding() in mime_classify_media() 
         on melib/mime_selector.c
       - Documented -C elmrc-info option on manual page of 
         elmrc-write.
       - Documented %{letter} codes used on attribution and
         fwdattribution options on elmrc-info file (that goes
         to comments of elmrc file)
       - Used /usr/include/sysexits.h for printing
         of mailer (specially sendmail) errors.
       - Mailer exit status is returned as elm's exit 
         status on send only mode if mailer completed 
         with time given in "background-wait-time" elmrc
         option. If mailer is put to background elm
         returns 0 (success). In that case error is lost.  
       - Mailer exit status is returned as fastmail's exit 
         status if mailer completed with time given in 
         "background-wait-time" elmrc option. 
       - Fastmail returns exit codes of sysexits.h on
         some situations if sysexits.h is available.
       - If sysexits.h is available and mailer = submission
         or mailer = sendmail-bs global elm.rc option is
         used, elm's and fastmail's exit status is
         converted from corresponding submission or
         SMTP status code.
       - Removed mail_form() from src/mailmsg2.c
       - Added some new checks to Makefile
       - Added free_rc_options() to lib/read_rc.c
       - Added free_delayed_rc_options() to lib/rc_delay.c
       - Added free_shared_rc_options() to lib/shared.c
       - if DT_FUNC option's function does not provide 
         value, print value as
            ### option-name (not set)
       - If &rc_DT_DELAY option do not have saved lines
         and no real option is available, print value as
            ### option-name (not set)
       - Added backtrace() call to lib/panic.c
       - Added panic_print_backtrace() to lib/debug.c
       - Changed $d_inttypes to $i_inttypes on Configure
         (#include <inttypes.h>)
       - Possible fix on optimize_and_add() on 
         src/reply.c
       - Added PATH_ascii_only flag to DT_PATH.
       - Marked that "alternatives" elmrc option accepts only
         ASCII characters on e-mail addresses.
       - Added "mailname" elmrc option. That is name used 
         for after the @ -character on addresses and aliases 
         of that. It similar than "alternatives" elmrc option, 
         but includes only part after the @ -character. It can 
         used only on global elm.rc. Only ASCII characters are 
         allowed on names.
       - Added that optimize_and_add() on src/reply.c splits
         address to user@mail.domain similar than addr_is_user()
         on lib/okay_addr.c does and compares mail.domain
         on case insensitive manner.
       - Also names given on "mailname" elmrc option are 
         considered to be equivalent when constructing reply
         addresses.
       - If "mailname = none" then "hostfullname" elmrc option 
         is used instead, when sending mail.
       - If on "mailer" elmrc option have "use-domain=yes"
         then first name from "mailname" elmrc option
         is used for adding "@mail.domain" to email addresses.
       - If "mailname = none" then no any address with
         @mail.domain -part is considered to be local.
       - Changed how elmrc options "hostdomain" and
         "hostfullname" are initialized.
       - If elmrc gives "hostfullname" but not "hostdomain"
         and on "hostfullname" there is at least two dots,
         then "hostdomain" is derived from "hostfullname"
         directly. Also missing "hostname" is generated
         on that case.
       - "mailname" elmrc option defaults to "hostfullname"
         elmrc option and then "hostdomain". After that names
         returned by gethostbyname() are used on default value
         of "mailname" elmrc option. Also address
         literals formed from IPv4 addresses returned by 
         gethostbyname() are added to default value of "mailname".
       - gethostbyname() is used now only once when initializing
         "hostdomain". Now it is called only after global elm.rc
         is read.
       - Also gethostbyname() result is used to initialize
         missing "hostname" (if returned primary name does not 
         include dot).
       - Now "hostdomain" and "hostfullname" is initialized
         after  elm.rc is read if elm.rc does not give then.
         On earlier default values for "hostdomain" and "hostfullname"
         was generated before elm.rc was read.
       - Added support for /etc/mailname on Debian systems.
         Configure asks that should content of this file
         added to first value for "mailname" elm.rc option.
       - /etc/mailname file is NOT used initialize any other
         elm.rc options except "mailname". Specially
         /etc/mailname file does not effect elm.rc options
         "hostname", "hostfullname" and "hostdomain".
       - Added "name-resolution" elmrc option. This tells
         how default values for "hostname", "hostfullname",
         "hostdomain" and "mailname" elmrc options are generated.
         Option includes list of keywords:
                none                    None of values are selected
                gethostname             Use gethostname()
                lookup                  Use gethostbyname()
                getdomainname           Use getdomainname()
                mailname-file           Use /etc/mailname (on
                                           Debian systems) 
         The "name-resolution" elm.rc option accepts two forms:
             - Absolute form where used options are listed
             - Additive form where changes from compile
               time default are listed:
               +gethostname     -gethostname
               +lookup          -lookup
               +getdomainname   -getdomainname
               +mailname-file   -mailname-file
         These two forms can not be mixed.
       - Added have_name_resolution(), name_resolution_tag(),
         name_resolution_gives(), name_resolution_errno(),
         name_resolution_okname() and nameresfunc() to lib/read.rc
         For more information see chapter "Name resolution".
       - Added from_addr_literal1() to lib/mailer/outheaders.c
       - Changed how command line options are parsed.
       > That includes resetting of scanning by setting 
                optind = 1
         on some machines this seems cause problems
         (installation failes)
       - Added set_early_options() to src/args.c
       - Fixed bug where fullname was not added to plain
         username when just username was entered. This
         bug is probably introduced on Elm ME+ 2.5 PLalpha15
       - Fixed '=' expansion bug on expand_dt_path()
       - Check that "maildir" is defined on create_new_folders()
       - Added possible fix to MO_default_value()
         on lib/mailer/mailer.c
        New files:
                melib/state_decode.c
                lib/state_in_gets.c
        New elmrc options:
                mailname
                name-resolution

Changes on Elm ME+ 2.5 PLalpha28 compared with Elm ME+ 2.5 PLalpha27

        SUMMARY: This release fixes some bugs, changes
                 Configure and fixes compilation on 
                 Ubuntu 11.10.
        - Do not print error message
             Failed to connect XXXXX: Success
        - Do not print message
             mime_decode: no handler selected
          if there is header
             Content-Transfer-Encoding: x-uuencoded
          There is decoder for uuencoded encoding.      
        - Fixed 'Configure -Odir' option (it was
          working only on form 'Configure -O dir').
        - Added 'Configure -O-' option. This uses
          'uname -sn' for build directory.
        - On Ubuntu 11.10 release has libc.so.6
          on strange location. Now configure uses
          result of test compilation and  /usr/bin/ldd
          to locate libc.so on that case.
        - Changed that Configure uses compiling test for
          F_SETLK on linux
        - Changed that Configue defaults  both flock 
          and fcntl locking on Linux 3.*
        - Changed that OpenSSL is tried to be located 
          from same directory than from where libc.so.6 
          found (on Ubuntu 11.10 release).
        - When creating (linking) libelmme-base.so, link it 
          with -ldl. Seems that it is not enough that programs 
          are linked with -ldl (on Ubuntu 11.10 release).
        - Removed val -argument from expand_dt_estr()
        - Fixed some compilation warnings on Ubuntu 10.04.3 LTS release
          (on x86_64).
        - Changed Configure so that if the question
               Give the name of the ispell program on your system:
          is answered with "none", addition of ispell
          option to the pre-send menu is canceled.
        - "Hi, found a typo in file src/hdrconfg.c
           line 1020:
              CATGETS(elm_msg_cat, ElmSet
           should be:
              CATGETS(elm_msg_cat, ElmSet,"
         From: wim meest <wim.meest@gmail.com>
        > Added missing ',' to line 1019. Line 1020
          was actually correct.

Changes on Elm ME+ 2.5 PLalpha27 compared with Elm ME+ 2.5 PLalpha26

        SUMMARY: This release fixes some bugs, adds & -prefix to 
                 folder browser (indicating current IMAP server), 
                 adds "mailcap-blacklist-programs" elmrc option (where 
                 wine and shells are forbidden) and adds many types
                 to doc/mime.types (to /usr/local/lib/elm.mimetypes
                 normally).
        - Added creation of doc/catman on build directory to
          ConfTool/Substitute
        - Added & -prefix to folder browser. That indicates current
          remote server (that is folder listing of IMAP server).  
          Current IMAP directory depends of which mailbox or folder is 
          open.
        - Is several folders are open then current remote server
          depends on what mail is selected.
        - Currently & -prefix opens new IMAP connection to server.
          It does not use existing connection. In that sense &
          -prefix works similar than macro.
        - If current remote server is POP server, then & -prefix
          tries open IMAP connection to same server if folder
          listing (or saving of mail) is tried.
        - If currently open folder is local, then & -prefix
          also refers to local folder directory ("maildir"
          elmrc option is used)
        - & alone and &INBOX refers to incoming mailbox 
          on current server. If currently open folder is local, 
          "incoming-mailbox" elmrc option is used, if that
          points to local file.
        - Moved locate_from_cache(), remove_from_cache(), 
          create_connection(), free_connection(), join_connection(),
          login_connection(), folder_from_connection(),
          browser_from_connection(), close_connection(),
          close_cached_connections(), cache_connection()
          from lib/remote_mbx.c to lib/mbox/connection.c
        - Moved part of IMAP code from lib/mbox/imap.c
          to lib/mbox/con_imap.c
        - Renamed change_type() on savefolder.c to 
          change_folder_browser_type()
        - Added check to pop_push_command() that 
          pop_state is not POP_not_logged  
        - Added missing  pop_push_command() return value
          check to pop_open_connection()
        - Fixed wrong check on start_imap_command()
        - Added check to on start_imap_command() that 
          imap_state is not IMAP_closing
        - Changed message
              Please fix [include ...] lines!
          to
              Please fix [include ...] and other [keyword] lines!
        - Removed fix_imap_selection() and added special case
          to fullname_from_imap_selection()
        - Implemented  out_state_ferror() also on STATE_out_dir
          and used that on copy_message_2() 
        - Fixed seekable_so_dir()
        - Added possible fix to  browser_descend_dummy()
        - "Attached is a patch file that would allow a Mac to build
           elm-ME+2.5 with less problems.  This patch should also work
           with elm2.4.ME+ and may even work with elm2.5.8.  The patch
           does two things.  It allows Configure to find
           /usr/lib/libc.dylib and it tells Configure not to allow
           fcntl style locking on a Mac."
         From: dansdragon <dansdragon@gmail.com>
        - On some Ubuntu releases there /etc/mailcap entries
          like
            application/exe; /usr/bin/wine '%s'; description=Windows Executable
          Added elmrc option "mailcap-blacklist-programs"
          which disables metamail if given program is 
          used on metamail-mailcaps and type is used on mail and
          also disables these entries on internal-mailcaps. 
        > By default  mailcap-blacklist-programs includes 
          /usr/bin/wine, wine, /bin/sh, sh. This assumes that shell
          is used something like
            application/sh; /bin/sh %s
          which is blacklisted. 
        * If  getusershell() is available, default value of
          mailcap-blacklist-programs includes shells from
          /etc/shells
        > However /bin/true or /bin/false are not added to
          mailcap-blacklist-programs.
        - Fixed  envelope sender address documentation on 
          shared_libs/smtp/README.ME+ file.
        - Reset InGetPrompt flag on src/signals.c handlers.
        - Reset wait_can_signal on src/signals.c handlers.
        > But these are mess anyway...
        - Added following new types to doc/mime.types file:
          application/vnd.oasis.opendocument.database
          application/vnd.google-earth.kmz
          application/exi
          application/oxps
          application/rtf
          application/vnd.acucobol
          application/vnd.adobe.fxp
          application/vnd.airzip.filesecure.azf
          application/vnd.airzip.filesecure.azs
          application/vnd.aristanetworks.swi
          application/vnd.cloanto.rp9
          application/vnd.cups-ppd
          application/vnd.ericsson.quickcall
          application/vnd.font-fontforge-sfd
          application/vnd.fujixerox.ddd
          application/vnd.fuzzysheet
          application/vnd.hp-jlyt
          application/vnd.iccprofile
          application/vnd.informix-visionary
          application/vnd.isac.fcs
          application/vnd.jcp.javame.midlet-rms
          application/vnd.joost.joda-archive
          application/vnd.kidspiration
          application/vnd.Kinar
          application/vnd.MFER
          application/vnd.ms-htmlhelp
          application/vnd.multiad.creator
          application/vnd.multiad.creator.cif
          application/vnd.mynfc
          application/vnd.olpc-sugar
          application/vnd.osgeo.mapguide.package
          application/vnd.osgi.bundle
          application/vnd.osgi.dp
          application/vnd.piaccess.application-licence
          application/vnd.picsel
          application/vnd.preminet
          application/vnd.Quark.QuarkXPress
          application/vnd.scribus
          application/vnd.smart.teacher
          application/vnd.stepmania.package
          application/vnd.tcpdump.pcap
          application/vnd.unity
          application/vnd.vidsoft.vidconference
          application/vnd.wqd
          application/vnd.xara
          application/widget
          application/vnd.clonk.c4group
          audio/AMR-WB
          audio/dls
          audio/EVRCB
          audio/EVRC
          audio/EVRCWB
          audio/qcelp
          audio/iLBC
          audio/mobile-xmf
          video/ogg
          audio/ogg
          audio/prs.sid
          audio/SMV
          audio/sp-midi
          audio/vnd.dolby.mlp
          audio/vnd.everad.plj
          audio/vnd.lucent.voice
          audio/vnd.rip
          image/fits
          image/ktx
          image/t38
          image/tiff
          image/tiff-fx
          image/vnd.djvu
          image/vnd.dwg
          image/vnd.svf
          image/vnd.fujixerox.edmics-mmr
          image/vnd.fujixerox.edmics-rlc
          image/vnd.globalgraphics.pgb
          image/vnd.microsoft.icon
          image/vnd.radiance
          text/vnd.abc
          text/vnd.FMI.FLEXSTOR
          text/vnd.trolltech.linguist
          text/xml
          text/xml-external-parsed-entity
          application/xml; charset="utf-16"
          application/xml-external-parsed-entity; charset="utf-16"
          application/xml-dtd
          application/xml-dtd; charset="utf-16"
          video/vnd.fvt
          video/vnd.nokia.interleaved-multimedia
        > Added some types which are both filename extension
          and magic numbers given on registration.
          Some registrations are quite ambiguous (specially
          magic numbers). Please report possible errors.
        - Changed following types on doc/mime.types file:
          application/ogg
        - Remove path from filename ASCII parameter when using
          [include or [attach and not only non-ASCII filename
          parameter.
        - Added v)ew parts of message to "Metamail selection"
         / "Mailcap program selection" -screen. This gives MIME 
         structure of message.
        - Fixed panic when Elm ME+ was exiting because of signal. 
          Message was:
               COMMANDS PANIC in command.c:312:free_commands
               >>>Bad magic number
               Emergency exit taken! All temp files intact!
        - Fixed crash on send menu. Message was:
               COMMANDS PANIC in command.c:288:new_commands
               >>>Already value
               Emergency exit taken! All temp files intact!
        New files:
                lib/mbox/remote_server.c
                lib/mbox/connection.c
                hdrs/mbximap_imp.h
                lib/mbox/con_imap.c

Changes on Elm ME+ 2.5 PLalpha26 compared with Elm ME+ 2.5 PLalpha25

        SUMMARY: This release fixes some bugs, adds help
                 ('?' command) to some screens, makes elmregister 
                 little less verbose, makes IPv6 URLs  on List-* 
                 -header fields legal, fixes fastmail, adds
                 UTF-8 validity check to some places, adds
                 warning for bad encodings and adds certificate 
                 check to tls -module. Also some other changes or 
                 fixes are included.
        - Check also if Makefile-1.SH is newer than Makefile-1
          (not only if Makefile.SH is newer than Makefile)
        - Added
                multipart/parallel   (RFC 2045)
                multipart/related    (RFC 2387)
          to lib/misc/mediatype.c. These are not supported,
          but treated as multipart/mixed.
        - Handle IPv6 URLs (RFC 2732) on List-* -header fields, 
          so that they do not give parsing error. IPv6 addresses
          are not supported however.
          RFC 2732: Format for Literal IPv6 Addresses in URL's
        - Changed "elmregister unstage" so that it does not print
                bin/elmregister: Ignoring entry 
                /usr/local/lib/elmaliases-write -- 
                not in stage area (/usr/local/var/stage-elmme+2.5)
          messages (without -v (verbose) option).
        - Changed "elmregister replay" so that it does not print
                bin/elmregister: (/usr/local/lib/elm.filelist) 
                Keeping link usr/local/man/cat1/wnewmail.1 from 
                old version (was usr/local/man/cat1/newmail.1)
          and
                bin/elmregister: (/usr/local/lib/elm.filelist) 
                Keeping file usr/local/lib/libelmme-mime.so 
                from old version
          messages (without -v (verbose) option).
        - Changed "elm -h" text.
        - Added '?' command to view folder -screen.
        - Moved implementation of '?' command to motion()
          function.
        - On elmregister remove temporary file after rename, if it still
          exists. This may happen, if hard link already existed between names.
        - Use pg_REVERSE for control characters on builtin
          pager.
        - Changed cs_stream_from_unknown() to use wcrtomb()
          instead of wcsrtombs(). That way null characters (L'\0')
          do not truncate string.
        - Added possible fix to  convert_to_wchar()
        - Added possible fix to cs_streamclip_from_unknown()
        - Added check that if Elm was reading file from standard input and 
          system charset (locale charset) was UTF-8, and read file did
          not looked like UTF-8 then use UNKNOWN-8BIT instead as charset.
        - Changed elm to return failure (nonzero status) if there is 
          error on conversion of characters in included file on command
               elm -i <filename> <address>
        - Added '?' command to Canceled mails -screen.
        - Added '?' command to threads view -screen.
        - Added '?' command to thread (as mailbox) view -screen.
        - Added '?' command to Visiting mailbox -screen. 
        - Fixed fastmail.
        - Moved needs_encoding() from src/mime.c to lib/misc/mimesend.c
        - Moved base64_encode(), line_quoted_printable_encode() and
          quoted_printable_encode() from src/mime_encode.c to
          lib/mailer/mime_encode.c
        - Changed fastmail so that it uses quoted-printable or base64
          encoding if needed.
        - Changed fastmail so that it adds Content-Type header field
          and charset parameter to it if needed. Type is assumed to
          be text/plain on most cases (given file is supposed to be
          text body of mail). However if content (and possible
          filename extension) matches to type given on mime.types
          file (or on global elm.mimetypes file or on built-in 
          definition) that type is used. Fastmail ignores definitions 
          which used filename extension alone. However if file looks like
          like binary, then application/octet-stream is used instead.
        - Added to fastmail a warning message:
                 In-reply-to header should include only message-id
          That message can be disabled with elmrc option 
          "add-in-reply-to-phrase".
        - Added to fastmail a warning message:
                 References header should include only one or more 
                 message-ids
        - Give error of -P option on fastmail includes 8-bit data.        
        - Fastmail printed incorrect To: header field. Changed that.
        - Added -t (content-type) option to fastmail. If fastmail
          detect something that it is not text, option -t text/plain
          can be used.
        - Allow setting character set with "-t ;charset=charset-value"
          option on fastmail.
        - Added check that if charset used on fastmail is UTF-8
          and read file did not looked like UTF-8 then use 
          UNKNOWN-8BIT instead as charset.
        - Moved is_utf8_charset() from src/screen/curses.c
          to lib/charset.c
        - Changed consideration when lines (of attachments) are
          normalized.
        - If content type is not textual, 7bit and 8bit encodings
          should not be used. Changed default encoding on these cases.
        - Warn if 7bit or 8bit encoding is used for non-textual types.
        - Fixed debug output on free_mailer_info()
        - Added header_references_have_phrase() to  lib/addr/references.c
        - Removed "answer" -program. During installation
          it is removed, if installed.
        - Added "elmregister remove-installed" which removes
          file if it is on elm.filelist. That is done on
          replay -phase (command "elmregister rm" removes
          also on earlier phase.)
        - Used "elmregister remove-installed" on removal of 
          answer program and manual page of it.
        - Added error/warning messages mpar_multipart_parse() for 
          case there is Content-Transfer-Encoding other than 7bit, 
          8bit or binary:
               PARSE ERROR: ... Content-Transfer-Encoding is ignored 
                     for multipart type
               PARSE ERROR: non-identity Content-Transfer-Encoding 
                     is ignored for multipart type
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported 
                     for multipart type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     unsupported for multipart type       
          Actual parsing of multipart type is not changed.
        - Added error/warning messages mpar_rfc822_parse() for 
          case there is Content-Transfer-Encoding other than 7bit, 
          8bit or binary:        
               PARSE ERROR: ... Content-Transfer-Encoding is ignored 
                     for message/rfc822 type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     ignored for message/rfc822 type
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported 
                     for message/rfc822 type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     unsupported for message/rfc822 type
          Actual parsing of message/rfc822 type is not changed.
        - Added error message for unknown Content-Transfer-Encoding
          values:
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported
        - Added that 
                message-hide-hack = FOLDER INTERNAL DATA
          elmrc option is used also on frm -program. 
        - Added that tls module prints message if IMAP or POP
          server's certificate verified. IMAP or POP server's
          name is NOT verified against used DNS name. First CN
          from server's certificate's subject is printed (often
          last (and only) CN is equivalent of used DNS name).
        - Added elmrc options to "tls:" section 
          "trusted-ca-certificates-file" and 
          "trusted-ca-certificates-dir".
          Option "tls:trusted-ca-certificates-file" gives 
          a file of CA certificates in PEM format. 
          Option "tls:trusted-ca-certificates-dir" gives
          a directory containing CA certificates in PEM 
          format. These option values are parameters
          of SSL_CTX_load_verify_locations().
          Default values of these options are set
          by  X509_get_default_cert_file() and
          X509_get_default_cert_dir().
        WARNING: tls module does not do server identity check
                 as required on RFC 2595.
                 tls module does not consult certificate
                 revocation list (CRL) when checking server's 
                 certificate (except perhaps from
                 directory given on option 
                 "tls:trusted-ca-certificates-dir")
        - Reimplemented elmrc variable "rand-file" on 
          "tls:" section as rc_DT_ESTR.
        - Added check that given rand-file is readable.
        - Reimplemented elmrc variable "rand-egd" on 
          "tls:" section as rc_DT_ESTR.
        - When values fail them are replaced with "none".
          Mark them changed so that it is saved to .elmrc.
          That replaces default value with explicit "none"
          if default value is not working.
        - Changed that StreamInfo() takes also struct string
          argument.
        - Added function == SS_verify to StreamInfo()
        - Fixed problem where elmrc options of shared 
          libraries was not initialized when they was
          printed with "elm -w".
        - Added possible fix to get_option_type()
        - Changed add_bytes() on elmregister so that 
          it reports filename on failed read.
        - Changed add_bytes() so that it handles 
          unexpected EOF better.
        - Changed file and folder browser so that it does 
          not show {mailbox}.lock files. Elm ME+ style file and folder 
          browser shows 'L' letter in correspond mailbox instead. 
          If correspond mailbox file is missing then {mailbox}.lock
          files are shown. Elm 2.5 style file browser
          do not show 'L' letter on mailboxes (and not
          shown  {mailbox}.lock if {mailbox} file exists).
        - Added is_lockname() to lib/mbox/mk_lockname.c
        New files:
                src/command/view_foldercmd.c
                src/command/canceledmailcmd.c
                src/command/threadcmd.c
                src/command/onethreadcmd.c
                src/command/visit_mailboxcmd.c
                lib/misc/mimesend.c
                lib/mailer/mime_encode.c
        Removed files:
                utils/answer.c
                doc/answer.1
                hdrs/s_answer.h
                nls/C/C/C/s_answer.m

Changes on Elm ME+ 2.5 PLalpha25 compared with Elm ME+ 2.5 PLalpha24

        SUMMARY: This release fixes some bugs, changes help
                 implementation (on many screens) and adds 
                 help to several screens. It makes body 
                 searches of mails interruptible. There is 
                 several new header fields listed on default 
                 weedlist. This release adds attach/inline 
                 -column to Attachment Menu -screen. Now some 
                 messages are printed on bold text when 
                 built-in pager is used. Also some other
                 changes are included.
        - Fixed problem where "Mail Pre-Send Screen" prints
          extra ";" after address before group alias.
        - Allow canceling of message body search (command '//')
          with Ctrl-C (interrupt character) on systems
          which supports POSIX sigaction:
              Searching folder for pattern...
        - Added cancel_progress() to lib/cancel.c
        - Renamed 'struct chancel_data' to 'struct cancel_data'
        - Added  refresh_cancel_message() to lib/cancel.c
        - Fixed problem where converting pgp mail charset
          did not worked, when replying.
        - Changed listing on folder / file browser.
        - Made small changes to locking.
        - Added "Thread-Topic:", "Thread-Index:", "X-MS-Has-Attach:"
          and "X-MS-TNEF-Correlator:" to default weedlist. These 
          headers are generated by Microsoft Exchange.
        - Added "Content-Language:" and "Content-Disposition:" 
          to default weedlist.
        - Added "Precedence:" and "Errors-To:"  to default weedlist.
        - Added "X-MIME-Autoconverted:" to default weedlist. This 
          header is generated by Sendmail and  Elm ME+ 2.5.
        - Added "User-Agent:" to default weedlist.
        - Added "Delivered-To:" to default weedlist. This 
          header is generated by Postfix.
        - Changed "Keep unread message in incoming mailbox?" question
          to take account also other mailboxes than incoming mailbox.
          (See also "extra-mailbox-dir" elmrc option.) 
        - Changed "Folder unchanged." message to take account situation
          where there is open several folders.
        - Changed prompting of questions on sync_mbox()
        - Added attach/inline -column to Attachment Menu -screen.
        - Changed help text of 'v' command from
              View attachments in current message.
          to
              View MIME structure (attachments) in current message.
        - Added 'k' (kilo) and 'M' (mega) suffixes to size column
          on Attachment Menu -screen.
        - Added ^D (Ctrl-D) to toggle delivery notification on
          Mail Pre-Send Screen. This toggle enables all delivery 
          notifications, but disables only SUCCESS notification. 
          D)SN command gives screen where that can be enabled, but 
          that gives simple way. 
        - Changed implementation of command help.            
        - Changed help listing of mailbox and (meta)pager commands
          so that files "help-pager" and "help-main" is not used.
          Instead same internal data is used both of single command
          help and command listing.
        - Built-in pager is used to display internal 'help-file'. 
        - Added to E)xtended command -menu also '?' (help) command,
          because that same command list is also used to generate
          prefixed listing on main command help.
        - Added terminal control characters (such as job control)
          to  main command help. These are not shown in single command
          help, but they are listed on command key listing.
        - Added to List I)info -menu '?' (help) command. 
        - Added to Generic R)eply -menu '?' (help) command. 
        - Added '?' command to A)ssemble message fragments -screen.
          This is almost same that main mailbox screen.
        - Changed A)ssemble message fragments -screen so  that
          'i' and 'q' only are "Return to index" and Ctrl-Q, 'Q', 'x' and 'X'
          are also exists on caller's main_message_loop().
        - Changed Assemble message fragments -screen so  that
          'c' does c)hange folder -command on caller's 
          main_message_loop().
        - These actions on A)ssemble message fragments -screen are not
          available if this screen is called from V)iew digest as mailbox
          -screen.
        - Added '?' command to V)iew digest as mailbox -screen.
        - Some built-in pager changes.
        - Added to stringbuffer some flags which are used by built-in pager.
        - Added set_out_state_line_pg_flags() to lib/state_out.c
        - Changed implementation of built-in pager help.
        - Added (meta)pager commands to built-in pager help.
          The ordinary built-in pager commands are shown with
          bold text on built-in pager help so they are visually
          distinct from (meta)pager commands.
        - Made small change to ConfTool/Substitute
        - Added '?' command to duplicate removal (Ed) -screen. 
          This is almost same that main mailbox screen.
        - Changed duplicate removal (Ed) -screen so  that
          'i' and 'q' only are "Return to index" and Ctrl-Q, 'Q', 'x' and 'X'
          are also exists on caller's main_message_loop().
        - Changed duplicate removal (Ed) -screen so that
          'c' does c)hange folder -command on caller's 
          main_message_loop().
        - Fixed message
                'protocol' paramater is missing from multipart/encrypted -type!
          to
                'protocol' parameter is missing from multipart/encrypted -type!
        - Changed that texts
                [ There is text before PGP section. ]
                [ PGP not available, raw data follows ]
                [ Decrypting message... Bad PGP passphrase. ]
                [ Decrypting message... Failed to init PGP. Raw data follows. ]
                [ Decrypting message... End of raw data. ]
                [ Content-Type: multipart/signed not parsed ]
                [ Content-Type: multipart/signed, no subtypes ]
                [ 'protocol' parameter is missing from Multipart/Signed -type! ]
                [ Content-Type: multipart/encrypted not parsed ]
                [ Content-Type: multipart/encrypted, no subtypes ]
                [ 'protocol' parameter is missing from multipart/encrypted -type! ]
                [ Content-Type: multipart/alternative not parsed ]
                [ Content-Type: multipart/alternative, no subtypes ]
                [ multipart_alternative: seek failed ]
                [ Selecting attach: "..." ]
                [ Selecting part: "..." ]
                [ Selecting attach: Filename: ... ]
                [ Selecting part: Filename: ... ]
                [ Selecting attach: Type: .../..., Encoding: ..., Size: ... ]
                [ Selecting part: Type: .../..., Encoding: ..., Size: ... ]
                [ Type: .../..., Encoding: ..., Size: ... ]
                [ Content-Type: multipart/alternative, alternative not found ]
                [ multipart_decode: seek failed ]
                [ Attach #.../...: "..." ]
                [ Part #.../...: "..." ]
                [ Attach #.../...: Filename: ... ]
                [ Part #.../...: Filename: ... ]
                [ Attach #.../...: Type: .../..., Encoding: ..., Size: ... ]
                [ Part #.../...: Type: .../..., Encoding: ..., Size: ... ]
                [ Content-Type: multipart/mixed not parsed ]
                [ Parts #...-.../...: Type: text/plain, Size: ... ]
                [ Content-Type: multipart/* not parsed ]
                [ Content-Type: multipart/*, no subparts ]
                [ nomime_decode: seek failed ]
                [ rfc822_decode: seek failed ]
                [ Content-Type: message/rfc822 not parsed ]
                [ rfc822_decode: no body of RFC 822 mail ]
                [ Charset ... ignored, treated as ... ]
                [ Charset ... unsupported, skipping... ]
                [ Use 'v' to view or save this part. ]
                [ You can also use 'O' to override charset information. ]
                [ Charset ... converted... ]
                [ Charset ... unsupported, converting... ]      
                [ You can also use 'v' to view or save this part. ]
                [ Unsupported encoding, skipping... ]
                [ Use 'v' to save this part in encoded form. ]
                [ Failed to create file for decoding. ]
                [ Error when flushing temporary file. ]
                [ .../... is unsupported, treating like TEXT/PLAIN ]
                [ .../... is not supported, skipping... ]
                [ mime_decode: no handler selected ]
                [ mime_decode: seek failed ]
                [ Type .../... treated as attachment, skipping... ]
                [ Attachment, skipping...  Use 'v' to view this part. ]
                [ Attachment, skipping... ]                              (*)
                [ simple_mime_walk:  seek failed ]
                [ Command 'A' assembles fragmented messages. ]
                [ Message fragment. ]
                [ Message fragment, part ... ]
                [ Message fragment, corrupted. ]
                [ No text in PGP section. ]
                [ Binary file, but does not look like PGP ]
                -- Start of PGP encoded section -- can't decode content-transfer-encoding
                -- Start of PGP signed section -- can't decode content-transfer-encoding
                -- Start of PGP section -- can't decode content-transfer-encoding
                [ No text in PGP encoded section ]
                [ No text in PGP signed section ]
                [ PGP not available, skipping... ]
                [ PGP not available, raw data follows ]
                [ Decrypting message... Bad PGP passphrase. ]
                [ Internal error while calling pgp, skipping... ]
                [ Internal error while calling pgp, raw data follows ]
                [ End of raw data. ]
                -- Start of PGP encoded section.
                -- Start of PGP encoded section, PGP failed!
                -- Start of PGP signed section.
                -- Start of PGP signed section, PGP failed!
                -- Start of PGP output.
                -- Start of PGP output, PGP failed!
                -- Start of PGP section.
                -- Start of PGP section, PGP failed!
                [ Error when flushing temporary file. ]
                -- End of PGP encoded section.
                -- End of PGP encoded section, PGP failed!
                -- End of PGP signed section.
                -- End of PGP signed section, PGP failed!
                -- End of PGP output.
                -- End of PGP output, PGP failed!
                -- End of PGP section.
                -- End of PGP section, PGP failed!
                [ pgp_SG_decoder: seek failed ]
                [ Checking application/pgp-signature: OK ]
                [ Checking application/pgp-signature: FAILURE ]
                Checking application/pgp-signature: FAILURE            (*)
                [ pgp_EC_decoder: seek failed ]
                [ Signature of this part do not match to type. ]
                [ Signature of this part do not match to type. Part skipped. ]
                [ BASE64 data was corrupt! ]
                [ UUENCODED data was corrupt! ]
                [ Seems that QUOTED-PRINTABLE data was corrupted. ]
                [ Signature .../... is unsupported, not checked ]
                [ Encryption .../... is unsupported ]
                -- Start of (Elm) encoded section.
                -- End of (Elm) encoded section.
                -- Start of included mail From: ...
                -- Start of included mail.
                -- End of included mail.
                [ Use 'Rl' to reply to list or 'I' for list info. ]
                [ You can use 'I' for list info. ]
          are shown on bold text (when using built-in pager).
          (*) Not actually printed to built-in pager.
        - Added small possible fix on pgp_decode(), pgp_EC_decoder()
        - Fixed crash on --icon-name=xxx command line option.
        - Changed that folder display name is shorter and --with-title 
          uses shorter titles on case, where folder is on "extra-mailbox-dir"
          and that is under home directory.  
        - Fixed problem where "frm -q file" did not printed number of
          messages.
        - Changed help listing of alias commands so that file "help-alias"
          is not used.  Instead same internal data is used both of single 
          command help and command listing.
        - Fixed nls Makefile elm2.4me+.cat to elmme+2.5.cat. 
          catopen() uses "elmme+2.5"
        - Added '?' command to "Mail Pre-Send Screen".
        KNOWN PROBLEMS:
        - Command 'x' is reported on (meta)pager commands as
          "exit leaving the folder untouched, ask permission if changed.".
          In all situations this command does not close folder and
          exit elm as text says implicitly. Sometimes it just quits current
          mailbox screen (view).
        - Built-in pager help lists 'x' command from (meta)pager commands
          although same letter ('x') is listed also on ordinary built-in 
          pager commands.
        - Changed that send_view_folder() may return EOF
        - Changed that help() may return EOF
        - Changed that partial_loop(), ViewPartial() 
          may return EOF
        - Changed that alias() may return EOF
        - Changed that duplicate_loop(), ViewRemoveDuplicate()
          may return EOF
        - Changed that extended_command() may return EOF
        - Changed that ViewThreads() may return EOF
        - Changed that  thread1_loop(), ViewThread1() 
          may return EOF
        - Changed that display_file(), display_helpfile()
          may return EOF
        - Fixed compilation error message:
            localmbx.c: In function `fbrowser_make_directory':
            localmbx.c:2996: warning: variable `str' might be clobbered 
                by `longjmp' or `vfork'
            localmbx.c:2998: warning: variable `long_name' might be clobbered 
                by `longjmp' or `vfork'
            localmbx.c:3002: warning: variable `ret' might be clobbered 
                by `longjmp' or `vfork'
            syscall.c:233: warning: variable `sh' might be clobbered 
                by `longjmp' or `vfork'
        - Changed address hurtta+elm@posti.fmi.fi
          to hurtta+elm@siilo.fmi.fi
        - Fixed program_name -variable from "elmaliases-write"
          to "newalias" on newalias.c         
        New files:
                src/command/def_command.h
                src/command/Makefile.SH
                src/command/maincmd.c
                src/command/command.c
                nls/C/C/C/s_command.m
                hdrs/s_command.h
                src/command/pagercmd.c
                src/command/extendedcmd.c
                src/command/listinfocmd.c
                src/command/genericreplycmd.c
                src/command/partialcmd.c
                src/command/digestcmd.c
                src/command/builtincmd.c
                src/command/duplicate_removalcmd.c
                src/command/aliascmd.c
                src/command/sendcmd.c
        Removed files:  
                doc/help-main
                doc/help-pager
                doc/help-alias

Changes on Elm ME+ 2.5 PLalpha24 compared with Elm ME+ 2.5 PLalpha23

        SUMMARY: This release includes some code reorganization,
                 fixes some valgrind reported errors and some
                 other bugs. This release fixes incorrect setting
                 of In-Reply-To in canceled mail.
        - Avoid possible use of uninitialized variable on 
          error case of pgp_decrypt_init().
        - Fixed valgrind reported error
           Conditional jump or move depends on uninitialised value(s)
             at 0x8119317: give_media_type2 (mediatype.c:310)
             by 0x811957B: give_media_type (mediatype.c:269)
             by 0x81071B2: read_mailcaps (mailcap.c:862)
          and
            Conditional jump or move depends on uninitialised value(s)
             at 0x8118FDF: register_mt_defhandler (mediatype.c:392)
       - Fixed valgrind reported error
          Conditional jump or move depends on uninitialised value(s)
             at 0x81AFCB8: convert_number (output.c:314)
             by 0x81B3889: elm_smessage (output.c:768)
             by 0x81010AD: menu_Write_to_screen (screen.c:197)
             by 0x8092482: mailbox_command (elm.c:1606)
         and
          Use of uninitialised value of size 4
             at 0x81AFE0E: convert_number (output.c:375)
             by 0x81B3889: elm_smessage (output.c:768)
             by 0x81010AD: menu_Write_to_screen (screen.c:197)
             by 0x8092482: mailbox_command (elm.c:1606)
         and
          Conditional jump or move depends on uninitialised value(s)
             at 0x81AFE17: convert_number (output.c:377)
             by 0x81B3889: elm_smessage (output.c:768)
             by 0x81010AD: menu_Write_to_screen (screen.c:197)
             by 0x8092482: mailbox_command (elm.c:1606)
       - Fixed valgrind reported error (on readmsg)
          32,143 (5,292 direct, 26,851 indirect) bytes in 362 
               blocks are definitely lost in loss record 13 of 18
            at 0x4026FDE: malloc (vg_replace_malloc.c:207)
            by 0x81053B0: safe_malloc (safemalloc.c:52)
            by 0x80CA694: new_message_id (message-id.c:33)
            by 0x80C98F5: parse_tokenized_message_id (getid.c:209)
            by 0x80CA016: parse_header_message_id (getid.c:261)
            by 0x80BED69: read_folder_headers_helper (headers.c:121)
            by 0x80BF135: read_folder_headers (headers.c:239)
            by 0x8086603: prepare_message_access (mbox.c:1438)
            by 0x805CFAD: give_message_from_normal (folder.c:280)
            by 0x805CB06: give_message_from_folder (wrapper.c:83)
            by 0x805A94B: print_index_message (readmsg.c:315)
            by 0x805BB8C: main (readmsg.c:860)
       * But there is still other leaks !!
       - Documented elmrc option 'mailer' values 'sendmail-bs' and 
         'submission' on doc/elmrc-info (used with 
         use-mailer-library = smtp).
       - Added possible fix for valgrind reported error
           Invalid read of size 1
             at 0x80D7570: get_return_name (reply.c:781)
           Address 0x4b7d6c7 is 1 bytes before a block of size 18 alloc'd
             at 0x4026FDE: malloc (vg_replace_malloc.c:207)
             by 0x81C16EB: safe_strdup (safemalloc.c:84)
             by 0x80D7263: get_return_name (reply.c:679)
       - Moved struct out_state from  hdrs/elmlib.h
         to hdrs/state_imp.h
       - Fixed valgrind reported error
         Conditional jump or move depends on uninitialised value(s)
           at 0x4106CE0: elm_smessage (output.c:695)
           by 0x4107B87: lib_error (output.c:1438)
           by 0x492523E: smtp_common_mailer_backend (smtp.c:1091)
       - Changed implementation of struct in_state (this
         is more just placeholder to new types)
       - Moved struct in_state from  hdrs/elmlib.h
         to lib/state_in.c
       - Added new_in_state() and free_in_state()
         to lib/state_in.c
       - Moved init_si_file() from lib/state.c
         to lib/state_in.c
       - Moved dest_si_file() from lib/state.c
         to lib/state_in.c 
       - Removed in_state_clear() and in_state_destroy()
         from lib/state.c
       - Moved set_in_state_file() from lib/state.c
         to lib/state_in.c 
       - Moved in_state_seekable() from lib/state.c
         to lib/state_in.c 
       - Moved in_state_fseek() from lib/state.c
         to lib/state_in.c 
       - Moved in_state_ftell() from lib/state.c
         to lib/state_in.c 
       - Moved state_getc() from lib/state.c
         to lib/state_in.c 
       - Moved getc_si_file() from lib/state.c
         to lib/state_in.c 
       - Moved state_ungetc() from lib/state.c
         to lib/state_in.c 
       - Moved ungetc_si_file from lib/state.c
         to lib/state_in.c 
       - Moved state_gets() from lib/state.c
         to lib/state_in.c 
       - Moved gets_si_file() from lib/state.c
         to lib/state_in.c 
       - Moved state_getl() from lib/state.c
         to lib/state_in.c 
       - Moved getl_si_file() from lib/state.c
         to lib/state_in.c 
       - Changed implementation of struct out_state
       - Added new_out_state() and free_out_state() 
         to lib/state_out.c
       - Removed out_state_clear() from lib/state.c
       - Removed register_state_out_type() from lib/state.c
       - Removed init_so_external() from lib/state.c
       - Moved init_so_file() from lib/state.c
         to lib/state_out.c
       - Removed out_state_destroy() from lib/state.c
       - Moved dest_so_file() from lib/state.c
         to lib/state_out.c
       - Moved out_state_seekable() from lib/state.c
         to lib/state_out.c
       - Added seekable_so_file() to lib/state_out.c
       - Moved out_state_FILE() from lib/state.c
         to lib/state_out.c
       - Added FILE_so_file() to lib/state_out.c
       - Moved out_state_fseek() from lib/state.c
         to lib/state_out.c
       - Added seek_so_file() to lib/state_out.c
       - Moved out_state_ftell() from lib/state.c
         to lib/state_out.c
       - Added ftell_so_file() to lib/state_out.c
       - Moved flush_filter() from lib/state.c
         to lib/state_out.c 
       - Added dummy flush_filter_so_file() to lib/state_out.c
       - Added policy_so_file() to lib/state_out.c
       - Moved state_puts() from lib/state.c
         to lib/state_out.c 
       - Moved state_nlputs() from lib/state.c
         to lib/state_out.c 
       - Moved state_convert_EOLN() from lib/state.c
         to lib/state_out.c 
       - Moved convert_filter() from lib/state.c
         to lib/state_out.c 
       - Moved state_putc() from lib/state.c
         to lib/state_out.c 
       - Moved putc_so_file() from lib/state.c
         to lib/state_out.c 
       - Moved state_put() from lib/state.c
         to lib/state_out.c 
       - Moved put_so_file() from lib/state.c
         to lib/state_out.c 
       - Moved state_printf() from lib/state.c
         to lib/state_out.c 
       - Added out_state_EOLN_is_CRLF() to lib/state_out.c
       - Added get_out_state_filter() and 
         get_out_state_f_MIME_name() to  lib/state_out.c
       - Added get_out_state_charset_vector() to
         lib/state_out.c
       - Added set_out_state_filter() to lib/state_out.c
       - Added get_out_state_cv_MIME_name() to lib/state_out.c
       - Added set_out_state_cs_from_state() to lib/state_out.c
       - Added set_out_state_cs() to lib/state.c       
       - Added set_out_state_EOLN() to lib/state_out.c
       - Added out_state_ferror() to lib/state_out.c
       - Moved init_so_buffer() from lib/state.c 
         to lib/state_out_buffer.c
       - Moved dest_so_buffer() from lib/state.c 
         to lib/state_out_buffer.c
       - Moved set_out_state_sbuffer() from lib/state.c 
         to lib/state_out_buffer.c
       - Added seekable_so_buffer() to lib/state_out_buffer.c
       - Added FILE_so_buffer() to lib/state_out_buffer.c
       - Added dummy seek_so_buffer()
         to lib/state_out_buffer.c
       - Added dummy fteel_so_buffer()
         to lib/state_out_buffer.c
       - Added flush_filter_so_buffer() to lib/state_out_buffer.c
       - Added policy_so_func() to lib/state_out_buffer.c
       - Added dummy putc_so_buffer() to lib/state_out_buffer.c
       - Added dummy put_so_buffer to lib/state_out_buffer.c
       - When message was canceled, References -header was stored as
         In-Reply-To -header.
        New files:
                lib/state_in.c
                lib/state_out.c
                lib/state_out_buffer.c

Changes on Elm ME+ 2.5 PLalpha23 compared with Elm ME+ 2.5 PLalpha22

        SUMMARY: This release includes some code cleanup and
                 fixes or mitigates a bug, which causes folder 
                 corruption, when Elm ME+ is run under valgrind.
                 This release also fixes some other bugs.
        - Added printing of error message
                 Use make package ROOT=/directory   
          in case where 
                make install DEST=/directory   
          or
                make install DESTDIR=/directory
          command is given (i.e. if $(DEST) or $(DESTDIR) is set).
         NOTE: "package" target must be enabled first with Configure.
                If "package" is used to build package, command
                        elmregister replay -M all
                must be used after extraction of package
                to finish installation. Instructions are put
                to file $ROOT/README.PACKAGE.sh 
                On directory $ROOT command 
                        ./README.PACKAGE.sh
                or
                        .../elmregister replay -M all -R `pwd`
                can be used to move files to final place.
        - Added -M all option to example on elmregister manual
          page.
        - Added printing of error message
                Superuser privilege required
          in case where 
                .../elmregister replay -R directory
          is run as non root and opening of elm.filelist
          on target fails with EPERM or EACCES.
        - Added printing of error message
                Superuser privilege required
          in case where 
                elmregister master
          is run as non root on "make install" and opening 
          of elm.filelist fails with EPERM or EACCES.
        - Added more detailed documentation to elmregister 
          manual page.
        - Fixed usage of wrong variable on cs_cmp_iso2022_gen()
        - Moved struct charcode_info from hdrs/elmlib.h
          to hdrs/cs_imp.h
        - Added get_charset_MIME_name() and get_charset_type()
          to lib/charset.c
        - Added get_string_charset_type() to lib/string.c
        - Moved struct string from hdrs/elmlib.h
          to hdrs/cs_imp.h
        - Added get_string_type() lib/string.c
        - Fixed valgrind reported error
         Conditional jump or move depends on uninitialised value(s)
            at 0x81AED26: mail_gets (mail_gets.c:48)
        * This bug was fixed on Elm 2.4ME+ PL118 (25)
          but seems that fix was lost on somewhere.
        - Fixed or mitigated a bug, which causes folder corruption, 
          when Elm ME+ is run under valgrind. Now folder saving 
          fails instead (without corrupting it).
        NOTE: Exact reason of folder corruption is unknown,
              but seems that sometimes different file positions
              are recorded when  Elm ME+ is run under valgrind. 
        - Changed mark_keep_folder() so that it returns status
          of succeed or failure
        - Added end_keep_folder_failure() to lib/mbox/mbox.c
        - Fixed stringbuffer that builtin pager does not truncate
          lines which includes \0 characters.
        - Added check to configure that if dnsdomainname returns
          empty answer.
        - Changed Configure to use /usr/bin/editor as default 
          editor if available.
        - Added prototype to try_dyn.c on Configure
        - Added test to Configure to look look EWOULDBLOCK from 
          /usr/include/asm-generic/errno.h on Linux
        - Fixed some warnings of compilation on Ubuntu 9.04.
        - If configure is set DEFAULT_MAILER_PATH to "none"
          and it is on use, print message runtime:
                Give "mailer" on RC file: <path>
        - Fixed compilation of nls/gencat/
        - Changed location of "[Mlists Off]" and "[Mlists On]"
          messages on M)lists command.
        - Added check that error message
                Mailer path for unknown not specified
          is not printed when initializing default mailer.

Changes on Elm ME+ 2.5 PLalpha22 compared with Elm ME+ 2.5 PLalpha21

        SUMMARY: This release adds Elm 2.5 style file browser
                 with some additions. This is available for local 
                 files. Elm ME+ style file and folder browser
                 are still available for all cases (for example
                 for IMAP folders). This release also adds couple
                 of elmrc options related to the new file browser
                 and some commands for function keys. These are
                 specially used on the Elm ME+ style browser.
                 This release also adds some other changes
                 and fixes.
        - Fixed debug output on scommon_ClearScreen()
        - Fix sorting directory messages of local directory
        - Do not use erase_a_char() on enter_helper()
          -- usage is not correct.
        - Removed can_access(). In most of places can_open()
          is used instead. Also access() uses real uid and gid
          anyway and Elm does not use setreuid/setregid for 
          uid/gid swapping.
        - Fixed do_movement1(). This fixes updating of attachment 
          list when pressing UP key and current attachment is 
          changed to previous page (when there is more attachments
          than to one page fits.)
        - Moved part of options screen handling from src/options.c
          to src/opt_generic.c. This allows several options screens.
        - Added Elm 2.5 style file browser. On most places 
          however Elm 2.4ME+ style file and folder browser 
          is used.                                         [L1] [L2] 
        - If there is default extension given for saving
          of file and selected file does not match, then
          Elm 2.5 style file browser returns to Elm ME+
          style browser for filename completion.
        - Command 'f' on Elm 2.5 style file browser 
          fills default filename and  returns to Elm ME+
          style browser.
        - Command '$' on Elm 2.5 style file browser
          resynchronizes directory.
        - Implemented options menu on Elm 2.5 style file browser
          with generic option handling routines (src/opt_generic.c).
        - Command 'm' on Elm 2.5 style file browser creates
          new directory.
        - Added help file (doc/help-fbrowser) for Elm 2.5 style 
          file browser. Most of text is from Elm 2.5.7.    [L3]
        - Added elmrc option "file-browser-show-dotfiles". If
          this is set, .dotfiles are shown on Elm 2.5 style 
          file browser  (.dotdirectories are always shown).
        - Added elmrc option "file-browser-sortby". This specifies
          sorting order for Elm 2.5 style file browser.
          Possible values are "none", "name" and "mtime" 
          (and also "reverse-name" and "reverse-mtime").
          Default values is from elmrc option 
          "local-dir-sortby".
        - Added elmrc option "file-browser-show-title". If
          this is set (default is userlevel = 0), title of 
          columns is shown on  Elm 2.5  style file browser.
        - Added elmrc option "file-browser-show-protection". 
          If this is set (default), permission and owner 
          columns are shown on Elm 2.5 style file browser.
        - Added missing header_param_changed() -hook call
          to menu_header_change()
        - Moved struct IMAP_BROWSER from hdrs/mbx_imp.h
          to lib/mbox/imap.h
        - Moved struct LOCAL_BROWSER from hdrs/mbx_imp.h
          to lib/mbox/localmbx.c 
        - Moved struct DUMMY_BROWSER from hdrs/mbx_imp.h
          to lib/mbox/savefolder.c;
        - Moved mode_to_str() declaration from
          hdrs/rc_imp.h to hdrs/elmlib.h
        - Added get_browser_sel_type() to lib/mbox/savefolder.c
        - Added dir_give_filter() to lib/mbox/savefolder.c
        - Added fbrowser_give_entry() to lib/mbox/localmbx.c
        - Added dir_reset_filter() to lib/mbox/savefolder.c
        - Added dir_give_count() to lib/mbox/savefolder.c
        - Added dir_give_wildcard() to lib/mbox/savefolder.c
        - Added dir_change_filter() to lib/mbox/savefolder.c
        - Added dir_cat_filename() to lib/mbox/savefolder.c
        - Added reload_dir() to lib/mbox/savefolder.c
        - give_line_dir() on lib/mbox/savefolder.c returns now
          also possible comment text.
        - Elm ME+ style folder and file browser shows now
          comments on default directory.
        - Changed elmrc option "browser-wildcard-matching".
          Values are:
              off       Disables wildcard feature and therefore 
                        allows selecting filenames that include '?' 
                        or '*' characters.
              on        Enables wildcard feature. Characters '*' 
                        and '?' are treated as wildcards. Pressing 
                        ENTER gives directory listing limited with 
                        that wildcard specification on Elm ME+ style 
                        file and folder browser.
              file browser
                        Enables wildcard feature. Characters '*' 
                        and '?' are treated as wildcards. Pressing
                        ENTER invokes Elm 2.5 style file browser
                        with files (not directories) limited with 
                        that wildcard specification.
          With values "on" or "file browser" pressing TAB gives 
          directory listing limited with that wildcard specification on 
          Elm ME+ style file and folder browser.
        - Moved enter_helper() from src/in_utils.c
          to src/enter_helper.c
        - Moved some fields from struct enter_info to
          struct in_utils_edit, struct builtin_edit and
          struct browser_edit.
        - Also threat local directory names without ending / as
          directory prefixes on browser.
        - Added special handling of  "." and ".." on change_v_local()
        - Added mailbox format check from Elm 2.5 style file browser
          also to Elm 2.4ME+ style file and folder browser. Check
          is used when Elm 2.5 style file browser is supported.
        - Added rewinddir() to browser_fill_local()
        - Added support for 
                elm -f local_directory
          command. That command calls Elm 2.5 style file browser.
          Therefore command
                elm -f .
          works (again). However on Elm 2.4 ME+ this starts
          Elm ME+ style folder browser.
        NOTE: Command
                elm -f ''
          starts Elm ME+ style folder browser.
        - Added elm version string to (Elm ME+ style) file and
          folder browser titles.
        - Added some support to function keys F1 - F12. 
                - Function key F3 (PF3 on VT100 ?) toggles
                  menu on/off (as command  line option -m
                  disables menu)
                - Function key F4 (PF4 on VT100 ?) toggles 
                  between Elm ME+ style and Elm 2.5 style 
                  file browser.
                - Function key F5 reloads directory on 
                  file and folder browser.
                - Function key F6 fills default filename
                  on file browser.
        - Made some updates on help files.
        - Replaced some calls of give_title_dir() with
          dir_give_count() in browser.c
        - Fixed some unknown command messages in case of 
          non-letter key is pressed.
        - Changed prototype of give_line_dir()
        - Added  toggle a)ttachment -command to
          Attachment Configuration -menu.
        - Added disabling of menu automatically, if there is 
          too few lines on screen, to 
                - Aliases mode -screen, 
                - Digest -screen,
                - Canceled mails -screen,
                - Assemble message fragments -screen 
                - Viewing folder -screen (on m)ail command),
                - viewing of one thread screen,
                - d)uplicate removal mode -screen, 
                - E)xtended command -screen (*), 
                - Generic reply -screen (*), 
                - List info -screen (*),
                - URL selection screen (*), 
                - Alias info -screen (change screen) (*), 
                - MIME structure Menu (*), and
                - Elm 2.5 style folder browser screen.
          (*) On E)xtended command -screen, Generic reply -screen 
              List info -screen, URL selection screen, 
              Alias info -screen (change screen), and
              MIME structure Menu command  line option -m do not 
              disable menu.
          That is similar than on disabling of menu automatically
          on main mailbox screen and some other screens.
        - Added function key F3 to disable/enable menu on
                - main mailbox screen,
                - Aliases mode -screen,
                - Digest -screen,
                - Canceled mails -screen,
                - Assemble message fragments -screen,
                - Viewing folder -screen (on m)ail command),
                - thread screen,
                - viewing of one thread screen,
                - d)uplicate removal mode -screen, 
                - Elm 2.5 style folder browser screen, and
                - Visiting mailbox -screen (on Mailing list I)nfo command).
        - Added function key F4 to jump between Elm ME+ style and 
          Elm 2.5 style browsers.
        - Added function key F5 to provide reload or re-synchronize
          on browser:
                - On Elm ME+ style file and folder browser F5
                  reloads directory.
                - On Elm 2.5 style file browser F5 resynchronizes
                  directory. This is same than command '$'.
                - On main mailbox F5 resynchronizes folder.
                  This is same than command '$'.
                - On Alias mode -screen F5 resynchronizes aliases.
                  This is same than command '$'.
                - On Canceled mails -screen F5 resynchronizes 
                  folder. This is same than command '$'.
        - Added function key F6 to provide default filename
          on file browser:
                - On Elm ME+ style file browser F6 fills buffer
                  with current directory and default filename,
                - On Elm 2.5 style file browser F6 fills buffer
                  with default filename and returns to Elm ME+
                  style browser. This is same than command 'f'.
        - Changed option menu so that "M)enu display " line shows 
          elmrc value and not toggled valued with F3 function key
          or -m command line option.
        - Fixed redraw loop on E)xtended command -screen on resizing
          of screen.
        - hdrs/Makefile now also copies s_*.h files from source directory
          to build directory, if on source there is newer files. There
          may be on build directory have old files, which have build
          with nls/Makefile (on build directory).
        - Call panic if wrong argument is called for %S format.
        - Added commands to Elm help file (help-main) which
          was lost on transition of elm-help.0 help file.
        - Moved common routines (real_*() routines) for 
          dummy_browser and local_browser from lib/mbox/savefolder.c
          to lib/mbox/common_local.c
        - Symbolic links are listed as 
                linkname -> target
          on browser.
        - Fixed possible problem on mbx_move_temp_file()
          where stat and lstat buffers are used when they are
          uninitialized (when syscall failed).
        - Fixed problem where saving options did not 
          uncommented changed userlevel (or any other enumerated
          variable).
        - Fixed problem where turning OFF "M)enu display " on
          options editor do not disabled menu (assuming that
          mini menu is not toggled with F3 function key or -m
          command line option) when it is returned to mailbox 
          screen.
        - Changed error handling of local directory browser.
        - Check if fork() failed on can_open().
        - Fixed problem where error and transient messages did 
          not handled UTF-8 text correct.
        - Added possible fix for menu_set_default().
        - Added redrawing of browser window after enter, 
          because select_dir_item() trashes directory listing.
        - Changed prototype of select_dir_item().
        - Added extra-mailbox-dir for default directory of
          folder browser, if extra-mailbox-dir is under home 
          directory.
        - Only add '<' (=sent folder) and '>' (=received folder) to
          default directory of folder browser only if they are
          readable.
        - When forwarding and forwarded message is included
          and mimebodykeywords is set, quote [ characters
          (starting keywords).      
        - Moved fields displaying and prefix from struct out_state
          to struct decode_opts.
        - Check on Configure if crypt.h is available
        - Changed error handling on opening of mailbox.
        - Changed cur_PutLine() on src/screen/curses.c 
          so that it prints SOFT HYPHEN as HYPHEN-MINUS 
          (or skips SOFT HYPHEN) and prints NO-BREAK SPACE as space.    
        - Fixed so that ioctl() on cur_ScreenSize() uses terminal_fd
          variable and not constant 1 as file description.
        - Changed UNICODE_BAD_CHAR constant to be 0xFFFD
          (REPLACEMENT CHARACTER on Unicode) -- was 0xFFFF.
        - Changed MAPPING_NONE constant to UNICODE_BAD_CHAR
        - Changed cur_PutLine() on lib/screen/curses.c 
          so that it prints UNICODE_BAD_CHAR as bold
          question mark if current character set is not
          Unicode (i.e. UTF-8).
        New files:
                src/fbrowser.c
                nls/C/C/C/s_fbrowser.m
                nls/gencat/Makefile.SH
                hdrs/fbrowser.h
                lib/mbox/mbox_generic.c
                src/enter_helper.c
                hdrs/browser.h
                doc/help-fbrowser
                hdrs/s_fbrowser.h
                lib/mbox/common_local.c
                hdrs/mbxlocal_imp.h
                src/fb_options.c
                src/opt_generic.c
                doc/help-fboptions
                melib/decodeopts.c
        Removed files:  
                nls/gencat/Makefile
                lib/can_access.c
        New elmrc options:
                file-browser-show-dotfiles
                file-browser-show-protection
                file-browser-show-title
                file-browser-sortby
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [L1] Under the s)ave command, if you specify a pattern 
             you now get the new file selection browser instead of 
             an "ls -C" listing.  The file selection browser also 
             is started if you give a directory name.
        [L2] Under the c)hange command, if you specify a pattern 
             you now get the new file selection browser instead 
             of an "ls -C" listing.  The file selection browser 
             also is started if you give a directory name.
        [L3] Added file selection browser and attachments menu to 
             the message catalog.

Changes on Elm ME+ 2.5 PLalpha21 compared with Elm ME+ 2.5 PLalpha20

        SUMMARY: This release changes folder and file browser behaviour.
                 New elmrc option "browser-tabcomplete-prompt" is added.
        - Autofill filename on folder and file browser when enter is pressed
          (same as right key is pressed).  Then user is asked to 
          accept that filename by pressing enter second time.
        - When going up to directory tree with left key, set GB_FILL
          on file and folder browser. That way it works as opposite
          of right key.  With that change both right and left key
          always toggle GB_FILL flag and requires two left and
          right to walk up and down on directory hierarchy.
        - Also changed that GB_FILL is not toggled if directory changing
          fails with left or right keys.
        - If left or right key is pressed and action should be changing 
          of directory, check that current filename path of prompt 
          corresponds GB_FILL flag value. If not, then just filename 
          path of prompt without changing directory or changing GB_FILL 
          flag value.
        - If last character on filename is separator, ignore it when
          going up directory hierarchy
        - Do not fail give_edit_buffer() on empty directory
        - When pressing left key and directory was changed to
          upper directory on hierarchy, browser does locates
          correct entry from where it was entered.
        - Give TABulator on initial folder browser help text
        - Added -O option to Usage: -line of Configure
          (was not really added on Elm ME+ 2.5 PLalpha19)
        - Unified some code between folder and file browser
        - Complete filename on prompt with TABulator on folder and file 
          browser if elmrc option "browser-tabcomplete-prompt" is set 
          (default). Also cursor on file listing is changed to
         first match.
        NOTE: Complete with TABulator is active only if directory
              prefix on filename matches current directory of folder or
              file browser.
              If filename on prompt matches without completion to some entry 
              on directory, TABulator works as option "browser-tabcomplete-prompt" 
              is not set. That changes current directory of folder or
              file browser.
              If directory listing on folder is filtered then complete
              with TABulator works against that listing (and not against 
              a whole listing of directory).
        New elmrc options:
                browser-tabcomplete-prompt

Changes on Elm ME+ 2.5 PLalpha20 compared with Elm ME+ 2.5 PLalpha19

        SUMMARY: This release fixes error on submission (a kind of
                 SMTP) protocol implementation, crash on AIX and
                 a couple of  valgrind reported memory leaks. Also 
                 some other small changes or fixes are included.
        - Fixed valgrind reported memory leak:
             660,852 (276,480 direct, 384,372 indirect) bytes in 2,219 
                 blocks are definitely lost in loss record 30 of 30
              at 0x401C422: malloc (vg_replace_malloc.c:149)
              by 0x81A6658: safe_malloc (safemalloc.c:51)
              by 0x818C9FB: rfc822_tokenize (getaddr.c:33)
              by 0x81DCBCE: parse_header_references (getid.c:289)
        - Fixed valgrind reported memory leak:
             106,629 (5,432 direct, 101,197 indirect) bytes in 450 
                 blocks are definitely lost in loss record 25 of 30
              at 0x401C422: malloc (vg_replace_malloc.c:149)
              by 0x81A6658: safe_malloc (safemalloc.c:51)
              by 0x81DDC51: dup_references (references.c:205)
              by 0x80E783B: copy_header (duplicate.c:385)
        > references field was not correctly duplicated.
        - Fixed valgrind reported memory leak:  
             4,540 (60 direct, 4,480 indirect) bytes in 2 
                blocks are definitely lost in loss record 25 of 29
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x81A6658: safe_malloc (safemalloc.c:51)
             by 0x814C798: browser_malloc2 (savefolder.c:2463)
             by 0x814C81A: browser_malloc (savefolder.c:2489)
             by 0x814CA9C: new_browser (savefolder.c:2579)
             by 0x80B6556: OpenMailbox (openmailbox.c:30)
        - Fixed valgrind reported memory leak:   
             76 (8 direct, 68 indirect) bytes in 1 
                blocks are definitely lost in loss record 14 of 26
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x81A6658: safe_malloc (safemalloc.c:51)
             by 0x81B43A8: malloc_string (string.c:81)
             by 0x81B53C6: cat_strings_internal (string.c:488)
             by 0x81B5D17: cat_strings (string.c:718)
             by 0x813C908: browser_cat_local (localmbx.c:1073)
             by 0x814F511: give_edit_buffer (savefolder.c:3706)
             by 0x807A750: gb_browser (browser.c:622)
             by 0x80993F2: enter_helper (in_utils.c:833)
             by 0x807B3AA: run_browser (browser.c:1049)
             by 0x807B5B2: folder_browser (browser.c:1124)
             by 0x80B65C4: OpenMailbox (openmailbox.c:38)
        - Fixed valgrind reported memory leak:
             212 (8 direct, 204 indirect) bytes in 1 
                blocks are definitely lost in loss record 16 of 25
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F6178: safe_malloc (safemalloc.c:51)
             by 0x4104928: malloc_string (string.c:81)
             by 0x4106A9D: dup_string (string.c:891)
             by 0x410B675: append_string (string.c:2761)
             by 0x40DBDC9: look_special_tokens (getaddr.c:181)
             by 0x4157934: parse_tokenized_message_id (getid.c:126)
        > Comments was not correctly recorded.
        - Fixed valgrind reported memory leak:  
             12 bytes in 1 blocks are definitely lost in loss record 1 of 23
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F6178: safe_malloc (safemalloc.c:51)
             by 0x80E4854: malloc_empty_alias_buffer (buffer.c:38)
             by 0x805FB6E: add_current_alias (alias.c:691)
        - "Using Elm ME+ 2.5 PLalpha19 on AIX, for the first time ever, 
           I tried to add an alias (typing 'a' in the main menu).
             When I completed entering the information, I got the following 
             error message:
             |  Updating aliases...
             |
             | Couldn't malloc 0 bytes!!
             |
             |
             | PANIC in utils.c:90:malloc_failed_exit
             | >>>Out of memory"
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Do not malloc empty array on ascify_string()
        - Fixed valgrind reported memory leak: 
             880 (664 direct, 216 indirect) bytes in 
               56 blocks are definitely lost in loss record 18 of 24
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F6178: safe_malloc (safemalloc.c:52)
             by 0x414B3E3: new_address (address.c:56)
             by 0x41555A8: new_address_string (parsestring.c:255)
             by 0x8061CB0: lookup_dummy (alias.c:1718)
        - Fixed valgrind reported memory leak:   
             216 bytes in 28 blocks are definitely lost in 
               loss record 138 of 183
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F6178: safe_malloc (safemalloc.c:52)
             by 0x40C3415: cs_stream_from_ascii (cs_binary.c:1778)
             by 0x410738D: stream_from_string (string.c:1135)
             by 0x415554D: ascify_address (parsestring.c:235)
             by 0x4155590: new_address_string (parsestring.c:251)
        - Fixed valgrind reported memory leak:   
             18 bytes in 9 blocks are definitely lost in 
               loss record 70 of 233
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F6178: safe_malloc (safemalloc.c:52)
             by 0x40DA4E6: hdr_text (hdrdecode.c:491)
        - Fixed bug where "mailer = submission" was giving 
          RET parameter to RCPT command when it must be on 
          MAIL command on submission (or SMTP) protocol.
        - If password entry (passwd struct) of user  does not 
          found, report error message from errno if available.
        - Do not call getpwnam() again when getting fullname of
          user, instead us result from earlier getpwnam() or 
          getpwuid(). That is, use get_fullname1() instead of
          get_full_name().
        - Fixed valgrind reported memory leak:    
             27 (8 direct, 19 indirect) bytes in 1 blocks 
                are definitely lost in loss record 156 of 341
             at 0x401C422: malloc (vg_replace_malloc.c:149)
             by 0x40F62E8: safe_malloc (safemalloc.c:52)
             by 0x4035F32: encode_mime_params_v (mime_param.c:1557)
             by 0x80AD0BB: mime_write_header (mime_encode.c:535)
        - Changed mime_write_top_headers() to use mime_write_header()
          when writing "Content-Type: multipart/mixed" header field.
        - Elm ME+ 2.5 PLalpha19  change to not encode 
          characters '.', ',', ':' and '/' on Q encoding 
          did not take onto account that some of these are 
          special characters on structured fields. 
          Fixed that for structured fields (on subject these
          characters still are not encoded).

Changes on Elm ME+ 2.5 PLalpha19 compared with Elm ME+ 2.5 PLalpha18

        SUMMARY: This release changes aliases implementation.
                 Also file names and format of aliases is changed.
                 Regression of In-Reply-To header field editing
                 on "Message Header Edit Screen" is fixed. 
                 Header field conversion on b)ounce now applies
                 also to some MIME header fields. Now also
                 bold and underlined text are used on display 
                 (in addition of inverse text). Also some other
                 changes and bug fixes are included.
        Note: You must create directory
                  lib/alias
              before applying this patch!
        - Fixed an error, where entering message-id to 
          In-Reply-To header field on "Message Header 
          Edit Screen" was giving error message
                Missing > after < on in-reply-to header.
        - When In-Reply-To header field on "Message Header 
          Edit Screen" is edited, generated References:
          -header field is recalculated. 
        - Added check to "Message Header Edit Screen"  
          that message-id entered to  References: -header field 
          is valid syntax.
        - Added some more places where elmrc option 
          "convert-utf-header" is applied.
        - If there is 8-bit content on MIME header
          fields following header fields are rewritten (without 
          causing error) from parsed data on b)ounce:
                Content-Disposition:
                Content-Description:
                Content-Type:
          This encodes 8-bit data with RFC 2231 or mime encoded 
          words there where they are allowed. Note that charset is 
          guessed and is quite probably wrong.
          NOTE: Currently this loses comments from Content-Disposition
                and Content-Type
        - If elmrc option "mime-parameters" have value "plain",
          that conversion (of RFC 2231) is not done.
        - Changed Q encoding of mime encoded words so that
          characters '.', ',', ':' and '/' are no longer encoded.
        - Some changes on aliases handling.
        - Dropped hash (ndbz) because Elm reads all aliases 
          to memory and search them from memory in order.  
        - Moved some code from lib/mk_aliases.c to 
             lib/alias/oldaliases.c
        - Moved some code from src/aliaslib.c to
             lib/alias/aliasexpand.c
        - Added aliases parsing routines to lib/alias/
        - Changed aliases file format, new files are
          .elm/elmaliases and $lib/elm.aliases
        - Non-ascii values are stored with MIME encoding
        - Moved some code from lib/misc/conf_writer.c
          to lib/conf_writer.c
        - There is many changes on aliases handling
          and on "Alias mode" of elm
        - If old format alias file is found when Elm
          starts, it is prompted that is it used
          or is it converted to new format.
        - Now there is three types of aliases:
             - Person alias
             - Address list alias
             - Group alias
          and mixed form of these.
        - Program "newalias" now converts old format aliases
          file to new format.
        - Existing old aliases.text file on elm global library 
          directory is converted to new format during 
          installation (with -g option of newalias). 
        - Added option -q (quiet) to newalias. This option
          ignores error, if old aliases.text file does not exists.
        - Program "elmalias" have following new format
          specifications:
              %f         First name (of person alias)
              %A         Address (of person alias)
              %L         Address List (of address list alias)
              %P         Phrase (of group alias)
              %V         Vector (of group alias)
          Format specifications for different alias types
          are:
             - Person alias
               %l       Last Name
               %f       First Name
               %A       Address       (the alias value)
             - Address list alias
               %L       Address list  (the alias value)
             - Group alias
               %P       Phrase
               %V       Vector         (the alias value)
          Common specifications for all alias types are:
               %a       Alias (the alias name, alias key)
               %c       Comment (not displayed in mail headers)
          Also following specifications are generated:
               %n       Name (the user's full name)
               %v       Address (the alias value)
               %t       Type (Person, Address List, Group, 
                              Mixed, or Unknown)
        - Program "elmaliases-write" reads and writes new format
          aliases file.      
        - Configure now copies doc/elmaliases to 
          bin/elm.aliases for installation
        - Configure -M and Configure -S also (re)generates
          bin/elm.aliases   
        - Elmaliases-write option -c merges elm.aliases or 
          elmaliases file with file given as argument.
        - Configure does not read elm.aliases from 
          elm global library directory. Instead existing
          elm.aliases from elm global library directory
          is merged during installation (with -c option on
          elmaliases-write).  
        - New values without merging are written to 
          elm.aliases.NEW during installation.
        - "a)lias current message" now generates alias also
            on case where From: -header field have several
          addresses.
        - When given address, aliases is now possible
          to enter on quoted form. This makes possible to
          use aliases, which includes spaces....
        - Aliases are now case sensitive. They are not
          lowercases (however aliases from old format 
          aliases file are lowercased).
        See also chapter "Aliases information"
        - Added note to Configure that merges are done
          during installation.
        - Moved append_string() from lib/hdrdecode.c
          to lib/string.c
        - append_string() now takes also printed 
          argument.
        - Added string_copy_character() to lib/string.c
        - Added string_have_ascii_sep() to lib/string.c        
        - Exported is_special() as unicode_is_special()
          from lib/stringtok.c
        - Added parse_one_address() to lib/addr/getaddr.c
        - Added lib/addr/parsestring.c which handles
          addresses on struct string -form
        - Added  address_to_str() and list_to_str()
          to lib/addr/write_hdr.c
        - Exported string_need_quote() from melib/mime_param.c
        - Exported append_quoted_to_string() from
          melib/mime_param.c. It now uses 
          string_copy_character()
        - string_need_quote() now uses unicode_is_special()
        - Added -O option to Usage: -line of Configure
          [ Was not really added ]
        - LIB_SRC is removed from lib/Makefile
        - Exported part of formatting code as
          format_S_helper() from lib/output.c
        - Allow cancel startup questions with Ctrl-C 
          (interrupt character)
        - Moved append_quoted_to_string() from
          melib/mime_param.c to lib/addr/parsestring.c
        - Moved unquote_string() from
          melib/mime_param.c to lib/addr/parsestring.c
        - Added some more ending terminators --END
          to ~/Canceled.mail.dir/.index 
        - Ignoring Message-ID if there is parse error
          on it.
        - StartBold() (or pg_BOLD) and 
          StartInverse() (or pg_INVERSE) both used 
             so   Start standout mode
          On Elm 2.5 there is StartStandout 
          instead.
          Renamed StartInverse() (or pg_INVERSE)
          to StartStandout() (or pg_STANDOUT)
          and changed StartBold() (or pg_BOLD) 
          to use
             md   Start bold mode
        - Removed StartHalfbright() (or pg_HALFBRIGHT)
          and EndHalfbright(). Used code was
            hs
          and Linux manual gives
            mh   Start half bright mode
          also that is not on vt100 and is
          not used on Elm
        - Added pg_REVERSE  for
            mr   Start reverse mode
          (not used currently:
           On Linux xterm termcap both 
           mr and so resources gives  \E[7m  )
        - Changed search matches on builtin++ -editor
          to use StarStandout() on instead of StartBold 
        - Changed Help title on builtin++ to use 
          StartBold (instead of StartInverse)
        - Changed builtin++ prompt to use StartStandout
          on instead of StartBold
        - Also changed similar metapager prompt to use 
          pg_STANDOUT instead of pg_BOLD 
        - Also changed similar showmsg prompt to use
          pg_STANDOUT instead of pg_BOLD
        - Added pg_BOLD to following titles
                - Mailbox  (i.e. main screen)
                - Mail Pre-Send Screen
                - Message Header Edit Screen
                - -- ELM Options Editor --
                - Folder selection
                - List info
                - Generic reply
                - List-Subscribe selection
                - List-Unsubscribe selection
                - List-Post selection for mailing
                - List-Post selection for reply
                - List-Help selection
                - List-Archive selection
                - Remote URL verification
                - List-Owner selection for mailing
                - List-Owner selection for reply
                - Alias info
                - Alias info (expanding address)
                - Alias info (alias editing)
                - Send only mode
                - Extended command selection
                - MIME structure Menu
                - Attachment Menu
                - Mailbox (thread mode)
                - Attachment Configuration
                - Mailcap program selection
                - Metamail selection
                - There is parsing errors on message
                - Mime type check
                - Viewing folder
        - Added pg_BOLD to border on showmsg
        - Reset terminal modes more carefully on enter
        - Show first line (i.e. Message XX/XX) on builtin++ -pager
          underlined.
        - Now on "Metamail selection" DOWN and UP keys can go
          to to next or previous mail when cursor walks out of 
          question list.
        - Fixed crash on "Metamail selection" screen, when RIGHT
          key is pressed.
        - Now on "There is parsing errors on message" 
          DOWN and UP keys can go to to next or previous 
          mail.
        - Moved motion() from src/elm.c to src/motion.c
        - Moved movement and some common commands from 
          process_showmsg_cmd() on src/showmsg_c.c to 
          process_motion_command() on src/motion.c
        - When viewing alias info there can be used movement
          and alias commands somewhat similar way than
          mailbox commands can be used on when viewing
          message.
        - Initialize "unidata" early.
        - Fixed 'fastmail -i in-reply-to' which was 
          commented out on Elm ME+ 2.5 PLalpha18.
        - Fastmail was not writing To: -header field.
          Added To: -header field to fastmail generated
          mails. 
        [ Actually by mistaken From: -header field value 
          was added as To: -header field value. ]
        NOTE: Fastmail is still broken. Generated mails are not
              MIME encoded when needed.
        - Added -c option to readmsg
        - Added -c option to elmalias
        - "I failed to compile elmME+.2.5.alpha18 (alpha17 compiled ok)
           on AIX 5.3.  The error I receive is:
           make[1]: Entering directory `/home/rangers/noam/elmME+.2.5.alpha18/lib/addr'
           cc -I../../hdrs -I/u/rangers/noam/elmME+.2.5.alpha18/hdrs  -O    -c -o write_hdr.o write_hdr.c
           "write_hdr.c", line 357.13: 1506-343 (S) Redeclaration of do_simple_wrapping differs from previous declaration on line 355 of "write_hdr.c".
           "write_hdr.c", line 357.13: 1506-381 (I) The type "int" of parameter 4 in the prototype declaration is not compatible with the corresponding parameter type "enum encoding" in the nonprototype declaration."
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Fixed prototype of do_simple_wrapping()
        - Added command "elmregister list-conffiles" to generate files
          listing suitable for dpkg command. Names on list are
          NL separated.  Actually this produces nothing, because
          config files are created replay time.
        New tools:
                elmaliases-write
        New files:
                lib/alias/aliases.c
                lib/misc/oldaliases.c
                lib/alias/address_alias.c
                lib/alias/Makefile.SH
                lib/alias/def_alias.h
                lib/alias/alias_vector.c
                hdrs/aliaslib.h
                lib/conf_writer.c
                hdrs/conf_writer_imp.h
                lib/alias/init.c
                lib/alias/aliasexpand.c
                src/aliases/aliases_map.c
                src/aliases/record.c
                src/alias_display.c
                src/aliases/buffer.c
                lib/addr/parsestring.c
                src/alias_info.c
                utils/elmaliases-write.c
                utils/aliases_helper.c
                doc/elmaliases-write.1
                doc/elmaliases
                ConfTool/GenAliases
                src/alias_itemized.c
                src/motion.c
                src/alias_info_1.c
                utils/aliases_helper.h
        Removed files:  
                lib/ndbz.c
                hdrs/ndbz.h
                lib/mk_aliases.c
                lib/aliasdb.c
                src/aliases/astorage.c
                src/aliases/astorage_hash.c
                src/aliases/alias_alloc.c
                src/aliases/find_alias.c

Changes on Elm ME+ 2.5 PLalpha18 compared with Elm ME+ 2.5 PLalpha17

        SUMMARY: This release fixes some bugs, prevents recursive
                 mail commands via "m)ail -> view) folder", adds
                 conversion of MIME messages on b)ounce and f)orward
                 commands, adds generation of References: -header
                 field and adds OpenDocument formats to mime.types 
                 -file.
        - Added following new types to doc/mime.types file:
                application/vnd.oasis.opendocument.chart
                application/vnd.oasis.opendocument.chart-template
                application/vnd.oasis.opendocument.formula
                application/vnd.oasis.opendocument.formula-template
                application/vnd.oasis.opendocument.graphics
                application/vnd.oasis.opendocument.graphics-template
                application/vnd.oasis.opendocument.image
                application/vnd.oasis.opendocument.image-template
                application/vnd.oasis.opendocument.presentation
                application/vnd.oasis.opendocument.presentation-template
                application/vnd.oasis.opendocument.spreadsheet
                application/vnd.oasis.opendocument.spreadsheet-template
                application/vnd.oasis.opendocument.text
                application/vnd.oasis.opendocument.text-master
                application/vnd.oasis.opendocument.text-template
                application/vnd.oasis.opendocument.text-web
        - Fixed a small error on cat_strings() where wrong charset
          name is printed when printind is specified.
        - Fixed small errors on ascii_need_quote() and 
          string_need_quote on melib/mime_param.c. Both had
          missing [] characters.
        - Fixed some prompt positions on alias mode
        - Possible fix for get_word_from_string()
        - Fixed a small error on error message of write_conf()
        - Fixed the error message on delete_alias_files()
        - Fixed the error where (comment) was lost when address
               Phrase <some@address> (comment)
          was parsed. Address was stored when '>' was seen
          so that (comment) was not seen yet. Not parser delays
          storing of address to next ',' if '>' is not the last
          token.
        - Command sequence
              m)ail -> view) -> ' ' -> m)ail
          was possible. Changed it so that 'm' gives 
          "Attaching message is not possible when viewing it"
          error.
        - Command sequence
              m)ail -> view) -> ' ' -> b)ounce
          was possible. Changed that 'b' gives 
          "Attaching message body is not possible when viewing it"
          error.
        - Command sequence
              m)ail -> view) -> ' ' -> r)eply
          and
              m)ail -> view) -> ' ' -> f)orward
          and
              m)ail -> view) -> ' ' -> g)roup reply
          and 
              m)ail -> view) -> ' ' -> Mailing list I)nfo
          and
              m)ail -> view) -> ' ' -> ^K  (Mail PGP public key)
          and
              m)ail -> view) -> ' ' -> generic R)eply
          were possible.  These were sending mail (recursively).
          Added flag SHOWMSG_NOMAIL which disables
          mailing commands.
          Also disallowed
              m)ail -> view) -> ' ' -> V)iew digests
          because there also are mailing commands.
        - Fixed the error where hdr_comment() was not correctly 
          dequoting \ -escaping.
        - Fixed the error where extra ',' was added to the 
          end of address list
        - Moved struct header_rec from elm_defs.h to addrlib.h
        - Moved struct mimeinfo   from elm_defs.h to addrlib.h
          ( mimeinfo is embedded in struct header_rec)
        - Added References: -header generation as specified
          on RFC 2822:
             The "References:" field will contain the contents 
             of the parent's "References:" field (if any) followed 
             by the contents of the parent's "Message-ID:" field 
             (if any).  If the parent message does not contain
             a "References:" field but does have an "In-Reply-To:" 
             field containing a single message identifier, then the 
             "References:" field will contain the contents of the 
             parent's "In-Reply-To:" field followed by the contents 
             of the parent's "Message-ID:" field (if any). 
        - Parsed message-id as
                <left@right> (comment)
        - Moved check_8bit_string() from lib/id_phrase.c 
          to lib/addr/write_hdr.c
        - Moved check_8bit_string() from lib/id_phrase.c
          to lib/addr/write_hdr.c
        - Moved write_string_header() from lib/id_phrase.c
          to lib/addr/write_hdr.c
        - Moved write_text_header() from lib/write_hdr.c
          to lib/addr/write_hdr.c
        - Moved print_EOLN() from lib/write_hdr.c
          to lib/addr/write_hdr.c
        - Moved struct addr_list to inside of
          lib/addr/addr_list.c file.
        - Moved struct address to inside of
          lib/addr/address.c
        - Fixed the error where the header field names were not
          correctly recognized if there were spaces before ':'
          on header field.
        - Check on b)ounce that mail does not have overlong
          lines (over 998 characters). Overlong lines in
          mailbox were seen as the result of following events:
          1) One mail client had sent message with
             Content-Type: text/plain; Charset=iso-8859-15; Format=Flowed
             However the lines were not wrapped as specified
             on flowed -format. The result was that whole 
             chapter was on one line. Result was quoted-printable
             encoded, so the lines did not exceed the maximum
             length during transfer.
             Mail client apparently indentified itself as
             X-Mailer: Saunalahti webmail - http://saunalahti.fi
          2) Sendmail did conversion quoted-printable => 8bit
             when the message was was saved into the mailbox.
             Content-Transfer-Encoding: 8bit
             X-MIME-Autoconverted: from quoted-printable to 8bit by XXX id XXX
          After these there were over 1400 character lines in the
          mailbox. Re-sending the resulting message exceeded
          SMTP's 1000 character line length limit. Therefore elm now 
          does no longer send messages on b)ounce unaltered.
        ( Actually header field "Content-Transfer-Encoding: 8bit"
          generated here by sendmail is not correct either. MIME
          allows only 998 character long lines for "8bit data". )
          Messages are not fully checked when doing b)ounce.
          However if errors are seen during conversion,
          b)ounce may fail. If conversion of some part
          of message is not done, then also errors may
          be ignored.
          Only MIME messages are converted. Non-MIME messages
          (and messages with unknown MIME version) are handled
          the old way (remailed without processing). If there
          is 8-bit content on header fields on a MIME message,
          that causes error on b)ounce.
          8-bit on content on (top level) header fields is sent 
          as is without error if elmrc option "nohdrencoding"
          is set (this also causes that header fields are not MIME
          encoded.)
        - If there is 8-bit content on (top level) header
          fields following header fields are rewritten (without 
          causing error) from parsed data on b)ounce:
                From:
                To:
                CC:
                Reply-To: 
                In-Reply-To:
                References:
                Subject:
          This encodes 8-bit data with mime encoded words
          there where they are allowed. Note that charset is 
          guessed and is quite probably wrong.   
        - When b)ouncing, now Elm adds Sender: -header field to
          beginning of header fields (instead of to end of header 
          fields). Now also from_addr_literal() is used for
          Sender: -field (same than what is used Sender: -field
          when m)ailing)
        - Also when mail is f)orwarded as a separate part (ie. as
          message/rfc822 body part) the same happens that on b)ounce.
          Therefore this does also same conversions as for the
          b)ounce case.  
        - Also 
              m)ail -> view) -> Attach m)essage
          uses this same conversion.
        - However
              m)ail -> view) -> Attach message b)ody
          does not do that kind conversion. However,
          it does not longer trust given 
          content-transfer-encoding (7bit, 8bit, binary)
          on mail.
        - Some small fixes to include_part() encoding handling.
        New files:
                lib/addr/getid.c
                lib/addr/message-id.c
                lib/addr/references.c
        Removed files:  
                lib/id_phrase.c
                lib/write_hdr.c         

Changes on Elm ME+ 2.5 PLalpha17 compared with Elm ME+ 2.5 PLalpha16

        SUMMARY: This release re-adds "incomingfolders" elmrc option
                 which was lost on Elm ME+ 2.5 PLalpha5. This release
                 also fixes redraw loop on "Mailcap program selection
                 -screen, fixes double free() on search and fixes
                 filename handling on attch_save().
        - Unlink tempfile on error on elmregister.
        - Elmrc option "incomingfolders" added on
          Elm ME+ 2.5 PLalpha0 was lost on Elm ME+ 2.5 PLalpha5.
        - "The attached email triggers a bug in ELM 2.4ME+ PL123.  
           The problem is that reading this email message causes 
           continuous redraw of the screen, and you have to kill elm 
           to exit.  I think it is caused by too many attachments."
         Reported by: Bruce Momjian <bruce@momjian.us>
        > Fixed "Metamail selection" / "Mailcap program selection"
          prompt screen.
        - "I'm attaching the mailbox consisting of just this message. 
           To reproduce the problem, save it, uncompress, and try 
           searching through the body of the message (using elm) for 
           a string, such as "iegor":
             bunzip /tmp/spam-crash.bz2
             elm -f /tmp/spam-crash
             //
             iegor
           The double-free happens in the following stack:
           (gdb) where
           #0  0x0000000800a9855c in kill () from /lib/libc.so.6
           #1  0x0000000800a973ed in abort () from /lib/libc.so.6
           #2  0x0000000800a36ae5 in _UTF8_init () from /lib/libc.so.6
           #3  0x0000000800a36b1c in _UTF8_init () from /lib/libc.so.6
           #4  0x0000000800a37abd in _UTF8_init () from /lib/libc.so.6
           #5  0x00000000004978f0 in arrange_decoded ()
           #6  0x000000000049ee1b in simple_mime_walk ()
           #7  0x000000000049ecf7 in simple_mime_walk ()
           #8  0x000000000046bae3 in mc_match_in_text_mbx ()
           #9  0x0000000000469ced in mcommon_match_in_text ()
           #10 0x0000000000457cfa in pattern_match ()
           #11 0x00000000004351fe in motion ()
           #12 0x0000000000435945 in mailbox_command ()
           #13 0x0000000000445ae6 in compute_visible ()
           #14 0x0000000000446560 in main_messages_menu ()
           #15 0x00000000004347fd in main ()"
         Reported by: Mikhail T. <mi+elm@aldan.algebra.com>
        > Fixed valgrind reported invalid free:
          Invalid free() / delete / delete[]
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8199E78: safe_free (safemalloc.c:107)
            by 0x810B9CF: arrange_decoded (mime_decode.c:2532)
            by 0x81173B9: simple_mime_walk (mimewalk.c:151)
            by 0x81171FC: simple_mime_walk (mimewalk.c:95)
            by 0x80CCBE2: mc_match_in_text_mbx (message_pattern.c:464)
            by 0x80CA1B3: mcommon_match_in_text (mcommon.c:214)
            by 0x80B1ABE: pattern_match (pattern.c:439)
            by 0x8083ADE: motion (elm.c:1881)
            by 0x8081BBD: mailbox_command (elm.c:892)
            by 0x8099649: main_messages_loop (mailbox.c:242)
            by 0x809A1AE: main_messages_menu (mailbox.c:664)
          Address 0x4493630 is 0 bytes inside a block of size 20 free'd
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8199E78: safe_free (safemalloc.c:107)
            by 0x810B9B7: arrange_decoded (mime_decode.c:2528)
            by 0x81173B9: simple_mime_walk (mimewalk.c:151)
            by 0x81171FC: simple_mime_walk (mimewalk.c:95)
            by 0x80CCBE2: mc_match_in_text_mbx (message_pattern.c:464)
            by 0x80CA1B3: mcommon_match_in_text (mcommon.c:214)
            by 0x80B1ABE: pattern_match (pattern.c:439)
            by 0x8083ADE: motion (elm.c:1881)
            by 0x8081BBD: mailbox_command (elm.c:892)
            by 0x8099649: main_messages_loop (mailbox.c:242)
            by 0x809A1AE: main_messages_menu (mailbox.c:664)
        - "Not sure if you have fixed this in later releases but in ELM 2.4ME+
           PL123 if I try to save a file attachment of type "image/jpeg" and the
           file name already has extension "jpg" elm suggests the additional
           extension "jpeg"."
          Reported by: Bruce Momjian <bruce@momjian.us>
        > Filename was not correctly recorded on attach_save()

Changes on Elm ME+ 2.5 PLalpha16 compared with Elm ME+ 2.5 PLalpha15

        SUMMARY: This release fixes bug on c)hange command which caused 
                 lost of mail. Also bug on joint use of l)imit and 
                 'Eo' -command is fixed. This release also adds some 
                 new subcommands to elmregister -command.
        Elm ME+ 2.5 is now main line (trunk or main branch).
        - If l)imit command was used, and then Eo) [o)pen mailbox to 
          current view] was used, wrong messages was shown on
          limited display. Now number of selected message is
          recalculated after new mailbox is added.
        - Changed redraw handling on 
          "Keep unread messages in incoming mailbox?" question.
        - Now "elmregister replay" recreates hard links also when
          "-R" option is not used (-R option implies moving
          installation to final place).
        - Added missing subcommand to elmregister manual page.
        - Changed "elmregister rpm-list" so that hard links are 
          listed. They are now listed with %ghost macro.
        - Fixed bug where "elmregister replay -R ..." was setting 
          files to wrong owner (was used gid as uid) on some 
          situation, when file was copied.
        - Added command "elmregister list" to generate files
          listing suitable for tar command. Names on list are
          NL separated.
        - Added command "elmregister list-directories" to generate
          directory listing.
        - If after c)hange folder locking of new folder (mailbox)
          failed, Elm was keeping open old folder, but temp
          file of older folder (mailbox) was closed. That caused
          corruption of mailbox.
          * If "Folder unchanged." message was given, folder
            was not closed.
          * Folder was closed on "[Keeping all messages.]" case,
            it does not need  to be closed on here either.
          > Do not call close_folder() on on real_save() at all.
            Instead use unlock() on real_cave() ( as in done
            if 'resyncing' was set ) .
          * Actual closing of mailbox is done anyway with 
            leave_old_folder() which is called from free_storage()
          > Splited leave_mbox()  to sync_mbox() function
            which never closes mailbox and close_cleanup_mbox()
            which does closing (and may remove mailbox).  
        - Fixed Configuration error on Ubuntu 6.06 (gcc 4.0.3)

Changes on Elm ME+ 2.5 PLalpha15 compared with Elm ME+ 2.5 PLalpha14

        Summary: This release changes address handling. It supports group 
                 phrases. They are preserved on reply. This release
                 also adds "alias-group-phrase" and "confirmprint" elmrc
                 options. Also some minor fixes are included in this 
                 release.
        Note: You must create directory
                  lib/addr
              before applying this patch!
        - Some changes on address handling.   
        - Moved some code from lib/getaddr.c
          to lib/addr/getaddr.c 
        - Moved some code from lib/misc/mlist.c 
          to lib/addr/mlist.c
        - Moved lib/dispaddr.c to lib/addr/dispaddr.c
        - Moved some code from lib/okay_addr.c
          to lib/addr/okay_addr.c
        - Moved some code from lib/mailer/mailer.c
          to lib/addr/mailer.c
        - Moved lib/outheaders.c to lib/addr/outheaders.c
        - Moved ib/mbox/error.c to lib/addr/error.c
        - Moved lib/headers.c to lib/addr/headers
        - Moved some code from lib/write_hdr.c 
          lib/addr/write_hdr.c
        - Added new elmrc option "alias-group-phrase".
          If set (default), it is possible to give phrase
          for group aliases, which is includes to address
          list.    
        - Added support group phrases. They are preserved
          when mail is replied.
        - konsole seems set $COLORTERM to "". Added 
                xterm   DW      UTF-8   [ $COLORTERM="" ]
          to doc/terminal.info. This assumes that all
          these terminals  treat certain UTF-8 characters as double
          wide (as defined with wcwidth() function).
        - "make install" now indicates if "sh Configure -M"
          need to be rerun.
        - Removed src/string2.c  -- occurances_of() is not
          called anywhere.
        - Interpret output of PGP according of mail charset
          (that is actually done only when that body part
           was text ... )
        - "There were two adjacent spaces in the first
           email subject line which were collapsed into 
           one space in the reply, which I think is legal.
           Perhaps multiple spaces should be collapsed into 
           one for comparison, perhaps near 
           skip_ascii_head_from_string() in thread.c."
         Suggested by: Bruce Momjian  <bruce@momjian.us>
        - Added "confirmprint" elmrc option.
        - Changed save_copy() to use prompt_letter() instead
          of want_to().
        New elmrc options:
                alias-group-phrase
                confirmprint
        New files:
                lib/addr/Makefile.SH
                lib/addr/def_addr.h
                lib/addr/init.c
                hdrs/addrlib.h
                lib/addr/addr_list.c
                lib/addr/address.c
                lib/addr/getaddr.c
                lib/addr/mlist.c
                hdrs/mlist_imp.h
                hdrs/mlist_common.h
                lib/addr/okay_addr.c
                lib/addr/mailer.c
                lib/addr/write_hdr.c
        Moved files:
                lib/dispaddr.c   => lib/addr/dispaddr.c
                lib/outheaders.c => lib/addr/outheaders.c
                lib/headers.c    => lib/addr/headers
                lib/mbox/error.c => lib/addr/error.c
        Removed files:  
                lib/getaddrfrm.c
                src/string2.c

Changes on Elm ME+ 2.5 PLalpha14 compared with Elm ME+ 2.5 PLalpha13

        Summary: This release fixes elmregister replay command,
                 when used with -R option, fixes viewing of binary
                 files and selection of wrong media type when sending 
                 mail, some UTF-8 problems and compilation errors
                 when compiled with "-traditional" on gcc.
        * Changes from Elm 2.4ME+ PL123f (25):
          - "./usr/share/elm/elmregister replay -M all -R `pwd`"
            was segfaulting when moving packgage to final place.
            Fixed missing initialization on copy_dir().
           Problem noted by: Peter Alfredsen <peteralf@tdcadsl.dk> 
          - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0"
            when doing "./..../elmregister replay -M all -R `pwd`"
        - attach_info() calculated filename extension wrongly.
          That caused that wrong media type was selected.
        - Fix viewing of binary files on attachment viewer when
          sending mail.
        - Added 
                xterm   DW      UTF-8  [ $COLORTERM="gnome-terminal" ]
          to doc/terminal.info. This assumes that all
          gnome terminals treat certain UTF-8 characters as double
          wide (as defined with wcwidth() function).
        - 'return count' was missing from cs_add_streambytes_to_unknown()
          -- this caused error message
                Text part 1 have bad UTF-8 characters. Send anyway? n
          on certain configurations.
        - Some compilation fixes for "traditional" C

Changes on Elm ME+ 2.5 PLalpha13 compared with Elm ME+ 2.5 PLalpha12

        Summary: This release fixes some bugs and some compilation
                 problems on AIX. This release includes mapping
                 table for KZ-1048 and PTCP154 charsets. 
        - Fix panic 
            ADDR PANIC in addr_util.c:690:build_address_l
            >>>tectual=NULL
          when rpm@>   is entered as mail address.
        - Fix crash on free_addr_items()
        - Possible fix for looping
        - "I finally got around to it and tried to compile 
           elmME+.2.5.alpha12 on AIX 5.3.  As you can see, 
           it failed:
           gmake[1]: Entering directory `/noam/elmME+.2.5.alpha12/lib'
           cc -I../hdrs -I/noam/elmME+.2.5.alpha12/hdrs  -O      -c -o get_tz.o get_tz.c
"          get_tz.c", line 144.36: 1506-045 (S) Undeclared identifier TZNAME_HANDLING."
           Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Fixed tzname_handling test on Configure which 
          was using 'const' and not 'CONST' although 
          lib/get_tz.c uses 'const'. 
        - "It failed compiling on something else at first try 
           (please see line 84 of 701 in attached typescript file):
          <...>
           /bin/egrep -h '#define .*_magic' `cat XXfilelist`  | /bin/sort > magic_res1
           /bin/sh: /bin/egrep: arg list too long"
           Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Change checking of lib/MAGIC
        - Fixed case where changing alias two times without resync 
          caused that alias name was truncated. 
        - Updated following charsets on lib/precompiled_sets.c:
                Changed Big5-HKSCS  to be MIME name
                Added BOCU-1  as type unknown 
                Added CESU-8  as type utf-8   
                    -- not exactly UTF-8
                       but because Elm builtin map UNICODE effectively 
                       includes only ranges 0x0000 - 0xD7FF and 0xF900 - 0xFFFF,
                       supported subsets are same. 
                    -- CESU-8 is only marked as codeset and not MIME name.
                Added GB18030 as type unknown
                Added GBK     as type unknown
                    - Added aliases CP936, MS936, windows-936 to 
                      ConfTool/charaliases.map
                    - Removed charset CP936 and alias IBM936
                      (added CP936 to ConfTool/killsets)
                Changed IBM00924 to be codeset and not MIME name
                    - Removed charset IBM00924
                      (added IBM00924 to ConfTool/killsets)
                Changed IBM01140 to be codeset and not MIME name
                    - Removed charset IBM01140
                      (added IBM01140 to ConfTool/killsets)
                Changed IBM01141 to be codeset and not MIME name
                    - Removed charset IBM01141
                      (added IBM01141 to ConfTool/killsets)
                Changed IBM01142 to be codeset and not MIME name
                    - Removed charset IBM01142
                      (added IBM01142 to ConfTool/killsets)
                Added IBM01143  as type unknown
                    -- IBM01143 is only marked as codeset and not MIME name.
                    -- IBM01143 was on ConfTool/charaliases.map
                      (added IBM01143 to ConfTool/killsets)
                Changed IBM01144 to be codeset and not MIME name
                    - Removed charset IBM01144
                      (added IBM01144 to ConfTool/killsets)
                Changed IBM01145 to be codeset and not MIME name
                    - Removed charset IBM01145
                      (added IBM01145 to ConfTool/killsets)
                Changed IBM01146 to be codeset and not MIME name
                    - Removed charset IBM01146
                      (added IBM01146 to ConfTool/killsets)
                Changed IBM01147 to be codeset and not MIME name
                    - Removed charset IBM01147
                      (added IBM01147 to ConfTool/killsets)
                Changed IBM01148 to be codeset and not MIME name
                    - Removed charset IBM01148
                      (added IBM01148 to ConfTool/killsets)
                Added IBM1047  as type unknown
                    -- IBM1047 is only marked as codeset and not MIME name.
                    -- Added IBM1047 (codeset) to ConfTool/charaliases.map
                Changed IBM775 to be charset and not codeset.
                    -- CP775 was already alias of IBM775 on 
                       ConfTool/charaliases.map
                    -- Added CP775 to ConfTool/killsets
                Changed IBM866 to be charset and not codeset.
                    -- CP866 was already alias of IBM866 on 
                       ConfTool/charaliases.map
                    -- Added CP866 to ConfTool/killsets
                Added Latin-9 to alias of ISO-8859-15.
                Added aliases for ISO-8859-16.
                Added ISO-11548-1 as type unknown
                    -- ISO-11548-1 is only marked as codeset 
                       and not MIME name.
                    -- Added aliases for ISO-11548-1
                Added KOI7-switched as type iso2022
                    -- Added ISO 2022 code for KOI7-switched 
                Added KZ-1048 as type ascii-set
                    -- Added aliases for KZ-1048
                    -- Added charset/MAPPINGS/kz-1048.txt               
                Added OSD_EBCDIC_DF03_IRV as type unknown
                    -- OSD_EBCDIC_DF03_IRV is only marked as codeset 
                       and not MIME name.
                Added OSD_EBCDIC_DF04_1 as type unknown
                    -- OSD_EBCDIC_DF04_1 is only marked as codeset 
                       and not MIME name.
                Added OSD_EBCDIC_DF04_15 as type unknown
                    -- OSD_EBCDIC_DF04_15 is only marked as codeset 
                       and not MIME name.
                Added PTCP154 as type ascii-set 
                    -- Added aliases for PTCP154
                    -- Added charset/MAPPINGS/ptcp154.txt
                Added UTF-32 as type unknown
                    -- UTF-32 is only marked as codeset 
                       and not MIME name.
                Added UTF-32BE as type unknown
                    -- UTF-32BE is only marked as codeset 
                       and not MIME name.
                Added UTF-32LE as type unknown
                    -- UTF-32LE is only marked as codeset 
                       and not MIME name.
        - Added  CHARSET_noalias flag to MIME_name_to_charset()
        - Small fix for ConfTool/GenCharmap
        - Added -G (global) flag to elmunidata. That causes
           that user config files are ignored (during installation)
        New files:
                charset/MAPPINGS/kz-1048.txt
                charset/MAPPINGS/ptcp154.txt

Changes on Elm ME+ 2.5 PLalpha12 compared with Elm ME+ 2.5 PLalpha11

        * Changes from Elm 2.4ME+ PL123d (25)
          - Fix compilation on ubuntu (GCC 4.0.2). 
          - "troubles when moving from pgp5 to gpg - cannot 
             encrypt. Seems parsing of gpg --list-public-keys 
             is broken in gnupg 1.4.5. syscall to gpg paramter 
             8 after receipient is <2> ?!"
           Problem noted by: Axel Reinhold <axel@freakout.de>
          > Add support for newer gpg versions
          - "last gpg pathes you sent to me work only on some keys!"
           Problem noted by: Axel Reinhold <axel@freakout.de>
          > Elm ME+ was adding < > around of address (not related 
            to patch) and therefore gpg did not found key when
            on key there was no < > around addresses. Removed 
            adding of < >.
          - Elmrc option verify-local-address did worked only for
            'address' but not for '<address>'.  Fixed that.
           NOTE: However verify-local-address works only when
            mailer option verify=yes works.
        - sendmail -bv {address} works only, when sendmail is
          installed as setuid root. Starting from sendmail 8.12
          sendmail is no longer installed as setuid root.
        * This was causing problems for mailer elmrc option
          'mailer=sendmail; allow-set-sender=yes'
        > Do not use sendmail -bv {address} to verify  envelope sender
          address if that test was failed on Configure. Mailer option
          'verify-set-sender' controls is sendmail -bv {address} called
          when envelope sender is set.        
        - This also affects mailer option verify=yes, but default
          for that option is verify=no anyway.        
        - These problems accours when mailer option have setting
          mailer=sendmail (default). This do not affect 
          mailer=submission setting.
        - Changed processing of format on lib/output.c,
          lib/debug.c so that zero width format should work...
        - Added option -E (ignore errors on arg) elmrc-write
        - Used -E option on final
            elmrc-write -G -I elm.rc.old-values
        * Change from Elm 2.5
          - Added struct knode to src/screen/knode.c (!!)  [K1]
        (!!) struct knode is not identical with version on Elm 2.5
        - Some cleanup:
                cur_Raw(OFF)   =>  cur_leave_screen(), 
                                   cur_leave_screen_signal()
                cur_Raw(ON)    =>  cur_enter_screen()  
                Raw(OFF|RAW_FROM_SIGNAL) => signal_leave_screen()
                Raw(ON|RAW_FROM_SIGNAL) => signal_enter_screen()
                NO_CHARSET flag removed (not used)
        - Renamed some variables on src/screen/
        - If on terminal c_iflag have IUTF8, assume UTF-8 
          for input and give warning if locale is not UTF-8. 
          Display charset is also tried to change to UTF-8.
        - Add support 
               [ $VARIABLE =~ "joker*string" ]
          condition on terminal.info
        - Add support for condition on ISO-2022 and ISO-2022/DW line
        - However enabling utf-8 (when xterm is started without
          utf-8 ie. xterm +u8) with iso2022 codes seems cause
          crash (Segmentation fault) on ubuntu (XTerm(203)), 
          so by default it is not assumed. 
        - Otherwise it can be assumed on elm.terminalinfo on 
          that TERM=xterm supports ISO2022 sequences  for set 
          utf-8 charset on terminal if XTERM_VERSION environment 
          variable is set). This environment variable 
          is introduced on XFree86 4.6.0.
        - On doc/terminal.info is that code, but commented out.
        - Strip pathnames from debug output
        - Before adding charset=UTF-8 automatically to attached 
          text files check that they look like utf-8. If check 
          failed then charset=UNKNOWN-8BIT is added instead.
        - Add support for condition on DW line of
          terminal.info       
          This is used lines like
              xterm     DW      UTF-8  [ $XTERM_VERSION=~"XTerm(*)" ]
        * Changes from Elm 2.4ME+ PL123e (25)
          - Fix panic
               STRING PANIC in cs_unknown.c:1993:cs_estimate_clip_unknown
               >>>printable_len not supported
               Emergency exit taken! All temp files intact!
            on some cases when
               locale-charsets elmrc option is used.
          - Fixed some problems with Configure on ubuntu.
          - When 
              locale-charsets = UTF-8
            was effect, Elm ME+ was printing
              [ Charset US-ASCII unsupported, converting... ]
          > Be sure that cs_unknown gives flag CS_universal_set
            for UTF-8 as cs_utf was giving.
          - Avoid error message
               "Failed save message to folder XXXX"
            when saving mail from V)iew digest -command
            and embedded mail do not end to newline.
        - Hide Bcc when forwarding.
        - When checking that can display charset represents all
          characters from charset of mime part, compare also ISO 2022
          sets. This affect message
              [ Charset XXXX unsupported, converting... ] 
          versus
              [ Charset XXXX converted... ]
        - When catenating strings also compare ISO 2022 sets,
          when selecting result charset.
        - NOTE: On catenation conversion is done still
          via Unicode even when it is possible to do
          just via copying iso2022 banks. This means
          that there must be mapping defined for every
          ISO 2022 set on charset. See chapters
          "One Eastasian recipe" and "ISO2022 maps information" 
          for details.
        - Check if mail text can be converted to US-ASCII
        - If if mail text can be converted to charste given
          on text-charset elmrc option, UTF-8 charset is used
          as fallback if conversion is not possible.
        - If there is bad characters on buffer,
             Text part <number> have bad <charset> characters. 
             Send anyway? 
          is prompted.
        - If any conversion is not found,
             Failed convert <charset> characters on part <number>. 
             Send anyway?
          is prompted.
        - If other than text-charset or US-ASCII is used 
          on conversion
             Using charset <charset> instead of <charset> on part %d. 
             Send anyway? 
          is prompted.
        - Parsing of [keywords] on main buffer is changed.
        - ']' inside of "   "  quotes do not end keyword.
        - Text after [keyword] (before end of line) is preserved.
        - Following error messages are added:
          * NUL character on keyword line
          * Quotation error on keyword line, no space before 
            quotation.
          * Missing ending keyword ] on line starting with [
          * Quotation error on keyword line, no ] outside of 
            quotations
          * Empty [] on keyword line
          * Keyword [<keyword>] requires parameters.
          * Keyword [<keyword>] do not have parameters.
        - Added convert_string2() 
        - Failure of conversions is not detected if
          conversion is done to charset with type=iconv
          (libelmme-tls.so module).
        - Removed prompt_menu3 from verify_transmission()
          on src/mailmsg2.c
        - Replaced some want_to() with prompt_letter()
        - Changed charset/UNIDATA/UNIDATA2.TXT
          from Unicode 2.0         
          to      charset/UNIDATA/UnicodeData-Latest.txt
          from Unicode 2.1.9
        > That adds characters
            U+FFFC OBJECT REPLACEMENT CHARACTER
            U+20AC EURO SIGN
        - There is new general categories on file:
            Pi = Punctuation, Initial quote 
            Pf = Punctuation, Final quote 
        > Added these to lib/unidata.c       
        > unidata.bin uses  UNIDATA21_magic (0xFB02)
          instead of        UNIDATA_magic   (0xFB00)
          because of new categories.
        - When reading mailbox, test= arguments from
          mailcap is executed. That may cause that screen
          is cleared.
        - Fixed message   
              [ Use 'Rl' to reply to list or 'I' for list info. ]
          on case when there is header
             List-Post: NO (posting not allowed on this list)
        - Changed "Metamail selection" menu so that
          default answer is 'p' on last question if 
          any of mailcap questions are answered.
        - Code for detecting 
             -----BEGIN PGP
          on parse_body_routine() was messed up on some merge.
        New files:
              src/screen/knode.c 
              charset/UNIDATA/ReadMe.txt
              charset/UNIDATA/UnicodeData-Latest.txt
        Removed files:
              charset/UNIDATA/README.TXT
              charset/UNIDATA/UNIDATA2.TXT
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [K1] Totally new curses subsystem.

Changes on Elm ME+ 2.5 PLalpha11 compared with Elm ME+ 2.5 PLalpha10

        Note: You must create directories
                  lib/mbox
                  src/url
                  src/block
                  src/list
                  lib/misc
                  utils/readmsg
              before applying this patch!
        * Changes from Elm 2.4ME+ PL123 (25)
          - Added view folder command to pre-send menu.
            This allows attaching messages from current mailbox
            to mail.
          - Some changes on mail() -function.
          - Moved mailbox related code from libelmme-base.so to
            libelmme-mbox.so.
          - Removed provides_shared_CT
          - Moved some showmsg loops from elm.c to new file 
            showmsg_1.c
          - Changed implementation of elmrc option "extra-mailbox-dir".   
          - Changed implementation of elmrc option "attachment-dir".   
          - Changed implementation of elmrc option "gpg".   
          - Changed implementation of elmrc option "metamail".   
          - Changed implementation of elmrc option "pgp2".   
          - Changed implementation of elmrc option "pgp5-dir".   
          - Changed implementation of elmrc option "print".   
          - Moved some code from lib/charset.c to lib/mparse.c
          - UTF-8 is now required character set on code as is
            US-ASCII. 
          - When catenating strings prefer UTF-8 charset instead
            of display charset
          - Give error if -s 'subject' option is given several
            times to Elm.
          - On batch mode standard input is read for mail
            only when -i (include file) option is not given
           (but actually -i option is not allowed on batch 
            mode.)
          - Added mp_list_set_anon() and mp_lookup_anon() to
            src/screen/menu_param.c.
          - Some cleanup on mailmsg1()
          - Changed default of elmrc variable "names" to NO
          - Removed wra_ReadCh() from src/screen/
          - Removed ReadCh (but not menu_ReadCh())
          - Removed cur_ReadCH from src/screen/curs_input.c
          - Added to menu_ReadCh() / menu_ReadCh2() flag
            READCH_poll, this waits one second for character.
            If character is not given or POLL_METHOD is
            not set, this returns TIMOUT_MARK as flag (or character)
          - Clear redraw flag of prompt area (ie. clear prompt 
            area) after menu_redraw_children() only if redraw flag is set.
          - Moved main messages menu loop to src/mailbox.c from
            src/elm.c
          - exit_prog() no longer call leave but instead
            returns 1 if caller should exit.
          - exit_prog() is renamed to exit_mailbox()
          - quit() no longer call leave but instead
            returns 1 if caller should exit.
          - Added some support for RFC 1738  URL -syntax
            RFC 1738: Uniform Resource Locators (URL)
          - Added some support for RFC 1808  URL-syntax
            RFC 1808: Relative Uniform Resource Locators
          - Added -O 'url' (open url) option to Elm.
            Error is given if this option is given several
            times. 
           WARNING: This option does not ask any confirmation.
          - Added --confirm-url option. This asks confirmation
            for url given on -O option.
          - Added support for RFC 2368 mailto -urls.  
          - It is unclear what character set is used
            on URLs. This especially effects subject
            header and body pseudo header on mailto 
            url. Following rules are used:
               - If URL includes non-ascii characters,
                 charset of (decoded) URL is implied
                 charset of URL
               - If URL includes %XX encoded characters
                 > %7F (ie. non-ascii) charset of
                 decoded URL is UTF-8. This means that
                 %XX encoding is assumed to be use
                 UTF-8 character set.
               - Note that these two rules are on
                 conflict if some, but not all non-ascii
                 characters are % -encoded. 
          - Added dummy handler for http -URLs.    
          - Added some support for imap -URLs.     
            This support is incomplete and does not fully 
            follow RFC 2192.   
            -  ;AUTH=   is not supported
            -  ;TYPE=   is not supported
            -  ;UIDVALIDITY=  is not supported
            -  ;SECTION=      is not supported
            -  ;UID=          is not supported
          * Basically only imap mailbox can be specified, 
            not indivual message or list of messages (search result).
            That is like
                imap://user@full.hostname/inbox  
          - imap server can not be without mailbox.
            That is like
               imap://user@full.hostname/
            it is not currently available.
          - Command
               elm -O imap://user@full.hostname/inbox  
            can be used. That open imap folder 
            similarly than command
               elm -f user@full.hostname:inbox
          - RFC 2192 says that native separator of imap
            is used as hierarchy separator. This implementation 
            accepts URL separator (/) as hierarcy separator
            (even when native separator differ.)
          - Numbers 0-9 are also valid for imap atom. No need to
            convert parameter to string or literal.
          - Added RFC 2369 headers to known headers:
            List-Help, List-Subscribe, List-Unsubscribe,
            List-Post, List-Owner, List-Archive
          - Added 
              "List-ID:", "List-Help:", "List-Subscribe:", 
              "List-Unsubscribe:", "List-Post:", "List-Owner:", 
              "List-Archive:"
            to default weedout list.
          - RFC 2369 List-Help, List-Unsubscribe, 
            List-Subscribe, List-Post, List-Owner and
            List-Archive are parsed.
          - Added Generic R)eply -command. That forms
            following subcommands:
              Ra        Reply to all
              Rl        Reply to a mailing list
              Ro        Reply to the owner of a mailing list
              Rt        Reply to the author of a message
          - Added Mailing list I)nfo -command.  
              Il        Mail a message to a mailing list
              Io        Mail a message to the owner of a mailing list
              Ih        Mailing list help
              Ia        Mailing list archive
              Is        Subscribe a mailing list
              Iu        Unsubscribe a mailing list
            Note that most of these commands are only able to send mail,
            so only mailto: -urls works. 
          - Commands 
              Ih        Mailing list help
              Ia        Mailing list archive
              Is        Subscribe a mailing list
              Iu        Unsubscribe a mailing list
            accepts also (subset of) imap: -urls. These commands 
            cause that a new mailbox is entered (visited) when
            imap: -url refers to whole mailbox. Current
            mailbox is not closed so this works differently
            than c)hange folder -command. Also when the mailbox 
            visited is left, messages are not moved to the =received
            folder. Commands that are available when visiting
            a mailbox via url are somewhat limited (changing of
            folder for example is not available). Actually
            probably command
              Ia        Mailing list archive
            makes sense from these.                  
          - When remote url is referenced, elm asks confirmation
            from user before entering mailbox/folder.
          - Also anonymous imap urls such as
              List-Archive: <imap://full.hostname/inbox>
            are supported.
          - Added common movement routine to src/movement.c.
            This is used by src/attach_menu.c and src/list/select.c
          - Made some changes to attachment screen.
          - Removed cur_Write_to_screen()
          - Removed cur_PutLineX()
          - Added 'E' as E)xtended command -prefix. 
          - Added 'Ed'  as duplication removal mode.       
            Duplicare removal requires that messages have Message-ID.
            When duplicates are collected also some other headers than
            Message-ID is checked that they are same.
            Duplicate removal does not delete messages but shows
            duplicates as one message on mailbox menu. Status changes
            are copied to all duplicates when message is read, tagged,
            flagged or marked for deletion.
          - NOTE: Mailing lists are not currently supported. 
                Specially duplicates are not currently removed
                if mail has any List-* -header.
          - Also on duplicate removal mode folder state does not 
            work and therefore commands which use readmsg. On 
            duplicate removal mode pipe (|) command is not available.
          - Reimplemeted thread sorting (old code did not 
            work with duplication removal mode.)
          * NOTE: threads are still based on subject (as on
            old thread sorting.)
          - Added 'Et' as view t)hreads -command. On viewing
            thread return can be used to select particular
            thread or 'd' can be used to mark all messages of
            thread to be deleted and 'u' can be used to
            mark all messages of thread to be undeleted.
          * NOTE: It is not possible to delete threads. 
            Even when all messages are removed from thread
           (when messages are actually deleted via resync ($)),
            thread is still visible if 'Et' command is used.
          - Added elmrc option "thread-sortby". This specifies
            sorting order for thread view. Possible values 
            are "sent" and "subject" (also "reverse-sent"
            and "reverse-subject").                 
          - If "unstable-reverse-thread" is set, reverse-sent
            sorting of  "thread-sortby" is based on lastest 
            message on thread. Therefore thread moves to new 
            location, when new message arrives to thread.
          - Some code changes on src/messages/
          - Moved show_message_status from lib/mbox/mbox.c
           (originally from  src/screen.c)
            to src/messages/status_common.c
          - Moved status handling from src/menu_common/mailbox.c
            to src/messages/status_common.c. Routines on 
            src/menu_common/mailbox.c does just forwarding.
          - Removed adds_only argument from newmbox_1(). That is
            always FALSE. New mails are read with read_new_mails()
            function.
          - Added "Eo" as o)pen mailbox to current view -command.
            This works similarly with several -f options on command
            line. That command opens new mailbox without closing
            current mailbox. 
          - When displaying some text/plain parts inside of    
            multipart/mixed they are catenated without adding 
            "[ Part #X/X: ... " text between them. Specially
            allows body part to change inside of line. That
            should allow changing a charset inside of line.
          * RFC 2046 says:
           "NOTE:  The CRLF preceding the boundary delimiter 
            line is conceptually attached to the boundary so 
            that it is possible to have a part that does not 
            end with a CRLF (line  break)."
          - Some code changes on content-transfer-encoding 
            decoding routines.
          - State routines did not handle the situation where
            charset of mail changed in the middle of the line. Now
            current line buffer is converted to new charset
            in that case.
          - Added V)iew digest as mailbox
            to 'after paging' (showmsg_c) commands.
          - Removed valid_option_type()
          - Removed charset_valid_magic()
          - Removed valid_stream()
          - Moved some code, which is used only by elm and config file
            parsing tools, from libelmme-base.so to libelmme-misc.so.
          - Moved lib/mediatype.c from libelmme-base.so to
            libelmme-misc.so. It seems to be used only on Elm
            so it should not be on library at all.
          - Changed load_terminal_map() to use malloc_gets() 
            instead of fgets()
          - Added load_mime_types_map() to libelmme-misc.so
          - Added dump_mime_types_map() to libelmme-misc.so
          - Added new tool elmmimetypes, which outputs
            mime.types or elm.mimetypes file.
          - Now elm.mimetypes file is generated to elm's 
            library directory during installation. During 
            Configure file goes to bin/elm.mimetypes.        [J1]
          - Now mime.types file may include magic numbers
            or signature (pattern).
          - It is recommended that both magic numbers and
            extension is given for mime types.     
          - doc/mime.types is updated.
          - Builtin mime types map includes now magic numbers
            so these file extensions do not match if the file
            content do not match the magic numbers (or file
            signature).
          - Changed handling of elm.mimetypes and mime.types
          - If charset is defined on some other file than
            elm.mimetypes or mime.types, these definitions
            are not moved.
          - Removed "compatcharsets" (marked as obsolete)
          - Removed "iso646-charsets" (marked as obsolete)
          - Moved some code from lib/charset.c to lib/misc/charset.c
          - Elmcharset option -c merges elm.mimecharsets or
            mime.charsets file with file given as argument.
          - Configure does not any longer read elm.mimecharsets 
            from elm global library directory. Instead existing
            elm.mimecharsets from elm global library directory
            is merged during installation (with -c option on
            elmcharsets).
          - Elmmimetypes option -c merges elm.mimetypes or 
            mime.types file with file given as argument.
          - Configure does not read elm.mimetypes from 
            elm global library directory. Instead existing
            elm.mimetypes from elm global library directory
            is merged during installation (with -c option on
            elmmimetypes).
          - New values without merging are written to
            elm.mimetypes.NEW, elm.mimecharsets.NEW,
            and elm.terminalinfo.NEW during installation.
          - Configure reports on SunOS 5.10:
              langinfo.h found, testing nl_langinfo(CODESET) support ...
              nl_langinfo(CODESET) seems work, charset for C locale is 646
              wchar.h found
            So 646 need to be mapped to ASCII.
          - Added elmrc option "check-type-pattern". If set
            (default), mime types are checked, when paging
            mail, agaist elm.mimetypes and mime.types. If content
            does not match to any pattern (magic number) given
            for type, that causes a warning. If on  elm.mimetypes or
            mime.types is any entry for type without pattern,
            warning is NOT printed. If warning is printed,
            confirmation is required. This mainly protects routines
            on mailcap to get bogus types. Notice that this does
            NOT protect metamail (if used).
          - Added elmrc option "attachment-fix-extension".
            If set (default), default file extension is set according
            of mime type (appending after existing extension
            of given filename). 
          - If either "attachment-fix-extension" or
            "check-type-pattern",  mime types are checked, when 
            saving mail, agaist elm.mimetypes and mime.types. 
            If content does not match any pattern (magic number) 
            given for type, that causes a warning.
          - Default file extension is not provided, if
            attachment content does not match mime type.
          - When default extension is provided, file browser
            adds that extension after enter is pressed. Then
            user is asked to accept that extension by pressing
            enter second time.
          - Decoding of content-transfer-encoding of attachments of
            attachment is changed. Now content-transfer-encoding
            is decoded to temporary file and after that user is asked
            about filename. The old behauviour was to decode
            content-transfer-encoding directly to file given
            by user. New behauviour is required for checking pattern
            (magic number) of attachments.
          - If content-transfer-encoding is unknown, default extension
            is ".encoded".
          - Folder and file browser now notices if only
            directory name prefix is given (ie. name ending in /)
            and asks confirm (second enter) of name before 
            accepting it. 
          - display_central_message() is called nowhere. Removed it
            and replaced set_central_message() with lib_transient(),
          - Small optimization for default_unidata()
          - Small optimization for mail_gets()
          - Small optimization for parse_body_routine()
          - Small optimization for cs_clip_from_binary()
          - Small optimization for string_cmp()
          - Optimize find_header() by changing data structure.
          - Changes on mbx_mark_keep_normal()
          - Optimize mbx_copy_body_spool()
          - Changed read_line on lib/mbox/localmbx.c
          - cuserid() is not used so it needs not be in
            lib/opt_utils.c either.
          - removed pmalloc() and lib/pmalloc.c -- they are 
            not used
          - Converted readmsg to use lib/mbox/mbox.c if
            state file does not exist.
          - Now readmsg works also for remote mailboxes
          - readmsg no longer removes empty lines from the end
            of message.
          - Small change on folder state file format.
          - Added elmrc option readmsg which tells path to readmsg
            -command (used internally of elm).
          > Meta expand provides:
                +filename       ==  file on mail folder directory
                =filename       ==  file on mail folder directory
                %filename       ==  file on mail folder directory
                {rc}/filename   ==  file on .elm subdirectory of home
                {lib}/filename  ==  file on Elm's global library directory
                {etc}/filename  ==  file on Elm's global configure
                                         directory
                {bin}/filename  ==  file on Elm's binary installation
                                         directory
            And also same epansions than expand_env():
                ~/filename      ==  file on home direccory
                Environment variable components
          - Moved encode.c from src/ to melib/       
          - Moved part of header_parse_helper() from
            src/messages/header_alloc.c 
            to melib/parse_helper.c
          - readmsg now outputs only the text only part of 
            a mail by default.                     
          - Added -r (do raw output) option to readmsg.
          - Pipe (|) -command now uses -r option on readmsg.
          - Readmsg now decodes mime headers, if -r option is not used.
          - If "store" is given to elmrc option "show-header-errors",
            header errors are not immediately printed. Letter 'h' is
            shown as second status letter on that case.
          - If elmrc option "long-encoded-headers" is not set,
            Elm ME+ tries to wrap mime encoded headers so
            that encoded lines are shorter than 80 characters.
            If elmrc option "long-encoded-headers" is set (default), 
            Elm ME+ tries to wrap headers that way that actual data 
            (without encoding) is shorter than 80 characters. This 
            produces over 80 character (and violates MIME) but
            may produce nicer result when headers are displayed 
            with encoding decoded (if some part of header is not
            encoded). This is mainly used on Subject: -header.
          - Removed STATE_in_string from lib/state.c. It is not
            used.
          - Removed STATE_out_string from lib/state.c. It is not 
            used.
          - Allow setting "receivedmail" elmrc option (normally
            "=received") to "none".  This disables
               Move read messages to "received" folder? (y/n)
            question. When "receivedmail" is set to "none", ">"
            can not be used as folder name.
           Requested by: Laura Kataja
          - Allow setting "sentmail" elmrc option (normally
            "=sent") to "none". When "sentmail" is set to "none",
            "<" can not be used as folder name.
          - If "sentmail" is set to "none", "copy" defaults to
            OFF.
          - Removed lib/move_left.c. It is not used.
          - "The attached patch to elm PL122 causes THREAD 
             sorting to go to the bottom of the mailbox if 
             there are no unread messages, instead of the top.  
             This is already done for sorts in mailbox order, 
             sent, and received order, but I use thread by 
             default, so this patch is helpful to me."
           From: Bruce Momjian <bruce@momjian.us>
          - Let elm accept 'kb' from termcap also as
            backspace and not only VERASE value got
            from tty.
          - Allow marking messages deleted also with
            delete key ('kD' from termcap).
          - Let end key ('@7' from termcap) to go
            to the end of the message list. Corresponding to
            that the home key goes to the beginning of the 
            message list.
          - Temporary copy for imap and pop folders 
            is not longer /tmp/mbox.user@host or
            /tmp/mbox.user@host:tail. Instead it is 
            /tmp/mbox.$USER.host.XXXX.XXXX
          - It is possible to use usernames which include
            / -character with IMAP -url syntax (/ need to be
            URL escaped). For example 
                elm -O imap://dom%2Fuser%2Fmbx@server/INBOX
            ( Some exchange servers uses usernames like
              dom/user/mbx )
        See also chapter "Mapping to content-type"
        - NOTE: readmsg now filters only mail headers so that
              readmsg -w From_ 1
          does not work (only -r option shows mailbox separator
          line.)
        - NOTE: Because Elm 2.5 builtin mime.types mapping (*)
          includes
                txt     text/plain
          all text/plain mime part (or attachments) when
          saved got extension ".txt" if attachment-fix-extension
          is set (default).
        (*) As on Elm ME+ 2.5 PLalpha7
        - Removed hdrs/regexp.h
        - sh Configure -SS works as sh Configure -S
          except that it only subsitutes *.SH files.
        - Fix crash when
                elm -S
          is called.
        - Fix canceling of mail crash.
        - Now it is checked that given option combination
          makes sense with implied operation mode.
        - Removed -R rel_path argument from elmregister.
          It is not used.
        - Added -A alternate_source argument to elmregister.
        - This argument is needed on doc/ installation when
          Configure -O option is used.
        - Fixed "make install" when Elm ME+ is build on
          separate build directory (with Configure -O option).
        * Changes from Elm 2.4ME+ PL123a (25)
          - "Looking at my incoming mail I noticed that there is no
             space (empty line) between the end of one message and the 
            beginning of the next message".
           Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
          > Fixed regression from Elm ME+ 2.5 PLalpha10 or
            Elm 2.4ME+ PL122j (25). With IMAP fix from 122j 
            content length does not include ending empty line of mail. 
            Fixed mbx_mark_keep_normal() for that. 
          WARNING: On MMDF case mbx_mark_keep_normal() is not fixed
                   and is probably broken.
          - elm.rc may include 'unidata = none'. Was failing of
             'elmregister replay' because of chmod is failing.
          > Instead do chmod on elmunidata
          - Same also for 'bindata = none' (do chmod on elmunidata).
        * Changes from Elm 2.4ME+ PL123b (25)
          - Avoided error message
                bin/elmregister: [trim_list] Bad command letter: s
          - Fixed valgrind reported memory leak:
            77 bytes in 2 blocks are definitely lost in loss record 11 of 22
              at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
              by 0x40E96C6: safe_realloc (safemalloc.c:64)
              by 0x40DDB39: elm_vmessage (output.c:1302)
              by 0x40DE1B1: elm_message (output.c:1481)
              by 0x809F789: set_folder_window_title (screen.c:82)
          - Fixed valgrind reported memory leak:
            57 bytes in 1 blocks are definitely lost in loss record 8 of 22
              at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
              by 0x40E96C6: safe_realloc (safemalloc.c:64)
              by 0x40FBE18: strmcat (strmcpy.c:40)
              by 0x40416EC: strXcat (terminal.c:91)
              by 0x4043F64: terminal_set_title (terminal.c:1624)
              by 0x80B1865: set_terminal_titles (termtitle.c:59)
        * Changes from Elm 2.4ME+ PL123c (25)
          - Fixed crash when om elmrc have  
            ### pgp2 = none
            "Is that "&&" correct?  Looking at other "none" comparisons 
             in the file, it isn't.  Patch attached, and problem 
             confirmed fixed."
           From: Bruce Momjian <bruce@momjian.us>
        * Change from Elm 2.5
          - Added .elm/mailing.lists file similar than 
            .elm/mlist on Elm 2.5. Global file is 
            $etc/elm.mailinglists (on Elm 2.5 it is 
            $lib/mlists)                                     [J2]
          > Note that syntax, however, is different.
            Specically:
              - Address matching is same as on
                alternatives, so incomplete match requires
                wildcard (*) characters.
              - Tag lines are like
                     [to-me]             ------
                     [to-many]           ======
                     [cc-me]             ==cc==
                when on Elm 2.5 they are
                     [to-me]             (------)
                     [to-many]           (======)
                     [cc-me]             (==cc==)
              - List address pattern is
                     name            <pattern>
                when on Elm 2.5 address pattern is
                     name            <submatch>
                     submatch        (name)
              - There is also alternative matching
                with tag
                     [list]             name
                     List-id:    <list-id>
        - Made some changes on implementation of
          okay_addr.c
        - Added new tool elmmailinglists, which outputs
          mailing.lists or elm.mailinglists file.
        - Configure now copies doc/mailing.lists to 
          bin/elm.mailinglists for installation
        - Configure -M and Configure -S also (re)generates
          bin/elm.mailinglists
        - Elmmailinglists option -c merges elm.mailinglists or 
          mailing.lists file with file given as argument.
        - Configure does not read elm.mailinglists from 
          elm global library directory. Instead existing
          elm.mailinglists from elm global library directory
          is merged during installation (with -c option on
          elmmailinglists).  
        - New values without merging are written to 
          elm.mailinglists.NEW during installation.
        See also chapter "Mailing lists information".
        * New elmrc options from Elm 2.4 PL123 (25)
                thread-sortby
                check-type-pattern
                attachment-fix-extension
                long-encoded-headers
                readmsg
        * New command line options from Elm 2.4 PL123 (25)
                -O              Open url
                --confirm-url   Ask confirmation
        * New tools from Elm 2.4 PL123 (25)
                elmmimetypes
        * Added files from Elm 2.4 PL123 (25)
                src/view_folder.c
                lib/mbox/Makefile.SH
                lib/mbox/def_mbox.h
                lib/mbox/init.c
                lib/mbox/remote_mbx.c
                lib/mbox/shared_mbox.c
                hdrs/mboxlib.h
                hdrs/state_imp.h
                lib/mbox/state.c
                lib/mbox/headers.c
                hdrs/connection_imp.h
                src/showmsg_1.c
                src/url/Makefile.SH
                src/url/def_url.h
                src/url/url.c
                src/url/url_element.c
                lib/mparse.c
                src/url/url_path.c
                src/url/no_url.c
                src/url/mailto.c
                src/block/block.c
                src/block/def_block.h
                src/block/fileblock.c
                src/block/stringblock.c
                src/list/def_list.h
                src/list/Makefile.SH
                src/list/list.c
                src/list/reply.c
                src/list/select.c
                src/list/info.c
                src/movement.c
                src/extended.c
                src/duplicate_removal.c
                src/messages/duplicate.c
                src/messages/status.c
                src/messages/status_common.c
                src/openmailbox.c
                lib/misc/Makefile.SH
                lib/misc/def_misc.h
                lib/misc/init.c
                hdrs/misclib.h
                lib/misc/terminal.c
                lib/misc/mime_types.c
                utils/elmmimetypes.c
                doc/elmmimetypes.1
                ConfTool/GenMimetypes
                lib/misc/charset.c
                src/url/http.c
                src/messages/thread.c
                src/thread.c
                src/messages/thread_messages.c
                src/view_one_thread.c
                melib/type_check.c
                utils/readmsg/Makefile.SH
                utils/readmsg/def_readmsg.h
                utils/readmsg/fstate.c
                utils/readmsg/wrapper.c
                hdrs/readmsg.h
                utils/readmsg/folder.c
                lib/mbox/error.c
                melib/parse_helper.c
                src/url/imap.c
                src/mailbox.c
                src/list/visit_mailbox.c
        * Removed files from Elm 2.4 PL123 (25)
              lib/move_left.c
        * Renamed files from Elm 2.4 PL123 (25)
              lib/mbox.c        => lib/mbox/mbox.c
              lib/localmbx.c    => lib/mbox/localmbx.c
              lib/savefolder.c  => lib/mbox/savefolder.c
              lib/imap.c        => lib/mbox/imap.c
              lib/pop.c         => lib/mbox/pop.c
              lib/mk_lockname.c => lib/mbox/mk_lockname.c
              lib/realfrom.c    => lib/mbox/realfrom.c
              lib/forwarded.c   => lib/mbox/forwarded.c
              lib/header_cmp.c  => lib/mbox/header_cmp.c
              lib/expires.c     => lib/mbox/expires.c
              lib/parsarpdat.c  => lib/mbox/parsarpdat.c
              lib/getword.c     => lib/mbox/getword.c
              lib/mediatype.c   => lib/misc/mediatype.c
              utils/readmsg.c   => utils/readmsg/readmsg.c
              src/encode.c      => melib/encode.c
        * Added files from Elm 2.5
              lib/misc/mlist.c (reimplementation from lib/mlist.c)
        New tools:
              elmmailinglists
        New files:
              lib/misc/conf_writer.c
              utils/elmmailinglists.c
              doc/elmmailinglists.1
              doc/mailing.lists
              ConfTool/GenMailinglists
        Removed files:
              hdrs/regexp.h
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [J1] New "mime-types" file added to $libdir.
        [J2] Added the mailing list stuff done by      
             Paul Close <pdc@sgi.com>

Changes on Elm ME+ 2.5 PLalpha10 compared with Elm ME+ 2.5 PLalpha9

        * Changes from Elm 2.4ME+ PL122j (25)
          - Elm ME+ failed to wrap mime encoded Subject: header 
            under 80 characters on some situations.         
          - Fix return value of get_word_from_string()
          - Fix case where "Metamail selection" -screen actually 
            not prompted for metamail.
          - Fix segmentation violation -crash when elm is
            called as
              elm --mailbox-title=xxx -f x -f z
           (when given folders do not exists.)
          - Fix (or work around) error
               Message contains bare newlines
            when saving to some IMAP servers.
        * Changes from Elm 2.4ME+ PL122k (25)
          - Make little better decoding of MIME encoding
            of subject. Specially allow more than one space
            between mime encoded words.
          - Changed spelling of "Millenium" to "Millennium".
           Suggested by: Rob Kendrick <rjek@rjek.com>
          * In my English to Finnish dictionary there is a word 
            "millenium". And there is no word "millennium" in 
            the dictionary. But apparently my dictionary is wrong.
        * Changes from Elm 2.4ME+ PL122l (25)
          - Fix crash when loading garbage spool folder (ie. mailbox).
          - Elm failed add / to tmp elmrc variable when
            it was initialized from $TMPDIR
          - Some compilation fixes on SunOS.
          * NOTE: Changes for SunOS 5.10 are only compile tested.
            It is not tested that they produce working code.
          - tputs() workaround on Elm 2.4ME+ PL122d (25) 
            causes compilation warning on SunOS, if compiled
            with gcc. Use workaround only when gcc
            is not used.
        - Change from Elm 2.5:          
          - Changed a text on Configure about disabling shell 
            escapes.                                        [I1]
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [I1] Add a warning to Configure about disabling shell 
             escapes (from Keith Neufeld<neufeld@pvi.org>)

Changes on Elm ME+ 2.5 PLalpha9 compared with Elm ME+ 2.5 PLalpha8

        * Changes from Elm 2.4ME+ PL122f (25)
          - When saving mail forder time on "From " -separator
            line was shifted by one hour if it was on different
            zone than current time (ie. on daylight saving time 
            versus normal time).
          - Folder browser was showing wrong entry on prompt line
            after TAB -character. 
        * Changes from Elm 2.4ME+ PL122g (25)
          - Fix expensive debug loop on imap.c (so that loop is not run
            if dubugging is not used.)
          - Fix redraw handling on do_pipe
          - "elm -vvv"   was printing wrong output:
                Mailer:            unknown; path="/usr/sbin/sendmail"
            instead of
                Mailer:            sendmail; path="/usr/sbin/sendmail"; 
                                         add-from="dont"; 
                                         supported-bodytype="8bit"; 
                                         supports-dsn="yes"
            (actually on one line)
        * Changes from Elm 2.4ME+ PL122h (25)
          - "I built your latest elm today and came across a smail 
             issue as I build it on several architectures from the 
             same source tree. I found make clean fails to remove 
             utils/reghelper.o which leads to a failure to link 
             obvously..."
           Reported by: janjaap@stack.nl (Janjaap van Velthooven)
          > Added reghelper.o to UTIL_OBJ
          - Added 'V' - command (View digest as mailbox) to help.
          - Added resort_mailbox() to  leaving of A)ssemble message
            fragments -command/mode. Otherwise main mailbox is
            incorrectly sorted if new mail was arrived when A)ssemble 
            message fragments -mode was active.
          - Fix possible redraw loop when prompting password
          - On A)ssemble message fragments -command menu there
            is "o)ptions" -command, but actual command was missing.
            Added 'o' to command loop.
          - On digest viewing menu  there is "o)ptions" -command, 
            but actual command was missing. Added 'o' to command loop.
        * Changes from Elm 2.4ME+ PL122i (25)
          - If mime part (or attached file) did not end in a newline, 
            garbage from the next part (until the first LF) was included 
            in the end of that part. That happened when the file
            or mime part didn't have an LF in the end and it was not 
            required to be content-transfer-encoded.
          > Fixed copy_part()
        - Change from Elm 2.5:          
          - Added command 'L'    (move to last line of page)     [H1] 
          - Added command 'H'    (move to first line of page)    [H1]
        NOTE: http://www.ozone.fmi.fi/KEH/ do not exists.
              Use http://www.elmme-mailer.org/ instead.
              Elm ME+ 2.5 exists on
                 http://www.elmme-mailer.org/elm-ME+2.5.html
              and
                 ftp://ftp.elmme-mailer.org/elmme-mailer.org/src/elm-ME+2.5/
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [H1] Added vi-style `H'' and `L'' commands to go to the 
             top |and bottom of the current indexed (Index, Alias) 
             screen (from Keith Neufeld<neufeld@pvi.org>)

Changes on Elm ME+ 2.5 PLalpha8 compared with Elm ME+ 2.5 PLalpha7

        - "Bad News - I tried to use it to send a jpeg attachment
           EXACTLY like I did yesterday with alpha6 and it died ie
                  MIME PANIC: application/octet-stream
           is not known
               MIME PANIC in attach_menu.c:2165:mime_t_clear
               >>>application/octet-stream is not known
           Emergency exit taken! All temp files intact!"
         Reported by: James Corey <ploveregg@yahoo.com>
        > Code assumed that application/octet-stream
          was predefined type on lib/mediatype.c. Instead
          just use create -flag on give_media_type2() call.
        - Dropped support of AT&T Mail Forms. That is
              Content-Type: mailform
          Also correspond elmrc option  'forms' is marked
          as obsolete.
        * Changes from Elm 2.4ME+ PL122e (25)
          - O)verride charset -command did was not effect on
            non-MIME messages.
          - Characters on "Change to which folder:" -prompt
            was echoed to wrong place after 
            "Already reading that folder!" -message.
        - Removed extra redraw flag from mail()
        Removed files:
                src/forms.c
        Removed elmrc options:
                forms
                form

Changes on Elm ME+ 2.5 PLalpha7 compared with Elm ME+ 2.5 PLalpha6

        - init_defaults() was called twice on src/init.c
        - "I tried your patch for ELM 2.5 alpha5 and it 
           failed to compile on Solaris. So tried the same thing with the
           new ELM 2.5 alpha6. Same thing."
          "cs_wfallback.c: In function `init_fallback':
           cs_wfallback.c:165: `Debug' undeclared (first use in
           this function)"
         Reported by: James Corey <ploveregg@yahoo.com>
        > Moved DEBUG_VAR(Debug,__FILE__,"charset")
          outside of #if 0
        - Some changes on code how content-type of attachment is
          detected.
        - Added .txt extension for built-in default as text/plain
          (text/plain is generally default on attachment code, but
           that also overrides application/octet-stream if binary 
           data is found.)
        - Allow on [include -command to left out content-type. [G1]
          In that case mime.types file and same internal mapping
          is used than on Attachment Menu. However there is no
          default content type as is on Attachment Menu.
        - Note that  RFC 2231 encoding is NOT done MIME
          content-type parameters given on mime.types file!
          Elmrc option "mime-parameters" have no effect on that
          case.
        - Now charset= -parameter is added automatically on 
          [include  -command, if type is text and on file have
          8-bit data. This is similar than on Attachment Menu.
        - Elm2.4ME+ PL0 (25)  supported  wildcard '*' on
          alternatives list. Support was probably lost on
          Elm2.4ME+ PL54 (25).                           
        - Added support again. However @ -character should be
          included on alternatives -list and not replaced 
          with wildcard.                                       [G2]    
        - Character '*' matches to any number of charaters and
          '?' character match to any single character.
        - Added /usr/sfw/bin:/usr/ccs/bin to PATH on Configure
          for Solaris.
          Hint from: James Corey <ploveregg@yahoo.com>
        - Let Configure locate ar and nm (and ranlib) instead
          just using PATH
        - Let makefiles use ar -command located by Configure
        - Use both curses.h and term.h on SunOS (Solaris), 
          not only term.h
        - Some changes of SunOS (Solaris)
        - Moved curses.h and term.h including from curses.c
          to def_screen.h before including termios.h.
        - SunOS 5.10 (Solaris) have problematic prototype
          for tputs() and do not have prototype for tgoto()
          when __STDC__ is defined. Added some workarounds.
        * Changes from Elm 2.4ME+ PL122d (25)
          - On some cases filename -parameter was generated twice to
            Content-Disposition -header.
          - Tagged flag of current message was not cleared
            on V)iew digest command.
          - Allow canceling 
                Already have selection criteria - add more?
            prompt with Ctrl-C (interrupt character) on systems
            which supports POSIX termios.
          - Fix USGNAMES compilation.
          - browser_descend_local() did not handled correctly case
            where given filename did not included path (and
            there was directory already selected.)
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [G1] The content-type is now optional to [include ...].  
             That is, you can say just [include filename] and 
             Elm will guess both the content type and encoding.
        [G2] The wildcard '*' is now allowed in the alternatives 
             list.  For example, wfp5p@*virginia.edu matches user 
             wfp5p for all machines at virginia.edu.
             (from Michael Elkins <elkins@aero.org>).

Changes on Elm ME+ 2.5 PLalpha6 compared with Elm ME+ 2.5 PLalpha5

        * Changes from Elm 2.4ME+ PL122b (25)
          - Ctrl-T 'all' did not updated messages on screen
            to be tagged when visible messages was limited 
            with l)imit -command.
          - Ctrl-T 'flagged' did not updated messages on screen
            to be tagged when visible messages was limited 
            with l)imit -command.
        * Changes from Elm 2.4ME+ PL122c (25)
          - Fix valgrind reported error on case
              elm -i non-existing-file address
            Conditional jump or move depends on uninitialised value(s)
              at 0x808B83E: reset_parts (mime.c:105)
              by 0x808B9D6: free_mime_send_info (mime.c:144)
              by 0x80871B9: mail (mailmsg2.c:1351)
              by 0x8083910: send_msg_middle (mailmsg1.c:589)
          - Ctrl-T {pattern} did not updated messages on screen
            to be tagged when visible messages was limited 
            with l)imit -command.
          - Enchance redrawing on
               Delete message?
               "received" folder not available, continue leaving folder?
               Move read message to "received" folder?
            -prompts.
          - Fix -Wtraditional warning:
             mailer.c:1644: warning: non-static declaration for 
               `sendmail_mailer_backend' follows static
          - Fix -Wtraditional warning:
             mailer.c:1902: warning: non-static declaration for 
               `submitmail_mailer_backend' follows static
          - Fix -Wtraditional warning:
             mailer.c:1932: warning: non-static declaration for 
               `execmail_mailer_backend' follows static
        - "I configured ELM 2.5 alpha 5 just like my ELM 2.5
           alpha 4 that compiles nicely and got the following
           error from init.c on Solaris 8 gcc.
           <...>
           In file included from init.c:14:
              ../../hdrs/shared_imp.h:118: parse error before `*'
              init.c:18: `rc_DT_SHARED' undeclared here (not in a
              function)"
          Problem noted by: James Corey <ploveregg@yahoo.com>
         > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS
           was not defined.
        - Added -O object-dir argument to Configure      
        - sh somedirectory/Configure.SH no longer build ELm ME+
          on somedirectory. Instead current directory is treated
          as implicit -O `pwd` option of Configure.            [F1]
        - Configure itself still run on UU -directory on source
          tree.
        - Some untested SunOS 5 changes to Configure.
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [F1] Added Chip Rosenthal's <chip@unicom.com> change to 
             allow builds in a separate directory.

Changes on Elm ME+ 2.5 PLalpha5 compared with Elm ME+ 2.5 PLalpha4

        Note: You must create directory
                  lib/mailer
              before applying this patch!
        * Changes from Elm 2.4ME+ PL122 (25)
          * Some changes on screen handling:
            - Moved title, menu and prompt area on mailbox,
              aliases and attachment screens to own subpage.
            - Changed layout of attachment screen more similar than 
              other screens.
            - Removed redraw flag from main loop. 
            - Removed nufoot flag from main loop.  
            - Removed redraw flag from mailbox_command().  
            - Removed redraw flag from motion().   
            - Removed nufoot flag from mailbox_command().  
            - Removed nufoot flag from motion().     
            - Removed redraw flag from new_mail_check().
            - Removed redraw flag from partial_loop(). 
            - Removed nufoot flag from partial_loop().    
            - Removed redraw flag from digest_loop().    
            - Removed nufoot flag from digest_loop().    
            - Removed redraw flag from view_canceled_mails().   
            - Removed nufoot flag from view_canceled_mails().   
            - Removed redraw flag from alias().    
            - Removed nutitle flag from alias().      
            - Removed nufoot flag from alias().   
            - Changed passing of redraw data from remail().   
            - Removed redraw flag from remail().
            - Changed passing of redraw data from forward(). 
            - Changed passing of redraw data from reply_to_everyone().   
            - Removed redraw flag from reply_to_everyone().
            - Changed passing of redraw data from  send_msg_l()
              and send_msg_middle().
            - Changed passing of redraw data from reply(). 
            - Removed redraw flag from reply(). 
            - Changed passing of redraw data from  mail_filled_in_form().
            - Changed passing of redraw data from  pgp_mail_public_key().
            - Changed passing of redraw data from  print_text().
            - Changed passing of redraw data from  save().
            - Changed method how headers on aliases and mailbox
              screen are drawn and updated.
            - Removed inalias, last_current, last_header_page,
              headers_per_page and nucurr global variables.
            - One more mail is listed on mailbox screen.
            - Removed passing of header_page variable. 
            - Changed method how screen is handled on 'after
              paging' commands (showmsg_c).
            - Removed/changed passing of redraw flag on file_browser(),
              gen_browser() folder_browser(), attach_save()
            - Changed passing of redraw data from  name_copy_file().
            - Changed handling of 'prompt area' on Mail Pre-Send Screen
              and on Message Header Edit Screen screen.
          - If several -f option is given (for combined view
            of given folders), starting of Elm ME+ do not fail
            if first folder is inaccessible.
          - Handle REDRAW_MARK on pgp_encrypt()
          - "If you had no aliases yet, and pushed j or k in the 
             aliases menu (or the down or up arrows), you had a 
             "bad item" "common menu panic". The reason was a 
             missing "break" statement in alias_item.c, which was 
             present in the approprite place in mailbox_item.c"
           From: Kovacs Baldvin <baldvin@cs.elte.hu>
           ( Patch was agaist Elm ME+ 2.5 but applies also to  Elm
             2.4ME+ )
          - Fix error message
                Path component "none" not absolute on key 
                 "internal-mailcaps" value "none"
            when on elmrc have line
                internal-mailcaps = none
          - Added elmrc option "pgp-encrypt-type", which take values
            "application/pgp", "text/plain" and "text/x-pgp" (without
            quotes). These are same values than for pgp-sign-type.
            Except that this is for encryption. Because encrypted data
            is ascii armored, also text -type can be used here.
           Requested by: Axel Reinhold <axel@freakout.de>
           NOTE: Note that using text/plain for excrypted data causes 
                 that charset=US-ASCII is used always (for type
                 application/pgp charset paramater is not added). 
                 It is little guestionable is that correct. These
                 encrypted types do not interact very well with charsets 
                 anyway.
          - "MIME structure Menu" was draw incorrectly when arrow cursor
             was used.
          - "MIME structure Menu" screen's layout now resembles more
             main mailbox screen.
          - Handle some ambiguous multipart boundary prefixes.
          - Ignore empty line before "begin " on uudecode.
          - "I am seeing two exit messages if I start elm and exit right away 
             using ELM 2.4ME+ PL121"
           Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
          - "On a Solaris 8 machine, if I enter ELM and don't make
             any changes it now says "Folder unchanged." twice.
             Not a big deal, but I thought I should report it. :-)"
           Problem noted by: James Corey <ploveregg@yahoo.com>
          > Make sure that first message is erased on exit (usually
            ti/te erases screen or changes buffers, but that
            apply to "elm -t" also.)
          - Added elmrc option "prompt-metamail".    
            If set, also text           
               Parsing MIME structure... metamail not needed
            is not printed after
               Parsing MIME structure... 
            text, because opposite situation will be prompted!
          - Setting "prompt-metamail" (default) causes
            showing of "Metamail selection" screen. This is
            same screen than "Mailcap program selection" screen.
            Answering prompt with p)age command changes screen
            to "Mailcap program selection" screen. Answering
            proompt with m)etamail command calls metamail.
          - Allow canceling of
               Mailcap program selection
            with Ctrl-C (interrupt character) on systems
            which supports POSIX termios.
          - Canceling of
               Append to an existing file XXX ?
               Append to mail folder XXX ?
               Create a new file XXX ?
               Create a new mail folder XXX ? 
               Some XXX are already tagged. Remove Tags?
               One XXX is already tagged. Remove Tags?
               Are you sure you want to remail this message ?
            prompts  with Ctrl-C (interrupt character)  is possible
            on systems which supports POSIX termios.
          - Added to 
               Mailcap program selection
            screen same title than on pager (on case when elmrc
            option "titles" is set (default)).
          - "First I did not even understand what I am asked
             in the attach menu. I tried a .ps file, then I had 
             a question "Use gnome-gv to..." blabla, yes or no. 
             And down there I had "Answer questions, or m)etamail, 
             or q)uit". Now "quit" did not quit from aliases, 
             but instead it behaved as an "OK". Pushing 'm' worked, 
             but I did not know wether it utilized the answer that 
             I gave already, since it asked again (!) if I'd like 
             to use gnome-gv. "F?ck, I do", I thought... Then I've 
             realized what is going on: after I answered yes for 
             the first question, I need to say quit, and then I get 
             gnome-gv..."
           Problem noted by: Kovacs Baldvin <baldvin@cs.elte.hu>
          > Changed q)uit command to d)one on
              Mailcap program selection
            screen.
          - Letters 'q' and 'i' leaves now 
                Mailcap program selection
            without paging message. Note that this changes 
            meaning of 'q' -command.
          - Added O)verride charset and Ctrl-K (Mail PGP public key)
            to 'after paging' (showmsg_c) commands.
          - Added redraw handling to following prompts:
                Already have selection criteria - add more?
                Enter criteria or '?' for help:
          - Fix valgrind reported memory leak:
            32 bytes in 2 blocks are definitely lost in loss record 6 of 28
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8151DBF: safe_malloc (safemalloc.c:47)
              by 0x8069EEE: attach_menu (attach_menu.c:2433)
          - Add redraw handling to display_file()
          - Fix "Reverse Thread" sorting order.
          - Fix valgrind reported memory leak:
            56 bytes in 5 blocks are definitely lost in loss record 9 of 28
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8147F8F: safe_malloc (safemalloc.c:47)
              by 0x80E9095: new_state_1 (charset_input.c:18)
              by 0x80F9FFC: cs_add_streambyte_to_utf8 (cs_utf.c:348)
          - Fix valgrind reported memory leak:
            16 bytes in 2 blocks are definitely lost in loss record 3 of 28
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8147F8F: safe_malloc (safemalloc.c:47)
              by 0x8163E41: malloc_string (string.c:116)
              by 0x8163FBC: new_string (string.c:153)
              by 0x80876EA: read_number (in_utils.c:282)
          - Fix valgrind reported memory leak:
            30 bytes in 1 blocks are definitely lost in loss record 7 of 29
              at 0x4002668F: realloc (vg_replace_malloc.c:310)
              by 0x8148225: safe_realloc (safemalloc.c:63)
              by 0x8133394: elm_vmessage (output.c:1281)
              by 0x8133A5E: elm_message (output.c:1460)
              by 0x80FD9DA: init_debug (debug.c:58)
          - Fix valgrind reported memory leak:
            8 bytes in 1 blocks are definitely lost in loss record 1 of 31
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8148173: safe_malloc (safemalloc.c:47)
              by 0x8145BA9: split_remote_name (remote_mbx.c:620)
              by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
          - Fix valgrind reported memory leak:    
            14 bytes in 1 blocks are definitely lost in loss record 3 of 31
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8148349: safe_strdup (safemalloc.c:79)
              by 0x8145B8E: split_remote_name (remote_mbx.c:618)
              by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
          - Fix valgrind reported memory leak:
            8 bytes in 1 blocks are definitely lost in loss record 1 of 30
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8148237: safe_malloc (safemalloc.c:47)
              by 0x8164109: malloc_string (string.c:116)
              by 0x8164FDC: cat_strings (string.c:449)
              by 0x81307E5: elm_smessage (output.c:857)
              by 0x8087063: prompt_letter (in_utils.c:84)
          - Fix valgrind reported memory leak:
            29 bytes in 5 blocks are definitely lost in loss record 7 of 30
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8148243: safe_malloc (safemalloc.c:47)
              by 0x8105414: rfc822_tokenize (getaddr.c:37)
              by 0x8061333: do_expand_group_l (aliaslib.c:88)
          - Fix valgrind reported memory leak:
            7104 bytes in 1 blocks are definitely lost in loss record 27 of 29
              at 0x4002668F: realloc (vg_replace_malloc.c:310)
              by 0x8148339: safe_realloc (safemalloc.c:63)
              by 0x80BFA69: add_canceled_mail1 (canceled_mail.c:1291)
          - Fix valgrind reported memory leak:
            8 bytes in 1 blocks are definitely lost in loss record 2 of 29
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x814826B: safe_malloc (safemalloc.c:47)
              by 0x816413D: malloc_string (string.c:116)
              by 0x81642B8: new_string (string.c:153)
              by 0x80885D9: enter_helper (in_utils.c:656)
              by 0x8089324: optionally_enter2 (in_utils.c:1115)
              by 0x808E52B: limit (limit.c:110)
          - Removed pattern_enter()
          - Fix "Append to mail folder " -question.
          - Changed IMAP \Flagged that they are not longer 
            tagged (+), but instead marked with new flag (F)
            as flagged.                               
          - \Flagged is shown on place of '+' on screen as 'F'.
          - \Flagged can be modified with with new toggle F)lag command
          - Flag is saved as letter F on Status: -header for 
            local mailbox
          - Giving argument "flagged" (without quotes) to l)imit 
            command selects flagged messages. That is not mentioned "?"
            help of l)imit command, because it it does not fit to
            80 characters.  That is similar than "tagged" argument
            to l)imit command.
          - Command Ctrl-D accepts argument "flagged" (without quotes)
            which deletes all visible flagged messages.
          - Command Ctrl-D accepts argument "flagged" (without quotes)
            which tags all visible flagged messages.
          - Command Ctrl-U accepts argument "flagged" (without quotes)
            which undeletes all visible flagged messages.
          - Changed Ctrl-D command with argument "tagged" (without quotes)
            so that it deletes only all visible tagged messages
            (it was deleting also messages which was not on limited
             selection.)
          - Set close-on-exec flag for opened local mailbox.
          - "I am seeing two exit messages if I start elm and exit right away 
             using ELM 2.4ME+ PL121"
           Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
          - "On a Solaris 8 machine, if I enter ELM and don't make
             any changes it now says "Folder unchanged." twice.
             Not a big deal, but I thought I should report it. :-)"
           Problem noted by: James Corey <ploveregg@yahoo.com>
          > Make sure that first message is erased on exit (often
            ti/te erases screen or changes buffers, but that
            problem apply to "elm -t" also.)
          - Fix case whare ascii only mail was sent with headers
              Content-Transfer-Encoding: 7bit
              Content-Type: text/plain; charset=ISO-8859-1
            instead of
              Content-Transfer-Encoding: 7bit
              Content-Type: text/plain; charset=US-ASCII
          - Added mlterm to terminal.info without charset UTF-8.
            To actually use that terminal definition you need also 
            doc/term/mlterm.ti from mlterm distribution. Install it 
            with 'tic' command. Then you need start  start mlterm with 
            'mlterm -y mlterm'  option, otherwise mlterm sets $TERM to 
            xterm.
          - Seems that mlterm do not handle return to ISO 2022 code 
            ( ESC % @ ) or switch to UTF-8 code ( ESC % G ) ?
          - Also Elm ME+ do not handle double wide UTF-8 characters
          - Fixed case where switch to UTF-8 code ( ESC % G )
            was given on several times. However after ESC % G
            only ESC % @ is valid.
          - Now ConfTool/GenCharmap adds mapping from ConfTool/mapfiles
            to bin/elm.mimecharsets even when elm.mimecharsets have
            already alias definition for charset.       
          - Added eucJP, eucKR, EUC-CN, GB2312, eucCN and
            Big5-HKSCS, Big5HKSCS to ConfTool/CharMap
          - Let ConfTool/LocaleMap also to use ConfTool/validcharset
          - Changed on lib/precompiled_sets.c:
             * Changed "ECMA-cyrillic" type from cs_unknown 
               to cs_ascii and given mime name KOI8-E
             * Added ISO 2022 code for KOI8-E (ISO-IR-111)
             * Added ISO 2022 code for IRV (codeset "ISO_646.irv:1983")
               (ISO-IR-2)
             * Added ISO 2022 code for ISO646-GB (codeset "BS_4730")
               (ISO-IR-4)
             * Changed codeset "NATS-SEFI" (ISO-IR-8-1) type from
               cs_unknown to cs_iso646 
             * Added ISO 2022 code for codeset "NATS-SEFI" (ISO-IR-8-1)
             * Added ISO 2022 code for codeset "NATS-SEFI-ADD"
               (ISO-IR-8-2)   (XX)
             * Added ISO 2022 code for codeset "NATS-DANO"
               (ISO-IR-9-1)
             * Added ISO 2022 code for codeset "NATS-DANO-ADD"
               (ISO-IR-9-2)   (XX)
             * Added ISO 2022 code for ISO646-FI (codeset
               "SEN_850200_B") (ISO-IR-10)
             * Added ISO 2022 code for ISO646-SE2 (codeset
               "SEN_850200_C") (ISO-IR-11)
             * Added ISO 2022 code for codeset "KS_C_5601-1987"
               (ISO-IR-149)  (XX)
             * Changed codeset "KS_C_5601-1987" type from
               cs_unknown to cs_iso2022
             * Added ISO 2022 code for codeset "JIS_C6220-1969-jp"
               (ISO-IR-13)  (XX)
             * Changed codeset "JIS_C6220-1969-jp"  type from
               cs_unknown to cs_iso2022
             * Added ISO 2022 code for ISO646-IT (codeset "IT")
               (ISO-IR-15)
             * Added ISO 2022 code for ISO646-PT (codeset "PT")
               (ISO-IR-16)
             * Added ISO 2022 code for ISO646-ES (codeset "ES")
               (ISO-IR-17)
             * Added ISO 2022 code for codeset "greek7-old"
               (ISO-IR-18)
             * Added ISO 2022 code for codeset "latin-greek" (ISO-IR-19)
             * Added ISO 2022 code for ISO646-DE (codeset "DIN_66003")
               (ISO-IR-21)
             * Added ISO 2022 code for ISO646-FR1 
               (codeset "NF_Z_62-010_(1973)") (ISO-IR-25)
             * Added ISO 2022 code for codeset "Latin-greek-1" 
               (ISO-IR-27)
             * Added ISO 2022 code for codeset "ISO_5427" (ISO-IR-37)
             * Added ISO 2022 code for codeset "JIS_C6226-1978" 
               (ISO-IR-42) (XX)
             * Changed codeset "JIS_C6226-1978" from type cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for codeset "BS_viewdata"
               (ISO-IR-47)
             * Added ISO 2022 code for codeset "INIS" 
               (ISO-IR-49)
             * Added ISO 2022 code for codeset "INIS-8" 
               (ISO-IR-50)
             * Added ISO 2022 code for codeset "INIS-cyrillic" 
               (ISO-IR-51)
             * Added ISO 2022 code for codeset "ISO_5427:1981" 
               (ISO-IR-54) (XX)
             * Added ISO 2022 code for codeset "ISO_5428:1980" 
               (ISO-IR-55)
             * Added ISO 2022 code for codeset "ISO_5428:1980" 
               (ISO-IR-55)
             * Added ISO 2022 code for ISO646-CN (codeset "GB_1988-80")
               (ISO-IR-57)
             * Added ISO 2022 code for codeset "GB_2312-80" 
               (ISO-IR-58)  (XX)
             * Changed codeset "GB_2312-80" type from cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for ISO646-NO (codeset "NS_4551-1")
               (ISO-IR-60)
             * Added ISO 2022 code for ISO646-NO2 (codeset "NS_4551-2")
               (ISO-IR-61)
             * Added ISO 2022 code for ISO646-FR (codeset "NF_Z_62-010")
               (ISO-IR-69)
             * Added ISO 2022 code for codeset "videotex-suppl" 
               (ISO-IR-70)  (XX)
             * Added ISO 2022 code for ISO646-PT2 (codeset "PT2")
               (ISO-IR-84)
             * Added ISO 2022 code for ISO646-ES2 (codeset "ES2")
               (ISO-IR-85)
             * Added ISO 2022 code for ISO646-HU (codeset "MSZ_7795.3")
               (ISO-IR-86)
             * Added ISO 2022 code for codeset "JIS_C6226-1983"
               (ISO-IR-87)  (XX)
             * Changed codeset "JIS_C6226-1983" type from cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for codeset "ASMO_449"
               (ISO-IR-89)  
             * Added ISO 2022 code for codeset "iso-ir-90"   (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-a"
               (ISO-IR-91)
             * Added ISO 2022 code for ISO646-JP-OCR-B 
               (codeset "JIS_C6229-1984-b")  (ISO-IR-92)
             * Added ISO 2022 code for "JIS_C6229-1984-b-add" 
               (ISO-IR-93)  (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-hand"
               (ISO-IR-94)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-hand-add"
               (ISO-IR-95) (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-kana"
               (ISO-IR-96) 
             * Added ISO 2022 code for codeset "ISO_2033-1983"
               (ISO-IR-98)  (XX)
             * Added ISO 2022 code for codeset "ANSI_X3.110-1983"
               (ISO-IR-99)  (XX)
             * Added ISO 2022 code for codeset "T.61-7bit"
               (ISO-IR-102)  
             * Added ISO 2022 code for codeset "T.61-8bit"
               (ISO-IR-103)  
             * Added ISO 2022 code for ISO646-CA 
               (codeset "CSA_Z243.4-1985-1") (ISO-IR-121)
             * Added ISO 2022 code for ISO646-CA2 
               (codeset "CSA_Z243.4-1985-2") (ISO-IR-122)
             * Added ISO 2022 code for codeset 
               "CSA_Z243.4-1985-gr" (ISO-IR-123) (XX)
             * Added ISO 2022 code for codeset 
               "T.101-G2" (ISO-IR-128) (XX)
             * Added ISO 2022 code for codeset 
               "T.101-G2" (ISO-IR-128) (XX)
             * Added ISO 2022 code for codeset "CSN_369103"
                (ISO-IR-139)
             * Changed codeset "CSN_369103" type fom cs_unknown
               to cs_ascii
             * Added ISO 2022 code for ISO646-YU 
               (codeset "JUS_I.B1.002") (ISO-IR-141)
             * Added to ISO646 sets that MIME-subset=INVARIANT
             * Added ISO 2022 code for codeset "ISO_6937-2-add"
                (ISO-IR-141)
             * Added ISO 2022 code for codeset "IEC_P27-1"
               (ISO-IR-143)
             * Changed codeset "IEC_P27-1" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "JUS_I.B1.003-serb"
               (ISO-IR-146)
             * Added ISO 2022 code for codeset "JUS_I.B1.003-mac"
               (ISO-IR-147)
             * Added ISO 2022 code for codeset "greek-ccitt"
               (ISO-IR-150)
             * Added ISO 2022 code for ISO646-CU 
               (codeset "NC_NC00-10:81") (ISO-IR-151)
             * Added ISO 2022 code for codeset "ISO_6937-2-25"
               (ISO-IR-152)
             * Changed codeset "ISO_6937-2-25" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "GOST_19768-74"
               (ISO-IR-153)
             * Changed codeset "GOST_19768-74" type from cs_unknown to
               cs_ascii
             * Added ISO 2022 code for codeset "GOST_19768-74"
               (ISO-IR-153)
             * Added ISO 2022 code for codeset "ISO_8859-supp"
               (ISO-IR-154) (XX)
             * Changed codeset "ISO_8859-supp" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "ISO_10367-box"
               (ISO-IR-155) (XX)
             * Changed codeset "ISO_10367-box" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "latin-lap"
               (ISO-IR-158) (XX)
             * Changed codeset "latin-lap" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "JIS_X0212-1990"
               (ISO-IR-159) (XX)
             * Changed codeset "JIS_X0212-1990" type from cs_unknown
               to cs_iso2022
             (XX) Actually it is unclear what that is supposed to mean
                  on context of 
                     http://www.iana.org/assignments/character-sets 
                  Most of these are not standalone character sets on 
                  that sense what MIME use term 'charset' ....
          - Configure now tests if system support wchar_t type
            functions. 
          - Moved code of unknown charset type (cs_unknown)
            from lib/cs_binary.c to lib/cs_unknown.c 
          - File lib/cs_wfallback.c includes 'fallback' 
            mapping for whar_t, similar than lib/cs_fallback.c
            files 'fallback' definition.
          - Unknown system (locale) charset is now implemented
            with wide characters (wchar_t) on systems which
            support it. Also support of wcwidth() function is
            tested separately.
          - On some cases that may cause warning/error message
            "Unknown charsets are unsupported as keyboard input!"
            to be printed (specially if there is significant state
            used on keyboard input.)
          - If __STDC_ISO_10646__ is defined, then wchar_t
            is assumed to be Unicode (and 'fallback' mapping
            is not needed.)
          - Added elmrc option "locale-charsets" for systems
            which have __STDC_ISO_10646__ defined. Given
            charset names is type unknown used for system (locale)
            charset, even when Elm ME+ is builtin definition
            for charset.
          - Added to  terminal.info  file new keyword DW.
            This indicates for unknown system charset that wcwidth()
            function should be used to get char width.
            This means that logical width of character
            may be 0,1 or 2 columns on that terminal.
          - Keyword DW also may cause error/warning message
              Double wide characters are not supported
            to be printed.
          - On systems which have __STDC_ISO_10646__ defined,
            DW flag on terminal.info works like "locale-charsets"
            option, if charset and terminal matches.
          - Added UTF-8 for mlterm to terminal.info with
            DW flag.
          - pw_dir (home directory) and pw_shell is allowed
            to be NULL on struct passwd.
          - Added CP1251 as codeset for windows-1251. Seems that this is
            returned by nl_langinfo(CODESET).
          - Added CP1252 as codeset for windows-1252. Seems that this is
            returned by nl_langinfo(CODESET).
          - Added CP1255 as codeset for windows-1255. Seems that this is
            returned by nl_langinfo(CODESET).
          - Added CP1256 as codeset for windows-1256. Seems that this is
            returned by nl_langinfo(CODESET).
          - Added CP1257 as codeset for windows-1257. Seems that this is
            returned by nl_langinfo(CODESET).
          - Changed evaluation of elmrc option "text-charset".
          - Changed evaluation of elmrc option "display-charset".
          - Changed evaluation of elmrc option "local-fs-charset".
          - Changed evaluation of elmrc option "default-nomime-charset".
          - Changed evaluation of elmrc option 
            "default-mime-text-charset".
          - Changed evaluation of elmrc option "imap-charset".
          - Removed function get_charset_map_info().
          - Changed implementation of elmrc option "shell".   
          - Changed implementation of elmrc option "tmpdir".  
          - Changed implementation of elmrc option "maildir" 
            (or "folders").  
          - Changed implementation of elmrc option "map-text-dir".
          - Changed implementation of elmrc option "map-bin-dir".
          - Fixed case where ISO-2022-JP subject was displayed on
            message list, but when reading mail, subject was replaced
            with question marks.
          - Handle better bad sequense of bytes on text (for
            example bad UTF-8 text).
          - Configure was incorrectly made conlusion that
               nl_langinfo(CODESET)
            does not work on IRIX 6.5
          - If given folder name 'aaa@bbb@ccc' for split_remote_name(), 
            do not  split is as user='aaa', host='bbb@ccc', but use
            user='aaa@bbb', host='ccc'
           Problem noted by: admin <admin@unixdemon.com>           
          - Remove duplicates from bin/elm.mimecharsets
            during Configure
          - Compare charset names in case insensitive way on
            ConfTool/GenCharmap
          - Added command "elmregister rpm-list", which 
            generates files listing suitable from rpm
            %files -section.
          - Declared that Elm ME is "Elm Millenium Edition".
            Courtesy Vesa-Matti J Kari <vesa-matti.kari@helsinki.fi>
          - get_type_flags() was called with NULL-pointer
            argument from start_body_helper() line 381.
           Problem noted by: Vesa-Matti J Kari <vesa-matti.kari@helsinki.fi>
          > Return something 'intelligent' (instead of
            crashing) in functions of lib/mediatype.c,
            if them is called with NULL argument.
          - Do not give NULL pointer for
              Content-Type: *unknown*/MIXED
            In other words do not return NULL pointer
            if give_media_type() is asked to create
            major media type '*unknown*' ('*unknown*'
            matched MIME_TYPE_UNKNOWN signaling unknown
            media type.)
          - Added module (-M name)  option and
            correspond environment variable $ELM_MODULE
            to elmregister.
          - elmregister -M all may be used to register
            file or command to all modules.    
          - Added command "elmregister rpm-list", which 
            generates files listing per -M option.
          - Fixed Makefile error on 
              make package ROOT=/tmp/test-install
            case.
          - Sorting orders 'mailbox order' and
            'reverse mailbox order' was giving same order.
            Fixed reverse sorting order.
          - Little change for sorting.
          - If "unstable-reverse-thread" is set, reverse thread
            sorting is based on lastest message on thread.
            Therefore thread moves to new location, when
            new message arrives to thread.
          - This variable is settable on o)ptions screen
            with S)orting criteria command.
          - Moved enumerate_list on save_opts to own
            elmrc type rc_DT_ENUM and new data
            type dt_enumerate_info
          - Make possible to record changes of elm.rc
            during installation. 
          - Option -c on elmrc-write and elmlibregister commands 
            gives file, which is used to record changes
            (old values) of elm.rc during installation.
          - During installation old values of failed elm.rc options
            are kept on elm.rc.old-values file.
          - Use malloc_gets() when reading elm.rc
          - Added elmrc option "verify-domain". If set mail domains
            are verified by gethostbyname(). Error HOST_NOT_FOUND
            is treated as nonexisting domain and error NO_ADDRESS
            is treated as valid mail domain.
          - Added elmrc option "verify-local-address". If set
            usernames of local addresses are verified. Using
            this option requires that on global elm.rc have
            "verify=yes" on mailer -option.
          - Replaced elmrc types DT_ASR and DT_SRT with one type
            rc_DT_SORT.
          - Added elmrc option "local-dir-sortby". This specifies
            sorting order for local files and folders on folder 
            and file browser. Possible values are "none", "name"
            and "mtime" (and also "reverse-name" and "reverse-mtime").
            Default value is "name".
          - Added elmrc option "imap-dir-sortby". This specfies
            sorting order for IMAP folders on folder browser. Possible 
            values are "none" and "name" (also "reverse-name"). 
            Default value is "none".
          - On 21 lines window browser help (Folder selection)
            was not fitting to screen.
          - Moved mailer related code from libelmme-base.so to
            libelmme-mailer.so.
          - Added elmrc type rc_DT_DELAY.
          - Moved elmrc option "mailer" to libelmme-mailer.so.
            It is 'proxied' with elmrc type rc_DT_DELAY.
          - Added elmrc option "use-mailer-library" to 
            libelmme-mailer.so. It is 'proxied' with elmrc type 
            rc_DT_DELAY. "smtp" (ie. libelmme-smtp.so) is
            now given on elmrc option "use-mailer-library"
            (was on "use-connect-library".)
          - Link libelmme-smtp.so with libelmme-mailer.so,
            so that loading of libelmme-smtp.so succeed when
            loader is not linked with libelmme-mailer.so.
          - If elm is not compiled with -rdynamic, link 
            libelmme-smtp.so with libelmme-base.so, so that symbols
            can be resolved.
          - "I got http://www.elmme-mailer.org/elm-ME+2.5.alpha4.tar.gz 
             and tried to compile it on a SuSE 9.2 box. Configure 
             complained about missing termlibs and quit without even 
             generating a makefile.
             Adding -lncurses in line 6333 of Configure (it now reads
               for A in '' '-ltermlib' '-lcurses' '-ltermcap ' '-lncurses'; do
             fixed this and elmme seems to work fine. Maybe you'd 
             like to include this patch in the next release ..."
           From: Rainer Kaluscha <rainer.kaluscha@web.de>
          - Code changes for "-Wstrict-prototypes". I hope that these
            do not broke something else.
          - Added some support for RFC 2231:                 
            MIME Parameter Value and Encoded Word Extensions:
              Character Sets, Languages, and Continuations 
          - struct string may now carry language indicator
          - Language specification is now accepted on encoded 
            words.
          - When replying language specification is normally preserved
            on replied address (phrase).
          - [include -command now uses internally file browser
            for refering file. This should handle better (theoretical)
            situation where buffer charset is ddeferent than filesystem
            charset.
          - filename -arguments on mime -parameters use RFC 2231
            encoding. Also non RFC 2231 ascii-only filename
            argument is produced.
          - Specially RFC 2231 encoded parameters are ignored
            for most of other cases. Specially boundary -parameter
            must not be RFC 2231 encoded.
          - Added elmrc option "mime-parameters". Possible values are
            "plain", "encoded" and "plain-and-encoded". If set
            to "plain", then RFC 2231  encoded parameters are not 
            generated and not used when receiving mail (they still are 
            parsed.) When set to "plain-and-encoded both RFC 2231
            encoded value and plain ascii value are generated (specially
            for filename -parameter) when needed.
          - Elm option -z (zero) do not longer imply option -n
            (do not use ti/te).
          - "  would like to have an option like:      
               -z      Zero - don't enter Elm if no mail is pending.
              but:
               -y      Zero - don't enter Elm if no unread mail is
             pending."
           Suggested by: Axel Reinhold <axel@freakout.de>
          - Elm option -z now works correctly when several mailboxes
            (several -f options) are given. Now Elm is not entered
            when all given mailboxes are empty.
          - doc/tmac.n states "This  package may be circulated freely 
            with the news documentation; it may not be sold, but is to 
            be distributed with  the  unformatted  news documents."
            Removed, because Elm documentation is other documentation.
          - Removed documentatiion which depends doc/tmac.n. That
            documentation is more or less obsolete anyway: 
              doc/Alias.guide
              doc/Config.guid
              doc/Elm.cover
              doc/Form.guide
              doc/Ref.guide
              doc/Users.guide
          - Removed question about formatter of documentation 
            from Configure.
          - f)orget command on "Mail Pre-Send Screen" incorrectly
            sent mail when editor buffer was empty and on mail 
            there was on attachment.
          - Both utils/elmrc-write.c and utils/elmlibregister.c
            include routine for writing (user or system) elmrc.
            Moved that to new file lib/write_rc.c.
          - Changed src/save_opts.c to use lib/write_rc.c. This
            means that elmrc option are saved on elmrc-info
            order also when saved from Elm.            [Partially E1]
          - Removed offset from struct rc_save_info_rec. It is
            no longer needed.
          - Changed default so that term.h is only included on
            Linux (and not curses.h)
          - "unicode_value (uint16) can not possibly exceed 0xFFFF. 
             Remove the statement, that triggers a compiler warning."
           From: From: Mikhail T. <mi@aldan.algebra.com>
          * Patch removes ...->unicode_value > 0xFFFF   -test 
            from cs_add_state_to_iconv() on shared_libs/iconv/iconv.c.
          - utils/answer.c included some bogus aliases reading routines.
            Replaced it fetch_alias().  It still is broken, but 
            that is little better...
           Problem noted by: From: Mikhail T. <mi@aldan.algebra.com>
        * Changes from Elm 2.4ME+ PL122a (25)
          - "tried PL122 - and compiled with new openssl-0.9.8 !:
             cc -I../include -I/opt/ssl/include -fPIC  -O3   -c pop.c -o pop.o
             In file included from /opt/ssl/include/openssl/crypto.h:131,
                 from /opt/ssl/include/openssl/comp.h:5,
                 from /opt/ssl/include/openssl/ssl.h:176,
                 from elmtls.h:11,
                 from pop.c:10:
              /opt/ssl/include/openssl/ossl_typ.h:146: parse error before `2'"
            "a define collision between elm and openssl seams to be 
             occurring! The token "STORE" is used on both sources!"
           Problem noted by: Axel Reinhold <axel@freakout.de>
          >  Changed order of includes.
          - Do not add addresses parsed (to, from, cc) addresses twice
            to header_rec. That occured when mail was not downloaded
            IMAP mailbox was opened and headers was parsed second time
            when mail was opened.
          - Create elm.filelist and parent directories of elm.filelist
            before starting subprocess on "elmregister master".
        - Change from Elm 2.5:          
          - Now "!!" on s)ave command means "last folder" 
            instead of ".".                                [E2]  
          - Removed some character name macros    
            (COMMA,SPACE,COLON)                            [E3]
          - Added LOCK_ to INCOMING/OUTGOING -macros.      [E4]
          - Removed month -macros (JANUARY, ...)           [E5]                
          - Replaced error_description() with strerror()   [E7]
          - Changed commands on "Mail Pre-Send Screen" and
            added some headers to it:                 (!!) [E8]
                send               s => y
                forget             f => f, n
                copy file          c => p
                cc header               c
                bcc header              b
                subject header          s
          - Added [attach ...] command similar than
            [include ...].                            (!2) [E9]
          - Allow [include ...] to not specify encoding.   [E10]
          - Grouped elmrc options to sections.             [E11]
          - Changed CONST => const                         [E12]
          (!!) Note that R)eply-to is not on "Mail Pre-Send Screen"
               screen, because on it's place ther is R)eturn-path.
               T)o was already on "Mail Pre-Send Screen" so on
               it there is no change. 
          (!2) [attach ...] command just causes 'content-disposition:
               attachment' instead of 'content-disposition: inline'.
               Attachment do not go to end of mail as on Elm 2.5.
        - Changed some commands on "Mail Pre-Send Screen":
                dsn                d => D
                pgp                p => P
                return-path        r => R
        - Upper and lowercase letters do not have longer
          same command on "Mail Pre-Send Screen"
        - Bacause "." is no longer special on file browser
               elm -f .
          does not work now (actually elm -f '!!' works).
        - However 
               elm -f ''
          start folder selection (both on Elm 2.4 ME+ and 
          Elm ME+ 2.5).
        - Replaced some catgets() with CATGETS() macro.   
        - Changed LOCK_(INCOMING,OUTGOING) to be
          enum lock_direction instead of macro.
        - Made some changes so that -Wall do not warn 
          so much.                                 [Partially E6]
        - Changed VOLATILE => volatile
        * New elmrc options from Elm 2.4 PL122 (25)
            mime-parameters
            imap-dir-sortby
            local-dir-sortby
            locale-charsets
            pgp-encrypt-type
            prompt-metamail
            unstable-reverse-thread
            verify-domain
            verify-local-address
            use-mailer-library
        * Removed files correspond Elm 2.4 PL122 (25) files
                2.4/doc/Alias.guide
                2.4/doc/Config.guid
                2.4/doc/Elm.cover
                2.4/doc/Form.guide
                2.4/doc/Ref.guide
                2.4/doc/Users.guide
        * Removed files from Elm 2.4 PL122 (25)
                doc/tmac.n
                lib/add_site.c
                lib/strtokq.c
        * Added files from Elm 2.4 PL122 (25)
                src/screen/subpage.c
                src/screen/wrapper.c
                src/screen/menu_param.c
                src/screen/def_scommon.h
                src/screen/scommon.c
                src/screen/header.c
                lib/cs_unknown.c
                lib/cs_wfallback.c
                charset/MAPPINGS/koi8-e.txt
                lib/mailer/Makefile.SH
                hdrs/mailerlib.h
                lib/mailer/def_mailer.h
                lib/mailer/shared_mailer.c
                lib/mailer/init.c
                lib/mailer/outheaders.c
                lib/rc_delay.c
                melib/mime_param.c
                lib/write_rc.c
        * Renamed file from Elm 2.4 PL122 (25)
                lib/mailer.c => lib/mailer/mailer.c
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [E1] Major change to $libdir/elmrc-info.  Previously, this 
             was used simply as comments for annotating the elmrc.  
             Now, it directs the production of the elmrc.
        [E2] Under the s)ave command, the cookie to mean "same as the
             last folderI used" has been changed from "." to "!!".
        [E3] I've dropped most of the happy macros for character
             names.  If you want to use ':' then say that, not COLON.
        [E4] Renamed INCOMING/OUTGOING to LOCK_INCOMING/LOCK_OUTGOING.
        [E5] Dropped JANUARY, FEBRUARY, ... definitions from elm_defs.h.
        [E6] The entire library directory has been ANSIfied and
             checked with "gcc -Wall". 
        [E7] The error_description() routine has been dropped, and the entire
             package has been modified to use strerror().  lib/errno.c has
             been modified to provide a strerror() for those systems that
             lack it.
        [E8] Add header fields to the send menu.  Only list
             to/cc/subject and any  non-null fields (from Paul Close 
             <pdc@lunch.engr.sgi.com>)
        [E9] New [attach ...] command.  Use exactly the same way as 
             [include ...]. Difference is inclusions appear in-line 
             with the message; attachments appear at the end.
        [E10] If you omit the encoding from an [include ...] line, 
              Elm will guess an appropriate encoding rather than
              assuming no encoding.
        [E11] Major overhaul of the elmrc file.  Options are now 
              grouped together logically rather than appearing in 
              alphabetical order. 
        [E12] The "elm_defs.h" provides for ANSI prototyping.  It says:
              #ifndef P_
              # ifdef ANSI_C
              #   define P_(ARGS) ARGS
              # else
              #   define P_(ARGS) ()
              #   define const
              # endif
              #endif

Changes on Elm ME+ 2.5 PLalpha4 compared with Elm ME+ 2.5 PLalpha3

        SUMMARY: This release collects changes of Elm2.4ME+ PL120
                 and PL121. This release incorporates some new
                 commands and other changes from Elm 2.5 PL7. 
                 Also crash on List-ID parsing is fixed.
        * Collected ELM 2.4ME+ PL120 (25) changes:
          - Group reply did not worked correctly when on mail
            there was several To: -headers.
          - Refine "showto" semantic. If that elmrc variable is
            set and mail is not addressed to user, then To: address
            is shown.
          - Remove < > from address on real_from parsing.
          - Set envelope from address to username when reading
            Canceled mail special 'folder'. That way To:
            -address should be displayed when viewing that 'folder'.
        * Collected ELM 2.4ME+ PL121 (25) changes:
          - Better rpath test on Configure
          - Better soname test on Configure
          - Some fixes about soname_include_path
          - Change soname_include_path values 
            define/undef to y/n. It is not used
            for #define.
          - Allow setting soname_include_path=n
            always if rpath works 
          - Add extra libraries needed by shared libraries
            (shared_libs/*/) to rpath of executable.
          - Effectively local-fast-lookup = ON is now 
            always used when ASCII filenames are looked.
          - Removed Configure warning:
            "(I see you are using the Korn shell.  Some ksh's 
              blow up on Configure, especially on exotic machines.  
             If yours does, try the Bourne shell instead.)"
          - Let builtin pager show also address and not only 
            name of sender!
          - Fix error
             RC PANIC in rc_handle.c:1226:expand_dt_path
             >>>Bad state on end
           when incorrect elmrc is read
             weedout = *clear-weed-list*"
        - Change from Elm 2.5:          
          - Pass topic only to display_helpfile()  
            instead of help section number.        [D1] [D2] [D3]
          - Removed 'prefix' argument from
            copy_message*() functions.             [D6]  
          - Added line argument to read_number()   [D7]  
          - Added wait_time pararmeter to GetPrompt() [D8]
          - Added '!' command to alias menu        [D9]     
          - Added environment variables to elm 
            manual page                            [D10]
          - Command 'u' works as command 'U' (Unread)
            to messages which are not deleted.     [D11]     
          - Allow both mansrc and catmansrc to be "none"  [D12]    
        - If 'M' command is going to display To -address inside of ( )
          and there is displaying of "To " address on place of from
          address, do not display To -address inside of ( ).
        - Minor change to output of 'M' command.
        - Fix crash on List-ID parsing.   
        Renamed files:
           doc/elm-help.0 => doc/help-main         [D4]
           doc/elm-help.1 => doc/help-options
           doc/elm-help.2 => doc/help-alias
           doc/elm-help.3 => doc/help-pager
        Removed files:
           hdrs/elmutil.h                          [D5]
        New files:
           utils/def_utils.h
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [D1] The display_helpfile() program is now passed a just a 
             topic (say "options") instead of a full pathname 
             ("/usr/local/lib/elm/help-options").
        [D2] Calling semantics to display_helpfile() [file src/help.c] 
             changed. Before, it used to take an integer to select a 
             helpfile.  Now, it takes a helpfile pathname.  (These 
             pathnames are now defined in sysdefs.h.)
        [D3] sysdefs.h no longer defines individual help files, but 
             rather a single "system_help_dir".
        [D4] Renamed all help files from stuff like "elm-help.0" to 
             "help-main".
        [D5] Reorganization of main header files.  The elmutil.h
             header is  now obsolete.  All portions of the Elm package 
             include elm_defs.h, and the main Elm program (but not 
             utilities) include elm_globals.h. Moved many definitions 
             specific to Elm (and not used by the utilities) from 
             elm_defs.h to elm_globals.h.  Placed declaration
             of the dozen-or-so widely used globals in elm_defs.h.
        [D6] The calling semantics to copy_message() have changed.  
             It no longer accepts a "prefix" argument.  New usage is:
                 copy_message(FILE *dest_file, int cm_options);
             The following new options have been added:
                CM_PREFIX - Add "prefixchars" to each line.
                CM_FORWARDING - Replaces the (now removed) "forwarding" global.
                CM_ATTRIBUTION - Add an attribution line.
        [D7] Calling semantics to read_number() [file src/in_utils.c] 
             changed. It used to have a hardwired screen line number 
             and got its default response from a magic global
             variable.  Now you have to pass both of these as arguments.
        [D8] Calling semantics to GetPrompt() [file src/in_utils.c] 
             changed. Now you need to pass the timeout as a parameter, 
             rather than using the global "timeout".  Say "0" for
             infinite timeout.
        [D9] Allow a shell escape from the alias screen (just like from
             the index screen).  It does not put the shell escape onto the alias
             screen menu. (from Keith Neufeld <neufeld@pvi.org>)
        [D10] Added docs for environment variables to the man page (from Eric
              Haszlakiewicz <nimenees@uaccess.net>)
        [D11] Press u on a message that is read but not deleted 
              will mark the message as unread (from Larry Schwimmer 
              <rosebud@cyclone.Stanford.EDU>).
        [D12] Eliminate complaints in doc/Makefile about duplicate 
              makefile entries if mansrc and catmansrc are both "none" 
              (from Keith Neufeld<neufeld@pvi.org>)

Changes on Elm ME+ 2.5 PLalpha3 compared with Elm ME+ 2.5 PLalpha2

       - Fix crash on startup if .elm directory do not exists
       - Fix crash on startup if DEBUG is not defined
       - Deleting of messages marked for deletion was not working
         (same incorrect condition worked on Elm 2.4ME+ because
          of different ison -macro)
       - Errors on [tags] was not caused sending to  go back to
         pre-send menu.
       - "save-by-alias" was truncating alias to 3 letters.

Changes on Elm ME+ 2.5 PLalpha2 compared with Elm ME+ 2.5 PLalpha1

        SUMMARY: This release collects changes of Elm2.4ME+ PL118
                 and PL119. This release incorporates new command
                 line options from Elm 2.5. New elmrc option is 
                 dead-letter-dir.
       * Collected ELM 2.4ME+ PL118 (15) changes:
         - Interrupt signal (Ctrl-C) was ignored only,
           if Elm ME+ was compiled with -DDEBUG option.
          Problem noted by: Laura Kataja
         - Moved get_term_chars() from src/init.c to
           src/screen/init.c
         - ELM 2.4ME+ PL108 added 'invoke e)ditor' command to 
           header editing screen. That conflicts with 'E)xpires' 
           command. Changed command to 'invoke e(d)itor'.
         - Allow canceling of following prompts
            with Ctrl-C (interrupt character) on systems
            which supports POSIX termios:
             Set current XXX to :
             Description:               (Attachment Configuration)
             Content-Type:              (Attachment Configuration)
             Content-Disposition:       (Attachment Configuration)
             Search:                    (builtin pager)
             From:                      (Message Header Edit Screen)
             To:                        (Message Header Edit Screen)
             Cc:                        (Message Header Edit Screen)
             Bcc:                       (Message Header Edit Screen)
             Subject:                   (Message Header Edit Screen)
             Reply-to:                  (Message Header Edit Screen)
             Action:                    (Message Header Edit Screen)
             Priority:                  (Message Header Edit Screen)
             Precedence:                (Message Header Edit Screen)
             In-reply-to:               (Message Header Edit Screen)
             user defined header on Message Header Edit Screen
             Enter criteria or '?' for help:
             Send the message to:       (prompt of m)ail command)
             To:                        (prompt of m)ail command)
             Subject:                   (prompt of m)ail command)
             Copies to:                 (prompt of m)ail command)
             Return-path:               (Mail Pre-Send Screen)
             E)ditor (primary)    :     (ELM Options Editor)
             D)isplay mail using  :     (ELM Options Editor)
             C)alendar file       :     (ELM Options Editor)
             O)utbound mail saved :     (ELM Options Editor)
             P)rint mail using    :     (ELM Options Editor)
             Y)our full name      :     (ELM Options Editor)
             V)isual Editor (~v)  :     (ELM Options Editor)
             E)xpires:                  (ELM Options Editor)
             Precede(n)ce:              (ELM Options Editor)
             Enter pattern:
             To:                        (when encrypting message (pgp))
             From:                      (when signing message (pgp))
             Enter userid of public key: (prompt of Ctrl-K command)
             Override charset:
             Shell command:
             Pipe to:
             Enter alias name:          (Alias mode)
             Current message address aliased to:
             Enter address for XXX:     (Alias mode)
             Fully expand alias:        (Alias mode)
             Enter last name for XXX:
             Enter first name for XXX:
             Enter optional comment for XXX:
             Forward message as separate part?
             Copy message?              (prompt of m)ail command)
             Edit outgoing message?     (prompt of f)orward command)
         - Treate Ctrl-C (interrupt character) as No on following  
           prompts (on systems which support POSIX termios):
             Abandon change to mailbox?
             Abandon changes to mailbox?
         - Handling interrupt (Ctrl-C) on builtin editor without
           signals on systems which support POSIX termios
           (that edit_interrupt signal handler is not safe!)
         - GetPGPKey() did not always re-enabled raw-mode
         - Allow canceling of following (folder browser) prompts
           with Ctrl-C (interrupt character) on systems
           which supports POSIX termios:
             Change to which folder:
             Save text of message to:
             Copy text of message to:
             Save text messages to:
             Copy text messages to:
             Save message to:
             Copy message to:
             Save messages to:
             Copy messages to:
             Save copy in (use '?' for help):
         - Allow canceling of following (file browser) prompts
           with Ctrl-C (interrupt character) on systems
           which supports POSIX termios:
             To file:                   (MIME structure Menu)
             Filename:                  (Attachment Configuration)
         - Allow canceling leaving of folder on following
           prompts with Ctrl-C (interrupt character) on systems
           which supports POSIX termios:
             Delete message?
             Delete messages?
             Move read message to \"received\" folder?
             Move read messages to \"received\" folder?
             Keep unread message in incoming mailbox?
             Keep unread messages in incoming mailbox?
         - Now on address prompts also works \ quotation
           of interrupt character (for example @, if set that way)
           on systems which supports POSIX termios.
         - Allow canceling of password prompt of IMAP/POP
           with Ctrl-C (interrupt character) on systems
           which supports POSIX termios:
              Password for XXX@YYY:
         - Allow canceling of IMAP/POP connection attempt 
           with Ctrl-C (interrupt character) on systems
           which supports POSIX sigaction:  
              Connecting to XXX
         - Allow canceling alias menu help prompt
           with Ctrl-C (interrupt character) on systems
           which supports POSIX termios
         - Allow canceling messages/mailbox menu help 
           prompt with Ctrl-C (interrupt character) on systems
           which supports POSIX termios
         - Allow canceling options menu help prompt
           with Ctrl-C (interrupt character) on systems
           which supports POSIX termios
         - Add READCH_CURSOR to ReadCh options so
           so that escape sequences from cursor keys
           do not cause misinterpration of selected option.
         - Allow folowing ON/OFF prompts to be canceled
           on options menu with Ctrl-C (interrupt character) 
           on systems which supports POSIX termios:
             A)rrow cursor        :
             M)enu display        :
         - Allow options menu sorting criteria prompt
           to be canceled with Ctrl-C (interrupt character) 
           on systems which supports POSIX termios:
             S)orting criteria    :
         - Allow canceling DSN menu with Ctrl-C (interrupt character)
           on systems which supports POSIX termios
           (but not yet allow canceling of individual prompts.)
         - Allow quiting Attachment Configuration menu
           with Ctrl-C (interrupt character) on systems which supports 
           POSIX termios (this not necessary forget/undo made changes
           however.)
         - Allow canceling encoding prompt on Configuration menu
           with Ctrl-C (interrupt character) on systems which supports 
           POSIX termios:
              Content-Transfer-Encoding:
         - Allow quiting Attachment Menu with Ctrl-C (interrupt
           character) on systems which supports POSIX termios (this not 
           necessary forget/undo made changes however.)
         - Redraw Mail Pre-Send Screen when quiting Attachment Menu
           or DSN menu.
         - Allow quiting Message Header Edit Screen with Ctrl-C 
           (interrupt character) on systems which supports POSIX
           termios (this not necessary forget/undo made changes
           however.)
         - Allow quiting help text viewer with Ctrl-C (interrupt 
           character) on systems which supports POSIX
           termios:
                Press <space> to continue, 'q' to return.
         - Allow quiting of builtin pager with Ctrl-C (interrupt 
           character) on systems which supports POSIX termios
       * Collected ELM 2.4ME+ PL119 (15) changes:
         - Configure now locates system gencat command
         - Added file nls/Makefile.SH
         - File nls/Makefile is removed. Now it is
           generated by Configure
         - Made leave() to use give_next_open_mailbox()
         - Added free_all_mailboxes() to src/messages/messages.c
         - Made leave() to use free_all_mailboxes()
         - Made rm_temps_exit() to use free_all_mailboxes()
         - Made silently_exit() to use give_next_open_mailbox()
         - Made emergency_exit() to use give_next_open_mailbox()
         - Made leave_locked() to use give_next_open_mailbox()
         - Made usr1_signal() to use give_next_open_mailbox()
         - Made usr2_signal() to use give_next_open_mailbox()
         - Removed current_mailbox global variable
         - Added free_all_aliasviews() to src/aliases/aliases.c
         - Made leave() to use free_all_aliasviews()
         - Made silently_exit() to use free_all_aliasviews()
         - Made rm_temps_exit() to use free_all_aliasviews()
         - Made leave_locked() to use free_all_aliasviews()
         - Removed current_aliaslist global variable
         - Added menu_trigger_redraw() to src/screen/context.c
         - Changed resync() to use menu_trigger_redraw()
         - Changed help() to use menu_trigger_redraw()
         - Changed do_pipe() to use menu_trigger_redraw()
         - Changed change_file() to use menu_trigger_redraw()
         - Changed print_msg() to use menu_trigger_redraw()
         - Changed subshell() to use menu_trigger_redraw()
         - Changed pgp_extract_public_key() to use menu_trigger_redraw()
         - Changed forward() to use menu_trigger_redraw()
         - Changed reply_to_everyone() to use menu_trigger_redraw()
         - Changed pgp_mail_public_key() to use menu_trigger_redraw()
         - Changed send_msg_l() to use menu_trigger_redraw()
         - Changed print_text() to use menu_trigger_redraw()
         - Changed reply() to use menu_trigger_redraw()
         - Changed save() to use menu_trigger_redraw()
         - Changed pattern_match() to use menu_trigger_redraw()
         - Changed limit() to use menu_trigger_redraw()
         - Changed read_number to use menu_trigger_redraw()
         - Changed alias_help() to use menu_trigger_redraw()
         - Changed a_sendmsg() to use menu_trigger_redraw()
         - Changed mailbox_command() to use menu_trigger_redraw()
         - Changed motion() to use menu_trigger_redraw()
         - Changed new_mail_check() to use menu_trigger_redraw() 
         - Changed mail() to use menu_trigger_redraw() 
         - Changed send_msg_middle() to use menu_trigger_redraw() 
         - Changed send_form() to use menu_trigger_redraw() 
         - Added menu_trigger_redraw()  to get_copies()
         - Added menu_trigger_redraw()  to get_to()
         - Added menu_trigger_redraw()  to copy_the_msg()
         - Added menu_trigger_redraw()  to get_subject()
         - Changed send_msg_argv() to use menu_trigger_redraw() 
         - Moved *.Canceled.mail to own directory
           Canceled.mail.dir                           
         - Editor buffer for f)orget messages is not kept. 
           Instead cancele mails are picked from 
           Canceled.mail.dir on m)ail -command ('/' on
           To: prompt gives menu of cancelled messages.)
         - Canceled.mail.dir is not available as folder
           (it can not given for c)hange folder commmand
            or -f option of Elm.)
         - When canceled mail is picked from re-sending,
           is is also deleted from Canceled.mail.dir
           (f)orget command will re-add it to Canceled.mail.dir.)
         - Name of Canceled.mail.dir can be changed with elmrc 
           option dead-letter-dir.
         - Removed give_message_folder()
         - Added -g option to Configure
        - Change from Elm 2.5:          
                 Added option -r to specify elmrc file     [C1]
                 Added option -S to specify send only mode
                 Added option -M to force all local folders as 
                    mailboxes                              [C3]
        - Change from Elm 2.5:          
                 Added variable "opmode"                   [C2]
                 Added -M option to frm                    [C3]
                 Added '&' command to toggle option -M status
                   (force all local folders as mailbox)    [C3]
        - Added -M option to newmail
        - Added -r option to frm,nfrm
        - Added -r option to newmail
        - Added -r option to answer
        - Added -r option to elmcharset
        - Added -r option to elmlibregister
        - Added -r option to elmrc-write
        - Added -r option to elmstringconvert
        - Added -r option to elmterminal
        - Added -r option to elmunidata
        - If -M option is active, command 'c' prints
          'Change mailbox' instead of 'Change folder'
        - Allow canceling of following prompts
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
                  Save marked messages?
        New elmrc options:
            dead-letter-dir
        New file:
            src/screen/init.c
            lib/cancel.c
            src/messages/canceled_mail.c
            src/canceled.c
            nls/Makefile.SH
        Removed file:
            nls/Makefile        (this is now generated by Configure)
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [C1] Actually show the -r option in the usage
        [C2] New "opmode" parameter indicates Elm
              operating mode (OPMODE_READ, OPMODE_SEND, etc.).
        [C3] Added the changes that allow other folders to be treated 
             as spool folders (the "Magic Mode" change).  Hitting '&' 
             toggles this as well as the use of the command line
             option -M.  The -M option also works on frm/nfrm.

Changes on Elm ME+ 2.5 PLalpha1 compared with Elm ME+ 2.5 PLalpha0

        Note: You must create directory
              2.4/doc
        before applying this patch!
        SUMMARY: This release collects changes of Elm2.4ME+ PL116,
                 PL116a, PL117 and allows elmination of aliases
                 from larger aliases. Also Elm 2.4 guide files are moved
                 from doc to 2.4/doc. New elmrc aoptions are 
                 pgp-interactive and askmimeforward.
        WARNING: There is small change on elm.filelist format, so 
                 downgrading from Elm2.4ME+ PL116 (25) or 
                 Elm ME+ 2.5 PLalpha1 to Elm 2.4ME+ PL115 (25) or 
                 to Elm ME+ 2.5 PLalpha0 will not work (you need 
                 unistall or remove elm.filelist first.)
        * Changes from Elm2.4ME+ PL116
          - Changed prompt ""received" folder not available, continue? (y/n) n"
          - Also changed default answer to be yes on that prompt
          (that is useful only when received folder is remote,
           but that error may occur also is somebody is set 
              receivedmail = /invalid
          )
          - Fix some possible compilation problems with traditional 
            C compilers (as opposed to ANSI C ompilers)
          - Fix typo PROMTP_yesno (to PROMPT_yesno) on
            Elm2.4ME+ PL115a (25)
          - Added command "elmregister copydoc" which 
            works like "elmregister copy", but marks
            file to be document.
          - Added option "-s {stage-subdir}" to command
            "elmregister {command}".
          - If on header editing screen incoked editor
            and address was on form '"a" <b> (c)",
            and then edited it on header editing screen
            address become as '"a" <b> (c('. Changed
            on '(' to ')' on make_surface_addr() on
            lib/outheaders.c
        - Change from Elm 2.5:          
             allow elimination of aliases from larger aliases 
                (To: bigalias -subalias)  [B1]
             do not send message with zero recipients [B2]
        - Fix debug output of dump_expanded_address()
        - Changed message catalog name from elm2.4me+
          to elmme+2.5
      * Changes from Elm2.4ME+ PL116a (25)
        - Alternatives and weedout and list was replaced with Q letters
         Problem noted by: Cyrille Lefevre <cyrille.lefevre@laposte.net>
        - Reprint last error on "Mail Pre-Send Screen" after
          clearing screen.
        - Trying send encrypted messages with gpg was giving
          error message
                Couldn't find key matching 'xxx@yyy'
         Problem noted by: Olivier COLIN <dodo.olivier@wanadoo.fr>
                       (and probably others)
        > Make GetPGPKey() retry reading of result on case of
          interrupt.
        - GetPGPKey() was not collect status of exted gpg and
          was left lot of defunct processes. Converted code to 
          use start_run().
        - Do not quote addresses on alternatives.
      * Changes from Elm2.4ME+ PL117 (25)
        - Fix debug output of dump_expanded_address()
        - Implement reconnection for mailer=submission (however
          reconnection is not implemented for mailer=sendmail-bs).
          These mailer's open smtp (or submission) connection
          to server before editor is started. That is done
          for get capacity of mailer (for 8BITMIME). However
          sometime that times out if editing tooks too long
          and sending of mail fails.
        - Added pgp-interactive option to elmrc. Setting that
          disables batch mode of pgp/gpg when encrypting/signing 
          mail.
        - Added elmrc variable type rc_DT_ESTR (a kind
          of expanded string).
        - Reimplemented elmrc variable "pager" as rc_DT_ESTR
        - Reimplemented elmrc variable "editor" as rc_DT_ESTR
        - Reimplemented elmrc variable "calendar" as rc_DT_ESTR
        - Reimplemented elmrc variable "localsignature" as rc_DT_ESTR
        - Reimplemented elmrc variable "remotesignature" as rc_DT_ESTR
        - Reimplemented elmrc variable "receivedmail" as rc_DT_ESTR
        - Reimplemented elmrc variable "sentmail" as rc_DT_ESTR
        - Reimplemented elmrc variable "incoming-mailbox" as rc_DT_ESTR
        - Removed valid_rc_type()
        - Added malloc_gets() to lib/mail_gets.c
        - Changed send_msg_l(), mail(), mail_form(),
          mail_filled_in_form(), forward(), reply_to_everyone(),
          and reply() to use index, mailbox instead of 
          current_header, infile, mailbox.
        - Added give_next_open_mailbox() or src/messages.c and
          made save_copy() to use it.
        - Moved definition of struct mv_storage and 
          struct mv_digest out from src/messages/def_messages.h
        - When mail is forwarded mail, user is prompted
             Forward message as separate part?
          default value of answer depends "mimeforward"
          elmrc option. Setting elmrc option "askmimeforward" 
          to OFF disables that prompt.
        - Added expanded_address_from_items() to
          lib/outheaders.c
        - Removed class_charset() from melib/mime_parse.c
       - Fix bug of Elm2.4ME+ PL117 where Elm was acting always 
         as dsn-success was set.
         (from Elm2.4ME+ PL117a (25))
       - Moved  doc/Alias.guide to 2.4/doc/Alias.guide
       - Moved  doc/Form.guide  to 2.4/doc/Form.guide
       - Moved  doc/Ref.guide   to 2.4/doc/Ref.guide
       - Moved  doc/Users.guide to 2.4/doc/Users.guide
       - Moved  doc/Config.guid to 2.4/doc/Config.guid
       - Moved  doc/Elm.cover   to 2.4/doc/Elm.cover
       - Fix bug where Elm ME+ 2.5 PLalpha0 was eating last 
         character on %D expansion (on attribution string).
        New elmrc options:
            pgp-interactive
            askmimeforward
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [B1] allow elimination of aliases from larger aliases 
             (To: bigalias -subalias). Based on incomplete patch 
             by Waldi Ravens <waldi@moacs.indiv.nl.net>.
        [B2] Don't try to send a message if the user erased all the 
             recipients on the header screen. (from Bob Schwartz 
             <rjs@elt.com> and Keith Neufeld <neufeld@pvi.org>

Changes on Elm ME+ 2.5 PLalpha0 compared with Elm2.4ME+ PL115 (25)

        Note: You must create directory
                  2.4
              before applying this patch!
        SUMMARY: Elm ME+ 2.5 is based on Elm 2.4ME+ and incorporates 
                 some code from Elm 2.5. This release incorporates
                 some header file changes and new elmrc options.
                 New elmrc options are incomingfolders, allow-setuid,
                 askstore, askkeep, askdelete, replycopy, askreplycopy,
                 showreply, confirmtagsave, editflush, fwdattribution,
                 printhdrs, savebyalias, showmlists and tochars.
        - Moved Overview to 2.4/Overview
        - Moved ANNOUNCE.ME to 2.4/ANNOUNCE.ME
        - Moved ChangeLog.ME to 2.4/ChangeLog.ME
        - Moved Patchlist to 2.4/Patchlist
        - Moved Changes to 2.4/Changes
        - Moved Instruct to 2.4/Instruct
        - Moved NOTICE to 2.4/NOTICE   (copyright file)
        - Moved README to 2.4/README
        - Copied Elm 2.5 PL7 NOTICE to NOTICE (copyright file)
        - Change from Elm 2.5:                       
                 Added hdrs/elm_defs.h
                 Added hdrs/elm_globals.h
                 Removed hdrs/headers.h
                 Removed hdrs/defs.h
                 Removed hdrs/elm.h
          NOTE however that there is:
                 hdrs/elmlib.h
                 hdrs/defs_major.h
                 hdrs/me.h
                 src/def_elm.h
          so result is quite different.
        - Change from Elm 2.5:          
             added incomingfolders to the elmrc [A1]
             added allow-setuid to the global elm.rc [A2]
             added askstore,askkeep,askdelete to elmrc [A3]
             autocopy expanded into replycopy and askreplycopy (in
                 elmrc) [A4]
             added showreply to elmrc [A5] (!)
             added confirmtagsave to elmrc [A6] [A13]
             added editflush to elmrc [A7]     
             added fwdattribution to elmrc [A8] [A16]
             added printhdrs to elmrc [A11] (!!)
             added savebyalias to elmrc               
             added showmlists to elmrc (!3)                
             added tochars to elmrc (!4)
        (!) Elm 2.4ME+ is displaying 'r', that makes posible to
            set it off.
        (!!) Note that this option is only used with
             p)rint command which is normally disabled.
             This is not used with P)rint text command.
        (!3) mlists config file is not supported. Instead
             this option just show List-Id header from mail.
        (!4) This is five character instead of four as on
             Elm 2.5.
        - Change from Elm 2.5:          
             attribution and fwdattribution may include [A9] [A12]
                         \t             for tabulator
                         \n             for newline
                         %F             for sender (From header)
                         %D             for send date
                         %I             for message-id
                         %S             for subject
                         %)F            for sender's name
                         %>F            for sender's address
                         %%             for %
             Added -w option to readmsg      [A10] [A15]
             Folder name may now include ... [A14] (!) (!2)
                         %h             For 3 letter month
                         %y             For 2 digit year
                         %Y             For 4 digit year
                         %m             For 2 digit month
                         %j             For 3 digit day number of year
                         %d             For 2 digit day number of month
                         %%             For %
             Also environment variable names may occur
                also on other places than begining path name
                components. (!2)
             Environment variables may use ${variable} syntax. (!2)
         (!) But these do not work if % is first charater!
             On that case % refers to folder directory (ie.
             same than '=' and '+'.) 
         (!2) This same expansion is used on many elmrc variables,
              so somewhere this may cause surprises. However
              %s should work on variables as earlier. Also $$
              is expanded. Other $ -syntaxes may cause error,
              because they are now tried to expand instead that
              thay are passed to shell. For example on 'printout'
              -command.
         - Change from Elm 2.5:          
             Added command 'M' to message menu
        - Changes from Elm2.4ME+ PL115a (25)
        - Reimplemeted elmrc "alternatives" as type PATH and 
          removed special elmrc type for alternatives.
          (from Elm 2.4ME+ PL116)
        - Reimplemeted elmrc "weedout" as type PATH and 
          removed special elmrc type for weedout.
          If first element on list is "*clear-weed-list*",
          then builtin weedout list is not used.
          (from Elm 2.4ME+ PL116)
        - Added RFC 2919 List-ID -header to array on 
          lib/headers.c
        - Fix missing space between pharse and < >
          on result of hdr_decode_from_phrase() on
          lib/headers.c
        - RFC 2919 List-ID is now parsed and information
          shown when showmlists is set on elmrc
        New files:
            hdrs/elm_defs.h
            hdrs/elm_globals.h
            NOTICE
        Removed files:
            hdrs/headers.h
            hdrs/defs.h
            hdrs/elm.h
        Renamed files:
            Overview => 2.4/Overview
            ANNOUNCE.ME => 2.4/ANNOUNCE.ME
            ChangeLog.ME => 2.4/ChangeLog.ME
            Patchlist => 2.4/Patchlist
            Changes => 2.4/Changes
            Instruct => 2.4/Instruct
            NOTICE => 2.4/NOTICE
            README => 2.4/README
        New elmrc options:
             incomingfolders
             allow-setuid
             askstore
             askkeep
             askdelete
             replycopy
             askreplycopy
             showreply
             confirmtagsave
             editflush
             fwdattribution
             printhdrs
             savebyalias
             showmlists
             tochars
Corresponding quotes from Elm 2.5 PL7 Changes file:
        [A1] added incomingfolders to the elmrc.  This is a list of 
             folders that will automatically be opened with "magic
             mode" on. (inspired by a patch from Cristophe Kalt 
             <kalt@ensta.fr>)
        [A2] New "allow_setuid" setting.  This must be enabled in the 
             global elmrc in order for Elm to operate setuid.  This 
             prevents naive setuid installation without being too
             heavy handed.
        [A3] askstore can be used to separately prompt to move read 
             messages to  =received when you leave your mailbox.  
             I see its main use for people who  don't want to use 
             =received but still like confirmation of deletion. (from 
             Keith Neufeld <neufeld@pvi.org> )
        [A4] autocopy expanded into replycopy and askreplycopy (in
             elmrc).  replycopy determines whether the default should 
             be yes or no, and askreplycopy determines whether it
             should happen automatically. (from Keith Neufeld 
             <neufeld@pvi.org> )
        [A5] Added the "replied" code.  You must set showreply=ON in 
             your elmrc for this to work.
        [A6] Added a change from Keith Neufeld <neufeld@pvi.org> to
             make the confirm for saving tagged messages a user 
             configurable option (confirmtagsave in elmrc).
        [A7] Flush the edit buffer after an edit and now make it a 
             user config thing (editflush in elmrc).
        [A8] add a "fwdattribution" elmrc variable that enhances the 
             handling of forwarded messages.  If undefined (the
             default), the current behaviour is preserved (standard 
             attribution and prefix added on edited messages).  If
             this variable is defined, the prefix is never added, and 
             instead of the standard attribution the inclusion is 
             bracketed like:
        [A9] Added some extra attribution code (inspired by a patch from 
             serini@ghost.sm.dsi.unimi.it (Piero Serini)).  The attribution string
             may now contain:
               %F      who the message is from (this is the same as %s)
               %D      date the message was created (the from message)
               %I      message ID
               %S      message subject
        [A10] "readmsg" now accepts "-w" to specify header weeding.
              The default works like:  readmsg -w 'Subject: From: 
              To: Cc: Apparently- Date:' The list entries are 
              left-anchored "patmatch" patterns.
        [A11] Added "printhdrs" elmrc option that allows header
              weeding  to be specified when printing.  The value 
              of this option becomes the "-w" arg to "readmsg".
        [A12] Add %)F and %>F to attribution, for from name and 
              from address (from Paul Close <pdc@lunch.engr.sgi.com>)
        [A13] Added Wayne Davison's patch to confirm on saving 
              tagged messages.
        [A14] Added patch to allow embedded date in folder names 
              (from Mike Kenney <mike@wavelet.apl.washington.edu>).  
              This allows:
                 %h      month name ( 3 letter abbreviation )
                 %y      last 2 digits of year
                 %m      month number
                 %d      day of the month
                 %j      day of the year
              This patch also allows environment vars to be enclosed 
              in {}.
        [A15] Fixed readmsg so that when weeding is done, the 
              default action is the opposite of the last action.  
              That is, with a weed list of "Foo: Bar:" the default 
              is reject all other headers.  With a weed list of 
              "Foo: !Bar:" the default is accept all other
              headers.
        [A16] The "fwdattribution" setting now understands 
              "%[begin|end]" formatting. Stuff to the left of the 
              bar is printed in the opening attribution, stuff to 
              the right in the close.  The %A escape is depreciated
              and is slated for removal.
        [A17] Drop explicit initialization of empty strings.  
              This means they now will be created in BSS rather 
              than DATA, saving dozens of kilobytes of space in 
              the executable and speeding startup.

Changelog of Elm 2.4ME+

Changes on Elm 2.4ME+ PL127 (25) compared with Elm 2.4ME+ PL126 (25)

        SUMMARY: This release collects some backported fixes from 
                 Elm ME+ 2.5. This release adds command 
                 'elmconfwriter' which is used to clean up some
                 config files during installation. 
        - Added iso-latin-1 and latin-1 to ConfTool/charaliases.map
          as aliases of ISO-8859-1
        - Added iso-latin-2 and latin-2 to ConfTool/charaliases.map
          as aliases of ISO-8859-2
        - Added iso-latin-3 and latin-3 to ConfTool/charaliases.map
          as aliases of ISO-8859-3
        - Added iso-latin-4 and latin-4 to ConfTool/charaliases.map
          as aliases of ISO-8859-4
        - Added iso-latin-5 and latin-5 to ConfTool/charaliases.map
          as aliases of ISO-8859-9
        - Added iso-latin-6 and latin-6 to ConfTool/charaliases.map
          as aliases of ISO-8859-10
        - Added iso-latin-7 and latin-7 to ConfTool/charaliases.map
          as aliases of ISO-8859-13
        - Added iso-latin-8 and latin-8 to ConfTool/charaliases.map
          as aliases of ISO-8859-14
        - Added iso-latin-9 and latin-9 to ConfTool/charaliases.map
          as aliases of ISO-8859-15
        - Moved resetting of s_out -> filter to after retry attempt
          at pgp_decode() on melib/pgp_decode.c
        - Fixed possible bug on verify_remote_url()
          at src/list/info.c      
        - Fixed error message      
                Exited with status -1. Press any key to continue: 
          and bad gpg handling on copy_pgp() at
          src/fileio.c. This is used if mail is NOT a
          MIME message.
        - Added resetting of found parameter to some 
          cs_give_unicode_from_*() routines.
        - Added possible fix to elm_smessage() on lib/output.c
        - Possible fix to pop_STLS_handler()
        - Indicate on connect_one_IN() to try another port 
          when connection is timed out (not just when connection 
          is refused)
        - Fixed UTF-8 on ConfTool/CharMap
        - If configure does not found crypt() or cryptlib
          and crypt.h is found, then try compile test it.
          This fixes location of crypt() on Fedora 19 and 
          Ubuntu 12.04
        WARNING: Resulting encoding with and without
                 crypt() is different for [encode] 
                 (type application/X-ELM-encode). So old
                 messages can not decoded (easily). And format 
                 does not tell is crypt() used for encryption
                 key. But same difficulty is also between
                 different machines.
        - Fedora 19 have
                 include ld.so.conf.d/*.conf
          line on /etc/ld.so.conf. Added Configure 
          check for that.
        - Added /**/ comment to USE_BUILTIN_PAGER
          on config.h.SH
        - Fixed some warnings caused by -Wall with
          gcc 4.4.3
        - Removed some unused variables (not all)
        - Possible fix for cs_iso2022_info_set_binary()
        - Possible fix for print_local_shared_options()
        - Possible fix for wait_for_something()
        - Possible fix for getkey()
        - Possible fix for give_canceled_mail()
        - Replaced
                $(REG) copy -m 555 $? $@
          with
                $(REG) copy -m 755 $? $@
          on Makefile.SH.
        - Also replaced
                $(REG) copy -m 444 {library} $@
          or
                $(REG) copy -m 444 $? $@
          with
                $(REG) copy -m 644 {library} $@
          or
                $(REG) copy -m 644 $? $@
          on Makefile.SH where shared library is installed.
        - Fixed redraw loop on builtin++
        - Fixed parsing 
                gpg --list-public-keys
          output.
        - Command Ctrl-K (^K) was not producing result. Replaced
          send_msg_l() with send_msg_middle() on 
          pgp_mail_public_key() at src/pgp.c.
        - Added xterm-* entry to doc/terminal.info
        - Fixed bug where Makefile-1.SH was not installing
          $(ETC)/elm.mimecharsets $(ETC)/elm.terminalinfo
        - Fixed range counting of state_copy_range() on
          lib/state.c
        - mime_write_part_headers() was failing to add
          Content-Transfer-Encoding: x-uuencoded
          header to part and include_part() did not handled
          this correctly.
        NOTE: Using any X-* encoding on [attach] or [include]
          assumes that part is already encoded!
        - Use system_charset when decoding attachment for 
          printing
        - Possible fix on split_file() on elmregister.c
        - Changed elmregister so that it does not write
          $(ELM_ROOT) to elm.filelist. 
        - Fixed case where last line of ~/elm/mail.services was 
          not (always) parsed if there was not newline on last line.
        - Elm ME+ 2.5 PLalpha36 writes @charset indicator
          to elm.rc. If @charset is used on file, lines
          are converted to current locale charset. 
        - Elm ME+ 2.5 PLalpha37 writes @charset indicator
          to mail.services. If @charset is used on file, lines
          are converted to current locale charset. 
        - Changed parsing of library list on Configure
        - nm seems crash on Fedora 19. Try make Configure
          output little more clear (it is not fatal).
        - Accept also 'i' on symbol type letters on nm so that 
          they are found on  Fedora 19.
        - Save also $nm_opts to config.sh
        - If first nm fails, then use same sed expression
          to nm -p output than was used to previous nm output.
        - Changed metapager() so that it does not call pager
          if copy_body() fails.
        - Added elmconfwriter -command to rewrite existing
          config files. This is used during installation
          to clear existing config files.
        - Some fixes to Makefile.SH
        - Some fixes to utils/readmsg/Makefile.SH
        - Use ml_global instead of ml_system parameter when 
          reading global elm.iso2022sets -file.
        - Changed default_unidata()
        - Added option -E (ignore errors on arg) elmrc-write
        - Used -E option on final
            elmrc-write -G -I elm.rc.old-values
        - Removed  -C {doc/elmrc-info} from final
            elmrc-write -G -I elm.rc.old-values
        - Documented -C option on elmrc-write manual page.
        New tools:
           elmconfwriter
        New files:
           utils/elmconfwriter.c
           doc/elmconfwriter.1

Changes on Elm 2.4ME+ PL126 (25) compared with Elm 2.4ME+ PL125 (25)

        SUMMARY: This release collects some backported fixes from 
                 Elm ME+ 2.5. This release changes the handling 
                 of dotlock ({mailbox}.lock) file, adds 
                 "local-lockfile-pidcheck" global elm.rc 
                 option.  Some other changes and bug 
                 fixes are also included.
        - Added check to pop_push_command() that 
          pop_state is not POP_not_logged  
        - Added missing  pop_push_command() return value
          check to pop_open_connection()
        - Fixed wrong check on start_imap_command()
        - Added check to on start_imap_command() that 
          imap_state is not IMAP_closing
        - In IMAP login failure wait for 
          sleepmsg seconds on cache_login_imap() so that
          LOGOUT does not clear possible error message
        - Added some compilation fixes for case when
          POLL_METHOD is undefined
        - Added small fix to unicode_ch()
        - Added small fix to src/Makefile.SH
        - Fixed crash on gen_splitted_ascii_param()
          when file with too long filename was attached:
               Couldn't malloc -79 bytes!!
               PANIC in utils.c:90:malloc_failed_exit
               Out of memory
               Emergency exit taken! All temp files intact!
        - Changed that malloc_failed_exit() used %u on instead
          of %d in error message because argument is
          'unsigned len'
        > That changes crash message to
               Couldn't malloc 4294967217 bytes!!
        - If saving of message was canceled, temporary tagging 
          of message was not properly cleared.
         Problem noted by: Laura Kataja
        - Fixed some misspellings.
         Patch from: Vandeir Silva <vandeir@silva.info>
        - Added a missing function in the "write_rc.c" to print
          the ".elm/elmrc - options file for the ELM mail system" 
          line.
         Patch from: Vandeir Silva <vandeir@silva.info>
        > That text was on src/save_opts.c and
          probably lost on Elm 2.4ME+ PL122 (25). Added also condition
          that this text is not written when writing global
          elm.rc.
        - Added local-lockfile-pidcheck option:
                no        Do not check pid on file
                yes       Remove lockfile if given pid does not exists
                hostname  Remove lockfile if given pid does not exists.
                          Write pid@hostname format. 
                ignore-hostname   remove lockfile if given
                          pid does not exists. Do not check
                          @hostname part.
                require-hostname   remove lockfile if given
                          pid does not exists and @hostname
                          part exists (and matches).
                          Write pid@hostname format. 
          Default is "hostname". 
        - Qualified hostname is also accepted on {mailbox}.lock 
          file.
        > Now by default also hostname is written to
          {mailbox}.lock lockfile. This should partially 
          protect Elm to remove lockfile if /var/mail is 
          shared via NFS and mailbox is read on another 
          machine.
        > If program parses pid on mailbox.lock with atoi()
          it does not hurt that there is @hostname after 
          pid.
        > On other machine than where mail is delivered
          to mailbox, value "require-hostname" should 
          be used for local-lockfile-pidcheck option.
        - Elm2.4ME+ PL97 (25) added check to 
          Configure that is elm's shared library 
          directory on /etc/ld.so.conf. That check 
          does not take account, if /etc/ld.so.conf
          have line
               include /etc/ld.so.conf.d/*.conf
          Added check for that.
        - Don't die on installation if on elm.filelist 
          have command letter 'c' or 'u', that is used 
          by Elm ME+ 2.5
        - Documented environment variables on elmregister
          manual page.
        - Added small fix to uninstall_list() on
                elmregister uninstall
          command.
        - Added compilation fixes for nls/gencat/gencat.c
        - Added compilation fixes for nls/gencat/dumpmsg.c
        - Elm ME+ tries check MAX_ATTEMPTS times (given 
          on Configure) for the removal of the {mailbox}.lock 
          file. After that many tries lock file is removed
          if it more that 10 minutes old (and mailbox is 
          not accessed). Added extra check that {mailbox}.lock
          is always read (even when local-lockfile-pidcheck
          option is "no") and access time is compared with
          modify time. If modify time is less than 5
          minutes old compared to access time (before
          checks for removal of the {mailbox}.lock 
          file), then also file is NOT considered old
          enough for removal after it is checked 
          MAX_ATTEMPTS times. This may perhaps help
          when file is on NFS server and clocks does
          not have on synchronized. This check does not work
          if filesystem is mounted with noatime or relatime
          option.
        - Wait sleepmsg seconds after {mailbox}.lock 
          is removed (and lock file {mailbox}.lock recreated)
          so that message
             Timed out - removing current lock file...
          is visible.
        - Changed $d_netinet_in to $i_netinet_in on Configure
          (#include  <netinet/in.h>)
        - Added $i_arpa_inet to Configure 
          (#include <arpa/inet.h>)
        - Changed $d_socket to $i_sys_socket on Configure
          (#include <sys/socket.h>) and changed I_SOCKET
          macro to I_SYS_SOCKET
        - Changed $d_netdb to $i_netdb on Configure
          (#include <netdeb.h>)
        - Changed $d_inttypes to $i_inttypes on Configure
          (#include <inttypes.h>)
        - Changed $d_locale to $i_locale on Configure
          (#include <locale.h>)
        - Changed $d_nl_types to $i_nl_types on Configure
          (#include <nl_types.h>)
        - On Ubuntu 11.10 release has libc.so.6
          on strange location. Now configure uses
          result of test compilation and  /usr/bin/ldd
          to locate libc.so on that case.
        - Changed that Configure uses compiling test for
          F_SETLK on Linux
        - Changed that Configure defaults  both flock 
          and fcntl locking on Linux 3.*
        - Added check to configure that if dnsdomainname returns
          empty answer.
        - Changed Configure to use /usr/bin/editor as default 
          editor if available.
        - Added prototype to try_dyn.c on Configure
        - Changed that OpenSSL is tried to locate from
          same directory than from where libc.so.6 
          found (on Ubuntu 11.10 release).
        - When creating (linking) libelmme-base.so, link it 
          with -ldl. Seems that it is not enough that programs 
          are linked with -ldl (on Ubuntu 11.10 release).
        - Changed Configure so that if to question
               Give the name of the ispell program on your system:
          is answered with "none", addition of ispell
          option to the pre-send menu is canceled.
        - Small fix to doc/Makefile.SH
        New elmrc option:
            local-lockfile-pidcheck

Changes on Elm 2.4ME+ PL125 (25) compared with Elm 2.4ME+ PL124 (25)

        SUMMARY: This release collects patches Elm 2.4ME+ PL124a (25) 
                 - PL124d (25) and collects some backported fixes from 
                 Elm ME+ 2.5. This release fixes fastmail and adds 
                 certificate check to tls -module. Also some other 
                 changes or fixes are included.
        - Added more detailed documentation to elmregister
          manual page.
        - Fixed usage of wrong variable on cs_cmp_iso2022_gen()
        - Fixed problem where converting pgp mail charset
          did not worked, when replying.
        - Fixed crash on --icon-name=xxx command line option.
        - Fixed problem where "frm -q file" did not printed number of
          messages.
        - Fixed message
                'protocol' paramater is missing from multipart/encrypted -type!
          to
                'protocol' parameter is missing from multipart/encrypted -type!
        - Fixed compilation warning
                syscall.c: In function `system_call':
                syscall.c:222: warning: variable `sh' might be 
                        clobbered by `longjmp' or `vfork'
        - Changed address hurtta+elm@posti.fmi.fi
          to hurtta+elm@siilo.fmi.fi
        - Check also if Makefile-1.SH is newer than Makefile-1
          (not only if Makefile.SH is newer than Makefile)
        - Added
                multipart/parallel   (RFC 2045)
                multipart/related    (RFC 2387)
          to lib/misc/mediatype.c. These are not supported,
          but treated as multipart/mixed.
        - Handle IPv6 URLs (RFC 2732) on List-* -headers, so 
          that they do not give parsing error. IPv6 addresses
          are not supported however.
          RFC 2732: Format for Literal IPv6 Addresses in URL's
        - Changed "elmregister unstage" so that it does not print
                  bin/elmregister: Ignoring entry 
                  /usr/local/lib/elmlibregister -- 
                  not in stage area (/usr/local/var/stage-elm2.4me+)
          messages (without -v (verbose) option).
        - Changed "elmregister replay" so that it does not print
                  bin/elmregister: (/usr/local/lib/elm.filelist) 
                  Keeping file usr/local/lib/elm.terminalinfo from 
                  old version
          messages (without -v (verbose) option).
        - Changed "elm -h" text.
        - On elmregister remove temporary file after rename, if it still
          exists. This may happen, if hard link already existed between names.
        - Changed cs_stream_from_unknown() to use wcrtomb()
           instead of wcsrtombs(). That way null characters (L'\0')
           do not truncate string.
        - Added possible fix to  convert_to_wchar()
        - Added possible fix to cs_streamclip_from_unknown()
        - Changed elm to return failure (nonzero status) if there is 
          error on conversion of characters in included file on command
               elm -i <filename> <address>
        - Fix sorting directory messages of local directory
        - Do not use erase_a_char() on enter_helper()
          -- usage is not correct.
        - Fixed debug output on scommon_ClearScreen()
        - Fixed do_movement1(). This fixes updating of attachment 
          list when pressing UP key and current attachment is 
          changed to previous page (when there is more attachments
          than to one page fits.)
        - Added rewinddir() to browser_fill_local()
        - Fixed some unknown command messages in case of 
          non-letter key is pressed.
        - Fixed character set of %s expansion on attribution string.
        - Fixed redraw loop on E)xtended command -screen on resizing
          of screen.
        - Fixed possible problem on mbx_move_temp_file()
          where stat and lstat buffers are used when they are
          uninitialized (when syscall failed).
        - Fixed problem where saving options did not 
          uncommented changed userlevel (or any other enumerated
          variable).
        - Fixed problem where turning OFF "M)enu display " on
          options editor do not disabled menu when it is 
          returned to mailbox screen.
        - Fixed problem where error and transient messages did 
          not handled UTF-8 text correct.
        - Added possible fix for menu_set_default()
        - Added redrawing of browser window if enter is rejected, 
          because select_dir_item() trashes directory listing.
        - Fixed so that ioctl() on cur_ScreenSize() uses terminal_fd
          variable and not constant 1 as file description.
        - Fixed crash on "Metamail selection" screen, when RIGHT
          key is pressed.
        - Fixed valgrind reported memory leak:  
            4,502 (60 direct, 4,442 indirect) bytes in 2 blocks 
               are definitely lost in loss record 29 of 31
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195CE8: safe_malloc (safemalloc.c:48)
            by 0x81A3A38: malloc_string (string.c:80)
            by 0x81A4CB2: cat_strings (string.c:514)
            by 0x81223D8: browser_cat_local (localmbx.c:1074)
            by 0x8134F81: give_edit_buffer (savefolder.c:3698)
            by 0x8072417: gb_browser (browser.c:601)
            by 0x8090892: enter_helper (in_utils.c:816)
            by 0x8073071: run_browser (browser.c:1025)
            by 0x807327A: folder_browser (browser.c:1100)
            by 0x80AA224: OpenMailbox (openmailbox.c:38)
        - Fixed valgrind reported memory leak:  
            4,448 (52 direct, 4,396 indirect) bytes in 1 blocks 
              are definitely lost in loss record 25 of 30
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195CF8: safe_malloc (safemalloc.c:48)
            by 0x8132218: browser_malloc2 (savefolder.c:2455)
            by 0x813229A: browser_malloc (savefolder.c:2481)
            by 0x813251C: new_browser (savefolder.c:2571)
            by 0x80AA1B6: OpenMailbox (openmailbox.c:30)
        - Do not malloc empty array on ascify_string()
        - Fixed valgrind reported memory leak:  
            10 bytes in 5 blocks are definitely lost in loss record 1 of 23
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195D08: safe_malloc (safemalloc.c:48)
            by 0x8172A65: hdr_text (hdrdecode.c:502)
        - Fixed bug where "mailer = submission" was giving 
            RET parameter to RCPT command when it must be on 
            MAIL command on submission (or SMTP) protocol.
        - Fix small error on cat_strings() where wrong charset
          name is printed when printind is specified.
        - Fix small error on ascii_need_quote() and
          string_need_quote on melib/mime_param.c. Both was
          missing [] characters.
        - Fixed error message on delete_alias_files()
        - Added following new types to doc/mime.types file:
                application/vnd.oasis.opendocument.chart
                application/vnd.oasis.opendocument.chart-template
                application/vnd.oasis.opendocument.formula
                application/vnd.oasis.opendocument.formula-template
                application/vnd.oasis.opendocument.graphics
                application/vnd.oasis.opendocument.graphics-template
                application/vnd.oasis.opendocument.image
                application/vnd.oasis.opendocument.image-template
                application/vnd.oasis.opendocument.presentation
                application/vnd.oasis.opendocument.presentation-template
                application/vnd.oasis.opendocument.spreadsheet
                application/vnd.oasis.opendocument.spreadsheet-template
                application/vnd.oasis.opendocument.text
                application/vnd.oasis.opendocument.text-master
                application/vnd.oasis.opendocument.text-template
                application/vnd.oasis.opendocument.text-web
        - Fixed the error where hdr_comment() was not correctly
          dequoted \ -escaping.
        - Command sequence
              m)ail -> view) -> ' ' -> m)ail
          and
              m)ail -> view) -> ' ' -> b)ounce
          and
              m)ail -> view) -> ' ' -> r)eply
          and
              m)ail -> view) -> ' ' -> f)orward
          and
              m)ail -> view) -> ' ' -> g)roup reply
          and
              m)ail -> view) -> ' ' -> Mailing list I)nfo
          and
              m)ail -> view) -> ' ' -> ^K  (Mail PGP public key)
          and
              m)ail -> view) -> ' ' -> generic R)eply
          were possible.  These were sending mail (recursively).
          Added flag SHOWMSG_NOMAIL which disables
          mailing commands.
          Also disallowed
              m)ail -> view) -> ' ' -> V)iew digests
          because there also are mailing commands.
        - Added possible fix for get_word_from_string()
        - "The attached email triggers a bug in ELM 2.4ME+ PL123.  
           The problem is that reading this email message causes 
           continuous redraw of the screen, and you have to kill elm 
           to exit.  I think it is caused by too many attachments."
         Reported by: Bruce Momjian <bruce@momjian.us>
        > Fixed "Metamail selection" / "Mailcap program selection"
          prompt screen.
        - "I'm attaching the mailbox consisting of just this message.
           To reproduce the problem, save it, uncompress, and try
           searching through the body of the message (using elm) for
           a string, such as "iegor":
             bunzip /tmp/spam-crash.bz2
             elm -f /tmp/spam-crash
             //
             iegor
           The double-free happens in the following stack:
           (gdb) where
           #0  0x0000000800a9855c in kill () from /lib/libc.so.6
           #1  0x0000000800a973ed in abort () from /lib/libc.so.6
           #2  0x0000000800a36ae5 in _UTF8_init () from /lib/libc.so.6
           #3  0x0000000800a36b1c in _UTF8_init () from /lib/libc.so.6
           #4  0x0000000800a37abd in _UTF8_init () from /lib/libc.so.6
           #5  0x00000000004978f0 in arrange_decoded ()
           #6  0x000000000049ee1b in simple_mime_walk ()
           #7  0x000000000049ecf7 in simple_mime_walk ()
           #8  0x000000000046bae3 in mc_match_in_text_mbx ()
           #9  0x0000000000469ced in mcommon_match_in_text ()
           #10 0x0000000000457cfa in pattern_match ()
           #11 0x00000000004351fe in motion ()
           #12 0x0000000000435945 in mailbox_command ()
           #13 0x0000000000445ae6 in compute_visible ()
           #14 0x0000000000446560 in main_messages_menu ()
           #15 0x00000000004347fd in main ()"
         Reported by: Mikhail T. <mi+elm@aldan.algebra.com>
        > Fixed valgrind reported invalid free:
         Invalid free() / delete / delete[]
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8195D38: safe_free (safemalloc.c:104)
            by 0x8105B6F: arrange_decoded (mime_decode.c:2532)
            by 0x8111349: simple_mime_walk (mimewalk.c:150)
            by 0x811118C: simple_mime_walk (mimewalk.c:94)
            by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
            by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
            by 0x80AE09E: pattern_match (pattern.c:438)
            by 0x8081755: motion (elm.c:1744)
            by 0x807FA44: mailbox_command (elm.c:862)
            by 0x80977BD: main_messages_loop (mailbox.c:233)
            by 0x809822E: main_messages_menu (mailbox.c:634)
          Address 0x4491350 is 0 bytes inside a block of size 20 free'd
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8195D38: safe_free (safemalloc.c:104)
            by 0x8105B57: arrange_decoded (mime_decode.c:2528)
            by 0x8111349: simple_mime_walk (mimewalk.c:150)
            by 0x811118C: simple_mime_walk (mimewalk.c:94)
            by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
            by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
            by 0x80AE09E: pattern_match (pattern.c:438)
            by 0x8081755: motion (elm.c:1744)
            by 0x807FA44: mailbox_command (elm.c:862)
            by 0x80977BD: main_messages_loop (mailbox.c:233)
            by 0x809822E: main_messages_menu (mailbox.c:634)
        - "Not sure if you have fixed this in later releases but in ELM 2.4ME+
           PL123 if I try to save a file attachment of type "image/jpeg" and the
           file name already has extension "jpg" elm suggests the additional
           extension "jpeg"."
          Reported by: Bruce Momjian <bruce@momjian.us>
        > Filename was not correctly recorded on attach_save()
        - Fixed fastmail.
        - Moved needs_encoding() from src/mime.c to lib/misc/mimesend.c
        - Moved base64_encode(), line_quoted_printable_encode() and
          quoted_printable_encode() from src/mime_encode.c to
          lib/mailer/mime_encode.c
        - Changed fastmail so that it uses quoted-printable or base64
          encoding if needed.
        - Changed fastmail so that it adds Content-Type header field
          and charset parameter to it if needed. Type is assumed to
          be text/plain on most cases (given file is supposed to be
          text body of mail). However if content (and possible
          filename extension) matches to type given on mime.types
          file (or on global elm.mimetypes file or on built-in 
          definition) that type is used. Fastmail ignores definitions 
          which used filename extension alone. However if file looks like
          like binary, then application/octet-stream is used instead.
        - Added to fastmail a warning message:
                In-reply-to header should include only message-id
          That message can be disabled with elmrc option 
          add-in-reply-to-phrase.
        - Give error of -R option on fastmail includes 8-bit data.        
        - Give error of -P option on fastmail includes 8-bit data.        
        - Fastmail did not printed To: -header field. Added that.
        - Added -t (content-type) option to fastmail. If fastmail
          detect something that it is not text, option -t text/plain
          can be used.
        - Allow setting character set with "-t ;charset=charset-value"
          option on fastmail.
        - Changed consideration when lines (of attachments) are
          normalized. 
        - If content type is not textual, 7bit and 8bit encodings
          should not be used. Changed default encding on these cases.
        - Warn if 7bit or 8bit encoding is used for non-textual types.
        - Added test to Configure to look EWOULDBLOCK from
          /usr/include/asm-generic/errno.h on Linux
        - Added error/warning messages mpar_multipart_parse() for 
          case there is Content-Transfer-Encoding other than 7bit, 
          8bit or binary:
               PARSE ERROR: ... Content-Transfer-Encoding is ignored 
                     for multipart type
               PARSE ERROR: non-identity Content-Transfer-Encoding 
                     is ignored for multipart type
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported 
                     for multipart type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     unsupported for multipart type       
          Actual parsing of multipart type is not changed.
        - Added error/warning messages mpar_rfc822_parse() for 
          case there is Content-Transfer-Encoding other than 7bit, 
          8bit or binary:        
               PARSE ERROR: ... Content-Transfer-Encoding is ignored 
                     for message/rfc822 type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     ignored for message/rfc822 type
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported 
                     for message/rfc822 type
               PARSE ERROR: non-identity Content-Transfer-Encoding is 
                     unsupported for message/rfc822 type
          Actual parsing of message/rfc822 type is not changed.
        - Added error message for unknown Content-Transfer-Encoding
          values:
               PARSE ERROR: ... Content-Transfer-Encoding is unsupported
        - Added that 
                message-hide-hack = FOLDER INTERNAL DATA
          elmrc option is used also on frm -program. 
        - Don't die on installation if on elm.filelist have command 
          letter 'r', that is used by Elm ME+ 2.5
        - Added that tls module prints message if IMAP or POP
          server's certificate verified. IMAP or POP server's
          name is NOT verified against used DNS name. First CN
          from server's certificate's subject is printed (often
          last (and only) CN is equivalent of used DNS name).
        - Added elmrc options  
          "trusted-ca-certificates-file" and 
          "trusted-ca-certificates-dir" to "tls:" section;
          Option "tls:trusted-ca-certificates-file" gives 
          a file of CA certificates in PEM format. 
          Option "tls:trusted-ca-certificates-dir" gives
          a directory containing CA certificates in PEM 
          format. These option values are parameters
          of SSL_CTX_load_verify_locations().
          Default values of these options are set
          by  X509_get_default_cert_file() and
          X509_get_default_cert_dir().
        WARNING: tls module does not do server identity check
                 as required on RFC 2595.
                 tls module does not consult certificate
                 revocation list (CRL) when checking server's 
                 certificate (except perhaps from
                 directory given on option 
                 "tls:trusted-ca-certificates-dir")
        - Reimplemented elmrc variable "rand-file" on 
          "tls:" section as rc_DT_ESTR.
        - Added check that given rand-file is readable.
        - Reimplemented elmrc variable "rand-egd" on 
          "tls:" section as rc_DT_ESTR.
        - When values fail them are replaced with "none".
          Mark them changed so that it is saved to .elmrc.
          That replaces default value with explicit "none"
          if default value is not working.
        - Changed that StreamInfo() takes also struct string
          argument.
        - Added function == SS_verify to StreamInfo()
        - Fixed problem where elmrc options of shared 
          libraries was not initialized when they was
          printed with "elm -w".
        - Added possible fix to get_option_type()
        - Changed add_bytes() on elmregister so that 
          it reports filename on failed read.
        - Changed add_bytes() so that it handles 
          unexpected EOF better.
        - If configure is set DEFAULT_MAILER_PATH to "none"
          and it is on use, print message runtime:
                Give "mailer" on RC file: <path>
        - Don't print
                Mailer path for unknown not specified
          when initializing default mailer.
        - Fixed compilation warning on Ubuntu 9.04
              mailer.c: In function "init_default_mailer":
                mailer.c:827: warning: assignment discards 
                qualifiers from pointer target type
        - Fixed compilation warning on Ubuntu 9.04
              localmbx.c: In function "mbx_dotlock_file":
                localmbx.c:1915: warning: ignoring return 
                value of "write", declared with 
                attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              pop.c: In function "update_uidls":
                pop.c:258: warning: ignoring return value 
                of "ftruncate", declared with attribute 
                warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              file_util.c: In function "elm_chown":
              file_util.c:327: warning: ignoring return value 
              of "chown", declared with attribute 
              warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              opt_utils.c: In function "gethostdomain":
              opt_utils.c:45: warning: ignoring return value 
              of "fgets", declared with attribute 
              warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              panic.c: In function "print_str_err":
              panic.c:54: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              panic.c: In function "print_num_err":
              panic.c:69: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              panic.c: In function "panic":
              panic.c:117: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              panic.c: In function "panic":
              panic.c:125: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              syscall.c: In function "start_run":
              syscall.c:655: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:662: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:688: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:695: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:708: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:720: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:725: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              syscall.c:733: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              pgp_decode.c: In function "pgp_decrypt_init":
              pgp_decode.c:415: warning: ignoring return value 
              of "write", declared with attribute warn_unused_result
              pgp_decode.c:417: warning: ignoring return value 
              of "write", declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              canceled_mail.c: In function "index_initialize":
              canceled_mail.c:1435: warning: ignoring return value 
              of "ftruncate", declared with attribute 
              warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              pgp.c: In function "pgp_encrypt":
              pgp.c:657: warning: ignoring return value of "pipe", 
              declared with attribute warn_unused_result
              pgp.c:873: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
              pgp.c:874: warning: ignoring return value of "write", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              syscall.c: In function "fork_execl":
              syscall.c:245: warning: ignoring return value of 
              "write", declared with attribute warn_unused_result
              syscall.c:253: warning: ignoring return value of 
              "write", declared with attribute warn_unused_result
              syscall.c:276: warning: ignoring return value of 
              "write", declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              answer.c: In function "main":
              answer.c:183: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:192: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:201: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:210: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:220: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:230: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:240: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:249: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:259: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:268: warning: ignoring return value of "fgets", 
              declared with attribute warn_unused_result
              answer.c:292: warning: ignoring return value of "system", 
              declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              elmrc-write.c: In function "main":
              elmrc-write.c:259: warning: ignoring return value of 
              "ftruncate", declared with attribute warn_unused_result
        - Fixed compilation warning on Ubuntu 9.04
              elmlibregister.c: In function "main":
              elmlibregister.c:242: warning: ignoring return value 
              of "ftruncate", declared with attribute 
              warn_unused_result
        New files:
                lib/misc/mimesend.c
                lib/mailer/mime_encode.c

Changes on Elm 2.4ME+ PL124d (25) compared with Elm 2.4ME+ PL124c (25)

        SUMMARY: This patch collects backported fixes from
                 Elm ME+ 2.5 and fixes character set of %s 
                 expansion on attribution string.
        [ This patch is branch from the Elm 2.4ME+ line. ]
        - Fix sorting directory messages of local directory
        - Do not use erase_a_char() on enter_helper()
          -- usage is not correct.
        - Fixed debug output on scommon_ClearScreen()
        - Fixed do_movement1(). This fixes updating of attachment 
          list when pressing UP key and current attachment is 
          changed to previous page (when there is more attachments
          than to one page fits.)
        - Added rewinddir() to browser_fill_local()
        - Fixed some unknown command messages in case of 
          non-letter key is pressed.
        - Fixed character set of %s expansion on attribution string.
        - Fixed redraw loop on E)xtended command -screen on resizing
          of screen.
        - Fixed possible problem on mbx_move_temp_file()
          where stat and lstat buffers are used when they are
          uninitialized (when syscall failed).
        - Fixed problem where saving options did not 
          uncommented changed userlevel (or any other enumerated
          variable).
        - Fixed problem where turning OFF "M)enu display " on
          options editor do not disabled menu when it is 
          returned to mailbox screen.
        - Fixed problem where error and transient messages did 
          not handled UTF-8 text correct.
        - Added possible fix for menu_set_default()
        - Added redrawing of browser window if enter is rejected, 
          because select_dir_item() trashes directory listing.
        - Fixed so that ioctl() on cur_ScreenSize() uses terminal_fd
          variable and not constant 1 as file description.

Changes on Elm 2.4ME+ PL124c (25) compared with Elm 2.4ME+ PL124b (25)

        [ This patch is branch from the Elm 2.4ME+ line. ]
        SUMMARY: This patch fixes crash on "Metamail selection" 
                 screen, error on submission (a kind of SMTP) 
                 protocol implementation and a couple of  valgrind 
                 reported memory leaks. 
        - Fixed crash on "Metamail selection" screen, when RIGHT
          key is pressed.
        - Fixed valgrind reported memory leak:  
            4,502 (60 direct, 4,442 indirect) bytes in 2 blocks 
               are definitely lost in loss record 29 of 31
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195CE8: safe_malloc (safemalloc.c:48)
            by 0x81A3A38: malloc_string (string.c:80)
            by 0x81A4CB2: cat_strings (string.c:514)
            by 0x81223D8: browser_cat_local (localmbx.c:1074)
            by 0x8134F81: give_edit_buffer (savefolder.c:3698)
            by 0x8072417: gb_browser (browser.c:601)
            by 0x8090892: enter_helper (in_utils.c:816)
            by 0x8073071: run_browser (browser.c:1025)
            by 0x807327A: folder_browser (browser.c:1100)
            by 0x80AA224: OpenMailbox (openmailbox.c:38)
        - Fixed valgrind reported memory leak:  
            4,448 (52 direct, 4,396 indirect) bytes in 1 blocks 
              are definitely lost in loss record 25 of 30
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195CF8: safe_malloc (safemalloc.c:48)
            by 0x8132218: browser_malloc2 (savefolder.c:2455)
            by 0x813229A: browser_malloc (savefolder.c:2481)
            by 0x813251C: new_browser (savefolder.c:2571)
            by 0x80AA1B6: OpenMailbox (openmailbox.c:30)
        - Do not malloc empty array on ascify_string()
        - Fixed valgrind reported memory leak:  
            10 bytes in 5 blocks are definitely lost in loss record 1 of 23
            at 0x401C422: malloc (vg_replace_malloc.c:149)
            by 0x8195D08: safe_malloc (safemalloc.c:48)
            by 0x8172A65: hdr_text (hdrdecode.c:502)
        - Fixed bug where "mailer = submission" was giving 
            RET parameter to RCPT command when it must be on 
            MAIL command on submission (or SMTP) protocol.

Changes on Elm 2.4ME+ PL124b (25) compared with Elm 2.4ME+ PL124a (25)

        [ This patch is branch from the Elm 2.4ME+ line. ]
        SUMMARY:  This patch fixes errors on cat_strings(), 
                  ascii_need_quote(), string_need_quote(),
                  delete_alias_files() and hdr_comment().
                  Also this patch prevents recursive
                  mail commands via "m)ail -> view) folder"
                  and adds OpenDocument formats to mime.types 
                  -file.
        - Fix small error on cat_strings() where wrong charset
          name is printed when printind is specified.
        - Fix small error on ascii_need_quote() and
          string_need_quote on melib/mime_param.c. Both was
          missing [] characters.
        - Fixed error message on delete_alias_files()
        - Added following new types to doc/mime.types file:
                application/vnd.oasis.opendocument.chart
                application/vnd.oasis.opendocument.chart-template
                application/vnd.oasis.opendocument.formula
                application/vnd.oasis.opendocument.formula-template
                application/vnd.oasis.opendocument.graphics
                application/vnd.oasis.opendocument.graphics-template
                application/vnd.oasis.opendocument.image
                application/vnd.oasis.opendocument.image-template
                application/vnd.oasis.opendocument.presentation
                application/vnd.oasis.opendocument.presentation-template
                application/vnd.oasis.opendocument.spreadsheet
                application/vnd.oasis.opendocument.spreadsheet-template
                application/vnd.oasis.opendocument.text
                application/vnd.oasis.opendocument.text-master
                application/vnd.oasis.opendocument.text-template
                application/vnd.oasis.opendocument.text-web
        - Fixed the error where hdr_comment() was not correctly
          dequoting \ -escaping.
        - Command sequence
              m)ail -> view) -> ' ' -> m)ail
          and
              m)ail -> view) -> ' ' -> b)ounce
          and
              m)ail -> view) -> ' ' -> r)eply
          and
              m)ail -> view) -> ' ' -> f)orward
          and
              m)ail -> view) -> ' ' -> g)roup reply
          and
              m)ail -> view) -> ' ' -> Mailing list I)nfo
          and
              m)ail -> view) -> ' ' -> ^K  (Mail PGP public key)
          and
              m)ail -> view) -> ' ' -> generic R)eply
          were possible.  These were sending mail (recursively).
          Added flag SHOWMSG_NOMAIL which disables
          mailing commands.
          Also disallowed
              m)ail -> view) -> ' ' -> V)iew digests
          because there also are mailing commands.
        - Added possible fix for get_word_from_string()

Changes on Elm 2.4ME+ PL124a (25) compared with Elm 2.4ME+ PL124 (25)

        [ This patch is branch from the Elm 2.4ME+ line. ]
        SUMMARY:  This patch fixes the redraw loop on the Mailcap program 
                  selection screen, fixes a double free() on search, and fixes 
                  filename handling on attach_save().
        - "The attached email triggers a bug in ELM 2.4ME+ PL123.  
           The problem is that reading this email message causes 
           continuous redraw of the screen, and you have to kill elm 
           to exit.  I think it is caused by too many attachments."
         Reported by: Bruce Momjian <bruce@momjian.us>
        > Fixed "Metamail selection" / "Mailcap program selection"
          prompt screen.
        - "I'm attaching the mailbox consisting of just this message.
           To reproduce the problem, save it, uncompress, and try
           searching through the body of the message (using elm) for
           a string, such as "iegor":
             bunzip /tmp/spam-crash.bz2
             elm -f /tmp/spam-crash
             //
             iegor
           The double-free happens in the following stack:
           (gdb) where
           #0  0x0000000800a9855c in kill () from /lib/libc.so.6
           #1  0x0000000800a973ed in abort () from /lib/libc.so.6
           #2  0x0000000800a36ae5 in _UTF8_init () from /lib/libc.so.6
           #3  0x0000000800a36b1c in _UTF8_init () from /lib/libc.so.6
           #4  0x0000000800a37abd in _UTF8_init () from /lib/libc.so.6
           #5  0x00000000004978f0 in arrange_decoded ()
           #6  0x000000000049ee1b in simple_mime_walk ()
           #7  0x000000000049ecf7 in simple_mime_walk ()
           #8  0x000000000046bae3 in mc_match_in_text_mbx ()
           #9  0x0000000000469ced in mcommon_match_in_text ()
           #10 0x0000000000457cfa in pattern_match ()
           #11 0x00000000004351fe in motion ()
           #12 0x0000000000435945 in mailbox_command ()
           #13 0x0000000000445ae6 in compute_visible ()
           #14 0x0000000000446560 in main_messages_menu ()
           #15 0x00000000004347fd in main ()"
         Reported by: Mikhail T. <mi+elm@aldan.algebra.com>
        > Fixed valgrind reported invalid free:
         Invalid free() / delete / delete[]
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8195D38: safe_free (safemalloc.c:104)
            by 0x8105B6F: arrange_decoded (mime_decode.c:2532)
            by 0x8111349: simple_mime_walk (mimewalk.c:150)
            by 0x811118C: simple_mime_walk (mimewalk.c:94)
            by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
            by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
            by 0x80AE09E: pattern_match (pattern.c:438)
            by 0x8081755: motion (elm.c:1744)
            by 0x807FA44: mailbox_command (elm.c:862)
            by 0x80977BD: main_messages_loop (mailbox.c:233)
            by 0x809822E: main_messages_menu (mailbox.c:634)
          Address 0x4491350 is 0 bytes inside a block of size 20 free'd
            at 0x401CFCF: free (vg_replace_malloc.c:235)
            by 0x8195D38: safe_free (safemalloc.c:104)
            by 0x8105B57: arrange_decoded (mime_decode.c:2528)
            by 0x8111349: simple_mime_walk (mimewalk.c:150)
            by 0x811118C: simple_mime_walk (mimewalk.c:94)
            by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
            by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
            by 0x80AE09E: pattern_match (pattern.c:438)
            by 0x8081755: motion (elm.c:1744)
            by 0x807FA44: mailbox_command (elm.c:862)
            by 0x80977BD: main_messages_loop (mailbox.c:233)
            by 0x809822E: main_messages_menu (mailbox.c:634)
        - "Not sure if you have fixed this in later releases but in ELM 2.4ME+
           PL123 if I try to save a file attachment of type "image/jpeg" and the
           file name already has extension "jpg" elm suggests the additional
           extension "jpeg"."
          Reported by: Bruce Momjian <bruce@momjian.us>
        > Filename was not correctly recorded on attach_save()

Changes on Elm 2.4ME+ PL124 (25) compared with Elm 2.4ME+ PL123 (25)

        SUMMARY:  This release collects patches Elm 2.4ME+ PL123a -
                  PL123f. This release fixes a bug in the c)hange 
                  folder command that caused lost mail. Some other
                  bugs are also fixed. This release adds some new 
                  sub-commands to the elmregister -command.
        Elm 2.4ME+ is no longer main line (trunk or main branch).
        - Interpret output of PGP according of mail charset
          (that is actually done only when that body part
           was text ... )
        - If l)imit command was used, and then Eo) [o)pen mailbox to 
          current view] was used, wrong messages was shown on
          limited display. Now number of selected message is
          recalculated after new mailbox is added.
        - Changed redraw handling on 
          "Keep unread messages in incoming mailbox?" question.
        - Now "elmregister replay" recreates hard links also when
          "-R" option is not used (-R option implies moving
          installation to final place).
        - Added missing subcommand to elmregister manual page.
        - Changed "elmregister rpm-list" so that hard links are 
          listed. They are now listed with %ghost macro.
        - Fixed bug where "elmregister replay -R ..." was setting 
          files to wrong owner (was used gid as uid) on some 
          situation, when file was copied.
        - Signal failure on read_line() on lib/mbox/localmbx.c
          if EOF occur before nothing is read.
        - Fixed Configuration error on Ubuntu 6.06 (GCC 4.0.3)
        - If after c)hange folder locking of new folder (mailbox)
          failed, Elm was keeping open old folder, but temp
          file of older folder (mailbox) was closed. That caused
          corruption of mailbox.
          * If "Folder unchanged." message was given, folder
            was not closed.
          * Folder was closed on "[Keeping all messages.]" case,
            it does not need  to be closed on here either.
          > Do not call close_folder() on on real_save() at all.
            Instead use unlock() on real_cave() ( as in done
            if 'resyncing' was set ) .
          * Actual closing of mailbox is done anyway with 
            leave_old_folder() which is called from free_storage()
          > Splited leave_mbox()  to sync_mbox() function
            which never closes mailbox and close_cleanup_mbox()
            which does closing (and may remove mailbox).  
        - "There were two adjacent spaces in the first
           email subject line which were collapsed into
           one space in the reply, which I think is legal.
           Perhaps multiple spaces should be collapsed into
           one for comparison, perhaps near
           skip_ascii_head_from_string() in thread.c."
         Suggested by: Bruce Momjian  <bruce@momjian.us>
        - "./usr/share/elm/elmregister replay -M all -R `pwd`"
          was segfaulting when moving packgage to final place.
          Fixed missing initialization on copy_dir().
         Problem noted by: Peter Alfredsen <peteralf@tdcadsl.dk> 
        - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0"
          when doing "./..../elmregister replay -M all -R `pwd`"
        - Do not add textual=NULL when parsing syntax error
          on update_expanded_from_edit_buffer()
        - Fixed case where changing alias two times without resync
          caused that alias name was truncated.
        - Hack creation of some missed directories during installation.
        - Fixed message
               [ Use 'Rl' to reply to list or 'I' for list info. ]
           on case when there is header
              List-Post: NO (posting not allowed on this list)
        - Fix panic
            STRING PANIC in cs_unknown.c:1991:cs_estimate_clip_unknown
            >>>printable_len not supported
          on some case when elmrc option locale-charsets is used.
        - Fixed some problems with Configure on ubuntu.
        - When 
              locale-charsets = UTF-8
          was effect, Elm ME+ was printing
              [ Charset US-ASCII unsupported, converting... ]
        > Be sure that cs_unknown gives flag CS_universal_set
          for UTF-8 as cs_utf was giving.
        - Avoid error message
               "Failed save message to folder XXXX"
          when saving mail from V)iew digest -command
          and embedded mail do not end to newline.
        - Fixed compilation on ubuntu (GCC 4.0.2). 
        - "troubles when moving from pgp5 to gpg - cannot 
           encrypt. Seems parsing of gpg --list-public-keys 
           is broken in gnupg 1.4.5. syscall to gpg paramter 
           8 after receipient is <2> ?!"
         Problem noted by: Axel Reinhold <axel@freakout.de>
        > Added support for newer gpg versions
        - "last gpg pathes you sent to me work only on some keys!"
         Problem noted by: Axel Reinhold <axel@freakout.de>
        > Elm ME+ was adding < > around of address (not related 
          to patch) and therefore gpg did not found key when
          on key there was no < > around addresses. Removed 
          adding of < >.
        - Elmrc option verify-local-address did worked only for
          'address' but not for '<address>'.  Fixed that.
          NOTE: However verify-local-address works only when
                mailer option verify=yes works. 
                Elmrc option 
                     mailer=sendmail; verify=yes  
                works only when sendmail is setuid root. Use 
                instead elmrc option
                     mailer=submission; verify=yes 
        - Fixed crash when om elmrc have  
          ### pgp2 = none
          "Is that "&&" correct?  Looking at other "none" comparisons 
           in the file, it isn't.  Patch attached, and problem 
           confirmed fixed."
         From: Bruce Momjian <bruce@momjian.us>
        - Option -w did not rebuild .elm/mime.types although error 
          message asked to use -w option.
        - Error message did not mentioned .elm/mime.types. Added it.
        - Fixed incorrect generation of elm.mimecharsets file during
          installation (elm.mimecharsets.NEW was ok).
        - Avoided error message
                bin/elmregister: [trim_list] Bad command letter: s
        - Fixed valgrind reported memory leak:
          77 bytes in 2 blocks are definitely lost in loss record 11 of 22
            at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
            by 0x40E96C6: safe_realloc (safemalloc.c:64)
            by 0x40DDB39: elm_vmessage (output.c:1302)
            by 0x40DE1B1: elm_message (output.c:1481)
            by 0x809F789: set_folder_window_title (screen.c:82)
        - Fixed valgrind reported memory leak:
          57 bytes in 1 blocks are definitely lost in loss record 8 of 22
            at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
            by 0x40E96C6: safe_realloc (safemalloc.c:64)
            by 0x40FBE18: strmcat (strmcpy.c:40)
            by 0x40416EC: strXcat (terminal.c:91)
            by 0x4043F64: terminal_set_title (terminal.c:1624)
            by 0x80B1865: set_terminal_titles (termtitle.c:59)
        - "Looking at my incoming mail I noticed that there is no
           space (empty line) between the end of one message and the 
           beginning of the next message".
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > This is regression of Elm 2.4ME+ PL123 (25) or
          Elm 2.4ME+ PL122j (25). With IMAP fix from 122j 
          content length does not include ending empty line of mail. 
          Fixed mbx_mark_keep_normal() for that. 
        WARNING: On MMDF case mbx_mark_keep_normal() is not fixed
                 and is probably broken.
        - Patchlevel variable for PL 123 (25) did not included (25).
          Re-added it, because it is still other places. Perhaps that 
          (25) should be removed. It have little point.
        - elm.rc may include 'unidata = none'. Avoid failing of
          'elmregister replay' because of chmod is failing.
        > Instead do chmod on elmunidata
        - Same also for 'bindata = none' (do chmod on elmbindata).
        - Some -traditional  fixes.
        - Added command "elmregister list" to generate files
          listing suitable for tar command. Names on list are
          NL separated.
        - Added command "elmregister list-directories" to generate
          directory listing.

Changes on Elm 2.4ME+ PL123f (25) compared with Elm 2.4ME+ PL123e (25)

        [ This patch is branch from the main line. ]
        - "./usr/share/elm/elmregister replay -M all -R `pwd`"
          was segfaulting when moving packgage to final place.
          Fixed missing initialization on copy_dir().
         Problem noted by: Peter Alfredsen <peteralf@tdcadsl.dk> 
        - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0"
          when doing "./..../elmregister replay -M all -R `pwd`"
        - Do not add textual=NULL when parsing syntax error
          on update_expanded_from_edit_buffer()
        - Fixed case where changing alias two times without resync
          caused that alias name was truncated.
        - Hack creation of some missed directories during installation.
        - Fixed message
               [ Use 'Rl' to reply to list or 'I' for list info. ]
           on case when there is header
              List-Post: NO (posting not allowed on this list)

Changes on Elm 2.4ME+ PL123e (25) compared with Elm 2.4ME+ PL123d (25)

        [ This patch is branch from the main line. ]
        - Fix panic
            STRING PANIC in cs_unknown.c:1991:cs_estimate_clip_unknown
            >>>printable_len not supported
          on some case when elmrc option locale-charsets is used.
        - Fixed some problems with Configure on ubuntu.
        - When 
              locale-charsets = UTF-8
          was effect, Elm ME+ was printing
              [ Charset US-ASCII unsupported, converting... ]
        > Be sure that cs_unknown gives flag CS_universal_set
          for UTF-8 as cs_utf was giving.
        - Avoid error message
               "Failed save message to folder XXXX"
          when saving mail from V)iew digest -command
          and embedded mail do not end to newline.

Changes on Elm 2.4ME+ PL123d (25) compared with Elm 2.4ME+ PL123c (25)

        [ This patch is branch from the main line. ]
        - Fixed compilation on ubuntu (GCC 4.0.2). 
        - "troubles when moving from pgp5 to gpg - cannot 
           encrypt. Seems parsing of gpg --list-public-keys 
           is broken in gnupg 1.4.5. syscall to gpg paramter 
           8 after receipient is <2> ?!"
         Problem noted by: Axel Reinhold <axel@freakout.de>
        > Added support for newer gpg versions
        - "last gpg pathes you sent to me work only on some keys!"
         Problem noted by: Axel Reinhold <axel@freakout.de>
        > Elm ME+ was adding < > around of address (not related 
          to patch) and therefore gpg did not found key when
          on key there was no < > around addresses. Removed 
          adding of < >.
        - Elmrc option verify-local-address did worked only for
          'address' but not for '<address>'.  Fixed that.
          NOTE: However verify-local-address works only when
                mailer option verify=yes works. 
                Elmrc option 
                     mailer=sendmail; verify=yes  
                works only when sendmail is setuid root. Use 
                instead elmrc option
                     mailer=submission; verify=yes 

Changes of Elm 2.4ME+ PL123c (25) compared with Elm 2.4ME+ PL123b (25)

        [ This patch is branch from the main line. ]
        - Fixed crash when om elmrc have  
          ### pgp2 = none
          "Is that "&&" correct?  Looking at other "none" comparisons 
           in the file, it isn't.  Patch attached, and problem 
           confirmed fixed."
         From: Bruce Momjian <bruce@momjian.us>
        - Option -w did not rebuild .elm/mime.types although error 
          message asked to use -w option.
        - Error message did not mentioned .elm/mime.types. Added it.

Changes of Elm 2.4ME+ PL123b (25) compared with Elm 2.4ME+ PL123a (25)

        [ This patch is branch from the main line. ]
        - Fixed incorrect generation of elm.mimecharsets file during
          installation (elm.mimecharsets.NEW was ok).
        - Avoided error message
                bin/elmregister: [trim_list] Bad command letter: s
        - Fixed valgrind reported memory leak:
          77 bytes in 2 blocks are definitely lost in loss record 11 of 22
            at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
            by 0x40E96C6: safe_realloc (safemalloc.c:64)
            by 0x40DDB39: elm_vmessage (output.c:1302)
            by 0x40DE1B1: elm_message (output.c:1481)
            by 0x809F789: set_folder_window_title (screen.c:82)
        - Fixed valgrind reported memory leak:
          57 bytes in 1 blocks are definitely lost in loss record 8 of 22
            at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306)
            by 0x40E96C6: safe_realloc (safemalloc.c:64)
            by 0x40FBE18: strmcat (strmcpy.c:40)
            by 0x40416EC: strXcat (terminal.c:91)
            by 0x4043F64: terminal_set_title (terminal.c:1624)
            by 0x80B1865: set_terminal_titles (termtitle.c:59)

Changes of Elm 2.4ME+ PL123a (25) compared with Elm 2.4ME+ PL123 (25)

        [ This patch is branch from the main line. ]
        - "Looking at my incoming mail I noticed that there is no
           space (empty line) between the end of one message and the 
           beginning of the next message".
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > This is regression of Elm 2.4ME+ PL123 (25) or
          Elm 2.4ME+ PL122j (25). With IMAP fix from 122j 
          content length does not include ending empty line of mail. 
          Fixed mbx_mark_keep_normal() for that. 
        WARNING: On MMDF case mbx_mark_keep_normal() is not fixed
                 and is probably broken.
       - Patchlevel variable for PL 123 (25) did not included (25).
         Re-added it, because it is still other places. Perhaps that 
         (25) should be removed. It have little point.
       - elm.rc may include 'unidata = none'. Avoid failing of
         'elmregister replay' because of chmod is failing.
       > Instead do chmod on elmunidata
       - Same also for 'bindata = none' (do chmod on elmbindata).

Changes of Elm 2.4ME+ PL123 (25) compared with Elm 2.4ME+ PL122 (25)

        Note: You must create directories
                  lib/mbox
                  src/url
                  src/block
                  src/list
                  lib/misc
                  utils/readmsg
              before applying this patch!
        - Added view folder command to pre-send menu.
          This allows attaching messages from current mailbox
          to mail.
        - Some changes on mail() -function.
        - O)verride charset -command did not have effect on
          non-MIME messages.
        > Now O)verride charset value is used also on non-MIME
          messages.
        - Characters on "Change to which folder:" -prompt
          was echoed to wrong place after 
          "Already reading that folder!" -message.
        - "I configured ELM 2.5 alpha 5 just like my ELM 2.5
           alpha 4 that compiles nicely and got the following
           error from init.c on Solaris 8 gcc.
           <...>
           In file included from init.c:14:
              ../../hdrs/shared_imp.h:118: parse error before `*'
              init.c:18: `rc_DT_SHARED' undeclared here (not in a
              function)"
          Problem noted by: James Corey <ploveregg@yahoo.com>
        > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS 
          was not defined.
        - browser_descend_local() did not handle correctly the case
          where the given filename did not include path (and
          there was a directory already selected.)
        - "I tried your patch for ELM 2.5 alpha5 and it 
           failed to compile on Solaris. So tried the same thing with the
           new ELM 2.5 alpha6. Same thing."
          "cs_wfallback.c: In function `init_fallback':
           cs_wfallback.c:165: `Debug' undeclared (first use in
           this function)"
         Reported by: James Corey <ploveregg@yahoo.com>
        > Moved DEBUG_VAR(Debug,__FILE__,"charset")
          outside of #if 0
        - On some cases filename -parameter was generated twice to
          Content-Disposition -header.
        - Tagged flag of current message was not cleared
          on V)iew digest command.
        - Allow canceling 
              Already have selection criteria - add more?
          prompt with Ctrl-C (interrupt character) on systems
          which supports POSIX termios.
        - Let Configure locate ar and nm (and ranlib) instead
          just using PATH
        - Let makefiles use ar -command located by Configure
        - Fix some compilation warnings on SunOS 5.10
        - Moved curses.h and term.h including from curses.c
          to def_screen.h before including termios.h.
        - SunOS 5.10 (Solaris) has problematic prototype
          for tputs() and dos not have prototype for tgoto()
          when __STDC__ is defined. Added some workarounds.
        * This workaround seems not be required when compiling
          with gcc
        - Use both curses.h and term.h on SunOS (Solaris), 
          not only term.h
        - Do not use USGNAMES on SunOS
        - iconv() on SunOS uses 'const char **inbuf' argument. 
        * NOTE: Changes for SunOS 5.10 are only compile tested.
          It is not tested that they produce working code.
        - Fix USGNAMES compilation.
        - Fixed valgrind reported error on case
              elm -i non-existing-file address
          Conditional jump or move depends on uninitialised value(s)
            at 0x808B83E: reset_parts (mime.c:105)
            by 0x808B9D6: free_mime_send_info (mime.c:144)
            by 0x80871B9: mail (mailmsg2.c:1351)
            by 0x8083910: send_msg_middle (mailmsg1.c:589)
        - Ctrl-T {pattern} did not update tags on messages 
          on the screen when visible messages was limited 
          with l)imit -command.
        - Enchance redrawing on
               Delete message?
               "received" folder not available, continue leaving folder?
               Move read message to "received" folder?
          -prompts.
        - Fix -Wtraditional warning:
             mailer.c:1644: warning: non-static declaration for 
               `sendmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             mailer.c:1902: warning: non-static declaration for 
               `submitmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             mailer.c:1932: warning: non-static declaration for 
               `execmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             ../../hdrs/elmlib.h:2278:21: warning: function-like 
                macro "special" must be used with arguments in traditional C
        > special() -macro is removed, it seems not be used.
        ( No other -Wtraditional warnings are fixed. )
        - Fixed some -Wuninitialized compilation warnings.
        - Ctrl-T 'all' did not update tags on messages 
          on the screen when visible messages was limited 
          with l)imit -command.
        - Ctrl-T 'flagged' did not updated messages on screen
          to be tagged when visible messages was limited 
          with l)imit -command.
        - Some minor fixes.
        - Fix initialization error on lib/read_rc.c (uses $USER
          instead of $HOME) when pw_dir is NULL.
        - "tried PL122 - and compiled with new openssl-0.9.8 !:
           cc -I../include -I/opt/ssl/include -fPIC  -O3   -c pop.c -o pop.o
           In file included from /opt/ssl/include/openssl/crypto.h:131,
                 from /opt/ssl/include/openssl/comp.h:5,
                 from /opt/ssl/include/openssl/ssl.h:176,
                 from elmtls.h:11,
                 from pop.c:10:
           /opt/ssl/include/openssl/ossl_typ.h:146: parse error before `2'"
          "a define collision between elm and openssl seams to be 
           occurring! The token "STORE" is used on both sources!"
          Problem noted by: Axel Reinhold <axel@freakout.de>
        > Changed order of includes.
        - Do not add parsed (to, from, cc) addresses twice
          to header_rec. That occured when mail was not downloaded
          IMAP mailbox was opened and headers was parsed second time
          when mail was opened.
        - Create elm.filelist and parent directories of elm.filelist
          before starting subprocess on "elmregister master".
        - Moved mailbox related code from libelmme-base.so to
          libelmme-mbox.so.
        - Removed provides_shared_CT
        - When saving mail forder time on "From " -separator
          line was shifted by one hour if it was on different
          zone than current time (ie. on daylight saving time 
          versus normal time).
        - Folder browser was showing wrong entry on prompt line
          after TAB -character. 
        - Moved some showmsg loops from elm.c to new file 
          showmsg_1.c
        - Changed implementation of elmrc option "extra-mailbox-dir".   
        - Changed implementation of elmrc option "attachment-dir".   
        - Changed implementation of elmrc option "gpg".   
        - Changed implementation of elmrc option "metamail".   
        - Changed implementation of elmrc option "pgp2".   
        - Changed implementation of elmrc option "pgp5-dir".   
        - Changed implementation of elmrc option "print".   
        - Fix expensive debug loop on imap.c (so that loop is not run
          if dubugging is not used.)
        - Moved some code from lib/charset.c to lib/mparse.c
        - UTF-8 is now required character set on code as is
          US-ASCII. 
        - When catenating strings prefer UTF-8 charset instead
          of display charset
        - Give error if -s 'subject' option is given several
          times to Elm.
        - On batch mode standard input is read for mail
          only when -i (include file) option is not given.
         (but actually -i option is not allowed on batch
          mode.)
        - Added mp_list_set_anon() and mp_lookup_anon() to
          src/screen/menu_param.c.
        - some cleanup on mailmsg1()
        - Changed default of elmrc variable "names" to NO
        - Removed wra_ReadCh() from src/screen/
        - Removed ReadCh (but not menu_ReadCh())
        - Removed cur_ReadCH from src/screen/curs_input.c
        - Added to menu_ReadCh() / menu_ReadCh2() flag
          READCH_poll, this waits one second for character.
          If character is not given or POLL_METHOD is
          not set, this returns TIMOUT_MARK as flag (or character)
        - Clear redraw flag of prompt area (ie. clear prompt 
          area) after menu_redraw_children() only if redraw flag is set.
        - Fix redraw handling on do_pipe
        - "elm -vvv"   was printing wrong output:
                Mailer:            unknown; path="/usr/sbin/sendmail"
          instead of
                Mailer:            sendmail; path="/usr/sbin/sendmail"; 
                                         add-from="dont"; 
                                         supported-bodytype="8bit"; 
                                         supports-dsn="yes"
          (actually on one line)
        - Moved main messages menu loop to src/mailbox.c from
          src/elm.c
        - exit_prog() no longer call leave but instead
          returns 1 if caller should exit.
        - quit() no longer call leave but instead
          returns 1 if caller should exit.
        - exit_prog() is renamed to exit_mailbox()
        - Added some support for RFC 1738  URL -syntax
          RFC 1738: Uniform Resource Locators (URL)
        - Added some support for RFC 1808  URL-syntax
          RFC 1808: Relative Uniform Resource Locators
        - Added -O 'url' (open url) option to Elm.
          Error is given if this option is given several
          times. 
         WARNING: This option does not ask any confirmation.
        - Added --confirm-url option. This asks confirmation
          for url given on -O option.
        - Added support for RFC 2368 mailto -urls.  
        - It is unclear what character set is used
          on URLs. This especially effects subject
          header and body pseudo header on mailto 
          url. Following rules are used:
               - If URL includes non-ascii characters,
                 charset of (decoded) URL is implied
                 charset of URL
               - If URL includes %XX encoded characters
                 > %7F (ie. non-ascii) charset of
                 decoded URL is UTF-8. This means that
                 %XX encoding is assumed to be use
                 UTF-8 character set.
               - Note that these two rules are on
                 conflict if some, but not all non-ascii
                 characters are % -encoded. 
        - Added dummy handler for http -URLs.    
        - Added some support for imap -URLs.     
          This support is incomplete and does not fully 
          follow RFC 2192.   
          -  ;AUTH=   is not supported
          -  ;TYPE=   is not supported
          -  ;UIDVALIDITY=  is not supported
          -  ;SECTION=      is not supported
          -  ;UID=          is not supported
        * Basically only imap mailbox can be specified, 
          not indivual message or list of messages (search result).
          That is like
                imap://user@full.hostname/inbox  
        - imap server can not be without mailbox.
          That is like
               imap://user@full.hostname/
          it is not currently available.
        - Command
             elm -O imap://user@full.hostname/inbox  
          can be used. That open imap folder 
          similarly than command
             elm -f user@full.hostname:inbox
        - RFC 2192 says that native separator of imap
          is used as hierarchy separator. This implementation 
          accepts URL separator (/) as hierarcy separator
          (even when native separator differ.)
        - Numbers 0-9 are also valid for imap atom. No need to
          convert parameter to string or literal.
        - Added RFC 2369 headers to known headers:
          List-Help, List-Subscribe, List-Unsubscribe,
          List-Post, List-Owner, List-Archive
        - Added 
              "List-ID:", "List-Help:", "List-Subscribe:", 
              "List-Unsubscribe:", "List-Post:", "List-Owner:", 
              "List-Archive:"
          to default weedout list.
        - RFC 2919 List-ID header is parsed.
        - RFC 2369 List-help, List-Unsubscribe, 
          List-Subscribe, List-Post, List-Owner and
          List-Archive are parsed.
        - Added Generic R)eply -command. That forms
          following subcommands:
              Ra        Reply to all
              Rl        Reply to a mailing list
              Ro        Reply to the owner of a mailing list
              Rt        Reply to the author of a message
        - Added Mailing list I)nfo -command.  
              Il        Mail a message to a mailing list
              Io        Mail a message to the owner of a mailing list
              Ih        Mailing list help
              Ia        Mailing list archive
              Is        Subscribe a mailing list
              Iu        Unsubscribe a mailing list
          Note that most of these commands are only able to send mail,
          so only mailto: -urls works. 
        - Commands 
              Ih        Mailing list help
              Ia        Mailing list archive
              Is        Subscribe a mailing list
              Iu        Unsubscribe a mailing list
          accepts also (subset of) imap: -urls. These commands 
          cause that a new mailbox is entered (visited) when
          imap: -url refers to whole mailbox. Current
          mailbox is not closed so this works differently
          than c)hange folder -command. Also when the mailbox 
          visited is left, messages are not moved to the =received
          folder. Commands that are available when visiting
          a mailbox via url are somewhat limited (changing of
          folder for example is not available). Actually
          probably command
              Ia        Mailing list archive
          makes sense from these.                  
        - When remote url is referenced, elm asks confirmation
          from user before entering mailbox/folder.
        - Also anonymous imap urls such as
              List-Archive: <imap://full.hostname/inbox>
          are supported.
        - Added common movement routine to src/movement.c.
          This is used by src/attach_menu.c and src/list/select.c
        - Made some changes to attachment screen.
        - "I built your latest elm today and came across a smail 
           issue as I build it on several architectures from the 
           same source tree. I found make clean fails to remove 
           utils/reghelper.o which leads to a failure to link 
           obvously..."
         Reported by: janjaap@stack.nl (Janjaap van Velthooven)
        > Added reghelper.o to UTIL_OBJ
        - Removed cur_Write_to_screen()
        - Removed cur_PutLineX()
        - 'V' - command (View digest as mailbox) to help.
        - Added 'E' as E)xtended command -prefix. 
        - Added 'Ed'  as duplication removal mode.       
          Duplicare removal requires that messages have Message-ID.
          When duplicates are collected also some other headers than
          Message-ID is checked that they are same.
          Duplicate removal does not delete messages but shows
          duplicates as one message on mailbox menu. Status changes
          are copied to all duplicates when message is read, tagged,
          flagged or marked for deletion.
        - NOTE: Mailing lists are not currently supported. 
                Specially duplicates are not currently removed
                if mail has any List-* -header.
        - Also on duplicate removal mode folder state does not 
          work and therefore commands which use readmsg. On 
          duplicate removal mode pipe (|) command is not available.
        - Reimplemeted thread sorting (old code did not 
          work with duplication removal mode.)
        * NOTE: threads are still based on subject (as on
          old thread sorting.)
        - Added 'Et' as view t)hreads -command. On viewing
          thread return can be used to select particular
          thread or 'd' can be used to mark all messages of
          thread to be deleted and 'u' can be used to
          mark all messages of thread to be undeleted.
        * NOTE: It is not possible to delete threads. 
          Even when all messages are removed from thread
          (when messages are actually deleted via resync ($)),
          thread is still visible if 'Et' command is used.
        - Added elmrc option "thread-sortby". This specifies
          sorting order for thread view. Possible values 
          are "sent" and "subject" (also "reverse-sent"
          and "reverse-subject").                 
        - If "unstable-reverse-thread" is set, reverse-sent
          sorting of  "thread-sortby" is based on lastest 
          message on thread. Therefore thread moves to new 
          location, when new message arrives to thread.
        - Some code changes on src/messages/
        - Moved show_message_status from lib/mbox/mbox.c
          (originally from  src/screen.c)
          to src/messages/status_common.c
        - Moved status handling from src/menu_common/mailbox.c
          to src/messages/status_common.c. Routines on 
          src/menu_common/mailbox.c does just forwarding.
        - Removed adds_only argument from newmbox_1(). That is
          always FALSE. New mails are read with read_new_mails()
          function.
        - Added "Eo" as o)pen mailbox to current view -command.
          This works similarly with several -f options on command
          line. That command opens new mailbox without closing
          current mailbox. 
        - When displaying some text/plain parts inside of    
          multipart/mixed they are catenated without adding 
          "[ Part #X/X: ... " text between them. Specially
          allows body part to change inside of line. That
          should allow changing a charset inside of line.
        * RFC 2046 says:
          "NOTE:  The CRLF preceding the boundary delimiter 
           line is conceptually attached to the boundary so 
           that it is possible to have a part that does not 
           end with a CRLF (line  break)."
        - Some code changes on content-transfer-encoding 
          decoding routines.
        - State routines did not handle the situation where
          charset of mail changed in the middle of the line. 
          Now current line buffer is converted to new charset
          in that case.
        - Added V)iew digest as mailbox 
          to 'after paging' (showmsg_c) commands.
        - On A)ssemble message fragments -command menu there
          is "o)ptions" -command, but actual command was missing.
          Added 'o' to command loop.
        - On digest viewing menu  there is "o)ptions" -command,
          but actual command was missing. Added 'o' to command loop.
        - Removed valid_option_type()
        - Removed charset_valid_magic()
        - Removed valid_stream()
        - Moved some code, which is used only by elm and config file
          parsing tools, from libelmme-base.so to libelmme-misc.so.
        - Moved lib/mediatype.c from libelmme-base.so to
          libelmme-misc.so. It seems to be used only on Elm
          so it should not be on library at all.
        - Changed load_terminal_map() to use malloc_gets() 
          instead of fgets()
        - Added load_mime_types_map() to libelmme-misc.so
        - Added dump_mime_types_map() to libelmme-misc.so
        - Added new tool elmmimetypes, which outputs
          mime.types or elm.mimetypes file.
        - Now elm.mimetypes file is generated to elm's 
          library directory during installation. During 
          Configure file goes to bin/elm.mimetypes.
        - Now mime.types file may include magic numbers
          or signature (pattern).
        - It is recommended that both magic numbers and
          extension is given for mime types.     
        - doc/mime.types is updated.
        - Builtin mime types map includes now magic numbers
          so these file extensions does not match if the file
          content does not match the magic numbers (or file
          signature).
        - Changed handling of elm.mimetypes and mime.types
        - If charset is defined on some other file than
          elm.mimetypes or mime.types, these definitions
          are not moved.
        - Removed "compatcharsets" (marked as obsolete)
        - Removed "iso646-charsets" (marked as obsolete)
        - Moved some code from lib/charset.c to lib/misc/charset.c
        - Elmcharset option -c merges elm.mimecharsets or mime.charsets file
          with file given as argument.
        - Configure do no longer read elm.mimecharsets from 
          elm global library directory. Instead existing
          elm.mimecharsets from elm global library directory
          are merged during installation (with -c option on
          elmcharsets).
        - Option -N is removed from Configure
        - Elmterminal option -c merges elm.terminalinfo or 
          terminal.info file with file given as argument.
        - Configure does no longer read elm.terminalinfo from 
          elm global library directory. Instead existing
          elm.terminalinfo from elm global library directory
          is merged during installation (with -c option on
          elmterminal).
        - Elmmimetypes option -c merges elm.mimetypes or 
          mime.types file with file given as argument.
        - Configure do no read elm.mimetypes from 
          elm global library directory. Instead existing
          elm.mimetypes from elm global library directory
          is merged during installation (with -c option on
          elmmimetypes).
        - New values without merging are written to
          elm.mimetypes.NEW, elm.mimecharsets.NEW,
          and elm.terminalinfo.NEW during installation.
        - Configure reports on SunOS 5.10:
             langinfo.h found, testing nl_langinfo(CODESET) support ...
             nl_langinfo(CODESET) seems work, charset for C locale is 646
             wchar.h found
          So 646 need to be mapped to ASCII.
        - Added elmrc option "check-type-pattern". If set
          (default), mime types are checked, when paging
          mail, agaist elm.mimetypes and mime.types. If content
          does not match to any pattern (magic number) given
          for type, that causes a warning. If on  elm.mimetypes or
          mime.types is any entry for type without pattern,
          warning is NOT printed. If warning is printed,
          confirmation is required. This mainly protects routines
          on mailcap to get bogus types. Notice that this does
          NOT protect metamail (if used).
        - Added elmrc option "attachment-fix-extension".
          If set (default), default file extension is set according
          of mime type (appending after existing extension
          of given filename). 
        - If either "attachment-fix-extension" or
          "check-type-pattern",  mime types are checked, when 
          saving mail, agaist elm.mimetypes and mime.types. 
          If content does not match any pattern (magic number) 
          given for type, that causes a warning.
        - Default file extension is not provided, if
          attachment content does not match mime type.
        - When default extension is provided, file browser
          adds that extension after enter is pressed. Then
          user is asked to accept that extension by pressing
          enter second time.
        - Decoding of content-transfer-encoding of attachments of
          attachment is changed. Now content-transfer-encoding
          is decoded to temporary file and after that user is asked
          about filename. The old behauviour was to decode
          content-transfer-encoding directly to file given
          by user. New behauviour is required for checking pattern
          (magic number) of attachments.
        - If content-transfer-encoding is unknown, default extension
          is ".encoded".
        - Folder and file browser now notices if only
          directory name prefix is given (ie. name ending in /)
          and asks confirm (second enter) of name before 
          accepting it. 
        - display_central_message() is called nowhere. Removed it
          and replaced set_central_message() with lib_transient(),
        - Small optimization for default_unidata()
        - Small optimization for mail_gets()
        - Small optimization for parse_body_routine()
        - Small optimization for cs_clip_from_binary()
        - Small optimization for string_cmp()
        - Optimize find_header() by changing data structure.
        - Changes on mbx_mark_keep_normal()
        - Optimize mbx_copy_body_spool()
        - Changed read_line on lib/mbox/localmbx.c
        - cuserid() is not used so it needs not be in
          lib/opt_utils.c either.
        - removed pmalloc() and lib/pmalloc.c -- they are 
          not used
        - Converted readmsg to use lib/mbox/mbox.c if
          state file does not exist.
        - Now readmsg works also for remote mailboxes
        - readmsg no longer removes empty lines from the end
          of message.
        - Small change on folder state file format.
        - Added elmrc option readmsg which tells path to readmsg
          -command (used internally of elm).
        > Meta expand provides:
                +filename       ==  file on mail folder directory
                =filename       ==  file on mail folder directory
                %filename       ==  file on mail folder directory
                {rc}/filename   ==  file on .elm subdirectory of home
                {lib}/filename  ==  file on Elm's global library directory
                {etc}/filename  ==  file on Elm's global configure
                                         directory
                {bin}/filename  ==  file on Elm's binary installation
                                         directory
          And also same epansions than expand_env():
                ~/filename      ==  file on home direccory
                Environment variable components
        - Moved encode.c from src/ to melib/       
        - Moved part of header_parse_helper() from
          src/messages/header_alloc.c 
          to melib/parse_helper.c
        - readmsg now outputs only the text only part of 
          a mail by default.                     
        - Added -r (do raw output) option to readmsg.
        - Pipe (|) -command now uses -r option on readmsg.
        - Readmsg now decodes mime headers, if -r option is not used.
        - p)rint -command is enabled again. It does something like
          "readmsg | {print-command}". It was disabled on PL98 because
          it printed raw mime data.  Because readmsg no longer outputs
          raw mime data, p)rint command can be enabled again.
          However, it is quite useless. p)rint command now acts as
          P)rint text -command.
        - If "store" is given to elmrc option "show-header-errors",
          header errors are not immediately printed. Letter 'h' is
          shown as second status letter on that case.
        - If mime part (or attached file) did not end in newline,
          garbage from the next part was included in the end of that
          part. That happened when the file had no LF in the end and
          the attached file was not required to be
          content-transfer-encoded.
        - Fix return value of get_word_from_string()
        - Elm ME+ failed to wrap mime encoded Subject: header 
          under 80 characters on some situations.         
        - If elmrc option "long-encoded-headers" is not set,
          Elm ME+ tries to wrap mime encoded headers so
          that encoded lines are shorter than 80 characters.
          If elmrc option "long-encoded-headers" is set (default), 
          Elm ME+ tries to wrap headers that way that actual data 
          (without encoding) is shorter than 80 characters. This 
          produces over 80 character (and violates MIME) but
          may produce nicer result when headers are displayed 
          with encoding decoded (if some part of header is not
          encoded). This is mainly used on Subject: -header.
        - Removed STATE_in_string from lib/state.c. It is not 
          used.
        - Removed STATE_out_string from lib/state.c. It is not 
          used.
        - Fix panic
                SCREEN PANIC in screen.c:944:menu_set_default
                >>>Not a main menu
          when elm is called as
                elm < /dev/null
        - Fix segmentation violation -crash when elm is
          called as
              elm --mailbox-title=xxx -f x -f z
          (when given folders do not exist.)
        - Allow setting "receivedmail" elmrc option (normally
          "=received") to "none".  This disables
              Move read messages to "received" folder? (y/n)
          question. When "receivedmail" is set to "none", ">"
          can not be used as folder name.
         Requested by: Laura Kataja
        - Allow setting "sentmail" elmrc option (normally
          "=sent") to "none". When "sentmail" is set to "none",
          "<" can not be used as folder name.
        - If "sentmail" is set to "none", "copy" defaults to
          OFF.
        - Fix (or work around) error
             Message contains bare newlines
          when saving to some IMAP servers.
        - Make little better decoding of MIME encoding
          of subject.
        - Changed spelling of "Millenium" to "Millennium".
         Suggested by: Rob Kendrick <rjek@rjek.com>
        - Removed lib/move_left.c. It is not used.
        - Elm failed add / to tmp elmrc variable when
          it was initialized from $TMPDIR
        - "The attached patch to elm PL122 causes THREAD 
           sorting to go to the bottom of the mailbox if 
           there are no unread messages, instead of the top.  
           This is already done for sorts in mailbox order, 
           sent, and received order, but I use thread by 
           default, so this patch is helpful to me."
         From: Bruce Momjian <bruce@momjian.us>
        - Let elm accept 'kb' from termcap also as
          backspace and not only VERASE value got
          from tty.
        - Allow marking messages deleted also with
          delete key ('kD' from termcap).
        - Let end key ('@7' from termcap) to go
          to the end of the message list. Corresponding to
          that the home key goes to the beginning of the 
          message list.
        - Temporary copy for imap and pop folders 
          is not longer /tmp/mbox.user@host or
          /tmp/mbox.user@host:tail. Instead it is 
          /tmp/mbox.$USER.host.XXXX.XXXX
        - It is possible to use usernames which include
          / -character with IMAP -url syntax (/ need to be
          URL escaped). For example 
                elm -O imap://dom%2Fuser%2Fmbx@server/INBOX
          ( Some exchange servers uses usernames like
            dom/user/mbx )
        - Fix crash when loading garbage spool folder 
          (ie. mailbox).
        New elmrc options:
                thread-sortby
                check-type-pattern
                attachment-fix-extension
                long-encoded-headers
                readmsg
        New command line options:
                -O              Open url
                --confirm-url   Ask option
        New tools:
                elmmimetypes
        New files:
                src/view_folder.c
                lib/mbox/Makefile.SH
                lib/mbox/def_mbox.h
                lib/mbox/init.c
                lib/mbox/remote_mbx.c
                lib/mbox/shared_mbox.c
                hdrs/mboxlib.h
                hdrs/state_imp.h
                lib/mbox/state.c
                lib/mbox/headers.c
                hdrs/connection_imp.h
                src/showmsg_1.c
                src/url/Makefile.SH
                src/url/def_url.h
                src/url/url.c
                src/url/url_element.c
                lib/mparse.c
                src/url/url_path.c
                src/url/no_url.c
                src/url/mailto.c
                src/block/block.c
                src/block/def_block.h
                src/block/fileblock.c
                src/block/stringblock.c
                src/list/def_list.h
                src/list/Makefile.SH
                src/list/list.c
                src/list/reply.c
                src/list/select.c
                src/list/info.c
                src/movement.c
                src/extended.c
                src/duplicate_removal.c
                src/messages/duplicate.c
                src/messages/status.c
                src/messages/status_common.c
                src/openmailbox.c
                lib/misc/Makefile.SH
                lib/misc/def_misc.h
                lib/misc/init.c
                hdrs/misclib.h
                lib/misc/terminal.c
                lib/misc/mime_types.c
                utils/elmmimetypes.c
                doc/elmmimetypes.1
                ConfTool/GenMimetypes
                lib/misc/charset.c
                src/url/http.c
                src/messages/thread.c
                src/thread.c
                src/messages/thread_messages.c
                src/view_one_thread.c
                melib/type_check.c
                utils/readmsg/Makefile.SH
                utils/readmsg/def_readmsg.h
                utils/readmsg/fstate.c
                utils/readmsg/wrapper.c
                hdrs/readmsg.h
                utils/readmsg/folder.c
                lib/mbox/error.c
                melib/parse_helper.c
                src/url/imap.c
                src/mailbox.c
                src/list/visit_mailbox.c
        Moved files:
              lib/mbox.c        => lib/mbox/mbox.c
              lib/localmbx.c    => lib/mbox/localmbx.c
              lib/savefolder.c  => lib/mbox/savefolder.c
              lib/imap.c        => lib/mbox/imap.c
              lib/pop.c         => lib/mbox/pop.c
              lib/mk_lockname.c => lib/mbox/mk_lockname.c
              lib/realfrom.c    => lib/mbox/realfrom.c
              lib/forwarded.c   => lib/mbox/forwarded.c
              lib/header_cmp.c  => lib/mbox/header_cmp.c
              lib/expires.c     => lib/mbox/expires.c
              lib/parsarpdat.c  => lib/mbox/parsarpdat.c
              lib/getword.c     => lib/mbox/getword.c
              lib/mediatype.c   => lib/misc/mediatype.c
              utils/readmsg.c   => utils/readmsg/readmsg.c
              src/encode.c      => melib/encode.c
        Removed files:
              lib/move_left.c

Changes of Elm 2.4ME+ PL122l (25) compared with Elm 2.4ME+ PL122k (25)

        [ This patch is branch from the main line. ]
        - Fix crash when loading garbage spool folder (ie. mailbox).
        - Elm failed add / to tmp elmrc variable when
          it was initialized from $TMPDIR
        - Some compilation fixes on SunOS.
        * NOTE: Changes for SunOS 5.10 are only compile tested.
          It is not tested that they produce working code.
        - tputs() workaround on Elm 2.4ME+ PL122d (25) 
          causes compilation warning on SunOS, if compiled
          with gcc. Use workaround only when gcc
          is not used.

Changes of Elm 2.4ME+ PL122k (25) compared with Elm 2.4ME+ PL122j (25)

        [ This patch is branch from the main line. ]
        - Mime encoding change on PL122j caused regression.
          Specially folding (of Subject) did not replaced
          space with folding but folding was appending after
          space. Logically after folding there was two spaces.
        - Specially Elm ME+ do not concate mime encoded
          words to together when decoding them if there 
          is more than one space between. 
        > Fixed folding so that space is replaced with folding.
        - Make little better decoding of MIME encoding
          of subject. Specially allow more than one space
          between mime encoded words.
        - Changed spelling of "Millenium" to "Millennium".
         Suggested by: Rob Kendrick <rjek@rjek.com>
        * In my English to Finnish dictionary there is a word 
          "millenium". And there is no word "millennium" in 
          the dictionary. But apparently my dictionary is wrong.

Changes of Elm 2.4ME+ PL122j (25) compared with Elm 2.4ME+ PL122i (25)

        [ This patch is branch from the main line. ]
        - Elm ME+ failed to wrap mime encoded Subject: header 
          under 80 characters on some situations.         
        - Fix return value of get_word_from_string()
        - Fix case where "Metamail selection" -screen actually 
          not prompted for metamail.
        - Fix panic
             SCREEN PANIC in screen.c:929:menu_set_default
             >>>Not a main menu
          when elm is called as
              elm < /dev/null
        - Fix segmentation violation -crash when elm is
          called as
              elm --mailbox-title=xxx -f x -f z
          (when given folders do not exists.)
        - Fix (or work around) error
             Message contains bare newlines
          when saving to some IMAP servers.

Changes of Elm 2.4ME+ PL122i (25) compared with Elm 2.4ME+ PL122h (25)

        [ This patch is branch from the main line. ]
        - If mime part (or attached file) did not end in a newline, 
          garbage from the next part (until the first LF) was included 
          in the end of that part. That happened when the file
          or mime part didn't have an LF in the end and it was not 
          required to be content-transfer-encoded.
        > Fixed copy_part()

Changes of Elm 2.4ME+ PL122h (25) compared with Elm 2.4ME+ PL122g (25)

        [ This patch is branch from the main line. ]
        - "I built your latest elm today and came across a smail 
           issue as I build it on several architectures from the 
           same source tree. I found make clean fails to remove 
           utils/reghelper.o which leads to a failure to link 
           obvously..."
         Reported by: janjaap@stack.nl (Janjaap van Velthooven)
        > Added reghelper.o to UTIL_OBJ
        - Added 'V' - command (View digest as mailbox) to help.
        - Added resort_mailbox() to  leaving of A)ssemble message
          fragments -command/mode. Otherwise main mailbox is
          incorrectly sorted if new mail was arrived when A)ssemble 
          message fragments -mode was active.
        - Fix possible redraw loop when prompting password
        - On A)ssemble message fragments -command menu there
          is "o)ptions" -command, but actual command was missing.
          Added 'o' to command loop.
        - On digest viewing menu  there is "o)ptions" -command, 
          but actual command was missing. Added 'o' to command loop.

Changes of Elm 2.4ME+ PL122g (25) compared with Elm 2.4ME+ PL122f (25)

        [ This patch is branch from the main line. ]
        - Fix expansive debug loop on imap.c (so that loop is not run
          if dubugging is not used.)
        - Fix redraw handling on do_pipe
        - "elm -vvv"   was printing wrong output:
                Mailer:            unknown; path="/usr/sbin/sendmail"
          instead of
                Mailer:            sendmail; path="/usr/sbin/sendmail"; 
                                         add-from="dont"; 
                                         supported-bodytype="8bit"; 
                                         supports-dsn="yes"
          (actually on one line)

Changes of Elm 2.4ME+ PL122f (25) compared with Elm 2.4ME+ PL122e (25)

        [ This patch is branch from the main line. ]
        - When saving mail forder time on "From " -separator
          line was shifted by one hour if it was on different
          zone than current time (ie. on daylight saving time 
          versus normal time).
        - Folder browser was showing wrong entry on prompt line
          after TAB -character. 

Changes of Elm 2.4ME+ PL122e (25) compared with Elm 2.4ME+ PL122d (25)

        [ This patch is branch from the main line. ]
        - O)verride charset -command did was not effect on
          non-MIME messages.
        - Characters on "Change to which folder:" -prompt
          was echoed to wrong place after 
          "Already reading that folder!" -message.

Changes of Elm 2.4ME+ PL122d (25) compared with Elm 2.4ME+ PL122c (25)

        [ This patch is branch from the main line. ]
        - "I configured ELM 2.5 alpha 5 just like my ELM 2.5
           alpha 4 that compiles nicely and got the following
           error from init.c on Solaris 8 gcc.
           <...>
           In file included from init.c:14:
              ../../hdrs/shared_imp.h:118: parse error before `*'
              init.c:18: `rc_DT_SHARED' undeclared here (not in a
              function)"
          Problem noted by: James Corey <ploveregg@yahoo.com>
        > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS 
          was not defined.
        - browser_descend_local() did not handled correctly case
          where given filename did not included path (and
          there was directory already selected.)
        - "I tried your patch for ELM 2.5 alpha5 and it 
           failed to compile on Solaris. So tried the same thing with the
           new ELM 2.5 alpha6. Same thing."
          "cs_wfallback.c: In function `init_fallback':
           cs_wfallback.c:165: `Debug' undeclared (first use in
           this function)"
         Reported by: James Corey <ploveregg@yahoo.com>
        > Moved DEBUG_VAR(Debug,__FILE__,"charset")
          outside of #if 0
        - On some cases filename -parameter was generated twice to
          Content-Disposition -header.
        - Tagged flag of current message was not cleared
          on V)iew digest command.
        - Allow canceling 
              Already have selection criteria - add more?
          prompt with Ctrl-C (interrupt character) on systems
          which supports POSIX termios.
        - Let Configure locate ar and nm (and ranlib) instead
          just using PATH
        - Let makefiles use ar -command located by Configure
        - Fix some compilation warnings on SunOS 5.10
        - Moved curses.h and term.h including from curses.c
          to def_screen.h before including termios.h.
        - SunOS 5.10 (Solaris) have problematic prototype
          for tputs() and do not have prototype for tgoto()
          when __STDC__ is defined. Added some workarounds.
        - Use both curses.h and term.h on SunOS (Solaris), 
          not only term.h
        - Do not use USGNAMES on SunOS
        - iconv() on SunOS uses 'const char **inbuf' argument. 
        * NOTE: Changes for SunOS 5.10 are only compile tested.
          It is not tested that they produce working code.
        - Fix USGNAMES compilation.

Changes of Elm 2.4ME+ PL122c (25) compared with Elm 2.4ME+ PL122b (25)

        [ This patch is branch from the main line. ]
        - Fixed valgrind reported error on case
              elm -i non-existing-file address
          Conditional jump or move depends on uninitialised value(s)
            at 0x808B83E: reset_parts (mime.c:105)
            by 0x808B9D6: free_mime_send_info (mime.c:144)
            by 0x80871B9: mail (mailmsg2.c:1351)
            by 0x8083910: send_msg_middle (mailmsg1.c:589)
        - Ctrl-T {pattern} did not updated messages on screen
          to be tagged when visible messages was limited 
          with l)imit -command.
        - Enchance redrawing on
               Delete message?
               "received" folder not available, continue leaving folder?
               Move read message to "received" folder?
          -prompts.
        - Fix -Wtraditional warning:
             mailer.c:1644: warning: non-static declaration for 
               `sendmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             mailer.c:1902: warning: non-static declaration for 
               `submitmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             mailer.c:1932: warning: non-static declaration for 
               `execmail_mailer_backend' follows static
        - Fix -Wtraditional warning:
             ../../hdrs/elmlib.h:2278:21: warning: function-like 
                macro "special" must be used with arguments in traditional C
        > special() -macro is removed, it seems not be used.
        ( No other -Wtraditional warnings are fixed. )

Changes of Elm 2.4ME+ PL122b (25) compared with Elm 2.4ME+ PL122a (25)

        [ This patch is branch from the main line. ]
        - Fixed some -Wuninitialized compilation warnings.
        - Ctrl-T 'all' did not updated messages on screen
          to be tagged when visible messages was limited 
          with l)imit -command.
        - Ctrl-T 'flagged' did not updated messages on screen
          to be tagged when visible messages was limited 
          with l)imit -command.
        - Some minor fixes.

Changes of Elm 2.4ME+ PL122a (25) compared with Elm 2.4ME+ PL122 (25)

        [ This patch is branch from the main line. ]
        - Fix initialization error on lib/read_rc.c (uses $USER
          instead of $HOME) when pw_dir is NULL.
        - "tried PL122 - and compiled with new openssl-0.9.8 !:
           cc -I../include -I/opt/ssl/include -fPIC  -O3   -c pop.c -o pop.o
           In file included from /opt/ssl/include/openssl/crypto.h:131,
                 from /opt/ssl/include/openssl/comp.h:5,
                 from /opt/ssl/include/openssl/ssl.h:176,
                 from elmtls.h:11,
                 from pop.c:10:
           /opt/ssl/include/openssl/ossl_typ.h:146: parse error before `2'"
          "a define collision between elm and openssl seams to be 
           occurring! The token "STORE" is used on both sources!"
         Problem noted by: Axel Reinhold <axel@freakout.de>
       > Changed order of includes.
       - Do not add addresses parsed (to, from, cc) addresses twice
         to header_rec. That occured when mail was not downloaded
         IMAP mailbox was opened and headers was parsed second time
         when mail was opened.
       - Create elm.filelist and parent directories of elm.filelist
         before starting subprocess on "elmregister master".

Changes of Elm 2.4ME+ PL122 (25) compared with Elm 2.4ME+ PL121 (25)

        Note: You must create directory
                  lib/mailer
              before applying this patch!
        Undo Elm 2.4ME+ PL121a (25) - Elm 2.4ME+ PL121h (25) 
        patches before applying this patch.
        WARNING: Quite lot of changes in many areas. So 
                 please report new bugs which you observe...
        * Some changes on screen handling:
          - Moved title, menu and prompt area on mailbox,
            aliases and attachment screens to own subpage.
          - Changed layout of attachment screen more similar than 
            other screens.
          - Removed redraw flag from main loop. 
          - Removed nufoot flag from main loop.  
          - Removed redraw flag from mailbox_command().  
          - Removed redraw flag from motion().   
          - Removed nufoot flag from mailbox_command().  
          - Removed nufoot flag from motion().     
          - Removed redraw flag from new_mail_check().
          - Removed redraw flag from partial_loop(). 
          - Removed nufoot flag from partial_loop().    
          - Removed redraw flag from digest_loop().    
          - Removed nufoot flag from digest_loop().    
          - Removed redraw flag from view_canceled_mails().   
          - Removed nufoot flag from view_canceled_mails().   
          - Removed redraw flag from alias().    
          - Removed nutitle flag from alias().      
          - Removed nufoot flag from alias().   
          - Changed passing of redraw data from remail().   
          - Removed redraw flag from remail().
          - Changed passing of redraw data from forward(). 
          - Changed passing of redraw data from reply_to_everyone().   
          - Removed redraw flag from reply_to_everyone().
          - Changed passing of redraw data from  send_msg_l()
            and send_msg_middle().
          - Changed passing of redraw data from reply(). 
          - Removed redraw flag from reply(). 
          - Changed passing of redraw data from  mail_filled_in_form().
          - Changed passing of redraw data from  pgp_mail_public_key().
          - Changed passing of redraw data from  print_text().
          - Changed passing of redraw data from  save().
          - Changed method how headers on aliases and mailbox
            screen are drawn and updated.
          - Removed inalias, last_current, last_header_page,
            headers_per_page and nucurr global variables.
          - One more mail is listed on mailbox screen.
          - Removed passing of header_page variable. 
          - Changed method how screen is handled on 'after
            paging' commands (showmsg_c).
          - Removed/changed passing of redraw flag on file_browser(),
            gen_browser() folder_browser(), attach_save()
          - Changed passing of redraw data from  name_copy_file().
          - Changed handling of 'prompt area' on Mail Pre-Send Screen
            and on Message Header Edit Screen screen.
        - If several -f option is given (for combined view
          of given folders), starting of Elm ME+ do not fail
          if first folder is inaccessible.
        - Handle REDRAW_MARK on pgp_encrypt()
        - "If you had no aliases yet, and pushed j or k in the 
           aliases menu (or the down or up arrows), you had a 
           "bad item" "common menu panic". The reason was a 
           missing "break" statement in alias_item.c, which was 
           present in the approprite place in mailbox_item.c"
         From: Kovacs Baldvin <baldvin@cs.elte.hu>
         ( Patch was agaist Elm ME+ 2.5 but applies also to  Elm
           2.4ME+ )
        - Fix error message
                Path component "none" not absolute on key 
                 "internal-mailcaps" value "none"
          when on elmrc have line
                internal-mailcaps = none
        - Added elmrc option "pgp-encrypt-type", which take values
          "application/pgp", "text/plain" and "text/x-pgp" (without
          quotes). These are same values than for pgp-sign-type.
          Except that this is for encryption. Because encrypted data
          is ascii armored, also text -type can be used here.
         Requested by: Axel Reinhold <axel@freakout.de>
         NOTE: Note that using text/plain for excrypted data causes 
               that charset=US-ASCII is used always (for type
               application/pgp charset paramater is not added). 
               It is little guestionable is that correct. These
               encrypted types do not interact very well with charsets 
               anyway.
        - "MIME structure Menu" was draw incorrectly when arrow cursor
           was used.
        - "MIME structure Menu" screen's layout now resembles more
           main mailbox screen.
        - Handle some ambiguous multipart boundary prefixes.
        - Ignore empty line before "begin " on uudecode.
        - "I am seeing two exit messages if I start elm and exit right away 
           using ELM 2.4ME+ PL121"
         Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
        - "On a Solaris 8 machine, if I enter ELM and don't make
           any changes it now says "Folder unchanged." twice.
           Not a big deal, but I thought I should report it. :-)"
         Problem noted by: James Corey <ploveregg@yahoo.com>
        > Make sure that first message is erased on exit (usually
          ti/te erases screen or changes buffers, but that
          apply to "elm -t" also.)
        - Added elmrc option "prompt-metamail".    
          If set, also text           
             Parsing MIME structure... metamail not needed
          is not printed after
             Parsing MIME structure... 
          text, because opposite situation will be prompted!
        - Setting "prompt-metamail" (default) causes
          showing of "Metamail selection" screen. This is
          same screen than "Mailcap program selection" screen.
          Answering prompt with p)age command changes screen
          to "Mailcap program selection" screen. Answering
          proompt with m)etamail command calls metamail.
        - Allow canceling of
             Mailcap program selection
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios.
        - Canceling of
               Append to an existing file XXX ?
               Append to mail folder XXX ?
               Create a new file XXX ?
               Create a new mail folder XXX ? 
               Some XXX are already tagged. Remove Tags?
               One XXX is already tagged. Remove Tags?
               Are you sure you want to remail this message ?
           prompts  with Ctrl-C (interrupt character)  is possible
           on systems which supports POSIX termios.
        - Added to 
             Mailcap program selection
          screen same title than on pager (on case when elmrc
          option "titles" is set (default)).
        - "First I did not even understand what I am asked
           in the attach menu. I tried a .ps file, then I had 
           a question "Use gnome-gv to..." blabla, yes or no. 
           And down there I had "Answer questions, or m)etamail, 
           or q)uit". Now "quit" did not quit from aliases, 
           but instead it behaved as an "OK". Pushing 'm' worked, 
           but I did not know wether it utilized the answer that 
           I gave already, since it asked again (!) if I'd like 
           to use gnome-gv. "F?ck, I do", I thought... Then I've 
           realized what is going on: after I answered yes for 
           the first question, I need to say quit, and then I get 
           gnome-gv..."
         Problem noted by: Kovacs Baldvin <baldvin@cs.elte.hu>
        > Changed q)uit command to d)one on
              Mailcap program selection
          screen.
        - Letters 'q' and 'i' leaves now 
                Mailcap program selection
          without paging message. Note that this changes 
          meaning of 'q' -command.
        - Added O)verride charset and Ctrl-K (Mail PGP public key)
          to 'after paging' (showmsg_c) commands.
        - Added redraw handling to following prompts:
                Already have selection criteria - add more?
                Enter criteria or '?' for help:
        - Fixed valgrind reported memory leak:
          32 bytes in 2 blocks are definitely lost in loss record 6 of 28
              at 0x400260DC: malloc (vg_replace_malloc.c:153)
              by 0x8151DBF: safe_malloc (safemalloc.c:47)
              by 0x8069EEE: attach_menu (attach_menu.c:2433)
        - Add redraw handling to display_file()
        - Fixed "Reverse Thread" sorting order.
        - Fixed valgrind reported memory leak:
          56 bytes in 5 blocks are definitely lost in loss record 9 of 28
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8147F8F: safe_malloc (safemalloc.c:47)
            by 0x80E9095: new_state_1 (charset_input.c:18)
            by 0x80F9FFC: cs_add_streambyte_to_utf8 (cs_utf.c:348)
        - Fixed valgrind reported memory leak:
          16 bytes in 2 blocks are definitely lost in loss record 3 of 28
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8147F8F: safe_malloc (safemalloc.c:47)
            by 0x8163E41: malloc_string (string.c:116)
            by 0x8163FBC: new_string (string.c:153)
            by 0x80876EA: read_number (in_utils.c:282)
        - Fixed valgrind reported memory leak:
          30 bytes in 1 blocks are definitely lost in loss record 7 of 29
            at 0x4002668F: realloc (vg_replace_malloc.c:310)
            by 0x8148225: safe_realloc (safemalloc.c:63)
            by 0x8133394: elm_vmessage (output.c:1281)
            by 0x8133A5E: elm_message (output.c:1460)
            by 0x80FD9DA: init_debug (debug.c:58)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 1 of 31
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148173: safe_malloc (safemalloc.c:47)
            by 0x8145BA9: split_remote_name (remote_mbx.c:620)
            by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
        - Fixed valgrind reported memory leak:    
          14 bytes in 1 blocks are definitely lost in loss record 3 of 31
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148349: safe_strdup (safemalloc.c:79)
            by 0x8145B8E: split_remote_name (remote_mbx.c:618)
            by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 1 of 30
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148237: safe_malloc (safemalloc.c:47)
            by 0x8164109: malloc_string (string.c:116)
            by 0x8164FDC: cat_strings (string.c:449)
            by 0x81307E5: elm_smessage (output.c:857)
            by 0x8087063: prompt_letter (in_utils.c:84)
        - Fixed valgrind reported memory leak:
          29 bytes in 5 blocks are definitely lost in loss record 7 of 30
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148243: safe_malloc (safemalloc.c:47)
            by 0x8105414: rfc822_tokenize (getaddr.c:37)
            by 0x8061333: do_expand_group_l (aliaslib.c:88)
        - Fixed valgrind reported memory leak:
          7104 bytes in 1 blocks are definitely lost in loss record 27 of 29
            at 0x4002668F: realloc (vg_replace_malloc.c:310)
            by 0x8148339: safe_realloc (safemalloc.c:63)
            by 0x80BFA69: add_canceled_mail1 (canceled_mail.c:1291)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 2 of 29
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x814826B: safe_malloc (safemalloc.c:47)
            by 0x816413D: malloc_string (string.c:116)
            by 0x81642B8: new_string (string.c:153)
            by 0x80885D9: enter_helper (in_utils.c:656)
            by 0x8089324: optionally_enter2 (in_utils.c:1115)
            by 0x808E52B: limit (limit.c:110)
        - Removed pattern_enter()
        - Fixed "Append to mail folder " -question.
        - Changed IMAP \Flagged that they are not longer 
          tagged (+), but instead marked with new flag (F)
          as flagged.                               
        - \Flagged is shown on place of '+' on screen as 'F'.
        - \Flagged can be modified with with new toggle F)lag command
        - Flag is saved as letter F on Status: -header for 
          local mailbox
        - Giving argument "flagged" (without quotes) to l)imit 
          command selects flagged messages. That is not mentioned "?"
          help of l)imit command, because it it does not fit to
          80 characters.  That is similar than "tagged" argument
          to l)imit command.
        - Command Ctrl-D accepts argument "flagged" (without quotes)
          which deletes all visible flagged messages.
        - Command Ctrl-D accepts argument "flagged" (without quotes)
          which tags all visible flagged messages.
        - Command Ctrl-U accepts argument "flagged" (without quotes)
          which undeletes all visible flagged messages.
        - Changed Ctrl-D command with argument "tagged" (without quotes)
          so that it deletes only all visible tagged messages
          (it was deleting also messages which was not on limited
           selection.)
        - Set close-on-exec flag for opened local mailbox.
        - "I am seeing two exit messages if I start elm and exit right away 
           using ELM 2.4ME+ PL121"
         Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
        - "On a Solaris 8 machine, if I enter ELM and don't make
           any changes it now says "Folder unchanged." twice.
           Not a big deal, but I thought I should report it. :-)"
         Problem noted by: James Corey <ploveregg@yahoo.com>
        > Make sure that first message is erased on exit (often
          ti/te erases screen or changes buffers, but that
          problem apply to "elm -t" also.)
        - Fix case whare ascii only mail was sent with headers
             Content-Transfer-Encoding: 7bit
             Content-Type: text/plain; charset=ISO-8859-1
          instead of
             Content-Transfer-Encoding: 7bit
             Content-Type: text/plain; charset=US-ASCII
        - Added mlterm to terminal.info without charset UTF-8.
          To actually use that terminal definition you need also 
          doc/term/mlterm.ti from mlterm distribution. Install it 
          with 'tic' command. Then you need start  start mlterm with 
          'mlterm -y mlterm'  option, otherwise mlterm sets $TERM to 
          xterm.
        - Seems that mlterm do not handle return to ISO 2022 code 
          ( ESC % @ ) or switch to UTF-8 code ( ESC % G ) ?
        - Also Elm ME+ do not handle double wide UTF-8 characters
        - Fixed case where switch to UTF-8 code ( ESC % G )
          was given on several times. However after ESC % G
          only ESC % @ is valid.
        - Now ConfTool/GenCharmap adds mapping from ConfTool/mapfiles
          to bin/elm.mimecharsets even when elm.mimecharsets have
          already alias definition for charset.       
        - Added eucJP, eucKR, EUC-CN, GB2312, eucCN and
          Big5-HKSCS, Big5HKSCS to ConfTool/CharMap
        - Let ConfTool/LocaleMap also to use ConfTool/validcharset
        - Changed on lib/precompiled_sets.c:
             * Changed "ECMA-cyrillic" type from cs_unknown 
               to cs_ascii and given mime name KOI8-E
             * Added ISO 2022 code for KOI8-E (ISO-IR-111)
             * Added ISO 2022 code for IRV (codeset "ISO_646.irv:1983")
               (ISO-IR-2)
             * Added ISO 2022 code for ISO646-GB (codeset "BS_4730")
               (ISO-IR-4)
             * Changed codeset "NATS-SEFI" (ISO-IR-8-1) type from
               cs_unknown to cs_iso646 
             * Added ISO 2022 code for codeset "NATS-SEFI" (ISO-IR-8-1)
             * Added ISO 2022 code for codeset "NATS-SEFI-ADD"
               (ISO-IR-8-2)   (XX)
             * Added ISO 2022 code for codeset "NATS-DANO"
               (ISO-IR-9-1)
             * Added ISO 2022 code for codeset "NATS-DANO-ADD"
               (ISO-IR-9-2)   (XX)
             * Added ISO 2022 code for ISO646-FI (codeset
               "SEN_850200_B") (ISO-IR-10)
             * Added ISO 2022 code for ISO646-SE2 (codeset
               "SEN_850200_C") (ISO-IR-11)
             * Added ISO 2022 code for codeset "KS_C_5601-1987"
               (ISO-IR-149)  (XX)
             * Changed codeset "KS_C_5601-1987" type from
               cs_unknown to cs_iso2022
             * Added ISO 2022 code for codeset "JIS_C6220-1969-jp"
               (ISO-IR-13)  (XX)
             * Changed codeset "JIS_C6220-1969-jp"  type from
               cs_unknown to cs_iso2022
             * Added ISO 2022 code for ISO646-IT (codeset "IT")
               (ISO-IR-15)
             * Added ISO 2022 code for ISO646-PT (codeset "PT")
               (ISO-IR-16)
             * Added ISO 2022 code for ISO646-ES (codeset "ES")
               (ISO-IR-17)
             * Added ISO 2022 code for codeset "greek7-old"
               (ISO-IR-18)
             * Added ISO 2022 code for codeset "latin-greek" (ISO-IR-19)
             * Added ISO 2022 code for ISO646-DE (codeset "DIN_66003")
               (ISO-IR-21)
             * Added ISO 2022 code for ISO646-FR1 
               (codeset "NF_Z_62-010_(1973)") (ISO-IR-25)
             * Added ISO 2022 code for codeset "Latin-greek-1" 
               (ISO-IR-27)
             * Added ISO 2022 code for codeset "ISO_5427" (ISO-IR-37)
             * Added ISO 2022 code for codeset "JIS_C6226-1978" 
               (ISO-IR-42) (XX)
             * Changed codeset "JIS_C6226-1978" from type cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for codeset "BS_viewdata"
               (ISO-IR-47)
             * Added ISO 2022 code for codeset "INIS" 
               (ISO-IR-49)
             * Added ISO 2022 code for codeset "INIS-8" 
               (ISO-IR-50)
             * Added ISO 2022 code for codeset "INIS-cyrillic" 
               (ISO-IR-51)
             * Added ISO 2022 code for codeset "ISO_5427:1981" 
               (ISO-IR-54) (XX)
             * Added ISO 2022 code for codeset "ISO_5428:1980" 
               (ISO-IR-55)
             * Added ISO 2022 code for codeset "ISO_5428:1980" 
               (ISO-IR-55)
             * Added ISO 2022 code for ISO646-CN (codeset "GB_1988-80")
               (ISO-IR-57)
             * Added ISO 2022 code for codeset "GB_2312-80" 
               (ISO-IR-58)  (XX)
             * Changed codeset "GB_2312-80" type from cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for ISO646-NO (codeset "NS_4551-1")
               (ISO-IR-60)
             * Added ISO 2022 code for ISO646-NO2 (codeset "NS_4551-2")
               (ISO-IR-61)
             * Added ISO 2022 code for ISO646-FR (codeset "NF_Z_62-010")
               (ISO-IR-69)
             * Added ISO 2022 code for codeset "videotex-suppl" 
               (ISO-IR-70)  (XX)
             * Added ISO 2022 code for ISO646-PT2 (codeset "PT2")
               (ISO-IR-84)
             * Added ISO 2022 code for ISO646-ES2 (codeset "ES2")
               (ISO-IR-85)
             * Added ISO 2022 code for ISO646-HU (codeset "MSZ_7795.3")
               (ISO-IR-86)
             * Added ISO 2022 code for codeset "JIS_C6226-1983"
               (ISO-IR-87)  (XX)
             * Changed codeset "JIS_C6226-1983" type from cs_unknown
               to cs_iso2022
             * Added ISO 2022 code for codeset "ASMO_449"
               (ISO-IR-89)  
             * Added ISO 2022 code for codeset "iso-ir-90"   (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-a"
               (ISO-IR-91)
             * Added ISO 2022 code for ISO646-JP-OCR-B 
               (codeset "JIS_C6229-1984-b")  (ISO-IR-92)
             * Added ISO 2022 code for "JIS_C6229-1984-b-add" 
               (ISO-IR-93)  (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-hand"
               (ISO-IR-94)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-hand-add"
               (ISO-IR-95) (XX)
             * Added ISO 2022 code for codeset "JIS_C6229-1984-kana"
               (ISO-IR-96) 
             * Added ISO 2022 code for codeset "ISO_2033-1983"
               (ISO-IR-98)  (XX)
             * Added ISO 2022 code for codeset "ANSI_X3.110-1983"
               (ISO-IR-99)  (XX)
             * Added ISO 2022 code for codeset "T.61-7bit"
               (ISO-IR-102)  
             * Added ISO 2022 code for codeset "T.61-8bit"
               (ISO-IR-103)  
             * Added ISO 2022 code for ISO646-CA 
               (codeset "CSA_Z243.4-1985-1") (ISO-IR-121)
             * Added ISO 2022 code for ISO646-CA2 
               (codeset "CSA_Z243.4-1985-2") (ISO-IR-122)
             * Added ISO 2022 code for codeset 
               "CSA_Z243.4-1985-gr" (ISO-IR-123) (XX)
             * Added ISO 2022 code for codeset 
               "T.101-G2" (ISO-IR-128) (XX)
             * Added ISO 2022 code for codeset 
               "T.101-G2" (ISO-IR-128) (XX)
             * Added ISO 2022 code for codeset "CSN_369103"
                (ISO-IR-139)
             * Changed codeset "CSN_369103" type fom cs_unknown
               to cs_ascii
             * Added ISO 2022 code for ISO646-YU 
               (codeset "JUS_I.B1.002") (ISO-IR-141)
             * Added to ISO646 sets that MIME-subset=INVARIANT
             * Added ISO 2022 code for codeset "ISO_6937-2-add"
                (ISO-IR-141)
             * Added ISO 2022 code for codeset "IEC_P27-1"
               (ISO-IR-143)
             * Changed codeset "IEC_P27-1" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "JUS_I.B1.003-serb"
               (ISO-IR-146)
             * Added ISO 2022 code for codeset "JUS_I.B1.003-mac"
               (ISO-IR-147)
             * Added ISO 2022 code for codeset "greek-ccitt"
               (ISO-IR-150)
             * Added ISO 2022 code for ISO646-CU 
               (codeset "NC_NC00-10:81") (ISO-IR-151)
             * Added ISO 2022 code for codeset "ISO_6937-2-25"
               (ISO-IR-152)
             * Changed codeset "ISO_6937-2-25" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "GOST_19768-74"
               (ISO-IR-153)
             * Changed codeset "GOST_19768-74" type from cs_unknown to
               cs_ascii
             * Added ISO 2022 code for codeset "GOST_19768-74"
               (ISO-IR-153)
             * Added ISO 2022 code for codeset "ISO_8859-supp"
               (ISO-IR-154) (XX)
             * Changed codeset "ISO_8859-supp" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "ISO_10367-box"
               (ISO-IR-155) (XX)
             * Changed codeset "ISO_10367-box" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "latin-lap"
               (ISO-IR-158) (XX)
             * Changed codeset "latin-lap" type from cs_unknown
               to cs_ascii
             * Added ISO 2022 code for codeset "JIS_X0212-1990"
               (ISO-IR-159) (XX)
             * Changed codeset "JIS_X0212-1990" type from cs_unknown
               to cs_iso2022
             (XX) Actually it is unclear what that is supposed to mean
                  on context of 
                     http://www.iana.org/assignments/character-sets 
                  Most of these are not standalone character sets on 
                  that sense what MIME use term 'charset' ....
        - Configure now tests if system support wchar_t type
          functions. 
        - Moved code of unknown charset type (cs_unknown)
          from lib/cs_binary.c to lib/cs_unknown.c 
        - File lib/cs_wfallback.c includes 'fallback' 
          mapping for whar_t, similar than lib/cs_fallback.c
          files 'fallback' definition.
        - Unknown system (locale) charset is now implemented
          with wide characters (wchar_t) on systems which
          support it. Also support of wcwidth() function is
          tested separately.
        - On some cases that may cause warning/error message
          "Unknown charsets are unsupported as keyboard input!"
          to be printed (specially if there is significant state
          used on keyboard input.)
        - If __STDC_ISO_10646__ is defined, then wchar_t
          is assumed to be Unicode (and 'fallback' mapping
          is not needed.)
        - Added elmrc option "locale-charsets" for systems
          which have __STDC_ISO_10646__ defined. Given
          charset names is type unknown used for system (locale)
          charset, even when Elm ME+ is builtin definition
          for charset.
        - Added to  terminal.info  file new keyword DW.
          This indicates for unknown system charset that wcwidth()
          function should be used to get char width.
          This means that logical width of character
          may be 0,1 or 2 columns on that terminal.
        - Keyword DW also may cause error/warning message
            Double wide characters are not supported
          to be printed.
        - On systems which have __STDC_ISO_10646__ defined,
          DW flag on terminal.info works like "locale-charsets"
          option, if charset and terminal matches.
        - Added UTF-8 for mlterm to terminal.info with
          DW flag.
        - pw_dir (home directory) and pw_shell is allowed
          to be NULL on struct passwd.
        - Added CP1251 as codeset for windows-1251. Seems that this is
          returned by nl_langinfo(CODESET).
        - Added CP1252 as codeset for windows-1252. Seems that this is
          returned by nl_langinfo(CODESET).
        - Added CP1255 as codeset for windows-1255. Seems that this is
          returned by nl_langinfo(CODESET).
        - Added CP1256 as codeset for windows-1256. Seems that this is
          returned by nl_langinfo(CODESET).
        - Added CP1257 as codeset for windows-1257. Seems that this is
          returned by nl_langinfo(CODESET).
        - Changed evaluation of elmrc option "text-charset".
        - Changed evaluation of elmrc option "display-charset".
        - Changed evaluation of elmrc option "local-fs-charset".
        - Changed evaluation of elmrc option "default-nomime-charset".
        - Changed evaluation of elmrc option 
          "default-mime-text-charset".
        - Changed evaluation of elmrc option "imap-charset".
        - Removed function get_charset_map_info().
        - Changed implementation of elmrc option "shell".   
        - Changed implementation of elmrc option "tmpdir".  
        - Changed implementation of elmrc option "maildir" 
          (or "folders").  
        - Changed implementation of elmrc option "map-text-dir".
        - Changed implementation of elmrc option "map-bin-dir".
        - Fixed case where ISO-2022-JP subject was displayed on
          message list, but when reading mail, subject was replaced
          with question marks.
        - Handle better bad sequense of bytes on text (for
          example bad UTF-8 text).
        - Configure was incorrectly made conlusion that
            nl_langinfo(CODESET)
          does not work on IRIX 6.5
        - If given folder name 'aaa@bbb@ccc' for split_remote_name(), 
          do not  split is as user='aaa', host='bbb@ccc', but use
          user='aaa@bbb', host='ccc'
         Problem noted by: admin <admin@unixdemon.com>           
        - Remove duplicates from bin/elm.mimecharsets
          during Configure
        - Compare charset names in case insensitive way on
          ConfTool/GenCharmap
        - Added command "elmregister rpm-list", which 
          generates files listing suitable from rpm
          %files -section.
        - Declared that Elm ME is "Elm Millenium Edition".
          Courtesy Vesa-Matti J Kari <vesa-matti.kari@helsinki.fi>
        - get_type_flags() was called with NULL-pointer
          argument from start_body_helper() line 381.
         Problem noted by: Vesa-Matti J Kari <vesa-matti.kari@helsinki.fi>
        > Return something 'intelligent' (instead of
          crashing) in functions of lib/mediatype.c,
          if them is called with NULL argument.
        - Do not give NULL pointer for
             Content-Type: *unknown*/MIXED
          In other words do not return NULL pointer
          if give_media_type() is asked to create
          major media type '*unknown*' ('*unknown*'
          matched MIME_TYPE_UNKNOWN signaling unknown
          media type.)
        - Added module (-M name)  option and
          correspond environment variable $ELM_MODULE
          to elmregister.
        - elmregister -M all may be used to register
          file or command to all modules.    
        - Added command "elmregister rpm-list", which 
          generates files listing per -M option.
        - Fixed Makefile error on 
            make package ROOT=/tmp/test-install
          case.
        - Sorting orders 'mailbox order' and
          'reverse mailbox order' was giving same order.
          Fixed reverse sorting order.
        - Little change for sorting.
        - If "unstable-reverse-thread" is set, reverse thread
          sorting is based on lastest message on thread.
          Therefore thread moves to new location, when
          new message arrives to thread.
        - This variable is settable on o)ptions screen
          with S)orting criteria command.
        - Moved enumerate_list on save_opts to own
          elmrc type rc_DT_ENUM and new data
          type dt_enumerate_info
        - Make possible to record changes of elm.rc
          during installation. 
        - Option -c on elmrc-write and elmlibregister commands 
          gives file, which is used to record changes
          (old values) of elm.rc during installation.
        - During installation old values of failed elm.rc options
          are kept on elm.rc.old-values file.
        - Use malloc_gets() when reading elm.rc
        - Added elmrc option "verify-domain". If set mail domains
          are verified by gethostbyname(). Error HOST_NOT_FOUND
          is treated as nonexisting domain and error NO_ADDRESS
          is treated as valid mail domain.
        - Added elmrc option "verify-local-address". If set
          usernames of local addresses are verified. Using
          this option requires that on global elm.rc have
          "verify=yes" on mailer -option.
        - Replaced elmrc types DT_ASR and DT_SRT with one type
          rc_DT_SORT.
        - Added elmrc option "local-dir-sortby". This specifies
          sorting order for local files and folders on folder 
          and file browser. Possible values are "none", "name"
          and "mtime" (and also "reverse-name" and "reverse-mtime").
          Default value is "name".
        - Added elmrc option "imap-dir-sortby". This specfies
          sorting order for IMAP folders on folder browser. Possible 
          values are "none" and "name" (also "reverse-name"). 
          Default value is "none".
        - On 21 lines window browser help (Folder selection)
          was not fitting to screen.
        - Moved mailer related code from libelmme-base.so to
          libelmme-mailer.so.
        - Added elmrc type rc_DT_DELAY.
        - Moved elmrc option "mailer" to libelmme-mailer.so.
          It is 'proxied' with elmrc type rc_DT_DELAY.
        - Added elmrc option "use-mailer-library" to 
          libelmme-mailer.so. It is 'proxied' with elmrc type 
          rc_DT_DELAY. "smtp" (ie. libelmme-smtp.so) is
          now given on elmrc option "use-mailer-library"
          (was on "use-connect-library".)
        - Link libelmme-smtp.so with libelmme-mailer.so,
          so that loading of libelmme-smtp.so succeed when
          loader is not linked with libelmme-mailer.so.
        - If elm is not compiled with -rdynamic, link 
          libelmme-smtp.so with libelmme-base.so, so that symbols
          can be resolved.
        - "I got http://www.elmme-mailer.org/elm-ME+2.5.alpha4.tar.gz 
           and tried to compile it on a SuSE 9.2 box. Configure 
           complained about missing termlibs and quit without even 
           generating a makefile.
           Adding -lncurses in line 6333 of Configure (it now reads
             for A in '' '-ltermlib' '-lcurses' '-ltermcap ' '-lncurses'; do
           fixed this and elmme seems to work fine. Maybe you'd 
           like to include this patch in the next release ..."
         From: Rainer Kaluscha <rainer.kaluscha@web.de>
        - Code changes for "-Wstrict-prototypes". I hope that these
          do not broke something else.
        - Added some support for RFC 2231:                 
          MIME Parameter Value and Encoded Word Extensions:
              Character Sets, Languages, and Continuations 
        - struct string may now carry language indicator
        - Language specification is now accepted on encoded 
          words.
        - When replying language specification is normally preserved
          on replied address (phrase).
        - [include -command now uses internally file browser
          for refering file. This should handle better (theoretical)
          situation where buffer charset is ddeferent than filesystem
          charset.
        - filename -arguments on mime -parameters use RFC 2231
          encoding. Also non RFC 2231 ascii-only filename
          argument is produced.
        - Specially RFC 2231 encoded parameters are ignored
          for most of other cases. Specially boundary -parameter
          must not be RFC 2231 encoded.
        - Added elmrc option "mime-parameters". Possible values are
          "plain", "encoded" and "plain-and-encoded". If set
          to "plain", then RFC 2231  encoded parameters are not 
          generated and not used when receiving mail (they still are 
          parsed.) When set to "plain-and-encoded both RFC 2231
          encoded value and plain ascii value are generated (specially
          for filename -parameter) when needed.
        - Elm option -z (zero) do not longer imply option -n
          (do not use ti/te).
        - "  would like to have an option like:      
             -z      Zero - don't enter Elm if no mail is pending.
            but:
             -y      Zero - don't enter Elm if no unread mail is
            pending."
         Suggested by: Axel Reinhold <axel@freakout.de>
        - Elm option -z now works correctly when several mailboxes
          (several -f options) are given. Now Elm is not entered
          when all given mailboxes are empty.
        - doc/tmac.n states "This  package may be circulated freely 
          with the news documentation; it may not be sold, but is to 
          be distributed with  the  unformatted  news documents."
          Removed, because Elm documentation is other documentation.
        - Removed documentatiion which depends doc/tmac.n. That
           documentation is more or less obsolete anyway: 
              doc/Alias.guide
              doc/Config.guid
              doc/Elm.cover
              doc/Form.guide
              doc/Ref.guide
              doc/Users.guide
        - Removed question about formatter of documentation 
          from Configure.
        - f)orget command on "Mail Pre-Send Screen" incorrectly
          sent mail when editor buffer was empty and on mail 
          there was on attachment.
        - Both utils/elmrc-write.c and utils/elmlibregister.c
          include routine for writing (user or system) elmrc.
          Moved that to new file lib/write_rc.c.
        - Changed src/save_opts.c to use lib/write_rc.c. This
          means that elmrc option are saved on elmrc-info
          order also when saved from Elm.
        - Removed offset from struct rc_save_info_rec. It is
          no longer needed.
        - Changed default so that term.h is only included on
          Linux (and not curses.h)
        - "unicode_value (uint16) can not possibly exceed 0xFFFF. 
           Remove the statement, that triggers a compiler warning."
         From: Mikhail T. <mi@aldan.algebra.com>
        * Patch removes ...->unicode_value > 0xFFFF   -test 
          from cs_add_state_to_iconv() on shared_libs/iconv/iconv.c.
        - utils/answer.c included some bogus aliases reading routines.
          Replaced it fetch_alias().  It still is broken, but 
          that is little better...
         Problem noted by: Mikhail T. <mi@aldan.algebra.com>
        New elmrc options:
            mime-parameters
            imap-dir-sortby
            local-dir-sortby
            locale-charsets
            pgp-encrypt-type
            prompt-metamail
            unstable-reverse-thread
            verify-domain
            verify-local-address
            use-mailer-library
        New elm command line option:
            -y          Don't enter Elm if no unread mail 
                                is pending.     
        New elm command:
            F)lag
        New files:
                src/screen/subpage.c
                src/screen/wrapper.c
                src/screen/menu_param.c
                src/screen/def_scommon.h
                src/screen/scommon.c
                src/screen/header.c
                lib/cs_unknown.c
                lib/cs_wfallback.c
                charset/MAPPINGS/koi8-e.txt
                lib/mailer/Makefile.SH
                hdrs/mailerlib.h
                lib/mailer/def_mailer.h
                lib/mailer/outheaders.c
                lib/mailer/shared_mailer.c
                lib/mailer/init.c
                lib/rc_delay.c
                melib/mime_param.c
                lib/write_rc.c
        Moved files:
                lib/mailer.c => lib/mailer/mailer.c     
        Removed files:
                lib/add_site.c
                lib/strtokq.c
                doc/tmac.n
                doc/Alias.guide
                doc/Config.guid
                doc/Elm.cover
                doc/Form.guide
                doc/Ref.guide
                doc/Users.guide

Changes of Elm 2.4ME+ PL121h (25) compared with Elm 2.4ME+ PL121g (25)

        [ This patch is branch from the main line. ]
        - On 21 lines window browser help (Folder selection)
          was not fitting to screen.
        - f)orget command on "Mail Pre-Send Screen" incorrectly
          sent mail when editor buffer was empty and on mail 
          there was on attachment.

Changes of Elm 2.4ME+ PL121g (25) compared with Elm 2.4ME+ PL121f (25)

        [ This patch is branch from the main line. ]
        - get_type_flags() was called with NULL-pointer
          argument from start_body_helper() line 381.
         Problem noted by: Vesa-Matti J Kari <vesa-matti.kari@helsinki.fi>
        > Return something 'intelligent' (instead of 
          crashing) in functions of lib/mediatype.c, 
          if them is called with NULL argument.
        - Do not give NULL pointer for
             Content-Type: *unknown*/MIXED          
          In other words do not return NULL pointer
          if give_media_type() is asked to create 
          major media type '*unknown*' ('*unknown*'
          matched MIME_TYPE_UNKNOWN signaling unknown
          media type.)
        - Fixed Makefile error on 
            make package ROOT=/tmp/test-install
          case
        - Sorting orders 'mailbox order' and 
          'reverse mailbox order' was giving same order. 
          Fixed reverse sorting order.
        - Little change for sorting.
        - Ignore command letter 'm' on elm.filelist
          (used on Elm 2.4ME+ PL122).

Changes of Elm 2.4ME+ PL121f (25) compared with Elm 2.4ME+ PL121e (25)

        [ This patch is branch from the main line. ]
        - Fix another "Append to mail folder " -question.
        - Configure was incorrectly made conlusion that
            nl_langinfo(CODESET)
          does not work on IRIX 6.5
        - If given folder name 'aaa@bbb@ccc' for split_remote_name(), 
          do not  split is as user='aaa', host='bbb@ccc', but use
          user='aaa@bbb', host='ccc'
         Problem noted by: admin <admin@unixdemon.com>           
        - Remove duplicates from bin/elm.mimecharsets
          during Configure
        - Compare charset names in case insensitive way on
          ConfTool/GenCharmap

Changes of Elm 2.4ME+ PL121e (25) compared with Elm 2.4ME+ PL121d (25)

        [ This patch is branch from the main line. ]
        - Set close-on-exec flag for opened local mailbox.
        - Fix "Append to mail folder " -question.
        - "I am seeing two exit messages if I start elm and exit right away 
           using ELM 2.4ME+ PL121"
         Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
        - "On a Solaris 8 machine, if I enter ELM and don't make
           any changes it now says "Folder unchanged." twice.
           Not a big deal, but I thought I should report it. :-)"
         Problem noted by: James Corey <ploveregg@yahoo.com>
        > Make sure that first message is erased on exit (often
          ti/te erases screen or changes buffers, but that
          problem apply to "elm -t" also.)
       - Fix case whare ascii only mail was sent with headers
             Content-Transfer-Encoding: 7bit
             Content-Type: text/plain; charset=ISO-8859-1
         instead of
             Content-Transfer-Encoding: 7bit
             Content-Type: text/plain; charset=US-ASCII
       - Added mlterm to terminal.info without charset UTF-8.
         To actually use that terminal definition you need also 
         doc/term/mlterm.ti from mlterm distribution. Install it 
         with 'tic' command. Then you need start  start mlterm with 
         'mlterm -y mlterm'  option, otherwise mlterm sets $TERM to 
         xterm.
       - Seems that mlterm do not handle return to ISO 2022 code 
         ( ESC % @ ) or switch to UTF-8 code ( ESC % G ) ?
       - Also Elm ME+ do not handle double wide UTF-8 characters
       - Fixed case where switch to UTF-8 code ( ESC % G )
         was given on several times. However after ESC % G
         only ESC % @ is valid.
       - Now ConfTool/GenCharmap adds mapping from ConfTool/mapfiles
         to bin/elm.mimecharsets even when elm.mimecharsets have
         already alias definition for charset.       

Changes of Elm 2.4ME+ PL121d (25) compared with Elm 2.4ME+ PL121c (25)

        [ This patch is branch from the main line. ]
        - Fix "Reverse Thread" sorting order.
        - Fixed valgrind reported memory leak:
          24 bytes in 1 blocks are definitely lost in loss record 4 of 28
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8147EF3: safe_malloc (safemalloc.c:47)
            by 0x8068ACA: attach_menu (attach_menu.c:2253)
            by 0x80784E5: mailbox_command (elm.c:808)
            by 0x807920D: main (elm.c:1185)
        - Added redraw handling to display_file()
        - Fixed valgrind reported memory leak:
          56 bytes in 5 blocks are definitely lost in loss record 9 of 28
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8147F8F: safe_malloc (safemalloc.c:47)
            by 0x80E9095: new_state_1 (charset_input.c:18)
            by 0x80F9FFC: cs_add_streambyte_to_utf8 (cs_utf.c:348)
        - Fixed valgrind reported memory leak:
          16 bytes in 2 blocks are definitely lost in loss record 3 of 28
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8147F8F: safe_malloc (safemalloc.c:47)
            by 0x8163E41: malloc_string (string.c:116)
            by 0x8163FBC: new_string (string.c:153)
            by 0x80876EA: read_number (in_utils.c:282)
        - Fixed valgrind reported memory leak:
          30 bytes in 1 blocks are definitely lost in loss record 7 of 29
            at 0x4002668F: realloc (vg_replace_malloc.c:310)
            by 0x8148225: safe_realloc (safemalloc.c:63)
            by 0x8133394: elm_vmessage (output.c:1281)
            by 0x8133A5E: elm_message (output.c:1460)
            by 0x80FD9DA: init_debug (debug.c:58)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 1 of 31
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148173: safe_malloc (safemalloc.c:47)
            by 0x8145BA9: split_remote_name (remote_mbx.c:620)
            by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
        - Fixed valgrind reported memory leak:    
          14 bytes in 1 blocks are definitely lost in loss record 3 of 31
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148349: safe_strdup (safemalloc.c:79)
            by 0x8145B8E: split_remote_name (remote_mbx.c:618)
            by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 1 of 30
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148237: safe_malloc (safemalloc.c:47)
            by 0x8164109: malloc_string (string.c:116)
            by 0x8164FDC: cat_strings (string.c:449)
            by 0x81307E5: elm_smessage (output.c:857)
            by 0x8087063: prompt_letter (in_utils.c:84)
        - Fixed valgrind reported memory leak:
          29 bytes in 5 blocks are definitely lost in loss record 7 of 30
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x8148243: safe_malloc (safemalloc.c:47)
            by 0x8105414: rfc822_tokenize (getaddr.c:37)
            by 0x8061333: do_expand_group_l (aliaslib.c:88)
        - Fixed valgrind reported memory leak:
          7104 bytes in 1 blocks are definitely lost in loss record 27 of 29
            at 0x4002668F: realloc (vg_replace_malloc.c:310)
            by 0x8148339: safe_realloc (safemalloc.c:63)
            by 0x80BFA69: add_canceled_mail1 (canceled_mail.c:1291)
        - Fixed valgrind reported memory leak:
          8 bytes in 1 blocks are definitely lost in loss record 2 of 29
            at 0x400260DC: malloc (vg_replace_malloc.c:153)
            by 0x814826B: safe_malloc (safemalloc.c:47)
            by 0x816413D: malloc_string (string.c:116)
            by 0x81642B8: new_string (string.c:153)
            by 0x80885D9: enter_helper (in_utils.c:656)
            by 0x8089324: optionally_enter2 (in_utils.c:1115)
            by 0x808E52B: limit (limit.c:110)

Changes of Elm 2.4ME+ PL121c (25) compared with Elm 2.4ME+ PL121b (25)

        -  Fixed incorrect drawing of "MIME structure Menu" when arrow 
           cursor was used.

Changes of Elm 2.4ME+ PL121b (25) compared with Elm 2.4ME+ PL121a (25)

        [ This patch is branch from the main line. ]
        - "If you had no aliases yet, and pushed j or k in the 
           aliases menu (or the down or up arrows), you had a 
           "bad item" "common menu panic". The reason was a 
           missing "break" statement in alias_item.c, which was 
           present in the approprite place in mailbox_item.c"
         From: Kovacs Baldvin <baldvin@cs.elte.hu>
         ( Patch was agaist Elm ME+ 2.5 but applies also to  Elm
           2.4ME+ )

Changes of Elm 2.4ME+ PL121a (25) compared with Elm 2.4ME+ PL121 (25)

        [ This patch is branch from the main line. ]
        - Fix error message
                Path component "none" not absolute on key 
                 "internal-mailcaps" value "none"
          when on elmrc have line
                internal-mailcaps = none

Changes of Elm 2.4ME+ PL121 (25) compared with Elm 2.4ME+ PL120 (25)

        SUMMARY: This release changes handling of
                 shared libraries and includes some 
                 other minor changes or fixes.
        - Better rpath test on Configure
        - Better soname test on Configure
        - Some fixes about soname_include_path
        - Change soname_include_path values 
          define/undef to y/n. It is not used
          for #define.
        - Allow setting soname_include_path=n
          always if rpath works 
        - Add extra libraries needed by shared libraries
          (shared_libs/*/) to rpath of executable.
        - Effectively local-fast-lookup = ON is now 
          always used when ASCII filenames are looked.
        - Removed Configure warning:
          "(I see you are using the Korn shell.  Some ksh's 
            blow up on Configure, especially on exotic machines.  
            If yours does, try the Bourne shell instead.)"
        - Let builtin pager show also address and not only 
          name of sender!
        - Fix error
            RC PANIC in rc_handle.c:1226:expand_dt_path
            >>>Bad state on end
          when incorrect elmrc is read
            weedout = *clear-weed-list*"

Changes of Elm 2.4ME+ PL120 (25) compared with Elm 2.4ME+ PL119 (25)

        SUMMARY: This release fixes handling of multiple To: 
                 headers, refines "showto" semantic and fixes
                 envelope sender of "Canceled mail" -view.
        - Fix incorrect condition for deleting of messages marked for 
          deletion (actually condition worked on Elm 2.4ME+ and
          did not worked on Elm ME+ 2.5 because different ison -macro)
        - Group reply did not worked correctly when on mail
          there was several To: -headers.
        - Refine "showto" semantic. If that elmrc variable is
          set and mail is not addressed to user, then To: address
          is shown.
        - Remove < > from address on real_from parsing.
        - Set envelope from address to username when reading
          Canceled mail special 'folder'. That way To:
          -address should be displayed when viewing that 'folder'.

Changes of Elm 2.4ME+ PL119 (25) compared with Elm 2.4ME+ PL118 (25)

        SUMMARY: This release includes various code changes,
                 changes f)orget command and moves
                 *.Canceled.mail to own directory. This
                 release introduces elmrc option 
                 "dead-letter-dir". Any canceled mail
                 can be picked with m)ail command.
        - Configure now locates system gencat command
        - Added file nls/Makefile.SH
        - File nls/Makefile is removed. Now it is
          generated by Configure
        - Made leave() to use give_next_open_mailbox()
        - Added free_all_mailboxes() to src/messages/messages.c
        - Made leave() to use free_all_mailboxes()
        - Made rm_temps_exit() to use free_all_mailboxes()
        - Made silently_exit() to use give_next_open_mailbox()
        - Made emergency_exit() to use give_next_open_mailbox()
        - Made leave_locked() to use give_next_open_mailbox()
        - Made usr1_signal() to use give_next_open_mailbox()
        - Made usr2_signal() to use give_next_open_mailbox()
        - Removed current_mailbox global variable
        - Added free_all_aliasviews() to src/aliases/aliases.c
        - Made leave() to use free_all_aliasviews()
        - Made silently_exit() to use free_all_aliasviews()
        - Made rm_temps_exit() to use free_all_aliasviews()
        - Made leave_locked() to use free_all_aliasviews()
        - Removed current_aliaslist global variable
        - Added menu_trigger_redraw() to src/screen/context.c
        - Changed resync() to use menu_trigger_redraw()
        - Changed help() to use menu_trigger_redraw()
        - Changed do_pipe() to use menu_trigger_redraw()
        - Changed change_file() to use menu_trigger_redraw()
        - Changed print_msg() to use menu_trigger_redraw()
        - Changed subshell() to use menu_trigger_redraw()
        - Changed pgp_extract_public_key() to use menu_trigger_redraw()
        - Changed forward() to use menu_trigger_redraw()
        - Changed reply_to_everyone() to use menu_trigger_redraw()
        - Changed pgp_mail_public_key() to use menu_trigger_redraw()
        - Changed send_msg_l() to use menu_trigger_redraw()
        - Changed print_text() to use menu_trigger_redraw()
        - Changed reply() to use menu_trigger_redraw()
        - Changed save() to use menu_trigger_redraw()
        - Changed pattern_match() to use menu_trigger_redraw()
        - Changed limit() to use menu_trigger_redraw()
        - Changed read_number to use menu_trigger_redraw()
        - Changed alias_help() to use menu_trigger_redraw()
        - Changed a_sendmsg() to use menu_trigger_redraw()
        - Changed mailbox_command() to use menu_trigger_redraw()
        - Changed motion() to use menu_trigger_redraw()
        - Changed new_mail_check() to use menu_trigger_redraw() 
        - Changed mail() to use menu_trigger_redraw() 
        - Changed send_msg_middle() to use menu_trigger_redraw() 
        - Changed send_form() to use menu_trigger_redraw() 
        - Added menu_trigger_redraw()  to get_copies()
        - Added menu_trigger_redraw()  to get_to()
        - Added menu_trigger_redraw()  to copy_the_msg()
        - Added menu_trigger_redraw()  to get_subject()
        - Changed send_msg_argv() to use menu_trigger_redraw() 
        - Moved *.Canceled.mail to own directory
          Canceled.mail.dir                           
        - Editor buffer for f)orget messages is not kept. 
          Instead cancele mails are picked from 
          Canceled.mail.dir on m)ail -command ('/' on
          To: prompt gives menu of cancelled messages.)
        - Canceled.mail.dir is not available as folder
          (it can not given for c)hange folder commmand
           or -f option of Elm.)
        - When canceled mail is picked from re-sending,
          is is also deleted from Canceled.mail.dir
          (f)orget command will re-add it to Canceled.mail.dir.)
        - Name of Canceled.mail.dir can be changed with elmrc 
          option dead-letter-dir.
        - Removed give_message_folder()
        - Added -g option to Configure
        New elmrc options:
            dead-letter-dir
        New file:
            src/messages/canceled_mail.c
            src/canceled.c
            nls/Makefile.SH
        Removed file:
            nls/Makefile        (this is now generated by Configure)

Changes of Elm 2.4ME+ PL118 (25) compared with Elm 2.4ME+ PL117 (25)

        Undo Elm 2.4ME+ PL117a (25) and Elm 2.4ME+ PL117b (25) 
        patches before applying this patch.
        SUMMARY: This release collects PL117a and PL117b
                 patches, make possible to cancel some
                 actions or prompts with interrupt character
                 on POSIX systems, changes letter of 'invoke
                 editor' command on header editing screen
                 and makes some other changes or fixes.
        - Interrupt signal (Ctrl-C) was ignored only,
          if Elm ME+ was compiled with -DDEBUG option.
         Problem noted by: Laura Kataja
        - Fix bug where Elm2.4ME+ PL117 was acting always as 
          dsn-success was set.
        - Message/check
              "signature" used in obsolete way in .elm/elmrc file.
          removed.
        - Moved get_term_chars() from src/init.c to
          src/screen/init.c
        - PL108 added 'invoke e)ditor' command to header editing 
          screen. That conflicts with 'E)xpires' command.
          Changed command to 'invoke e(d)itor'.
        - Allow canceling of following prompts
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
             Set current XXX to :
             Description:               (Attachment Configuration)
             Content-Type:              (Attachment Configuration)
             Content-Disposition:       (Attachment Configuration)
             Search:                    (builtin pager)
             From:                      (Message Header Edit Screen)
             To:                        (Message Header Edit Screen)
             Cc:                        (Message Header Edit Screen)
             Bcc:                       (Message Header Edit Screen)
             Subject:                   (Message Header Edit Screen)
             Reply-to:                  (Message Header Edit Screen)
             Action:                    (Message Header Edit Screen)
             Priority:                  (Message Header Edit Screen)
             Precedence:                (Message Header Edit Screen)
             In-reply-to:               (Message Header Edit Screen)
             user defined header on Message Header Edit Screen
             Enter criteria or '?' for help:
             Send the message to:       (prompt of m)ail command)
             To:                        (prompt of m)ail command)
             Subject:                   (prompt of m)ail command)
             Copies to:                 (prompt of m)ail command)
             Return-path:               (Mail Pre-Send Screen)
             E)ditor (primary)    :     (ELM Options Editor)
             D)isplay mail using  :     (ELM Options Editor)
             C)alendar file       :     (ELM Options Editor)
             O)utbound mail saved :     (ELM Options Editor)
             P)rint mail using    :     (ELM Options Editor)
             Y)our full name      :     (ELM Options Editor)
             V)isual Editor (~v)  :     (ELM Options Editor)
             E)xpires:                  (ELM Options Editor)
             Precede(n)ce:              (ELM Options Editor)
             Enter pattern:
             To:                        (when encrypting message (pgp))
             From:                      (when signing message (pgp))
             Enter userid of public key: (prompt of Ctrl-K command)
             Override charset:
             Shell command:
             Pipe to:
             Enter alias name:          (Alias mode)
             Current message address aliased to:
             Enter address for XXX:     (Alias mode)
             Fully expand alias:        (Alias mode)
             Enter last name for XXX:
             Enter first name for XXX:
             Enter optional comment for XXX:
             Forward message as separate part?
             Copy message?              (prompt of m)ail command)
             Edit outgoing message?     (prompt of f)orward command)
             Enter encryption key:      (on sending mail)
             Text part XX have control characters. 
                  Encode text with quoted-printable?  (on sending mail)
        - Treate Ctrl-C (interrupt character) as No on following 
          prompts (on systems which support POSIX termios):
             Abandon change to mailbox?
             Abandon changes to mailbox?
        - Handling interrupt (Ctrl-C) on builtin editor without
          signals on systems which support POSIX termios
          (that edit_interrupt signal handler is not safe!)
        - GetPGPKey() did not always re-enabled raw-mode
        - Allow canceling of following (folder browser) prompts
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
             Change to which folder:
             Save text of message to:
             Copy text of message to:
             Save text messages to:
             Copy text messages to:
             Save message to:
             Copy message to:
             Save messages to:
             Copy messages to:
             Save copy in (use '?' for help):
        - Allow canceling of following (file browser) prompts
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
             To file:                   (MIME structure Menu)
             Filename:                  (Attachment Configuration)
        - Allow canceling leaving of folder on following
          prompts with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
             Delete message?
             Delete messages?
             Move read message to \"received\" folder?
             Move read messages to \"received\" folder?
             Keep unread message in incoming mailbox?
             Keep unread messages in incoming mailbox?
        - Now on address prompts also works \ quotation
          of interrupt character (for example @, if set that way)
          on systems which supports POSIX termios.
        - Allow canceling of password prompt of IMAP/POP
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
              Password for XXX@YYY:
        - Allow canceling of IMAP/POP connection attempt 
          with Ctrl-C (interrupt character) on systems
          which supports POSIX sigaction:  
              Connecting to XXX
        - Allow canceling alias menu help prompt
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios
        - Allow canceling messages/mailbox menu help 
          prompt with Ctrl-C (interrupt character) on systems
          which supports POSIX termios
        - Allow canceling options menu help prompt
          with Ctrl-C (interrupt character) on systems
          which supports POSIX termios
        - Add READCH_CURSOR to ReadCh options (on
          options screen and elsewhere) so that escape 
          sequences from cursor keys do not cause 
          misinterpration of selected option.
        - Allow folowing ON/OFF prompts to be canceled
          on options menu with Ctrl-C (interrupt character) 
          on systems which supports POSIX termios:
             A)rrow cursor        :
             M)enu display        :
        - Allow options menu sorting criteria prompt
          to be canceled with Ctrl-C (interrupt character) 
          on systems which supports POSIX termios:
             S)orting criteria    :
        - Allow canceling DSN (Delivery Status Notification) Configuration 
          menu with Ctrl-C (interrupt character) on systems which supports 
          POSIX termios
        - Allow canceling DSN (Delivery Status Notification) Configuration
          menu prompts with Ctrl-C (interrupt character) on systems which 
          supports POSIX termios:
                Return H)eaders only on FAILURE:
                Return DSN on F)AILURE         : TRUE
                              D)ELAY           : TRUE
                              S)UCCESS         : TRUE
                U)se defaults (DSN off)        : FALSE
        - Allow quiting Attachment Configuration menu
          with Ctrl-C (interrupt character) on systems which supports 
          POSIX termios (this not necessary forget/undo made changes
          however.)
        - Allow canceling encoding prompt on Configuration menu
          with Ctrl-C (interrupt character) on systems which supports 
          POSIX termios:
              Content-Transfer-Encoding:
        - Allow quiting Attachment Menu with Ctrl-C (interrupt
          character) on systems which supports POSIX termios (this not 
          necessary forget/undo made changes however.)
        - Redraw Mail Pre-Send Screen when quiting Attachment Menu
          or DSN menu.
        - Allow quiting Message Header Edit Screen with Ctrl-C 
          (interrupt character) on systems which supports POSIX
          termios (this not necessary forget/undo made changes
          however.)
        - Allow quiting help text viewer with Ctrl-C (interrupt 
          character) on systems which supports POSIX
          termios:
                Press <space> to continue, 'q' to return.
        - Allow quiting of builtin pager with Ctrl-C (interrupt 
          character) on systems which supports POSIX termios
        - Treate message/disposition-notification as 
          message/delivery-status (similar than text/plain).
        - Fix for valgrind reported error 
             Conditional jump or move depends on uninitialised value(s)
             at 0x80E3654: mail_gets (mail_gets.c:37)
        - Fix for valgrind reported error               
             Conditional jump or move depends on uninitialised value(s)
             at 0x80E73AC: give_media_type2 (mediatype.c:282)
             by 0x80E7260: give_media_type (mediatype.c:241)
        - Allow interrupting pgp/gpg message signing
          wint interrupt character (or SIGINT, Ctrl-C).
        - Allow canceling leaving of alias menu on following
          prompts with Ctrl-C (interrupt character) on systems
          which supports POSIX termios:
                Delete 1 alias?
                Delete XX aliases?
        New file:
            src/screen/init.c
            lib/cancel.c

Changes of Elm2.4ME+ PL117b (25) compared with Elm2.4ME+ PL117a (25)

        [ This patch is branch from the main line. ]
        - Interrupt signal (Ctrl-C) was ignored only,
          if Elm ME+ was compiled with -DDEBUG option.
         Problem noted by: Laura Kataja

Changes of Elm2.4ME+ PL117a (25) compared with Elm2.4ME+ PL117 (25)

        [ This patch is branch from the main line. ]
        - Fix bug where Elm2.4ME+ PL117 was acting always as 
          dsn-success was set.

Changes of Elm2.4ME+ PL117 (25) compared with Elm2.4ME+ PL116 (25)

        Undo Elm 2.4ME+ PL116a (25) patch before applying this patch.
        SUMMARY: This release collects patch Elm2.4ME+ PL116a,
                 implements reconnection to mailer=submission, adds
                 pgp-interactive and askmimeforward elmrc options
                 and prompts about mimeforward on f)orward command.
        - Fix debug output of dump_expanded_address()
        - Implement reconnection for mailer=submission (however
          reconnection is not implemented for mailer=sendmail-bs).
          These mailer's open smtp (or submission) connection
          to server before editor is started. That is done
          for get capacity of mailer (for 8BITMIME). However
          sometime that times out if editing tooks too long
          and sending of mail fails.
        - Trying send encrypted messages with gpg was giving
          error message
                Couldn't find key matching 'xxx@yyy'
         Problem noted by: Olivier COLIN <dodo.olivier@wanadoo.fr>
                       (and probably others)
        > Make GetPGPKey() retry reading of result on case of
          interrupt.
        - GetPGPKey() was not collect status of exted gpg and
          was left lot of defunct processes. Converted code to 
          use start_run().
        - Reprint last error on "Mail Pre-Send Screen" after
          clearing screen.
        - Added pgp-interactive option to elmrc. Setting that
          disables batch mode of pgp/gpg when encrypting/signing 
          mail.
        - Alternatives and weedout and list was replaced with Q letters
         Problem noted by: Cyrille Lefevre <cyrille.lefevre@laposte.net>
        - Do not quote addresses on alternatives.
        - Added elmrc variable type rc_DT_ESTR (aka kind
          of expanded string).
        - Reimplemented elmrc variable "pager" as rc_DT_ESTR
        - Reimplemented elmrc variable "editor" as rc_DT_ESTR
        - Reimplemented elmrc variable "calendar" as rc_DT_ESTR
        - Reimplemented elmrc variable "localsignature" as rc_DT_ESTR
        - Reimplemented elmrc variable "remotesignature" as rc_DT_ESTR
        - Reimplemented elmrc variable "receivedmail" as rc_DT_ESTR
        - Reimplemented elmrc variable "sentmail" as rc_DT_ESTR
        - Reimplemented elmrc variable "incoming-mailbox" as rc_DT_ESTR
        - Removed valid_rc_type()
        - Add package test to Configure (as it is done Elm ME+ 2.5)
          for case that wrong config.sh is used.
        - Added malloc_gets() to lib/mail_gets.c
        - Changed send_msg_l(), mail(), mail_form(),
          mail_filled_in_form(), forward(), reply_to_everyone(),
          and reply() to use index, mailbox instead of 
          current_header, infile, mailbox.
        - Added give_next_open_mailbox() to src/messages.c and
          made save_copy() to use it.
        - Moved definition of struct mv_storage and 
          struct mv_digest out from src/messages/def_messages.h
        - When mail is forwarded mail, user is prompted
             Forward message as separate part?
          default value of answer depends "mimeforward"
          elmrc option. Setting elmrc option "askmimeforward" 
          to OFF disables that prompt.
        - Added expanded_address_from_items() to
          lib/outheaders.c
         - Removed class_charset() from melib/mime_parse.c
        New elmrc options:
            pgp-interactive
            askmimeforward

Changes of Elm2.4ME+ PL116a (25) compared with Elm2.4ME+ PL116 (25)

        [ This patch is branch from the main line. ]
        - Alternatives and weedout and list was replaced with Q letters
         Problem noted by: Cyrille Lefevre <cyrille.lefevre@laposte.net>
        - Reprint last error on "Mail Pre-Send Screen" after
          clearing screen.
        - Trying send encrypted messages with gpg was giving
          error message
                Couldn't find key matching 'xxx@yyy'
         Problem noted by: Olivier COLIN <dodo.olivier@wanadoo.fr>
                       (and probably others)
        > Make GetPGPKey() retry reading of result on case of
          interrupt.
        - GetPGPKey() was not collect status of exted gpg and
          was left lot of defunct processes. Converted code to 
          use start_run().
        - Do not quote addresses on alternatives.

Changes of Elm2.4ME+ PL116 (25) compared with Elm2.4ME+ PL115 (25)

        SUMMARY: This patch fixes handling of unexpected return
                 value of nl_langinfo(CODESET) on AIX, fixes
                 value check of "internal-mailcaps" and 
                 "metamail-mailcaps" elmrc variables,
                 fixes some prompts on situation where leaving
                 of folder fails, reimplements 
                 "alternatives" and "weedout" elmrc variables,
                 changes elm.filelist format (adds subcommand
                 "copydoc" to elmregister), adds -s option
                 to elmregister and adds RFC 2919 List-ID to
                 list of known headers. 
        WARNING: There is small change on elm.filelist format, so 
                 downgrading from  Elm2.4ME+ PL116 (25) to  
                 Elm 2.4ME+ PL115 (25) or to Elm ME+ 2.5 PLalpha0 
                 will not work (you need unistall or remove
                 elm.filelist first.)
        - " When installing ELM (on AIX 5L), I get the following message:
          | Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset.
          |      Codeset name ISO8859-1 was unknown. Treating ISO8859-1 as MIME name.
          |      Check /usr/local/lib/elm/elm.mimecharsets or
          | noam/.elm/mime.charsets
          | WARNING: Locale en_US (charset ISO8859-1) is unsupported, will cause problems!
          | Problem with locale (system character set)! Elm ME+ will
          | behave erratically."
         Problem noted by: Noam G. Nudelman <noam@mail.biu.ac.il>
        - dt_PATH_print_value() was not printing always empty values
          correctly.
        - fix test on expand_dt_path(). Specially non-file
          values on "internal-mailcaps" and "metamail-mailcaps" was
          not giving error message.
        - Prompt "Failed to leave folder: Try to change again ?
          [P]anic" did not worked.  Added new routine prompt_letter()
        - Changed prompt "Failed to leave folder: Try to quit again ?"
        - Changed prompt ""received" folder not available, continue? (y/n) n"
        - Also changed default answer to be yes on that prompt
          (that is useful only when received folder is remote,
           but that error may occur also is somebody is set 
              receivedmail = /invalid
          )
        - Fix some possible compilation problems with traditional 
          C compilers (as opposed to ANSI C ompilers)
        - Reimplemeted elmrc "alternatives" as type PATH and 
          removed special elmrc type for alternatives.
        - Reimplemeted elmrc "weedout" as type PATH and 
          removed special elmrc type for weedout.
          If first element on list is "*clear-weed-list*",
          then builtin weedout list is not used.
        - Fix typo PROMTP_yesno (to PROMPT_yesno) on
          Elm2.4ME+ PL115a (25)
        - Added command "elmregister copydoc" which 
          works like "elmregister copy", but marks
          file to be document.
        - Added option "-s {stage-subdir}" to command
          "elmregister {command}".
        - Added RFC 2919 List-ID -header to array on 
          lib/headers.c
        - Fix missing space between pharse and < >
          on result of hdr_decode_from_phrase() on
          lib/headers.c
        - If on header editing screen incoked editor
          and address was on form '"a" <b> (c)",
          and then edited it on header editing screen
          address become as '"a" <b> (c('. Changed
          on '(' to ')' on make_surface_addr() on
          lib/outheaders.c

Changes of Elm2.4ME+ PL115a (25) compared with Elm2.4ME+ PL115 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes handling of unexpected return
                 value of nl_langinfo(CODESET) on AIX, fixes
                 value check of "internal-mailcaps" and 
                 "metamail-mailcaps" elmrc variables and
                 fixes some prompts on situation where leaving
                 of folder fails.
        - " When installing ELM (on AIX 5L), I get the following message:
          | Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset.
          |      Codeset name ISO8859-1 was unknown. Treating ISO8859-1 as MIME name.
          |      Check /usr/local/lib/elm/elm.mimecharsets or
          | noam/.elm/mime.charsets
          | WARNING: Locale en_US (charset ISO8859-1) is unsupported, will cause problems!
          | Problem with locale (system character set)! Elm ME+ will
          | behave erratically."
         Problem noted by: Noam G. Nudelman <noam@mail.biu.ac.il>
        - dt_PATH_print_value() was not printing always empty values
          correctly.
        - fix test on expand_dt_path(). Specially non-file
          values on "internal-mailcaps" and "metamail-mailcaps" was
          not giving error message.
        - Prompt "Failed to leave folder: Try to change again ?
          [P]anic" did not worked.  Added new routine prompt_letter()
        - Changed prompt "Failed to leave folder: Try to quit again ?"
        - Changed prompt ""received" folder not available, continue? (y/n) n"
        - Also changed default answer to be yes on that prompt
          (that is useful only when received folder is remote,
           but that error may occur also is somebody is set 
              receivedmail = /invalid
          )
        - Fix some possible compilation problems with traditional 
          C compilers (as opposed to ANSI C ompilers)

Changes of Elm2.4ME+ PL115 (25) compared with Elm2.4ME+ PL114 (25)

        SUMMARY: This release changes temporary folder
                 location on some situations, fixes crash
                 on c)hange command on alias menu, adds 
                 elmrc options "local-sessionlock-dir" and
                 "local-sessionlock-use-home", and changes
                 SIGWINCH handling when waiting for editor.
        - If opened local mailbox is on somewhere else
          than on spool directory, use "tmpdir" setting
          from elm.rc for location of temporary file 
          "mbox.{mailbox}-{username}" instead default_temp.
        NOTE: "tmpdir" was already used for temporary file
              "mbox.{username}@{popserver}" when reading
              pop mailbox and for temporary file
              "mbox.{username}@{imapserver}:{folder}" when
              reading imap folder of mailbox.
        - If opened local mailbox is on spool directory, use
          (new) "local-sessionlock-dir" setting from elm.rc for 
          location of temporary file "mbox.{mailbox}" instead 
          default_temp.
        - Added new elmrc option "local-sessionlock-dir".
        - "There are two behaviors that I need changed.  One 
           is the location of the temporary mbox-USERNAME file.  
           Because our homedirs are nfs mounted to whatever machine 
           we sit down at, having the temporary mbox-USERNAME file 
           located in /tmp (or anywhere else local to the machine 
           we are currently using) is not adequate protection from
           launching two invocations of elm on two different 
           workstations and having both try and update the same 
           inbox.  This usually results in an error message about 
           the mailbox being corrupted when we return
           to our primary workstation.
           To solve this it works better for us if the mbox-USERNAME 
           file resides in our homedirs.  I found no way to set this 
           using the Configure script (can't use $HOME), so I did it 
           by modifying imap.c, localmbx.c, and remote_mbx.c.  Also, 
           we prefer that these files be dot files (.mbox-USERNAME) so 
           I also modified sysdefs.SH."
         Problem noted by: J.C. Webber III <jcw@pico.apple.com>
        > Added new elmrc option "local-sessionlock-use-home".
          Possible values are "never", "spool", "always" and
          "non-spool". If this is set to "always", local mailbox 
          opened use  home for temporary file. Temporary file 
          is renamed to ".mbox.{mailbox}-{username}" or 
          ".mbox.{mailbox}". If this is set to "spool", 
          temporary file for local mailboxes opened from spool 
          directory are put to home directory. If this is set 
          to "non-spool", temporary file for local mailboxes 
          opened from non-spool directory are put to home directory.
          Value "never" do not relocate temporary file.
        - Fix crash when changing alias...
        - set SIGWINCH to SIG_DFL only on child (on system_call())
          so that Elm will call menu_context_resize() when it is 
          waiting child to complete ...
        New elmrc options:
            local-sessionlock-dir
            local-sessionlock-use-home

Changes of Elm2.4ME+ PL114 (25) compared with Elm2.4ME+ PL113 (25)

        Undo Elm2.4ME+ PL113a (25) patch before applying this patch.
        SUMMARY: This release collects PL113a patch, adds
                 hack for hidding certain management mail
                 used by some imap servers and splits elmrc 
                 option use-library to two variables. That 
                 should reduce loading of unnecessary libraries. 
                 New elmrc options "message-hide-hack",
                 "use-base-library" and "use-connect-library"
                 are added to this release.
        - "wouldn't it be nice to have an option to hide the 
           management mail in imap-folders. This mail is in every 
           mail-folder which is also accessed by imap. It always has:
           Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
           I always use elm, but also access my mailbox remotely via 
           imap. To access it locally with elm also by imap is slow, 
           compared to direct access."
         Requested by: Axel Reinhold <axel@freakout.de>
        > Added elmrc option "message-hide-hack". Possible values are 
          "none" and "FOLDER INTERNAL DATA". Hiding of that
          management mail do not affect to '-z' option -- that option
          still sees that mailbox is non-zero size. Also that option do 
          not effect to any tools of elm. In other words 'frm' shows that 
          management mail.
        - "I tried to compile elm2.4.ME+.113 on AIX 5.1 (maintenance 
           level 05) or on AIX 5.2 (maintenance level 02)
           with gcc version 3.3.2 and got stuck with:
            gmake[1]: Entering directory `noam/elm2.4.ME+.113/src/screen'
            gcc -I../../hdrs -fpcc-struct-return -fPIC  -O     -c 
               -o curses.o curses.c
            curses.c:282: error: parse error before '->' token"
         Problem reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Fix again compilation problem fixed on PL106 but 
          re-introduced on PL108.
        - "When running 'elm -c alias_name' with Elm 2.4ME+ PL113 on
           AIX, I get:
           ALIAS VIEW PANIC in aliases.c:340:update_aview
           >>>bad aliasview magic"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        - On linux "elm -c xxx" crashes with:
            SIGNAL PANIC in signals.c:102:segv_signal
            >>>
            Segment Violation signal!
        > Moved initialization of aliasview to earlier.
        - Splited elmrc option
             use-library = iconv smtp tls
          to two options
             use-base-library = iconv
             use-connect-library = smtp tls
        - Content of option "use-library" is automatically
          moved to options "use-base-library" and
          "use-connect-library".
        - This splitting tries avoid loading of unnecessary 
          libraries. Note however that these libraries are
          loaded anyway if library specific options are used
          on elmrc or on mail.services. Also giving for example
             mailer = submission
          on global elm.rc load all libraries given on 
          use-connect-library.
        New elmrc options:
            use-base-library
            use-connect-library
            message-hide-hack
        New files:
                lib/shared_all.c
                lib/shared_base.c 
                lib/shared_connect.c

Changes of Elm2.4ME+ PL113a (25) compared with Elm2.4ME+ PL113 (25)

        [ This patch is branch from the main line. ]
        - "I tried to compile elm2.4.ME+.113 on AIX 5.1 (maintenance
           level 05) or on AIX 5.2 (maintenance level 02)
           with gcc version 3.3.2 and got stuck with:
           gmake[1]: Entering directory `noam/elm2.4.ME+.113/src/screen'
           gcc -I../../hdrs -fpcc-struct-return -fPIC  -O     -c
             -o curses.o curses.c
           curses.c:282: error: parse error before '->' token"
         Problem reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Fix again compilation problem fixed on PL106 but
          re-introduced on PL108.
        - "When running 'elm -c alias_name' with Elm 2.4ME+ PL113 on AIX, I get:
           ALIAS VIEW PANIC in aliases.c:340:update_aview
           >>>bad aliasview magic"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        - On linux "elm -c xxx" crashes with:
          SIGNAL PANIC in signals.c:102:segv_signal
          >>>
          Segment Violation signal!
        > Moved initialization of aliasview to earlier.

Changes of Elm2.4ME+ PL113 (25) compared with Elm2.4ME+ PL112 (25)

        SUMMARY: This release changes base64 decode algorithm,
                 adds decoder from X-uuencoded content-transfer-encoding
                 and adds handling of resizing to many screen.
        - Reimplemented base64_decode() from routine
          of kehlist (first occured on kehlist 1.1.2   9 Jun 1999
          Author: Kari E. Hurtta <Kari.Hurtta@Fmi.FI>)
        [ Well, basically same decoding routine is on
          cs_add_streambyte_to_s_utf7() on lib/cs_utf.c
          And also found from kehpager (UTF7_convert()
          on charset.c,  kehpager 1.2   1994
          Author: Kari Hurtta <Kari.hurtta@helsinki.fi> ]
        - Added uudecode() routine, used for decoding
          nonstandard X-uuencoded content-transfer-encoding
        - Resizing of terminal is handled now also on following
          screens:
            - ELM Options Editor
            - Alias mode
            - Mail Pre-Send Screen
            - Message Header Edit Screen
            - Message Edit Screen   (builtin editor) 
                  (perhaps)
            - Attachment Menu
            - MIME structure Menu
            - builtin pager
            - Folder selection  (folder browser)
            - File selection    (directory browser)
            - Attachment Configuratio
                 (not an a filename or other prompts)
            - Multiple keys match  (pgp key selection)
            - DSN (Delivery Status Notification) Configuration
          Resizing is not handled when some data is
          prompted on these screens. Generally that
          causes redraw event, which not repage / resize 
          text but instead just redraws prompt.
        - Fixed compilation problem on case where
          REMOTE_MBX is not defined.  
        - optionally_enter2 was not prompting text correctly when
          OE_APPEND_CURRENT was set.
        New files:
                src/screen/context.c

Changes of Elm2.4ME+ PL112 (25) compared with Elm2.4ME+ PL111 (25)

        Note: You must create directory
                  src/menu_common
              before applying this patch!
        WARNING: Unified code between aliases and mailbox menu. 
                 Speciall there is changes of l)imit command.
                 So please report new bugs which you observe...
        SUMMARY: This release collects patches PL111a and PL111b,
                 unifies common routines of aliases and messages
                 and changes handling of obsolete elmrc options.
                 Now some more commands, which work on mailbox menu,
                 works also on aliases menu. 
        - Unified common routines for aliases and 
          messages to struct menu_common.
        - 'ifmain' macro removed.
        - Giving argument 'tagged' to Ctrl-D
          works now also on aliases menu.
        - Argument 'all' on Ctrl-T now
          works also on aliases menu.
        - And ('&') and or ('|') on l)imit
          command are now available also on
          aliases menu.
        - Condition 'tagged' on l)imit command
          is available now also on aliases menu.
        - Fix crash on parse failure on command 
          "View digest as mailbox".
        - Fix for src/Makefile
        - Fix crash if 'U' is pressed on aliases menu:
            SIGNAL PANIC in signals.c:102:segv_signal
        - Changed bug reporting address to elm@elmme-mailer.org
          (that is directed to hurtta+elm@posti.FMI.FI)
        - "I think they should be Warnings only.  Like say
             Elmrc variable "bounceback" is obsolete and should be
             removed.
           and come up anyway."
         Requested by: James Corey <ploveregg@yahoo.com>
        > Added type rc_DT_OBS
        > Now warning
              Elmrc variable "XXX" is obsolete and should be removed
              from line YYY in "ZZZ" file
          is printed, but that is not very visible, because it was
          requested that Elm should be started on interactive mode anyway.
        > If iso646-charsets or compatcharsets is used, print also
          warning
              Setting "XXXX" on line YYY in "XXX" file is suboptimal.
              Use file .... or .elm/mime.charsets instead.
        - Do not drop privileges if -X (transcript file) option
          is given.
        Re-added elmrc options as obsolete:
                 bounce
                 bounceback
                 hpkeypad
                 hpsoftkeys
                 keypad
                 mailbox   (was originally synonym of receivedmail)
                 softkeys
                 textencoding
        New files:
            src/menu_common/def_mcommon.h
            src/menu_common/Makefile.SH
            src/menu_common/mcommon.c
            src/menu_common/alias.c
            src/menu_common/mailbox.c
            src/menu_common/alias_limit.c
            src/menu_common/message_limit.c
            src/menu_common/alias_pattern.c
            src/menu_common/message_pattern.c
            src/menu_common/alias_screen.c
            src/menu_common/message_screen.c
            src/menu_common/mailbox_item.c
            src/menu_common/alias_item.c

Changes of Elm2.4ME+ PL111b (25) compared with Elm2.4ME+ PL111a (25)

        [ This patch is branch from the main line. ]
        - Fix crash on parse failure on command 
          "View digest as mailbox".

Changes of Elm2.4ME+ PL111a (25) compared with Elm2.4ME+ PL111 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes crash caused by 'U' command
                 on aliases menu.
        - Fix for src/Makefile
        - Fix crash if 'U' is pressed on aliases menu:
            SIGNAL PANIC in signals.c:102:segv_signal
        - Changed bug reporting address to elm@elmme-mailer.org
          (that is directed to hurtta+elm@posti.FMI.FI)

Changes of Elm2.4ME+ PL111 (25) compared with Elm2.4ME+ PL110 (25)

        Note: You must create directory
                  src/aliases
              before applying this patch!
        WARNING: Quite many changes specially on aliases. So please 
                 report new bugs which you observe...
        SUMMARY: This release collects patch PL110a, changes
                 pub report address and makes some other changes.
        NOTE:  Seems that anonymous ftp (and ftp.ozone.fmi.fi) 
               will be removed. Then ftp://ftp.ozone.fmi.fi/KEH/
               is not available ( http://www.ozone.fmi.fi/KEH/ 
               probably remain. ) Also ozone.fmi.fi will retire.
        - Fix incorrect test on copy_pgp() -- length test should be
          applied to original data -- not a output of pgp (or gpg).
        - Add similar handling of interrupted read to copy_pgp()
          than is on pgp_decode()
        - Handle raw mode of terminal and status pg pgp/gpg on
          copy_pgp() wame way than on pgp_decode()
        - Make O)verride charset also be effective, when viewing
          attachment via MIME structure Menu -menu.
        - Elm was not displaying To: -address on some situations
          when showto was set, but acted instead as recipient was 
          sender (or as mail was directed to user.)
         Possibly reported by: Sivasankar Chander <siva@dias.ath.cx>
         ( Perhaps showto should ignore case where sender is 
           recipient? )
        - Changed alias routines.
          ( Why hash database is used for aliases, when aliases
            are searched linearly? -- see src/aliases/find_alias.c
            (originally src/find_alias.c))
        - Avoid message 
              [ Charset US-ASCII converted... ]
          as special case when using displaycharset=UTF-8.
          ( Also setting charset-convert-ok=Yes disables this message. )
        - Changed bug report address
                  Kari Hurtta <hurtta+elm@ozone.FMI.FI>
          to
                  Kari Hurtta <hurtta+elm@posti.FMI.FI>
        New files:
            src/aliases/Makefile.SH
            src/aliases/def_aliases.h
            src/aliases/aliases.c
            src/aliases/alias_alloc.c
            src/aliases/astorage.c
            src/aliases/astorage_hash.c
       Renamed files:
            src/find_alias.c => src/aliases/find_alias.c

Changes of Elm2.4ME+ PL110a (25) compared with Elm2.4ME+ PL110 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes case, where output of pgp/gpg was
                 not shown sometimes (on non-MIME messages), 
                 case where O)verride charset was ignored when
                 displaying attachment (via MIME structure Menu
                 -menu), and case where To: address was not shown
                 on message list when showto elmrc option was set.
        - Fix incorrect test on copy_pgp() -- length test should be
          applied to original data -- not a output of pgp (or gpg).
        - Add similar handling of interrupted read to copy_pgp()
          than is on pgp_decode()
        - Handle raw mode of terminal and status pg pgp/gpg on
          copy_pgp() wame way than on pgp_decode()
        - Make O)verride charset also be effective, when viewing
          attachment via MIME structure Menu -menu.
        - Elm was not displaying To: -address on some situations
          when showto was set, but acted instead as recipient was 
          sender (or as mail was directed to user.)
         Possibly reported by: Sivasankar Chander <siva@dias.ath.cx>
         ( Perhaps showto should ignore case where sender is 
           recipient? )

Changes of Elm2.4ME+ PL110 (25) compared with Elm2.4ME+ PL109 (25)

        Undo Elm2.4ME+ PL109S (25) patch before applying this patch.
        Undo Elm2.4ME+ PL109a (25) and Elm2.4ME+ PL109b (25) patches 
        before applying this patch.
        SUMMARY: This release collects patches PL109a and PL109b.
                 Security fixes introduced in PL109S are included.
                 Bogus charset initialization error caused by
                 missing global elm.mimecharsets file is fixed.
                 Some enchancements to l)imit command are
                 introduced. This release also fixes extra 
                 "[Keeping all messages.]" messages introduced 
                 on PL109a fix. File MIME.txt compares Elm ME+ 
                 to MIME conformace criteria.
        - This file states "But anyway, Elm will never be MIME 
          Conformant." Added file MIME.txt which enumerates RFC 
          2049 requirements and look which reuirements are not
          followed and on what conditions.
        - Change some Raw(OFF) to Raw_OFF() on leaving routines
          of src/utils.c          
        > Also clear "[Keeping all messages.]" messages
          after leaving folder so that these are not
          printed because of Raw_OFF();
        - Try fix 
                MBX PANIC in imap.c:2578:end_imap_command
          when IMAP / TLS connection is closed by server.
        - Initialization of internal-mailcaps and 
          metamail-mailcaps did not worked correctly.
          Moved initialization before reading of global 
          elm.rc.
         Problem noted by: Xavi Serrano <xserrano@ac.upc.es>
        - On def_prompt_handler() final newline should be
          printed to terminal as prompt is printed (instead
          of stderr.)
        - Fix segmentation violation on l)mit command
          "header subject" (ie. without ':'). This is now 
          interpreted to be all mails which have given header
          name.
        - l)imit command "aabbc: yyy" work now as
          "header aabbc: yyy"
        - User alias file was not opened, if system alias file 
          existed.
        Fix potential security problems on systems where Elm ME+
        is setgid mail and system do not support Posix saved IDs.
        Check output of 'elm -vvv' if your system have problems:
              Have Posix saved IDs:         Yes (egid 12)
        If this is 'No' and egid is other than your gid, there is 
        possibility that Elm ME+ can read or write some files
        which are readable or writable by group mail, when it should 
        not access them. Note that these fixes can not be complete.
        There is race condition at least. Closing that race condition
        requires that Elm ME+ drop privileges temporary. For that
        Elm ME+ uses Posix saved IDs. 
        - SECURITY: Add can_open() test to load_locale_map()
        - SECURITY: Add can_open() test to copy1()
        - SECURITY: Add can_open() test to parse_iso2022_map()
        - SECURITY: Add can_open() test to do_newalias()
        - SECURITY: Add can_open() test to dbz_fresh()
        - SECURITY: Add can_open() test to dbz_again()
        - SECURITY: Add can_open() test to dbz_open()
        - SECURITY: Add can_open() test to latebase()
        - SECURITY: Add can_open() test to read_rc_file()
        - SECURITY: Add can_open() test to parse_service_entries()
        - SECURITY: Add can_open() test to load_terminal_map()
        - SECURITY: Add can_open() test to read_mailcaps()
        - SECURITY: Add can_open() test to add_to_alias_text()
        - SECURITY: Add can_open() test to delete_from_alias_text()
        - SECURITY: Add can_open() test to mime_guess_content_type()
        - SECURITY: Add can_open() test to edit_the_message()
        - SECURITY: Add can_open() test to read_editor()
        - SECURITY: Add can_open() test to append()
        - SECURITY: Add can_open() test to check_form_file()
        - SECURITY: Add can_open() test to format_form()
        - SECURITY: Add can_open() test to edit_headers_on_editor()
        - SECURITY: Add can_open() test to mail()
        - SECURITY: Add can_open() test to save_options()
        - Add can_open() test to load_folder_state_file()
        - Add can_open() test to read_unidata_text()
        - Add can_open() test to display_file()
        - Avoid error message like following
            Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset.
            Codeset name ISO-8859-15 was unknown. Treating ISO-8859-15 as MIME name.
            Check /usr/local/test/lib/elm.mimecharsets or .../.elm/mime.charsets
            Problem with locale (system character set)! Elm ME+ will behave erratically.
         on case where elm.mimecharsets is not installed. Codeset
         match was not used if either file elm.mimecharsets or
         mime.charsets existed.
        New files:
            MIME.txt

Changes of Elm2.4ME+ PL109b (25) compared with Elm2.4ME+ PL109a (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes segmentation violation on
                 l)imit command and problem where user alias
                 was not opened, if system alias file existed.
        - Fix segmentation violation on l)mit command
          "header subject" (ie. without ':'). 
        - User alias file was not opened, if system alias file 
          existed. Fixed short circuit evalution.

Changes of Elm2.4ME+ PL109a (25) compared with Elm2.4ME+ PL109 (25)

        [ This patch is branch from the main line. ]
        Undo Elm2.4ME+ PL109S (25) patch before applying this patch.
        SUMMARY: This patch address panic when imap server disconnects
                 during password prompt, fixes initialization of
                 internal-mailcaps and metamail-mailcaps elmrc options 
                 and fixes some cases where error message was not visible 
                 because of exiting of Elm ME+. Also security fixes of 
                 Elm2.4ME+ PL109S (25) are included to this patch (it
                 is agaist Elm2.4ME+ PL109 (25))
        - Changed some Raw(OFF) to Raw_OFF() on leaving routines
          of src/utils.c          
        - Try fix 
                MBX PANIC in imap.c:2578:end_imap_command
          when IMAP / TLS connection is closed by server.
        - Initialization of internal-mailcaps and 
          metamail-mailcaps did not worked correctly.
          Moved initialization before reading of global 
          elm.rc.
         Problem noted by: Xavi Serrano <xserrano@ac.upc.es>
        - On def_prompt_handler() final newline should be
          printed to terminal as prompt is printed (instead
          of stderr.)
        Fix potential security problems on systems where Elm ME+
        is setgid mail and system do not support Posix saved IDs.
        Check output of 'elm -vvv' if your system have problems:
              Have Posix saved IDs:         Yes (egid 12)
        If this is 'No' and egid is other than your gid, there is 
        possibility that Elm ME+ can read or write some files
        which are readable or writable by group mail, when it should 
        not access them. Note that these fixes can not be complete.
        There is race condition at least. Closing that race condition
        requires that Elm ME+ drop privileges temporary. For that
        Elm ME+ uses Posix saved IDs. 
        - SECURITY: Add can_open() test to load_locale_map()
        - SECURITY: Add can_open() test to copy1()
        - SECURITY: Add can_open() test to parse_iso2022_map()
        - SECURITY: Add can_open() test to do_newalias()
        - SECURITY: Add can_open() test to dbz_fresh()
        - SECURITY: Add can_open() test to dbz_again()
        - SECURITY: Add can_open() test to dbz_open()
        - SECURITY: Add can_open() test to latebase()
        - SECURITY: Add can_open() test to read_rc_file()
        - SECURITY: Add can_open() test to parse_service_entries()
        - SECURITY: Add can_open() test to load_terminal_map()
        - SECURITY: Add can_open() test to read_mailcaps()
        - SECURITY: Add can_open() test to add_to_alias_text()
        - SECURITY: Add can_open() test to delete_from_alias_text()
        - SECURITY: Add can_open() test to mime_guess_content_type()
        - SECURITY: Add can_open() test to edit_the_message()
        - SECURITY: Add can_open() test to read_editor()
        - SECURITY: Add can_open() test to append()
        - SECURITY: Add can_open() test to check_form_file()
        - SECURITY: Add can_open() test to format_form()
        - SECURITY: Add can_open() test to edit_headers_on_editor()
        - SECURITY: Add can_open() test to mail()
        - SECURITY: Add can_open() test to save_options()
        - Add can_open() test to load_folder_state_file()
        - Add can_open() test to read_unidata_text()
        - Add can_open() test to display_file()

Changes of Elm2.4ME+ PL109S (25) compared with Elm2.4ME+ PL109 (25)

        Fix potential security problem on systems where Elm ME+
        is setgid mail and system do not support Posix saved IDs.
        Check output of 'elm -vvv' if your system have problems:
              Have Posix saved IDs:         Yes (egid 12)
        If this is 'No' and egid is other than your gid, there is 
        possibility that Elm ME+ can read or write some files
        which are readable or writable by group mail, when it should 
        not access them. Note that these fixes can not be complete.
        There is race condition at least. Closing that race condition
        requires that Elm ME+ drop privileges temporary. For that
        Elm ME+ uses Posix saved IDs. 
        - SECURITY: Add can_open() test to load_locale_map()
        - SECURITY: Add can_open() test to copy1()
        - SECURITY: Add can_open() test to parse_iso2022_map()
        - SECURITY: Add can_open() test to do_newalias()
        - SECURITY: Add can_open() test to dbz_fresh()
        - SECURITY: Add can_open() test to dbz_again()
        - SECURITY: Add can_open() test to dbz_open()
        - SECURITY: Add can_open() test to latebase()
        - SECURITY: Add can_open() test to read_rc_file()
        - SECURITY: Add can_open() test to parse_service_entries()
        - SECURITY: Add can_open() test to load_terminal_map()
        - SECURITY: Add can_open() test to read_mailcaps()
        - SECURITY: Add can_open() test to add_to_alias_text()
        - SECURITY: Add can_open() test to delete_from_alias_text()
        - SECURITY: Add can_open() test to mime_guess_content_type()
        - SECURITY: Add can_open() test to edit_the_message()
        - SECURITY: Add can_open() test to read_editor()
        - SECURITY: Add can_open() test to append()
        - SECURITY: Add can_open() test to check_form_file()
        - SECURITY: Add can_open() test to format_form()
        - SECURITY: Add can_open() test to edit_headers_on_editor()
        - SECURITY: Add can_open() test to mail()
        - SECURITY: Add can_open() test to save_options()
        - Add can_open() test to load_folder_state_file()
        - Add can_open() test to read_unidata_text()
        - Add can_open() test to display_file()

Changes of Elm2.4ME+ PL109 (25) compared with Elm2.4ME+ PL108 (25)

        Undo Elm2.4ME+ PL108a (25) patch before applying this patch.
        SUMMARY: This release collects Elm2.4ME+ PL108a (25)
                 patch, adds elmrc variable "prompt-after-metamail",
                 changes iconv:auto-charset elmrc option
                 to also apply to defined but unknown charsets,
                 makes some changes to elm tools, adds binary
                 mmappable file for charset tables for types
                 ascii and one-byte-map and adds O)verride
                 charset command. On elm tools there is new 
                 command "elmbindata".
        - "I would like to suggest a small change in elm.
           I use lynx as a HTML browser.
           When I exit from the lynx, I get the message:
           Press any key to return to index.
           and the only possible action is returning to the 
           list of mail messages. This message seems to be unnecessary."
         Requested by: Witold Witkowski <yawitkow@cyf-kr.edu.pl>
        - Renamed "promptafter" elmrc variable to
          "prompt-after-pager". Added elmrc variable
          "prompt-after-metamail" Elmrc variable "promptafter"
          effects now both "prompt-after-pager" and
          "prompt-after-metamail".
        - elmregister was not fixing protections on 
          replay phase
        - 'sh Configure -cfile' was not working, only
          'sh Configure -c file' read 'file'.
        - "I type in the same text string to search again, it goes 
           to the next matched line, but the surrounding lines are 
           from the original match hit (the screen is not being 
           updated)."  ( about / -command)
         Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
        - "The pgp message "[End of raw data]" is confused
           as a file inclusion when it appears in a reply.  
           The following patch changes the message to 
           "[ End of raw data]", which doesn't get confused."
         From: Bruce Momjian <root@candle.pha.pa.us>
          [ Patch little modified. ]
        - "With older elm versions, using '/', it remembered the 
           old search string, so I could do '/', <ENTER> to find 
           the next occurance of a single string.  The new code 
           doesn't do that."
         Reported by: Bruce Momjian <root@candle.pha.pa.us>
        > Returned variables to static (and avoiding freeing
          them on end of function)
        - Moved most of informative messages of elmregister from
          stderr to stdout.
        - iconv:auto-charset is now applied to charsets on
          lib/precompiled_sets.c if that charset is marked as 
          unknown (ie. definition of predefined unknown 
          charset is ignored.)
          NOTE:  By default iconv:auto-charset is OFF. So that
                 change to be effective, use
                        iconv:auto-charset = ON
                 on elm.rc. This makes unknow charset to be
                 type "iconv" if iconv() is able to handle it.
          WARNING: Some care should be taken so that system or 
                   display charset does not result to have type 
                   "iconv".
          Look shared_libs/iconv/READ.ME+
        - Use post_init_check() even when -G (global)
          flag is given on tools of elm.
        - Text form map files for charset types ascii and 
          one-byte-map from elm.map.txt directory (and elsewhere)
          are stored to binary file elm.map.bin/unidata.bin.
          File is then read or mmapped (similar than
          elm.map.bin/bindata.bin). File is generated with new
          tool elmbindata.
        - Added O)verride charset command to override charset=
          parameter of current or tagged mails.
        New elmrc options:
            prompt-after-pager
            prompt-after-metamail
            bindata
        New tools:
            elmbindata
        New files:
            lib/bindata.c
            lib/mmaputil.c
            hdrs/mmaputil.h
            hdrs/bindata.h
            utils/elmbindata.c
            utils/charmapcopy.c
            utils/charmapcopy.h
            doc/elmbindata.1

Changes of Elm2.4ME+ PL108a (25) compared with Elm2.4ME+ PL108 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch makes some fixes for elmregister,
                 and elm's search command ('/'). 
        - elmregister was not fixing protections on 
          replay phase
        - 'sh Configure -cfile' was not working, only
          'sh Configure -c file' read 'file'.
        - "I type in the same text string to search again, it goes 
           to the next matched line, but the surrounding lines are 
           from the original match hit (the screen is not being 
           updated)."  ( about / -command)
         Problem noted by: Bruce Momjian <root@candle.pha.pa.us>
        - "The pgp message "[End of raw data]" is confused
           as a file inclusion when it appears in a reply.  
           The following patch changes the message to 
           "[ End of raw data]", which doesn't get confused."
         From: Bruce Momjian <root@candle.pha.pa.us>
          [ Patch little modified. ]
        - "With older elm versions, using '/', it remembered the 
           old search string, so I could do '/', <ENTER> to find 
           the next occurance of a single string.  The new code 
           doesn't do that."
         Reported by: Bruce Momjian <root@candle.pha.pa.us>
        > Returned variables to static (and avoiding freeing
          them on end of function)
        - Moved most of informative messages of elmregister from
          stderr to stdout.

Changes of Elm2.4ME+ PL108 (25) compared with Elm2.4ME+ PL107 (25)

        Note: You must create directory
                  src/screen
              before applying this patch!
        Undo Elm2.4ME+ PL107a (25) patch before applying this patch.
        SUMMARY: This release collects PL107a patch, adds
                 invoke e)ditor command to header editing screen,
                 enhances internal mailcap parser and fixes some 
                 bugs. New elmrc options
                 internal-mailcap-trusted-programs
                 and internal-mailcap-prompt-trusted are added.
        - Return correct page after returning from
          o)ptions screen when sorting order is changed.
         Problem noted by: Ike Stoddard <forwstod@oplink.net>
        - Possible fix for error
            STREAMSCHED PANIC in streamsched.c:1127:ss_noaction_routine
          when IMAP / TLS connection is closed by server.
        - Handle better "skipped " counter, when there is lot of
          skipped mails.
        - Cursor movement is changed little
        - Added invoke e)ditor command to header editing screen.
          Following headers are supported:
                    From:
                    To:
                    CC:
                    Bcc:
                    Reply-To:
                    Subject:
        - Added elmrc variable internal-mailcap-trusted-programs
          which lists programs for which Mailcap program selection 
          -screen answers 'Yes' by default. In all questions are 
          answered 'Yes' by default, Mailcap program selection -screen 
          is only set if new elmrc variable 
          internal-mailcap-prompt-trusted is set. If program
          is on  internal mailcap is with full path, it should be listed
          on internal-mailcap-trusted-programs also with full path.
          Note however that programs given on test= clause on
          mailcap are executed always without prompting.
        - Internal mailcap parser now support wildcarding of subtype,
          for example image/*. However these wildcarded entries are
          treated with lower priority than normal entries. So they
          normally do not match if there is more specific entry.
        - Avoid division be zero when opening non existing 
          (or empty?) mailbox.
         From: Darren Reed <avalon@caligula.anu.edu.au>
          ( Division by zero seems not be visible on all systems. )
        New elmrc options:
            internal-mailcap-trusted-programs
            internal-mailcap-prompt-trusted
        New files:
            src/screen/def_screen.h
            src/screen/Makefile.SH
            src/screen/screen.c
            src/screen/curs_input.c
            src/screen/termbuffer.c
            src/screen/termtitle.c
            src/screen/termcharset.c
            src/screen/cur_process.c
        Removed files:
            src/curses.c
            hdrs/elm_curses.h

Changes of Elm2.4ME+ PL107a (25) compared with Elm2.4ME+ PL107 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch corrects page when returning
                 from o)ptions screen and fixes some other
                 minor bugs.
        - Return correct page after returning from
          o)ptions screen when sorting order is changed.
         Problem noted by: Ike Stoddard <forwstod@oplink.net>
        - Possible fix for error
            STREAMSCHED PANIC in streamsched.c:1127:ss_noaction_routine
          when IMAP / TLS connection is closed by server.
        - Handle better "skipped " counter, when there is lot of
          skipped mails.

Changes of Elm2.4ME+ PL107 (25) compared with Elm2.4ME+ PL106 (25)

        Note: You must create directory
                  charset/MAPPINGS/MICSFT
              before applying this patch!
        SUMMARY: This release fixes some charset definitions, 
                 add some maps to distribution and new keyword
                 to l)imit command.
        - Marked TIS-620 to be ISO-8859-11 on lib/precompiled_sets.c
        - Added some ISO-2022 codes.
        - changed codeset=VISCII to charset=VISCII on lib/precompiled_sets.c
        - changed codeset=DEC-MCS to charset=DEC-MCS on lib/precompiled_sets.c
        - Marked that windows-1250, windows-1253, windows-1254, windows-1256 
          and windows-1258 are superset of US-ASCII on lib/precompiled_sets.c
        - Marked that windows-1255 is superset of US-ASCII on lib/precompiled_sets.c
          (it is not superset of ISO-8859-8).
        - Marked that windows-1257 is superset of US-ASCII on lib/precompiled_sets.c
          (it is not superset of ISO-8859-13).
        - Map 0x80 - 0x9f to unicode 0x0080 - 0x009F on
          ISO-8859-1 map (function map_init_latin) on lib/cs_binary.c.
          On that range there is no characters, but this way is mapping
          done on http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
        - Added some files for ConfTool/mapfiles
        NOTE: Answer 'y' to following Configure question
              Should Configure ignore existing elm.mimecharsets? [s]
        otherwise generated elm.mimecharsets do not include
        fixes from ConfTool/mapfiles.
        - Added ISO-2022-LIKE paramater to terminal.info
        - Accept 0x30..0x3F as final byte of ISO 2022 identification
          (these are on private use)
        - Added new l)imit keyword:
                header {header_name}: {header_value}
          Note that this is SLOW! Currently this limit
          keyword do not do MIME decoding for headers.
        New files:
                charset/MAPPINGS/viscii.txt
                charset/MAPPINGS/dec-mcs.txt
                charset/MAPPINGS/ISO8859/8859-11.TXT
                charset/MAPPINGS/hp-roman8.txt
                charset/MAPPINGS/MICSFT/CP437.TXT
                charset/MAPPINGS/MICSFT/CP1250.TXT
                charset/MAPPINGS/MICSFT/CP1253.TXT
                charset/MAPPINGS/MICSFT/CP1254.TXT
                charset/MAPPINGS/MICSFT/CP1255.TXT
                charset/MAPPINGS/MICSFT/CP1256.TXT
                charset/MAPPINGS/MICSFT/CP1257.TXT
                charset/MAPPINGS/MICSFT/CP1258.TXT

Changes of Elm2.4ME+ PL106 (25) compared with Elm2.4ME+ PL105 (25)

        SUMMARY: This release fixes some compilation and installation
                 problems on AIX, some bugs on folder leaving/syncing,
                 current pointer handling when new mail was arriving,
                 and saving error (introduced on PL105) of assembled 
                 message. Builtin pager now by default overrides
                 $PAGER environment variable.
        - Fix compilation error on AIX:
                curses.c:556: error: parse error before '->' token
                curses.c: In function `ScreenSize':
         Problem noted by: Noam G. Nudelman <noam@mail.biu.ac.il>
          ( It still do not work on AIX ?)
        - Fix installation error
                gmake[2]: *** No rule to make target `libreg', 
                needed by `install_s'.  Stop.
          on case where shared libraries are not used.
         Problem noted by: Noam G. Nudelman <noam@mail.biu.ac.il>
        - On leaving of folder action message was cleared immediately.
        - Current pointer location was not preserved when
          new mail arrived.
        - On syncing mailbox elm did not asked should messages
          to be deleted, if several mailbox was open and on
          last was no messages marked for deletion.
        - Saving of assembled message failed, because content_length
          was miscalculated (PL105 copied also Received: -headers
          from part 1 and these was not calculated.)
        - If builtin++ is selected as default pager, Configure
          now provides option that builtin pager is used even
          when environment variable $PAGER is set. That is now
          also default.

Changes of Elm2.4ME+ PL105 (25) compared with Elm2.4ME+ PL104 (25)

        SUMMARY: This release fixes various bugs, refines
                 message/partial handling (command 'A')
                 and refines searching of message bodies
                 (command '//'.)
        - Elm2.4ME+ PL104 was giving 
                    BROWSER PANIC in savefolder.c:3690:folder_from_dir_item
                    >>>No selection
          if prompt
             Select folder: .
          was cleared (on 'elm -f .').
        - Generate $ELMSTATE state information also for 
          assembed messages on on message assembly mode
          (command 'A'). 
        - Don't print 
             [ Command 'A' assembles fragmented messages. ]
          when replying (only when viewing message fragment)
          so that this message is similar than
             [ Use 'v' to view or save this part. ]
          message.
        - Copy Received: -headers from part 1 (from initial enclosing
          message) to assembled message.
        NOTE:    MIME (RFC 2046) requires that all headers 
                 except Content-*, Subject, MIME-Version, 
                 Message-ID and Encrypted are copied to assembled
                 message. It also requires that headers except
                 Content-*, Subject, MIME-Version,  Message-ID and 
                 Encrypted  are ignored and dropped from enclosed 
                 message.
                 Dropping extra headers from enclosed message makes 
                 assembly more complicated  (and dropping of Received: 
                 -headers from enclosed message do not make sense)
                 so it is not now done.
       - Change on handle_reply_to()
       - When l)imiting list of shown messages, current pointer
         was not updated to point to first visible message on
         Elm2.4ME+ PL104.
       - On '//' command seach also top level mail headers. They are
         MIME decoded before searching.
       - Command 'v' on process_showmsg_cmd() was using wrong
         mailbox data.
       - Added '|' -command to message assembly mode (uses readmsg
         and therefore requires that folder state information 
         $ELMSTATE is available.) That command naturally do not
         work if message assembly mode is started from view digest
         as mailbox -mode (on that mode there is no useful folder
         state information.)

Changes of Elm2.4ME+ PL104 (25) compared with Elm2.4ME+ PL103 (25)

        - Fix segmentation violation when
          sending mail from command line:
          8 get_storage_count(mailbox = (nil)) 
            [src/messages/messages.c:266]
          9 save_copy(headers = 0x7fff2c98, cf = 0x7fff1f18, 
                form = 0, mime_info = 0x7fff1f20, conv_file = 0xfb56fe8, 
                mailbox = (nil)) [src/savecopy.c":217]

Changes of Elm2.4ME+ PL103 (25) compared with Elm2.4ME+ PL102 (25)

        Undo Elm2.4ME+ PL102a (25) patch before applying this patch.
        Note: You must create directory
                        src/messages
              before applying this patch!
        WARNING: Quite many changes. So please report new bugs 
                 which you observe...
        SUMMARY: This release collects patch 102a, makes possible
                 to view digets as mailbox (command 'V'), makes
                 possible to view fragmented (message/partial)
                 messages without help of metamail (command 'A')
                 and accepts several -f (folder) command line options
                 (and therefore makes possible to view several folders
                  as one folder.) Searching of body of messages
                 (command '//') now decodes mime encoding. New elmrc
                 option fragment-handling is added.
        - Raw() was not masking NO_CHARSET from value (but
          actually Raw is not called with NO_CHARSET flag)
        - Removed unused function newmbox() from src/newmbox.c
        - '!' (subshell) command added to attach viewer
        - Now it is possible to give '-f folder' option
          several times to Elm 2.4ME+. On that case combined view
          of given folders is shown. 
        - Added sync_write_folder()
        - If several folders is given with -f options, then
          --mailbox-title=name can be used to give name for
          combined view.
        - New command 'V' (uppercase v) is added to 
          Subject (main) menu. This is "view digest
          as mailbox" -command. This shows included 
          messages of  current mail (digest) or tagged 
          mails. That command can also be used to access
          original message on bounced mail. 
          See chapter "View digest as mailbox" for details.
        - New command 'A' (uppercase a) is added to
          Subject (main) menu and to digest menu. 
        - New elmrc option fragment-handling. Tells
          how fragmented (message/partial) should be handled.
          If "none", call metamail (if available) for these.
          If "manual", let user to give command 'A' to 
          enter message  assembly mode. If "auto", go
          automatically to message assembly mode.
          See chapter "Message assembly mode" for details.        
        - pagemultipart was not handled correctly if 
          subtype of multipart was unknown.
        - If .elm/mail.services was giving port for service
          (for example POP), and there was several IP addresses for
          name, wrong port was attempt for other than
          first address.
        - "Elm leaves a /tmp/elmfwd.xxx file behind when you
           forward a message"
         Reported by: Konstantinos Konstantinides - Stream
           <kk@corp.cirrus.com>
        >  That happened when mimeforward = YES. Changed
           mime_t_clear() to take attention to unlink flag.
        - If given '^' command (toggle delete flag), go to next 
          command regadles is next command marked for deletion 
          or not on resolve mode. In other works same way than 
          u)undelete command works.
          ( Well, '^' command is not very useful when ^ on
            keyboard is 'dead' (ie. prefix or modifier) key. )
        - Added string_matches_ascii()
        - '//' -command (seach message bodies) now decodes
          MIME content transfer encoding before searching data.
          Also charset is taken to account.
        - '//' command now takes accoount only selected messages
          (ie. works same way than '/' -command).
        Warning:  Changes on redrawing of screen. Complain if
                  redrawing do not work as usual on some situation.
                  Impementation of current message "pointer"
                  is changed. Complain if it shows to "wrong"
                  message.
                  Handling of Subject (main) menu is changed.
                  Now '//' command mostly ignores mail (and MIME)
                  headers when looking match.
                  Message assembly do not have much testing, because
                  generally MIME's message fragmentation -mechanism 
                  (message/partial) is not used.
        New elmrc option:
                fragment-handling
        New files:
                src/messages/Makefile.SH
                src/messages/def_messages.h
                src/messages/messages.c
                src/messages/header_alloc.c
                src/messages/storage.c
                src/messages/digest.c
                src/digest.c
                src/def_elm.h
                melib/def_melib.h
                melib/mimewalk.c
                src/messages/partial.c
                melib/partial.c
                src/partial.c

Changes of Elm2.4ME+ PL102a (25) compared with Elm2.4ME+ PL102 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes temp file leak
                 when forwarding with mimeforward = YES and
                 connection to wrong port when name have
                 several IP addresses and file
                 .elm/mail.services was used.
        - Raw() was not masking NO_CHARSET from value (but
          actually Raw is not called with NO_CHARSET flag)
        - pagemultipart option was not handled correctly if
          subtype of multipart was unknown.
        - If .elm/mail.services was giving port for service
          (for example POP), and there was several IP addresses for
          name, wrong port was attempt on connection for other
          than first address.
        - "Elm leaves a /tmp/elmfwd.xxx file behind when you
           forward a message"
         Reported by: Konstantinos Konstantinides - Stream
           <kk@corp.cirrus.com>
        >  That happened when mimeforward = YES. Changed
           mime_t_clear() to take attention to unlink flag.

Changes of Elm2.4ME+ PL102 (25) compared with Elm2.4ME+ PL101 (25)

        Undo Elm2.4ME+ PL101a (25), Elm2.4ME+ PL101b (25) and
        Elm2.4ME+ PL101c (25) patches before applying this patch.
        SUMMARY: This release collects patches 101a - 101c,
                 adds support for environment variables (on some 
                 cases) to internal mailcap parser, changes 
                 folder handling of nfrm, adds new tool 
                 elmlibregister and fixes some bugs. Now dynamic 
                 libraries (iconv, smtp, tls) are registered
                 on (post-)install time to global elm.rc, if wanted.
        - Fix (harmless) error message
                bin/elmregister: [on_current] Bad command letter: s
          (occurs when upgrading version.)
        - Fix elmregister message 
                Keeping link .../elmuninstall.1 from old version (was (null))
        - Running of test= on internal mailcap parser was causing
          segmentation violation
        - Added to support for environment variables ($xxxx)
          inside of " on internal mailcap parser (only environment 
          variables formed from letters are supported). Environment
          variables outside of quotes are not supported
          by internal mailcap parser.
        - Fix crash on header editing screen    
        - "We're setting up Elm 2.4ME+ PL99b (25) for use as an 
           IMAP client to our mailserver, and I ran into a problem 
           when configuring the main elm.rc file.
           I wanted to be able to set the incoming-mailbox variable 
           to be $USER@engmail, so that by default users would be 
           prompted for a password, and mail would be retrieved from 
           their engmail account.
           However, when I set "incoming-mailbox = $USER@engmail" 
           and ran elm, I got:
              Cannot initialize "incoming-mailbox" - 
              error expanding "$USER@engmail".
           I traced the problem to the expand_path() routine in the 
           lib/expand.c file.  The environment variable expansion was 
           using '/' as its only delimiter, so that the $USER portion 
           wasn't being split off from the remainder of the path, and 
           the environment variable lookup failed.
           By adding '@' to the possible delimiters, the problem goes 
          away."
         From: Paul D. McKone <pdmckone@engmail.uwaterloo.ca>
        - Adding X-ELM-OSV, X-Mailer or Content-Name headers to
          .elm/elmheaders was causing crash (now they are ignored.)
        - Add fclose() to mailcap.c
        - Do not ignore reply-to header on .elm/elmheaders. 
         Problem noted by: Rui Aguiar <ruilaa@it.pt>
        - Fix crash
            ISO2022 PANIC in cs_iso2022.c:836:state_add_raw
             >>>Value not in range 0-255
        - Fix Segmentation fault when viewing attachments when
          attachment have a corrupted header
               Content-Type: type=application/msword
        - Print enconding on MIME structure Menu also when it
          fits only partially to column
        - Reprint error message after turning Raw off when
          locking of mailbox fails.
        - Changed error messages of "frm".
        - If "frm -s new" or "nfrm" is given for folder instead
          of mailbox, show 'new' messages. But also print error
          message:
                WARNING: %s is folder, not mailbox!  
                  Delivery of new mail to folder when it is open may
                  corrupt it.
          Setting default-folder-status = New disables warning.
        - Fix for valgrind reported error
             Conditional jump or move depends on uninitialised value(s)
             at 0x80E9136: expand_dt_path (rc_handle.c:1130)
          (actually loop condition did not depend 
           uninitialized value although one subexpresions value
           was uninitialized on that situation.)
        - Fix for valgrind reported error/warning
             1310 bytes in 177 blocks are definitely lost in 
                 loss record 19 of 25
             at 0x4015E30F: malloc (vg_clientfuncs.c:103)
             by 0x80F081B: safe_malloc (safemalloc.c:46)
             by 0x80AE3B8: dequote_opt (charset.c:787)
             by 0x80AE985: load_charset_map_info (charset.c:948)
        - Fix for valgrind reported error/warning
             552 bytes in 68 blocks are definitely lost in loss 
                 record 16 of 24
             at 0x4015E30F: malloc (vg_clientfuncs.c:103)
             by 0x80F081B: safe_malloc (safemalloc.c:46)
             by 0x80F4F29: set_dir_selection (savefolder.c:2141)
             by 0x80F23A5: real_select_local (savefolder.c:747)
        - Fix for valgrind reported error/warning
              528 bytes in 66 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F081B: safe_malloc (safemalloc.c:46)
              by 0x8105638: malloc_string (string.c:116)
              by 0x8105873: new_string2 (string.c:180)
              by 0x80C506A: hdr_text (hdrdecode.c:412)
        - Fix for valgrind reported error/warning
              280 bytes in 35 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0827: safe_malloc (safemalloc.c:46)
              by 0x8105644: malloc_string (string.c:116)
              by 0x810587F: new_string2 (string.c:180)
              by 0x80C4D7B: hdr_comment (hdrdecode.c:272)
        - Fix for valgrind reported error/warning
              96 bytes in 12 blocks are definitely lost in loss 
                 record 11 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0833: safe_malloc (safemalloc.c:46)
              by 0x8105650: malloc_string (string.c:116)
              by 0x810588B: new_string2 (string.c:180)
              by 0x80C4F1F: hdr_phrase (hdrdecode.c:348)
        - Fix for valgrind reported error/warning
              224 bytes in 11 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0847: safe_malloc (safemalloc.c:46)
              by 0x81056D2: malloc_string (string.c:130)
              by 0x8106B98: dup_string (string.c:678)
              by 0x80DAD85: add_expanded_addr_ (outheaders.c:134)
        - Fix for valgrind reported error/warning
              24 bytes in 1 blocks are definitely lost in loss 
                 record 1 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F083B: safe_malloc (safemalloc.c:46)
              by 0x80C6887: update_header_list (headers.c:575)
              by 0x809C8BB: state_read_headers (parse_util.c:137)
              by 0x809C7C8: file_read_headers (parse_util.c:104)
              by 0x8076770: copy_message_2 (fileio.c:1048)
        - Fix for valgrind reported error/warning
              52 bytes in 5 blocks are definitely lost in loss 
                 record 6 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F087B: safe_malloc (safemalloc.c:46)
              by 0x8105706: malloc_string (string.c:130)
              by 0x81057CC: new_string (string.c:153)
              by 0x80DB167: make_surface_addr (outheaders.c:235)
              by 0x8059485: build_address_l (addr_util.c:452)
        - Fix for valgrind reported error/warning
              32 bytes in 4 blocks are definitely lost in loss record 5 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F089F: safe_malloc (safemalloc.c:46)
              by 0x81056BC: malloc_string (string.c:116)
              by 0x810627F: cat_strings (string.c:434)
              by 0x80C510B: hdr_text (hdrdecode.c:419)
              by 0x80C51E6: hdr_to_string (hdrdecode.c:462)
              by 0x80C5CC3: hdr_decode_from_text (headers.c:36)
              by 0x80C71C4: give_decoded_header (headers.c:816)
              by 0x809CB02: state_write_header (parse_util.c:197)
        - Fix for valgrind reported error/warning
              32 bytes in 4 blocks are definitely lost in loss record 5 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08B3: safe_malloc (safemalloc.c:46)
              by 0x8104DD1: alloc_simple (streamsched.c:1047)
        - Fix for valgrind reported error/warning
              16 bytes in 2 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08B3: safe_malloc (safemalloc.c:46)
              by 0x81056F8: malloc_string (string.c:116)
              by 0x810582C: new_string (string.c:153)
              by 0x807B350: enter_helper (in_utils.c:432)
              by 0x807BECE: optionally_enter2 (in_utils.c:863)
              by 0x807C01E: optionally_enter (in_utils.c:898)
        - Fix for valgrind reported error/warning
              16 bytes in 2 blocks are definitely lost in loss record 1 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08CB: safe_malloc (safemalloc.c:46)
              by 0x80B33D7: cs_stream_from_ascii (cs_binary.c:1508)
              by 0x8107089: stream_from_string (string.c:799)
              by 0x807C049: optionally_enter (in_utils.c:909)
        - Fix for valgrind reported error/warning
              140 bytes in 1 blocks are definitely lost in loss record 13 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0996: safe_realloc (safemalloc.c:62)
              by 0x80E509D: mbx_prepare_read_pop (pop.c:1592)
        - Fix for valgrind reported error/warning
              15 bytes in 1 blocks are definitely lost in loss record 1 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F09A2: safe_realloc (safemalloc.c:62)
              by 0x80A1357: make_mailcap_arg (mailcap.c:918)
              by 0x80A1EF8: mailcap_view_command (mailcap.c:1319)
              by 0x80973A6: prompt_programs_1 (showmsg.c:131)
              by 0x8097587: prompt_programs_1 (showmsg.c:188)
              by 0x80975F1: prompt_programs (showmsg.c:211)
        - Fix for valgrind reported error/warning
              32 bytes in 2 blocks are definitely lost in loss record 5 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0933: safe_malloc (safemalloc.c:46)
              by 0x80C6973: update_header_list (headers.c:575)
              by 0x80C6D3F: read_folder_headers (headers.c:700)
              by 0x80D5771: prepare_message_access (mbox.c:1351)
        - Fix for valgrind reported error/warning
              8 bytes in 1 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F094F: safe_malloc (safemalloc.c:46)
              by 0x8105794: malloc_string (string.c:116)
              by 0x8106CC8: dup_string (string.c:678)
              by 0x812FEB5: sb_get_line_from_mem (sb_mem.c:69)
              by 0x8109A89: get_line_from_stringbuffer (stringbuffer.c:177)
              by 0x8067162: builtinplusplus (builtin++.c:176)
        - Fix for valgrind reported error/warning
              55 bytes in 2 blocks are definitely lost in loss record 6 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F099F: safe_malloc (safemalloc.c:46)
              by 0x80FDE2A: malloc_service_entry (service_list.c:198)
        - Fix for valgrind reported error/warning
              3 bytes in 1 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F099F: safe_malloc (safemalloc.c:46)
              by 0x81221FC: imap_got_header_line (imap.c:5794)
              by 0x8122863: mbx_copy_header_imap (imap.c:5991)
        - Fix for valgrind reported error/warning
              4050 bytes in 67 blocks are definitely lost in loss 
                  record 21 of 24
              at 0x4015E8A3: realloc (vg_clientfuncs.c:276)
              by 0x80F0A6E: safe_realloc (safemalloc.c:62)
              by 0x80E0025: elm_vmessage (output.c:1229)
              by 0x80E0881: elm_message (output.c:1460)
              by 0x8121F12: mbx_copy_envelope_imap (imap.c:5687)
        - Fix for valgrind reported error/warning
              9 bytes in 1 blocks are definitely lost in loss record 2 of 30
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0B37: safe_strdup (safemalloc.c:78)
              by 0x80FB31A: probe_imap_capa_lib (shared.c:1010)
        - Fix for valgrind reported error/warning
              40 bytes in 1 blocks are definitely lost in loss record 6 of 29
              at 0x4015E8A3: realloc (vg_clientfuncs.c:276)
              by 0x80F0A6E: safe_realloc (safemalloc.c:62)
              by 0x80E0209: elm_vmessage (output.c:1281)
              by 0x80E0881: elm_message (output.c:1460)
              by 0x4146ED0A: smtp_common_mailer_backend (smtp.c:1026)
        - Fix for valgrind reported error
           Invalid read of size 4
             at 0x80C0994: debug_level_check (debug.c:256)
             by 0x80F0B22: safe_realloc (safemalloc.c:69)
             by 0x80C08B1: set_debugging (debug.c:214)
        - Added "install_libs" target for testing top level Makefile
        - Due on error on Makefile on doc/, elmrc-info (and possible
          other files) was not installed.
        - Added new tool elmlibregister, which check is libraries
          given on use-library on elm.rc (or on .elm/elmrc) loadable.
          Now Configure asks which libraries should be registered on
          on (post-)install time. elmlibregister command is used to
          add these libraries to use-library line on global elm.rc.
        - Quotes was handled incorrectly on internal mailcap parser.
        New tools:
                elmlibregister
        New files:
                utils/elmlibregister.c
                doc/elmlibregister.1

Changes of Elm2.4ME+ PL101c (25) compared with Elm2.4ME+ PL101b (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes segmentation fault, when
                 when viewing attachment with unxepected
                 Content-Type, and fixes some memory leaks
                 and other errors found by memory checker
                 tools. Also other small changes are included
                 to this patch.
        - Fix Segmentation fault when viewing attachments when
          attachment have a corrupted header
               Content-Type: type=application/msword
        - Print enconding on MIME structure Menu also when it
          fits only partially to column
        - Reprint error message after turning Raw off when
          locking of mailbox fails.
        - Fix for valgrind reported error
             Conditional jump or move depends on uninitialised value(s)
             at 0x80E9136: expand_dt_path (rc_handle.c:1130)
          (actually loop condition did not depend 
           uninitialized value although one subexpresions value
           was uninitialized on that situation.)
        - Fix for valgrind reported error/warning
             1310 bytes in 177 blocks are definitely lost in 
                 loss record 19 of 25
             at 0x4015E30F: malloc (vg_clientfuncs.c:103)
             by 0x80F081B: safe_malloc (safemalloc.c:46)
             by 0x80AE3B8: dequote_opt (charset.c:787)
             by 0x80AE985: load_charset_map_info (charset.c:948)
        - Fix for valgrind reported error/warning
             552 bytes in 68 blocks are definitely lost in loss 
                 record 16 of 24
             at 0x4015E30F: malloc (vg_clientfuncs.c:103)
             by 0x80F081B: safe_malloc (safemalloc.c:46)
             by 0x80F4F29: set_dir_selection (savefolder.c:2141)
             by 0x80F23A5: real_select_local (savefolder.c:747)
        - Fix for valgrind reported error/warning
              528 bytes in 66 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F081B: safe_malloc (safemalloc.c:46)
              by 0x8105638: malloc_string (string.c:116)
              by 0x8105873: new_string2 (string.c:180)
              by 0x80C506A: hdr_text (hdrdecode.c:412)
        - Fix for valgrind reported error/warning
              280 bytes in 35 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0827: safe_malloc (safemalloc.c:46)
              by 0x8105644: malloc_string (string.c:116)
              by 0x810587F: new_string2 (string.c:180)
              by 0x80C4D7B: hdr_comment (hdrdecode.c:272)
        - Fix for valgrind reported error/warning
              96 bytes in 12 blocks are definitely lost in loss 
                 record 11 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0833: safe_malloc (safemalloc.c:46)
              by 0x8105650: malloc_string (string.c:116)
              by 0x810588B: new_string2 (string.c:180)
              by 0x80C4F1F: hdr_phrase (hdrdecode.c:348)
        - Fix for valgrind reported error/warning
              224 bytes in 11 blocks are definitely lost in loss 
                 record 16 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0847: safe_malloc (safemalloc.c:46)
              by 0x81056D2: malloc_string (string.c:130)
              by 0x8106B98: dup_string (string.c:678)
              by 0x80DAD85: add_expanded_addr_ (outheaders.c:134)
        - Fix for valgrind reported error/warning
              24 bytes in 1 blocks are definitely lost in loss 
                 record 1 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F083B: safe_malloc (safemalloc.c:46)
              by 0x80C6887: update_header_list (headers.c:575)
              by 0x809C8BB: state_read_headers (parse_util.c:137)
              by 0x809C7C8: file_read_headers (parse_util.c:104)
              by 0x8076770: copy_message_2 (fileio.c:1048)
        - Fix for valgrind reported error/warning
              52 bytes in 5 blocks are definitely lost in loss 
                 record 6 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F087B: safe_malloc (safemalloc.c:46)
              by 0x8105706: malloc_string (string.c:130)
              by 0x81057CC: new_string (string.c:153)
              by 0x80DB167: make_surface_addr (outheaders.c:235)
              by 0x8059485: build_address_l (addr_util.c:452)
        - Fix for valgrind reported error/warning
              32 bytes in 4 blocks are definitely lost in loss record 5 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F089F: safe_malloc (safemalloc.c:46)
              by 0x81056BC: malloc_string (string.c:116)
              by 0x810627F: cat_strings (string.c:434)
              by 0x80C510B: hdr_text (hdrdecode.c:419)
              by 0x80C51E6: hdr_to_string (hdrdecode.c:462)
              by 0x80C5CC3: hdr_decode_from_text (headers.c:36)
              by 0x80C71C4: give_decoded_header (headers.c:816)
              by 0x809CB02: state_write_header (parse_util.c:197)
        - Fix for valgrind reported error/warning
              32 bytes in 4 blocks are definitely lost in loss record 5 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08B3: safe_malloc (safemalloc.c:46)
              by 0x8104DD1: alloc_simple (streamsched.c:1047)
        - Fix for valgrind reported error/warning
              16 bytes in 2 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08B3: safe_malloc (safemalloc.c:46)
              by 0x81056F8: malloc_string (string.c:116)
              by 0x810582C: new_string (string.c:153)
              by 0x807B350: enter_helper (in_utils.c:432)
              by 0x807BECE: optionally_enter2 (in_utils.c:863)
              by 0x807C01E: optionally_enter (in_utils.c:898)
        - Fix for valgrind reported error/warning
              16 bytes in 2 blocks are definitely lost in loss record 1 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F08CB: safe_malloc (safemalloc.c:46)
              by 0x80B33D7: cs_stream_from_ascii (cs_binary.c:1508)
              by 0x8107089: stream_from_string (string.c:799)
              by 0x807C049: optionally_enter (in_utils.c:909)
        - Fix for valgrind reported error/warning
              140 bytes in 1 blocks are definitely lost in loss record 13 of 24
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0996: safe_realloc (safemalloc.c:62)
              by 0x80E509D: mbx_prepare_read_pop (pop.c:1592)
        - Fix for valgrind reported error/warning
              15 bytes in 1 blocks are definitely lost in loss record 1 of 26
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F09A2: safe_realloc (safemalloc.c:62)
              by 0x80A1357: make_mailcap_arg (mailcap.c:918)
              by 0x80A1EF8: mailcap_view_command (mailcap.c:1319)
              by 0x80973A6: prompt_programs_1 (showmsg.c:131)
              by 0x8097587: prompt_programs_1 (showmsg.c:188)
              by 0x80975F1: prompt_programs (showmsg.c:211)
        - Fix for valgrind reported error/warning
              32 bytes in 2 blocks are definitely lost in loss record 5 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0933: safe_malloc (safemalloc.c:46)
              by 0x80C6973: update_header_list (headers.c:575)
              by 0x80C6D3F: read_folder_headers (headers.c:700)
              by 0x80D5771: prepare_message_access (mbox.c:1351)
        - Fix for valgrind reported error/warning
              8 bytes in 1 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F094F: safe_malloc (safemalloc.c:46)
              by 0x8105794: malloc_string (string.c:116)
              by 0x8106CC8: dup_string (string.c:678)
              by 0x812FEB5: sb_get_line_from_mem (sb_mem.c:69)
              by 0x8109A89: get_line_from_stringbuffer (stringbuffer.c:177)
              by 0x8067162: builtinplusplus (builtin++.c:176)
        - Fix for valgrind reported error/warning
              55 bytes in 2 blocks are definitely lost in loss record 6 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F099F: safe_malloc (safemalloc.c:46)
              by 0x80FDE2A: malloc_service_entry (service_list.c:198)
        - Fix for valgrind reported error/warning
              3 bytes in 1 blocks are definitely lost in loss record 1 of 25
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F099F: safe_malloc (safemalloc.c:46)
              by 0x81221FC: imap_got_header_line (imap.c:5794)
              by 0x8122863: mbx_copy_header_imap (imap.c:5991)
        - Fix for valgrind reported error/warning
              4050 bytes in 67 blocks are definitely lost in loss 
                  record 21 of 24
              at 0x4015E8A3: realloc (vg_clientfuncs.c:276)
              by 0x80F0A6E: safe_realloc (safemalloc.c:62)
              by 0x80E0025: elm_vmessage (output.c:1229)
              by 0x80E0881: elm_message (output.c:1460)
              by 0x8121F12: mbx_copy_envelope_imap (imap.c:5687)
        - Fix for valgrind reported error/warning
              9 bytes in 1 blocks are definitely lost in loss record 2 of 30
              at 0x4015E30F: malloc (vg_clientfuncs.c:103)
              by 0x80F0B37: safe_strdup (safemalloc.c:78)
              by 0x80FB31A: probe_imap_capa_lib (shared.c:1010)
        - Fix for valgrind reported error/warning
              40 bytes in 1 blocks are definitely lost in loss record 6 of 29
              at 0x4015E8A3: realloc (vg_clientfuncs.c:276)
              by 0x80F0A6E: safe_realloc (safemalloc.c:62)
              by 0x80E0209: elm_vmessage (output.c:1281)
              by 0x80E0881: elm_message (output.c:1460)
              by 0x4146ED0A: smtp_common_mailer_backend (smtp.c:1026)
        - Fix for valgrind reported error
           Invalid read of size 4
             at 0x80C0994: debug_level_check (debug.c:256)
             by 0x80F0B22: safe_realloc (safemalloc.c:69)
             by 0x80C08B1: set_debugging (debug.c:214)

Changes of Elm2.4ME+ PL101b (25) compared with Elm2.4ME+ PL101a (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch makes possible to set
                 incoming-mailbox = $USER@imap-sever on
                 elm.rc, fixes crash caused by certain
                 headers on .elm/elmheaders and
                 fixes another crash when displaying EUC
                 mail. Reply-To header on .elm/elmheaders
                 is no longer ignored.
        - "We're setting up Elm 2.4ME+ PL99b (25) for use as an 
           IMAP client to our mailserver, and I ran into a problem 
           when configuring the main elm.rc file.
           I wanted to be able to set the incoming-mailbox variable 
           to be $USER@engmail, so that by default users would be 
           prompted for a password, and mail would be retrieved from 
           their engmail account.
           However, when I set "incoming-mailbox = $USER@engmail" 
           and ran elm, I got:
              Cannot initialize "incoming-mailbox" - 
              error expanding "$USER@engmail".
           I traced the problem to the expand_path() routine in the 
           lib/expand.c file.  The environment variable expansion was 
           using '/' as its only delimiter, so that the $USER portion 
           wasn't being split off from the remainder of the path, and 
           the environment variable lookup failed.
           By adding '@' to the possible delimiters, the problem goes 
          away."
         From: Paul D. McKone <pdmckone@engmail.uwaterloo.ca>
        - Adding X-ELM-OSV, X-Mailer or Content-Name headers to
          .elm/elmheaders was causing crash (now they are ignored.)
        - Do not ignore reply-to header on .elm/elmheaders. 
         Problem noted by: Rui Aguiar <ruilaa@it.pt>
        - Fix crash
            ISO2022 PANIC in cs_iso2022.c:836:state_add_raw
             >>>Value not in range 0-255

Changes of Elm2.4ME+ PL101a (25) compared with Elm2.4ME+ PL101 (25)

        [ This patch is branch from the main line. ]
        SUMMARY: This patch fixes crash on internal mailcap parser
                 and on header editing screen.
        - Fix (harmless) error message
                bin/elmregister: [on_current] Bad command letter: s
          (occurs when upgrading version.)
        - Fix elmregister message 
                Keeping link .../elmuninstall.1 from old version (was (null))
        - Running of test= on internal mailcap parser was causing
          segmentation violation
        - Fix crash on header editing screen    

Changes of Elm2.4ME+ PL101 (25) compared with Elm2.4ME+ PL100 (25)

        Undo Elm2.4ME+ PL100a (25) patch before applying this patch.  
        SUMMARY: This release collects patch 100a, adds support
                 for changing title of xterm, changes installation
                 method (installed files are tracked during installation
                 and elmuninstall command is added) and enhances 
                 internal mailcap parser.
        - Configure did not generated mapping for iso_8859_1 
          locale (on SunOS).
         Problem noted by: Tommi Nieminen <Tommi.Nieminen@sonera.com>
        - Do not use tempnam() on lib/mailer.c so that linker
          do not produce warnings (actual checks for attacks
          are done safeopen_rdwr() -- this does not effect to that.)
        - Now elm supports changing title (and icon name) of xterm 
          window. Method to changing title must be specified
          on ~/elm/terminal.info or on global elm.terminalinfo
          like following:
                xterm   FLAG            xterm-title
                iris-ansi       FLAG    xwsh-title
         NOTE: Code currently assumes that title (and icon) are
          US-ASCII only. It is unclear how charsets are handled with
          xterm title (and icon) name.                 
        - New elmrc option set-window-title (default: OFF) enables 
          automatic changing of title (and icon) name when folder
          is changed.
        - Command line options --title-name and --icon-name
          can set xterm's window title and icon name. These options
          override automatic title/icon name updating specified with
          elmrc option set-window-title .
        - Command line option --with-title sets initial title for
          Elm. After changing folder title (and icon) name is updated
          same way as elmrc option set-window-title is sit. Giving
          just option --with-title without title it is possible to
          enable title updating without setting elmrc option
          set-window-title.
        - Added attachment-dir elmrc variable, which can be used
          as {doc}/ prefix on filename prompts.
        - {doc}/ is offered on attachment filename prompts as default
          if attachment-dir directory exists.
        > Meta expand provides:
                +filename       ==  file on mail folder directory
                =filename       ==  file on mail folder directory
                %filename       ==  file on mail folder directory
                {rc}/filename   ==  file on .elm subdirectory of home
                {lib}/filename  ==  file on Elm's global library directory
                {etc}/filename  ==  file on Elm's global configure directory
                {doc}/filename  ==  file on attachment-dir directory
          And also same epansions than expand_env():
                ~/filename      ==  file on home directory
                Environment variable components
        - If attachment-dir is not set and ~/Documents exists,
          then attachment-dir is set to ~/Documents.
        - {doc}/ is also added to file browser's default directory
        - "When I choose "f)orget" instead of "s)end" I abandon 
           writing/sending the current piece of email and get the 
           message:
           Message kept.  Can be restored at next f)orward, m)ail or r)eply.
           Well, when I choose "f" or "m" the saved text of the message 
           doesn't pop up."
         Problem noted by: Andrzej Marecki <amr@astro.uni.torun.pl>
        > Don't unlink temporary editor's work file if mail is
          abandon.
        - Fix case where file was "attached" when filename was not given.
        - Installed files are now tracked during installation.
          List of files is keep on $etc/elm.filelist. That is
          done with program elmregister. 
        - Added tool $lib/elmuninstall which can used to uninstall
          elm (without that source tree is available -- so that
          "make uninstall" can be used.)
        - Commands elmterminal, elmrc-write, elmunidata, elmcharset
          are now executed after installation. These commands are
          recorded to $etc/elm.filelist during installation.
          Source data for these commands are stored to stage
          directory (../var/stage-elm2.4me+) during installation.
          These recorded post-install commands are executed with 
          "elmregister replay" ("make install" does that automatically.)
        - Configure now asks that should it create "package" target
          to Makefile. Command
                make package ROOT=/directory
          can be used to install elm to directory /directory
          WITHOUT executing post-install command. Post installation
          commands are assumed to be executed with
                $lib/elmregister replay
          (if /directory is moved to / ie. final destination)
          Command 
                 /directory/$lib/elmregister replay -R /directory
          can be used to move files from /directory to / and
          execute post-install commands.
          That command is recorded to file
                /directory/README.PACKAGE.sh
          (if you move files from /directory to / you may want
           remove README.PACKAGE.sh first!)
        > If  'package' target is enabled, Configure assumes that 
          Elm 2.4ME+ is compiled for binary package distributes, 
          and do not store domainname as default domain.
        * In that case 'elm -v' says:
                Compiled for binary distribution.
                Send bug reports to packager of binary distribution.
        ( otherwise 'elm -v' says:
                Send bug reports to Kari Hurtta <hurtta+elm@ozone.FMI.FI>
                WARNING: Elm is not intended to be distributed in
                         binary form. 
        )
        - Command
                $lib/elmregister unstage
          may be used to uninstall temporary files from
          stage directory (../var/stage-elm2.4me+). After
          that command "elmregister replay" do not have effect.
        - "make install"  does "elmregister unstage" after
          "elmregister replay"
        - Fix case where elmunidata fails install unidata.bin
          when it does not exists.
        - Added to support to " and ' characters on internal
          mailcap parser (so these shell meta characters are 
          supported on mailcap entries). 
        - Added support for nametemplate on internal mailcap
          parser. Only templates what specify filename extension
          are supported.
        New command line options:
                --title-name=XXXXX
                --icon-name=XXXX
                --with-title=XXX
                --with-title
        New elmrc options:
                set-window-title
                attachment-dir
        New files:
                utils/elmregister.c
                hdrs/defs_major.h
                doc/prlong.1
                Makefile-1.SH
                utils/reghelper.c
                hdrs/reghelper.h
                doc/elmregister.1

Changes of Elm2.4ME+ PL100a (25) compared with Elm2.4ME+ PL100 (25)

        [ This patch is branch from the main line. ]
        - Configure did not generated mapping for iso_8859_1 
          locale (on SunOS).
         Problem noted by: Tommi Nieminen <Tommi.Nieminen@sonera.com>
        - Do not use tempnam() on lib/mailer.c so that linker
          do not produce warnings (actual checks for attacks
          are done safeopen_rdwr() -- this does not effect to that.)
        - "When I choose "f)orget" instead of "s)end" I abandon 
           writing/sending the current piece of email and get the 
           message:
           Message kept.  Can be restored at next f)orward, m)ail or r)eply.
           Well, when I choose "f" or "m" the saved text of the message 
           doesn't pop up."
         Problem noted by: Andrzej Marecki <amr@astro.uni.torun.pl>
        > Don't unlink temporary editor's work file if mail is
          abandon.

Changes of Elm2.4ME+ PL100 (25) compared with Elm2.4ME+ PL99 (25)

        Undo Elm2.4ME+ PL99a (25), Elm2.4ME+ PL99b (25)
        Elm2.4ME+ PL99c (25),  Elm2.4ME+ PL99d (25),
        Elm2.4ME+ PL99e (25) and Elm2.4ME+ PL99f (25) 
        patches before applying this patch.  
        WARNING: Changes on MIME handling. So please report new bugs 
                 which you observe...
        SUMMARY: This release collects patches 99a - 99f.
                 This release also adds (some) support for EUC charsets
                 and for mailcaps without using metamail. 
                 Mailcap support uses new elmrc option 
                 internal-mailcaps. This release also includes
                 various other changes.
        - There should not be Return-Path header visible
          on Pre-Send screen on Beginner user level.
        - For charset types utf-7, utf-8 and imap allow only
          "other-set" iso2022 bank specification.
        - Fix Segmentation fault with elm -D ISO-2022-JP
          when printing subject.
        - Handling of multipart/signed and
          multipart/encrypted was broken Elm2.4ME+ PL98 (25)
        > Problem noted by: Bruce Momjian
        - 'Configure -c FILE' reads FILE instead of config.sh
          (config.sh is written)
        - From (or To) name was not correctly clipped when
          used double width characters (ie. elm -D ISO-2022-JP)
        - Subject was incorrectly truncated when it included
          double wide characters (and was not highlighted)
        - Turns out that kterm suuports ISO-8859-1 -- actually
          builtin fontlist works. Added 
             "kterm   ISO-2022        ISO-8859-1"
          line to doc/terminal.info
        > Also note that initially kterm does NOT default to
          ISO-8859-1 -- therefore ISO-8859-1 works only when
          elm explicity switch to ISO-8859-1 (for example
          with 'elm -D ISO-8859-1')
        > To get best result give fontlist -fl option to
          kterm (example
             kterm -fl '-*-fixed-medium-r-normal--16-*-iso8859-*,\
             -*-*-medium-r-normal--16-*-c-*-iso8859-*,\
             -*-*-bold-r-normal--16-*-c-*-*.*-0'
          But that one line, removing \ and spaces.)
        - ConfTool/GenTerminalinfo is now able to add new
          charsets to existing terminal entries on bin/elm.terminalinfo
        - sh Configure -S and
          sh Configure -M now updates bin/elm.terminalinfo
          (and not only bin/elm.mimecharsets)
        - Whitespaces on end of lines of bin/elm.terminalinfo was causing
          parsing problems. Fixed similar problem on several
          parsing routine.
        - Fix panic with ISO-2022-JP text with message
                STRING PANIC in cs_iso2022.c:1757:add_char_stream
                >>>Bad control character 
          caused by mishandling of corrupted or unexpected input
        - Fixed some compilation warnings.
        - If metamail is called when using 'h' command
          (show headers), add KEYHEADS=* and KEYIGNHEADS= 
          to environment (causing metamail to print all headers)
        - Allow Unicode Format A maps to be space seperated
          (although they should be tab sebarated)
        - Inital bank settings was done incorrectly
        - Added support for EUC charsets (lib/cs_iso2022.c).
        - Terminal is now initialized to used charset even
          when switching of display charset is not asked.
        - "I'm working on updating the Debian elm-me+ package; a 
           number of patches have accumulated over the years, and 
           the first step seems to be integrating them with the 
           upstream release."
         From: Matej Vela <vela@debian.org>
        > Only very small part from that patch/patches is included
          on here:
        * shared_libs/iconv/config: Some typos fixed.
        * shared_libs/iconv/iconv.c: GNU libc 2.2 no longer uses const
          for iconv(3) args.
        * melib/pgp_decode.c: Default to GnuPG rather than PGP 5
          have_pgp() will return PGP 5 if PGP 5 and GnuPG is not installed
          (when GnuPG is used as default). When PGP 5 is used as default
          have_pgp() do not check GnuPG at all. 
        * "Configure: Linux standards (FSSTND, FHS) consider
           /usr/lib/sendmail obsolete and recommend /usr/sbin/sendmail:
           the former still exists as a symlink, so it's important to
           check for the latter first. "
          Also Sendmail Installation and Operation Guide says
          that binary is installed to /usr/sbin.
        * Fixed some typos. 
        * "Changed Makefiles to use $(MFLAGS) rather than $(MAKEFLAGS)
          for compatibility with older makes (e.g. 4.2BSD).  Modern
          makes which support $(MAKEFLAGS) pass it through the
          environment anyway; passing it explicitly will double the
          variable assignments on each level."
        * "Debian keeps the configuration files in /etc, so I've added
           support for a separate $etc directory.  It still defaults to
           $lib." 
        > Meta expand provides:
                +filename       ==  file on mail folder directory
                =filename       ==  file on mail folder directory
                %filename       ==  file on mail folder directory
                {rc}/filename   ==  file on .elm subdirectory of home
                {lib}/filename  ==  file on Elm's global library directory
                {etc}/filename  ==  file on Elm's global configure directory
          And also same epansions than expand_env():
                ~/filename      ==  file on home direccory
                Environment variable components
        - Do not remove $sendmail (SENDMAIL_MAILER_PATH) on Configure,
          if $mailer is some other.
        - Do not allow using /etc (or /etc/mail) as configuration 
          directory $etc. That may cause conflict with file $etc/aliases
          (with sendmail's file of same name.)
        - melib/pgp_decode.c: If reading of pgp/gpg result is
          interrupted, retry reading of it.
        -  shared_libs/tls/config: Try locate libssl from system directory
          Problem noted by: Matej Vela <vela@debian.org>
        -  shared_libs/iconv: Try locate libiconv from system library
        - Testing sendmail options with -bv
          is not posisible on sendmail 8.12 (if sendmail is 
          installed as setgid and mqueue is not accessible by user).
          Threfore do testing of options by sending mail
          to user instead!
        - Fixed some file descriptor leaks
         Problem noted by: Darren Reed <avalon@coombs.anu.edu.au>
        > Close file descriptor on load_locale_map()
          after reading elm.mimecharsets (.elm/mime.charsets).
        > Close file descriptor on load_terminal_map()
          after reading elm.terminalinfo (.elm/terminal.info)
        > Close file descriptor on get_unidata()
          after reading elm.map.bin/unidata.bin
        - "I don't believe it is closing the temporary file in 
           /tmp when it is no longer being used after sending an 
           email."
         Problem noted by: Darren Reed <avalon@coombs.anu.edu.au>
        > Add mailer close function which closes descriptor
          (out_state_destroy() do not close it)
        - mailer info was not correctly deleted/closed
          -- therefore submission mailer did not closed socket
             to smtp server
        - Configure: On Linux no additional libraries (for example
          -lintl) are not needed
        - "But I have a little problem with imap: When elm connects to 
           an IMAP server it first reads the list of messages and then 
           the list of headers (read_headers, copy_envelope_folder ...). 
           This takes a very long time: It starts with the UID=1 and 
           increases the UID until it finds the message."
          "With these UIDs the search for the first message runs a loop 
           from 1 to 337934011 which takes long! (imap.c line 5462-5477, 
           elm2.4ME+PL99c)"
          Problem noted by: Rainer Bawidamann <bawidama@users.sourceforge.net>
        > Added fix to imap code
        - Trying send pgp2 (signed or encrypted) message
          was causing crash.
        - If terminal was (mis?)using ti (enter_ca_mode) /
          te (exit_ca_mode) to change screen, error message
          from "elm -f bad-folder" was not visible.
        - Reduce sleep after "You seem to have ELM already reading this mail"
          because now message is visible also after elm is
          exited.
        - (function hdr_decode_from_phrase) Printing of headers 
          (which include phrases) was adding extra space between tokens 
          -- adding of spaces between tokens is not needed because separating 
          spaces (and comments) are not removed during parsing.
          This is visible on headers like
                In-reply-to: "Kari E. Hurtta's" message 
                             <elm2.4ME+/PL99d/1@ozone.FMI.FI> of 
                             "10 Nov 2002 12:04:00 +0200"        
        - Added one missing unlink() to error handling 
          on mime_decode.c
        - Removed space from end of some lines from MANIFEST
         Problem noted by: Matej Vela <vela@debian.org>
        - Fix panic on header editing screen on In-Reply-To:
           STRING PANIC in cs_binary.c:1043:cs_give_unicode_from_ascii
           >>>Index out of array                            
        - Header editing screen was not regognizing In-reply-to              
          if it only includes phrase (without message-id).
          In-reply-to header should include only message-id, but if
          but if only phrase is entered accept it (with warning as 
          usual.)
        - "Now I have another problem: The IMAP RFC says that for a 
           read-only folder the answer to the SELECT command MUST 
           contain the READ-ONLY flag while for a read-write folder 
           the response SHOULD contain the READ-WRITE flag. So the 
           default (if no flag is given) is read-write (elm has read-only 
           as default)."
         Problem noted by: Rainer Bawidamann <bawidama@users.sourceforge.net>
        > Assume folder to be writable just before calling SELECT
        - Free parser data on failure of mime_parser_parse()
        - Wait after error before calling exit() on init
          so that error messages are visible
        - Removed in_state_FILE()
        - Added some support mailcap support (without metmail).
          That uses elmrc variable "internal-mailcaps". List may be 
          space or ':' seperated. Separate values may be quoted. 
          Set value to "none" to disable internal mailcap support.
        NOTE: RFC 1343 (A User Agent Configuration Mechanism for 
              Multimedia Mail Format Information) is NOT followed.           
              RFC 1343 says:
                 Because  of  differences  in  shells  and  the
                 implementation  and  behavior  of  the  same  shell 
                 from one system to another, it is specified that the 
                 command line  be intended  as  input  to  the  Bourne  
                 shell, i.e. that it is implicitly preceded by "/bin/sh -c " 
                 on the command line.
             This is NOT done. Using of that may case that sender of mail 
             may execute command  by using shells special characters. Avoiding 
             of that requires carefull quotation of mailcap entries. And 
             correct quotation requires carefull parsing of Bourne shell 
             syntax.  And we do not really know if /bin/sh following  
             Bourne shell syntax or have on it some extensions.
             Only view command and test command is supported. And only
             if there is not any meta character of shell on there so it
             can executed directly. 
        - For internal mailcap processing, output of entries marked are with
          "copiousoutput" are piped back to Elm ME+. This may cause problems
          if output includes termianl escape sequences. 
        - Terminal is given for processing if entry is marked with "needsterminal".
        - Also "textualnewlines" should have processed. It is not.
        NOTE: You need metamail yet at least for handling of fragmented
              messages (ie. message/partial). (Metamail's showpartial
              command is required and showpartial calls metamail.)
        Following character sets are redefined on 
        lib/precompiled_sets.c:
                EUC-KR     type=euc
                EUC-JP     type=euc
                GB2312     type=euc     (ASCII + GB 2312-80, really EUC-CN) 
        Note that charset type=euc requires that mapping for unicode
        is available. Otherwise it does not know which characters
        are printable. On builtin definition there is only mapping
        for US-ASCII part (and ISO-8859-1 upper part) defined. 
        See chapter "ISO2022 maps information" for examples
        for other mappings.
        Removed empty files: (not in MANIFEST)
                hdrs/filter.h
                hdrs/s_filter.h
                lib/addrmchusr.c
                lib/iprintf.c
                lib/parsarpwho.c
                lib/tail_of.c
                nls/C/C/C/s_filter.m
                src/parse_util.c 
                src/pmalloc.c
                src/remailer.c
        New files:
                OBSOLETE
                melib/mailcap.c
                melib/mime_selector.c
        New elmrc options:
                internal-mailcaps

Changes of Elm2.4ME+ PL99f (25) compared with Elm2.4ME+ PL99e (25)

        [ This patch is branch from the main line. ]
        - Fix panic on header editing screen on In-Reply-To:
           STRING PANIC in cs_binary.c:1043:cs_give_unicode_from_ascii
           >>>Index out of array                            
        - Header editing screen was not regognizing In-reply-to              
          if it only includes phrase (without message-id).
          In-reply-to header should include only message-id, but if
          but if only phrase is entered accept it (with warning as 
          usual.)
        - "Now I have another problem: The IMAP RFC says that for a 
           read-only folder the answer to the SELECT command MUST 
           contain the READ-ONLY flag while for a read-write folder 
           the response SHOULD contain the READ-WRITE flag. So the 
           default (if no flag is given) is read-write (elm has read-only 
           as default)."
         Problem noted by: Rainer Bawidamann <bawidama@users.sourceforge.net>
        > Assume folder to be writable just before calling SELECT
        - Free parser data on failure of mime_parser_parse()

Changes of Elm2.4ME+ PL99e (25) compared with Elm2.4ME+ PL99d (25)

        [ This patch is branch from the main line. ]
        - Trying send pgp2 (signed or encrypted) message
          was causing crash.
        - If terminal was (mis?)using ti (enter_ca_mode) /
          te (exit_ca_mode) to change screen, error message
          from "elm -f bad-folder" was not visible.
        - (function hdr_decode_from_phrase) Printing of headers 
          (which include phrases) was adding extra space between tokens 
          -- adding of spaces between tokens is not needed because separating 
          spaces (and comments) are not removed during parsing.
          This is visible on headers like
                In-reply-to: "Kari E. Hurtta's" message 
                             <elm2.4ME+/PL99d/1@ozone.FMI.FI> of 
                             "10 Nov 2002 12:04:00 +0200"        
        - Added one missing unlink() to error handling 
          on mime_decode.c
        - Removed space from end of some lines from MANIFEST
         Problem noted by: Matej Vela <vela@debian.org>

Changes of Elm2.4ME+ PL99d (25) compared with Elm2.4ME+ PL99c (25)

        [ This patch is branch from the main line. ]
        - "I'm working on updating the Debian elm-me+ package; a 
           number of patches have accumulated over the years, and 
           the first step seems to be integrating them with the 
           upstream release."
         From: Matej Vela <vela@debian.org>
        > Only very small part from that patch/patches is included
          on here:
        * shared_libs/iconv/config: Some typos fixed.
        * shared_libs/iconv/iconv.c: GNU libc 2.2 no longer uses const
          for iconv(3) args.
        * melib/pgp_decode.c: Default to GnuPG rather than PGP 5
          have_pgp() will return PGP 5 if PGP 5 and GnuPG is not installed
          (when GnuPG is used as default). When PGP 5 is used as default
          have_pgp() do not check GnuPG at all. 
        - melib/pgp_decode.c: If reading of pgp/gpg result is
          interrupted, retry reading of it.
        -  shared_libs/tls/config: Try locate libssl from system directory
          Problem noted by: Matej Vela <vela@debian.org>
        -  shared_libs/iconv: Try locate libiconv from system library
        - Testing sendmail options with -bv
          is not posisible on sendmail 8.12 (if sendmail is 
          installed as setgid and mqueue is not accessible by user).
          Threfore do testing of options by sending mail
          to user instead!
        - Fixed some file descriptor leaks
         Problem noted by: Darren Reed <avalon@coombs.anu.edu.au>
        > Close file descriptor on load_locale_map()
          after reading elm.mimecharsets (.elm/mime.charsets).
        > Close file descriptor on load_terminal_map()
          after reading elm.terminalinfo (.elm/terminal.info)
        > Close file descriptor on get_unidata()
          after reading elm.map.bin/unidata.bin
        - "I don't believe it is closing the temporary file in 
           /tmp when it is no longer being used after sending an 
           email."
         Problem noted by: Darren Reed <avalon@coombs.anu.edu.au>
        > Add mailer close function which closes descriptor
          (out_state_destroy() do not close it)
        - mailer info was not correctly deleted/closed
          -- therefore submission mailer did not closed socket
             to smtp server
        - Configure: On Linux no additional libraries (for example
          -lintl) are not needed
        - "But I have a little problem with imap: When elm connects to 
           an IMAP server it first reads the list of messages and then 
           the list of headers (read_headers, copy_envelope_folder ...). 
           This takes a very long time: It starts with the UID=1 and 
           increases the UID until it finds the message."
          "With these UIDs the search for the first message runs a loop 
           from 1 to 337934011 which takes long! (imap.c line 5462-5477, 
           elm2.4ME+PL99c)"
          Problem noted by: Rainer Bawidamann <bawidama@users.sourceforge.net>
        > Added possible fix (not tested) to imap code
        Removed empty files: (not in MANIFEST)
                hdrs/filter.h
                hdrs/s_filter.h
                lib/addrmchusr.c
                lib/iprintf.c
                lib/parsarpwho.c
                lib/tail_of.c
                nls/C/C/C/s_filter.m
                src/parse_util.c 
                src/pmalloc.c
                src/remailer.c
        New files:
                OBSOLETE

Changes of Elm2.4ME+ PL99c (25) compared with Elm2.4ME+ PL99b (25)

        [ This patch is branch from the main line. ]
        - Handling of multipart/signed and
          multipart/encrypted was broken Elm2.4ME+ PL98 (25)
        > Problem noted by: Bruce Momjian

Changes of Elm2.4ME+ PL99b (25) compared with Elm2.4ME+ PL99a (25)

        [ This patch is branch from the main line. ]
        - Fix panic with ISO-2022-JP text with message
                STRING PANIC in cs_iso2022.c:1757:add_char_stream
                >>>Bad control character 
          caused by mishandling of corrupted or unexpected input
        - Fixed some compilation warnings.

Changes of Elm2.4ME+ PL99a (25) compared with Elm2.4ME+ PL99 (25)

        [ This patch is branch from the main line. ]
        - There should not be Return-Path header visible
          on Pre-Send screen on Beginner user level.
        - Fix Segmentation fault with elm -D ISO-2022-JP
          when printing subject.
        - From (or To) name was not correctly clipped when
          used double width characters (ie. elm -D ISO-2022-JP)
        - Subject was incorrectly truncated when it included
          double wide characters (and was not higlighted)
        - Turns out that kterm supports ISO-8859-1 -- actually
          builtin fontlist works. Added 
             "kterm   ISO-2022        ISO-8859-1"
          line to doc/terminal.info
        > Also note that initially kterm does NOT default to
          ISO-8859-1 -- therefore ISO-8859-1 works only when
          elm explicity switch to ISO-8859-1 (for example
          with 'elm -D ISO-8859-1')
        > To get best result give fontlist -fl option to
          kterm (example
             kterm -fl '-*-fixed-medium-r-normal--16-*-iso8859-*,\
             -*-*-medium-r-normal--16-*-c-*-iso8859-*,\
             -*-*-bold-r-normal--16-*-c-*-*.*-0'
          But that one line, removing \ and spaces.)
        - ConfTool/GenTerminalinfo is now able to add new
          charsets to exitings terminal entries on bin/elm.terminalinfo
        - sh Configure -S and
          sh Configure -M now updates bin/elm.terminalinfo
          (and not only bin/elm.mimecharsets)
        - Whitespaces on end of lines of bin/elm.terminalinfo was causing
          parsing problems. Fixed similar problem on several
          parsing routine.

Changes of Elm2.4ME+ PL99 (25) compared with Elm2.4ME+ PL98 (25)

        Undo Elm2.4ME+ PL98a (25), Elm2.4ME+ PL98b (25)
        Elm2.4ME+ PL98c (25) patches before applying 
        this patch.  
        WARNING: Changes on address and terminal MIME handling. So 
                 please report new bugs which you observe...
        SUMMARY: This release adds users to possibility to specify
                 envelope sender address (aka Return-Path). There
                 is suboption allow-set-sender=yes on global elm.rc's
                 mailer option for that. Envelope sender address
                 can be given on .elm/elmheaders file as Return-Path
                 header. Another new elmrc option is convert-utf-header. 
                 This release also adds (some) support for ISO 2022 as 
                 MIME charsets. This includes multibyte and double wide 
                 ISO 2022 characters. This release fixs also some bugs.
        - On elm.rc mailer variable option allow-set-sender=yes 
          for mailer type 'sendmail' allows user to set
          envelope sender address (aka Return Path). This
          is passed to sendmail via -f command line option.
        - On elm.rc mailer variable option allow-set-sender=yes 
          for mailer types 'sendmail-bs' and 'submission' 
          allows user to change envelope sender address 
          (aka Return-Path). These mailers use envelope sender
          address on MAIL FROM:<xxxx> smtp command. 
        - pre-send menu have now title "Mail Pre-Send Screen".
          Also screen is cleared before showing menu.
        - To header is now visible on "Mail Pre-Send Screen"
        - Envelope sender (aka MAIL FROM) is visible
          on "Mail Pre-Send Screen" as Return-path.
          Return-path is shown if envelope sender is
          changeable. 
        - If mailer (for example 'submission' and
          'sendmail-bs') passes MAIL FROM always it
          is printed (as Return-path) on "Mail Pre-Send Screen"
          anyway.
        - Envelope sender is written as Return-path: -header to
          saved copy of mail (and also to "From " separator of mails).
        - Envelope sender address can be given on .elm/elmheaders
          as Return-path: -header.
        - If global elm.rc option add-sender is set (default),
          Elm adds Sender: -header if user changes envelope
          sender address (aka Return-Path).
        - For b)ounce command .elm/elmheaders is now read
          to get envelope sender address (aka Return-Path).
          Note however that content of .elm/elmheaders is NOT put
          to b)ounced mail.
        NOTE: Is is not possible currently to use elm
              aliases to Return-Path: query on Mail Pre-Send Screen
              (altough elm aliases work on To: query on same screen)
        - fastmail command now reads .elm/elmheaders and append these 
          headers to mail. Also  envelope sender address
          (aka Return-Path) is updated.
        - Configure -DDEBUG -S
          can now used to enable debugging (in other
          words reconfiguration is not needed)
        - Moved from_addr_literal() from src/addr_util.c
          to lib/outheaders.c
        - Moved make_from_addr() from src/addr_util.c
          to lib/outheaders.c
        - Moved write_addr_header() and write_text_header()
          from src/addr_util.c to lib/write_hdr.c
        - Moved print_EOLN() from src/mime_encode.c to
          lib/write_hdr.c
        - Moved write_id_phrase_header() and write_string_header()
          from src/id_phrace.c to lib/id_phrace.c
        - Moved dump_expanded_address() from  src/addr_util.c
          to lib/outheaders.c
        - Moved argv_from_headers() from  src/addr_util.c 
          to lib/mailer.c
        - Moved eval_backquote() from src/mkhdrs.c to lib/outheaders.c
        - Moved read_header_line() and state_read_hdr_line() from 
          melib/parse_util.c to lib/headers.
        - fastmail also recognices $BCC environment variable
        - fastmail now does mime encoding for some headers
          (but otherwise fastmail still does not support MIME)    
        - "since a number of releases frm doesn't detect status 
           new correctly for me (Linux 2.4.18, elm2.4.ME+.98)."
         Problem noted by: Jan Willamowius <jan@willamowius.de>
        > Changed utils/from.c logic same than src/newbox.c       
        NOTE: Fastmail is still broken.
        - Be consistent and use everywhere #ifndef ANSI_C
          around of extern int errno;
        - Added walk parameter to mime_parse_content_opts()
        - Our non-standard headers was ignored:
          * X-ELM-OSV: hdr-charset=xxxx    was ignored
          * Content-Length: xxxx           was ignored
        - fastmail did not read standard input when -
          was specified as filename.
        - Elm ME+ failed to read IMAP mail when Return-Path included 
          (unquoted) space  on address.
         Problem noted by: graham@cplane.com
        - copy_message_2() lost header name when folding happeded
          immediately after header name (that specially was visible
          on copy of sent message when phrase was long.)
        - optionally_enter() was using wrong charset on
          some situation (ie. 'keyboard charset' instead of
          display charset)
        - Do not split UTF-8 to mime encoded words on middle of
          multi-byte UTF-8 character
        - Textual form ('surfcase form') of entered address
          is now "struct string" instead of "char *" -- that
          implies quite much changed on header editing screen
          and elsewhere.
        NOTE: Now if addressess are edited, phrases and comments
              on addresses to text-charset (if mapping of text-charset
              is known)
              If there is non-ascii parts on addresses (which is
              illegal) they may be presendted with UTF-8 charset.
        - open_mapname(), set_charmap_copy_callback() moved 
          from lib/cs_binary.c to lib/iso2022_map.c
        - parser for Unicode Format A maps is moved to
          lib/iso2022_map.c
        - Added support for ISO-2022 charsets (lib/cs_iso2022.c).
        - Added support for new config files {lib}/elm.iso2022sets 
          and ~/.elm/iso2022.sets. See chapter  "ISO2022 maps information"
          for details.
        - New elmrc option convert-utf-header specifies if set (default) 
          that UTF-7 charset should be favored instead of UTF-8 on headers.
          That avoid ridiculous per character expansion of encoding when
          UTF-8 is used on MIME encoded words. 
        - Do not =xx encode + character on MIME encoded words.
        - Clear screen before calling external pager
        - Fix bogus message (which occured on some cases)
                [ Charset US-ASCII unsupported, converting... ]
        - Configure can now add new terminal definitions to exiting 
          elm.terminalinfo from doc/terminal.info
        - Delay stat()ing directory entries on file browser to
          situation where flags are needed.
        - Directory browser was using / on end of directory names
          and therefore did not found names from listing
          - effectely local-fast-lookup = OFF was not working.
        Following character sets are redefined on 
        lib/precompiled_sets.c:
                ISO-2022-KR     type=iso2022
                ISO-2022-JP     type=iso2022
                ISO646-JP       type=iso646
                ISO-2022-JP-2   type=iso2022
                ISO-2022-CN     type=iso2022            (1)
                ISO-2022-CN-EXT type=iso2022            (1) (2)
                (1) NOTE: Does not use single shifts!
                (2) NOTE: ISO-2022-CN-EXT includes several sets
                          which final designation byte is unknown
                          GB 12345, GB 7589, GB 13131, GB 7590,
                          GB 13132
        Note that charset type=iso2022 requires that mapping for unicode
        is available. Otherwise it does not know which characters
        are printable. On builtin definition there is only mapping
        for US-ASCII part and ISO-8859-1 upper part (on ISO-2022-JP-2)
        defined. See chapter "ISO2022 maps information" for examples
        for other mappings.
        WARNING: There is no support for input of these scripts.
                 Seems that locales use EUC charsets. These are not
                 supported.
        New elmrc options:
                convert-utf-header
        New tools:
                elmstringconvert
        New files:
                lib/write_hdr.c
                lib/cs_iso2022.c
                lib/iso2022_map.c
                hdrs/cs_terminal.h
                lib/stringtok.c
                utils/elmstringconvert.c
                doc/elmstringconvert.1
                ConfTool/GenTerminalinfo
        Removed files:
                src/id_phrase.c

Changes of Elm2.4ME+ PL98c (25) compared with Elm2.4ME+ PL98b (25)

        [ This patch is branch from the main line. ]
        - copy_message_2() lost header name when folding happeded
          immediately after header name (that specially was visible
          on copy of sent message when phrase was long.)
        - Elm ME+ failed to read IMAP mail when Return-Path included
          (unquoted) space  on address.
         Problem noted by: graham@cplane.com
        - fastmail did not read standard input when -
          was specified as filename.
        - optionally_enter() was using wrong charset on
          some siutation (ie. 'keyboard charset' instead of
          display charset) -- this specially effects -Dutf-8 option.
        - Do not split UTF-8 to mime encoded words on middle of
          multi-byte UTF-8 character

Changes of Elm2.4ME+ PL98b (25) compared with Elm2.4ME+ PL98a (25)

        [ This patch is branch from the main line. ]
        - Our non-standard headers was ignored:
          * X-ELM-OSV: hdr-charset=xxxx    was ignored
          * Content-Length: xxxx           was ignored

Changes of Elm2.4ME+ PL98a (25) compared with Elm2.4ME+ PL98 (25)

        [ This patch is branch from the main line. ]
       - "since a number of releases frm doesn't detect status
          new correctly for me (Linux 2.4.18, elm2.4.ME+.98)."
        Problem noted by: Jan Willamowius <jan@willamowius.de>
       > Changed  utils/from.c logic same than on src/newbox.c       

Changes of Elm2.4ME+ PL98 (25) compared with Elm2.4ME+ PL97 (25)

        Undo Elm2.4ME+ PL97a (25), Elm2.4ME+ PL97b (25)
        Elm2.4ME+ PL97c (25) and Elm2.4ME+ PL97d (25)
        patches before applying this patch.             
        WARNING: Quite lot of changes on MIME handling. So 
                 please report new bugs which you observe...
        * "What would be practical is that elmrc would set the usual
           address, but the user could override it by setting a user
           defined header when ie. posting to a mailing list."
         Requested by: Jernej Zajc <nejc@rubisco.com>
        - now .elm/mailheaders is read before mail is composed!
          .mailheaders now supports only X- headers and
          From: -header. X- header is shown on header
          editing screen as user defined header (and if you
          change it, it replaces headers given on .elm/mailheaders.)
        - If user gives From: -header on .mailheaders (or on
          header editing screen), Elm does not add it's own
          From: -header
        - 8-bit X- headers on .elm/mailheaders is now mime encoded.
        - Mime encoding on .elm/mailheaders is also regognized
        - If nohdrencoding is set on elmrc, MIME encoding is not
          done and not regognized on .elm/mailheaders. Also
            X-ELM-OSV: no-hdr-encoding=1
          is added to mail.
        - Added global elm.rc option add-sender. If set (default),
          Elm adds Sender: -header if user specifies From: -header.
          If there is more than one address on From: -header,
          Sender: -header is always added.
        - With 'f' command it is possible to change or set From:
          header on header editing screen. However header editing
          screen shows From -header only when it is set.
        - Moved some routines from src/id_phrase.c to lib/id_phrase.c 
        - Moved some routines from src/addr_util.c to lib/outheaders.c
        - binary flag was incorrectly set true (result on change
          on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers
          was always encoded with  CRLF (and not LF) when
          mail was saved (or C)opied.)
        - Truncate long folder names on Reading ... message so
          that there is space left for "skipped" text.
          ( Small potential fix for "Reading in ..., message: xxx" 
            counter. )
        - Configure now ask option for position independent code.
          Decision is half automatic.
        - Added elmrc variable type rc_DT_PATH.
        - Added elmrc variable metamail-mailcaps. List of mailcaps 
          for metamail. List may be space or ':' seperated. Separate 
          values may be quoted. When metamail is called values are 
          put to variable $MAILCAPS (as ':' -separated list).
          metamail-mailcaps may include variables (for example 
          $MAILCAPS). Value of variables is splitted only from ':' 
          (quotes and spaces are not treated specially.)
        - binary flag was incorrectly set true (result on change
          on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers
          was always encoded with  CRLF (ant not LF) when
          mail was saved (or C)opied.)
        - Truncate long folder names on Reading ... message so
          that there is space left for "skipped" text.                  
        - "I cannot get PL97 to compile on OpenBSD. "
          "service_list.o: Undefined symbol `_get_option_type' 
           referenced from text segment"
         Reported by: Jernej Zajc <nejc@rubisco.com>
        - "the new release of elm2.4.ME+.97 has a
           compilation problem on AIX 4.3.3"
          "ld: 0711-317 ERROR: Undefined symbol: .get_option_type"
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Make sure that get_option_type is inside of #ifdef USE_DLOPEN
        - Wrong answer to question "Any additional libraries"      
          causes failure on "Trying locate terminfo routines"
          part.
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Detect failure with libraries earlier.
        - Wrong default was used for question "Both <term.h> and 
          <curses.h>  found. Which one I should include for prototypes
          of tgetent() like functions when using $termlib." on
          IRIX 64.
         "To determine 'uname_os' you use 'uname -s' and on my host,
          the value returned is 'IRIX64' and not 'IRIX'.  Accordingly,
          I get the default, [t] !!!!"
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Use IRIX* instead of IRIX on case switch
        - In IRIX Configure pics non-existing or unworking
          additional libraries.
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Use compilation on test -- hopefully this does
          not break on some OSes because interdepency of libs.
        - RPATH was not set for answer, elmalias, fastmail, frm,
          newalias, newmail, readmsg, prlong, elmcharset, elmrc-write,
          elmterminal, elmunidata. (Normally that that did not
          caused problem because to soname was compiled full path
          of shared library.)
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        - "As indicated in my mail from the 11th of February, when 
           both <curses.h> and <term.h> are included for 
           "prototypes of tgetent() like functions when using
           -ltermlib", I receive an error.  When selecting option 'c' 
          (Include only <curses.h>), it compiles without error."
         Reported by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Changed default from b)oth to c)urses.h only for
          IRIX.
        - Allow "none"  as value of roff
        - Possible shared library generation fix for
          OpenBSD. This is not tested, so quite probably it 
          does not work.
         Problem noted by:  Jernej Zajc <nejc@rubisco.com> 
        - If there libintl.so (from GNU gettext) installed 
          to /usr/local/lib on IRIX 6.5, Elm tries link
          agaist that. That causes problems.
        Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Set libswanted list to empty for IRIX 6.x
          (Configure later adds -lc_s to list but hopefully that
           does not matter.)
        - "Oh, yeah, the install program ask about if a call to the 'GNU' 
           ispell spelling checker should be added, but the ispell program 
           is not GNU, even though they do make it available for FTP as well 
           as other sites."
         Problem noted by: Brian Waters <jbw@InnovaSystems.com>
        - "Ah.. ok.. great,  would it make any sense to make the 
           p)rint be the same as P)rint for now as a build option.
           The users here are used to just hitting 'p', and almost 
           always do not mean to print the mime as text. "
         Requested by: Brian Waters <jbw@InnovaSystems.com>
        > Disable p)rint command (try P)rint text instead.)
          p)rint command does something like "readmsg | {print-command}".
          readmsg is quite broken.
        - readmsg didn't handle folders with CRLF as EOLN
          (Notice that readmsg is still several ways broken.)
         Problem noted by: Konstantinides, Konstantinos <k.konstantinides@cirrus.com>
        - Added lib/mediatype.c 
        - Support for message/X-delivery-status-* type dropped
          (use message/delivery-status instead.)
        - Added melib/mparser.c, melib/mpar_rfc822.c,
          melib/mpar_multipart.c, melib/mpar_leaf.c,
          hdrs/mpar_imp.h      
        - "Parsing MIME structure..." is now printed for all mail
          -- not only for multipart (and message/rfc822) mails.
        - Attachment Menu now show structure of mail when
          viewing mail -- It's title is now: MIME structure Menu        
        - When sending mail do not use 7bit/8bit to determine is
          type text orienteed
        - Added warning "7bit/8bit is allowed only for line orienteed types -- 
          check encoding" to attachment modifying
        New elmrc options:
                add-sender
                metamail-mailcaps
        New files:
                lib/outheaders.c
                lib/id_phrase.c
                lib/mediatype.c
                melib/mparser.c
                melib/mpar_rfc822.c
                melib/mpar_multipart.c
                melib/mpar_leaf.c
                hdrs/mpar_imp.h

Changes of Elm2.4ME+ PL97d (25) compared with Elm2.4ME+ PL97c (25)

        [ This patch is branch from the main line. ]
        - If there libintl.so (from GNU gettext) installed 
          to /usr/local/lib on IRIX 6.5, Elm tries link
          agaist that. That causes problems.
        Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Set libswanted list to empty for IRIX 6.x
          (Configure later adds -lc_s to list but hopefully that
           does not matter.)
        - "Oh, yeah, the install program ask about if a call to the 'GNU' 
           ispell spelling checker should be added, but the ispell program 
           is not GNU, even though they do make it available for FTP as well 
           as other sites."
         Problem noted by: Brian Waters <jbw@InnovaSystems.com>
        - "Ah.. ok.. great,  would it make any sense to make the 
           p)rint be the same as P)rint for now as a build option.
           The users here are used to just hitting 'p', and almost 
           always do not mean to print the mime as text. "
         Requested by: Brian Waters <jbw@InnovaSystems.com>
        > Disable p)rint command (try P)rint text instead.)
          p)rint command does something like "readmsg | {print-command}".
          readmsg is quite broken.
        - readmsg didn't handle folders with CRLF as EOLN
          (Notice that readmsg is still several ways broken.)
         Problem noted by: Konstantinides, Konstantinos <k.konstantinides@cirrus.com>

Changes of Elm2.4ME+ PL97c (25) compared with Elm2.4ME+ PL97b (25)

        [ This patch is branch from the main line. ]
        - Wrong answer to question "Any additional libraries"      
          causes failure on "Trying locate terminfo routines"
          part.
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Detect failure with libraries earlier.
        - Wrong default was used for question "Both <term.h> and 
          <curses.h>  found. Which one I should include for prototypes
          of tgetent() like functions when using $termlib." on
          IRIX 64.
         "To determine 'uname_os' you use 'uname -s' and on my host,
          the value returned is 'IRIX64' and not 'IRIX'.  Accordingly,
          I get the default, [t] !!!!"
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Use IRIX* instead of IRIX on case switch
        - In IRIX Configure pics non-existing or unworking
          additional libraries.
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Use compilation on test -- hopefully this does
          not break on some OSes because interdepency of libs.
        - RPATH was not set for answer, elmalias, fastmail, frm,
          newalias, newmail, readmsg, prlong, elmcharset, elmrc-write,
          elmterminal, elmunidata. (Normally that that did not
          caused problem because to soname was compiled full path
          of shared library.)
         Problem noted by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        - "As indicated in my mail from the 11th of February, when 
           both <curses.h> and <term.h> are included for 
           "prototypes of tgetent() like functions when using
           -ltermlib", I receive an error.  When selecting option 'c' 
          (Include only <curses.h>), it compiles without error."
         Reported by: "Noam G. Nudelman" <noam@mail.biu.ac.il>
        > Changed default from b)oth to c)urses.h only for
          IRIX.
        - Allow "none"  as value of roff
        - Possible shared library generation fix for
          OpenBSD. This is not tested, so quite probably it 
          does not work.
         Problem noted by:  Jernej Zajc <nejc@rubisco.com> 

Changes of Elm2.4ME+ PL97b (25) compared with Elm2.4ME+ PL97a (25)

        [ This patch is branch from the main line. ]
        - binary flag was incorrectly set true (result on change
          on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers
          was always encoded with  CRLF (ant not LF) when
          mail was saved (or C)opied.)
        - Truncate long folder names on Reading ... message so
          that there is space left for "skipped" text.                  

Changes of Elm2.4ME+ PL97a (25) compared with Elm2.4ME+ PL97 (25)

        [ This patch is branch from the main line. ]
        - Fix state_printf panic "Embedded newlines are not supported"
          on case when there is on ~/.elm/elmheaders
          `backticked` command which produces output which does not
          fit to 80 characters.
        - "I cannot get PL97 to compile on OpenBSD. "
          "service_list.o: Undefined symbol `_get_option_type' 
           referenced from text segment"
         Reported by: Jernej Zajc <nejc@rubisco.com>
        - "the new release of elm2.4.ME+.97 has a
           compilation problem on AIX 4.3.3"
          "ld: 0711-317 ERROR: Undefined symbol: .get_option_type"
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Make sure that get_option_type is inside of #ifdef USE_DLOPEN
        - Error on X-ELM-OSV: header output.

Changes of Elm2.4ME+ PL97 (25) compared with Elm2.4ME+ PL96 (25)

        Undo Elm2.4ME+ PL96a (25) and Elm2.4ME+ PL96b (25)
        patches before applying this patch.
        - If several entries on .elm/mail.services or on
          elm.mailservices matches for connection request, merge
          them (before use).
          If conflicting connection types are specified, then only
          later entry on file is used. For example on
                cyrus   IMAP    port=143
                cyrus   POP
          only POP entry is used (ie. connection to server "cyrus"
          is done with POP).
        - Split show_status() to two routine:
          show_message_status() and show_alias_status();
        - Added prepare_message_access() routine
        - Added elmrc option imap-max-download-size (default 4 KB).
          IMAP messages bigger than this are not downloaded when
          mailbox is read. Value -1 for imap-max-download-size
          causes that all messages are downloaded. 
        - Added elmrc option pop-max-download-size (default 4 KB).
          POP messages bigger than this are not downloaded when
          mailbox is read. This requires that POP server supports
          TOP command. Value -1 for pop-max-download-size
          causes that all messages are downloaded. 
        - ! character as second letter on message status indicates 
          that message is not downloaded.
        - Note that for readmsg only tagged messages and current 
          message is downloaded before starting program.
        - Test whatever make sets $(MAKE)
        - If elm's shared library directory is on /etc/ld.so.conf
          file ldconfig prints warnings like
          "ldconfig: warning: can't link /usr/local/elmtest/lib//usr/local/elmtest/lib/libelmme-iconv.so.1.0.96x.Test to libelmme-iconv.so.1.0.96x.Test (No such file or directory)"
        > Now Configure prints following kind warning on that situation:
        "WARNING: Directory /usr/local/elmtest/lib is listed on file /etc/ld.so.conf
                  Linux ldconfig gives errors when soname include pathnames.
         Select
              c) Change elm2.4me+ shared library location
              o) Omit pathname from soname
              i) ignore ldconfig warnings and include path on soname
         Your selection? [i]"
        - Install (link) manual page for nfrm
        - Set default attachment type to application/octet-stream instead of 
          text/plain, if file looks like binary.
         Requested by: Volker Englisch <envo01@stupsi.org>
        > Move adding of charset to same function (attach_info).
        - m)odify command on attachment menu allowed to set
          content-transfer-encoding to bad values.
        - Metamail can not cope with CRLF
         Problem noted by: Konstantinos Konstantinides <kk@corp.cirrus.com>
        - When using b)ounce command, mailer = submission 
          did not issued EHLO/HELO command to server.
        - Do not use state_printf to print prefix on src/fileio.c
          (instead use state_puts).
        - C)opy command failed copy Subject: header which
          included 8-bit characters when display charset was UTF-8
        > Also use state_nlputs (and not state_printf) to print
          end of header so that conversions via display charset
          does not occur...
        - Some places use state_nlputs so that potential LF -> CRLF 
          conversions occur
        - Fix typo on "elm -vv" output when SYSCALL_LOCKING is
          not defined: "in" => "is"
        - Added elmrc variable default-mime-text-charset,
          which specifies default charset for text/plain if
          charset parameter is not specified. Default is 
          "US-ASCII".
         Prompted by: Tommi Nieminen <Tommi.Nieminen@sonera.com>        
        - "I wonder is there a command like <TAB> in mutt that 
           would make current next unread message? "n" only changes 
           to next message, regardless whether it has been read or 
           not. If I have missed it and is indeed not available, 
           would you consider adding such a feature? It would really 
           have been awfully nice."
          Prompted by: Jernej Zajc <nejc@rubisco.com>
        > Added Ctrl-N as next unread message
        - CHARTYPE_Sk was incorrect on hdrs/unidata.h (should be
          0x4003, was 0x3003). Regeneration of 
          {lib}/elm.map.bin/unidata.bin is required. This caused
          (for example) that ^ was not treated as valid character.
        - If Configure does not figure how to resolve mail program (ie. main) 
          symbols from dynamic library, do not compile libelmme-smtp.so
        New elmrc options:
                imap-max-download-size  
                pop-max-download-size
                default-mime-text-charset

Changes of Elm2.4ME+ PL96b (25) compared with Elm2.4ME+ PL96a (25)

        [ This patch is branch from the main line. ]
        - Test whatever make sets $(MAKE)
        - If elm's shared library directory is on /etc/ld.so.conf
          file ldconfig prints warnings like
          "ldconfig: warning: can't link /usr/local/elmtest/lib//usr/local/elmtest/lib/libelmme-iconv.so.1.0.96x.Test to libelmme-iconv.so.1.0.96x.Test (No such file or directory)"
        > Now Configure print following kind warning on that situation:
        "WARNING: Directory /usr/local/elmtest/lib is listed on file /etc/ld.so.conf
                  Linux ldconfig gives errors when soname include pathnames.
         Select
              c) Change elm2.4me+ shared library location
              o) Omit pathname from soname
              i) ignore ldconfig warnings and include path on soname
         Your selection? [i]"
        - Install (link) manual page for nfrm
        - Set default attachment type to application/octet-stream instead of 
          text/plain, if file looks like binary.
         Requested by: Volker Englisch <envo01@stupsi.org>
        > Move adding of charset to same function (attach_info).
        - m)odify command on attachment menu allowed to set
          content-transfer-encoding to bad values.

Changes of Elm2.4ME+ PL96a (25) compared with Elm2.4ME+ PL96 (25)

        [ This patch is branch from the main line. ]
        - Metamail can not cope with CRLF
         Problem noted by: Konstantinos Konstantinides <kk@corp.cirrus.com>
        - When using b)ounce command, mailer = submission 
          did not issued EHLO/HELO command to server.
        - Do not use state_printf to print prefix on src/fileio.c
          (instead use state_puts).
        - C)opy command failed copy Subject: header which
          included 8-bit characters when display charset was UTF-8
        > Also use state_nlputs (and not state_printf) to print
          end of header so that conversions via display charset
          does not occur...
        - Some places use state_nlputs so that potential LF -> CRLF 
          conversions occur
        - Fix typo on "elm -vv" output when SYSCALL_LOCKING is
          not defined: "in" => "is"

Changes of Elm2.4ME+ PL96 (25) compared with Elm2.4ME+ PL95 (25)

        You need create directories
                charset/MAPPINGS
                charset/MAPPINGS/ISO8859
                shared_libs/smtp
        befre applying this patch.
        Undo Elm2.4ME+ PL95a (25), Elm2.4ME+ PL95b (25)
        and Elm2.4ME+ PL95c (25) patches before applying this patch.
        - Do not use commands "mail" or "mailx" as mailer.
        - Allow specify "none" as mailer on configuration time
          (that requires that mailer is given on global elm.rc
           on run time.)
        - Configure failed to locate terminfo routines (ie. termlib) 
          on Linux Mandrake 7.2. Test rewritten.
        - Added -b (batchmode) option to Configure 
          -- avoids all prompting of user
        - "Using PL95 with the two patches you send me, I encountered the 
           following problem when searching for a string in a mail message:
           Search: Noam
           Couldn't malloc 0 bytes!!"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Avoid mallocing 0 legth buffer on find_pattern_from_string()
        - Some documentation fixes.
        - Remove d_savegrpmboxid variable from Configure 
          (is is not set and is not used)
        - "Following please find the error when trying to 
           compile elm2.4.ME+.95 on AIX 4.3.3 (maintenance level 09):
           <...>
           ld: 0711-317 ERROR: Undefined symbol: .cs_auto_charset"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Protect call of cs_auto_charset() on lib/charset.c
          with #ifdef USE_DLOPEN
        - Elm dies with Out of memory -messae on AIX.
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Avoid mallocing 0 length string on convert_string()
        - P)rint Text command did not correctly print non-ascii
          header data.
        > Reimplement fix on Elm2.4ME+ PL95 (25) /
                             Elm2.4ME+ PL94a (25): 
          When sending mail, saving copy of mail to folder
          failed when
                displaycharset = UTF-8
                text-charset = ISO-8859-1
        > Also set buffer.filter for state_write_header()
          on copy_message_2() ( similar than on metapager() )
        > Do conversion on state_printf if buffers
          displayed charset (displaycharset) is different than 
          (apparent) real one
        - Detect on Configure if nl_langinfo(CODESET) is
          supported
        - By default Configure does not generate locale charset
          mappings to elm.mimecharsets file if nl_langinfo(CODESET) is
          supported. That is because value given by nl_langinfo(CODESET)
          is more likely to be correct than guess given by Configure
          (specially if user does not manually fix these guesses)
        - Generating of elm.mimecharsets is moved to end of Configure
        - Option -N to Configure tells that it can generate elm.mimecharsets
          from scratch
        - Added builtin mapping for ISO-8859-15 character set.
        - Added value ISO-8859-15 for map parameter for type ascii-set.
        - Added ISO-8859-16 to builting character set list of ElmME+
        - Added ISO-8859-16 to ConfTool/GenCharmap 
        - Added 8859-15.TXT and 8859-16.TXT to  ConfTool/mapfiles
        - ConfTool/GenCharmap generates now map=$file definitions
          also files which are on charset/MAPPINGS/ISO8859 directory
        - elmcharset takes -S option which specifies source directory
          for map files (so they can be copeid to elm.map.txt directory
          -- actually directory given on map-text-dir elm.rc option.)
        - Added -S ../charset/MAPPINGS/ISO8859 option to elmcharset
          invocation so misisng map files are copied.
        - Added codeset and MIBenum fields to struct charcode_info
        - Added chararacter sets from http://www.iana.org/assignments/character-sets
          to precompiled_sets[] on lib/charset.c. Most of them are added
          as cs_unknown indicating that Elm ME+ knows nothing about them.
        - Moved precompiled_sets[] to lib/precompiled_sets.c
        - elmcharset -M lists character sets on MIBenum order
        - "When you quit or when you change folders, there are usually
           questions like "Move read messages to "received" folder? (y/n)". Pressing y
           or n would generate "Yes" or "No" strings at the "answer" spot. Since there
           is usually some delay after that you may want to press some key again
           expecting those Yes/No strings and causing Elm behave unexpectedly (you
           would expect that Yes/No show up and then do what you asked it to)."
         Reported by: Peter <pehasys@PeHaSys.dnsalias.net>
        > Added FlushBuffer() to want_to()
        - Now "make installs" installs also elm.terminalinfo file to
          elm's library directory. During Configure file goes to bin/elm.terminalinfo.
          As on Elm2.4ME+ PL79 (25) file elm.terminalinfo specifes instructions
          to Elm ME+ how to change charset of terminal. For more information
          see chapter "Additional terminal information".
        > For now just file doc/terminal.info is used (without processing).
          That may cause some error messages because of unkown
          character sets, but you should abel to ignore them.
        > Installation of elm.terminalinfo means that Elm ME+ will
          try change terminal character set during operation. If that
          does bad thing to you, please check correctness of elm.terminalinfo
          file.
        - To really take advantege of that add following to global elm.rc
                allow-charset-switching = ON
        - connection for mailbox server failed when thre was several IP addresses 
          for server.
        - Debugging (of POP) caused crash.
        - When IMAP server returns mail where last line is incomplete,
          Elm ME+ goes to infinite loop.
         Problem noted by: Werner Guenther <Werner.Guenther@urz.uni-heidelberg.de>
        > Changed *_got_*_line() routines. Also made similar change on POP code 
          (although probably this can not occur on POP code.)
        - Added support to specify conditions (for environment variables)
          on .elm/terminal.info or on elm.terminalinfo. That allows lines like
                linux   PRIVATE ISO-8859-15     [ $SYSFONTACM="iso15" ] 1/11 2/8 4/11 0/15
          on terminal.info (that line does not actually work because $SYSFONTACM
          is not exported.)
        > Added these to doc/terminal.info so they are also copied to to
          elm.terminalinfo
        - Output routine on panic() was inccorect
        - ~/elm/mail.services was not overriding global elm.mailservices
        - Moved kludge_addr() from src/addr_util.c to lib/mailer.c
        - Added shared library libelmme-smtp.so (shared_libs/smtp/)
          which implements message submission protocol (RFC 2476).
          To use that library add smtp to use-library -elmrc variable, 
          for example
                use-library = iconv
          And specify mailer type with mailer -elmrc variable,
          for example
                mailer = submission
         See also: shared_libs/smtp/README.ME+
        New files:
                charset/MAPPINGS/ISO8859/8859-2.TXT
                charset/MAPPINGS/ISO8859/8859-3.TXT
                charset/MAPPINGS/ISO8859/8859-4.TXT
                charset/MAPPINGS/ISO8859/8859-5.TXT
                charset/MAPPINGS/ISO8859/8859-6.TXT 
                charset/MAPPINGS/ISO8859/8859-7.TXT 
                charset/MAPPINGS/ISO8859/8859-8.TXT 
                charset/MAPPINGS/ISO8859/8859-9.TXT 
                charset/MAPPINGS/ISO8859/8859-10.TXT
                charset/MAPPINGS/ISO8859/8859-13.TXT
                charset/MAPPINGS/ISO8859/8859-14.TXT
                charset/MAPPINGS/ISO8859/8859-16.TXT 
                ConfTool/validcharset.c
                ConfTool/Makefile
                lib/precompiled_sets.c
                shared_libs/smtp/Makefile.SH
                shared_libs/smtp/config
                shared_libs/smtp/elmsmtp.h
                shared_libs/smtp/smtp.c
                shared_libs/smtp/README.ME+

Changes of Elm2.4ME+ PL95c (25) compared with Elm2.4ME+ PL95b (25)

        [ This patch is branch from the main line. ]
        - Do not use commands "mail" or "mailx" as mailer.
        - Allow specify "none" as mailer on configuration time
          (that requires that mailer is given on global elm.rc
           on run time.)
        - Configure failed to locate terminfo routines (ie. termlib) 
          on Linux Mandrake 7.2. Test rewritten.
        - Added -b (batchmode) option to Configure 
          -- avoids all prompting of user

Changes of Elm2.4ME+ PL95b (25) compared with Elm2.4ME+ PL95a (25)

        [ This patch is branch from the main line. ]
        - "Using PL95 with the two patches you send me, I encountered the 
           following problem when searching for a string in a mail message:
           Search: Noam
           Couldn't malloc 0 bytes!!"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Avoid mallocing 0 legth buffer on find_pattern_from_string()
        - Some documentation fixes.
        - Remove d_savegrpmboxid variable from Configure 
          (is is not set and is not used)

Changes of Elm2.4ME+ PL95a (25) compared with Elm2.4ME+ PL95 (25)

        [ This patch is branch from the main line. ]
        - "Following please find the error when trying to 
           compile elm2.4.ME+.95 on AIX 4.3.3 (maintenance level 09):
           <...>
           ld: 0711-317 ERROR: Undefined symbol: .cs_auto_charset"
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Protect call of cs_auto_charset() on lib/charset.c
          with #ifdef USE_DLOPEN
        - Elm dies with Out of memory -messae on AIX.
          Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Avoid mallocing 0 length string on convert_string()
        - P)rint Text command did not correctly print non-ascii
          header data.
        > Reimplement fix on Elm2.4ME+ PL95 (25) /
                             Elm2.4ME+ PL94a (25): 
          When sending mail, saving copy of mail to folder
          failed when
                displaycharset = UTF-8
                text-charset = ISO-8859-1
        > Also set buffer.filter for state_write_header()
          on copy_message_2() ( similar than on metapager() )
        > Do conversion on state_printf if buffers
          displayed charset (displaycharset) is different than 
          (apparent) real one

Changes of Elm2.4ME+ PL95 (25) compared with Elm2.4ME+ PL94 (25)

        - When sending mail, saving copy of mail to folder
          failed when
                displaycharset = UTF-8
                text-charset = ISO-8859-1
        - Segmentation fault on probe_imap_capa_lib()
          caused by unloading of libelmme-tls.so.
        - Segmentation fault on probe_pop_capa_lib()
          caused by unloading of libelmme-tls.so.
        - Guess multipart boundary if boundary parameter is
          missing.
        - Set status_chgd = TRUE on undelete_msg() and
          on unread_msg() so that flags are updated
          on exit. Specially on IMAP.
        - Also set status_chgd = TRUE tag_message()
          so that \Flagged on IMAP is updated on exit. 
          (Tag flag '+' is only saved on IMAP so perhaps
           '+' should not be mapped to IMAP's \Flagged ?)
        - Remove IMAP \flags from imap_flags bitmask which 
          do not have corresponding Elm status flags set or 
          unset so that 'U' (unread) and 't' (tag / untag) 
          commands work correctly. 
        > Side effect is that \flags changes made by other 
          IMAP clients (on same time) are undone.
        - If there was set \Deleted on IMAP beforehand, 
          and user answered 'n' delete messages
          questions, that message was still deleted on
          'mailbox unchanged."
        > Do not set IMAP_can_CLOSE on mbx_sessionlock_imap()
          (set only on mbx_end_keep_imap()) -- this can effect
          connection caching.
        - Cyrus imapd 2.0.14 fails [*] to parse command
               nnnn STORE xxx FLAGS () 
          Example from log (got via -X log option):
          3600 [9] 21:53:20 >>> [len   27]  
                "A00928 STORE 306 FLAGS ()" 0D 0A
          3600 [9] 21:53:20 <<< [len   48]  
                "A00928 BAD Invalid flag name  in Store command" 0D 0A
        > Therefore if flags was empty, calculate negative
          delta (if that is empty do not issue STORE command.)
        [*] That is Bug #941, see
              http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=941
            fixed on 31 Aug 2001
        - remove unused charset_ok() from melib/mime.c
        - Split MIME_name_to_charset's create flag to bit mask:
           CHARSET_create and CHARSET_noautodef
        > That should allow using
            iconv:
            auto-charset = ON
          on global elm.rc without that it conflicts with
          existing alias definitions on global elm.mimecharsets file.
        - Fix generation of nls/gencat and remove dependency from
          libutil.a (aka libelme-base)
        - Elm 2.4 treated messages without status headers
          on folders as Read; From Elm 2.4 PL24ME8a to
          Elm2.4ME+ PL66 (25) treated messages without status 
          headers as New; From Elm2.4ME+ PL67 (25) messages
          without status headers are treated as Old.
        * "As there are clearly different opinions on how to 
           treat such messages in folders, what about having 
           a configuration option (and/or elmrc option) to 
           specify this?  For example:
           In folders, should messages without Status header
           be marked (O)ld, (N)ew, or (R)ead?
           The former would then correspond to Elm2.4ME+ PL94, 
           the second to Elm2.4ME+ PL66 (and what I prefer), 
           the latter to Elm 2.4."
         Suggested by: Dirk Craeynest <Dirk.Craeynest@cs.kuleuven.ac.be>
        > Only elmrc option default-folder-status implemented.
        - Add missing declaration of process_expiration_date()
          hdrs/elmlib.h 
        - lib/read_rc.c needs include unidata.h so that
          default_unidata()) is declared
        - shared_libs/tls/elmtls.h needs include <openssl/rand.h>
          RAND_file_name() and so on is declared
        - Add missing declaration of str_opt_nam() to hdrs/me.h
        - Moved syscall.c from melib/ to lib/
        - Moved state.c from melib/ to lib/
        - Changed WS_magic
        - Added lib/MAGIC which lists magic defines.
          That file is checked during compilation.
        - Mailer specific code moved to lib/mailer.c
        - src/mailmsg2.c and src/remail.c calls now 
          lib/mailer.c routines
        - utils/fastmail.c calls now lib/mailer.c
          routines (WARNING: fastmail is currently 
          broken in many ways)
        - Added new elmrc option mailer which specifies
          type and path and other properties of mailer
          (during compile time only default is given)
          Option "mailer" is available only on global elm.rc        
          Possible mailer types are: 
                unknown, sendmail, submitmail, execmail
                (NOTE: only type sendmail tested)
          Macros are changed in the following way:
  Configure     old macro      parameter for             new default
  variable                     mailer option             macro
  ============= ============== ========================= =====================
  $mailer       mailer         path=                     DEFAULT_MAILER_PATH
  $sendmail     sendmail                                 SENDMAIL_MAILER_PATH
  $submit       submitmail                               SUBMITMAIL_MAILER_PATH
  $execmail     execmail                                 EXECMAIL_MAILER_PATH
  $d_noaddfrom  DONT_ADD_FROM  add-from="dont"           DEFAULT_DONT_ADD_FROM
  $d_usedomain  USE_DOMAIN     use-domain="yes"          DEFAULT_USE_DOMAIN
  $d_8bitmime   USE_8BITMIME   supported-bodytype="8bit" DEFAULT_8BITMIME
  $d_binarymime USE_BINARYMIME supported-bodytype="binary" DEFAULT_BINARYMIME
  $d_dsn        USE_DSN        supports-dsn = "yes"      DEFAULT_DSN
        See chapter "Mailer definition" below in this file.
        - sendmail -bv address can be used for elm's
          internal verification. However that is not activated by default
          (advantages from this is quite little.) To enable this use
        mailer = sendmail; verify=yes
        - Changed shared library interface:
                provides_shared_RCT_f
                provides_shared_SEOT_f
                provides_shared_ST_f
                provides_shared_FT_f
                provides_shared_CT_f
        - Removed struct IMAP_CON from inside of
          struct connection_cache (on union). Instead 
          there is pointer to struct IMAP_CON (mbx_imp.h).
          Moved struct IMAP_CON from mbx_imp.h to imap.c
        - Added utility (elmrc-write) to write (or create) 
          global elm.rc file (utility can be used also to 
          write user's .elm/rlmrc file).
        - Global elm.rc is now rewritten during installation
        - Added elmrc option "auto-attachment", possible values
          are: "none", "application" (default) and "non-text".
          This affect how mime-parts, which have not Content-Disposition
          header, are treated. 
          * If auto-attachment is none, missing Content-Disposition is 
            treated as "Content-Disposition: inline". 
            That is what MIME requires. 
          * If auto-attachment is application, type is subtype of
            application and Elm can not handle type without calling 
            of metamail, missing Content-Disposition 
            is treated as "Content-Disposition: attachment".
          * If auto-attachment is non-text, type is not subtype
            of text or multipart, type is not message/rfc822
            and Elm can not handle type without calling
            of metamail, missing Content-Disposition
            is treated as "Content-Disposition: attachment". 
          * However is Content-Disposition is missing on top level
            that is treated as "Content-Disposition: inline".
          * If Elm can handle type, missing Content-Disposition
            is treated as "Content-Disposition: inline".
        - That changes Elm's behaviour so that in some situations 
          when Elm normally calls metamail, it does not but instead 
          the bodypart of the message is treated as an attachment. 
          If you have have some type of mailcap and therefore you 
          want metamail handle these types, set 
          auto-attachment = none
        * NOTE: On many situations similar treatment than
                with option
                    auto-attachment = non-text
                can reached with combination of options
                    auto-attachment = none
                    pagemultipart = on
         In other words there is situations where setting of option
         pagemultipart is sufficient (without new treatment which is
         implemented with option auto-attachment by default.)
        New elmrc options:
                auto-attachment
                default-folder-status
                mailer
        New tools:
                elmrc-write
        New files:
                lib/mailer.c
                lib/MAGIC
                hdrs/mailer_imp.h
                utils/elmrc-write.c
                doc/elmrc-write.1
        Moved files:
                melib/syscall.c => lib/syscall.c
                melib/state.c   => lib/state.c
        Removed files:
                lib/in_list.c
                lib/validname.c
                doc/Filter.guid
                lib/getrealname.c
                lib/remfirstwd.c

Changes of Elm2.4ME+ PL94c (25) compared with Elm2.4ME+ PL94b (25)

        - STORE FLAGS changes on Elm2.4ME+ PL94b (25)
          was always clearing \Seen flags -- It did always mark 
          all messages as unread!
         (Cyrus imapd bug #941 is fixed on 31 Aug 2001, see
          http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=941 )

Changes of Elm2.4ME+ PL94b (25) compared with Elm2.4ME+ PL94a (25)

        - Segmentation fault on probe_imap_capa_lib()
          caused by unloading of libelmme-tls.so.
        - Segmentation fault on probe_pop_capa_lib()
          caused by unloading of libelmme-tls.so.
        - Guess multipart boundary if boundary parameter is
          missing.
        - Set status_chgd = TRUE on undelete_msg() and
          on unread_msg() so that flags are updated
          on exit. Specially on IMAP.
        - Also set status_chgd = TRUE tag_message()
          so that \Flagged on IMAP is updated on exit. 
          (Tag flag '+' is only saved on IMAP so perhaps
           '+' should not be mapped to IMAP's \Flagged ?)
        - Remove IMAP \flags from imap_flags bitmask which 
          do not have correspond Elm status flags set or 
          unset so that 'U' (unread) and 't' (tag / untag) 
          commands works correctly. 
        > Side effect is that \flags changes made by other 
          IMAP clients (on same time) are undone.
        - If there was set \Deleted on IMAP beforehand, 
          and user answered 'n' delete messages
          questions, that message was still deleted on
          'mailbox unchanged."
        > Do not set IMAP_can_CLOSE on mbx_sessionlock_imap()
          (set only on mbx_end_keep_imap()) -- this can effect
          connection caching.
        - Cyrus imapd 2.0.14 fails to parse command
               nnnn STORE xxx FLAGS () 
          Example from log (got via -X log option):
          3600 [9] 21:53:20 >>> [len   27]  
                "A00928 STORE 306 FLAGS ()" 0D 0A
          3600 [9] 21:53:20 <<< [len   48]  
                "A00928 BAD Invalid flag name  in Store command" 0D 0A
        > Therefore if flags was empty, calculate negative
          delta (if that is empty do not issue STORE command.)
        - remove unused charset_ok() from melib/mime.c
        - Split MIME_name_to_charset's create flag to bit mask:
           CHARSET_create and CHARSET_noautodef
        > That should allow using
            iconv:
            auto-charset = ON
          on global elm.rc without that it conflicts with
          existing alias definitions on global elm.mimecharsets file.

Changes of Elm2.4ME+ PL94a (25) compared with Elm2.4ME+ PL94 (25)

        [ This patch is branch from the main line. ]
        - When sending mail, saving copy of mail to folder
          failed when
                displaycharset = UTF-8
                text-charset = ISO-8859-1

Changes of Elm2.4ME+ PL94 (25) compared with Elm2.4ME+ PL93 (25)

        Note: You must create directory
                        shared_libs/iconv
              before applying this patch!
        - As per RFC 2046, autocreate ISO-8859-X charset
          as superset of US-ASCII (where X is posititive 
          integer) if not defined.
          This can be turned off with setting elmrc variable
          auto-iso-8859 to false.
        - Elmrc option auto-iso-8859 overrides compatcharsets
          (ie. removing ISO-8859-X charsets from compatcharsets
           effectively reappear to list.)
        - Unicode (UTF-7 or UTF-8) strings are now compressed /
          canonified.
        - Fix incorrect clip on cs_utf.c code.
        - Added shared library libelmme-iconv.so (shared_libs/iconv/)
          which provides interface to GNU LIBICONV (character set 
          conversion library) or to correspond fuctions on system 
          library. To use that library add iconv to use-library
          -elmrc variable, for example
                use-library = iconv
        See also: shared_libs/iconv/README.ME+
        - Do not call MoveCursor() if interrupt
          that uses tgoto() which may malloc memory.
          Instead use ClearScreen() which hopefully
          is safer.
        - Make terminal_switch_to() safe to called from signal
          handler (was mallocing results).      
          Signal handlers call Raw(), which call switch_display_charset()
          which calls terminal_switch_to().
          Following routines made more safe to called from signal
          handler (is using static storage instead of malloc):
              terminal_switch_to()          [lib/terminal.c]
              helper_1                      [lib/terminal.c]
              debug_charset_sets()          [lib/terminal.c]
              lock_shift()                  [lib/iso2022.c]
              iso2022_setid_stream()        [lib/iso2022.c]
        - Do not use display_charset on terminal_switch_to()
          -- instead use *terminal_info data...
        - stream_from_string(), streamclip_from_string() was catenating 
          terminal initialization strings in wrong order ?
        - When using -D utf-8 command line option of elm 
          message to be replied was not copied to edit buffer 
          with correct charset.
        - Fix 'Value of "xx" ' error message on dt_FUNC_parse_line()
          on lib/rc_parse.c (elmrc parsing).
        - Added (new) flag CS_universal_set to UTF-8 (and UTF-7) so 
          that messages like "[ Charset US-ASCII unsupported, 
          converting... ]" are avoided when replying message with 
          -D utf-8 is effect (utf-8 is not on compatcharsets.)
          (instead message "[ Charset US-ASCII converted... ]"
           is given.) Setting charset-convert-ok avoids that message.
        WARNING: If external editor (ie. default) is used editing
                 buffer is converted from display charset to system
                 charset (locale charset) silently (ie. that 
                 does not cause 'unsupported' warning although 
                 that conversion may lose characters). After editing
                 text is converted back from system charset to
                 display charset. That is quite non-optimal. If
                 external editor is used, editor buffer should be
                 stored with system charset (instead of display charset)
                 so that conversions are avoided.
        New elmrc options:
                auto-iso-8859
                charset-convert-ok
        New files:
                shared_libs/iconv/config
                shared_libs/iconv/Makefile.SH
                shared_libs/iconv/elmiconv.h
                shared_libs/iconv/iconv.c
                shared_libs/iconv/README.ME+

Changes of Elm2.4ME+ PL93 (25) compared with Elm2.4ME+ PL92 (25)

        Undo Elm2.4ME+ PL92a (25) and Elm2.4ME+ PL92b (25)
        patches before applying this patch.
        - state_nlputs was not printing whole string of
          it was not ending to \n
        - Added global flag wait_can_signal indication that 
          signal handler is called from middle of wait
          (which is safe). Earlier flag InGetPrompt was
          not accurate.
        - Remove catgets calls from signal handlers on src/signal.c
        - parse_format_args() to lib/output.c 
        - state_printable() was not using unicode information
          (uses now unicode_ch())
        - Changed debug output routines. General format of debug option is
              -d {class}={debugfile}:{level}
          Option can be given several times.
        - Now debug output is not printed to stderr on startup.
          Instead debug output is spooled until debug files are opened.
        - Also utilities print debug to debug files instead of stderr.
        See chapter "Debug output" below in this file.
        - It is no longer possible to enable debugging code by just
          uncommenting line
                #DEBUG          =       -DDEBUG
          on Makefiles.
          Instead Configure must be re-run. It is now also possible to 
          specify -DDEBUG to command line of Configure.
        - Updated some manual pages.
        - unicode_ch on lib/unicode.c interpreted unidata
          information wrongly.
        - "I got a mail that completely crashes elms parser. 
           I'll append a folder that elm PL 90 can't open. Maybe 
           you can use it to find a bug in elm."
          Reported by: Jan Willamowius <jan@willamowius.de>
        > Discard map definition of charset if compactcharsets
          or iso646-charsets redefine charset (to be incompatible
          with map definition of charset)
        NOTE: elmrc options compactcharsets or iso646-charsets
              should never be set explicit. If you need to redefine
              some charset, give definition on file .elm/mime.charsets.
        - Quoted username if it contains some special characters.
        - "Until I did this I could not get it to build correctly on 
           solaris 8 (even if I didn't want to use the sharedlibs -- 
           it will not build now without them, which is probably a 
           larger problem but I could not figure out how to remove 
           the dependency)."
         Reported by:  Christopher Gori <cgori@yahoo.com>
        > Make code compile when USE_DLOPEN is not defined
        - elm -vv now reports is USE_DLOPEN defined.
        - unicode_ch on lib/unicode.c did lowercasing 
          using unidata data wrongly. Therefore (l)imit
          with "thread" failed to remove "Re: " prefix from
          subject.
        - Do some pseudo random generator seeding based on 
          schedule.c events and keyboard input.
        - Warn if EGD socket socket given with
          tls: rand-egd does not work.
        - Reduce minimal amout of bytes read from egd to 10
        New files:
                lib/debug.c
        Removed files:
                doc/wnewmail.1

Changes of Elm2.4ME+ PL92b (25) compared with Elm2.4ME+ PL92a (25)

        - unicode_ch on lib/unicode.c interpreted unidata
          information wrongly.
        - "I got a mail that completely crashes elms parser. 
           I'll append a folder that elm PL 90 can't open. Maybe 
           you can use it to find a bug in elm."
          Reported by: Jan Willamowius <jan@willamowius.de>
        > Discard map definition of charset if compactcharsets
          or iso646-charsets redefine charset (to be incompatible
          with map definition of charset)
        NOTE: elmrc options compactcharsets or iso646-charsets
              should never be set explicit. If you need redefine
              some charset, give definition on file .elm/mime.charsets.
        - Quoted username if it contains some special characters.

Changes of Elm2.4ME+ PL92a (25) compared with Elm2.4ME+ PL92 (25)

        [ This patch is branch from the main line. ]
        - "Until I did this I could not get it to build correctly on 
           solaris 8 (even if I didn't want to use the sharedlibs -- 
           it will not build now without them, which is probably a 
           larger problem but I could not figure out how to remove 
           the dependency)."
         Reported by:  Christopher Gori <cgori@yahoo.com>
        > Make code compile when USE_DLOPEN is not defined

Changes of Elm2.4ME+ PL92 (25) compared with Elm2.4ME+ PL91 (25)

        - Do some CRLF -> LF or LF -> CRLF conversions
          so that IMAP gets end of lines as CRLF
        - However when mail is binary there must not be
          CRLF <-> LF conversions!! (however binary messages
          have CRLF ended lines in first place)
          Now when APPENDing message to IMAP folder, message 
          lines are CRLF terminated.
          When using 'S' (save text) message is not CR
          stripped (as normally) if target file is IMAP 
          folder.
          These changes should fix error "Message contains bare 
          newlines" from Curys Imapd when copying
          mail from local mailbox to Cyrus IMAP folder
          or when S)aving text of message to Cyrus IMAP folder.
        - Do not add phrase to In-Reply-To -header.
          RFC 2822 (obsoletes RFC 822) does not allow 
          phrase to be added to In-Reply-To -header.
          Added add-in-reply-to-phrase elmrc option.
          Set this if you want phrase to be added.
        - "I noticed that "frm user" doesn't work anymore. 
           (Last version I tried was PL60 - that worked fine). 
           On my Linux box it always tries to read a folder."
         Reported by: Jan Willamowius <jan@willamowius.de>
        > Assignment of no_files was rewrited to wrong
          way on some day.
        - Gives error message
             ../hdrs/rc_imp.h:53: warning: `DT_CHR' redefined
             /usr/include/dirent.h:105: warning: this is the location of 
             the previous definition
          on certain linux systems.
        > Removed DT_CHR define.
        - Fix for Solaris 8 compilation.
          "I think the patch keeps -shared when it is necessary for the 
           build. The problem was that the Configure script was assuming 
           _all_ platforms would need -shared, but Solaris (for example) 
           does not, in fact compiling fails if it is present.  I just moved 
           -shared into the $soname_opt when it was necessary."
         From: Christopher Gori <cgori@yahoo.com>
        > Made correspond change also to shared_libs/tls/Makefile.SH
        - (as Elm 2.4ME+ PL91) Does not compile on AIX 4.3.3.
         Reported by: Noam G. Nudelman <noam@mail.biu.ac.il>
        > Guessed fix (completely untested)
        New elmrc options:
           add-in-reply-to-phrase

Changes of Elm2.4ME+ PL91 (25) compared with Elm2.4ME+ PL90 (25)

        Note: You must create directories 
                        charset 
                        charset/UNIDATA 
                        shared_libs
                        shared_libs/include                     
                        shared_libs/tls
              before applying this patch!
        Undo Elm2.4ME+ PL90a (25) patch before applying this patch.
        WARNING: Quite lot of changes in many areas. So 
                 please report new bugs which you observe...
        See also: shared_libs/tls/README.ME+
                  charset/UNIDATA/README.TXT
        - Added support for unicode database (UNIDATA2.TXT).
          That is compiled to binary form (unidata.bin) which
          is mmaped or read. Name of file is given with
          elmrc option "unidata" -- default directory is given on
          elmrc option "map-bin-dir".
        - Binary form can be generated ("make install" does)
          with elmunidata -tool.
        - Elmrc option "unidata" value is checked (and data
          preloaded) only when it is likely that it is needed.
          That happens usually if elmrc options "allow-charset-switching" 
          or "displaycharset" is used.
        - MMAP code currently does not compile on Digital Unix 4.0F.
          That is detected by Configure.          
        - If unicode database is not available, then
          printable, lower and uppercase characters are known
          only from Latin/1 part (0000-00FF) of Unicode.
        - Note that still neither Unicode didirectional algorithm 
          nor Right-Left scripts are supported (although unicode
          database includes directionality information.)
        - Also character composition / decomposition information
          is not currently used.
        - Implemented POP and IMAP connection as stack of streams.
          So there can be different layers of connection.
          (files lib/streamsched.c and hdrs/ss_imp.h)
        - Now POP client code issues CAPA command to server.
        - Default shared library localtion for IRIX is changed
          (now lib32 is used for n32 ABI instead of lib).
        - "Running Elm 2.4ME+86, if I displayed the first 80% of 
           a message using the built-in text browser, pressing 
           <Ctl>-D to display the remaining part of the message 
           results in tildes ("~") replacing the first (leftmost) 
           character of the newly-displayed lines. "
         Problem noted by: Andrew Piziali <andy@verisity.com>
        > Make sure that lines text is cleared from previous 
          text when printing.
        > Scroll screen when printing ~ characters (ie. print 
          newlines also)
        - " I had to fix config.h, which had:
           #define I_LOCALE    /**/  
                   I_NL_TYPES  /**/
           /*#undef    MSGCAT      */
          The second line was in error."
         Reported by: Bruce Momjian <root@candle.pha.pa.us>
        - "If you look at lib/Makefile.SH, you will see:
            *)      msgcatsrc= msgcat.c
                    msgcatobj= msgcat.o
           This is a problem.  Try this:
                X= ls
           and notice that X is not assigned 'ls', but the ls command is run."
          Reported by: Bruce Momjian <root@candle.pha.pa.us>
        - Added config files $HOME/.elm/mail.services and 
          {lib}/elm.mailservices. These can be used specify
          should IMAP or POP used to given mailbox (folder browser
          however uses IMAP, because POP does not provide several 
          folders). It also can be used to give some connection 
          parameters.
          See chapter "Mail services config" below in this file.
        - Added ability to load shared libraries on run time.
          Libraries are given with tags on use-library -elmrc
          option. Note that curretly necessary hooks are missing 
          from data structures and routines so in general
          these shared libraries can not (yet?) be used to extend
          capability of Elm ME+ (except on some rare cases.)
          See chapter "Dynamic libraries" below in this file.
        - Config file (elm.rc, ~/.elm/elmrc) parsing and
          saving implementation is changed. Hopefully 
          functionality is still same.
        - Removed alwaysleave -> alwaysstore kludge
          (now negations are possible.)
        - Config files (elm.rc, ~/.elm/elmrc) can now
          include shared library specifix sections (on
          end of config file). See chapter "Dynamic libraries" 
          below in this file. 
        - Added shared library libelmme-tls.so (shared_libs/tls/) 
          which provides POP's STLS and IMAPs STARTTLS command.
          To use that library add tls to use-library
          -elmrc variable, for example
                use-library = tls
          Source of shared library libelmme-tls.so does not contain 
          any cryptography itself. Compiling that library requires 
          that OpenSSL 0.9.6 is installed.
          Do not expect libelmme-tls.so library to provide any security.
          It does not fulfill requirements of RFC 2595 (Using TLS with 
          IMAP, POP3 and ACAP.)
          See file shared_libs/tls/README.ME+ for details.
          Remember to setup EGD (entropy gathering daemon),
          if on your system does not provide /dev/urandom
          device (see warning on shared_libs/tls/README.ME+ 
          file.)
        New elmrc options:
                map-bin-dir
                unidata
        New files:
                lib/unidata.c
                charset/UNIDATA/README.TXT
                charset/UNIDATA/UNIDATA2.TXT
                utils/elmunidata.c
                doc/elmunidata.1
                hdrs/unidata.h
                shared_libs/Makefile.SH
                lib/shared.c
                shared_libs/include/shared.h
                hdrs/shared_imp.h
                shared_libs/tls/config
                shared_libs/tls/Makefile.SH
                hdrs/ss_imp.h
                lib/streamsched.c
                shared_libs/tls/pop.c
                shared_libs/include/elmshared.h
                shared_libs/tls/tls.c
                shared_libs/tls/elmtls.h
                shared_libs/tls/imap.c
                lib/service_list.c
                hdrs/rc_imp.h
                lib/rc_handle.c
                shared_libs/tls/README.ME+
        New tools:
                elmunidata

Changes of Elm2.4ME+ PL90a (25) compared with Elm2.4ME+ PL90

        [ This patch is branch from the main line. ]
        - "Running Elm 2.4ME+86, if I displayed the first 80% of 
           a message using the built-in text browser, pressing 
           <Ctl>-D to display the remaining part of the message 
           results in tildes ("~") replacing the first (leftmost) 
           character of the newly-displayed lines. "
         Problem noted by: Andrew Piziali <andy@verisity.com>
        > Make sure that lines from the previous texts are cleared 
          when printing.
        > Scroll screen when printing ~ characters (ie. print 
          newlines also)
        - " I had to fix config.h, which had:
           #define I_LOCALE    /**/  
                   I_NL_TYPES  /**/
           /*#undef    MSGCAT      */
          The second line was in error."
         Reported by: Bruce Momjian <root@candle.pha.pa.us>
        - "If you look at lib/Makefile.SH, you will see:
            *)      msgcatsrc= msgcat.c
                    msgcatobj= msgcat.o
           This is a problem.  Try this:
                X= ls
           and notice that X is not assigned 'ls', but the ls command is run."
          Reported by: Bruce Momjian <root@candle.pha.pa.us>

Changes of Elm2.4ME+ PL90 (25) compared with Elm2.4ME+ PL89 (25)

         - "I found another locking problem which did not occur 
            for me in ELM 2.4ME+ PL79.  Assume that there is at 
            least one message in =received. If you read a new message 
            from the regular incoming mailbox (not POP), and then c)hange 
            to ">", you get a message that =received is temporarily 
            unavailable.  Then elm switches to =received but without
            saving the message from the incoming mailbox.  It acts like 
            elm is opening and locking =received before trying to save 
            the new incoming message.  Again, this is Linux (Slackware-7.1) 
            with a 2.4.1 kernel. "
          Reported by: Jay Rouman <jsr@dexter.mi.org>
         [ That propably happens with USE_FLOCK_LOCKING --
           with USE_FCNTL_LOCKING problems are different. ]
         > Close just opened new folder (=received) before 
           trying to open it for storing mails and afterwards 
           reopen that new folder. That helps if closing it causes 
           the locks to it to be lost (as folder).
        - "Assume that you have changed to the mailbox of someone from 
           whom you have already gotten messages.  While you are in this 
           mailbox, you send a new message to this person.  With PL79, elm 
           would save a copy back to this mailbox and do a screen refresh 
           to show that the new copy had landed in the mailbox.
           With PL89, elm complains that it can't lock the mailbox and then 
           saves to =sent instead of dropping it.  Then you have to change to 
           =sent and manually save back to the mailbox of the person you sent 
           to."
         [ That propably happens with USE_FLOCK_LOCKING --
           with USE_FCNTL_LOCKING problems are different. ]
          Reported by: Jay Rouman <jsr@dexter.mi.org>
         > Close current folder temporary during copy
           and reopen after that.
        - Remove question "Can your system use setgid() to switch 
          between the real and effective gid values?" from Configure.
          That question was asked only if there was "yes" answered
          to question "Am I going to be running as a setgid program?".
          Also macro SAVE_GROUP_MAILBOX_ID is removed. Instead now
          Elm ME+ uses sysconf(_SC_SAVED_IDS) on run time (use
          "elm -vvv" to determine result.)
          That way binaries of setgid Elm ME+ and non-setgid Elm ME+ 
          are identical.
        - "I can't make elm (a few last versions) on HP-UX 10.20 
           and 11.0. I tried with cc and gcc and the result is the 
           same:
           /usr/ccs/bin/ld: Unsatisfied symbols:
                setlinebuf (code)"
         Reported by: Witold Witkowski <yawitkow@cyf-kr.edu.pl>
        > Added test for setlinebuf() to Configure
        - Added support for shared libraries. Now libutil.a
          is compiled as shared library (with name libelmme-base.so)
          if possible.

Changes of Elm2.4ME+ PL89 (25) compared with Elm2.4ME+ PL88 (25)

        - "Being perfectly happy with the wildcard filename selection 
           feature as of last elm me+ PL 87, my wish would be now that 
           the same wildcard expansion could take place also for attached 
           file names."
         Requested by: Emmanuel BIGLER <bigler@ens2m.fr>
       > Modified gb_filebrowser() -- now elmrc option 
         browser-wildcard-matching apply also when browsing files (instead
         of mailboxes / folders).
        - header_charset was not set on attach_menu.c,
          or newmail.c and from.c utilities.         
        - "While compiling (gcc-2.95.2 on HP-UX 10.20) the latest 
          (88) version of Elm I got the following error:
          imap.c: In function `cache_open_imap':
          imap.c:2541: `h_errno' undeclared (first use in this function)"
         "There is no:
          #ifndef h_errno
          extern int h_errno;
          declaration in imap.c and this may cause the error."
         Reported by: Witold Witkowski <yawitkow@cyf-kr.edu.pl>
        - "If you retrieve mail from a POP server and then q)uit, 
           you always get "OOPS! Storing of mail failed!" from 
           leavembox.c.  This appears to have started in elm-2.4ME+83."
         Reported by: Jay Rouman <jsr@dexter.mi.org>
        > pop.c code added extra \n after mailbox separator
          (one \n was already added by ctime())

Changes of Elm2.4ME+ PL88b (25) compared with Elm2.4ME+ PL88a (25)

        - In attach_menu.c header_charset was not set.

Changes of Elm2.4ME+ PL88a (25) compared with Elm2.4ME+ PL88 (25)

        [ This patch is branch from the main line. ]
        - In newmail.c and from.c utilities header_charset
          was not set.
        - "While compiling (gcc-2.95.2 on HP-UX 10.20) the latest 
          (88) version of Elm I got the following error:
          imap.c: In function `cache_open_imap':
          imap.c:2541: `h_errno' undeclared (first use in this function)"
         "There is no:
          #ifndef h_errno
          extern int h_errno;
          declaration in imap.c and this may cause the error."
         Reported by: Witold Witkowski <yawitkow@cyf-kr.edu.pl>
        - Fix some Tru64 (aka Digital Unix, aka OSF1) compilation 
          warnings.

Changes of Elm2.4ME+ PL88 (25) compared with Elm2.4ME+ PL87 (25)

        Warning: Changes on header processing of copy_message_2() 
                 routine. Report if there are problems in mailbox 
                 update.
        - Accept Mime-Version: -headers like
                Mime-Version: 1.0 (NeXT Mail 4.2mach_patches v148.2)
        - USE_DOMAIN did not added domain to address
          when recipient was not not 'valid' local recipeint
          (ie. recipient was something other than user
           from passwd.)
         Problem noted by: Andrew Piziali <andy@verisity.com>
        - 'Simplify' metapager() -- use state_write_headers()
        - Added MIME header decoding routi