From: Stefan Monnier Date: Wed, 21 Aug 2013 17:30:52 +0000 (-0400) Subject: * packages/f90-interface-browser/f90-interface-browser.el: Don't require CL X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/b83c372487dda45c3a515df31c05738dd9f8ce6e * packages/f90-interface-browser/f90-interface-browser.el: Don't require CL at runtime since it's not needed. (f90-approx-arglist-match): Remove unused var `match'. (f90-parse-single-type-declaration): Don't use `add-to-list' on a local var. * packages/f90-interface-browser/f90-tests.el: Require `cl-lib'. (test-check, test-combine-results, parse-declaration): Fix up names accordingly. --- diff --git a/externals-list b/externals-list index ac809e616..f3cce41b6 100644 --- a/externals-list +++ b/externals-list @@ -24,7 +24,7 @@ ("dismal" :external nil) ("eldoc-eval" :subtree "https://github.com/thierryvolpiatto/eldoc-eval.git") ("enwc" :subtree "bzr::bzr://bzr.savannah.nongnu.org/enwc/trunk") - ("f90-interface-browser" :subtree "http://github.com/wence-/f90-iface") + ("f90-interface-browser" :subtree "https://github.com/wence-/f90-iface") ("ggtags" :subtree "https://github.com/leoliu/ggtags") ("ioccur" :subtree "https://github.com/thierryvolpiatto/ioccur.git") ("js2-mode" :subtree "https://github.com/mooz/js2-mode.git") diff --git a/packages/f90-interface-browser/f90-interface-browser.el b/packages/f90-interface-browser/f90-interface-browser.el index afa8fa298..8956400de 100644 --- a/packages/f90-interface-browser/f90-interface-browser.el +++ b/packages/f90-interface-browser/f90-interface-browser.el @@ -1,6 +1,6 @@ ;;; f90-interface-browser.el --- Parse and browse f90 interfaces -;; Copyright (C) 2011, 2012 Free Software Foundation, Inc +;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc ;; Author: Lawrence Mitchell ;; Created: 2011-07-06 @@ -103,7 +103,7 @@ ;;; Code: ;;; Preamble -(require 'cl) +(eval-when-compile (require 'cl)) (require 'thingatpt) (require 'f90) (require 'etags) @@ -593,7 +593,6 @@ first (length ARGLIST) args of SPECIALISER." (<= n-passed-args n-spec-args))) (loop for arg in arglist for spec-arg in spec-arglist - with match = nil unless (or (null arg) (string= (f90-get-parsed-type-typename arg) (f90-get-parsed-type-typename spec-arg))) @@ -1029,13 +1028,12 @@ dealt with correctly." (setcdr (assoc "dimension" dec) (1+ (f90-count-commas (match-string 2 name)))) - (add-to-list 'dec - (cons "dimension" - (1+ (f90-count-commas - (match-string 2 name)))) - t)) + (push (cons "dimension" + (1+ (f90-count-commas + (match-string 2 name)))) + dec)) (setq name (match-string 1 name))) - collect (cons name dec))))) + collect (cons name (nreverse dec)))))) (defun f90-split-declaration (dec) "Split and parse a type declaration DEC. diff --git a/packages/f90-interface-browser/f90-tests.el b/packages/f90-interface-browser/f90-tests.el index d55308b6c..74c0dee62 100644 --- a/packages/f90-interface-browser/f90-tests.el +++ b/packages/f90-interface-browser/f90-tests.el @@ -17,6 +17,10 @@ ;;; Code: +(require 'cl-lib) + +;; FIXME: Convert to use ERT. + (defvar *test-name* nil) (defvar *test-tests* (make-hash-table :test 'eq)) @@ -35,17 +39,18 @@ (defmacro test-check (&rest forms) "Run each expression in 'forms' as a test case." `(test-combine-results - ,@(loop for (expr res) in forms - collect `(test-report-result (equal (condition-case err - ,expr - (error (gensym))) ',res) - ',expr ',res)))) + ,@(cl-loop for (expr res) in forms + collect `(test-report-result (equal (condition-case _ + ,expr + (error (cl-gensym))) + ',res) + ',expr ',res)))) (defmacro test-combine-results (&rest forms) "Combine the results (as booleans) of evaluating 'forms' in order." (let ((result (make-symbol "result"))) `(let ((,result t)) - ,@(loop for f in forms collect `(unless ,f (setf ,result nil))) + ,@(cl-loop for f in forms collect `(unless ,f (setf ,result nil))) ,result))) (defun test-report-result (result res req) @@ -80,10 +85,10 @@ ("integer" ("dimension" . 1))))) (deftest parse-declaration () - (flet ((fun (str) (with-temp-buffer - (insert str) - (goto-char (point-min)) - (f90-parse-single-type-declaration)))) + (cl-flet ((fun (str) (with-temp-buffer + (insert str) + (goto-char (point-min)) + (f90-parse-single-type-declaration)))) (test-check ((fun "integer :: name") (("name" "integer"))) ((fun "integer :: name1, name2") (("name1" "integer")