aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTino Calancha2017-07-25 14:53:44 +0900
committerTino Calancha2017-07-25 14:53:44 +0900
commit565cfd9f6c19e4d2aa318efdf19bdc56175bd153 (patch)
treeff6634e072243860a154841d04cb4f86942b081e
parent35954cb92b8cd4ad093756d171688343bab02c2e (diff)
downloademacs-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.el8
-rw-r--r--test/lisp/ls-lisp.el37
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