[PATCH] etc: Add copyright.
Add Reply
Oleg Pykhalov
2017-12-20 14:40:20 UTC
Raw Message
From f8df6a8059878e9b61c7b211e854194c56c74efc Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <***@gmail.com>
Date: Wed, 20 Dec 2017 16:57:37 +0300
Subject: [PATCH] etc: Add copyright.

* etc/copyright.el: New file.
* doc/contributing.texi (The Perfect Setup): Document copyright.
doc/contributing.texi | 27 +++++++++++++++++++++++++++
etc/copyright.el | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
create mode 100644 etc/copyright.el

diff --git a/doc/contributing.texi b/doc/contributing.texi
index 01f8aad9f..5b72b1c40 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -221,6 +221,33 @@ trigger string @code{origin...}, which can be expanded further. The
@code{origin} snippet in turn may insert other trigger strings ending on
@code{...}, which also can be expanded further.

+@cindex insert or update copyright
+@cindex @code{M-x guix-copyright}
+@cindex @code{M-x copyright-update}
+Additionaly we provide insertion and automatic update of a copyright in
+@file{etc/copyright.el}. You may want to set your full name, mail, and
+load a file.
+(setq user-full-name "NAME")
+(setq user-mail-address "EMAIL")
+;; @r{Assuming the Guix checkout is in ~/src/guix.}
+(load-file "~/src/guix/etc/copyright.el")
+@end lisp
+To insert a copyright at the current line invoke @code{M-x guix-copyright}.
+To update a copyright you need to specify a @code{copyright-names-regexp}.
+(setq copyright-names-regexp
+ (format "%s <%s>" user-full-name user-mail-address))
+@end lisp
+You can check if your copyright is up to date by evaluating @code{M-x
+copyright-update}. If you want to do it automatically after each buffer
+save then add @code{(add-hook 'after-save-hook 'copyright-update)} in

@node Coding Style
@section Coding Style
diff --git a/etc/copyright.el b/etc/copyright.el
new file mode 100644
index 000000000..9f6b773b1
--- /dev/null
+++ b/etc/copyright.el
@@ -0,0 +1,34 @@
+;;; copyright.el --- Insert a Guix copyright.
+;; Copyright © 2017 Oleg Pykhalov <***@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 License as published by
+;; the Free Software Foundation, either version 3 of the License, 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
+;; GNU General Public License for more details.
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+;;; Commentary:
+;; This package provides skeleton to insert a copyright with `guix-copyright'.
+;;; Code:
+(define-skeleton guix-copyright
+ "Insert a copyright by $USER notice at cursor."
+ comment-start
+ ";; Copyright © " `(format-time-string "%Y") " "
+ (or (format "%s <%s>" user-full-name user-mail-address) str)
+ comment-end)
+;;; copyright.el ends here
Oleg Pykhalov
2017-12-20 15:26:31 UTC
Raw Message
Oleg Pykhalov <***@gmail.com> writes:

Probably better before-save-hook.