Subject: [bug#30333] [PATCH] gnu: Add emacs-scratch-el.

From: Marius Bakke <[email-masked]>
Date: Wed, 14 Feb 2018 00:00:57 +0100

Oleg Pykhalov <[email-masked]> writes:

> * gnu/packages/emacs.scm (emacs-scratch-el): New public variable.

[...]

> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 9523f14da..69d18b060 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -6940,3 +6940,41 @@ navigation with the grails mode.")
>  @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
>  @kbd{C-<} to jump to the next and previous slide.")
>        (license license:gpl3+))))
> +
> +(define-public emacs-scratch-el
> +  (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
> +        (revision "1"))
> +    (package
> +      (name "emacs-scratch-el")
> +      (version (string-append "1.2" revision "."
> +                              (string-take commit 7)))

You can use (git-version "1.2" revision commit) here.

(by the way, where does 1.2 come from?)

> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/ieure/scratch-el.git")
> +                      (commit commit)))
> +                (file-name (string-append name "-" version "-checkout"))

Similarly, prefer (git-file-name ...).

> +                (sha256
> +                 (base32
> +                  "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
> +      (build-system emacs-build-system)
> +      (native-inputs
> +       `(("texinfo" ,texinfo)))
> +      (arguments
> +       '(#:phases
> +         (modify-phases %standard-phases
> +           (add-after 'install 'install-doc
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (unless (invoke "makeinfo" "scratch.texi")
> +                 (error "makeinfo failed"))
> +               (install-file "scratch.info"
> +                             (string-append (assoc-ref outputs "out")
> +                                            "/share/info")))))))

(install-file ...) has an unspecified return value, so return #t here.

> +      (home-page "https://github.com/ieure/scratch-el/")
> +      (synopsis "Create scratch buffers with the same mode current buffer")

s/same mode/same mode as/

Other than that LGTM.

> +      (description "Scratch is an extension to Emacs that enables one to create
> +scratch buffers that are in the same mode as the current buffer.  This is
> +notably useful when working on code in some language; you may grab code into a
> +scratch buffer, and, by virtue of this extension, do so using the Emacs
> +formatting rules for that language.")
> +      (license license:bsd-2))))
> -- 
> 2.15.1