ELM ME+ 2.5 PLalpha54 announcement

Elm ME+ 2.5 PLalpha54

- Is available with
	<URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
  and	<URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.PLalpha54.patch.gz >
  via http.

- Is available with
	<URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
  and	<URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
  via https.

- Is available on ftp.funet.fi
  via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files	elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz
    and		elm-ME+2.5.PLalpha54.patch.gz

  or is available with
	<URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
  and	<URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
  with browser

  or is available with
	<URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
  and	<URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
  via https.

- Is available with
  message-id <elmME+2.5/PLalpha54/1-0@kasvihuone.keh.iki.fi>
             <elmME+2.5/PLalpha54/1-1@kasvihuone.keh.iki.fi>
             <elmME+2.5/PLalpha54/1-2@kasvihuone.keh.iki.fi>
  on alt.sources, comp.mail.elm.

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.

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


diffstat:

 README.ME+                           |  139 ++++++++++++
 doc/elm.1                            |    2 
 doc/elmalias.1                       |    2 
 doc/elmaliases-write.1               |    2 
 doc/elmbindata.1                     |    2 
 doc/elmcharset.1                     |    2 
 doc/elmconfwriter.1                  |    2 
 doc/elmhashmarks.1                   |    2 
 doc/elmiso2022sets.1                 |    2 
 doc/elmlibregister.1                 |    2 
 doc/elmmailinglists.1                |    2 
 doc/elmmailservices.1                |    2 
 doc/elmmimetypes.1                   |    2 
 doc/elmrc-info                       |  380 +++++-!!!!!!!!!!!!!!!!!!!!!!!!!!!
 doc/elmrc-write.1                    |    2 
 doc/elmregister.1                    |    2 
 doc/elmstringconvert.1               |    2 
 doc/elmterminal.1                    |    2 
 doc/elmunidata.1                     |    2 
 doc/fastmail.1                       |    2 
 doc/frm.1                            |    2 
 doc/newalias.1                       |    2 
 doc/newmail.1                        |    2 
 doc/readmsg.1                        |    2 
 hdrs/addrlib.h                       |   11 !
 hdrs/connection_imp.h                |   12 
 hdrs/elm_defs.h                      |    6 
 hdrs/elmlib.h                        |   13 !
 hdrs/mboxlib.h                       |   22 +!
 hdrs/mbx_imp.h                       |    9 
 hdrs/me.h                            |   27 +!
 hdrs/melib.h                         |   23 !!
 hdrs/patchlevel.h                    |   10 
 hdrs/readmsg.h                       |    4 
 hdrs/s_elm.h                         |    2 
 hdrs/save_opts.h                     |    6 
 lib/addr/write_hdr.c                 |   31 !!
 lib/cancel.c                         |   19 +
 lib/cs_unknown.c                     |   11 !
 lib/mbox/def_mbox.h                  |   10 
 lib/mbox/headers.c                   |  242 ++++++++++!!!!!!!!!!!
 lib/mbox/imap.c                      |   61 ++++!
 lib/mbox/localmbx.c                  |   13 !
 lib/mbox/mbox.c                      |   74 ++++++
 lib/mbox/mbox_generic.c              |   19 +
 lib/mbox/pop.c                       |   31 ++
 lib/mparse.c                         |    8 
 lib/read_rc.c                        |   53 +!!!
 lib/remote_mbx.c                     |  119 +++++++!!!
 lib/shared_base.c                    |   56 ++!!!
 lib/shared_connect.c                 |   62 ++++!
 lib/string.c                         |   26 +!
 lib/unicode.c                        |    6 
 melib/def_melib.h                    |   27 !!
 melib/mime_decode.c                  |  277 +!!!!!!!!!!!!!!!!!!!!!!!!
 melib/mime_selector.c                |   13 !
 melib/parse_util.c                   |   31 !!
 melib/partial.c                      |    7 
 melib/pgp_decode.c                   |   34 !!!
 nls/C/C/C/s_elm.m                    |    8 
 shared_libs/iconv/iconv.c            |  228 +++++!!!!!!!!!!!!!!!!
 shared_libs/include/shared.h         |    9 
 shared_libs/resolv/elmrc-resolv-info |   11 !
 shared_libs/resolv/resolv.c          |  228 ++++++++++++++++++-
 src/alias.c                          |    5 
 src/args.c                           |    8 
 src/attach_menu.c                    |   84 !!!!!!!
 src/builtin++.c                      |   39 !!!
 src/canceled.c                       |    5 
 src/digest.c                         |    5 
 src/duplicate_removal.c              |    5 
 src/elm.c                            |   14 !
 src/file_util.c                      |   37 !!!
 src/fileio.c                         |   12 !
 src/leavembox.c                      |   38 !!!
 src/list/visit_mailbox.c             |    5 
 src/mailbox.c                        |    6 
 src/menu_common/message_screen.c     |  165 ++++++++!!!!!!!
 src/messages/canceled_mail.c         |   55 ++++!
 src/messages/def_messages.h          |    8 
 src/messages/digest.c                |   24 +
 src/messages/duplicate.c             |   91 +++++++!
 src/messages/header_alloc.c          |  237 !!!!!!!!!!!!!!!!!!!!!
 src/messages/mailfile.c              |  117 +++++++!!!
 src/messages/messages.c              |   74 ++!!!!
 src/messages/partial.c               |   41 +++
 src/messages/storage.c               |   52 ++++
 src/messages/thread_messages.c       |   26 +!
 src/metapager.c                      |   90 -!!!!!
 src/partial.c                        |    5 
 src/screen/curses.c                  |   72 +!!!!!
 src/view_folder.c                    |    5 
 src/view_one_thread.c                |    5 
 utils/readmsg/readmsg.c              |   56 ++++!
 94 files changed, 1616 insertions(+), 37 deletions(-), 2155 modifications(!)