From: Bozhidar Batsov Date: Fri, 20 Dec 2013 16:21:45 +0000 (+0200) Subject: * lisp/emacs-lisp/subr-x.el: Renamed from helpers.el. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~291 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=131e4695b2fc814c27e806860d9f4da8673ff505;p=emacs.git * lisp/emacs-lisp/subr-x.el: Renamed from helpers.el. --- diff --git a/etc/NEWS b/etc/NEWS index ff3741f4e20..49ad61d9fdb 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -875,7 +875,7 @@ frame. +++ ** New macro with-eval-after-load. Like eval-after-load, but better behaved. -** New library helpers.el for misc helper functions +** New library subr-x.el for misc helper functions *** `hash-table-keys' *** `hash-table-values' *** `string-blank-p` diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 00e0864a5fd..8b3a15e1bc9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Bozhidar Batsov + + * emacs-lisp/subr-x.el: Renamed from helpers.el. + helpers.el was a poor choice of name. + 2013-12-20 Martin Rudalics Fix assignment for new window total sizes. diff --git a/lisp/emacs-lisp/helpers.el b/lisp/emacs-lisp/helpers.el deleted file mode 100644 index b7996ade777..00000000000 --- a/lisp/emacs-lisp/helpers.el +++ /dev/null @@ -1,74 +0,0 @@ -;;; helpers.el --- Some non-essential library extensions -*- lexical-binding:t -*- - -;; Copyright (C) 2013 Free Software Foundation, Inc. - -;; Maintainer: FSF -;; Keywords: convenience -;; Package: emacs - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: - -;;; Code: - -(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)) - -(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)) - -(defsubst string-empty-p (string) - "Check whether STRING is empty." - (string= string "")) - -(defsubst string-join (strings &optional separator) - "Join all STRINGS using SEPARATOR." - (mapconcat 'identity strings separator)) - -(defsubst string-reverse (str) - "Reverse the string STR." - (apply 'string (nreverse (string-to-list str)))) - -(defsubst string-trim-left (string) - "Remove leading whitespace from STRING." - (if (string-match "\\`[ \t\n\r]+" string) - (replace-match "" t t string) - string)) - -(defsubst string-trim-right (string) - "Remove trailing whitespace from STRING." - (if (string-match "[ \t\n\r]+\\'" string) - (replace-match "" t t string) - string)) - -(defsubst string-trim (string) - "Remove leading and trailing whitespace from STRING." - (string-trim-left (string-trim-right string))) - -(defsubst string-blank-p (string) - "Check whether STRING is either empty or only whitespace." - (string-match-p "\\`[ \t\n\r]*\\'" string)) - -(provide 'helpers) - -;;; helpers.el ends here diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el new file mode 100644 index 00000000000..07e47794134 --- /dev/null +++ b/lisp/emacs-lisp/subr-x.el @@ -0,0 +1,78 @@ +;;; subr-x.el --- extra Lisp functions -*- lexical-binding:t -*- + +;; Copyright (C) 2013 Free Software Foundation, Inc. + +;; Maintainer: FSF +;; Keywords: convenience +;; Package: emacs + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Less commonly used functions that complement basic APIs, often implemented in +;; C code (like hash-tables and strings), and are not eligible for inclusion +;; in subr.el. + +;;; Code: + +(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)) + +(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)) + +(defsubst string-empty-p (string) + "Check whether STRING is empty." + (string= string "")) + +(defsubst string-join (strings &optional separator) + "Join all STRINGS using SEPARATOR." + (mapconcat 'identity strings separator)) + +(defsubst string-reverse (str) + "Reverse the string STR." + (apply 'string (nreverse (string-to-list str)))) + +(defsubst string-trim-left (string) + "Remove leading whitespace from STRING." + (if (string-match "\\`[ \t\n\r]+" string) + (replace-match "" t t string) + string)) + +(defsubst string-trim-right (string) + "Remove trailing whitespace from STRING." + (if (string-match "[ \t\n\r]+\\'" string) + (replace-match "" t t string) + string)) + +(defsubst string-trim (string) + "Remove leading and trailing whitespace from STRING." + (string-trim-left (string-trim-right string))) + +(defsubst string-blank-p (string) + "Check whether STRING is either empty or only whitespace." + (string-match-p "\\`[ \t\n\r]*\\'" string)) + +(provide 'subr-x) + +;;; subr-x.el ends here