Mercurial > hg > xemacs-beta
annotate lisp/obsolete.el @ 5885:c8bbb32fe124
Always return a string, #'current-message.
lisp/ChangeLog addition:
2015-04-04 Aidan Kehoe <kehoea@parhasard.net>
* gutter-items.el (append-progress-feedback):
* gutter-items.el (abort-progress-feedback):
Correct comments in both these functions, it's the progress stack
being adjusted, not the message stack.
* simple.el (message-stack):
Describe my recent change in the structure of this.
* simple.el (current-message):
Adjust the implementation of this to always return the string
displayed.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 04 Apr 2015 13:49:30 +0100 |
parents | 15041705c196 |
children |
rev | line source |
---|---|
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. | |
5175 | 6 ;; Copyright (C) 2002, 2004, 2010 Ben Wing. |
428 | 7 |
8 ;; Maintainer: XEmacs Development Team | |
9 ;; Keywords: internal, dumped | |
10 | |
11 ;; This file is part of XEmacs. | |
12 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
13 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
14 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
15 ;; Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
16 ;; option) any later version. |
428 | 17 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
18 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
19 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
20 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
21 ;; for more details. |
428 | 22 |
23 ;; You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5255
diff
changeset
|
24 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
428 | 25 |
26 ;;; Synched up with: Not in FSF. | |
27 | |
28 ;;; Commentary: | |
29 | |
30 ;; This file is dumped with XEmacs. | |
31 | |
32 ;; The obsoleteness support used to be scattered throughout various | |
33 ;; source files. We put the stuff in one place to remove the junkiness | |
34 ;; from other source files and to facilitate creating/updating things | |
35 ;; like sysdep.el. | |
36 | |
37 ;;; Code: | |
38 | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
39 (defsubst define-obsolete-function-alias (oldfun newfun |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
40 &optional when docstring) |
428 | 41 "Define OLDFUN as an obsolete alias for function NEWFUN. |
42 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
43 as obsolete. |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
44 Optional WHEN is for GNU compatibility. XEmacs ignores it. \(In Emacs, WHEN |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
45 is a string indicating the version where OLDFUN was first marked obsolete.) |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
46 Optional DOCSTRING describes any changes in semantics users should be aware of." |
428 | 47 (define-function oldfun newfun) |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
48 (make-obsolete oldfun (or docstring newfun) when)) |
428 | 49 |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
50 (defsubst define-compatible-function-alias (oldfun newfun |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
51 &optional when docstring) |
428 | 52 "Define OLDFUN as a compatible alias for function NEWFUN. |
53 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
54 as provided for compatibility only. |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
55 Optional WHEN is for consistency with `define-obsolete-function-alias'. XEmacs |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
56 ignores it. \(If present, it is a string indicating the version where OLDFUN |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
57 was first marked as a compatibility API.) |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
58 Optional DOCSTRING describes any changes in semantics users should be aware of." |
428 | 59 (define-function oldfun newfun) |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
60 (make-compatible oldfun (or docstring newfun))) |
428 | 61 |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
62 (defsubst define-obsolete-variable-alias (oldvar newvar |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
63 &optional when docstring) |
428 | 64 "Define OLDVAR as an obsolete alias for variable NEWVAR. |
65 This makes referencing or setting OLDVAR equivalent to referencing or | |
66 setting NEWVAR and marks OLDVAR as obsolete. | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
67 If OLDVAR was bound and NEWVAR was not, set NEWVAR to OLDVAR. |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
68 Note: Use this before any other references (defvar/defcustom) to NEWVAR. |
428 | 69 |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
70 Optional WHEN is for GNU compatibility. XEmacs ignores it. \(In Emacs, WHEN |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
71 is a string indicating the version where OLDVAR was first marked obsolete.) |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
72 Optional DOCSTRING describes any changes in semantics users should be aware of." |
428 | 73 (let ((needs-setting (and (boundp oldvar) (not (boundp newvar)))) |
74 (value (and (boundp oldvar) (symbol-value oldvar)))) | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
75 (defvaralias oldvar newvar docstring) |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
76 (make-obsolete-variable oldvar newvar when) |
428 | 77 (and needs-setting (set newvar value)))) |
78 | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
79 (defsubst define-compatible-variable-alias (oldvar newvar |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
80 &optional when docstring) |
428 | 81 "Define OLDVAR as a compatible alias for variable NEWVAR. |
82 This makes referencing or setting OLDVAR equivalent to referencing or | |
5717
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
83 setting NEWVAR and marks OLDVAR as provided for compatibility only. |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
84 Optional WHEN is for consistency with `define-obsolete-variable-alias'. XEmacs |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
85 ignores it. \(If present, it is a string indicating the version where OLDFUN |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
86 was first marked as a compatibility API.) |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
87 Optional DOCSTRING describes any changes in semantics users should be aware of." |
1fd684db4d45
Improve GNU-compatibility of define-*-alias.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5652
diff
changeset
|
88 (defvaralias oldvar newvar docstring) |
428 | 89 (make-compatible-variable oldvar newvar)) |
90 | |
5175 | 91 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; buffers |
92 | |
93 (define-obsolete-function-alias 'show-buffer 'set-window-buffer) | |
94 (define-obsolete-function-alias 'buffer-flush-undo 'buffer-disable-undo) | |
95 (make-compatible 'eval-current-buffer 'eval-buffer) | |
96 | |
97 (defun buffer-local-value (variable buffer) | |
98 "Return the value of VARIABLE in BUFFER. | |
99 If VARIABLE does not have a buffer-local binding in BUFFER, the value | |
100 is the default binding of variable." | |
101 (symbol-value-in-buffer variable buffer)) | |
102 (make-compatible 'buffer-local-value 'symbol-value-in-buffer) | |
103 | |
428 | 104 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; device stuff |
105 | |
106 (make-compatible-variable 'window-system "use (console-type)") | |
107 | |
108 (defun x-display-color-p (&optional device) | |
109 "Return t if DEVICE is a color device." | |
110 (eq 'color (device-class device))) | |
111 (make-compatible 'x-display-color-p 'device-class) | |
112 | |
113 (define-function 'x-color-display-p 'x-display-color-p) | |
114 (make-compatible 'x-display-color-p 'device-class) | |
115 | |
116 (defun x-display-grayscale-p (&optional device) | |
117 "Return t if DEVICE is a grayscale device." | |
118 (eq 'grayscale (device-class device))) | |
119 (make-compatible 'x-display-grayscale-p 'device-class) | |
120 | |
121 (define-function 'x-grayscale-display-p 'x-display-grayscale-p) | |
122 (make-compatible 'x-display-grayscale-p 'device-class) | |
123 | |
124 (define-compatible-function-alias 'x-display-pixel-width 'device-pixel-width) | |
125 (define-compatible-function-alias 'x-display-pixel-height 'device-pixel-height) | |
126 (define-compatible-function-alias 'x-display-planes 'device-bitplanes) | |
127 (define-compatible-function-alias 'x-display-color-cells 'device-color-cells) | |
128 | |
129 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; events | |
130 | |
131 (define-obsolete-function-alias 'menu-event-p 'misc-user-event-p) | |
132 (make-obsolete-variable 'unread-command-char 'unread-command-events) | |
133 | |
134 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; extents | |
135 | |
136 (make-obsolete 'set-window-dot 'set-window-point) | |
137 | |
138 (define-obsolete-function-alias 'extent-buffer 'extent-object) | |
1024 | 139 (define-compatible-variable-alias 'parse-sexp-lookup-properties |
140 'lookup-syntax-properties) | |
428 | 141 |
142 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; frames | |
5175 | 143 |
428 | 144 (defun frame-first-window (frame) |
145 "Return the topmost, leftmost window of FRAME. | |
146 If omitted, FRAME defaults to the currently selected frame." | |
147 (frame-highest-window frame 0)) | |
148 (make-compatible 'frame-first-window 'frame-highest-window) | |
149 | |
150 (define-obsolete-variable-alias 'initial-frame-alist 'initial-frame-plist) | |
151 (define-obsolete-variable-alias 'minibuffer-frame-alist | |
152 'minibuffer-frame-plist) | |
153 (define-obsolete-variable-alias 'pop-up-frame-alist 'pop-up-frame-plist) | |
154 (define-obsolete-variable-alias 'special-display-frame-alist | |
155 'special-display-frame-plist) | |
156 | |
157 ;; Defined in C. | |
158 | |
159 (define-obsolete-variable-alias 'default-frame-alist 'default-frame-plist) | |
160 (define-obsolete-variable-alias 'default-x-frame-alist 'default-x-frame-plist) | |
161 (define-obsolete-variable-alias 'default-tty-frame-alist | |
162 'default-tty-frame-plist) | |
163 | |
164 (make-compatible 'frame-parameters 'frame-property) | |
165 (defun frame-parameters (&optional frame) | |
166 "Return the parameters-alist of frame FRAME. | |
167 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol. | |
168 The meaningful PARMs depend on the kind of frame. | |
169 If FRAME is omitted, return information on the currently selected frame. | |
170 | |
171 See the variables `default-frame-plist', `default-x-frame-plist', and | |
172 `default-tty-frame-plist' for a description of the parameters meaningful | |
173 for particular types of frames." | |
174 (or frame (setq frame (selected-frame))) | |
175 ;; #### This relies on a `copy-sequence' of the user properties in | |
176 ;; `frame-properties'. Removing that would make `frame-properties' more | |
177 ;; efficient but this function less efficient, as we couldn't be | |
178 ;; destructive. Since most callers now use `frame-parameters', we'll | |
179 ;; do it this way. Should probably change this at some point in the | |
180 ;; future. | |
181 (destructive-plist-to-alist (frame-properties frame))) | |
182 | |
883 | 183 (make-compatible 'frame-parameter 'frame-property) |
184 (defun frame-parameter (frame parameter) | |
185 "Return FRAME's value for parameter PARAMETER. | |
186 If FRAME is nil, describe the currently selected frame." | |
187 (cdr (assq parameter (frame-parameters frame)))) | |
188 | |
428 | 189 (make-compatible 'modify-frame-parameters 'set-frame-properties) |
190 (defun modify-frame-parameters (frame alist) | |
191 "Modify the properties of frame FRAME according to ALIST. | |
192 ALIST is an alist of properties to change and their new values. | |
193 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol. | |
194 The meaningful PARMs depend on the kind of frame. | |
195 | |
196 See `set-frame-properties' for built-in property names." | |
197 ;; it would be nice to be destructive here but that's not safe. | |
198 (set-frame-properties frame (alist-to-plist alist))) | |
199 | |
200 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; faces | |
201 | |
202 (define-obsolete-function-alias 'list-faces-display 'edit-faces) | |
203 (define-obsolete-function-alias 'list-faces 'face-list) | |
204 | |
5175 | 205 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; fonts and colors |
428 | 206 |
5175 | 207 (defun x-color-values (color &optional frame) |
208 "Return a description of the color named COLOR on frame FRAME. | |
209 The value is a list of integer RGB values--(RED GREEN BLUE). | |
210 These values appear to range from 0 to 65280 or 65535, depending | |
211 on the system; white is (65280 65280 65280) or (65535 65535 65535). | |
212 If FRAME is omitted or nil, use the selected frame." | |
213 (color-instance-rgb-components (make-color-instance color))) | |
214 (make-compatible 'x-color-values 'color-instance-rgb-components) | |
428 | 215 |
5175 | 216 (make-obsolete 'mswindows-color-list 'color-list) |
217 (make-obsolete 'tty-color-list 'color-list) | |
218 (make-compatible 'list-fonts 'font-list) | |
428 | 219 |
220 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; hooks | |
221 | |
222 (make-compatible-variable 'lisp-indent-hook 'lisp-indent-function) | |
223 (make-compatible-variable 'comment-indent-hook 'comment-indent-function) | |
224 (make-obsolete-variable 'temp-buffer-show-hook | |
225 'temp-buffer-show-function) | |
226 (make-obsolete-variable 'inhibit-local-variables | |
227 "use `enable-local-variables' (with the reversed sense).") | |
228 (make-obsolete-variable 'suspend-hooks 'suspend-hook) | |
229 (make-obsolete-variable 'first-change-function 'first-change-hook) | |
230 (make-obsolete-variable 'before-change-function | |
231 "use before-change-functions; which is a list of functions rather than a single function.") | |
232 (make-obsolete-variable 'after-change-function | |
233 "use after-change-functions; which is a list of functions rather than a single function.") | |
234 | |
5175 | 235 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; insertion, deletion, movement |
428 | 236 |
237 (define-compatible-function-alias 'insert-and-inherit 'insert) | |
238 (define-compatible-function-alias 'insert-before-markers-and-inherit | |
239 'insert-before-markers) | |
240 | |
5175 | 241 (define-compatible-function-alias 'line-beginning-position 'point-at-bol) |
242 (define-compatible-function-alias 'line-end-position 'point-at-eol) | |
243 | |
244 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lisp engine, basic Lisp stuff | |
245 | |
246 (make-obsolete 'function-called-at-point 'function-at-point) | |
247 | |
248 ;; As of 21.5, #'throw is a special operator. This makes bytecode using it | |
249 ;; compiled for 21.4 fail; making this function available works around that. | |
250 (defun obsolete-throw (tag value) | |
251 "Ugly compatibility hack. | |
252 | |
253 See the implementation of #'funcall in eval.c. This should be removed once | |
254 we no longer encounter bytecode from 21.4." | |
255 (throw tag value)) | |
256 | |
257 (make-obsolete | |
258 'obsolete-throw | |
259 "it says `obsolete' in the name, you know you shouldn't be using this.") | |
260 | |
261 (define-compatible-function-alias 'cl-mapc 'mapc) | |
262 | |
5387
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
263 ;; Various non-XEmacs code can call this, because it used not be |
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
264 ;; called automatically at dump time. |
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
265 (define-function 'cl-float-limits 'ignore) |
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
266 (make-obsolete 'cl-float-limits "this is called at dump time in 21.5 and \ |
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
267 later, no need to call it in user code.") |
5f5d48053e86
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
Aidan Kehoe <kehoea@parhasard.net>
parents:
5368
diff
changeset
|
268 |
5327
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
269 ;; XEmacs; old compiler macros meant that this was called directly |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
270 ;; from compiled code, and we need to provide a version of it for a |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
271 ;; couple of years at least because of that. Aidan Kehoe, Mon Oct 4 |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
272 ;; 12:06:41 IST 2010 |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
273 (defun cl-delete-duplicates (cl-seq cl-keys cl-copy) |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
274 (apply (if cl-copy #'remove-duplicates #'delete-duplicates) cl-seq cl-keys)) |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
275 |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
276 (make-obsolete 'cl-delete-duplicates 'delete-duplicates) |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
277 |
5635
2fc3f2f35523
Put back compatibility alias for #'cl-puthash, used by 21.4's setf expansion
Aidan Kehoe <kehoea@parhasard.net>
parents:
5583
diff
changeset
|
278 ;; This occurs because of setf expansion by 21.4, changing the affected |
2fc3f2f35523
Put back compatibility alias for #'cl-puthash, used by 21.4's setf expansion
Aidan Kehoe <kehoea@parhasard.net>
parents:
5583
diff
changeset
|
279 ;; packages won't fix that. |
2fc3f2f35523
Put back compatibility alias for #'cl-puthash, used by 21.4's setf expansion
Aidan Kehoe <kehoea@parhasard.net>
parents:
5583
diff
changeset
|
280 (define-obsolete-function-alias 'cl-puthash 'puthash) |
2fc3f2f35523
Put back compatibility alias for #'cl-puthash, used by 21.4's setf expansion
Aidan Kehoe <kehoea@parhasard.net>
parents:
5583
diff
changeset
|
281 |
5175 | 282 ; old names |
283 (define-compatible-function-alias 'byte-code-function-p | |
284 'compiled-function-p) ;FSFmacs | |
285 | |
286 (define-compatible-function-alias 'interactive-form | |
287 'function-interactive) ;GNU 21.1 | |
5583
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
288 (define-function 'assq-delete-all 'remassq) ;GNU 21.1 |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
289 (make-compatible 'assq-delete-all "use (delete* ITEM SEQUENCE :key #'car)") |
5175 | 290 |
291 (defun makehash (&optional test) | |
292 "Create a new hash table. | |
293 Optional first argument TEST specifies how to compare keys in the table. | |
294 Predefined tests are `eq', `eql', and `equal'. Default is `eql'." | |
295 (make-hash-table :test test)) | |
296 (make-compatible 'makehash 'make-hash-table) | |
297 | |
298 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; keys, keymaps | |
428 | 299 |
300 (defun keymap-parent (keymap) | |
301 "Return the first parent of the given keymap." | |
302 (car (keymap-parents keymap))) | |
303 (make-compatible 'keymap-parent 'keymap-parents) | |
304 | |
305 (defun set-keymap-parent (keymap parent) | |
306 "Make the given keymap have (only) the given parent." | |
307 (set-keymap-parents keymap (if parent (list parent) '())) | |
308 parent) | |
309 (make-compatible 'set-keymap-parent 'set-keymap-parents) | |
310 | |
5208
9fa29ec759e3
Implement suggest-key-bindings in terms of teach-extended-commands-p
Aidan Kehoe <kehoea@parhasard.net>
parents:
5175
diff
changeset
|
311 (make-compatible-variable 'suggest-key-bindings 'teach-extended-commands-p) |
9fa29ec759e3
Implement suggest-key-bindings in terms of teach-extended-commands-p
Aidan Kehoe <kehoea@parhasard.net>
parents:
5175
diff
changeset
|
312 |
5175 | 313 ;; too bad there's not a way to check for aref, assq, and nconc |
314 ;; being called on the values of functions known to return keymaps, | |
315 ;; or known to return vectors of events instead of strings... | |
316 | |
317 ;;; Yes there is; make compiler macros for aref, assq, nconc, checking that | |
318 ;;; the car of the relevant argument is sane. | |
319 | |
320 (make-obsolete-variable 'executing-macro 'executing-kbd-macro) | |
321 | |
428 | 322 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu stuff |
323 | |
4317
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
324 (defun add-menu-item (menu-path item-name function enabled-p &optional before) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
325 "Obsolete. See the function `add-menu-button'." |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
326 (or item-name (error "must specify an item name")) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
327 (declare-fboundp (add-menu-button menu-path (vector item-name function enabled-p) before))) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
328 (make-obsolete 'add-menu-item 'add-menu-button) |
428 | 329 |
4317
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
330 (defun add-menu (menu-path menu-name menu-items &optional before) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
331 "See the function `add-submenu'." |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
332 (or menu-name (error "must specify a menu name")) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
333 (or menu-items (error "must specify some menu items")) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
334 (declare-fboundp (add-submenu menu-path (cons menu-name menu-items) before))) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
335 ;; Can't make this obsolete. easymenu depends on it. |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
336 (make-compatible 'add-menu 'add-submenu) |
428 | 337 |
4317
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
338 (define-obsolete-function-alias 'package-get-download-menu |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
339 'package-ui-download-menu) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
340 |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
341 (unless (featurep 'menubar) |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
342 ;; Don't provide the last three functions unless the menubar feature is |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
343 ;; available. This approach (with #'unintern) avoids warnings about lost |
15d36164ebd7
Eliminate lost docstring warnings on 21.5.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4222
diff
changeset
|
344 ;; docstrings since make-docfile doesn't parse bytecode. |
4783
e29fcfd8df5f
Eliminate most core code byte-compile warnings.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4677
diff
changeset
|
345 (mapc #'unintern '(add-menu-item add-menu package-get-download-menu))) |
1365 | 346 |
428 | 347 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; minibuffer |
348 | |
349 (define-compatible-function-alias 'read-minibuffer | |
350 'read-expression) ; misleading name | |
351 (define-compatible-function-alias 'read-input 'read-string) | |
352 | |
353 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; modeline | |
354 | |
355 (define-compatible-function-alias 'redraw-mode-line 'redraw-modeline) | |
356 (define-compatible-function-alias 'force-mode-line-update | |
357 'redraw-modeline) ;; FSF compatibility | |
358 (define-compatible-variable-alias 'mode-line-map 'modeline-map) | |
359 (define-compatible-variable-alias 'mode-line-buffer-identification | |
360 'modeline-buffer-identification) | |
361 (define-compatible-variable-alias 'mode-line-process 'modeline-process) | |
362 (define-compatible-variable-alias 'mode-line-modified 'modeline-modified) | |
363 (make-compatible-variable 'mode-line-inverse-video | |
364 "use set-face-highlight-p and set-face-reverse-p") | |
365 (define-compatible-variable-alias 'default-mode-line-format | |
366 'default-modeline-format) | |
367 (define-compatible-variable-alias 'mode-line-format 'modeline-format) | |
368 (define-compatible-variable-alias 'mode-line-menu 'modeline-menu) | |
369 | |
370 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; mouse | |
371 | |
372 ;;; (defun mouse-eval-last-sexpr (event) | |
373 ;;; (interactive "@e") | |
374 ;;; (save-excursion | |
375 ;;; (mouse-set-point event) | |
376 ;;; (eval-last-sexp nil))) | |
377 | |
378 (define-obsolete-function-alias 'mouse-eval-last-sexpr 'mouse-eval-sexp) | |
379 | |
380 (defun read-mouse-position (frame) | |
381 (cdr (mouse-position (frame-device frame)))) | |
382 (make-obsolete 'read-mouse-position 'mouse-position) | |
383 | |
5175 | 384 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; paths |
385 | |
386 (defvar Info-default-directory-list nil | |
387 "This used to be the initial value of Info-directory-list. | |
388 If you want to change the locations where XEmacs looks for info files, | |
389 set Info-directory-list.") | |
390 (make-obsolete-variable 'Info-default-directory-list 'Info-directory-list) | |
391 | |
392 (defvar init-file-user nil | |
393 "This used to be the name of the user whose init file was read at startup.") | |
394 (make-obsolete-variable 'init-file-user 'load-user-init-file-p) | |
395 | |
396 (define-obsolete-function-alias 'pui-add-install-directory | |
397 'pui-set-local-package-get-directory) ; misleading name | |
398 | |
428 | 399 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; redisplay |
400 | |
401 (defun redraw-display (&optional device) | |
402 (if (eq device t) | |
403 (mapcar 'redisplay-device (device-list)) | |
404 (redisplay-device device))) | |
405 | |
5175 | 406 ;; the functionality of column.el has been moved into C |
407 ;; Function obsoleted for XEmacs 20.0/February 1997. | |
408 (defalias 'display-column-mode 'column-number-mode) | |
409 | |
410 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; selections | |
411 | |
412 (define-obsolete-function-alias 'isearch-yank-x-selection | |
413 'isearch-yank-selection) | |
414 (define-obsolete-function-alias 'isearch-yank-x-clipboard | |
415 'isearch-yank-clipboard) | |
416 | |
417 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; text and strings | |
777 | 418 |
419 (define-obsolete-function-alias 'sref 'aref) | |
420 | |
421 (defun char-bytes (character) | |
422 "Return number of bytes a CHARACTER occupies in a string or buffer. | |
423 It always returns 1 in XEmacs, and in recent FSF Emacs versions." | |
424 1) | |
425 (make-obsolete 'char-bytes "This function always returns 1") | |
426 | |
860 | 427 (defun find-non-ascii-charset-string (string) |
428 "Return a list of charsets in the STRING except ascii. | |
429 It might be available for compatibility with Mule 2.3, | |
430 because its `find-charset-string' ignores ASCII charset." | |
5652
cc6f0266bc36
Avoid #'delq in core Lisp, for the sake of style, a very slightly smaller binary
Aidan Kehoe <kehoea@parhasard.net>
parents:
5635
diff
changeset
|
431 (delete* 'ascii |
cc6f0266bc36
Avoid #'delq in core Lisp, for the sake of style, a very slightly smaller binary
Aidan Kehoe <kehoea@parhasard.net>
parents:
5635
diff
changeset
|
432 (and-fboundp 'charsets-in-string (charsets-in-string string)))) |
860 | 433 (make-obsolete 'find-non-ascii-charset-string |
434 "use (delq 'ascii (charsets-in-string STRING)) instead.") | |
435 | |
436 (defun find-non-ascii-charset-region (start end) | |
437 "Return a list of charsets except ascii in the region between START and END. | |
438 It might be available for compatibility with Mule 2.3, | |
439 because its `find-charset-string' ignores ASCII charset." | |
5652
cc6f0266bc36
Avoid #'delq in core Lisp, for the sake of style, a very slightly smaller binary
Aidan Kehoe <kehoea@parhasard.net>
parents:
5635
diff
changeset
|
440 (delete* 'ascii (and-fboundp 'charsets-in-region |
cc6f0266bc36
Avoid #'delq in core Lisp, for the sake of style, a very slightly smaller binary
Aidan Kehoe <kehoea@parhasard.net>
parents:
5635
diff
changeset
|
441 (charsets-in-region start end)))) |
860 | 442 (make-obsolete 'find-non-ascii-charset-region |
443 "use (delq 'ascii (charsets-in-region START END)) instead.") | |
818 | 444 |
3555 | 445 ;; < 21.5 compatibility, eg. https://bugzilla.redhat.com/201524#c2 |
446 (define-obsolete-function-alias 'string-to-char-list 'string-to-list) | |
447 | |
428 | 448 ;; Two loser functions which shouldn't be used. |
449 (make-obsolete 'following-char 'char-after) | |
450 (make-obsolete 'preceding-char 'char-before) | |
451 | |
5175 | 452 |
453 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; misc | |
454 | |
455 ;; (defun user-original-login-name () | |
456 ;; "Return user's login name from original login. | |
457 ;; This tries to remain unaffected by `su', by looking in environment variables." | |
458 ;; (or (getenv "LOGNAME") (getenv "USER") (user-login-name))) | |
459 (define-obsolete-function-alias 'user-original-login-name 'user-login-name) | |
460 | |
428 | 461 ;; Keywords already do The Right Thing in XEmacs |
462 (make-compatible 'define-widget-keywords "Just use them") | |
463 | |
5229
7d06a8bf47d2
Move #'purecopy from alloc.c to being an obsolete alias for #'identity
Aidan Kehoe <kehoea@parhasard.net>
parents:
5208
diff
changeset
|
464 (define-function 'purecopy 'identity) |
7d06a8bf47d2
Move #'purecopy from alloc.c to being an obsolete alias for #'identity
Aidan Kehoe <kehoea@parhasard.net>
parents:
5208
diff
changeset
|
465 (make-obsolete 'purecopy "purespace is not available in XEmacs.") |
4995
8431b52e43b1
Move the various map* functions to C; add #'map-into.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4885
diff
changeset
|
466 |
5255
b5611afbcc76
Support process plists, for greater GNU compatibility.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5229
diff
changeset
|
467 (define-compatible-function-alias 'process-get 'get) |
b5611afbcc76
Support process plists, for greater GNU compatibility.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5229
diff
changeset
|
468 (define-compatible-function-alias 'process-put 'put) |
b5611afbcc76
Support process plists, for greater GNU compatibility.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5229
diff
changeset
|
469 (define-compatible-function-alias 'process-plist 'object-plist) |
b5611afbcc76
Support process plists, for greater GNU compatibility.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5229
diff
changeset
|
470 (define-compatible-function-alias 'set-process-plist 'object-setplist) |
b5611afbcc76
Support process plists, for greater GNU compatibility.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5229
diff
changeset
|
471 |
5327
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
472 (define-function 'memql 'member*) |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
473 (make-compatible 'memql "use the more full-featured `member*' instead.") |
d1b17a33450b
Move the heavy lifting from cl-seq.el to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5255
diff
changeset
|
474 |
5562
855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5475
diff
changeset
|
475 (define-obsolete-variable-alias 'cl-macro-environment |
855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5475
diff
changeset
|
476 'byte-compile-macro-environment) |
855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5475
diff
changeset
|
477 |
5583
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
478 ;; Actual implementations of these functions are in cl-extra.el, after |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
479 ;; cl-macs is loaded, since those implementations use #'labels and |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
480 ;; #'symbol-macrolet. These APIs were always XEmacs-specific, were never |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
481 ;; widely used, and it was always more readable and more compatible to use |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
482 ;; the CL functions. |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
483 (make-obsolete 'remassoc "use delete* with :test #'equal, :key #'car") |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
484 (make-obsolete 'remassq "use delete* with :test #'eq, :key #'car") |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
485 (make-obsolete 'remrassoc "use delete* with :test #'equal, :key #'cdr") |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
486 (make-obsolete 'remrassq "use delete* with :test #'eq, :key #'cdr") |
10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5562
diff
changeset
|
487 |
5863
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
488 (defun max-char () |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
489 "Return a fixnum one less than `char-code-limit'. |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
490 |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
491 In contrast with GNU Emacs, this is not necessarily a valid character, but it |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
492 is an inclusive upper bound on the possible values returned by `char-int'." |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
493 (1- char-code-limit)) |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
494 (make-compatible |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
495 'max-char |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
496 "consider `char-code-limit', which gives an exclusive upper bound") |
15041705c196
Provide `char-code-limit', implement the GNU equivalent in terms of it.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5717
diff
changeset
|
497 |
428 | 498 (provide 'obsolete) |
499 ;;; obsolete.el ends here |