summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rw-r--r--CHANGELOG.md4
-rw-r--r--cider-apropos.el2
-rw-r--r--cider-browse-ns.el2
-rw-r--r--cider-classpath.el2
-rw-r--r--cider-client.el2
-rw-r--r--cider-common.el2
-rw-r--r--cider-compat.el157
-rw-r--r--cider-debug.el2
-rw-r--r--cider-doc.el2
-rw-r--r--cider-eldoc.el2
-rw-r--r--cider-grimoire.el2
-rw-r--r--cider-interaction.el2
-rw-r--r--cider-macroexpansion.el2
-rw-r--r--cider-mode.el2
-rw-r--r--cider-overlays.el4
-rw-r--r--cider-popup.el2
-rw-r--r--cider-repl.el2
-rw-r--r--cider-stacktrace.el2
-rw-r--r--cider-test.el2
-rw-r--r--cider-util.el2
-rw-r--r--cider.el4
-rw-r--r--doc/faq.md2
-rw-r--r--doc/installation.md2
-rw-r--r--nrepl-client.el2
-rw-r--r--test/cider-tests--no-auto.el2
26 files changed, 29 insertions, 183 deletions
diff --git a/.travis.yml b/.travis.yml
index 4cee32d3..32bdae08 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,6 @@
sudo: true
language: emacs-lisp
env:
- - EMACS_BINARY=emacs-24.3-bin PATH=$HOME/.evm/bin:$PATH MAKE_TEST=test
- EMACS_BINARY=emacs-24.4-bin PATH=$HOME/.evm/bin:$PATH MAKE_TEST=test
- EMACS_BINARY=emacs-24.5-bin PATH=$HOME/.evm/bin:$PATH MAKE_TEST=test
# - EMACS_BINARY=emacs-snapshot MAKE_TEST=test
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 63d46e08..783ec582 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@
* Add new customization variable `cider-special-mode-truncate-lines`.
+### Changes
+
+* Drop support for Emacs 24.3.
+
### Bugs Fixed
* [#1707](https://github.com/clojure-emacs/cider/issues/1707): Allow to customize line truncating in CIDER's special buffers.
diff --git a/cider-apropos.el b/cider-apropos.el
index 43b4e199..13e0fc09 100644
--- a/cider-apropos.el
+++ b/cider-apropos.el
@@ -27,7 +27,7 @@
(require 'cider-doc)
(require 'cider-util)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-client)
(require 'cider-popup)
diff --git a/cider-browse-ns.el b/cider-browse-ns.el
index cbb05226..2d60ab27 100644
--- a/cider-browse-ns.el
+++ b/cider-browse-ns.el
@@ -37,7 +37,7 @@
(require 'cider-interaction)
(require 'cider-client)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-util)
(require 'nrepl-dict)
diff --git a/cider-classpath.el b/cider-classpath.el
index 2e8ab21f..4d506c04 100644
--- a/cider-classpath.el
+++ b/cider-classpath.el
@@ -25,7 +25,7 @@
(require 'cider-client)
(require 'cider-popup)
-(require 'cider-compat)
+(require 'subr-x)
(defvar cider-classpath-buffer "*cider-classpath*")
diff --git a/cider-client.el b/cider-client.el
index d6f26006..51e91c51 100644
--- a/cider-client.el
+++ b/cider-client.el
@@ -32,7 +32,7 @@
(require 'cider-util)
(require 'clojure-mode)
-(require 'cider-compat)
+(require 'subr-x)
(require 'seq)
;;; Connection Buffer Management
diff --git a/cider-common.el b/cider-common.el
index 7a16f9e1..e112f2e6 100644
--- a/cider-common.el
+++ b/cider-common.el
@@ -24,7 +24,7 @@
;;; Code:
-(require 'cider-compat)
+(require 'subr-x)
(require 'nrepl-dict)
(require 'cider-util)
(require 'tramp)
diff --git a/cider-compat.el b/cider-compat.el
deleted file mode 100644
index 9585a520..00000000
--- a/cider-compat.el
+++ /dev/null
@@ -1,157 +0,0 @@
-;;; cider-compat.el --- Functions from newer Emacs versions for compatibility -*- lexical-binding: t -*-
-
-;; Copyright © 2012-2013 Tim King, Phil Hagelberg, Bozhidar Batsov
-;; Copyright © 2013-2016 Bozhidar Batsov, Artur Malabarba and CIDER contributors
-;;
-
-;; 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/>.
-
-;; This file is not part of GNU Emacs.
-
-;;; Commentary:
-
-;; Pretty much everything here's copied from subr-x for compatibility with
-;; Emacs 24.3 and 24.4.
-
-;;; Code:
-
-(eval-and-compile
-
- (unless (fboundp 'internal--thread-argument)
- (defmacro internal--thread-argument (first? &rest forms)
- "Internal implementation for `thread-first' and `thread-last'.
-When Argument FIRST? is non-nil argument is threaded first, else
-last. FORMS are the expressions to be threaded."
- (pcase forms
- (`(,x (,f . ,args) . ,rest)
- `(internal--thread-argument
- ,first? ,(if first? `(,f ,x ,@args) `(,f ,@args ,x)) ,@rest))
- (`(,x ,f . ,rest) `(internal--thread-argument ,first? (,f ,x) ,@rest))
- (_ (car forms)))))
-
- (unless (fboundp 'thread-first)
- (defmacro thread-first (&rest forms)
- "Thread FORMS elements as the first argument of their successor.
-Example:
- (thread-first
- 5
- (+ 20)
- (/ 25)
- -
- (+ 40))
-Is equivalent to:
- (+ (- (/ (+ 5 20) 25)) 40)
-Note how the single `-' got converted into a list before
-threading."
- (declare (indent 1)
- (debug (form &rest [&or symbolp (sexp &rest form)])))
- `(internal--thread-argument t ,@forms)))
-
- (unless (fboundp 'thread-last)
- (defmacro thread-last (&rest forms)
- "Thread FORMS elements as the last argument of their successor.
-Example:
- (thread-last
- 5
- (+ 20)
- (/ 25)
- -
- (+ 40))
-Is equivalent to:
- (+ 40 (- (/ 25 (+ 20 5))))
-Note how the single `-' got converted into a list before
-threading."
- (declare (indent 1) (debug thread-first))
- `(internal--thread-argument nil ,@forms))))
-
-
-(eval-and-compile
-
- (unless (fboundp 'internal--listify)
-
- (defsubst internal--listify (elt)
- "Wrap ELT in a list if it is not one."
- (if (not (listp elt))
- (list elt)
- elt)))
-
- (unless (fboundp 'internal--check-binding)
-
- (defsubst internal--check-binding (binding)
- "Check BINDING is properly formed."
- (when (> (length binding) 2)
- (signal
- 'error
- (cons "`let' bindings can have only one value-form" binding)))
- binding))
-
- (unless (fboundp 'internal--build-binding-value-form)
-
- (defsubst internal--build-binding-value-form (binding prev-var)
- "Build the conditional value form for BINDING using PREV-VAR."
- `(,(car binding) (and ,prev-var ,(cadr binding)))))
-
- (unless (fboundp 'internal--build-binding)
-
- (defun internal--build-binding (binding prev-var)
- "Check and build a single BINDING with PREV-VAR."
- (thread-first
- binding
- internal--listify
- internal--check-binding
- (internal--build-binding-value-form prev-var))))
-
- (unless (fboundp 'internal--build-bindings)
-
- (defun internal--build-bindings (bindings)
- "Check and build conditional value forms for BINDINGS."
- (let ((prev-var t))
- (mapcar (lambda (binding)
- (let ((binding (internal--build-binding binding prev-var)))
- (setq prev-var (car binding))
- binding))
- bindings)))))
-
-(eval-and-compile
-
- (unless (fboundp 'if-let)
- (defmacro if-let (bindings then &rest else)
- "Process BINDINGS and if all values are non-nil eval THEN, else ELSE.
-Argument BINDINGS is a list of tuples whose car is a symbol to be
-bound and (optionally) used in THEN, and its cadr is a sexp to be
-evalled to set symbol's value. In the special case you only want
-to bind a single value, BINDINGS can just be a plain tuple."
- (declare (indent 2)
- (debug ([&or (&rest (symbolp form)) (symbolp form)] form body)))
- (when (and (<= (length bindings) 2)
- (not (listp (car bindings))))
- ;; Adjust the single binding case
- (setq bindings (list bindings)))
- `(let* ,(internal--build-bindings bindings)
- (if ,(car (internal--listify (car (last bindings))))
- ,then
- ,@else))))
-
- (unless (fboundp 'when-let)
- (defmacro when-let (bindings &rest body)
- "Process BINDINGS and if all values are non-nil eval BODY.
-Argument BINDINGS is a list of tuples whose car is a symbol to be
-bound and (optionally) used in BODY, and its cadr is a sexp to be
-evalled to set symbol's value. In the special case you only want
-to bind a single value, BINDINGS can just be a plain tuple."
- (declare (indent 1) (debug if-let))
- (list 'if-let bindings (macroexp-progn body)))))
-
-(provide 'cider-compat)
-;;; cider-compat.el ends here
diff --git a/cider-debug.el b/cider-debug.el
index c7856d8a..dfe97698 100644
--- a/cider-debug.el
+++ b/cider-debug.el
@@ -33,7 +33,7 @@
(require 'cider-inspector)
(require 'cider-browse-ns)
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'seq)
(require 'spinner)
diff --git a/cider-doc.el b/cider-doc.el
index e1c64d83..9962e4b2 100644
--- a/cider-doc.el
+++ b/cider-doc.el
@@ -26,7 +26,7 @@
;;; Code:
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-util)
(require 'cider-popup)
(require 'cider-client)
diff --git a/cider-eldoc.el b/cider-eldoc.el
index 0e2b03ed..fc37d5b4 100644
--- a/cider-eldoc.el
+++ b/cider-eldoc.el
@@ -33,7 +33,7 @@
(require 'cider-client)
(require 'cider-common) ; for cider-symbol-at-point
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-util)
(require 'nrepl-dict)
diff --git a/cider-grimoire.el b/cider-grimoire.el
index 0616b207..19dfbdf3 100644
--- a/cider-grimoire.el
+++ b/cider-grimoire.el
@@ -27,7 +27,7 @@
(require 'cider-client)
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-popup)
(require 'nrepl-dict)
diff --git a/cider-interaction.el b/cider-interaction.el
index 5c712e3c..ed18edc1 100644
--- a/cider-interaction.el
+++ b/cider-interaction.el
@@ -41,7 +41,7 @@
(require 'cider-doc)
(require 'cider-eldoc)
(require 'cider-overlays)
-(require 'cider-compat)
+(require 'subr-x)
(require 'clojure-mode)
(require 'thingatpt)
diff --git a/cider-macroexpansion.el b/cider-macroexpansion.el
index 63f3335c..7e955b2a 100644
--- a/cider-macroexpansion.el
+++ b/cider-macroexpansion.el
@@ -32,7 +32,7 @@
;;; Code:
(require 'cider-mode)
-(require 'cider-compat)
+(require 'subr-x)
(defconst cider-macroexpansion-buffer "*cider-macroexpansion*")
diff --git a/cider-mode.el b/cider-mode.el
index ccdff55d..625db2e6 100644
--- a/cider-mode.el
+++ b/cider-mode.el
@@ -37,7 +37,7 @@
(require 'cider-eldoc)
(require 'cider-resolve)
(require 'cider-doc)
-(require 'cider-compat)
+(require 'subr-x)
(defcustom cider-mode-line-show-connection t
"If the mode-line lighter should detail the connection."
diff --git a/cider-overlays.el b/cider-overlays.el
index b64dce51..9a833306 100644
--- a/cider-overlays.el
+++ b/cider-overlays.el
@@ -26,7 +26,7 @@
;;; Code:
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cl-lib)
@@ -141,7 +141,7 @@ END is the position where the sexp ends, and defaults to point."
(with-current-buffer (if (markerp end)
(marker-buffer end)
(current-buffer))
- (save-excursion
+ (save-excursion
(if end
(goto-char end)
(setq end (point)))
diff --git a/cider-popup.el b/cider-popup.el
index 7c235f8b..5f9758be 100644
--- a/cider-popup.el
+++ b/cider-popup.el
@@ -23,7 +23,7 @@
;;; Code:
-(require 'cider-compat)
+(require 'subr-x)
(define-minor-mode cider-popup-buffer-mode
"Mode for CIDER popup buffers"
diff --git a/cider-repl.el b/cider-repl.el
index ea5fbbe7..b3054fba 100644
--- a/cider-repl.el
+++ b/cider-repl.el
@@ -36,7 +36,7 @@
(require 'cider-test)
(require 'cider-eldoc) ; for cider-eldoc-setup
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-util)
(require 'cider-resolve)
diff --git a/cider-stacktrace.el b/cider-stacktrace.el
index 41e6f38c..a6c5c3c3 100644
--- a/cider-stacktrace.el
+++ b/cider-stacktrace.el
@@ -30,7 +30,7 @@
(require 'button)
(require 'easymenu)
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-client)
(require 'cider-util)
diff --git a/cider-test.el b/cider-test.el
index 5386df56..217b4d46 100644
--- a/cider-test.el
+++ b/cider-test.el
@@ -32,7 +32,7 @@
(require 'cider-client)
(require 'cider-popup)
(require 'cider-stacktrace)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-overlays)
(require 'button)
diff --git a/cider-util.el b/cider-util.el
index bc1658ca..e397d724 100644
--- a/cider-util.el
+++ b/cider-util.el
@@ -34,7 +34,7 @@
(require 'seq)
(require 'cl-lib)
(require 'clojure-mode)
-(require 'cider-compat)
+(require 'subr-x)
(require 'nrepl-dict)
(defalias 'cider-pop-back 'pop-tag-mark)
diff --git a/cider.el b/cider.el
index 20693b88..4a850ce2 100644
--- a/cider.el
+++ b/cider.el
@@ -12,7 +12,7 @@
;; Maintainer: Bozhidar Batsov <bozhidar@batsov.com>
;; URL: http://www.github.com/clojure-emacs/cider
;; Version: 0.15.0-cvs
-;; Package-Requires: ((emacs "24.3") (clojure-mode "5.5.2") (pkg-info "0.4") (queue "0.1.1") (spinner "1.7") (seq "2.16"))
+;; Package-Requires: ((emacs "24.4") (clojure-mode "5.6.0") (pkg-info "0.4") (queue "0.1.1") (spinner "1.7") (seq "2.16"))
;; Keywords: languages, clojure, cider
;; This program is free software: you can redistribute it and/or modify
@@ -82,7 +82,7 @@ project inference will take place."
(require 'cider-repl)
(require 'cider-mode)
(require 'cider-common)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cider-debug)
(require 'tramp-sh)
diff --git a/doc/faq.md b/doc/faq.md
index ab15d36b..04f1f303 100644
--- a/doc/faq.md
+++ b/doc/faq.md
@@ -8,7 +8,7 @@ Yes.
## What are CIDER's installation prerequisites?
-CIDER officially supports Emacs 24.3+, Java 7+ and Clojure(Script) 1.7+.
+CIDER officially supports Emacs 24.4+, Java 7+ and Clojure(Script) 1.7+.
CIDER 0.10 was the final release which supported Java 6 and Clojure 1.5 and 1.6.
## What's the relationship between CIDER and nrepl.el?
diff --git a/doc/installation.md b/doc/installation.md
index 90e52531..fa5b5e53 100644
--- a/doc/installation.md
+++ b/doc/installation.md
@@ -9,7 +9,7 @@ release). If you're new to Emacs you might want to go through
[the guided tour of Emacs](https://www.gnu.org/software/emacs/tour/index.html)
and the built-in tutorial (just press <kbd>C-h t</kbd>).
-CIDER officially supports Emacs 24.3+, Java 7+ and Clojure(Script) 1.7+.
+CIDER officially supports Emacs 24.4+, Java 7+ and Clojure(Script) 1.7+.
CIDER 0.10 was the final release which supported Java 6 and Clojure 1.5 and 1.6.
You'll also need a recent version of your favorite build tool (Leiningen, Boot
diff --git a/nrepl-client.el b/nrepl-client.el
index 1ef1879c..7d59fd70 100644
--- a/nrepl-client.el
+++ b/nrepl-client.el
@@ -69,7 +69,7 @@
;;; Code:
(require 'seq)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cl-lib)
(require 'nrepl-dict)
(require 'queue)
diff --git a/test/cider-tests--no-auto.el b/test/cider-tests--no-auto.el
index 15331f97..7f45f6bd 100644
--- a/test/cider-tests--no-auto.el
+++ b/test/cider-tests--no-auto.el
@@ -32,7 +32,7 @@
(require 'buttercup)
(require 'cider)
-(require 'cider-compat)
+(require 'subr-x)
(require 'cl-lib)
;;; Docs