From: Tino Calancha Date: Sat, 26 Nov 2016 03:03:25 +0000 (+0900) Subject: * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop. X-Git-Tag: emacs-26.0.90~1264 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=acb5589fcd981650225e9fb2e949e3681db551c1;p=emacs.git * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop. --- diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el index 173cd11fba4..7d1e1c9237a 100644 --- a/lisp/emacs-lisp/subr-x.el +++ b/lisp/emacs-lisp/subr-x.el @@ -33,6 +33,7 @@ ;;; Code: (require 'pcase) +(eval-when-compile (require 'cl-lib)) (defmacro internal--thread-argument (first? &rest forms) @@ -146,15 +147,11 @@ to bind a single value, BINDINGS can just be a plain tuple." (defsubst hash-table-keys (hash-table) "Return a list of keys in HASH-TABLE." - (let ((keys '())) - (maphash (lambda (k _v) (push k keys)) hash-table) - keys)) + (cl-loop for k being the hash-keys of hash-table collect k)) (defsubst hash-table-values (hash-table) "Return a list of values in HASH-TABLE." - (let ((values '())) - (maphash (lambda (_k v) (push v values)) hash-table) - values)) + (cl-loop for v being the hash-values of hash-table collect v)) (defsubst string-empty-p (string) "Check whether STRING is empty."