emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master 463f1e3: * packages/delight/delight.el: Use cl-lib and nad


From: Stefan Monnier
Subject: [elpa] master 463f1e3: * packages/delight/delight.el: Use cl-lib and nadvice.
Date: Tue, 23 Jul 2019 12:36:40 -0400 (EDT)

branch: master
commit 463f1e3f14ed99dd35d77be8fa55055e5e7c71cb
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * packages/delight/delight.el: Use cl-lib and nadvice.
    
    (delight--inhibit): Rename from inhibit-mode-name-delight to clean up
    namespace use.
    (delight--format-mode-line): New function, extracted from the old defadvice.
    (format-mode-line): Replace defadvice with advice-add.
---
 packages/delight/delight.el | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/packages/delight/delight.el b/packages/delight/delight.el
index 11b3d90..998047e 100644
--- a/packages/delight/delight.el
+++ b/packages/delight/delight.el
@@ -1,10 +1,11 @@
-;;; delight.el --- A dimmer switch for your lighter text.
+;;; delight.el --- A dimmer switch for your lighter text  -*- 
lexical-binding:t -*-
 ;;
-;; Copyright (C) 2013, 2014, 2016 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2019 Free Software Foundation, Inc.
 
 ;; Author: Phil Sainty <address@hidden>
 ;; Maintainer: Phil Sainty <address@hidden>
 ;; URL: https://savannah.nongnu.org/projects/delight
+;; Package-Requires: ((cl-lib "0.5") (nadvice "0.3"))
 ;; Keywords: convenience
 ;; Created: 25 Jun 2013
 ;; Version: 1.5
@@ -104,8 +105,7 @@
 
 ;;; Code:
 
-(eval-when-compile
-  (require 'cl))
+(eval-when-compile (require 'cl-lib))
 
 (defvar delighted-modes ()
   "List of specs for modifying the display of mode names in the mode line.
@@ -137,10 +137,10 @@ for this purpose). These FILE options are relevant to 
minor modes only.
 
 For major modes you should specify the keyword :major as the value of FILE,
 to prevent the mode being treated as a minor mode."
-  (add-hook 'after-change-major-mode-hook 'delight-major-mode)
+  (add-hook 'after-change-major-mode-hook #'delight-major-mode)
   (let ((glum (if (consp spec) spec (list (list spec value file)))))
     (while glum
-      (destructuring-bind (mode &optional value file) (pop glum)
+      (cl-destructuring-bind (mode &optional value file) (pop glum)
         (assq-delete-all mode delighted-modes)
         (add-to-list 'delighted-modes (list mode value file))
         (unless (eq file :major)
@@ -196,19 +196,23 @@ When `mode-name' is displayed in other contexts (such as 
in the
 `describe-mode' help buffer), its original value will be used."
   (let ((major-delight (assq major-mode delighted-modes)))
     (when major-delight
-      (setq mode-name `(inhibit-mode-name-delight
+      (setq mode-name `(delight--inhibit
                         ,mode-name ;; glum
                         ,(cadr major-delight)))))) ;; delighted
 
-(defvar inhibit-mode-name-delight)
+(define-obsolete-variable-alias 'inhibit-mode-name-delight
+  'delight--inhibit "delight-1.6")
+(defvar delight--inhibit)
 
-(defadvice format-mode-line (around delighted-modes-are-glum activate)
+(defun delight--format-mode-line (orig-fun &rest args)
   "Delighted modes should exhibit their original `mode-name' when
 `format-mode-line' is called. See `delight-major-mode'."
-  (let ((inhibit-mode-name-delight (if (boundp 'inhibit-mode-name-delight)
-                                       inhibit-mode-name-delight
+  (let ((delight--inhibit (if (boundp 'delight--inhibit)
+                                       delight--inhibit
                                      t)))
-    ad-do-it))
+    (apply orig-fun args)))
+
+(advice-add 'format-mode-line :around #'delight--format-mode-line)
 
 (provide 'delight)
 ;;; delight.el ends here



reply via email to

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