428
|
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.
|
777
|
6 ;; Copyright (C) 2002 Ben Wing.
|
428
|
7
|
|
8 ;; Maintainer: XEmacs Development Team
|
|
9 ;; Keywords: internal, dumped
|
|
10
|
|
11 ;; This file is part of XEmacs.
|
|
12
|
|
13 ;; XEmacs is free software; you can redistribute it and/or modify it
|
|
14 ;; under the terms of the GNU General Public License as published by
|
|
15 ;; the Free Software Foundation; either version 2, or (at your option)
|
|
16 ;; any later version.
|
|
17
|
|
18 ;; XEmacs is distributed in the hope that it will be useful, but
|
|
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
21 ;; General Public License for more details.
|
|
22
|
|
23 ;; You should have received a copy of the GNU General Public License
|
|
24 ;; along with XEmacs; see the file COPYING. If not, write to the
|
|
25 ;; Free Software Foundation, 59 Temple Place - Suite 330,
|
|
26 ;; Boston, MA 02111-1307, USA.
|
|
27
|
|
28 ;;; Synched up with: Not in FSF.
|
|
29
|
|
30 ;;; Commentary:
|
|
31
|
|
32 ;; This file is dumped with XEmacs.
|
|
33
|
|
34 ;; The obsoleteness support used to be scattered throughout various
|
|
35 ;; source files. We put the stuff in one place to remove the junkiness
|
|
36 ;; from other source files and to facilitate creating/updating things
|
|
37 ;; like sysdep.el.
|
|
38
|
|
39 ;;; Code:
|
|
40
|
|
41 (defsubst define-obsolete-function-alias (oldfun newfun)
|
|
42 "Define OLDFUN as an obsolete alias for function NEWFUN.
|
|
43 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN
|
|
44 as obsolete."
|
|
45 (define-function oldfun newfun)
|
|
46 (make-obsolete oldfun newfun))
|
|
47
|
|
48 (defsubst define-compatible-function-alias (oldfun newfun)
|
|
49 "Define OLDFUN as a compatible alias for function NEWFUN.
|
|
50 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN
|
|
51 as provided for compatibility only."
|
|
52 (define-function oldfun newfun)
|
|
53 (make-compatible oldfun newfun))
|
|
54
|
|
55 (defsubst define-obsolete-variable-alias (oldvar newvar)
|
|
56 "Define OLDVAR as an obsolete alias for variable NEWVAR.
|
|
57 This makes referencing or setting OLDVAR equivalent to referencing or
|
|
58 setting NEWVAR and marks OLDVAR as obsolete.
|
|
59 If OLDVAR was bound and NEWVAR was not, Set NEWVAR to OLDVAR.
|
|
60
|
444
|
61 Note: Use this before any other references (defvar/defcustom) to NEWVAR."
|
428
|
62 (let ((needs-setting (and (boundp oldvar) (not (boundp newvar))))
|
|
63 (value (and (boundp oldvar) (symbol-value oldvar))))
|
|
64 (defvaralias oldvar newvar)
|
|
65 (make-obsolete-variable oldvar newvar)
|
|
66 (and needs-setting (set newvar value))))
|
|
67
|
|
68 (defsubst define-compatible-variable-alias (oldvar newvar)
|
|
69 "Define OLDVAR as a compatible alias for variable NEWVAR.
|
|
70 This makes referencing or setting OLDVAR equivalent to referencing or
|
|
71 setting NEWVAR and marks OLDVAR as provided for compatibility only."
|
|
72 (defvaralias oldvar newvar)
|
|
73 (make-compatible-variable oldvar newvar))
|
|
74
|
|
75 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; device stuff
|
|
76
|
|
77 (make-compatible-variable 'window-system "use (console-type)")
|
|
78
|
|
79 (defun x-display-color-p (&optional device)
|
|
80 "Return t if DEVICE is a color device."
|
|
81 (eq 'color (device-class device)))
|
|
82 (make-compatible 'x-display-color-p 'device-class)
|
|
83
|
|
84 (define-function 'x-color-display-p 'x-display-color-p)
|
|
85 (make-compatible 'x-display-color-p 'device-class)
|
|
86
|
|
87 (defun x-display-grayscale-p (&optional device)
|
|
88 "Return t if DEVICE is a grayscale device."
|
|
89 (eq 'grayscale (device-class device)))
|
|
90 (make-compatible 'x-display-grayscale-p 'device-class)
|
|
91
|
|
92 (define-function 'x-grayscale-display-p 'x-display-grayscale-p)
|
|
93 (make-compatible 'x-display-grayscale-p 'device-class)
|
|
94
|
|
95 (define-compatible-function-alias 'x-display-pixel-width 'device-pixel-width)
|
|
96 (define-compatible-function-alias 'x-display-pixel-height 'device-pixel-height)
|
|
97 (define-compatible-function-alias 'x-display-planes 'device-bitplanes)
|
|
98 (define-compatible-function-alias 'x-display-color-cells 'device-color-cells)
|
|
99
|
|
100 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; events
|
|
101
|
|
102 (define-obsolete-function-alias 'menu-event-p 'misc-user-event-p)
|
|
103 (make-obsolete-variable 'unread-command-char 'unread-command-events)
|
|
104
|
|
105 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; extents
|
|
106
|
|
107 (make-obsolete 'set-window-dot 'set-window-point)
|
|
108
|
|
109 (define-obsolete-function-alias 'extent-buffer 'extent-object)
|
|
110
|
|
111 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; frames
|
|
112 (defun frame-first-window (frame)
|
|
113 "Return the topmost, leftmost window of FRAME.
|
|
114 If omitted, FRAME defaults to the currently selected frame."
|
|
115 (frame-highest-window frame 0))
|
|
116 (make-compatible 'frame-first-window 'frame-highest-window)
|
|
117
|
|
118 (define-obsolete-variable-alias 'initial-frame-alist 'initial-frame-plist)
|
|
119 (define-obsolete-variable-alias 'minibuffer-frame-alist
|
|
120 'minibuffer-frame-plist)
|
|
121 (define-obsolete-variable-alias 'pop-up-frame-alist 'pop-up-frame-plist)
|
|
122 (define-obsolete-variable-alias 'special-display-frame-alist
|
|
123 'special-display-frame-plist)
|
|
124
|
|
125 ;; Defined in C.
|
|
126
|
|
127 (define-obsolete-variable-alias 'default-frame-alist 'default-frame-plist)
|
|
128 (define-obsolete-variable-alias 'default-x-frame-alist 'default-x-frame-plist)
|
|
129 (define-obsolete-variable-alias 'default-tty-frame-alist
|
|
130 'default-tty-frame-plist)
|
|
131
|
|
132 (make-compatible 'frame-parameters 'frame-property)
|
|
133 (defun frame-parameters (&optional frame)
|
|
134 "Return the parameters-alist of frame FRAME.
|
|
135 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.
|
|
136 The meaningful PARMs depend on the kind of frame.
|
|
137 If FRAME is omitted, return information on the currently selected frame.
|
|
138
|
|
139 See the variables `default-frame-plist', `default-x-frame-plist', and
|
|
140 `default-tty-frame-plist' for a description of the parameters meaningful
|
|
141 for particular types of frames."
|
|
142 (or frame (setq frame (selected-frame)))
|
|
143 ;; #### This relies on a `copy-sequence' of the user properties in
|
|
144 ;; `frame-properties'. Removing that would make `frame-properties' more
|
|
145 ;; efficient but this function less efficient, as we couldn't be
|
|
146 ;; destructive. Since most callers now use `frame-parameters', we'll
|
|
147 ;; do it this way. Should probably change this at some point in the
|
|
148 ;; future.
|
|
149 (destructive-plist-to-alist (frame-properties frame)))
|
|
150
|
883
|
151 (make-compatible 'frame-parameter 'frame-property)
|
|
152 (defun frame-parameter (frame parameter)
|
|
153 "Return FRAME's value for parameter PARAMETER.
|
|
154 If FRAME is nil, describe the currently selected frame."
|
|
155 (cdr (assq parameter (frame-parameters frame))))
|
|
156
|
428
|
157 (make-compatible 'modify-frame-parameters 'set-frame-properties)
|
|
158 (defun modify-frame-parameters (frame alist)
|
|
159 "Modify the properties of frame FRAME according to ALIST.
|
|
160 ALIST is an alist of properties to change and their new values.
|
|
161 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.
|
|
162 The meaningful PARMs depend on the kind of frame.
|
|
163
|
|
164 See `set-frame-properties' for built-in property names."
|
|
165 ;; it would be nice to be destructive here but that's not safe.
|
|
166 (set-frame-properties frame (alist-to-plist alist)))
|
|
167
|
|
168 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; faces
|
|
169
|
|
170 (define-obsolete-function-alias 'list-faces-display 'edit-faces)
|
|
171 (define-obsolete-function-alias 'list-faces 'face-list)
|
|
172
|
|
173 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; paths
|
|
174
|
|
175 (defvar Info-default-directory-list nil
|
|
176 "This used to be the initial value of Info-directory-list.
|
|
177 If you want to change the locations where XEmacs looks for info files,
|
|
178 set Info-directory-list.")
|
|
179 (make-obsolete-variable 'Info-default-directory-list 'Info-directory-list)
|
|
180
|
|
181 (defvar init-file-user nil
|
|
182 "This used to be the name of the user whose init file was read at startup.")
|
|
183 (make-obsolete-variable 'init-file-user 'load-user-init-file-p)
|
|
184
|
|
185 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; hooks
|
|
186
|
|
187 (make-compatible-variable 'lisp-indent-hook 'lisp-indent-function)
|
|
188 (make-compatible-variable 'comment-indent-hook 'comment-indent-function)
|
|
189 (make-obsolete-variable 'temp-buffer-show-hook
|
|
190 'temp-buffer-show-function)
|
|
191 (make-obsolete-variable 'inhibit-local-variables
|
|
192 "use `enable-local-variables' (with the reversed sense).")
|
|
193 (make-obsolete-variable 'suspend-hooks 'suspend-hook)
|
|
194 (make-obsolete-variable 'first-change-function 'first-change-hook)
|
|
195 (make-obsolete-variable 'before-change-function
|
|
196 "use before-change-functions; which is a list of functions rather than a single function.")
|
|
197 (make-obsolete-variable 'after-change-function
|
|
198 "use after-change-functions; which is a list of functions rather than a single function.")
|
|
199
|
|
200 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; insertion and deletion
|
|
201
|
|
202 (define-compatible-function-alias 'insert-and-inherit 'insert)
|
|
203 (define-compatible-function-alias 'insert-before-markers-and-inherit
|
|
204 'insert-before-markers)
|
|
205
|
|
206 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; keymaps
|
|
207
|
|
208 (defun keymap-parent (keymap)
|
|
209 "Return the first parent of the given keymap."
|
|
210 (car (keymap-parents keymap)))
|
|
211 (make-compatible 'keymap-parent 'keymap-parents)
|
|
212
|
|
213 (defun set-keymap-parent (keymap parent)
|
|
214 "Make the given keymap have (only) the given parent."
|
|
215 (set-keymap-parents keymap (if parent (list parent) '()))
|
|
216 parent)
|
|
217 (make-compatible 'set-keymap-parent 'set-keymap-parents)
|
|
218
|
|
219 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu stuff
|
|
220
|
|
221 (defun add-menu-item (menu-path item-name function enabled-p &optional before)
|
|
222 "Obsolete. See the function `add-menu-button'."
|
|
223 (or item-name (error "must specify an item name"))
|
|
224 (add-menu-button menu-path (vector item-name function enabled-p) before))
|
|
225 (make-obsolete 'add-menu-item 'add-menu-button)
|
|
226
|
|
227 (defun add-menu (menu-path menu-name menu-items &optional before)
|
|
228 "See the function `add-submenu'."
|
442
|
229 (or menu-name (error "must specify a menu name"))
|
|
230 (or menu-items (error "must specify some menu items"))
|
428
|
231 (add-submenu menu-path (cons menu-name menu-items) before))
|
|
232 ;; Can't make this obsolete. easymenu depends on it.
|
|
233 (make-compatible 'add-menu 'add-submenu)
|
|
234
|
|
235 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; minibuffer
|
|
236
|
|
237 (define-compatible-function-alias 'read-minibuffer
|
|
238 'read-expression) ; misleading name
|
|
239 (define-compatible-function-alias 'read-input 'read-string)
|
|
240
|
|
241 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; misc
|
|
242
|
|
243 ;; (defun user-original-login-name ()
|
|
244 ;; "Return user's login name from original login.
|
|
245 ;; This tries to remain unaffected by `su', by looking in environment variables."
|
|
246 ;; (or (getenv "LOGNAME") (getenv "USER") (user-login-name)))
|
|
247 (define-obsolete-function-alias 'user-original-login-name 'user-login-name)
|
|
248
|
|
249 ; old names
|
|
250 (define-obsolete-function-alias 'show-buffer 'set-window-buffer)
|
|
251 (define-obsolete-function-alias 'buffer-flush-undo 'buffer-disable-undo)
|
|
252 (make-compatible 'eval-current-buffer 'eval-buffer)
|
|
253 (define-compatible-function-alias 'byte-code-function-p
|
|
254 'compiled-function-p) ;FSFmacs
|
|
255
|
|
256 (define-obsolete-function-alias 'isearch-yank-x-selection
|
|
257 'isearch-yank-selection)
|
|
258 (define-obsolete-function-alias 'isearch-yank-x-clipboard
|
|
259 'isearch-yank-clipboard)
|
|
260
|
|
261 ;; too bad there's not a way to check for aref, assq, and nconc
|
|
262 ;; being called on the values of functions known to return keymaps,
|
|
263 ;; or known to return vectors of events instead of strings...
|
|
264
|
|
265 (make-obsolete-variable 'executing-macro 'executing-kbd-macro)
|
|
266
|
718
|
267 (define-compatible-function-alias 'interactive-form
|
863
|
268 'function-interactive) ;GNU 21.1
|
|
269 (define-compatible-function-alias 'assq-delete-all
|
|
270 'remassq) ;GNU 21.1
|
718
|
271
|
883
|
272 (defun makehash (&optional test)
|
|
273 "Create a new hash table.
|
|
274 Optional first argument TEST specifies how to compare keys in the table.
|
|
275 Predefined tests are `eq', `eql', and `equal'. Default is `eql'."
|
|
276 (make-hash-table :test test))
|
|
277 (make-compatible 'makehash 'make-hash-table)
|
|
278
|
|
279 (defun buffer-local-value (variable buffer)
|
|
280 "Return the value of VARIABLE in BUFFER.
|
|
281 If VARIABLE does not have a buffer-local binding in BUFFER, the value
|
|
282 is the default binding of variable."
|
|
283 (symbol-value-in-buffer variable buffer))
|
|
284 (make-compatible 'buffer-local-value 'symbol-value-in-buffer)
|
|
285
|
|
286 (define-compatible-function-alias 'line-beginning-position 'point-at-bol)
|
|
287 (define-compatible-function-alias 'line-end-position 'point-at-eol)
|
|
288
|
428
|
289 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; modeline
|
|
290
|
|
291 (define-compatible-function-alias 'redraw-mode-line 'redraw-modeline)
|
|
292 (define-compatible-function-alias 'force-mode-line-update
|
|
293 'redraw-modeline) ;; FSF compatibility
|
|
294 (define-compatible-variable-alias 'mode-line-map 'modeline-map)
|
|
295 (define-compatible-variable-alias 'mode-line-buffer-identification
|
|
296 'modeline-buffer-identification)
|
|
297 (define-compatible-variable-alias 'mode-line-process 'modeline-process)
|
|
298 (define-compatible-variable-alias 'mode-line-modified 'modeline-modified)
|
|
299 (make-compatible-variable 'mode-line-inverse-video
|
|
300 "use set-face-highlight-p and set-face-reverse-p")
|
|
301 (define-compatible-variable-alias 'default-mode-line-format
|
|
302 'default-modeline-format)
|
|
303 (define-compatible-variable-alias 'mode-line-format 'modeline-format)
|
|
304 (define-compatible-variable-alias 'mode-line-menu 'modeline-menu)
|
|
305
|
|
306 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; mouse
|
|
307
|
|
308 ;;; (defun mouse-eval-last-sexpr (event)
|
|
309 ;;; (interactive "@e")
|
|
310 ;;; (save-excursion
|
|
311 ;;; (mouse-set-point event)
|
|
312 ;;; (eval-last-sexp nil)))
|
|
313
|
|
314 (define-obsolete-function-alias 'mouse-eval-last-sexpr 'mouse-eval-sexp)
|
|
315
|
|
316 (defun read-mouse-position (frame)
|
|
317 (cdr (mouse-position (frame-device frame))))
|
|
318 (make-obsolete 'read-mouse-position 'mouse-position)
|
|
319
|
|
320 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; redisplay
|
|
321
|
|
322 (defun redraw-display (&optional device)
|
|
323 (if (eq device t)
|
|
324 (mapcar 'redisplay-device (device-list))
|
|
325 (redisplay-device device)))
|
|
326
|
777
|
327 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; strings
|
|
328
|
|
329 (define-obsolete-function-alias 'sref 'aref)
|
|
330
|
|
331 (defun char-bytes (character)
|
|
332 "Return number of bytes a CHARACTER occupies in a string or buffer.
|
|
333 It always returns 1 in XEmacs, and in recent FSF Emacs versions."
|
|
334 1)
|
|
335 (make-obsolete 'char-bytes "This function always returns 1")
|
|
336
|
860
|
337 (defun find-non-ascii-charset-string (string)
|
|
338 "Return a list of charsets in the STRING except ascii.
|
|
339 It might be available for compatibility with Mule 2.3,
|
|
340 because its `find-charset-string' ignores ASCII charset."
|
|
341 (delq 'ascii (charsets-in-string string)))
|
|
342 (make-obsolete 'find-non-ascii-charset-string
|
|
343 "use (delq 'ascii (charsets-in-string STRING)) instead.")
|
|
344
|
|
345 (defun find-non-ascii-charset-region (start end)
|
|
346 "Return a list of charsets except ascii in the region between START and END.
|
|
347 It might be available for compatibility with Mule 2.3,
|
|
348 because its `find-charset-string' ignores ASCII charset."
|
|
349 (delq 'ascii (charsets-in-region start end)))
|
|
350 (make-obsolete 'find-non-ascii-charset-region
|
|
351 "use (delq 'ascii (charsets-in-region START END)) instead.")
|
818
|
352
|
428
|
353 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; window-system objects
|
|
354
|
|
355 ;; the functionality of column.el has been moved into C
|
|
356 ;; Function obsoleted for XEmacs 20.0/February 1997.
|
|
357 (defalias 'display-column-mode 'column-number-mode)
|
|
358
|
|
359 (defun x-color-values (color &optional frame)
|
|
360 "Return a description of the color named COLOR on frame FRAME.
|
|
361 The value is a list of integer RGB values--(RED GREEN BLUE).
|
|
362 These values appear to range from 0 to 65280 or 65535, depending
|
|
363 on the system; white is (65280 65280 65280) or (65535 65535 65535).
|
|
364 If FRAME is omitted or nil, use the selected frame."
|
|
365 (color-instance-rgb-components (make-color-instance color)))
|
|
366 (make-compatible 'x-color-values 'color-instance-rgb-components)
|
|
367
|
|
368 ;; Two loser functions which shouldn't be used.
|
|
369 (make-obsolete 'following-char 'char-after)
|
|
370 (make-obsolete 'preceding-char 'char-before)
|
|
371
|
|
372 ;; Keywords already do The Right Thing in XEmacs
|
|
373 (make-compatible 'define-widget-keywords "Just use them")
|
|
374
|
|
375 (make-obsolete 'function-called-at-point 'function-at-point)
|
|
376
|
|
377 (provide 'obsolete)
|
|
378 ;;; obsolete.el ends here
|