1 ;;; helpers.el --- Some non-essential library extensions -*- lexical-binding:t -*-
3 ;; Copyright (C) 2013 Free Software Foundation, Inc.
6 ;; Keywords: convenience
9 ;; This file is part of GNU Emacs.
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation, either version 3 of the License, or
14 ;; (at your option) any later version.
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
28 (defsubst hash-table-keys
(hash-table)
29 "Return a list of keys in HASH-TABLE."
31 (maphash (lambda (k _v
) (push k keys
)) hash-table
)
34 (defsubst hash-table-values
(hash-table)
35 "Return a list of values in HASH-TABLE."
37 (maphash (lambda (_k v
) (push v values
)) hash-table
)
40 (defsubst string-trim-left
(string)
41 "Remove leading whitespace from STRING."
42 (if (string-match "\\`[ \t\n\r]+" string
)
43 (replace-match "" t t string
)
46 (defsubst string-trim-right
(string)
47 "Remove trailing whitespace from STRING."
48 (if (string-match "[ \t\n\r]+\\'" string
)
49 (replace-match "" t t string
)
52 (defsubst string-trim
(string)
53 "Remove leading and trailing whitespace from STRING."
54 (string-trim-left (string-trim-right string
)))
58 ;;; helpers.el ends here