aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs/notmuch-lib.el
diff options
context:
space:
mode:
authorGravatar James Vasile <james@hackervisions.org>2010-02-27 20:34:45 -0500
committerGravatar Carl Worth <cworth@cworth.org>2010-11-16 15:04:22 -0800
commit7ae149445a83f18b774b269b85eeea852e386282 (patch)
tree50c998827fee090d813ab3f5b310bf550483d0c0 /emacs/notmuch-lib.el
parentc4bbbb73f8721098d11514e867e3b75899b1cd8d (diff)
compatibility with emacs22
Emacs22 lacks apply-partially and mouse-event-p, so define them if emacs version is less than 23. With this change, I was able to begin using notmuch in emacs22. The definitions of apply-partially and mouse-event-p are copied from the emacs 23 distribution, (which is distributed under the GPLv3+ just as notmuch).
Diffstat (limited to 'emacs/notmuch-lib.el')
-rw-r--r--emacs/notmuch-lib.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 9d4e00f6..dd180ee0 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -116,5 +116,29 @@ within the current window."
(or (memq prop buffer-invisibility-spec)
(assq prop buffer-invisibility-spec)))))
+;; Compatibility functions for versions of emacs before emacs 23.
+;;
+;; Both functions here were copied from emacs 23 with the following copyright:
+;;
+;; Copyright (C) 1985, 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, 2003,
+;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;;
+;; and under the GPL version 3 (or later) exactly as notmuch itself.
+(when (< emacs-major-version 23)
+ (defun apply-partially (fun &rest args)
+ "Return a function that is a partial application of FUN to ARGS.
+ARGS is a list of the first N arguments to pass to FUN.
+The result is a new function which does the same as FUN, except that
+the first N arguments are fixed at the values with which this function
+was called."
+ (lexical-let ((fun fun) (args1 args))
+ (lambda (&rest args2) (apply fun (append args1 args2)))))
+
+ (defun mouse-event-p (object)
+ "Return non-nil if OBJECT is a mouse click event."
+ (memq (event-basic-type object) '(mouse-1 mouse-2 mouse-3 mouse-movement))))
+
+
+
(provide 'notmuch-lib)