summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2008-06-12 03:56:20 +0000
committerGlenn Morris <rgm@gnu.org>2008-06-12 03:56:20 +0000
commitaa360da10dc1130e40bb82225ee8988a2465f38a (patch)
tree24fea572da73c841761a9d8d8d59645bfa61d926 /lisp
parent1ad31f1bbae0aa9de6ff997803dcb4466b24e47d (diff)
downloademacs-aa360da10dc1130e40bb82225ee8988a2465f38a.tar.gz
Add some compiler declarations, for builds without X.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog95
-rw-r--r--lisp/descr-text.el3
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/doc-view.el6
-rw-r--r--lisp/emacs-lisp/lmenu.el2
-rw-r--r--lisp/emacs-lisp/map-ynp.el2
-rw-r--r--lisp/faces.el27
-rw-r--r--lisp/frame.el30
-rw-r--r--lisp/gs.el15
-rw-r--r--lisp/image-dired.el2
-rw-r--r--lisp/image-mode.el3
-rw-r--r--lisp/image.el2
-rw-r--r--lisp/international/fontset.el18
-rw-r--r--lisp/international/mule-cmds.el3
-rw-r--r--lisp/international/mule-diag.el10
-rw-r--r--lisp/international/mule-util.el4
-rw-r--r--lisp/mail/emacsbug.el3
-rw-r--r--lisp/mouse-sel.el4
-rw-r--r--lisp/mouse.el2
-rw-r--r--lisp/play/bubbles.el2
-rw-r--r--lisp/play/gamegrid.el6
-rw-r--r--lisp/progmodes/gdb-ui.el9
-rw-r--r--lisp/progmodes/gud.el9
-rw-r--r--lisp/select.el8
-rw-r--r--lisp/startup.el5
-rw-r--r--lisp/subr.el2
-rw-r--r--lisp/term.el2
-rw-r--r--lisp/term/w32-win.el20
-rw-r--r--lisp/term/w32console.el2
-rw-r--r--lisp/term/x-win.el16
-rw-r--r--lisp/textmodes/artist.el2
-rw-r--r--lisp/thumbs.el2
-rw-r--r--lisp/tool-bar.el2
-rw-r--r--lisp/tooltip.el5
-rw-r--r--lisp/w32-fns.el2
-rw-r--r--lisp/woman.el3
-rw-r--r--lisp/x-dnd.el13
37 files changed, 335 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 41bf73f5139..f088b5a4d56 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,98 @@
+2008-06-12 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/f90.el (f90-beginning-of-subprogram)
+ (f90-end-of-subprogram): Only give a message when interactive.
+
+ * term/mac-win.el (x-toolkit-scroll-bars): Check bound.
+
+ * progmodes/cperl-mode.el (cperl-info-on-command): Use
+ display-pixel-height rather than x-display-pixel-height.
+
+ * mail/rmailedit.el (rmail-cease-edit):
+ * vc-dispatcher.el (vc-dir-mode): Check tool-bar-mode is bound.
+
+ * emulation/edt.el (edt-xserver):
+ * emulation/edt-mapper.el (edt-xserver): Use replace-regexp-in-string.
+
+ * emulation/edt-mapper.el: Drop test for Emacs < 19.
+
+ * mwheel.el (mouse-wheel-follow-mouse, mwheel-event-window):
+ Evaluate definitions when compiling. Reverse tests.
+
+ * dframe.el (dframe-reposition-frame-emacs): Reorder test, and
+ use unless.
+
+ * menu-bar.el (w32-menu-bar-open): Declare for compiler.
+
+ * textmodes/artist.el (x-pointer-shape):
+ * term/x-win.el (x-parse-geometry, x-resource-name, accelerate-menu)
+ (x-open-connection, x-server-max-request-size, x-get-resource):
+ * term/w32console.el (x-setup-function-keys):
+ * term/w32-win.el (x-parse-geometry, x-resource-name)
+ (generate-fontset-menu, image-library-alist, x-open-connection)
+ (setup-default-fontset, set-fontset-font, setup-default-fontset)
+ (create-fontset-from-fontset-spec, create-fontset-from-x-resource)
+ (x-get-resource):
+ * term/mac-win.el (x-parse-geometry, x-resource-name)
+ (x-get-selection-internal, tool-bar-mode, set-fontset-font)
+ (new-fontset, x-display-list, x-open-connection, x-get-resource):
+ * progmodes/gud.el (tooltip-last-mouse-motion-event, tooltip-hide)
+ (tooltip-start-delayed-tip, tooltip-use-echo-area, tooltip-show)
+ (tooltip-strip-prompt, tooltip-expr-to-print, tooltip-event-buffer):
+ * progmodes/gdb-ui.el (tooltip-show, tooltip-use-echo-area)
+ (tooltip-identifier-from-point, define-fringe-bitmap):
+ * play/gamegrid.el (image-size):
+ * play/bubbles.el (image-size):
+ * mail/emacsbug.el (x-server-vendor, x-server-version):
+ * international/mule-util.el (internal-char-font):
+ * international/mule-diag.el (font-info, query-fontset, fontset-info)
+ (fontset-alias-alist, fontset-list, fontset-plain-name):
+ * international/mule-cmds.el (x-server-vendor, x-server-version):
+ * international/fontset.el (font-encoding-charset-alist)
+ (otf-script-alist, new-fontset, set-fontset-font)
+ (x-pixel-size-width-font-regexp, vertical-centering-font-regexp)
+ (fontset-list, query-fontset, x-get-resource):
+ * emulation/edt.el (x-server-vendor):
+ * emulation/edt-mapper.el (x-server-vendor):
+ * emacs-lisp/map-ynp.el (x-popup-dialog):
+ * emacs-lisp/lmenu.el (x-popup-dialog):
+ * x-dnd.el (x-window-property, x-change-window-property)
+ (x-get-selection-internal):
+ * woman.el (x-list-fonts):
+ * w32-fns.el (x-server-version):
+ * tooltip.el (x-show-tip, x-hide-tip):
+ * tool-bar.el (image-mask-p):
+ * thumbs.el (image-size):
+ * term.el (overflow-newline-into-fringe):
+ * subr.el (scroll-bar-scale):
+ * startup.el (x-get-resource, tool-bar-mode, image-size):
+ * select.el (x-get-selection-internal, x-own-selection-internal)
+ (x-disown-selection-internal):
+ * mouse.el (generate-fontset-menu):
+ * mouse-sel.el (x-select-text, x-cut-buffer-or-selection-value):
+ * image.el (image-library-alist):
+ * image-mode.el (image-size, image-refresh):
+ * image-dired.el (clear-image-cache):
+ * gs.el (x-display-mm-width, x-display-pixel-width)
+ (x-display-mm-height, x-display-pixel-height)
+ (x-change-window-property, x-display-grayscale-p, x-window-property):
+ * frame.el (tool-bar-mode, x-display-name, x-close-connection)
+ (x-focus-frame, x-list-fonts, x-display-screens)
+ (x-display-pixel-height, x-display-pixel-width, x-display-mm-height)
+ (x-display-mm-width, x-display-backing-store, x-display-save-under)
+ (x-display-planes, x-display-color-cells, x-display-visual-class):
+ * faces.el (internal-face-x-get-resource)
+ (internal-set-lisp-face-attribute-from-resource, x-bitmap-file-path)
+ (fontset-list, x-list-fonts, xw-color-defined-p, xw-color-values)
+ (xw-display-color-p, x-display-grayscale-p, x-get-resource)
+ (x-parse-geometry, x-create-frame, x-setup-function-keys)
+ (tool-bar-setup):
+ * doc-view.el (clear-image-cache, image-size, tooltip-show):
+ * dired.el (dnd-get-local-file-name, dnd-get-local-file-uri):
+ * dframe.el (x-display-pixel-width, x-display-pixel-height):
+ * descr-text.el (internal-char-font):
+ Define for compiler, for builds without X.
+
2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
* vc-rcs.el (vc-rcs-state-heuristic): Don't assume the file exists.
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 9c1d2538ec3..527989d9961 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -318,6 +318,9 @@ This function is semi-obsolete. Use `get-char-code-property'."
(string (string-to-number
(nth 13 fields) 16)))))))))))
+;; Not defined on builds without X, but behind display-graphic-p.
+(declare-function internal-char-font "fontset.c" (position &optional ch))
+
;; Return information about how CHAR is displayed at the buffer
;; position POS. If the selected frame is on a graphic display,
;; return a cons (FONTNAME . GLYPH-CODE) where GLYPH-CODE is a
diff --git a/lisp/dired.el b/lisp/dired.el
index 61c3549ecc1..d53a6831b13 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3315,6 +3315,10 @@ Anything else means ask for each directory."
(declare-function dired-relist-entry "dired-aux" (file))
(declare-function make-symbolic-link "fileio.c")
+;; Only used when (featurep 'dnd).
+(declare-function dnd-get-local-file-name "dnd" (uri &optional must-exist))
+(declare-function dnd-get-local-file-uri "dnd" (uri))
+
(defun dired-dnd-handle-local-file (uri action)
"Copy, move or link a file to the dired directory.
URI is the file to handle, ACTION is one of copy, move, link or ask.
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 3cf6d8cf1e8..3840c5c81bd 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -628,6 +628,8 @@ Call CALLBACK with no arguments when done."
pdf))
callback))
+(declare-function clear-image-cache "image.c" (&optional filter))
+
(defun doc-view-pdf->png (pdf png pages)
"Convert a PDF file to PNG asynchronously.
Start by converting PAGES, and then the rest."
@@ -728,6 +730,8 @@ Those files are saved in the directory given by the function
;;;; Slicing
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun doc-view-set-slice (x y width height)
"Set the slice of the images that should be displayed.
You can use this function to tell doc-view not to display the
@@ -864,6 +868,8 @@ For now these keys are useful:
`k' : Kill the conversion process and this buffer.
`K' : Kill the conversion process.\n"))))
+(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
+
(defun doc-view-show-tooltip ()
(interactive)
(tooltip-show (doc-view-current-info)))
diff --git a/lisp/emacs-lisp/lmenu.el b/lisp/emacs-lisp/lmenu.el
index 81ca946e784..475d2094ca7 100644
--- a/lisp/emacs-lisp/lmenu.el
+++ b/lisp/emacs-lisp/lmenu.el
@@ -128,6 +128,8 @@
(setq menu-items (cdr menu-items)))
menu))
+(declare-function x-popup-dialog "xmenu.c" (position contents &optional header))
+
;; XEmacs compatibility function
(defun popup-dialog-box (data)
"Pop up a dialog box.
diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el
index 634538f33a9..0820c5c1e4d 100644
--- a/lisp/emacs-lisp/map-ynp.el
+++ b/lisp/emacs-lisp/map-ynp.el
@@ -34,6 +34,8 @@
;;; Code:
+(declare-function x-popup-dialog "xmenu.c" (position contents &optional header))
+
(defun map-y-or-n-p (prompter actor list &optional help action-alist
no-cursor-in-echo-area)
"Ask a series of boolean questions.
diff --git a/lisp/faces.el b/lisp/faces.el
index 302cf6c02d8..0fa55f8bd89 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -299,6 +299,12 @@ X resource class for the attribute."
:group 'faces)
+(declare-function internal-face-x-get-resource "xfaces.c"
+ (resource class frame))
+
+(declare-function internal-set-lisp-face-attribute-from-resource "xfaces.c"
+ (face attr value &optional frame))
+
(defun set-face-attribute-from-resource (face attribute resource class frame)
"Set FACE's ATTRIBUTE from X resource RESOURCE, class CLASS on FRAME.
Value is the attribute value specified by the resource, or nil
@@ -930,6 +936,8 @@ Otherwise, return a single face."
output
(car output)))))
+;; Not defined without X, but behind window-system test.
+(defvar x-bitmap-file-path)
(defun face-valid-attribute-values (attribute &optional frame)
"Return valid values for face attribute ATTRIBUTE.
@@ -1110,6 +1118,9 @@ of a global face. Value is the new attribute value."
(setq new-value (read new-value)))
new-value))
+(declare-function fontset-list "fontset.c" ())
+(declare-function x-list-fonts "xfaces.c"
+ (pattern &optional face frame maximum width))
(defun read-face-font (face &optional frame)
"Read the name of a font for FACE on FRAME.
@@ -1586,6 +1597,8 @@ If FRAME is nil, that stands for the selected frame."
(mapcar 'car (tty-color-alist frame))))
(defalias 'x-defined-colors 'defined-colors)
+(declare-function xw-color-defined-p "xfns.c" (color &optional frame))
+
(defun color-defined-p (color &optional frame)
"Return non-nil if color COLOR is supported on frame FRAME.
If FRAME is omitted or nil, use the selected frame.
@@ -1598,6 +1611,8 @@ If COLOR is the symbol `unspecified' or one of the strings
(numberp (tty-color-translate color frame)))))
(defalias 'x-color-defined-p 'color-defined-p)
+(declare-function xw-color-values "xfns.c" (color &optional frame))
+
(defun color-values (color &optional frame)
"Return a description of the color named COLOR on frame FRAME.
The value is a list of integer RGB values--(RED GREEN BLUE).
@@ -1614,6 +1629,8 @@ If COLOR is the symbol `unspecified' or one of the strings
(tty-color-values color frame))))
(defalias 'x-color-values 'color-values)
+(declare-function xw-display-color-p "xfns.c" (&optional terminal))
+
(defun display-color-p (&optional display)
"Return t if DISPLAY supports color.
The optional argument DISPLAY specifies which display to ask about.
@@ -1624,6 +1641,8 @@ If omitted or nil, that stands for the selected frame's display."
(tty-display-color-p display)))
(defalias 'x-display-color-p 'display-color-p)
+(declare-function x-display-grayscale-p "xfns.c" (&optional terminal))
+
(defun display-grayscale-p (&optional display)
"Return non-nil if frames on DISPLAY can display shades of gray."
(let ((frame-type (framep-on-display display)))
@@ -1788,6 +1807,9 @@ variable with `setq'; this won't have the expected effect."
(const :tag "automatic" nil)))
+(declare-function x-get-resource "frame.c"
+ (attribute class &optional component subclass))
+
(defun frame-set-background-mode (frame)
"Set up display-dependent faces on FRAME.
Display-dependent faces are those which have different definitions
@@ -1870,6 +1892,8 @@ according to the `background-mode' and `display-type' frame parameters."
;;; Frame creation.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(declare-function x-parse-geometry "frame.c" (string))
+
(defun x-handle-named-frame-geometry (parameters)
"Add geometry parameters for a named frame to parameter list PARAMETERS.
Value is the new parameter list."
@@ -1916,6 +1940,9 @@ Value is the new parameter list."
(modify-frame-parameters frame
(list (cons 'cursor-color fg)))))))
+(declare-function x-create-frame "xfns.c" (parms))
+(declare-function x-setup-function-keys "term/x-win" (frame))
+(declare-function tool-bar-setup "tool-bar" (&optional frame))
(defun x-create-frame-with-faces (&optional parameters)
"Create a frame from optional frame parameters PARAMETERS.
diff --git a/lisp/frame.el b/lisp/frame.el
index d68f80f9373..6e0d5f359eb 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -246,6 +246,8 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
(defvar frame-notice-user-settings t
"Non-nil means function `frame-notice-user-settings' wasn't run yet.")
+(declare-function tool-bar-mode "tool-bar" (&optional arg))
+
;; startup.el calls this function after loading the user's init
;; file. Now default-frame-alist and initial-frame-alist contain
;; information to which we must react; do what needs to be done.
@@ -602,6 +604,7 @@ is not considered (see `next-frame')."
(select-frame-set-input-focus (selected-frame)))
(declare-function x-initialize-window-system "term/x-win" ())
+(defvar x-display-name)
(defun make-frame-on-display (display &optional parameters)
"Make a frame on X display DISPLAY.
@@ -627,6 +630,8 @@ additional frame parameters."
(error "Invalid terminal type"))
(make-frame `((window-system . nil) (tty . ,tty) (tty-type . ,type) . ,parameters)))
+(declare-function x-close-connection "xfns.c" (terminal))
+
(defun close-display-connection (display)
"Close the connection to a display, deleting all its associated frames.
For DISPLAY, specify either a frame or a display name (a string).
@@ -823,6 +828,8 @@ the user during startup."
(nreverse frame-initial-geometry-arguments))
(cdr param-list))
+(declare-function x-focus-frame "xfns.c" (frame))
+
(defun select-frame-set-input-focus (frame)
"Select FRAME, raise it, and set input focus, if possible."
(select-frame frame)
@@ -992,6 +999,9 @@ If FRAME is omitted, describe the currently selected frame."
If FRAME is omitted, describe the currently selected frame."
(cdr (assq 'width (frame-parameters frame))))
+(declare-function x-list-fonts "xfaces.c"
+ (pattern &optional face frame maximum width))
+
(defalias 'set-default-font 'set-frame-font)
(defun set-frame-font (font-name &optional keep-size)
"Set the font of the selected frame to FONT-NAME.
@@ -1206,6 +1216,8 @@ frame's display)."
(t
nil))))
+(declare-function x-display-screens "xfns.c" (&optional terminal))
+
(defun display-screens (&optional display)
"Return the number of screens associated with DISPLAY."
(let ((frame-type (framep-on-display display)))
@@ -1215,6 +1227,8 @@ frame's display)."
(t
1))))
+(declare-function x-display-pixel-height "xfns.c" (&optional terminal))
+
(defun display-pixel-height (&optional display)
"Return the height of DISPLAY's screen in pixels.
For character terminals, each character counts as a single pixel."
@@ -1225,6 +1239,8 @@ For character terminals, each character counts as a single pixel."
(t
(frame-height (if (framep display) display (selected-frame)))))))
+(declare-function x-display-pixel-width "xfns.c" (&optional terminal))
+
(defun display-pixel-width (&optional display)
"Return the width of DISPLAY's screen in pixels.
For character terminals, each character counts as a single pixel."
@@ -1253,6 +1269,8 @@ displays not explicitely specified."
(integer :tag "Height")))
:group 'frames)
+(declare-function x-display-mm-height "xfns.c" (&optional terminal))
+
(defun display-mm-height (&optional display)
"Return the height of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
@@ -1263,6 +1281,8 @@ If the information is unavailable, value is nil."
(cddr (assoc t display-mm-dimensions-alist))
(x-display-mm-height display))))
+(declare-function x-display-mm-width "xfns.c" (&optional terminal))
+
(defun display-mm-width (&optional display)
"Return the width of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
@@ -1273,6 +1293,8 @@ If the information is unavailable, value is nil."
(cadr (assoc t display-mm-dimensions-alist))
(x-display-mm-width display))))
+(declare-function x-display-backing-store "xfns.c" (&optional terminal))
+
(defun display-backing-store (&optional display)
"Return the backing store capability of DISPLAY's screen.
The value may be `always', `when-mapped', `not-useful', or nil if
@@ -1284,6 +1306,8 @@ the question is inapplicable to a certain kind of display."
(t
'not-useful))))
+(declare-function x-display-save-under "xfns.c" (&optional terminal))
+
(defun display-save-under (&optional display)
"Return non-nil if DISPLAY's screen supports the SaveUnder feature."
(let ((frame-type (framep-on-display display)))
@@ -1293,6 +1317,8 @@ the question is inapplicable to a certain kind of display."
(t
'not-useful))))
+(declare-function x-display-planes "xfns.c" (&optional terminal))
+
(defun display-planes (&optional display)
"Return the number of planes supported by DISPLAY."
(let ((frame-type (framep-on-display display)))
@@ -1304,6 +1330,8 @@ the question is inapplicable to a certain kind of display."
(t
(truncate (log (length (tty-color-alist)) 2))))))
+(declare-function x-display-color-cells "xfns.c" (&optional terminal))
+
(defun display-color-cells (&optional display)
"Return the number of color cells supported by DISPLAY."
(let ((frame-type (framep-on-display display)))
@@ -1315,6 +1343,8 @@ the question is inapplicable to a certain kind of display."
(t
(tty-display-color-cells display)))))
+(declare-function x-display-visual-class "xfns.c" (&optional terminal))
+
(defun display-visual-class (&optional display)
"Returns the visual class of DISPLAY.
The value is one of the symbols `static-gray', `gray-scale',
diff --git a/lisp/gs.el b/lisp/gs.el
index 913c741a7ba..f17ea17afbd 100644
--- a/lisp/gs.el
+++ b/lisp/gs.el
@@ -1,7 +1,7 @@
;;; gs.el --- interface to Ghostscript
-;; Copyright (C) 1998, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;; 2008 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: internal
@@ -93,6 +93,9 @@ FILE is the value to substitute for the place-holder `<file>'."
;; specified in PostScript points. If omitted, the margins are
;; assumed to be 0.
+(declare-function x-display-mm-width "xfns.c" (&optional terminal))
+(declare-function x-display-pixel-width "xfns.c" (&optional terminal))
+
(defun gs-width-in-pt (frame pixel-width)
"Return, on FRAME, pixel width PIXEL-WIDTH tranlated to pt."
(let ((mm (* (float pixel-width)
@@ -100,6 +103,8 @@ FILE is the value to substitute for the place-holder `<file>'."
(float (x-display-pixel-width frame))))))
(/ (* 25.4 mm) 72.0)))
+(declare-function x-display-mm-height "xfns.c" (&optional terminal))
+(declare-function x-display-pixel-height "xfns.c" (&optional terminal))
(defun gs-height-in-pt (frame pixel-height)
"Return, on FRAME, pixel height PIXEL-HEIGHT tranlated to pt."
@@ -108,6 +113,8 @@ FILE is the value to substitute for the place-holder `<file>'."
(float (x-display-pixel-height frame))))))
(/ (* 25.4 mm) 72.0)))
+(declare-function x-change-window-property "xfns.c"
+ (prop value &optional frame type format outer-p))
(defun gs-set-ghostview-window-prop (frame spec img-width img-height)
"Set the `GHOSTVIEW' window property of FRAME.
@@ -131,6 +138,7 @@ image in pixels."
rotation llx lly urx ury xdpi ydpi)
frame)))
+(declare-function x-display-grayscale-p "xfns.c" (&optional terminal))
(defun gs-set-ghostview-colors-window-prop (frame pixel-colors)
"Set the `GHOSTVIEW_COLORS' environment variable depending on FRAME."
@@ -141,8 +149,9 @@ image in pixels."
(format "%s %s" mode pixel-colors)
frame)))
+(declare-function x-window-property "xfns.c"
+ (prop &optional frame type source delete-p vector-ret-p))
-;
;;;###autoload
(defun gs-load-image (frame spec img-width img-height window-and-pixmap-id
pixel-colors)
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index 0bd3ab5641d..d92c1f8cd3b 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -1583,6 +1583,8 @@ Note that n, p and <down> and <up> will be hijacked and bound to
[menu-bar image-dired image-dired-next-line-and-display]
'("Display thumb for next file" . image-dired-next-line-and-display)))
+(declare-function clear-image-cache "image.c" (&optional filter))
+
(defun image-dired-create-thumbs (&optional arg)
"Create thumbnail images for all marked files in dired.
With prefix argument ARG, create thumbnails even if they already exist
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index b94a3ee4dad..dbedf64156c 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -126,6 +126,8 @@ A winprops object has the shape (WINDOW . ALIST)."
(if (eq (window-buffer) (current-buffer))
(selected-window))))
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun image-forward-hscroll (&optional n)
"Scroll image in current window to the left by N character widths.
Stop if the right edge of the image is reached."
@@ -397,6 +399,7 @@ information on these modes."
(defvar archive-superior-buffer)
(defvar tar-superior-buffer)
+(declare-function image-refresh "image.c" (spec &optional frame))
(defun image-toggle-display ()
"Start or stop displaying an image file as the actual image.
diff --git a/lisp/image.el b/lisp/image.el
index 4594ae1e1e5..4969f8a4762 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -326,6 +326,8 @@ Optional DATA-P non-nil means SOURCE is a string containing image data."
type)
+(defvar image-library-alist)
+
;;;###autoload
(defun image-type-available-p (type)
"Return non-nil if image type TYPE is available.
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 73e6bad2fd4..7020509cf1d 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -117,6 +117,8 @@
("muletibetan-2" . tibetan)
("muletibetan-1" . tibetan-1-column)))
+(defvar font-encoding-charset-alist)
+
(setq font-encoding-charset-alist
'((latin-iso8859-1 . iso-8859-1)
(latin-iso8859-2 . iso-8859-2)
@@ -186,6 +188,8 @@
(tai-viet #xAA80)
(hangul #xAC00)))
+(defvar otf-script-alist)
+
(setq otf-script-alist
'((arab . arabic)
(armn . armenian)
@@ -273,6 +277,10 @@
;; `char-script-table'. SCRIPT may be a charset specifying the range
;; of characters.
+(declare-function new-fontset "fontset.c" (name fontlist))
+(declare-function set-fontset-font "fontset.c"
+ (name target font-spec &optional frame add))
+
(defun setup-default-fontset ()
"Setup the default fontset."
(new-fontset
@@ -616,6 +624,9 @@
(setq font-encoding-alist
(cons (cons pattern charset) font-encoding-alist)))))
+(defvar x-pixel-size-width-font-regexp)
+(defvar vertical-centering-font-regexp)
+
;; Setting for suppressing XLoadQueryFont on big fonts.
(setq x-pixel-size-width-font-regexp
"gb2312\\|gbk\\|gb18030\\|jisx0208\\|ksc5601\\|cns11643\\|big5")
@@ -746,6 +757,8 @@ with \"fontset\" in `<CHARSET_REGISTRY>' field."
(string= (match-string (1+ xlfd-regexp-registry-subnum) fontset)
"fontset")))
+(declare-function fontset-list "fontset.c" ())
+
(defun generate-fontset-menu ()
"Return list to be appended to `x-fixed-font-alist'.
Done when `mouse-set-font' is called."
@@ -757,6 +770,8 @@ Done when `mouse-set-font' is called."
(cons "Fontset"
(sort l #'(lambda (x y) (string< (car x) (car y)))))))
+(declare-function query-fontset "fontset.c" (pattern &optional regexpp))
+
(defun fontset-plain-name (fontset)
"Return a plain and descriptive name of FONTSET."
(if (not (setq fontset (query-fontset fontset)))
@@ -947,6 +962,9 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
;; The values of the resources the string of the same format as
;; `standard-fontset-spec'.
+(declare-function x-get-resource "frame.c"
+ (attribute class &optional component subclass))
+
(defun create-fontset-from-x-resource ()
(let ((idx 0)
fontset-spec)
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index d0278bb772e..0d3f0b01404 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1910,6 +1910,9 @@ Setting this variable directly does not take effect. See
(features (repeat symbol))
(unibyte-display coding-system)))))
+(declare-function x-server-vendor "xfns.c" (&optional terminal))
+(declare-function x-server-version "xfns.c" (&optional terminal))
+
(defun standard-display-european-internal ()
;; Actually set up direct output of non-ASCII characters.
(standard-display-8bit (if (eq window-system 'pc) 128 160) 255)
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index 3647dfd8224..93571846345 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -818,6 +818,8 @@ but still contains full information about each coding system."
;;; FONT
+(declare-function font-info "font.c" (name &optional frame))
+
(defun describe-font-internal (font-info &optional verbose)
"Print information about a font in FONT-INFO."
(print-list "name (opened by):" (aref font-info 0))
@@ -910,6 +912,9 @@ The font must be already used by Emacs."
(dolist (opened (cdr elt))
(insert "\n\t[" opened "]")))))))
+(declare-function query-fontset "fontset.c" (pattern &optional regexpp))
+(declare-function fontset-info "fontset.c" (fontset &optional frame))
+
(defun print-fontset (fontset &optional print-opened)
"Print information about FONTSET.
If FONTSET is nil, print information about the default fontset.
@@ -930,6 +935,9 @@ the current buffer."
(insert "\n ---<fallback to the default fontset>---")
(describe-vector (char-table-extra-slot info 0) 'print-fontset-element)))
+(defvar fontset-alias-alist)
+(declare-function fontset-list "fontset.c" ())
+
;;;###autoload
(defun describe-fontset (fontset)
"Display information about FONTSET.
@@ -952,6 +960,8 @@ This shows which font is used for which character(s)."
(with-current-buffer standard-output
(print-fontset fontset t))))
+(declare-function fontset-plain-name "fontset" (fontset))
+
;;;###autoload
(defun list-fontsets (arg)
"Display a list of all fontsets.
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el
index 304ad03921c..165827ee255 100644
--- a/lisp/international/mule-util.el
+++ b/lisp/international/mule-util.el
@@ -347,6 +347,8 @@ language environment LANG-ENV."
(with-coding-priority coding-priority
(detect-coding-region from to)))))
+(declare-function internal-char-font "fontset.c" (position &optional ch))
+
;;;###autoload
(defun char-displayable-p (char)
"Return non-nil if we should be able to display CHAR.
@@ -374,7 +376,7 @@ basis, this may not be accurate."
(cond
((listp cs-list)
(catch 'tag
- (mapc #'(lambda (charset)
+ (mapc #'(lambda (charset)
(if (encode-char char charset)
(throw 'tag charset)))
cs-list)
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index 5582bf95b4f..a3e7517a228 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -65,6 +65,9 @@
(defvar report-emacs-bug-orig-text nil
"The automatically-created initial text of bug report.")
+(declare-function x-server-vendor "xfns.c" (&optional terminal))
+(declare-function x-server-version "xfns.c" (&optional terminal))
+
;;;###autoload
(defun report-emacs-bug (topic &optional recent-keys)
"Report a bug in GNU Emacs.
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index 412f8ac0be2..b1a7dcb33ca 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -305,6 +305,8 @@ where SELECTION-NAME = name of selection
SELECTION-THING-SYMBOL = name of variable where the current selection
type for this selection should be stored.")
+(declare-function x-select-text "term/x-win" (text &optional push))
+
(defvar mouse-sel-set-selection-function
(if (eq mouse-sel-default-bindings 'interprogram-cut-paste)
'x-set-selection
@@ -321,6 +323,8 @@ Called with two arguments:
This sets the selection as well as the cut buffer for the older applications,
unless `mouse-sel-default-bindings' is `interprogram-cut-paste'.")
+(declare-function x-cut-buffer-or-selection-value "term/x-win" ())
+
(defvar mouse-sel-get-selection-function
(lambda (selection)
(if (eq selection 'PRIMARY)
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 8565e62edfe..678bce2279e 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -2425,6 +2425,8 @@ and selects that window."
)
"X fonts suitable for use in Emacs.")
+(declare-function generate-fontset-menu "fontset" ())
+
(defun mouse-select-font ()
"Prompt for a font name, using `x-popup-menu', and return it."
(interactive)
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el
index 4d853e556fa..80aaf6b4a7e 100644
--- a/lisp/play/bubbles.el
+++ b/lisp/play/bubbles.el
@@ -950,6 +950,8 @@ static char * dot3d_xpm[] = {
(message "bubbles-quit")
(bury-buffer))
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun bubbles--compute-offsets ()
"Update horizontal and vertical offsets for centering the bubbles grid.
Set `bubbles--col-offset' and `bubbles--row-offset'."
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index cb2815ceef4..36362f2d49b 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -1,7 +1,7 @@
;;; gamegrid.el --- library for implementing grid-based games on Emacs
-;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;; 2008 Free Software Foundation, Inc.
;; Author: Glynn Clements <glynn@sensei.co.uk>
;; Version: 1.02
@@ -304,6 +304,8 @@ static unsigned char gamegrid_bits[] = {
'remove-locale)
(setq buffer-display-table gamegrid-display-table)))
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun gamegrid-setup-default-font ()
(setq gamegrid-face
(copy-face 'default
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index f519e4d4257..9d5de2a94bd 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -471,6 +471,9 @@ otherwise do not."
(setq name (nth 1 (split-string define "[( ]")))
(push (cons name define) gdb-define-alist))))
+(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
+(defvar tooltip-use-echo-area)
+
(defun gdb-tooltip-print (expr)
(tooltip-show
(with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
@@ -755,6 +758,8 @@ positive, otherwise don't automatically raise it."
(define-key gud-minor-mode-map "\C-c\C-w" 'gud-watch)
(define-key global-map (concat gud-key-prefix "\C-w") 'gud-watch)
+(declare-function tooltip-identifier-from-point "tooltip" (point))
+
(defun gud-watch (&optional arg event)
"Watch expression at point.
With arg, enter name of variable to be watched in the minibuffer."
@@ -1905,6 +1910,9 @@ static char *magick[] = {
(defvar breakpoint-disabled-icon nil
"Icon for disabled breakpoint in display margin.")
+(declare-function define-fringe-bitmap "fringe.c"
+ (bitmap bits &optional height width align))
+
(and (display-images-p)
;; Bitmap for breakpoint in fringe
(define-fringe-bitmap 'breakpoint
@@ -2019,6 +2027,7 @@ static char *magick[] = {
(declare-function gud-remove "gdb-ui" t t) ; gud-def
(declare-function gud-break "gdb-ui" t t) ; gud-def
+(declare-function fringe-bitmaps-at-pos "fringe.c" (&optional pos window))
(defun gdb-mouse-set-clear-breakpoint (event)
"Set/clear breakpoint in left fringe/margin at mouse click.
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 3e86001c7c8..fadeae2e26c 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3339,6 +3339,10 @@ ACTIVATEP non-nil means activate mouse motion events."
(kill-local-variable 'gud-tooltip-mouse-motions-active)
(kill-local-variable 'track-mouse))))
+(defvar tooltip-last-mouse-motion-event)
+(declare-function tooltip-hide "tooltip" (&optional ignored-arg))
+(declare-function tooltip-start-delayed-tip "tooltip" ())
+
(defun gud-tooltip-mouse-motion (event)
"Command handler for mouse movement events in `global-map'."
(interactive "e")
@@ -3373,6 +3377,9 @@ With arg, dereference expr if ARG is positive, otherwise do not derereference."
(define-obsolete-function-alias 'tooltip-gud-toggle-dereference
'gud-tooltip-dereference "22.1")
+(defvar tooltip-use-echo-area)
+(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
+(declare-function tooltip-strip-prompt "tooltip" (process output))
; This will only display data that comes in one chunk.
; Larger arrays (say 400 elements) are displayed in
@@ -3395,6 +3402,8 @@ With arg, dereference expr if ARG is positive, otherwise do not derereference."
(sdb (concat expr "/"))))
(declare-function gdb-enqueue-input "gdb-ui" (item))
+(declare-function tooltip-expr-to-print "tooltip" (event))
+(declare-function tooltip-event-buffer "tooltip" (event))
(defun gud-tooltip-tips (event)
"Show tip for identifier or selection under the mouse.
diff --git a/lisp/select.el b/lisp/select.el
index c6128169921..f2db4070d13 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -64,6 +64,9 @@ other X clients. But, if this variable is set, it is used for
the next communication only. After the communication, this
variable is set to nil.")
+(declare-function x-get-selection-internal "xselect.c"
+ (selection-symbol target-type &optional time-stamp))
+
;; This is for temporary compatibility with pre-release Emacs 19.
(defalias 'x-selection 'x-get-selection)
(defun x-get-selection (&optional type data-type)
@@ -106,6 +109,11 @@ in `selection-converter-alist', which see."
"Return text pasted to the clipboard."
(x-get-selection-internal 'CLIPBOARD 'STRING))
+(declare-function x-own-selection-internal "xselect.c"
+ (selection-name selection-value))
+(declare-function x-disown-selection-internal "xselect.c"
+ (selection &optional time))
+
(defun x-set-selection (type data)
"Make an X Windows selection of type TYPE and value DATA.
The argument TYPE (nil means `PRIMARY') says which selection, and
diff --git a/lisp/startup.el b/lisp/startup.el
index 83b44cacc40..c82a627e208 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -629,6 +629,10 @@ opening the first frame (e.g. open a connection to an X server).")
(push argi rest)))))
(nreverse rest)))
+(declare-function x-get-resource "frame.c"
+ (attribute class &optional component subclass))
+(declare-function tool-bar-mode "tool-bar" (&optional arg))
+
(defun command-line ()
(setq before-init-time (current-time)
command-line-default-directory default-directory)
@@ -1365,6 +1369,7 @@ a face or button specification."
'help-echo (startup-echo-area-message)))))
(setq args (cdr args)))))
+(declare-function image-size "image.c" (spec &optional pixels frame))
(defun fancy-splash-head ()
"Insert the head part of the splash screen into the current buffer."
diff --git a/lisp/subr.el b/lisp/subr.el
index 467d569fc49..8c9491a7195 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -905,6 +905,8 @@ POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
(nth 2 position))
+(declare-function scroll-bar-scale "scroll-bar" (num-denom whole))
+
(defun posn-col-row (position)
"Return the nominal column and row in POSITION, measured in characters.
The column and row values are approximations calculated from the x
diff --git a/lisp/term.el b/lisp/term.el
index fc86408c35c..ecf7ed90dae 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -925,6 +925,8 @@ is buffer-local.")
(term-set-escape-char ?\C-c)
+(defvar overflow-newline-into-fringe)
+
(defun term-window-width ()
(if (featurep 'xemacs)
(1- (window-width))
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index d7e0c580c5a..6ac2aab617a 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -185,6 +185,8 @@ the last file dropped is selected."
(concat x-command-line-resources "\n" (car x-invocation-args))))
(setq x-invocation-args (cdr x-invocation-args)))
+(declare-function x-parse-geometry "frame.c" (string))
+
(defun x-handle-geometry (switch)
"Handle the \"-geometry\" SWITCH."
(let* ((geo (x-parse-geometry (car x-invocation-args)))
@@ -211,6 +213,8 @@ the last file dropped is selected."
(if top (list top)))))
(setq x-invocation-args (cdr x-invocation-args))))
+(defvar x-resource-name)
+
(defun x-handle-name-switch (switch)
"Handle the \"-name\" SWITCH."
;; Handle the -name option. Set the variable x-resource-name
@@ -417,6 +421,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
"Report an error when a suspend is attempted."
(error "Suspending an Emacs running under W32 makes no sense"))
+(declare-function generate-fontset-menu "fontset" ())
(defun mouse-set-font (&rest fonts)
"Select an Emacs font from a list of known good fonts and fontsets.
@@ -451,6 +456,8 @@ pop-up menu are unaffected by `w32-list-proportional-fonts')."
(if (null font)
(error "Font not found")))))
+(defvar image-library-alist)
+
;;; Set default known names for image libraries
(setq image-library-alist
'((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll")
@@ -468,6 +475,19 @@ pop-up menu are unaffected by `w32-list-proportional-fonts')."
(defvar w32-initialized nil
"Non-nil if the w32 window system has been initialized.")
+(declare-function x-open-connection "w32fns.c"
+ (display &optional xrm-string must-succeed))
+
+(declare-function setup-default-fontset "fontset" ())
+(declare-function set-fontset-font "fontset.c"
+ (name target font-spec &optional frame add))
+(declare-function setup-default-fontset "fontset" ())
+(declare-function create-fontset-from-fontset-spec "fontset"
+ (fontset-spec &optional style-variant noerror))
+(declare-function create-fontset-from-x-resource "fontset" ())
+(declare-function x-get-resource "frame.c"
+ (attribute class &optional component subclass))
+
(defun w32-initialize-window-system ()
"Initialize Emacs for W32 GUI frames."
diff --git a/lisp/term/w32console.el b/lisp/term/w32console.el
index 22fe44fb570..21bca078ddf 100644
--- a/lisp/term/w32console.el
+++ b/lisp/term/w32console.el
@@ -45,6 +45,8 @@
("white" 15 65535 65535 65535))
"A list of VGA console colors, their indices and 16-bit RGB values.")
+(declare-function x-setup-function-keys "w32-fns" (frame))
+
(defun terminal-init-w32console ()
"Terminal initialization function for w32 console."
;; Share function key initialization with w32 gui frames
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 593df58cca1..fed2081d66e 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1,7 +1,7 @@
;;; x-win.el --- parse relevant switches and set up for X -*-coding: iso-2022-7bit;-*-
-;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;; 2008 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals, i18n
@@ -151,6 +151,8 @@
(concat x-command-line-resources "\n" (car x-invocation-args))))
(setq x-invocation-args (cdr x-invocation-args)))
+(declare-function x-parse-geometry "frame.c" (string))
+
;; Handle the geometry option
(defun x-handle-geometry (switch)
(let* ((geo (x-parse-geometry (car x-invocation-args)))
@@ -177,6 +179,8 @@
(if top (list top)))))
(setq x-invocation-args (cdr x-invocation-args))))
+(defvar x-resource-name)
+
;; Handle the -name option. Set the variable x-resource-name
;; to the option's operand; set the name of
;; the initial frame, too.
@@ -1684,6 +1688,8 @@ The value nil is the same as this list:
(kill-new clipboard-text))
(yank)))
+(declare-function accelerate-menu "xmenu.c" (&optional frame) t)
+
(defun x-menu-bar-open (&optional frame)
"Open the menu bar if `menu-bar-mode' is on. otherwise call `tmm-menubar'."
(interactive "i")
@@ -1699,6 +1705,12 @@ The value nil is the same as this list:
(defvar x-initialized nil
"Non-nil if the X window system has been initialized.")
+(declare-function x-open-connection "xfns.c"
+ (display &optional xrm-string must-succeed))
+(declare-function x-server-max-request-size "xfns.c" (&optional terminal))
+(declare-function x-get-resource "frame.c"
+ (attribute class &optional component subclass))
+
(defun x-initialize-window-system ()
"Initialize Emacs for X frames and open the first connection to an X server."
;; Make sure we have a valid resource name.
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 380b19153b2..b8654af2d25 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -4733,6 +4733,8 @@ If optional argument STATE is positive, turn borders on."
"Perform the update of the X Windows pointer shape."
(set-mouse-color nil))
+(defvar x-pointer-shape)
+
(defun artist-set-pointer-shape (new-pointer-shape)
"Set the shape of the X Windows pointer to NEW-POINTER-SHAPE."
(setq x-pointer-shape new-pointer-shape)
diff --git a/lisp/thumbs.el b/lisp/thumbs.el
index cf5ff79c484..bb62d4cf6a4 100644
--- a/lisp/thumbs.el
+++ b/lisp/thumbs.el
@@ -334,6 +334,8 @@ smaller according to whether INCREMENT is 1 or -1."
((string-match ".*\\.png\\'" img) 'png)
((string-match ".*\\.tiff?\\'" img) 'tiff)))
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun thumbs-file-size (img)
(let ((i (image-size
(find-image `((:type ,(thumbs-image-type img) :file ,img))) t)))
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index c47cab0af40..14cbc57f029 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -88,6 +88,8 @@ Define this locally to override the global tool bar.")
'(menu-item "tool bar" ignore
:filter tool-bar-make-keymap))
+(declare-function image-mask-p "image.c" (spec &optional frame))
+
(defun tool-bar-make-keymap (&optional ignore)
"Generate an actual keymap from `tool-bar-map'.
Its main job is to figure out which images to use based on the display's
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index f5676a325db..d30579a7049 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -210,6 +210,9 @@ change the existing association. Value is the resulting alist."
(push (cons key value) alist))
alist))
+(declare-function x-show-tip "xfns.c"
+ (string &optional frame parms timeout dx dy))
+
(defun tooltip-show (text &optional use-echo-area)
"Show a tooltip window displaying TEXT.
@@ -245,6 +248,8 @@ in echo area."
(sit-for 1)
(message "%s" text)))))
+(declare-function x-hide-tip "xfns.c" ())
+
(defun tooltip-hide (&optional ignored-arg)
"Hide a tooltip, if one is displayed.
Value is non-nil if tooltip was open."
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index dd7c8a44fd1..8ee9d490bb6 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -76,6 +76,8 @@
;; same buffer.
(setq find-file-visit-truename t)
+(declare-function x-server-version "w32fns.c" (&optional display))
+
(defun w32-version ()
"Return the MS-Windows version numbers.
The value is a list of three integers: the major and minor version
diff --git a/lisp/woman.el b/lisp/woman.el
index abbe2ee3842..5f0b94a1f6e 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -1013,6 +1013,9 @@ This is usually either black or white."
(setq symbol-fonts (cons font symbol-fonts))))
symbol-fonts))
+(declare-function x-list-fonts "xfaces.c"
+ (pattern &optional face frame maximum width))
+
(when woman-font-support
(make-face 'woman-symbol)
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index 3b069a86f17..2cee5710b49 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -356,6 +356,9 @@ Currently XDND, Motif and old KDE 1.x protocols are recognized."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Old KDE protocol. Only dropping of files.
+(declare-function x-window-property "xfns.c"
+ (prop &optional frame type source delete-p vector-ret-p))
+
(defun x-dnd-handle-old-kde (event frame window message format data)
"Open the files in a KDE 1.x drop."
(let ((values (x-window-property "DndSelection" frame nil 0 t)))
@@ -376,6 +379,9 @@ Currently XDND, Motif and old KDE 1.x protocols are recognized."
("XdndActionAsk" . ask))
"Mapping from XDND action types to lisp symbols.")
+(declare-function x-change-window-property "xfns.c"
+ (prop value &optional frame type format outer-P))
+
(defun x-dnd-init-xdnd-for-frame (frame)
"Set the XdndAware property for FRAME to indicate that we do XDND."
(x-change-window-property "XdndAware"
@@ -420,8 +426,11 @@ otherwise return the frame coordinates."
(+ frame-real-top (nth 1 edges))))
(cons frame-real-left frame-real-top))))
-(declare-function x-get-atom-name "xselect.c")
-(declare-function x-send-client-message "xselect.c")
+(declare-function x-get-atom-name "xselect.c" (value &optional frame))
+(declare-function x-send-client-message "xselect.c"
+ (display dest from message-type format values))
+(declare-function x-get-selection-internal "xselect.c"
+ (selection-symbol target-type &optional time-stamp))
(defun x-dnd-handle-xdnd (event frame window message format data)
"Receive one XDND event (client message) and send the appropriate reply.