Menu

#496 Remove XEmacs support

mh-e-8.7
open
xemacs (1)
5
2022-08-15
2021-03-25
Bill Wohler
No

With the recent change to lexical-binding and new closures, MH-E probably won't work with XEmacs. Therefore, we should reduce surface area by removing all of the XEmacs compatibility code and related documentation and tests. Also, check for tickets that are related to XEmacs and close them as Won't Fix.

Discussion

  • Bill Wohler

    Bill Wohler - 2021-08-06

    In particular, the macros mh-do-in-gnu-emacs and mh-do-in-xemacs can be removed. The code wrapped by the former can be run unadorned and code wrapped by the latter can be deleted.

    The mh-funcall-if-exists macro should also be removed. Matthias made the following observation:

    This code in mh-junk.el (mh-spamassassin-allowlist) probably doesn't work as intended:
    
          (setq from
                (car (mh-funcall-if-exists
                      ietf-drums-parse-address (mh-get-header-field "From:"))))
    

    Even if ietf-drums-parse-address were available, this macro could still return nil because it is a compile-time macro and the function may not have been loaded during compilation. Because this macro would have been used for various versions of Emacs, its parameter may or may not exist in the current version. The code will have to be carefully analyzed on a case-by-case basis.

     
  • Mike Kupfer

    Mike Kupfer - 2022-08-15

    Stefan Kangas has done some work here, e.g., removing mh-compat.el with 0a060a2bfe and b459e275c3, but it looks like there's still more to do.

     

Log in to post a comment.

MongoDB Logo MongoDB