209
|
1 ;;; obsolete.el --- obsoleteness support
|
|
2
|
|
3 ;; Copyright (C) 1985-1994, 1997 Free Software Foundation, Inc.
|
|
4 ;; Copyright (C) 1994, 1995 Amdahl Corporation.
|
|
5 ;; Copyright (C) 1995 Sun Microsystems.
|
|
6
|
|
7 ;; Maintainer: XEmacs Development Team
|
|
8 ;; Keywords: internal, dumped
|
|
9
|
|
10 ;; This file is part of XEmacs.
|
|
11
|
|
12 ;; XEmacs is free software; you can redistribute it and/or modify it
|
|
13 ;; under the terms of the GNU General Public License as published by
|
|
14 ;; the Free Software Foundation; either version 2, or (at your option)
|
|
15 ;; any later version.
|
|
16
|
|
17 ;; XEmacs is distributed in the hope that it will be useful, but
|
|
18 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
20 ;; General Public License for more details.
|
|
21
|
|
22 ;; You should have received a copy of the GNU General Public License
|
|
23 ;; along with XEmacs; see the file COPYING. If not, write to the
|
|
24 ;; Free Software Foundation, 59 Temple Place - Suite 330,
|
|
25 ;; Boston, MA 02111-1307, USA.
|
|
26
|
|
27 ;;; Synched up with: Not in FSF.
|
|
28
|
|
29 ;;; Commentary:
|
|
30
|
|
31 ;; This file is dumped with XEmacs.
|
|
32
|
|
33 ;; The obsoleteness support used to be scattered throughout various
|
|
34 ;; source files. We put the stuff in one place to remove the junkiness
|
|
35 ;; from other source files and to facilitate creating/updating things
|
|
36 ;; like sysdep.el.
|
|
37
|
|
38 ;;; Code:
|
|
39
|
|
40 (defsubst define-obsolete-function-alias (oldfun newfun)
|
|
41 "Define OLDFUN as an obsolete alias for function NEWFUN.
|
|
42 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN
|
|
43 as obsolete."
|
|
44 (define-function oldfun newfun)
|
|
45 (make-obsolete oldfun newfun))
|
|
46
|
|
47 (defsubst define-compatible-function-alias (oldfun newfun)
|
|
48 "Define OLDFUN as a compatible alias for function NEWFUN.
|
|
49 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN
|
|
50 as provided for compatibility only."
|
|
51 (define-function oldfun newfun)
|
|
52 (make-compatible oldfun newfun))
|
|
53
|
|
54 (defsubst define-obsolete-variable-alias (oldvar newvar)
|
|
55 "Define OLDVAR as an obsolete alias for variable NEWVAR.
|
|
56 This makes referencing or setting OLDVAR equivalent to referencing or
|
|
57 setting NEWVAR and marks OLDVAR as obsolete.
|
|
58 If OLDVAR was bound and NEWVAR was not, Set NEWVAR to OLDVAR.
|
|
59
|
|
60 Note: Use this before any other references (defvar/defcustom) to NEWVAR"
|
|
61 (let ((needs-setting (and (boundp oldvar) (not (boundp newvar))))
|
|
62 (value (and (boundp oldvar) (symbol-value oldvar))))
|
|
63 (defvaralias oldvar newvar)
|
|
64 (make-obsolete-variable oldvar newvar)
|
|
65 (and needs-setting (set newvar value))))
|
|
66
|
|
67 (defsubst define-compatible-variable-alias (oldvar newvar)
|
|
68 "Define OLDVAR as a compatible alias for variable NEWVAR.
|
|
69 This makes referencing or setting OLDVAR equivalent to referencing or
|
|
70 setting NEWVAR and marks OLDVAR as provided for compatibility only."
|
|
71 (defvaralias oldvar newvar)
|
|
72 (make-compatible-variable oldvar newvar))
|
|
73
|
|
74 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; device stuff
|
|
75
|
|
76 (make-compatible-variable 'window-system "use (console-type)")
|
|
77 (make-obsolete-variable 'meta-flag
|
|
78 "use the `set-input-mode' function instead.")
|
|
79
|
|
80 (defun x-display-color-p (&optional device)
|
|
81 "Returns non-nil if DEVICE is a color device."
|
|
82 (eq 'color (device-class device)))
|
|
83 (make-compatible 'x-display-color-p 'device-class)
|
|
84
|
|
85 (define-function 'x-color-display-p 'x-display-color-p)
|
|
86 (make-compatible 'x-display-color-p 'device-class)
|
|
87
|
|
88 (defun x-display-grayscale-p (&optional device)
|
|
89 "Returns non-nil if DEVICE is a grayscale device."
|
|
90 (eq 'grayscale (device-class device)))
|
|
91 (make-compatible 'x-display-grayscale-p 'device-class)
|
|
92
|
|
93 (define-function 'x-grayscale-display-p 'x-display-grayscale-p)
|
|
94 (make-compatible 'x-display-grayscale-p 'device-class)
|
|
95
|
|
96 (define-compatible-function-alias 'x-display-pixel-width 'device-pixel-width)
|
|
97 (define-compatible-function-alias 'x-display-pixel-height
|
|
98 'device-pixel-height)
|
|
99 (define-compatible-function-alias 'x-display-planes 'device-bitplanes)
|
|
100 (define-compatible-function-alias 'x-display-color-cells 'device-color-cells)
|
|
101
|
|
102 (define-obsolete-function-alias 'baud-rate 'device-baud-rate)
|
|
103
|
|
104 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; events
|
|
105
|
|
106 (define-obsolete-function-alias 'menu-event-p 'misc-user-event-p)
|
|
107 (make-obsolete-variable 'unread-command-char 'unread-command-events)
|
|
108 (make-obsolete 'sleep-for-millisecs "use sleep-for with a float")
|
|
109
|
|
110 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; extents
|
|
111
|
|
112 (defun extent-data (extent)
|
|
113 "Obsolete. Returns the `data' property of the given extent."
|
|
114 (extent-property extent 'data))
|
|
115 (make-obsolete 'set-window-dot 'set-window-point)
|
|
116
|
|
117 (defun set-extent-data (extent data)
|
|
118 "Obsolete. Sets the `data' property of the given extent."
|
|
119 (set-extent-property extent 'data data))
|
|
120 (make-obsolete 'set-extent-data 'set-extent-property)
|
|
121
|
|
122 (define-obsolete-function-alias 'extent-buffer 'extent-object)
|
|
123
|
|
124 (defun set-extent-attribute (extent attr &optional clearp)
|
|
125 "" ;; obsoleteness info will be displayed, so no need for anything more.
|
|
126 (cond ((eq attr 'write-protected)
|
|
127 (set-extent-property extent 'read-only t))
|
|
128 ((eq attr 'unhighlight)
|
|
129 (set-extent-property extent 'mouse-face nil))
|
|
130 ((eq attr 'writable)
|
|
131 (set-extent-property extent 'read-only nil))
|
|
132 ((eq attr 'visible)
|
|
133 (set-extent-property extent 'invisible nil))
|
|
134 (t
|
|
135 (set-extent-property extent attr t))))
|
|
136 (make-obsolete 'set-extent-attribute 'set-extent-property)
|
|
137
|
|
138 (defun extent-glyph (extent)
|
|
139 "" ;; obsoleteness info will be displayed, so no need for anything more.
|
|
140 (or (extent-begin-glyph extent)
|
|
141 (extent-end-glyph extent)))
|
|
142 (make-obsolete 'extent-glyph
|
|
143 "use `extent-begin-glyph' or `extent-end-glyph' instead.")
|
|
144
|
|
145 (defun extent-layout (extent)
|
|
146 "" ;; obsoleteness info will be displayed, so no need for anything more.
|
|
147 (extent-begin-glyph-layout extent))
|
|
148 (make-obsolete 'extent-layout
|
|
149 "use `extent-begin-glyph-layout' or `extent-end-glyph-layout' instead.")
|
|
150
|
|
151 (defun set-extent-layout (extent layout)
|
|
152 "" ;; obsoleteness info will be displayed, so no need for anything more.
|
|
153 (set-extent-begin-glyph-layout extent layout))
|
|
154 (make-obsolete 'set-extent-layout
|
|
155 "use `set-extent-begin-glyph-layout' or `set-extent-end-glyph-layout' instead.")
|
|
156
|
|
157 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; frames
|
|
158
|
|
159 (define-obsolete-variable-alias 'select-screen-hook 'select-frame-hook)
|
|
160 (define-obsolete-variable-alias 'deselect-screen-hook 'deselect-frame-hook)
|
|
161 (define-obsolete-variable-alias 'auto-raise-screen 'auto-raise-frame)
|
|
162 (define-obsolete-variable-alias 'auto-lower-screen 'auto-lower-frame)
|
|
163 (define-obsolete-variable-alias 'get-screen-for-buffer-default-screen-name
|
|
164 'get-frame-for-buffer-default-frame-name)
|
|
165
|
|
166 (define-obsolete-function-alias 'buffer-dedicated-screen
|
|
167 'buffer-dedicated-frame)
|
|
168 (define-obsolete-function-alias 'deiconify-screen 'deiconify-frame)
|
|
169 (define-obsolete-function-alias 'delete-screen 'delete-frame)
|
|
170 (define-obsolete-function-alias 'event-screen 'event-frame)
|
|
171 (define-obsolete-function-alias 'find-file-other-screen 'find-file-other-frame)
|
|
172 (define-obsolete-function-alias 'find-file-read-only-other-screen
|
|
173 'find-file-read-only-other-frame)
|
|
174 (define-obsolete-function-alias 'live-screen-p 'frame-live-p)
|
|
175 (define-obsolete-function-alias 'screen-height 'frame-height)
|
|
176 (define-obsolete-function-alias 'screen-iconified-p 'frame-iconified-p)
|
|
177 (define-obsolete-function-alias 'screen-list 'frame-list)
|
|
178 (define-obsolete-function-alias 'screen-live-p 'frame-live-p)
|
|
179 (define-obsolete-function-alias 'screen-name 'frame-name)
|
|
180 (define-obsolete-function-alias 'screen-parameters 'frame-parameters)
|
|
181 (define-obsolete-function-alias 'screen-pixel-height 'frame-pixel-height)
|
|
182 (define-obsolete-function-alias 'screen-pixel-width 'frame-pixel-width)
|
|
183 (define-obsolete-function-alias 'screen-root-window 'frame-root-window)
|
|
184 (define-obsolete-function-alias 'screen-selected-window 'frame-selected-window)
|
|
185 (define-obsolete-function-alias 'screen-totally-visible-p
|
|
186 'frame-totally-visible-p)
|
|
187 (define-obsolete-function-alias 'screen-visible-p 'frame-visible-p)
|
|
188 (define-obsolete-function-alias 'screen-width 'frame-width)
|
|
189 (define-obsolete-function-alias 'screenp 'framep)
|
|
190 (define-obsolete-function-alias 'get-screen-for-buffer 'get-frame-for-buffer)
|
|
191 (define-obsolete-function-alias 'get-screen-for-buffer-noselect
|
|
192 'get-frame-for-buffer-noselect)
|
|
193 (define-obsolete-function-alias 'get-other-screen 'get-other-frame)
|
|
194 (define-obsolete-function-alias 'iconify-screen 'iconify-frame)
|
|
195 (define-obsolete-function-alias 'lower-screen 'lower-frame)
|
|
196 (define-obsolete-function-alias 'mail-other-screen 'mail-other-frame)
|
|
197 (define-obsolete-function-alias 'make-screen 'make-frame)
|
|
198 (define-obsolete-function-alias 'make-screen-invisible 'make-frame-invisible)
|
|
199 (define-obsolete-function-alias 'make-screen-visible 'make-frame-visible)
|
|
200 (define-obsolete-function-alias 'modify-screen-parameters
|
|
201 'modify-frame-parameters)
|
|
202 (define-obsolete-function-alias 'new-screen 'new-frame)
|
|
203 (define-obsolete-function-alias 'next-screen 'next-frame)
|
|
204 (define-obsolete-function-alias 'next-multiscreen-window
|
|
205 'next-multiframe-window)
|
|
206 (define-obsolete-function-alias 'other-screen 'other-frame)
|
|
207 (define-obsolete-function-alias 'previous-screen 'previous-frame)
|
|
208 (define-obsolete-function-alias 'previous-multiscreen-window
|
|
209 'previous-multiframe-window)
|
|
210 (define-obsolete-function-alias 'raise-screen 'raise-frame)
|
|
211 (define-obsolete-function-alias 'redraw-screen 'redraw-frame)
|
|
212 (define-obsolete-function-alias 'select-screen 'select-frame)
|
|
213 (define-obsolete-function-alias 'selected-screen 'selected-frame)
|
|
214 (define-obsolete-function-alias 'set-buffer-dedicated-screen
|
|
215 'set-buffer-dedicated-frame)
|
|
216 (define-obsolete-function-alias 'set-screen-height 'set-frame-height)
|
|
217 (define-obsolete-function-alias 'set-screen-position 'set-frame-position)
|
|
218 (define-obsolete-function-alias 'set-screen-size 'set-frame-size)
|
|
219 (define-obsolete-function-alias 'set-screen-width 'set-frame-width)
|
|
220 (define-obsolete-function-alias 'show-temp-buffer-in-current-screen
|
|
221 'show-temp-buffer-in-current-frame)
|
|
222 (define-obsolete-function-alias 'switch-to-buffer-other-screen
|
|
223 'switch-to-buffer-other-frame)
|
|
224 (define-obsolete-function-alias 'visible-screen-list 'visible-frame-list)
|
|
225 (define-obsolete-function-alias 'window-screen 'window-frame)
|
|
226 (define-obsolete-function-alias 'x-set-screen-pointer
|
|
227 'set-frame-pointer)
|
|
228 (define-obsolete-function-alias 'x-set-frame-pointer
|
|
229 'set-frame-pointer)
|
|
230
|
|
231 (define-obsolete-variable-alias 'screen-title-format 'frame-title-format)
|
|
232 (define-obsolete-variable-alias 'screen-icon-title-format
|
|
233 'frame-icon-title-format)
|
|
234 (define-obsolete-variable-alias 'terminal-screen 'terminal-frame)
|
|
235 (define-obsolete-variable-alias 'delete-screen-hook 'delete-frame-hook)
|
|
236 (define-obsolete-variable-alias 'create-screen-hook 'create-frame-hook)
|
|
237 (define-obsolete-variable-alias 'mouse-enter-screen-hook
|
|
238 'mouse-enter-frame-hook)
|
|
239 (define-obsolete-variable-alias 'mouse-leave-screen-hook
|
|
240 'mouse-leave-frame-hook)
|
|
241 (define-obsolete-variable-alias 'map-screen-hook 'map-frame-hook)
|
|
242 (define-obsolete-variable-alias 'unmap-screen-hook 'unmap-frame-hook)
|
|
243 (define-obsolete-variable-alias 'default-screen-alist 'default-frame-alist)
|
|
244 (define-obsolete-variable-alias 'default-screen-name 'default-frame-name)
|
|
245 (define-obsolete-variable-alias 'x-screen-defaults 'default-x-frame-alist)
|
|
246
|
|
247 (defun x-create-screen (parms window-id)
|
|
248 ""
|
|
249 (if (not (eq 'x (device-type (selected-device))))
|
|
250 (error "Cannot create X frames on non-X device"))
|
|
251 (make-frame (append parms (list (list 'window-id window-id)))
|
|
252 (selected-device)))
|
|
253 (make-obsolete 'x-create-screen 'make-frame)
|
|
254
|
|
255 (defun frame-first-window (frame)
|
|
256 "Returns the topmost, leftmost window of FRAME.
|
|
257 If omitted, FRAME defaults to the currently selected frame."
|
|
258 (frame-highest-window frame 0))
|
|
259 (make-compatible 'frame-first-window 'frame-highest-window)
|
|
260
|
|
261 (define-obsolete-variable-alias 'initial-frame-alist 'initial-frame-plist)
|
|
262 (define-obsolete-variable-alias 'minibuffer-frame-alist
|
|
263 'minibuffer-frame-plist)
|
|
264 (define-obsolete-variable-alias 'pop-up-frame-alist 'pop-up-frame-plist)
|
|
265 (define-obsolete-variable-alias 'special-display-frame-alist
|
|
266 'special-display-frame-plist)
|
|
267
|
|
268 ;; Defined in C.
|
|
269
|
|
270 (define-obsolete-variable-alias 'default-frame-alist 'default-frame-plist)
|
|
271 (define-obsolete-variable-alias 'default-x-frame-alist 'default-x-frame-plist)
|
|
272 (define-obsolete-variable-alias 'default-tty-frame-alist
|
|
273 'default-tty-frame-plist)
|
|
274
|
|
275 (make-compatible 'frame-parameters 'frame-property)
|
|
276 (defun frame-parameters (&optional frame)
|
|
277 "Return the parameters-alist of frame FRAME.
|
|
278 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.
|
|
279 The meaningful PARMs depend on the kind of frame.
|
|
280 If FRAME is omitted, return information on the currently selected frame.
|
|
281
|
|
282 See the variables `default-frame-plist', `default-x-frame-plist', and
|
|
283 `default-tty-frame-plist' for a description of the parameters meaningful
|
|
284 for particular types of frames."
|
|
285 (or frame (setq frame (selected-frame)))
|
|
286 ;; #### This relies on a `copy-sequence' of the user properties in
|
|
287 ;; `frame-properties'. Removing that would make `frame-properties' more
|
|
288 ;; efficient but this function less efficient, as we couldn't be
|
|
289 ;; destructive. Since most callers now use `frame-parameters', we'll
|
|
290 ;; do it this way. Should probably change this at some point in the
|
|
291 ;; future.
|
|
292 (destructive-plist-to-alist (frame-properties frame)))
|
|
293
|
|
294 (make-compatible 'modify-frame-parameters 'set-frame-properties)
|
|
295 (defun modify-frame-parameters (frame alist)
|
|
296 "Modify the properties of frame FRAME according to ALIST.
|
|
297 ALIST is an alist of properties to change and their new values.
|
|
298 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.
|
|
299 The meaningful PARMs depend on the kind of frame.
|
|
300
|
|
301 See `set-frame-properties' for built-in property names."
|
|
302 ;; it would be nice to be destructive here but that's not safe.
|
|
303 (set-frame-properties frame (alist-to-plist alist)))
|
|
304
|
|
305 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; faces
|
|
306
|
|
307 (define-obsolete-function-alias 'list-faces-display 'edit-faces)
|
|
308 (define-obsolete-function-alias 'list-faces 'face-list)
|
|
309
|
|
310 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; files
|
|
311
|
|
312 (make-obsolete-variable 'trim-versions-without-asking 'delete-old-versions)
|
|
313 ;;; Old XEmacs name; kept around for compatibility.
|
|
314 (define-obsolete-variable-alias 'after-write-file-hooks 'after-save-hook)
|
|
315 (define-obsolete-function-alias 'truename 'file-truename)
|
|
316
|
|
317 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; hooks
|
|
318
|
|
319 (make-obsolete-variable 'auto-fill-hook 'auto-fill-function)
|
|
320 (make-obsolete-variable 'blink-paren-hook 'blink-paren-function)
|
|
321 (make-obsolete-variable 'lisp-indent-hook 'lisp-indent-function)
|
|
322 (make-obsolete-variable 'comment-indent-hook 'comment-indent-function)
|
|
323 (make-obsolete-variable 'temp-buffer-show-hook
|
|
324 'temp-buffer-show-function)
|
|
325 (make-obsolete-variable 'inhibit-local-variables
|
|
326 "use `enable-local-variables' (with the reversed sense).")
|
|
327 (make-obsolete-variable 'suspend-hooks 'suspend-hook)
|
|
328 (make-obsolete-variable 'first-change-function 'first-change-hook)
|
|
329 (make-obsolete-variable 'before-change-function
|
|
330 "use before-change-functions; which is a list of functions rather than a single function.")
|
|
331 (make-obsolete-variable 'after-change-function
|
|
332 "use after-change-functions; which is a list of functions rather than a single function.")
|
|
333
|
|
334 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; insertion and deletion
|
|
335
|
|
336 (define-compatible-function-alias 'insert-and-inherit 'insert)
|
|
337 (define-compatible-function-alias 'insert-before-markers-and-inherit
|
|
338 'insert-before-markers)
|
|
339
|
|
340 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; keymaps
|
|
341
|
|
342 (defun keymap-parent (keymap)
|
|
343 "Returns the first parent of the given keymap."
|
|
344 (car (keymap-parents keymap)))
|
|
345 (make-compatible 'keymap-parent 'keymap-parents)
|
|
346
|
|
347 (defun set-keymap-parent (keymap parent)
|
|
348 "Makes the given keymap have (only) the given parent."
|
|
349 (set-keymap-parents keymap (if parent (list parent) '()))
|
|
350 parent)
|
|
351 (make-compatible 'set-keymap-parent 'set-keymap-parents)
|
|
352
|
|
353 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu stuff
|
|
354
|
|
355 (defun add-menu-item (menu-path item-name function enabled-p &optional before)
|
|
356 "Obsolete. See the function `add-menu-button'."
|
|
357 (or item-name (error "must specify an item name"))
|
|
358 (add-menu-button menu-path (vector item-name function enabled-p) before))
|
|
359 (make-obsolete 'add-menu-item 'add-menu-button)
|
|
360
|
|
361 (defun add-menu (menu-path menu-name menu-items &optional before)
|
|
362 "See the function `add-submenu'."
|
|
363 (or menu-name (error (gettext "must specify a menu name")))
|
|
364 (or menu-items (error (gettext "must specify some menu items")))
|
|
365 (add-submenu menu-path (cons menu-name menu-items) before))
|
|
366 ;; Can't make this obsolete. easymenu depends on it.
|
|
367 (make-compatible 'add-menu 'add-submenu)
|
|
368
|
|
369 (define-obsolete-function-alias 'popup-menu-up-p 'popup-up-p)
|
|
370
|
|
371 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; minibuffer
|
|
372
|
|
373 (define-compatible-function-alias 'read-minibuffer
|
|
374 'read-expression) ; misleading name
|
|
375 (define-compatible-function-alias 'read-input 'read-string)
|
|
376 (make-obsolete 'read-no-blanks-input 'read-string) ; mocklisp crud
|
|
377
|
|
378 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; misc
|
|
379
|
|
380 ;; (defun user-original-login-name ()
|
|
381 ;; "Return user's login name from original login.
|
|
382 ;; This tries to remain unaffected by `su', by looking in environment variables."
|
|
383 ;; (or (getenv "LOGNAME") (getenv "USER") (user-login-name)))
|
|
384 (define-obsolete-function-alias 'user-original-login-name 'user-login-name)
|
|
385
|
|
386 ; old names
|
|
387 (define-obsolete-function-alias 'wholenump 'natnump)
|
|
388 (define-obsolete-function-alias 'show-buffer 'set-window-buffer)
|
|
389 (define-obsolete-function-alias 'buffer-flush-undo 'buffer-disable-undo)
|
|
390 (define-obsolete-function-alias 'eval-current-buffer 'eval-buffer)
|
|
391 (define-obsolete-function-alias 'byte-code-function-p
|
|
392 'compiled-function-p) ;FSFmacs
|
|
393
|
|
394 ;;(make-obsolete 'mod '%) ; mod and % are different now
|
|
395
|
|
396 (make-obsolete 'ring-mod 'mod)
|
|
397
|
|
398 (make-obsolete 'current-time-seconds 'current-time)
|
|
399 ;; too bad there's not a way to check for aref, assq, and nconc
|
|
400 ;; being called on the values of functions known to return keymaps,
|
|
401 ;; or known to return vectors of events instead of strings...
|
|
402
|
|
403 (define-obsolete-function-alias 'run-special-hook-with-args
|
|
404 'run-hook-with-args-until-success)
|
|
405
|
|
406 (make-obsolete-variable 'executing-macro 'executing-kbd-macro)
|
|
407
|
|
408 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; modeline
|
|
409
|
|
410 (define-compatible-function-alias 'redraw-mode-line 'redraw-modeline)
|
|
411 (define-compatible-function-alias 'force-mode-line-update
|
|
412 'redraw-modeline) ;; FSF compatibility
|
|
413 (define-compatible-variable-alias 'mode-line-map 'modeline-map)
|
|
414 (define-compatible-variable-alias 'mode-line-buffer-identification
|
|
415 'modeline-buffer-identification)
|
|
416 (define-compatible-variable-alias 'mode-line-process 'modeline-process)
|
|
417 (define-compatible-variable-alias 'mode-line-modified 'modeline-modified)
|
|
418 (make-compatible-variable 'mode-line-inverse-video
|
|
419 "use set-face-highlight-p and set-face-reverse-p")
|
|
420 (define-compatible-variable-alias 'default-mode-line-format
|
|
421 'default-modeline-format)
|
|
422 (define-compatible-variable-alias 'mode-line-format 'modeline-format)
|
|
423 (define-compatible-variable-alias 'mode-line-menu 'modeline-menu)
|
|
424
|
|
425 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; mouse
|
|
426
|
|
427 ;;; (defun mouse-eval-last-sexpr (event)
|
|
428 ;;; (interactive "@e")
|
|
429 ;;; (save-excursion
|
|
430 ;;; (mouse-set-point event)
|
|
431 ;;; (eval-last-sexp nil)))
|
|
432
|
|
433 (define-obsolete-function-alias 'mouse-eval-last-sexpr 'mouse-eval-sexp)
|
|
434
|
|
435 (defun read-mouse-position (frame)
|
|
436 (cdr (mouse-position (frame-device frame))))
|
|
437 (make-obsolete 'read-mouse-position 'mouse-position)
|
|
438
|
|
439 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; `point'
|
|
440
|
|
441 (define-obsolete-function-alias 'dot 'point)
|
|
442 (define-obsolete-function-alias 'dot-marker 'point-marker)
|
|
443 (define-obsolete-function-alias 'dot-min 'point-min)
|
|
444 (define-obsolete-function-alias 'dot-max 'point-max)
|
|
445 (define-obsolete-function-alias 'window-dot 'window-point)
|
|
446 (define-obsolete-function-alias 'set-window-dot 'set-window-point)
|
|
447
|
|
448 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; processes
|
|
449
|
|
450 (define-obsolete-function-alias 'send-string 'process-send-string)
|
|
451 (define-obsolete-function-alias 'send-region 'process-send-region)
|
|
452
|
|
453 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; redisplay
|
|
454
|
|
455 (defun redraw-display (&optional device)
|
|
456 (if (eq device t)
|
|
457 (mapcar 'redisplay-device (device-list))
|
|
458 (redisplay-device device)))
|
|
459
|
|
460 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; stuff replaced by specifiers
|
|
461
|
|
462 (defun screen-scrollbar-width (&optional screen)
|
|
463 ;; specifier-specs is the inverse of set-specifier, but
|
|
464 ;; the way this function was defined, specifier-instance
|
|
465 ;; is closer.
|
|
466 (specifier-instance scrollbar-width (or screen (selected-frame))))
|
|
467 (make-obsolete 'screen-scrollbar-width
|
|
468 "use (specifier-instance scrollbar-width ...).")
|
|
469
|
|
470 (defun set-screen-scrollbar-width (screen value)
|
|
471 (set-specifier scrollbar-width (cons screen value)))
|
|
472 (make-obsolete 'set-screen-scrollbar-width
|
|
473 "use (set-specifier scrollbar-width ...).")
|
|
474
|
|
475 (defun set-screen-left-margin-width (value &optional screen)
|
|
476 (set-specifier left-margin-width
|
|
477 (cons (or screen (selected-frame)) value)))
|
|
478 (make-obsolete 'set-screen-left-margin-width
|
|
479 "use (set-specifier left-margin-width ...).")
|
|
480
|
|
481 (defun set-screen-right-margin-width (value &optional screen)
|
|
482 (set-specifier right-margin-width
|
|
483 (cons (or screen (selected-frame)) value)))
|
|
484 (make-obsolete 'set-screen-right-margin-width
|
|
485 "use (set-specifier right-margin-width ...).")
|
|
486
|
|
487 (defun set-buffer-left-margin-width (value &optional buffer)
|
|
488 (set-specifier left-margin-width (cons (or buffer (current-buffer)) value)))
|
|
489 (make-obsolete 'set-buffer-left-margin-width
|
|
490 "use (set-specifier left-margin-width ...).")
|
|
491
|
|
492 (defun set-buffer-right-margin-width (value &optional buffer)
|
|
493 (set-specifier right-margin-width (cons (or buffer (current-buffer)) value)))
|
|
494 (make-obsolete 'set-buffer-right-margin-width
|
|
495 "use (set-specifier right-margin-width ...).")
|
|
496
|
|
497 (defun screen-left-margin-width (&optional screen)
|
|
498 (specifier-specs left-margin-width (or screen (selected-frame))))
|
|
499 (make-obsolete 'screen-left-margin-width
|
|
500 "use (specifier-specs left-margin-width ...).")
|
|
501
|
|
502 (defun screen-right-margin-width (&optional screen)
|
|
503 (specifier-specs right-margin-width (or screen (selected-frame))))
|
|
504 (make-obsolete 'screen-right-margin-width
|
|
505 "use (specifier-specs right-margin-width ...).")
|
|
506
|
|
507 (defun buffer-left-margin-width (&optional buffer)
|
|
508 (specifier-specs left-margin-width (or buffer (current-buffer))))
|
|
509 (make-obsolete 'buffer-left-margin-width
|
|
510 "use (specifier-specs left-margin-width ...).")
|
|
511
|
|
512 (defun buffer-right-margin-width (&optional buffer)
|
|
513 (specifier-specs right-margin-width (or buffer (current-buffer))))
|
|
514 (make-obsolete 'buffer-right-margin-width
|
|
515 "use (specifier-specs right-margin-width ...).")
|
|
516
|
|
517 (defun x-set-frame-icon-pixmap (frame image-instance &optional mask-ignored)
|
|
518 "Set the icon of the given frame to the given image instance,
|
|
519 which should be an image instance object (as returned by
|
|
520 `make-image-instance'), a glyph object (as returned by `make-glyph'),
|
|
521 or nil. If a glyph object is given, the glyph will be instantiated on
|
|
522 the frame to produce an image instance object.
|
|
523
|
|
524 If the given image instance has a mask, that will be used as the icon mask;
|
|
525 however, not all window managers support this.
|
|
526
|
|
527 The window manager is also not required to support color pixmaps,
|
|
528 only bitmaps (one plane deep).
|
|
529
|
|
530 Optional third argument is ignored. If you're concerned about this
|
|
531 incomplete backwards incompatibility, you should convert your code
|
|
532 to use `frame-icon-glyph' -- you can specify a mask for an XBM file
|
|
533 using the standard image instantiator format."
|
|
534 (if (glyphp image-instance)
|
|
535 (setq image-instance (glyph-image-instance image-instance frame)))
|
|
536 (set-glyph-image frame-icon-glyph image-instance frame))
|
|
537 (make-obsolete 'x-set-frame-icon-pixmap
|
|
538 "use (set-glyph-image frame-icon-glyph ...).")
|
|
539 (defalias 'x-set-screen-icon-pixmap 'x-set-frame-icon-pixmap)
|
|
540 (make-obsolete 'x-set-screen-icon-pixmap
|
|
541 "use (set-glyph-image frame-icon-glyph ...).")
|
|
542
|
|
543 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; window-system objects
|
|
544
|
|
545 (define-obsolete-function-alias 'pixel-name 'color-name)
|
|
546
|
|
547 ;; compatibility function -- a front-end to make-glyph
|
|
548 (defun make-pixmap (name &optional locale)
|
|
549 "Create a glyph with NAME as an image specifier and locale LOCALE.
|
|
550 The file should be in `XBM' or `XPM' format.
|
|
551 If the XBMLANGPATH environment variable is set, it will be searched for
|
|
552 matching files. Next, the directories listed in the `x-bitmap-file-path'
|
|
553 variable will be searched (this variable is initialized from the
|
|
554 \"*bitmapFilePath\" resource). Finally, the XEmacs etc/ directory
|
|
555 (the value of `data-directory') will be searched.
|
|
556 The file argument may also be a list of the form (width height data) where
|
|
557 width and height are the size in pixels, and data is a string, containing
|
|
558 the raw bits of the bitmap. (Bitmaps specified this way can only be one bit
|
|
559 deep.)
|
|
560 If compiled with support for XPM, the file argument may also be a string
|
|
561 which is the contents of an XPM file (that is, a string beginning with the
|
|
562 characters \"/* XPM */\"; see the XPM documentation).
|
|
563 The optional second argument is the specifier locale for this pixmap glyph.
|
|
564 The returned object is a glyph object. To get the actual pixmap object for
|
|
565 a given frame, use the function `glyph-instance'."
|
|
566 (if (consp name)
|
|
567 (setq name (vector 'xbm :data name)))
|
|
568 (make-glyph name))
|
|
569 (make-obsolete 'make-pixmap 'make-glyph)
|
|
570
|
|
571 (defun make-cursor (name &optional fg bg device)
|
|
572 "Creates a pointer image instance with NAME as an image specifier.
|
|
573 The optional second and third arguments are the foreground and background
|
|
574 colors. They may be color name strings or `pixel' objects.
|
|
575 The optional fourth argument is the device on which to allocate the cursor
|
|
576 (defaults to the selected device).
|
|
577 This allocates a new pointer in the X server, and signals an error if the
|
|
578 pointer is unknown or cannot be allocated.
|
|
579
|
|
580 A pointer name can take many different forms. It can be:
|
|
581 - any of the standard cursor names from appendix B of the Xlib manual
|
|
582 (also known as the file <X11/cursorfont.h>) minus the XC_ prefix;
|
|
583 - the name of a font, and glyph index into it of the form
|
|
584 \"FONT fontname index [[mask-font] mask-index]\";
|
|
585 - the name of a bitmap or pixmap file;
|
|
586 - or an image instance object, as returned by `make-image-instance'.
|
|
587
|
|
588 If it is an image instance or pixmap file, and that pixmap comes with a
|
|
589 mask, then that mask will be used. If it is an image instance, it must
|
|
590 have only one plane, since X pointers may only have two colors. If it is a
|
|
591 pixmap file, then the file will be read in monochrome.
|
|
592
|
|
593 If it is a bitmap file, and if a bitmap file whose name is the name of the
|
|
594 pointer with \"msk\" or \"Mask\" appended exists, then that second bitmap
|
|
595 will be used as the mask. For example, a pair of files might be named
|
|
596 \"pointer.xbm\" and \"pointer.xbmmsk\".
|
|
597
|
|
598 The returned object is a normal, first-class lisp object. The way you
|
|
599 `deallocate' the pointer is the way you deallocate any other lisp object:
|
|
600 you drop all pointers to it and allow it to be garbage collected. When
|
|
601 these objects are GCed, the underlying X data is deallocated as well."
|
|
602 ;; #### ignores fg and bg
|
|
603 (make-image-instance name device '(pointer)))
|
|
604 (make-obsolete 'make-cursor 'make-image-instance)
|
|
605
|
|
606 (define-obsolete-function-alias 'pixmap-width 'glyph-width)
|
|
607 (define-obsolete-function-alias 'pixmap-contributes-to-line-height-p
|
|
608 'glyph-contrib-p-instance)
|
|
609 (define-obsolete-function-alias 'set-pixmap-contributes-to-line-height
|
|
610 'set-glyph-contrib-p)
|
|
611
|
|
612 ;; the functionality of column.el has been moved into C
|
|
613 (defalias 'display-column-mode 'column-number-mode)
|
|
614
|
|
615 (defun x-color-values (color &optional frame)
|
|
616 "Return a description of the color named COLOR on frame FRAME.
|
|
617 The value is a list of integer RGB values--(RED GREEN BLUE).
|
|
618 These values appear to range from 0 to 65280 or 65535, depending
|
|
619 on the system; white is (65280 65280 65280) or (65535 65535 65535).
|
|
620 If FRAME is omitted or nil, use the selected frame."
|
|
621 (color-instance-rgb-components (make-color-instance color)))
|
|
622 (make-compatible 'x-color-values 'color-instance-rgb-components)
|
|
623
|
|
624 ;; Two loser functions which shouldn't be used.
|
|
625 (make-obsolete 'following-char 'char-after)
|
|
626 (make-obsolete 'preceding-char 'char-before)
|
|
627
|
|
628
|
|
629 ;; The following several functions are useful in GNU Emacs 20 because
|
|
630 ;; of the multibyte "characters" the internal representation of which
|
|
631 ;; leaks into Lisp. In XEmacs/Mule they are trivial and unnecessary.
|
|
632 ;; We provide them for compatibility reasons solely.
|
|
633
|
|
634 (defun string-to-sequence (string type)
|
|
635 "Convert STRING to a sequence of TYPE which contains characters in STRING.
|
|
636 TYPE should be `list' or `vector'.
|
|
637 Multibyte characters are concerned."
|
|
638 (ecase type
|
|
639 (list
|
|
640 (mapcar #'identity string))
|
|
641 (vector
|
|
642 (mapvector #'identity string))))
|
|
643
|
|
644 (defun string-to-list (string)
|
|
645 "Return a list of characters in STRING."
|
|
646 (mapcar #'identity string))
|
|
647
|
|
648 (defun string-to-vector (string)
|
|
649 "Return a vector of characters in STRING."
|
|
650 (mapvector #'identity string))
|
|
651
|
|
652 (defun store-substring (string idx obj)
|
|
653 "Embed OBJ (string or character) at index IDX of STRING."
|
|
654 (let* ((str (cond ((stringp obj) obj)
|
|
655 ((characterp obj) (char-to-string obj))
|
|
656 (t (error
|
|
657 "Invalid argument (should be string or character): %s"
|
|
658 obj))))
|
|
659 (string-len (length string))
|
|
660 (len (length str))
|
|
661 (i 0))
|
|
662 (while (and (< i len) (< idx string-len))
|
|
663 (aset string idx (aref str i))
|
|
664 (setq idx (1+ idx) i (1+ i)))
|
|
665 string))
|
|
666
|
|
667 ;; ### This function is not compatible with FSF in some cases. Hard
|
|
668 ;; to fix, because it is hard to trace the logic of the FSF function.
|
|
669 ;; In case we need the exact behaviour, we can always copy the FSF
|
|
670 ;; version, which is very long and does lots of unnecessary stuff.
|
|
671 (defun truncate-string-to-width (str end-column &optional start-column padding)
|
|
672 "Truncate string STR to end at column END-COLUMN.
|
|
673 The optional 2nd arg START-COLUMN, if non-nil, specifies
|
|
674 the starting column; that means to return the characters occupying
|
|
675 columns START-COLUMN ... END-COLUMN of STR.
|
|
676
|
|
677 The optional 3rd arg PADDING, if non-nil, specifies a padding character
|
|
678 to add at the end of the result if STR doesn't reach column END-COLUMN,
|
|
679 or if END-COLUMN comes in the middle of a character in STR.
|
|
680 PADDING is also added at the beginning of the result
|
|
681 if column START-COLUMN appears in the middle of a character in STR.
|
|
682
|
|
683 If PADDING is nil, no padding is added in these cases, so
|
|
684 the resulting string may be narrower than END-COLUMN."
|
|
685 (or start-column
|
|
686 (setq start-column 0))
|
|
687 (let ((len (length str)))
|
|
688 (concat (substring str (min start-column len) (min end-column len))
|
|
689 (and padding (> end-column len)
|
|
690 (make-string (- end-column len) padding)))))
|
|
691
|
|
692 (defalias 'truncate-string 'truncate-string-to-width)
|
|
693 (make-obsolete 'truncate-string 'truncate-string-to-width)
|
|
694
|
|
695 ;; Keywords already do The Right Thing in XEmacs
|
|
696 (make-compatible 'define-widget-keywords "Just use them")
|
|
697
|
|
698 (make-obsolete 'function-called-at-point 'function-at-point)
|
|
699
|
|
700 ;;; obsolete.el ends here
|