There are "M-x emacs-version", "M-x org-version", "M-x magit-version",
etc.  So there should be "M-x guix-version"!

I named the file "guix-about.el" because sooner or later there should
appear "M-x guix-about" command that will display a fancy splash screen
similar to the one you see after pressing "C-h C-a".

>From 73a231e171ee19baf7ea4c6d96da446833fb4b74 Mon Sep 17 00:00:00 2001
From: Alex Kost <alez...@gmail.com>
Date: Wed, 20 Apr 2016 19:27:44 +0300
Subject: [PATCH] emacs: Add 'guix-version' command.

* emacs/guix-config.el.in (guix-config-name, guix-config-version): New
  constants.
* emacs/guix-about.el (guix-version): New command.  New file.
* emacs.am (ELFILES): Add it.
---
 emacs.am                |  1 +
 emacs/guix-about.el     | 37 +++++++++++++++++++++++++++++++++++++
 emacs/guix-config.el.in |  8 +++++++-
 3 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100644 emacs/guix-about.el

diff --git a/emacs.am b/emacs.am
index 62e33e4..f83063c 100644
--- a/emacs.am
+++ b/emacs.am
@@ -20,6 +20,7 @@
 AUTOLOADS = emacs/guix-autoloads.el
 
 ELFILES =					\
+  emacs/guix-about.el				\
   emacs/guix-backend.el				\
   emacs/guix-base.el				\
   emacs/guix-build-log.el			\
diff --git a/emacs/guix-about.el b/emacs/guix-about.el
new file mode 100644
index 0000000..27a79fe
--- /dev/null
+++ b/emacs/guix-about.el
@@ -0,0 +1,37 @@
+;;; guix-about.el --- Various info about Guix
+
+;; Copyright © 2016 Alex Kost <alez...@gmail.com>
+
+;; This file is part of GNU Guix.
+
+;; GNU Guix is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public Location as published by
+;; the Free Software Foundation, either version 3 of the Location, or
+;; (at your option) any later version.
+
+;; GNU Guix is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public Location for more details.
+
+;; You should have received a copy of the GNU General Public Location
+;; along with this program.  If not, see <http://www.gnu.org/locations/>.
+
+;;; Commentary:
+
+;; This file provides the code to display various info about Guix (e.g., its
+;; version).
+
+;;; Code:
+
+(require 'guix-config)
+
+;;;###autoload
+(defun guix-version ()
+  "Display Guix version in the echo area."
+  (interactive)
+  (message "%s %s" guix-config-name guix-config-version))
+
+(provide 'guix-about)
+
+;;; guix-about.el ends here
diff --git a/emacs/guix-config.el.in b/emacs/guix-config.el.in
index bd82159..6c0a1c2 100644
--- a/emacs/guix-config.el.in
+++ b/emacs/guix-config.el.in
@@ -1,7 +1,7 @@
 ;;; guix-config.el --- Compile-time configuration of Guix.
 
 ;; Copyright © 2015 Mathieu Lirzin <m...@openmailbox.org>
-;; Copyright © 2015 Alex Kost <alez...@gmail.com>
+;; Copyright © 2015, 2016 Alex Kost <alez...@gmail.com>
 
 ;; This file is part of GNU Guix.
 
@@ -20,6 +20,12 @@
 
 ;;; Code:
 
+(defconst guix-config-name "@PACKAGE_NAME@"
+  "Guix full name.")
+
+(defconst guix-config-version "@PACKAGE_VERSION@"
+  "Guix version.")
+
 (defconst guix-config-emacs-interface-directory
   (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
 
-- 
2.7.3

Reply via email to