From 632a3d7f9ded16faaf58e1c0769bcd4f7c8193e3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 12 Dec 2018 15:20:08 -0500 Subject: Use `cl-lib` instead of `cl` everywhere MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use lexical-binding in a few files where it was easy. Don't require `proof-compat` when it's not used. * coq/coq-db.el: Use lexical-binding. * coq/coq-system.el: Use lexical-binding. (coq--extract-prog-args): Use concatenated-args rather than recomputing it. * coq/coq.el: Require `span` to silence some warnings. * generic/pg-user.el: Use lexical-binding. (complete, add-completion, completion-min-length): Silence warnings. * generic/pg-xml.el: Use lexical-binding. (pg-xml-string-of): Prefer mapconcat to reduce+concat. * generic/proof-depends.el: Use lexical-binding. (proof-dep-split-deps): Use `push`. * generic/proof-shell.el: Require `span` to silence some warnings. (proof-shell-invisible-command): Don't use lexical-let just to build a wasteful η-redex! * lib/holes.el: Use lexical-binding. Remove redundant :group args. * lib/span.el: Use lexical-binding. (span-read-only-hook): Use user-error. (span-raise): Remove, unused. --- isar/isabelle-system.el | 5 ++--- isar/isar-autotest.el | 3 --- isar/isar-profiling.el | 3 --- isar/isar-syntax.el | 10 +++++----- isar/isar-unicode-tokens.el | 10 +++++----- isar/isar.el | 3 --- 6 files changed, 12 insertions(+), 22 deletions(-) (limited to 'isar') diff --git a/isar/isabelle-system.el b/isar/isabelle-system.el index 0b61aab0..4fb2bcde 100644 --- a/isar/isabelle-system.el +++ b/isar/isabelle-system.el @@ -13,9 +13,8 @@ ;; ;;; Code: -(eval-when-compile - (require 'cl)) ; mapcan, eval-when +(require 'cl-lib) ;cl-mapcan (eval-when-compile (require 'span) (require 'scomint) @@ -234,7 +233,7 @@ passed to isa-tool-doc-command, DOCNAME will be viewed." (let ((docs (isa-shell-command-to-string (concat "\"" isa-isabelle-command "\" doc")))) (unless (string-equal docs "") - (mapcan + (cl-mapcan (function (lambda (docdes) (if (proof-string-match "^[ \t]+\\(\\S-+\\)[ \t]+" docdes) (list (list diff --git a/isar/isar-autotest.el b/isar/isar-autotest.el index f8784bc2..8e098a29 100644 --- a/isar/isar-autotest.el +++ b/isar/isar-autotest.el @@ -10,9 +10,6 @@ (require 'pg-autotest) -(eval-when-compile - (require 'cl)) - (require 'proof-site) (proof-ready-for-assistant 'isar) diff --git a/isar/isar-profiling.el b/isar/isar-profiling.el index 0cf19348..ae8a8f8c 100644 --- a/isar/isar-profiling.el +++ b/isar/isar-profiling.el @@ -5,9 +5,6 @@ ;; $Id$ ;; -(eval-when-compile - (require 'cl)) - (require 'proof-site) (proof-ready-for-assistant 'isar) diff --git a/isar/isar-syntax.el b/isar/isar-syntax.el index 7fa6f55d..095b108c 100644 --- a/isar/isar-syntax.el +++ b/isar/isar-syntax.el @@ -8,7 +8,7 @@ ;; $Id$ ;; -(require 'cl) ; remove-if, remove-if-not +(eval-when-compile (require 'cl-lib)) (require 'proof-syntax) (require 'isar-keywords) ; NB: we want to load isar-keywords at runtime @@ -271,18 +271,18 @@ matches contents of quotes for quoted identifiers.") (while (proof-re-search-forward isar-nesting-regexp limit t) (cond ((proof-buffer-syntactic-context)) - ((equal (match-string 0) isar-keyword-begin) (incf nesting)) - ((equal (match-string 0) isar-keyword-end) (decf nesting))))) + ((equal (match-string 0) isar-keyword-begin) (cl-incf nesting)) + ((equal (match-string 0) isar-keyword-end) (cl-decf nesting))))) nesting)) (defun isar-match-nesting (limit) - (block nil + (cl-block nil (while (proof-re-search-forward isar-nesting-regexp limit t) (and (not (proof-buffer-syntactic-context)) (if (equal (match-string 0) isar-keyword-begin) (> (isar-nesting) 1) (> (isar-nesting) 0)) - (return t))))) + (cl-return t))))) ;; ----- Isabelle inner syntax highlight diff --git a/isar/isar-unicode-tokens.el b/isar/isar-unicode-tokens.el index c6f58452..725bc544 100644 --- a/isar/isar-unicode-tokens.el +++ b/isar/isar-unicode-tokens.el @@ -12,7 +12,7 @@ ;; -(require 'cl) ; for-loop +(eval-when-compile (require 'cl-lib)) ; cl-loop (eval-when-compile (require 'unicode-tokens) ; it's loaded dynamically at runtime @@ -481,10 +481,10 @@ tokens." :set 'isar-set-and-restart-tokens) (defun isar-map-letters (f1 f2 &rest symbs) - (loop for x below 26 - for c = (+ 65 x) - collect - (cons (funcall f1 c) (cons (funcall f2 c) symbs)))) + (cl-loop for x below 26 + for c = (+ 65 x) + collect + (cons (funcall f1 c) (cons (funcall f2 c) symbs)))) (defconst isar-script-letters-tokens ; \ \ ... (isar-map-letters (lambda (x) (format "%c" x)) diff --git a/isar/isar.el b/isar/isar.el index 917f8f6a..9deed7c1 100644 --- a/isar/isar.el +++ b/isar/isar.el @@ -17,9 +17,6 @@ ;;; Code: -(eval-when-compile - (require 'cl)) - (eval-when-compile (require 'span) (require 'proof-syntax) -- cgit v1.2.3