emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 565cfd9: ls-lisp: Add an unload function and enable


From: Tino Calancha
Subject: [Emacs-diffs] master 565cfd9: ls-lisp: Add an unload function and enable lexical binding
Date: Tue, 25 Jul 2017 01:55:51 -0400 (EDT)

branch: master
commit 565cfd9f6c19e4d2aa318efdf19bdc56175bd153
Author: Tino Calancha <address@hidden>
Commit: Tino Calancha <address@hidden>

    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.
---
 lisp/ls-lisp.el      |  8 +++++++-
 test/lisp/ls-lisp.el | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index b368efb..730ba26 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -1,4 +1,4 @@
-;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp
+;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp  -*- 
lexical-binding: t -*-
 
 ;; Copyright (C) 1992, 1994, 2000-2017 Free Software Foundation, Inc.
 
@@ -866,6 +866,12 @@ All ls time options, namely c, t and u, are handled."
              file-size)
     (format " %6s" (file-size-human-readable file-size))))
 
+(defun ls-lisp-unload-function ()
+  "Unload ls-lisp library."
+  (advice-remove 'insert-directory #'ls-lisp--insert-directory)
+  ;; Continue standard unloading.
+  nil)
+
 (provide 'ls-lisp)
 
 ;;; ls-lisp.el ends here
diff --git a/test/lisp/ls-lisp.el b/test/lisp/ls-lisp.el
new file mode 100644
index 0000000..5ef7c78
--- /dev/null
+++ b/test/lisp/ls-lisp.el
@@ -0,0 +1,37 @@
+;;; ls-lisp-tests.el --- tests for ls-lisp.el  -*- lexical-binding: t-*-
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Author: Tino Calacha <address@hidden>
+;; Keywords:
+
+;; 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 <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+
+;;; Code:
+(require 'ert)
+
+(ert-deftest ls-lisp-unload ()
+  "Test for http://debbugs.gnu.org/xxxxx ."
+  (require 'ls-lisp)
+  (should (advice-member-p 'ls-lisp--insert-directory 'insert-directory))
+  (unload-feature 'ls-lisp 'force)
+  (should-not (advice-member-p 'ls-lisp--insert-directory 'insert-directory)))
+
+(provide 'ls-lisp-tests)
+;;; ls-lisp-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]