emacs-diffs
[Top][All Lists]
Advanced

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

master bcb43fb: Fix byte-compilation warnings in nox builds


From: Basil L. Contovounesios
Subject: master bcb43fb: Fix byte-compilation warnings in nox builds
Date: Tue, 12 Oct 2021 17:50:15 -0400 (EDT)

branch: master
commit bcb43fbc95ad0c635c8f19c391ec90d3f8a74035
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>

    Fix byte-compilation warnings in nox builds
    
    For discussion, see bug#51139.
    
    * lisp/edmacro.el (edmacro-fix-menu-commands): Load mwheel to pacify
    free variable warnings in without-x builds.
    
    * lisp/mh-e/mh-compat.el: Declare image.el functions that are not
    preloaded in without-x builds.
    * lisp/mh-e/mh-utils.el (mh--with-image-load-path): New macro.
    (mh-logo-display):
    * lisp/mh-e/mh-tool-bar.el (mh-tool-bar-folder-buttons-init)
    (mh-tool-bar-letter-buttons-init): Use it to pacify byte-compilation
    warnings about image.el definitions not preloaded without-x.
---
 lisp/edmacro.el          |  6 ++++++
 lisp/mh-e/mh-compat.el   |  4 ++++
 lisp/mh-e/mh-tool-bar.el | 12 ++----------
 lisp/mh-e/mh-utils.el    | 22 ++++++++++++++++------
 4 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index e90b3a0..a4eb574 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -604,6 +604,12 @@ This function assumes that the events can be stored in a 
string."
 (defun edmacro-fix-menu-commands (macro &optional noerror)
   (if (vectorp macro)
       (let (result)
+        ;; Not preloaded in without-x builds.
+        (require 'mwheel)
+        (defvar mouse-wheel-down-event)
+        (defvar mouse-wheel-left-event)
+        (defvar mouse-wheel-right-event)
+        (defvar mouse-wheel-up-event)
        ;; Make a list of the elements.
        (setq macro (append macro nil))
        (dolist (ev macro)
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el
index 1c36c27..19be5af 100644
--- a/lisp/mh-e/mh-compat.el
+++ b/lisp/mh-e/mh-compat.el
@@ -83,9 +83,13 @@ the completions."
 (define-obsolete-function-alias 'mh-font-lock-add-keywords
   #'font-lock-add-keywords "29.1")
 
+;; Not preloaded in without-x builds.
+(declare-function image-load-path-for-library "image")
 (define-obsolete-function-alias 'mh-image-load-path-for-library
   #'image-load-path-for-library "29.1")
 
+;; Not preloaded in without-x builds.
+(declare-function image-search-load-path "image")
 (define-obsolete-function-alias 'mh-image-search-load-path
   #'image-search-load-path "29.1")
 
diff --git a/lisp/mh-e/mh-tool-bar.el b/lisp/mh-e/mh-tool-bar.el
index ca08cc3..0200d23 100644
--- a/lisp/mh-e/mh-tool-bar.el
+++ b/lisp/mh-e/mh-tool-bar.el
@@ -211,11 +211,7 @@ where,
        ;; Tool bar initialization functions
        (defun mh-tool-bar-folder-buttons-init ()
          (when (mh-buffer-exists-p 'mh-folder-mode)
-           (let* ((load-path (image-load-path-for-library "mh-e"
-                                                          "mh-logo.xpm"))
-                  (image-load-path (cons (car load-path)
-                                         (when (boundp 'image-load-path)
-                                           image-load-path))))
+           (mh--with-image-load-path
              (setq mh-folder-tool-bar-map
                    (let ((tool-bar-map (make-sparse-keymap)))
                      ,@(nreverse folder-button-setter)
@@ -234,11 +230,7 @@ where,
                      tool-bar-map)))))
        (defun mh-tool-bar-letter-buttons-init ()
          (when (mh-buffer-exists-p 'mh-letter-mode)
-           (let* ((load-path (image-load-path-for-library "mh-e"
-                                                          "mh-logo.xpm"))
-                  (image-load-path (cons (car load-path)
-                                         (when (boundp 'image-load-path)
-                                           image-load-path))))
+           (mh--with-image-load-path
              (setq mh-letter-tool-bar-map
                    (let ((tool-bar-map (make-sparse-keymap)))
                      ,@(nreverse letter-button-setter)
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index dcfb691..feebf64 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -116,22 +116,32 @@ Ignores case when searching for OLD."
 
 ;;; Logo Display
 
+;;;###mh-autoload
+(defmacro mh--with-image-load-path (&rest body)
+  "Load `image' and eval BODY with `image-load-path' set appropriately."
+  (declare (debug t) (indent 0))
+  `(progn
+     ;; Not preloaded in without-x builds.
+     (require 'image)
+     (defvar image-load-path)
+     (declare-function image-load-path-for-library "image")
+     (let* ((load-path (image-load-path-for-library "mh-e" "mh-logo.xpm"))
+            (image-load-path (cons (car load-path) image-load-path)))
+       ,@body)))
+
 (defvar mh-logo-cache nil)
 
 ;;;###mh-autoload
 (defun mh-logo-display ()
   "Modify mode line to display MH-E logo."
-  (let* ((load-path (image-load-path-for-library "mh-e" "mh-logo.xpm"))
-         (image-load-path (cons (car load-path)
-                                (when (boundp 'image-load-path)
-                                  image-load-path))))
+  (mh--with-image-load-path
     (add-text-properties
      0 2
      `(display ,(or mh-logo-cache
                     (setq mh-logo-cache
                           (mh-funcall-if-exists
-                           find-image '((:type xpm :ascent center
-                                               :file "mh-logo.xpm"))))))
+                           find-image '(( :type xpm :ascent center
+                                          :file "mh-logo.xpm" ))))))
      (car mode-line-buffer-identification))))
 
 



reply via email to

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