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. --- lib/span.el | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) (limited to 'lib/span.el') diff --git a/lib/span.el b/lib/span.el index e7e3d68b..4bb7507e 100644 --- a/lib/span.el +++ b/lib/span.el @@ -1,9 +1,9 @@ -;;; span.el --- Datatype of "spans" for Proof General +;;; span.el --- Datatype of "spans" for Proof General -*- lexical-binding:t -*- ;; This file is part of Proof General. ;; Portions © Copyright 1994-2012 David Aspinall and University of Edinburgh -;; Portions © Copyright 2003, 2012, 2014 Free Software Foundation, Inc. +;; Portions © Copyright 2003-2018 Free Software Foundation, Inc. ;; Portions © Copyright 2001-2017 Pierre Courtieu ;; Portions © Copyright 2010, 2016 Erik Martin-Dorel ;; Portions © Copyright 2011-2013, 2016-2017 Hendrik Tews @@ -24,8 +24,6 @@ ;;; Code: -(eval-when-compile (require 'cl)) ;For lexical-let. - (defalias 'span-start 'overlay-start) (defalias 'span-end 'overlay-end) (defalias 'span-set-property 'overlay-put) @@ -42,10 +40,9 @@ "Check if an overlay OL belongs to PG." (overlay-get ol 'pg-span)) -(defun span-read-only-hook (overlay after start end &optional len) +(defun span-read-only-hook (&rest _) (unless inhibit-read-only - (error "Region is read-only"))) -(add-to-list 'debug-ignored-errors "Region is read-only") + (user-error "Region is read-only"))) (defun span-read-only (span) "Set SPAN to be read only." @@ -61,12 +58,11 @@ (defun span-write-warning (span fun) "Give a warning message when SPAN is changed, unless `inhibit-read-only' is non-nil." - (lexical-let ((fun fun)) - (let ((funs (list (lambda (span afterp beg end &rest args) - (if (and (not afterp) (not inhibit-read-only)) - (funcall fun beg end)))))) - (span-set-property span 'modification-hooks funs) - (span-set-property span 'insert-in-front-hooks funs)))) + (let ((funs (list (lambda (_span afterp beg end &rest _) + (if (and (not afterp) (not inhibit-read-only)) + (funcall fun beg end)))))) + (span-set-property span 'modification-hooks funs) + (span-set-property span 'insert-in-front-hooks funs))) ;; We use end first because proof-locked-queue is often changed, and ;; its starting point is always 1 @@ -155,13 +151,13 @@ A span is before PT if it begins before the character before PT." (overlay-buffer span) (buffer-live-p (overlay-buffer span)))) -(defun span-raise (span) - "Set priority of SPAN to make it appear above other spans." - ;; FIXME: Emacs already uses a "shorter goes above" which takes care of - ;; preventing a span from seeing another. So don't play with - ;; priorities, please! - ;; (span-set-property span 'priority 100) - ) +;; (defun span-raise (_span) +;; "Set priority of SPAN to make it appear above other spans." +;; ;; FIXME: Emacs already uses a "shorter goes above" which takes care of +;; ;; preventing a span from seeing another. So don't play with +;; ;; priorities, please! +;; ;; (span-set-property span 'priority 100) +;; ) (defun span-string (span) (with-current-buffer (overlay-buffer span) @@ -180,7 +176,7 @@ A span is before PT if it begins before the character before PT." (overlays-at (posn-point (event-start event))) (or prop 'span)))) -(defun fold-spans (f &optional buffer from to maparg ignored-flags prop val) +(defun fold-spans (f &optional buffer from to maparg _ignored-flags prop val) (with-current-buffer (or buffer (current-buffer)) (let ((ols (overlays-in (or from (point-min)) (or to (point-max)))) res) @@ -238,7 +234,7 @@ The span will remove itself after a timeout of 2 seconds." (add-timeout 2 'delete-overlay ol) ol)) -(defun span-delete-self-modification-hook (span &rest args) +(defun span-delete-self-modification-hook (span &rest _) "Hook for overlay modification-hooks, which deletes SPAN." (if (span-live-p span) (span-delete span))) @@ -252,7 +248,7 @@ Return the span." (overlay-put ol (car props) (cadr props)) (setq props (cddr props))) (span-set-property ol 'modification-hooks - (list 'span-delete-self-modification-hook)) + (list #'span-delete-self-modification-hook)) ol)) -- cgit v1.2.3