]> git.eshelyaron.com Git - emacs.git/commitdiff
Address some --without-x byte-compilation warnings
authorBasil L. Contovounesios <contovob@tcd.ie>
Fri, 26 Mar 2021 17:13:59 +0000 (17:13 +0000)
committerBasil L. Contovounesios <contovob@tcd.ie>
Fri, 26 Mar 2021 17:35:34 +0000 (17:35 +0000)
These came to light in the contexts of bug#29713 and bug#47234.

* lisp/emulation/edt-mapper.el (edt-xserver):
* lisp/emulation/edt.el (edt-xserver):
* lisp/gnus/gnus-util.el (gnus-rescale-image):
* lisp/gnus/nnimap.el (nnimap-map-port):
* lisp/term/w32-win.el:
* lisp/image.el (image--get-imagemagick-and-warn):
* lisp/frame.el (frame-notice-user-settings): Declare functions that
are known to be present at runtime in GUI builds.
(make-frame-on-display): Signal more informative error when called
interactively in a non-GUI build (bug#29713).
* lisp/international/mule-diag.el (describe-font):
* lisp/org/org-macs.el (org--string-from-props): Pacify warnings
about unknown functions in non-GUI bilds.
* lisp/mh-e/mh-mime.el (mh-small-image-p): Avoid eliminating fboundp
check in non-GUI builds, to pacify unused lexical variable warning.
* lisp/net/newst-plainview.el (newsticker--plainview-tool-bar-map):
* lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
Declare tool-bar-map as a special variable in non-GUI builds.

12 files changed:
lisp/emulation/edt-mapper.el
lisp/emulation/edt.el
lisp/frame.el
lisp/gnus/gnus-util.el
lisp/gnus/nnimap.el
lisp/image.el
lisp/international/mule-diag.el
lisp/mh-e/mh-mime.el
lisp/net/newst-plainview.el
lisp/net/newst-treeview.el
lisp/org/org-macs.el
lisp/term/w32-win.el

index c1c17723a44245e95454043f5b1ff63c0857e37f..0b152784252bb891a8e8438c7f481c357a585b76 100644 (file)
 (define-obsolete-variable-alias 'edt-window-system 'window-system "27.1")
 
 (defconst edt-xserver (when (eq window-system 'x)
+                        (declare-function x-server-vendor "xfns.c"
+                                          (&optional terminal))
                        ;; The Cygwin window manager has a `/' in its
                        ;; name, which breaks the generated file name of
                        ;; the custom key map file.  Replace `/' with a
index 8f90ed282606cbab6a6b81eb22be819e4fae6c4a..50979c4dbb3a145a9415db8abacff9bca007510d 100644 (file)
@@ -299,6 +299,8 @@ This means that an edt-user.el file was found in the user's `load-path'.")
 ;;;     o edt-emulation-on      o edt-load-keys
 ;;;
 (defconst edt-xserver (when (eq window-system 'x)
+                        (declare-function x-server-vendor "xfns.c"
+                                          (&optional terminal))
                        ;; The Cygwin window manager has a `/' in its
                        ;; name, which breaks the generated file name of
                        ;; the custom key map file.  Replace `/' with a
index 151aefb47a3ce173e01cf5381c934bdfdc50a9bb..2b6e4a60b83796fe060995910ecb66289575ec64 100644 (file)
@@ -367,6 +367,7 @@ there (in decreasing order of priority)."
       ;; by the lines added in x-create-frame for the tab-bar and
       ;; switch `tab-bar-mode' off.
       (when (display-graphic-p)
+        (declare-function tab-bar-height "xdisp.c" (&optional frame pixelwise))
        (let* ((init-lines
                (assq 'tab-bar-lines initial-frame-alist))
               (other-lines
@@ -708,9 +709,11 @@ Return nil if we don't know how to interpret DISPLAY."
 (defun make-frame-on-display (display &optional parameters)
   "Make a frame on display DISPLAY.
 The optional argument PARAMETERS specifies additional frame parameters."
-  (interactive (list (completing-read
-                      (format "Make frame on display: ")
-                      (x-display-list))))
+  (interactive (if (fboundp 'x-display-list)
+                   (list (completing-read
+                          (format "Make frame on display: ")
+                          (x-display-list)))
+                 (user-error "This Emacs build does not support X displays")))
   (make-frame (cons (cons 'display display) parameters)))
 
 (defun make-frame-on-current-monitor (&optional parameters)
index f80243cfedbbb0cb88f5e2b714d57865f2fa3003..e558f639e463e5ed395dcce3bec47ea1f8524194 100644 (file)
@@ -1612,8 +1612,8 @@ empty directories from OLD-PATH."
   "Rescale IMAGE to SIZE if possible.
 SIZE is in format (WIDTH . HEIGHT).  Return a new image.
 Sizes are in pixels."
-  (if (not (display-graphic-p))
-      image
+  (when (display-images-p)
+    (declare-function image-size "image.c" (spec &optional pixels frame))
     (let ((new-width (car size))
           (new-height (cdr size)))
       (when (> (cdr (image-size image t)) new-height)
@@ -1621,8 +1621,8 @@ Sizes are in pixels."
                                   :max-height new-height)))
       (when (> (car (image-size image t)) new-width)
        (setq image (create-image (plist-get (cdr image) :data) nil t
-                                  :max-width new-width)))
-      image)))
+                                  :max-width new-width)))))
+  image)
 
 (defun gnus-recursive-directory-files (dir)
   "Return all regular files below DIR.
index 93e1c47be709c62af7c380988f2f3e2b2d2a3505..f06959f65d994015e8f53b6d4dd771754780ddfd 100644 (file)
@@ -440,6 +440,7 @@ during splitting, which may be slow."
 
 ;; This is only needed for Windows XP or earlier
 (defun nnimap-map-port (port)
+  (declare-function x-server-version "xfns.c" (&optional terminal))
   (if (and (eq system-type 'windows-nt)
            (<= (car (x-server-version)) 5)
            (equal port "imaps"))
index 4ede1fbf3759827b5f8d1cab0d7cc273c1140516..b802c1c906f6bf240420aa77ac48e2dff5b7e853 100644 (file)
@@ -1130,6 +1130,7 @@ default is 20%."
     image))
 
 (defun image--get-imagemagick-and-warn (&optional position)
+  (declare-function image-transforms-p "image.c" (&optional frame))
   (unless (or (fboundp 'imagemagick-types) (image-transforms-p))
     (error "Cannot rescale images on this terminal"))
   (let ((image (image--get-image position)))
index d97d090cd08f9c0446a52f19d933cf6ef4cf64d3..a0063c8dbb6ff2dcd748522daa033c670cb7533b 100644 (file)
@@ -835,6 +835,8 @@ The IGNORED argument is ignored."
    (list (completing-read
           "Font name (default current choice for ASCII chars): "
           (and window-system
+               ;; Implied by `window-system'.
+               (fboundp 'x-list-fonts)
                (fboundp 'fontset-list)
                ;; The final element in `fontset-list' is a default
                ;; (generic) one, so don't include that.
index 5ffba8fe1a8b48db282c6becdffbef4e1212bfb2..fec2293ff1fa61e2a240d4f83f623f4d0f676350 100644 (file)
@@ -777,7 +777,7 @@ This is only useful if a Content-Disposition header is not present."
          (funcall media-test handle) ; Since mm-inline-large-images is T,
                                         ; this only tells us if the image is
                                         ; something that emacs can display
-         (let* ((image (mm-get-image handle)))
+         (let ((image (mm-get-image handle)))
            (or (mh-do-in-xemacs
                  (and (mh-funcall-if-exists glyphp image)
                       (< (glyph-width image)
@@ -786,7 +786,7 @@ This is only useful if a Content-Disposition header is not present."
                          (or mh-max-inline-image-height
                              (window-pixel-height)))))
                (mh-do-in-gnu-emacs
-                 (let ((size (mh-funcall-if-exists image-size image)))
+                 (let ((size (and (fboundp 'image-size) (image-size image))))
                    (and size
                         (< (cdr size) (or mh-max-inline-image-height
                                           (1- (window-height))))
index 76b1ef37640964a55c5e7913966d6384e6a85d8e..420cf82e4d8309659ab5dad125cf2d7b31069946 100644 (file)
@@ -273,6 +273,7 @@ images."
 
 (defvar newsticker--plainview-tool-bar-map
   (when (boundp 'tool-bar-map)
+    (defvar tool-bar-map)
     (let ((tool-bar-map (make-sparse-keymap)))
       (tool-bar-add-item "newsticker/prev-feed"
                          'newsticker-previous-feed
index d778cc17615b471750905b0025269da44e0eb111..29c92d52dd8dcc4b63979ee1c3cb30cf175df790 100644 (file)
@@ -1102,6 +1102,7 @@ Arguments are ignored."
 ;; ======================================================================
 (defvar newsticker-treeview-tool-bar-map
   (when (boundp 'tool-bar-map)
+    (defvar tool-bar-map)
     (let ((tool-bar-map (make-sparse-keymap)))
       (tool-bar-add-item "newsticker/prev-feed"
                          'newsticker-treeview-prev-feed
index ac6691db0d55a703e76d6fab077317ce92ac9737..58d3fd39922f55980d227425581464a71aa34bcf 100644 (file)
@@ -869,7 +869,8 @@ delimiting S."
                    (let ((width (plist-get props :width)))
                      (and (wholenump width) width)))
                   (`(image . ,_)
-                   (ceiling (car (image-size spec))))
+                    (and (fboundp 'image-size)
+                         (ceiling (car (image-size spec)))))
                   ((pred stringp)
                    ;; Displayed string could contain invisible parts,
                    ;; but no nested display.
index e8451930133dd5767d80ab5c7182a8900bfb1e20..687250fe46e7485e43fd3e801354ef2d7c1148db 100644 (file)
@@ -555,6 +555,9 @@ be found in this alist.
 This alist is used by w32font.c when it looks for fonts that can display
 characters from scripts for which no USBs are defined.")
 
+(declare-function x-list-fonts "xfaces.c"
+                  (pattern &optional face frame maximum width))
+
 (defun w32-find-non-USB-fonts (&optional frame size)
   "Compute the value of `w32-non-USB-fonts' for specified SIZE and FRAME.
 FRAME defaults to the selected frame.