[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/autocrypt 49f4a1a09e 62/94: Update README section on ex
From: |
ELPA Syncer |
Subject: |
[elpa] externals/autocrypt 49f4a1a09e 62/94: Update README section on extending autocrypt.el |
Date: |
Sun, 26 Mar 2023 07:58:01 -0400 (EDT) |
branch: externals/autocrypt
commit 49f4a1a09ee0b8f6d9344d322a3e3da7f7e75387
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>
Update README section on extending autocrypt.el
---
README.md | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index 5bf7ff96d9..ae59f062d4 100644
--- a/README.md
+++ b/README.md
@@ -46,16 +46,28 @@ Bug reports and patches should be sent to my [public inbox].
Extending `autocrypt.el`
------------------------
-The core functionality of autocrypt is based on [cl-generic], that is
-to say generic methods. The list of generic functions that should be
-implemented as methods are listed in `autocrypt.el` under the section
-"MUA TRANSLATION LAYER".
+Autocrypt.el uses a custom extension mechanism, comparable to
+vc-mode. Each time a "generic" function is invoked, either
+`autocrypt-backend-function` is used to return the right function or
+`autocrypt-backends` is used to find a function.
Support for additional MUAs can be added to this package, but should
-preferably be part of the MUAs themself.
+preferably be part of the MUAs. An external MUA should either set
+autocrypt-backend-function in every buffer it handles, or modify
+`autocrypt-backends` to define a backend.
-To register a new back end, the variable `autocrypt-backends` should
-be modified.
+A backend is designated by a symbol. This is used together with a
+generic command to check for a function. For example, given the
+backend `gnus` and the command `get-header`, autocrypt would check if
+any of the following functions are defined:
+
+- `autocrypt-gnus--get-header`
+- `gnus-autocrypt--get-header`
+- `gnus--autocrypt-get-header`
+
+and call the first one it finds. All a backend has to do is to define
+these functions and ensure that they are visible (e.g. by autoloading
+when necessary).
Copying
-------
@@ -67,5 +79,4 @@ Public Domain Dedication][cc0] license.
[public inbox]: https://lists.sr.ht/~pkal/public-inbox
[MELPA]: https://melpa.org/#/autocrypt
[setup]: http://elpa.gnu.org/packages/setup.html
-[cl-generic]: http://elpa.gnu.org/packages/cl-generic.html
[cc0]: https://creativecommons.org/publicdomain/zero/1.0/deed
- [elpa] externals/autocrypt cb40022cba 23/94: refactored message specific code into autocrypt-compose-* functions, (continued)
- [elpa] externals/autocrypt cb40022cba 23/94: refactored message specific code into autocrypt-compose-* functions, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt d771406544 28/94: Recognize mu4e modes in `autocrypt-get-mua', ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 926b88e371 33/94: Use setup in README instead of use-package, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 56b7eea585 34/94: Use cl-generic to implement MUA specific code, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt c9d7c13f0d 36/94: Translate mu4e implementation to methods, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 9add1cc9b1 38/94: Autoload autocrypt-install for mu4e, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 211cb302dc 41/94: Add autocrypt-load-system, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 94bfdd049f 42/94: Fix autocrypt-gnus, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt ca711395c7 47/94: Add note explaining eql-specializiers for rmail-mode, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 37e14c3b92 60/94: Handle autocrypt-do-gossip as advertised, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 49f4a1a09e 62/94: Update README section on extending autocrypt.el,
ELPA Syncer <=
- [elpa] externals/autocrypt f3a556f216 66/94: Revert autocrypt-accounts back into a user option, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 8cc4b86db3 67/94: Reduce minimal version to 24.3, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 222954754a 73/94: Elaborate the autocrypt-install and -uninstall docstrings, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt fe5a358566 85/94: Add missing `-hook` suffix in readme hook name, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 3ad5baba83 90/94: Add auto-generated package.el files to .gitignore, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 82ceacb63c 13/94: fixed package-lint issues, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 354b339cfe 16/94: fixed or removed (require 'autocrypt) statements, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 2f94c4398f 22/94: encrypt message before composing if possible, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 13f31c7e45 45/94: Fix autocrypt-rmail, ELPA Syncer, 2023/03/26
- [elpa] externals/autocrypt 8bdddf38ff 48/94: Save autocrypt data when modified, ELPA Syncer, 2023/03/26