.PHONY: check_copyrights
check_copyrights:
@echo "Compute exceptions >$(CR_EXCEPTIONS)~"
- @export LC_ALL=C; \
- (cd packages && \
- find . -name '.git' -prune -o \
- -name 'test' -prune -o \
- -name '*.el' -print0 | \
- xargs -0 grep -L 'Free Software Foundation, Inc' | \
- grep -v '\(\.dir-locals\|.-\(pkg\|autoloads\)\)\.el$$'; \
- find . -name '.git' -prune -o -name '*.el' -print | \
- while read f; do \
- fquoted="$$(echo $$f|tr '|' '_')"; \
- sed -n -e '/[Cc]opyright.*, *[1-9][-0-9]*,\?$$/N' \
- -e '/Free Software Foundation/d' \
- -e "s|^\\(.*[Cc]opyright\\)|$$fquoted:\\1|p" \
- "$$f"; \
+ @export LC_ALL=C; \
+ (cd packages && \
+ find . -name '.git' -prune -o \
+ -name 'test' -prune -o \
+ -name '*.el' -print0 | \
+ xargs -0 grep -L 'Free Software Foundation, Inc' | \
+ grep -v '\(\.dir-locals\|.-\(pkg\|autoloads\)\)\.el$$'; \
+ find . -name '.git' -prune -o -name '*.el' -type f -print | \
+ while read f; do \
+ fquoted="$$(echo $$f|tr '|' '_')"; \
+ sed -n -e '/[Cc]opyright.*, *[1-9][-0-9]*,\?$$/N' \
+ -e '/Free Software Foundation/d' \
+ -e "s|^\\(.*[Cc]opyright\\)|$$fquoted:\\1|p" \
+ "$$f"; \
done) | sort >$(CR_EXCEPTIONS)~
diff -u "$(CR_EXCEPTIONS)" "$(CR_EXCEPTIONS)~"
("gnorb" :subtree "https://github.com/girzel/gnorb")
("ioccur" :subtree "https://github.com/thierryvolpiatto/ioccur.git")
("js2-mode" :subtree "https://github.com/mooz/js2-mode.git")
+ ("let-alist" :core "lisp/emacs-lisp/let-alist.el")
("math-symbol-lists" :subtree "https://github.com/vspinu/math-symbol-lists.git")
("nameless" :subtree "https://github.com/Malabarba/Nameless")
- ("names" :subtree "http://github.com/Bruce-Connor/names")
+ ("names" :subtree "http://github.com/Malabarba/names")
("omn-mode" :external nil)
("ntlm" :core "lisp/net/ntlm.el")
("on-screen" :subtree "https://github.com/michael-heerdegen/on-screen.el.git")
(add-hook 'beacon-dont-blink-predicates #'window-minibuffer-p)
-(defcustom beacon-dont-blink-major-modes '(magit-status-mode magit-popup-mode)
+(defcustom beacon-dont-blink-major-modes '(t magit-status-mode magit-popup-mode
+ gnus-summary-mode gnus-group-mode)
"A list of major-modes where the beacon won't blink.
Whenever the current buffer satisfies `derived-mode-p' for
one of the major-modes on this list, the beacon will not
blink."
:type '(repeat symbol))
-(defcustom beacon-dont-blink-commands '(recenter-top-bottom)
+(defcustom beacon-dont-blink-commands '(recenter-top-bottom next-line previous-line
+ forward-line)
"A list of commands that should not make the beacon blink.
Use this for commands that scroll the window in very
predictable ways, when the blink would be more distracting
#+OPTIONS: toc:nil num:nil
#+TITLE: [[file:hunter.png]] The Bug Hunter [[https://travis-ci.org/Malabarba/elisp-bug-hunter][file:https://travis-ci.org/Malabarba/elisp-bug-hunter.svg?branch=master]]
+/Automatically debug and bisect your init (.emacs) file!/
The Bug Hunter is an Emacs library that finds the source of an error
or unexpected behavior inside an elisp configuration file (typically
-;;; bug-hunter.el --- Hunt down errors in elisp files -*- lexical-binding: t; -*-
+;;; bug-hunter.el --- Hunt down errors by bisecting elisp files -*- lexical-binding: t; -*-
;; Copyright (C) 2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <emacs@endlessparentheses.com>
-;; URL: http://github.com/Malabarba/elisp-bug-hunter
-;; Version: 1.0
+;; URL: https://github.com/Malabarba/elisp-bug-hunter
+;; Version: 1.0.1
;; Keywords: lisp
;; Package-Requires: ((seq "1.3") (cl-lib "0.5"))
returns nil on a clean Emacs instance.
If you're unsure how to write an assertion, you can try the interactive
hunt instead, or see some examples in the Readme:
- https://github.com/Bruce-Connor/elisp-bug-hunter"
+ https://github.com/Malabarba/elisp-bug-hunter"
"Printed to the user if they provide a bad assertion.")
(defvar bug-hunter--current-head nil
interactive hunt instead of the error hunt. If you have some
elisp proficiency, you can also use the assertion hunt, see this
link for some examples:
- https://github.com/Bruce-Connor/elisp-bug-hunter")
+ https://github.com/Malabarba/elisp-bug-hunter")
(or assertion "")))
;; Make sure we're in a forest, not a volcano.
+++ /dev/null
-;;; let-alist.el --- Easily let-bind values of an assoc-list by their names -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
-;; Maintainer: Artur Malabarba <bruce.connor.am@gmail.com>
-;; Version: 1.0.4
-;; Keywords: extensions lisp
-;; Prefix: let-alist
-;; Separator: -
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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 Emacs 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 License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This package offers a single macro, `let-alist'. This macro takes a
-;; first argument (whose value must be an alist) and a body.
-;;
-;; The macro expands to a let form containing body, where each dotted
-;; symbol inside body is let-bound to their cdrs in the alist. Dotted
-;; symbol is any symbol starting with a `.'. Only those present in
-;; the body are let-bound and this search is done at compile time.
-;;
-;; For instance, the following code
-;;
-;; (let-alist alist
-;; (if (and .title .body)
-;; .body
-;; .site
-;; .site.contents))
-;;
-;; essentially expands to
-;;
-;; (let ((.title (cdr (assq 'title alist)))
-;; (.body (cdr (assq 'body alist)))
-;; (.site (cdr (assq 'site alist)))
-;; (.site.contents (cdr (assq 'contents (cdr (assq 'site alist))))))
-;; (if (and .title .body)
-;; .body
-;; .site
-;; .site.contents))
-;;
-;; If you nest `let-alist' invocations, the inner one can't access
-;; the variables of the outer one. You can, however, access alists
-;; inside the original alist by using dots inside the symbol, as
-;; displayed in the example above by the `.site.contents'.
-;;
-;;; Code:
-\f
-
-(defun let-alist--deep-dot-search (data)
- "Return alist of symbols inside DATA that start with a `.'.
-Perform a deep search and return an alist where each car is the
-symbol, and each cdr is the same symbol without the `.'."
- (cond
- ((symbolp data)
- (let ((name (symbol-name data)))
- (when (string-match "\\`\\." name)
- ;; Return the cons cell inside a list, so it can be appended
- ;; with other results in the clause below.
- (list (cons data (intern (replace-match "" nil nil name)))))))
- ((not (consp data)) nil)
- (t (append (let-alist--deep-dot-search (car data))
- (let-alist--deep-dot-search (cdr data))))))
-
-(defun let-alist--access-sexp (symbol variable)
- "Return a sexp used to access SYMBOL inside VARIABLE."
- (let* ((clean (let-alist--remove-dot symbol))
- (name (symbol-name clean)))
- (if (string-match "\\`\\." name)
- clean
- (let-alist--list-to-sexp
- (mapcar #'intern (nreverse (split-string name "\\.")))
- variable))))
-
-(defun let-alist--list-to-sexp (list var)
- "Turn symbols LIST into recursive calls to `cdr' `assq' on VAR."
- `(cdr (assq ',(car list)
- ,(if (cdr list) (let-alist--list-to-sexp (cdr list) var)
- var))))
-
-(defun let-alist--remove-dot (symbol)
- "Return SYMBOL, sans an initial dot."
- (let ((name (symbol-name symbol)))
- (if (string-match "\\`\\." name)
- (intern (replace-match "" nil nil name))
- symbol)))
-
-\f
-;;; The actual macro.
-;;;###autoload
-(defmacro let-alist (alist &rest body)
- "Let-bind dotted symbols to their cdrs in ALIST and execute BODY.
-Dotted symbol is any symbol starting with a `.'. Only those present
-in BODY are let-bound and this search is done at compile time.
-
-For instance, the following code
-
- (let-alist alist
- (if (and .title .body)
- .body
- .site
- .site.contents))
-
-essentially expands to
-
- (let ((.title (cdr (assq 'title alist)))
- (.body (cdr (assq 'body alist)))
- (.site (cdr (assq 'site alist)))
- (.site.contents (cdr (assq 'contents (cdr (assq 'site alist))))))
- (if (and .title .body)
- .body
- .site
- .site.contents))
-
-If you nest `let-alist' invocations, the inner one can't access
-the variables of the outer one. You can, however, access alists
-inside the original alist by using dots inside the symbol, as
-displayed in the example above."
- (declare (indent 1) (debug t))
- (let ((var (make-symbol "alist")))
- `(let ((,var ,alist))
- (let ,(mapcar (lambda (x) `(,(car x) ,(let-alist--access-sexp (car x) var)))
- (delete-dups (let-alist--deep-dot-search body)))
- ,@body))))
-
-(provide 'let-alist)
-
-;;; let-alist.el ends here
;; Copyright (C) 2014 Free Software Foundation, Inc.
-;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
-;; Maintainer: Artur Malabarba <bruce.connor.am@gmail.com>
-;; URL: http://github.com/Bruce-Connor/names
;; Prefix: names
;; Separator: -
;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <emacs@endlessparentheses.com>
-;; URL: https://github.com/Bruce-Connor/names
-;; Version: 20150723.0
+;; URL: https://github.com/Malabarba/names
+;; Version: 20151201.0
;; Package-Requires: ((emacs "24.1") (cl-lib "0.5"))
;; Keywords: extensions lisp
;; The description is way too large to sanely write here, below is a
;; summary. For a complete description, please visit the package's
;; frontpage with `M-x names-view-manual', or see the Readme file on
-;; https://raw.githubusercontent.com/Bruce-Connor/names/master/Readme.org
+;; https://raw.githubusercontent.com/Malabarba/names/master/Readme.org
;;; License:
;;
\f
;;; ---------------------------------------------------------------
;;; Variables
-(defconst names-version "20150723.0" "Version of the names.el package.")
+(defconst names-version "20151201.0" "Version of the names.el package.")
(defvar names--name nil
"Name of the current namespace inside the `define-namespace' macro.")
(defun names-view-manual ()
"Call `browse-url' to view the manual of the Names package."
(interactive)
- (browse-url "http://github.com/Bruce-Connor/names"))
+ (browse-url "http://github.com/Malabarba/names"))
(defun names--package-name ()
"Return the package name as a symbol.
;; Author: Artur Malabarba <emacs@endlessparentheses.com>
;; URL: https://github.com/Malabarba/rich-minority
;; Package-Requires: ((cl-lib "0.5"))
-;; Version: 1.0
+;; Version: 1.0.1
;; Keywords: mode-line faces
;;; Commentary:
(require 'lisp-mnt)
(message "Your rm-version is: %s, and your emacs version is: %s.\nPlease include this in your report!"
(lm-version "rich-minority.el") emacs-version)
- (browse-url "https://github.com/Bruce-Connor/rich-minority/issues/new"))
+ (browse-url "https://github.com/Malabarba/rich-minority/issues/new"))
(defun rm-customize ()
"Open the customization menu in the `rich-minority' group."
(interactive)
([f12] . transcribe-xml-tag-l2))
)
-;;;; ChangeLog:
-
-;; 2015-11-30 David Gonzalez Gandara <dggandara@member.fsf.org>
-;;
-;; Added minor-mode function as suggested
-;;
-;; 2015-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
-;;
-;; * transcribe.el: Add `provide' statement
-;;
-;; 2015-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
-;;
-;; * transcribe.el: Fix up formatting and copyright
-;;
-;; 2015-11-29 David Gonzalez Gandara <dggandara@member.fsf.org>
-;;
-;; Added some usage information
-;;
-;; 2015-11-29 David Gonzalez Gandara <dggandara@member.fsf.org>
-;;
-;; Package transcribe added
-;;
-
-
(provide 'transcribe)
;;; transcribe.el ends here