[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/hook-helpers ff95f49 18/19: Preparations to push to ELPA
From: |
Ian Dunn |
Subject: |
[elpa] scratch/hook-helpers ff95f49 18/19: Preparations to push to ELPA |
Date: |
Sun, 23 Apr 2017 12:50:41 -0400 (EDT) |
branch: scratch/hook-helpers
commit ff95f4944f3d6d1a43aca141cb7fa36a9043704d
Author: Ian Dunn <address@hidden>
Commit: Ian Dunn <address@hidden>
Preparations to push to ELPA
Updated copyright on all files.
* hook-helpers.el (package header): Added requirements and bumped version to
1.1beta1
* hook-helpers.org: Renamed from README.org, updated copyright, and added
installation section.
---
.gitignore | 2 +-
Makefile | 5 +++--
hook-helpers-tests.el | 5 +++--
hook-helpers.el | 21 +++++++++++++--------
README.org => hook-helpers.org | 37 ++++++++++++++++++++++++++++++-------
5 files changed, 50 insertions(+), 20 deletions(-)
diff --git a/.gitignore b/.gitignore
index ef39635..1af0c54 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
*.elc
-README.html
\ No newline at end of file
+hook-helpers.html
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 68d4062..9a91f34 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
# This is part of Hook Helpers
#
-# Copyright (C) 2016 Ian Dunn.
+# Copyright (C) 2016 Ian Dunn
+# Copyright (C) 2017 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -40,7 +41,7 @@ hook-helpers-autoloads.el:
clean:
-rm -f *.elc
-check:
+check: compile
@$(EMACS) \
-L "." \
--load "ert" \
diff --git a/hook-helpers-tests.el b/hook-helpers-tests.el
index c5758e6..d3b446a 100644
--- a/hook-helpers-tests.el
+++ b/hook-helpers-tests.el
@@ -1,11 +1,12 @@
;;; hook-helpers-tests.el --- Tests for hook helpers
-;; Copyright (C) 2016,2017 Ian Dunn
+;; Copyright (C) 2016 Ian Dunn
+;; Copyright (C) 2017 Free Software Foundation, Inc.
;; Author: Ian Dunn <address@hidden>
;; Keywords: development, hooks
;; URL: https://savannah.nongnu.org/projects/hook-helpers-el/
-;; Version: 1.0
+;; Version: 1.1
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
diff --git a/hook-helpers.el b/hook-helpers.el
index dbc7bc0..9772049 100644
--- a/hook-helpers.el
+++ b/hook-helpers.el
@@ -1,13 +1,16 @@
-;;; hook-helpers.el --- Anonymous, modifiable hook functions
+;;; hook-helpers.el --- Anonymous, modifiable hook functions -*-
lexical-binding: t; -*-
;; Copyright (C) 2016 Ian Dunn
+;; Copyright (C) 2017 Free Software Foundation, Inc.
;; Author: Ian Dunn <address@hidden>
+;; Maintainer: Ian Dunn <address@hidden>
;; Keywords: development, hooks
+;; Package-Requires: ((emacs "25.1"))
;; URL: https://savannah.nongnu.org/projects/hook-helpers-el/
-;; Version: 1.1alpha1
+;; Version: 1.1beta1
;; Created: 06 May 2016
-;; Modified: 21 May 2016
+;; Modified: 23 Apr 2017
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -27,12 +30,13 @@
;; Often times, I see people define a function to be used once in a hook. If
;; they don’t do this, then it will be an anonymous function. If the anonymous
;; function is modified, then the function can’t be removed. With a function
-;; outside of the ‘add-hook’ call, it looks messy.
+;; outside of the `add-hook' call, it looks messy.
-;; The ‘define-hook-helper’ macro is a solution to this. Think of it as an
-;; anaphoric ‘add-hook’, but one that can be called many times without risking
-;; redundant hook functions. It gives a cleaner look and feel to Emacs
-;; configuration files.
+;; Hook Helpers are a solution to this. A "hook helper" is an anonymous,
+;; modifiable function created for the sole purpose of being attached to a
hook.
+;; This combines the two commonly used methods mentioned above. The functions
+;; don't exist, so they don't get in the way of `describe-function', but they
+;; can be removed or modified as needed.
;;; Code:
@@ -104,6 +108,7 @@ For each hook HOOK in the original:
;; Delete the helper from the hooks
(cl-delete old-func (symbol-value hook) :test 'equal)))))))
+;;;###autoload
(defmacro create-hook-helper (id args &optional docstring &rest body)
"Creates a new hook helper ID for the hooks in HOOKS.
diff --git a/README.org b/hook-helpers.org
similarity index 82%
rename from README.org
rename to hook-helpers.org
index 2af2a8e..4a72ce1 100644
--- a/README.org
+++ b/hook-helpers.org
@@ -3,7 +3,8 @@
#+EMAIL: address@hidden
* Copying
-Copyright (C) 2016-2017 Ian Dunn
+Copyright (C) 2016 Ian Dunn
+Copyright (C) 2017 Free Software Foundation, Inc.
#+BEGIN_QUOTE
This program is free software: you can redistribute it and/or modify
@@ -34,15 +35,38 @@ This combines the two commonly used methods mentioned
above. The functions
don't exist, so they don't get in the way of ~C-h f~, but they can be removed
or
modified as needed.
-Let's look at an example:
+* Installation
+
+Hook Helpers requires Emacs 25.1 or later.
+
+To install hook helpers, you can clone from the git repo:
+
+#+BEGIN_SRC shell
+git clone https://git.savannah.gnu.org/git/hook-helpers-el hook-helpers
+make -C hook-helpers compile autoloads
+#+END_SRC
+
+After that, setup is easy. Just add the following to your .emacs file (or
+equivalent):
+
+#+BEGIN_SRC emacs-lisp
+(add-to-list 'load-path "/path/to/hook-helpers")
+(load "/path/to/hook-helpers/hook-helpers-autoloads.el")
+#+END_SRC
+
+* Examples
+Let's look at some examples.
+
+Without using a hook helper, one must do the following:
#+BEGIN_SRC emacs-lisp
(defun my/after-init-hook ()
(set-scroll-bar-mode nil))
+(add-hook 'after-init-hook 'my/after-init-hook)
#+END_SRC
-You've got to remember to actually add this to the after-init-hook variable.
-Alternatively, you can use a lambda function:
+If you forget the ~add-hook~ call, then this doesn't do any good.
Alternatively,
+you can use a lambda function:
#+BEGIN_SRC emacs-lisp
(add-hook 'after-init-hook (lambda () (set-scroll-bar-mode nil)))
@@ -53,7 +77,7 @@ after-init-hook variable, and you have to deal with it. It's
not a problem for
after-init-hook, which is used once, but would be a problem for a mode hook,
like text-mode-hook.
-Instead, hook-helpers can do the following:
+With a hook helper, this is reduced to the following:
#+BEGIN_SRC emacs-lisp
(define-hook-helper after-init ()
@@ -62,8 +86,7 @@ Instead, hook-helpers can do the following:
Which handles everything for you.
-* Usage
-
+* In-Depth Usage
There are two macros in hook helpers: ~define-hook-helper~ and
~create-hook-helper~.
The former is a basic case; it creates and adds a helper for a single hook.
- [elpa] scratch/hook-helpers 5e4a3a8 02/19: Added remove-hook-helper to README., (continued)
- [elpa] scratch/hook-helpers 5e4a3a8 02/19: Added remove-hook-helper to README., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 706af98 15/19: Clean up describe-hook-helpers, Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 3bb2282 09/19: Updated README, removing define-mode-hook-helper., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 7f1eccf 16/19: Fixed bug in hkhlp-normalize-hook-spec, Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 0386e23 04/19: Modified define-hook-helper to more closely match defun., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 0fc0b3d 14/19: Fixed bug in define-hook-helper, Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers dff9910 10/19: Added `define-hook-function' to allow defining a function to be added to multiple hooks., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers a46803b 17/19: Fixed failing tests, Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 93ae501 12/19: Finished last commit., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers 7970dcf 01/19: Initial commit., Ian Dunn, 2017/04/23
- [elpa] scratch/hook-helpers ff95f49 18/19: Preparations to push to ELPA,
Ian Dunn <=
- [elpa] scratch/hook-helpers 365d8de 19/19: Add 'packages/hook-helpers/' from commit 'ff95f4944f3d6d1a43aca141cb7fa36a9043704d', Ian Dunn, 2017/04/23