gnus: Compatibility

 
 11.2.3 Compatibility
 --------------------
 
 Gnus was designed to be fully compatible with GNUS.  Almost all key
 bindings have been kept.  More key bindings have been added, of course,
 but only in one or two obscure cases have old bindings been changed.
 
    Our motto is:
                       In a cloud bones of steel.
 
    All commands have kept their names.  Some internal functions have
 changed their names.
 
    The ‘gnus-uu’ package has changed drastically.  SeeDecoding
 Articles.
 
    One major compatibility question is the presence of several summary
 buffers.  All variables relevant while reading a group are buffer-local
 to the summary buffer they belong in.  Although many important variables
 have their values copied into their global counterparts whenever a
 command is executed in the summary buffer, this change might lead to
 incorrect values being used unless you are careful.
 
    All code that relies on knowledge of GNUS internals will probably
 fail.  To take two examples: Sorting ‘gnus-newsrc-alist’ (or changing it
 in any way, as a matter of fact) is strictly verboten.  Gnus maintains a
 hash table that points to the entries in this alist (which speeds up
 many functions), and changing the alist directly will lead to peculiar
 results.
 
    Old hilit19 code does not work at all.  In fact, you should probably
 remove all hilit code from all Gnus hooks (‘gnus-group-prepare-hook’ and
 ‘gnus-summary-prepare-hook’).  Gnus provides various integrated
 functions for highlighting.  These are faster and more accurate.  To
 make life easier for everybody, Gnus will by default remove all hilit
 calls from all hilit hooks.  Uncleanliness!  Away!
 
    Packages like ‘expire-kill’ will no longer work.  As a matter of
 fact, you should probably remove all old GNUS packages (and other code)
 when you start using Gnus.  More likely than not, Gnus already does what
 you have written code to make GNUS do.  (Snicker.)
 
    Even though old methods of doing things are still supported, only the
 new methods are documented in this manual.  If you detect a new method
 of doing something while reading this manual, that does not mean you
 have to stop doing it the old way.
 
    Gnus understands all GNUS startup files.
 
    Overall, a casual user who hasn’t written much code that depends on
 GNUS internals should suffer no problems.  If problems occur, please let
 me know by issuing that magic command ‘M-x gnus-bug’.
 
    If you are in the habit of sending bug reports _very_ often, you may
 find the helpful help buffer annoying after a while.  If so, set
 ‘gnus-bug-create-help-buffer’ to ‘nil’ to avoid having it pop up at you.