diff options
| author | Tino Calancha | 2017-07-25 14:53:44 +0900 |
|---|---|---|
| committer | Tino Calancha | 2017-07-25 14:53:44 +0900 |
| commit | 565cfd9f6c19e4d2aa318efdf19bdc56175bd153 (patch) | |
| tree | ff6634e072243860a154841d04cb4f86942b081e | |
| parent | 35954cb92b8cd4ad093756d171688343bab02c2e (diff) | |
| download | emacs-565cfd9f6c19e4d2aa318efdf19bdc56175bd153.tar.gz emacs-565cfd9f6c19e4d2aa318efdf19bdc56175bd153.zip | |
ls-lisp: Add an unload function and enable lexical binding
Enable lexical binding.
* lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
* test/lisp/ls-lisp.el (ls-lisp-unload): Add test.
| -rw-r--r-- | lisp/ls-lisp.el | 8 | ||||
| -rw-r--r-- | test/lisp/ls-lisp.el | 37 |
2 files changed, 44 insertions, 1 deletions
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el index b368efbbc95..730ba26c6c8 100644 --- a/lisp/ls-lisp.el +++ b/lisp/ls-lisp.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp | 1 | ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 1994, 2000-2017 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1992, 1994, 2000-2017 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -866,6 +866,12 @@ All ls time options, namely c, t and u, are handled." | |||
| 866 | file-size) | 866 | file-size) |
| 867 | (format " %6s" (file-size-human-readable file-size)))) | 867 | (format " %6s" (file-size-human-readable file-size)))) |
| 868 | 868 | ||
| 869 | (defun ls-lisp-unload-function () | ||
| 870 | "Unload ls-lisp library." | ||
| 871 | (advice-remove 'insert-directory #'ls-lisp--insert-directory) | ||
| 872 | ;; Continue standard unloading. | ||
| 873 | nil) | ||
| 874 | |||
| 869 | (provide 'ls-lisp) | 875 | (provide 'ls-lisp) |
| 870 | 876 | ||
| 871 | ;;; ls-lisp.el ends here | 877 | ;;; ls-lisp.el ends here |
diff --git a/test/lisp/ls-lisp.el b/test/lisp/ls-lisp.el new file mode 100644 index 00000000000..5ef7c78f4df --- /dev/null +++ b/test/lisp/ls-lisp.el | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | ;;; ls-lisp-tests.el --- tests for ls-lisp.el -*- lexical-binding: t-*- | ||
| 2 | |||
| 3 | ;; Copyright (C) 2017 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Tino Calacha <tino.calancha@gmail.com> | ||
| 6 | ;; Keywords: | ||
| 7 | |||
| 8 | ;; This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 11 | ;; it under the terms of the GNU General Public License as published by | ||
| 12 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 13 | ;; (at your option) any later version. | ||
| 14 | |||
| 15 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | ;; GNU General Public License for more details. | ||
| 19 | |||
| 20 | ;; You should have received a copy of the GNU General Public License | ||
| 21 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 22 | |||
| 23 | ;;; Commentary: | ||
| 24 | |||
| 25 | |||
| 26 | ;;; Code: | ||
| 27 | (require 'ert) | ||
| 28 | |||
| 29 | (ert-deftest ls-lisp-unload () | ||
| 30 | "Test for http://debbugs.gnu.org/xxxxx ." | ||
| 31 | (require 'ls-lisp) | ||
| 32 | (should (advice-member-p 'ls-lisp--insert-directory 'insert-directory)) | ||
| 33 | (unload-feature 'ls-lisp 'force) | ||
| 34 | (should-not (advice-member-p 'ls-lisp--insert-directory 'insert-directory))) | ||
| 35 | |||
| 36 | (provide 'ls-lisp-tests) | ||
| 37 | ;;; ls-lisp-tests.el ends here | ||