4.1 Initializing

A scheme must be initialized before it is used. It had better guarantee to keep only one instance of a scheme.

The following code is snipped out of pgg-gpg.el. Once an instance of pgg-gpg scheme is initialized, it’s stored to the variable pgg-scheme-gpg-instance and will be reused from now on.

(defvar pgg-scheme-gpg-instance nil)

(defun pgg-make-scheme-gpg ()
  (or pgg-scheme-gpg-instance
      (setq pgg-scheme-gpg-instance
            (luna-make-entity 'pgg-scheme-gpg))))

The name of the function must follow the regulation—pgg-make-scheme- follows the back end name.