Commit 56fa0941 authored by Lev Lamberov's avatar Lev Lamberov

New upstream version 1.3.1

parent cba1ad46
language: emacs-lisp
install:
- if [ "$EMACS" = 'emacs24' ]; then
sudo add-apt-repository -y ppa:cassou/emacs &&
sudo apt-get -qq update &&
sudo apt-get -qq -f install &&
sudo apt-get -qq install emacs24 emacs24-el;
fi
env:
- EMACS=emacs24
# run the tests
script:
- /bin/bash ./autogen.sh && cd test && make check
This diff is collapsed.
2015-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
* load-relative.el (__FILE__): Mention the bytecomp-filename problem.
Fix other details mentioned by `checkdoc-current-buffer'.
2010-09-30 rocky <rocky@gnu.org>
* .gitignore: git Administrivia.
......@@ -14,7 +9,7 @@
2010-09-30 rocky <rocky@gnu.org>
* .gitignore, COPYING, Makefile.am, README, configure.ac:
* .gitignore, COPYING, Makefile.am, README, configure.ac:
Administrivia. Add COPYING, update README and .gitignore, bump
version number.
......
This diff is collapsed.
lisp_files := $(wildcard *.el)
lisp_LISP = $(lisp_files)
PHONY=check check-short clean dist distclean test
EXTRA_DIST = $(lisp_files) $(test_files) README.md
GIT2CL ?= git2cl
#: Run all tests
check: $(test-files)
$(MAKE) -C test check
#: Run all tests with minimum verbosity
check-short:
$(MAKE) -C test check 2>&1 | ruby test/make-check-filter.rb
#: same as check
test: check
#: same as check-short
test-short: check-short
#: Read this first.
README: README.md
ln -s README.md README
if MAINTAINER_MODE
CL = ChangeLog
#: Create a log file from the individual commits via git2cl
ChangeLog:
git log --pretty --numstat --summary | $(GIT2CL) > $@
ACLOCAL_AMFLAGS=-I .
endif
CR_EXCEPTIONS=copyright_exceptions
#: Check for GNU Copyrights.
check_copyrights:
@echo "Compute exceptions >$(CR_EXCEPTIONS)~"
@export LANG=C; \
find . -name '.git' -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"; \
done | sort >$(CR_EXCEPTIONS)~
diff -u "$(CR_EXCEPTIONS)" "$(CR_EXCEPTIONS)~"
Phil Lord - Contribute find-file-noselect-relative, and with-relative-file
Lars Anderson - Melapa packaging, among other things
Lars Anderson - Melpa packaging, among other things
Stefan Monnier <monnier@iro.umontreal.ca> - Elisp guidance
#!/bin/sh
autoreconf -vi && \
autoconf && {
echo "Running configure with --enable-maintainer-mode $@"
./configure --enable-maintainer-mode $@
}
short:
$(MAKE) 2>&1 >/dev/null | ruby $(top_srcdir)/make-check-filter.rb
%.short:
$(MAKE) $(@:.short=) 2>&1 >/dev/null
AC_INIT(emacs-load-relative, 1.3.1,)
AC_CONFIG_SRCDIR(load-relative.el)
AM_INIT_AUTOMAKE([foreign])
AM_MAINTAINER_MODE
AM_MISSING_PROG(GIT2CL, git2cl, $missing_dir)
AC_PATH_PROG(EMACS, emacs, no)
AC_ARG_WITH(emacs, AC_HELP_STRING([--with-emacs],
[location of emacs program]), EMACS=$withval)
if test x$EMACS != xno ; then
$EMACS -batch -q -no-site-file -eval \
'(if (< emacs-major-version 23)
(progn
(error "You need GNU Emacs 23 or better for this package.")
(kill-emacs 1)
))'
if test $? -ne 0 ; then
EMACS=no
fi
fi
##
## Find out where to install the debugger emacs lisp files
##
AM_PATH_LISPDIR
AM_CONDITIONAL(INSTALL_EMACS_LISP, test "x$lispdir" != "x")
AC_CONFIG_FILES([Makefile test/Makefile])
AC_OUTPUT
(eval-when-compile
(defvar el-get-sources)
)
(declare-function el-get-post-install 'el-get)
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
;;; el-get-install.el --- installer for the lazy
;;
;; Copyright (C) 2010 Dimitri Fontaine
;;
;; Author: Dimitri Fontaine <dim@tapoueh.org>
;; URL: http://www.emacswiki.org/emacs/el-get.el
;; Created: 2010-06-17
;; Keywords: emacs package elisp install elpa git git-svn bzr cvs apt-get fink http http-tar
;; Licence: WTFPL, grab your copy here: http://sam.zoy.org/wtfpl/
;;
;; This file is NOT part of GNU Emacs.
;;
;; bootstrap your el-get installation, the goal is then to use el-get to
;; update el-get.
;;
;; So the idea is that you copy/paste this code into your *scratch* buffer,
;; hit C-j, and you have a working el-get.
(let ((el-get-root
(file-name-as-directory
(or (bound-and-true-p el-get-dir)
(concat (file-name-as-directory user-emacs-directory) "el-get")))))
(when (file-directory-p el-get-root)
(add-to-list 'load-path el-get-root))
;; try to require el-get, failure means we have to install it
(unless (require 'el-get nil t)
(unless (file-directory-p el-get-root)
(make-directory el-get-root t))
(let* ((package "el-get")
(buf (switch-to-buffer "*el-get bootstrap*"))
(pdir (file-name-as-directory (concat el-get-root package)))
(git (or (executable-find "git")
(error "Unable to find `git'")))
(url (or (bound-and-true-p el-get-git-install-url)
"http://github.com/dimitri/el-get.git"))
(default-directory el-get-root)
(process-connection-type nil) ; pipe, no pty (--no-progress)
;; First clone el-get
(status
(call-process
git nil `(,buf t) t "--no-pager" "clone" "-v" url package)))
(unless (zerop status)
(error "Couldn't clone el-get from the Git repository: %s" url))
;; switch branch if we have to
(let* ((branch (cond
;; Check if a specific branch is requested
((bound-and-true-p el-get-install-branch))
;; Check if master branch is requested
((boundp 'el-get-master-branch) "master")
;; Read the default branch from the el-get recipe
((plist-get (with-temp-buffer
(insert-file-contents-literally
(expand-file-name "recipes/el-get.rcp" pdir))
(read (current-buffer)))
:branch))
;; As a last resort, use the master branch
("master")))
(remote-branch (format "origin/%s" branch))
(default-directory pdir)
(bstatus
(if (string-equal branch "master")
0
(call-process git nil (list buf t) t "checkout" "-t" remote-branch))))
(unless (zerop bstatus)
(error "Couldn't `git checkout -t %s`" branch)))
(add-to-list 'load-path pdir)
(load package)
(let ((el-get-default-process-sync t) ; force sync operations for installer
(el-get-verbose t)) ; let's see it all
(el-get-post-install "el-get"))
(with-current-buffer buf
(goto-char (point-max))
(insert "\nCongrats, el-get is installed and ready to serve!")))))
(declare-function el-get 'el-get)
;; now either el-get is `require'd already, or have been `load'ed by the
;; el-get installer.
(setq
el-get-sources
'(el-get ; el-get is self-hosting
loc-changes ; loc marks in buffers
load-relative ; load emacs lisp relative to emacs source
test-simple ; simple test framework
))
;; install new packages and init already installed packages
(el-get 'sync '(loc-changes list-utils load-relative test-simple))
#!/bin/sh
# Copyright (C) 1995, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
scriptversion=2009-11-26.09
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1995.
#
# 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
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No files. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: elisp-comp [--help] [--version] FILES...
This script byte-compiles all `.el' files listed as FILES using GNU
Emacs, and put the resulting `.elc' files into the current directory,
so disregarding the original directories used in `.el' arguments.
This script manages in such a way that all Emacs LISP files to
be compiled are made visible between themselves, in the event
they require or load-library one another.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "elisp-comp $scriptversion"
exit $?
;;
esac
if test -z "$EMACS" || test "$EMACS" = "t"; then
# Value of "t" means we are running in a shell under Emacs.
# Just assume Emacs is called "emacs".
EMACS=emacs
fi
tempdir=.
# Cleanup the temporary directory on exit.
# trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0
trap 'ret=$?; rm -rf "./script" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
(
cd $tempdir
echo "(setq load-path (cons nil load-path))" > script
$EMACS -batch -q -l script -f batch-byte-compile *.el || exit $?
# mv *.elc ..
) || exit $?
(exit 0); exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
#!/bin/bash
# This installs all realgud and its prerequisites. If you are lucky
# you can just run this:
#
# bash ./install-from-git.sh
#
# However we do provide for some customization...
#
# 1. GIT PROTOCOL
# ===============
#
# If your "git clone" can't handle the "http" protocol, you might be
# able to use the "git" protocol. To do this set the GIT_PROTOCOL
# variable like this:
#
# GIT_PROTOCOL=git sh ./install-from-git.sh
#
# 2. configure options (e.g --prefix)
# ====================================
# If you want to customize configuration parameters, for example,
# choose where to install, you can pass configure options to this
# script. For example:# can pass configure options.
#
# sh ./install-from-git.sh --prefix=/tmp
#
# 3. TO "sudo" or not to "sudo"?
# ==============================
# If you are running as root on a *Nix-like box, then there's no problem.
#
# If you are not running as root, "sudo" might be invoked to install
# code. On systems that don't have a "sudo" command but need
# filesystem permission, then you get by with setting SUDO_CMD to "su root-c"
# For example:
#
# SUDO_CMD='su root -c' sh ./install-from-git.sh
#
# If you have sufficient filesystem permission (which is often the
# case on Windows or cygwin) then you might not need or want sudo. So
# here, set SUDO_CMD to a blank:
#
# SUDO_CMD=' ' sh ./install-from-git.sh
#
#
# To finish here is an invocation using all 3 above options:
# GIT_PROTOCOL='git' SUDO_CMD=' ' sh ./install-from-git.sh --prefix=/tmp
GIT_PROTOCOL=${GIT_PROTOCOL:-http}
# Run and echo a command
run_cmd() {
echo "--- Running command: $@"
$@
rc=$?
echo "--- $@ exit status is $?"
return $rc
}
# environment variable SUDO_CMD could be "sudo" or "su root -c" or " "
# for don't need sudo
if (( $(id -u) != 0)) ; then
if [[ -z "$SUDO_CMD" ]] ; then
need_sudo='sudo'
if which $need_sudo >/dev/null 2>&1 ; then
try_cmd=''
else
need_sudo='su root -c'
try_cmd='su'
fi
else
need_sudo="$SUDO_CMD"
fi
else
need_sudo=''
try_cmd=''
fi
for program in git make $need_sudo ; do
if ! which $program >/dev/null 2>&1 ; then
echo "Cant find program $program in $PATH"
exit 1
fi
done
for pkg in emacs-{test-simple,load-relative} ; do
echo '******************************************'
echo Trying to install ${pkg}...
echo '******************************************'
run_cmd git clone ${GIT_PROTOCOL}://github.com/rocky/${pkg}.git
(cd $pkg && \
run_cmd $SHELL ./autogen.sh && \
run_cmd ./configure $@ && \
run_cmd make && \
run_cmd make check && \
run_cmd $need_sudo make install
)
done
;;; load-relative.el --- relative file load (within a multi-file Emacs package)
;;; load-relative.el --- Relative file load (within a multi-file Emacs package) -*- lexical-binding: t -*-
;; Author: Rocky Bernstein <rocky@gnu.org>
;; Version: 1.3
;; Version: 1.3.1
;; Keywords: internal
;; URL: http://github.com/rocky/emacs-load-relative
;; Compatibility: GNU Emacs 23.x
;; Copyright (C) 2015, 2016, 2017 Free Software Foundation, Inc
;; Copyright (C) 2015-2019 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
......@@ -104,7 +104,7 @@
;;; Code:
;; Press C-x C-e at the end of the next line configure the program in GNU emacs
;; Press C-x C-e at the end of the next line configure the program in
;; for building via "make" to get set up.
;; (compile (format "EMACSLOADPATH=:%s ./autogen.sh" "."))
;; After that you can run:
......@@ -124,7 +124,7 @@ readevalloop of `lread.c' as the car of variable
Failing that, we use `load-file-name' which should work in some
subset of the same places that the first method works. However
`load-file-name' will be nil for code that is eval'd. To cover
those cases, we try `buffer-file-name' which is initially
those cases, we try function `buffer-file-name' which is initially
correct, for eval'd code, but will change and may be wrong if the
code sets or switches buffers after the initial execution.
......@@ -172,8 +172,9 @@ methods work we will use the file-name value find via
(defun autoload-relative (function-or-list
file &optional docstring interactive type
symbol)
"Autoload an Emacs Lisp file relative to Emacs Lisp code that is in
the process of being loaded or eval'd.
;; FIXME: Docstring talks of FUNCTION but argname is `function-or-list'.
"Autoload an Emacs Lisp file relative to Emacs Lisp code that is in the process
of being loaded or eval'd.
Define FUNCTION to autoload from FILE. FUNCTION is a symbol.
......@@ -182,7 +183,7 @@ FILE is a string to pass to `load'.
DOCSTRING is documentation for the function.
INTERACATIVE if non-nil says function can be called
INTERACTIVE if non-nil says function can be called
interactively.
TYPE indicates the type of the object: nil or omitted says
......@@ -197,10 +198,14 @@ defined (as given by `symbol-file' is used if other methods of
finding __FILE__ don't work."
(if (listp function-or-list)
(mapcar (lambda(function)
(autoload function-or-list
(relative-expand-file-name file symbol)
docstring interactive type))
;; FIXME: This looks broken:
;; - Shouldn't it iterate on `function-or-list' instead of `file'?
;; - Shouldn't the `autoload' take `function' rather than
;; `function-or-list' as argument?
(mapc (lambda(_function)
(autoload function-or-list
(relative-expand-file-name file symbol)
docstring interactive type))
file)
(autoload function-or-list (relative-expand-file-name file symbol)
docstring interactive type))
......@@ -283,11 +288,7 @@ buffer-setting or buffer changing operations."
(defmacro require-relative-list (list &optional opt-prefix)
"Run `require-relative' on each name in LIST which should be a list of
strings, each string being the relative name of file you want to run."
`(progn
(eval-when-compile
(require 'cl
(dolist (rel-file ,list)
(require-relative rel-file (__FILE__) ,opt-prefix))))
`(eval-and-compile
(dolist (rel-file ,list)
(require-relative rel-file (__FILE__) ,opt-prefix))))
......@@ -304,103 +305,6 @@ same as writing (provide \\='bar-foo)."
`(provide (intern (concat ,prefix (file-name-sans-extension
(file-name-nondirectory (__FILE__)))))))
;;;; ChangeLog:
;; 2017-05-25 rocky <rocky@gnu.org>
;;
;; Bump version ..
;;
;; and small doc type
;;
;; 2017-05-25 rocky <rocky@gnu.org>
;;
;; Add how to configure/test from emacs..
;;
;; update copyright
;;
;; 2017-05-25 rocky <rocky@gnu.org>
;;
;; Merge commit '8280df5ce6db836559a5c2442b97a2f02b6f7a05'
;;
;; 2016-08-04 Stefan Monnier <monnier@iro.umontreal.ca>
;;
;; * test/subdir/test-require-list-from-subdir.el: Don't byte-compile
;;
;; 2016-07-11 Paul Eggert <eggert@cs.ucla.edu>
;;
;; Fix some quoting problems in doc strings
;;
;; Most of these are minor issues involving, e.g., quoting `like this'
;; instead of 'like this'. A few involve escaping ` and ' with a preceding
;; \= when the characters should not be turned into curved single quotes.
;;
;; 2015-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
;;
;; * packages/load-relative/load-relative.el (__FILE__): bytecomp-filename
;; problem. Fix other details mentioned by `checkdoc-current-buffer'.
;;
;; 2015-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
;;
;; * load-relative/test/test-file.el: Fix up copyright
;;
;; 2015-02-24 rocky <rocky@gnu.org>
;;
;; Merge commit '0e1d1440e4819d76cc68b213431722884af66e89'
;;
;; 2015-02-17 rocky <rocky@gnu.org>
;;
;; Merge commit '3fa56d7925d5b24c5cd11c61bd6b3235e753a055'
;;
;; 2015-02-17 rocky <rocky@gnu.org>
;;
;; Merge commit 'fea2a8b1c10f9f29ba6924b17892de670b650756'
;;
;; 2015-02-17 rocky <rocky@gnu.org>
;;
;; Merge commit 'c876c3c62f03d7e945b049932a55496b3cdfe05d'
;;
;; 2015-02-17 rocky <rocky@gnu.org>
;;
;; Add 'packages/load-relative/' from commit
;; '064074d7dcc8d26d59ab9ceb099b43e6870c58d1'
;;
;; git-subtree-dir: packages/load-relative git-subtree-mainline:
;; 28f59c22ca8aa240401a66b73ce48a14f9590a8a git-subtree-split:
;; 064074d7dcc8d26d59ab9ceb099b43e6870c58d1
;;
;; 2015-02-15 rocky <rocky@gnu.org>
;;
;; Oops - should have added in branch externals/<pkg>
;;
;; 2015-02-15 rocky <rocky@gnu.org>
;;
;; Add 'packages/load-relative/' from commit
;; '15ffaa9ebf1b7bbfcc307d1716eec135253b3b8d'
;;
;; git-subtree-dir: packages/load-relative git-subtree-mainline:
;; af43c43b33726e9212f1050f37ab550f5a6abee3 git-subtree-split:
;; 15ffaa9ebf1b7bbfcc307d1716eec135253b3b8d
;;
;; 2015-02-15 rocky <rocky@gnu.org>
;;
;; Remove realgud and dependents as a git submodule
;;
;; 2015-02-15 rocky <rocky@gnu.org>
;;
;; New gud replacement package: realgud (a front end interface to
;; debuggers).
;;
;; This package requires:
;;
;; * loc-changes - location marks in buffers
;; * load-relative - load emacs lisp relative to emacs source
;; * test-simple - simple test framework.
;;
;; Using .gitmodules in this way is a bit of an experiment. Currently these
;; four projects are separate github repositories.
;;
(provide-me)
;;; load-relative.el ends here
include $(top_srcdir)/common.mk
PHONY=check test all check-elget test-elget help
#: same thing as check
all: check
#: overall help on running the make targets
help:
@echo "The main function of this Makefile is to facilitate running tests."
@echo
@echo "To run all of the tests, use targets \"test\", \"check\" or \"check-short\"."
@echo "For example:"
@echo
@echo " make check"
@echo "or:"
@echo " make check-short"
@echo
@echo "The -short target uses a filter written in Ruby to remove extreanous output."
@echo
@echo "To run a specific test like test-srcbuf.el, change \".el\" to"
@echo "\".run\". For example:"
@echo
@echo " make test-srcbuf.run"
@echo
@echo "Tests can also be run via the Emacs el-get package and this loads dependent emacs "
@echo "package, like load-relative. To do this, use targets, \"check-elget\","
@echo "\"test-elget\", or \"check-short-elget\"."
@echo
@echo "To run a specific test like test-srcbuf.el via el-get change \".el\""
@echo "to \".elrun\" For example:"
@echo
@echo " make test-srcbuf.elrun"
#: same thing as "check"
test: check
test_files := $(wildcard test-*.el)
CHECK_FILES = $(notdir $(test_files:.el=.run))
EL_GET_CHECK_FILES = $(notdir $(test_files:.el=.elrun))
#: Run all tests
check: $(CHECK_FILES)
#: Run all tests via el-get
check-elget:
(cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash --load ./install-pkgs.el --load test-load.el)
#: Run all tests with minimum verbosity
check-short:
$(MAKE) check 2>&1 | ruby ./make-check-filter.rb
#: Run all tests with minimum verbosity via el-get
check-short-elget:
$(MAKE) check-elget 2>&1 | ruby ./make-check-filter.rb
test-%.run:
(cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash --load $(@:.run=.el))
#: Run tests getting external Lisp dependencies
test-%.elrun:
(cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash --load ../el-get-install.el --load $(@:.elrun=.el))
# Whatever it is you want to do, it should be forwarded to the
# to top-level directories
# %:
# $(MAKE) -C .. $@
;; Copyright (C) 2015 Free Software Foundation, Inc
;; Author: Rocky Bernstein <rocky@gnu.org>
;; 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
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
(setq loaded-file "load-file1")
(setq loaded-file1 't)
;; Copyright (C) 2015 Free Software Foundation, Inc
;; Author: Rocky Bernstein <rocky@gnu.org>
;; 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
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
(load-relative "load-file3")
;; Copyright (C) 2015 Free Software Foundation, Inc
;; Author: Rocky Bernstein <rocky@gnu.org>
;; 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
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
(setq loaded-file "load-file3")
#!/usr/bin/env ruby
# Use this to cut out the crud from make check.
# Use like this:
# make check 2>&1 | ruby ../make-check-filter.rb
# See Makefile.am
pats = ["^(?:Loading",
'(re)?make\[',