1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-02 05:32:08 -08:00

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.
This commit is contained in:
Tino Calancha 2017-07-25 14:53:44 +09:00
parent 35954cb92b
commit 565cfd9f6c
2 changed files with 44 additions and 1 deletions

View file

@ -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

37
test/lisp/ls-lisp.el Normal file
View file

@ -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 <tino.calancha@gmail.com>
;; 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