diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 37a3bb2cd1..5f49c64bb7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3074,6 +3074,40 @@ adding convenient undo/redo without losing access to the full undo history, allowing you to visit all previous states of the document if you need.") (license license:gpl3+)))) +(define-public emacs-undo-fu-session + ;; There are no tagged releases upstream on gitlab, instead we are using the + ;; most recent commit. + (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829") + (revision "0")) + (package + (name "emacs-undo-fu-session") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" "-l" "undo-fu-session.el" + "-l" "undo-fu-session-test.el") + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (synopsis "Save & recover undo steps between Emacs sessions") + (description "This package writes undo/redo information upon file save +which is restored where possible when the file is loaded again.") + (license license:gpl3+)))) + (define-public emacs-s (package (name "emacs-s")