Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Persistent storage, returning nil on failure
Emacs Lisp Makefile
branch: master

This branch is even with rolandwalker:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ert-tests
.gitignore
.travis.yml
Makefile
README.markdown
persistent-soft.el

README.markdown

Build Status

Overview

Persistent storage for Emacs, returning nil on failure.

Quickstart

(require 'persistent-soft)
(persistent-soft-store 'hundred 100 "mydatastore")
(persistent-soft-fetch 'hundred "mydatastore")    ; 100
(persistent-soft-fetch 'thousand "mydatastore")   ; nil

;; quit and restart Emacs

(persistent-soft-fetch 'hundred "mydatastore")    ; 100

Explanation

This is a wrapper around pcache.el, providing "soft" fetch and store routines which never throw an error, but instead return nil on failure.

There is no end-user interface for this library. It is only useful from other Lisp code.

The following functions are provided:

persistent-soft-store
persistent-soft-fetch
persistent-soft-exists-p
persistent-soft-flush
persistent-soft-location-readable
persistent-soft-location-destroy

To use persistent-soft, place the persistent-soft.el library somewhere Emacs can find it, and add the following to your ~/.emacs file:

(require 'persistent-soft)

See Also

  • M-x customize-group RET persistent-soft RET

Notes

Using pcache with a more recent version of CEDET gives

Unsafe call to `eieio-persistent-read'.
eieio-persistent-read: Wrong type argument: class-p, nil

This library provides something of a workaround.

Bugs

Persistent-soft is a wrapper around pcache which is a wrapper around eieio. Therefore, persistent-soft should probably be rewritten to use eieio directly or recast as a patch to pcache.

Compatibility and Requirements

GNU Emacs version 24.4-devel     : yes, at the time of writing
GNU Emacs version 24.3           : yes
GNU Emacs version 23.3           : yes
GNU Emacs version 22.3 and lower : no

Uses if present: pcache.el (all operations are noops when not present)

Something went wrong with that request. Please try again.