branch: externals/ivy
commit a6417c86d447c47eccf188df49f87c9007a8d47e
Author: Basil L. Contovounesios <ba...@contovou.net>
Commit: Basil L. Contovounesios <ba...@contovou.net>

    Pacify old Counsel byte-compilation warnings
    
    * counsel.el (counsel-describe-symbol-function): Don't #'-quote
    function unavailable in some supported Emacs versions.
    (counsel-describe-symbol): Locally declare Emacs 25 dynvar.
    (counsel-kmacro-kill): Pacify unknown declare property 'modes'
    warnings by using command-modes instead.
    (counsel-linux-apps-list-desktop-files): Guard use of
    directory-files-recursively.
    
    Fixes #1579.
---
 counsel.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/counsel.el b/counsel.el
index 55aee57980..9cd9427431 100644
--- a/counsel.el
+++ b/counsel.el
@@ -588,7 +588,7 @@ to `ivy-highlight-face'."
   :display-transformer-fn #'counsel-describe-function-transformer)
 
 ;;** `counsel-describe-symbol'
-(defcustom counsel-describe-symbol-function #'describe-symbol
+(defcustom counsel-describe-symbol-function 'describe-symbol
   "Function to call to describe a symbol passed as parameter."
   :type 'function)
 
@@ -599,6 +599,7 @@ to `ivy-highlight-face'."
   (unless (functionp 'describe-symbol)
     (user-error "This command requires Emacs 25.1 or later"))
   (require 'help-mode)
+  (defvar describe-symbol-backends)
   (let ((enable-recursive-minibuffers t))
     (ivy-read "Describe symbol: " obarray
               :predicate (lambda (sym)
@@ -5669,9 +5670,10 @@ You can insert or kill the name of the selected font."
     (define-key map (kbd "C-k") #'counsel-kmacro-kill)
     map))
 
+;; Avoid (declare (modes ...)) warnings in Emacs < 28.
+(function-put #'counsel-kmacro-kill 'command-modes '(minibuffer-mode))
 (defun counsel-kmacro-kill ()
   "Kill the line, or delete the currently selected keyboard macro."
-  (declare (modes minibuffer-mode))
   (interactive)
   (unless (window-minibuffer-p)
     (user-error "No completion session is active"))
@@ -6215,7 +6217,8 @@ This function always returns its elements in a stable 
order."
       (when (file-exists-p dir)
         (let ((dir (file-name-as-directory dir)))
           ;; Function `directory-files-recursively' added in Emacs 25.1.
-          (dolist (file (directory-files-recursively dir "\\.desktop\\'"))
+          (dolist (file (and (fboundp 'directory-files-recursively)
+                             (directory-files-recursively dir 
"\\.desktop\\'")))
             (let ((id (subst-char-in-string ?/ ?- (file-relative-name file 
dir))))
               (when (and (not (gethash id hash)) (file-readable-p file))
                 (push (cons id file) result)

Reply via email to