temporarily disable elisp exception tests
[bpt/guile.git] / libguile / deprecated.h
CommitLineData
19e2247d
MV
1/* This file contains definitions for deprecated features. When you
2 deprecate something, move it here when that is feasible.
3*/
4
5#ifndef SCM_DEPRECATED_H
6#define SCM_DEPRECATED_H
7
28b818d3 8/* Copyright (C) 2003,2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
19e2247d 9 *
73be1d9e 10 * This library is free software; you can redistribute it and/or
53befeb7
NJ
11 * modify it under the terms of the GNU Lesser General Public License
12 * as published by the Free Software Foundation; either version 3 of
13 * the License, or (at your option) any later version.
19e2247d 14 *
53befeb7
NJ
15 * This library is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
73be1d9e
MV
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19e2247d 19 *
73be1d9e
MV
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
53befeb7
NJ
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 * 02110-1301 USA
73be1d9e 24 */
19e2247d
MV
25
26#include "libguile/__scm.h"
55d30fac 27#include "libguile/strings.h"
a3e92377 28#include "libguile/eval.h"
ec16eb78 29#include "libguile/throw.h"
8a4ed2dd 30#include "libguile/iselect.h"
19e2247d
MV
31
32#if (SCM_ENABLE_DEPRECATED == 1)
33
b2feee6b
AW
34/* Deprecated 13-05-2011 because it's better just to scm_dynwind_begin.
35 That also avoids the temptation to stuff pointers in an SCM. */
36
37typedef SCM (*scm_t_inner) (void *);
38SCM_DEPRECATED SCM scm_internal_dynamic_wind (scm_t_guard before,
39 scm_t_inner inner,
40 scm_t_guard after,
41 void *inner_data,
42 void *guard_data);
43
86fb1eb6 44
fa075d40
AW
45/* Deprecated 15-05-2011 because it's better to be explicit with the
46 `return'. Code is more readable that way. */
47#define SCM_WTA_DISPATCH_0(gf, subr) \
48 return scm_wta_dispatch_0 ((gf), (subr))
49#define SCM_WTA_DISPATCH_1(gf, a1, pos, subr) \
50 return scm_wta_dispatch_1 ((gf), (a1), (pos), (subr))
51#define SCM_WTA_DISPATCH_2(gf, a1, a2, pos, subr) \
52 return scm_wta_dispatch_2 ((gf), (a1), (a2), (pos), (subr))
53#define SCM_WTA_DISPATCH_N(gf, args, pos, subr) \
54 return scm_wta_dispatch_n ((gf), (args), (pos), (subr))
55
56/* Deprecated 15-05-2011 because this idiom is not very readable. */
57#define SCM_GASSERT0(cond, gf, subr) \
58 if (SCM_UNLIKELY (!(cond))) \
59 return scm_wta_dispatch_0 ((gf), (subr))
60#define SCM_GASSERT1(cond, gf, a1, pos, subr) \
61 if (SCM_UNLIKELY (!(cond))) \
62 return scm_wta_dispatch_1 ((gf), (a1), (pos), (subr))
63#define SCM_GASSERT2(cond, gf, a1, a2, pos, subr) \
64 if (SCM_UNLIKELY (!(cond))) \
65 return scm_wta_dispatch_2 ((gf), (a1), (a2), (pos), (subr))
66#define SCM_GASSERTn(cond, gf, args, pos, subr) \
67 if (SCM_UNLIKELY (!(cond))) \
68 return scm_wta_dispatch_n ((gf), (args), (pos), (subr))
69
70/* Deprecated 15-05-2011 because this is a one-off macro that does
71 strange things. */
72#define SCM_WTA_DISPATCH_1_SUBR(subr, a1, pos) \
73 return (SCM_UNPACK ((*SCM_SUBR_GENERIC (subr))) \
74 ? scm_call_1 ((*SCM_SUBR_GENERIC (subr)), (a1)) \
75 : (scm_i_wrong_type_arg_symbol (SCM_SUBR_NAME (subr), (pos), (a1)), SCM_UNSPECIFIED))
76
965445d4
MV
77#define SCM_LIST0 SCM_EOL
78#define SCM_LIST1(e0) scm_cons ((e0), SCM_EOL)
79#define SCM_LIST2(e0, e1) scm_cons2 ((e0), (e1), SCM_EOL)
80#define SCM_LIST3(e0, e1, e2) scm_cons ((e0), SCM_LIST2 ((e1), (e2)))
81#define SCM_LIST4(e0, e1, e2, e3)\
82 scm_cons2 ((e0), (e1), SCM_LIST2 ((e2), (e3)))
83#define SCM_LIST5(e0, e1, e2, e3, e4)\
84 scm_cons ((e0), SCM_LIST4 ((e1), (e2), (e3), (e4)))
85#define SCM_LIST6(e0, e1, e2, e3, e4, e5)\
86 scm_cons2 ((e0), (e1), SCM_LIST4 ((e2), (e3), (e4), (e5)))
87#define SCM_LIST7(e0, e1, e2, e3, e4, e5, e6)\
88 scm_cons ((e0), SCM_LIST6 ((e1), (e2), (e3), (e4), (e5), (e6)))
89#define SCM_LIST8(e0, e1, e2, e3, e4, e5, e6, e7)\
90 scm_cons2 ((e0), (e1), SCM_LIST6 ((e2), (e3), (e4), (e5), (e6), (e7)))
91#define SCM_LIST9(e0, e1, e2, e3, e4, e5, e6, e7, e8)\
92 scm_cons ((e0),\
93 SCM_LIST8 ((e1), (e2), (e3), (e4), (e5), (e6), (e7), (e8)))
94
b4fa6cc9 95#define SCM_CHAR_CODE_LIMIT SCM_CHAR_CODE_LIMIT__GONE__REPLACE_WITH__256L
fc7bd367
AW
96#define SCM_OPDIRP SCM_OPDIRP__GONE__REPLACE_WITH__SCM_DIRP_and_SCM_DIR_OPEN_P
97#define SCM_PROCEDURE SCM_PROCEDURE__GONE__REPLACE_WITH__scm_procedure
98#define SCM_PROCEDURE_WITH_SETTER_P SCM_PROCEDURE_WITH_SETTER_P__GONE__REPLACE_WITH__scm_is_true__scm_procedure_with_setter_p
99#define SCM_SETTER SCM_SETTER__GONE__REPLACE_WITH__scm_setter
8b8723b3 100#define SCM_THREAD_SWITCHING_CODE SCM_THREAD_SWITCHING_CODE__GONE__REMOVE_FROM_YOUR_CODE
fc7bd367
AW
101#define SCM_VALIDATE_NUMBER_COPY SCM_VALIDATE_NUMBER_COPY__GONE__REPLACE_WITH__SCM_VALIDATE_DOUBLE_COPY
102#define SCM_VALIDATE_NUMBER_DEF_COPY SCM_VALIDATE_NUMBER_DEF_COPY__GONE__REPLACE_WITH__SCM_UNBNDP_and_SCM_VALIDATE_DOUBLE_COPY
103#define SCM_VALIDATE_OPDIR SCM_VALIDATE_OPDIR__GONE
104#define SCM_VALIDATE_STRING_COPY SCM_VALIDATE_STRING_COPY__GONE
105#define SCM_VALIDATE_SUBSTRING_SPEC_COPY SCM_VALIDATE_SUBSTRING_SPEC_COPY__GONE
106#define scm_array scm_array__GONE__REPLACE_WITH__scm_t_array
107#define scm_array_dim scm_array_dim__GONE__REPLACE_WITH__scm_t_array_dim
27c6ebcb 108#define scm_async_click scm_async_click__GONE__REPLACE_WITH__scm_async_tick
fa075d40
AW
109#define scm_call_generic_0 scm_call_generic_0__GONE__REPLACE_WITH__scm_call_0
110#define scm_call_generic_1 scm_call_generic_1__GONE__REPLACE_WITH__scm_call_1
111#define scm_call_generic_2 scm_call_generic_2__GONE__REPLACE_WITH__scm_call_2
112#define scm_call_generic_3 scm_call_generic_3__GONE__REPLACE_WITH__scm_call_3
113#define scm_apply_generic scm_apply_generic__GONE__REPLACE_WITH__scm_apply_0
fc7bd367
AW
114#define scm_fport scm_fport__GONE__REPLACE_WITH__scm_t_fport
115#define scm_listify scm_listify__GONE__REPLACE_WITH__scm_list_n
116#define scm_option scm_option__GONE__REPLACE_WITH__scm_t_option
117#define scm_port scm_port__GONE__REPLACE_WITH__scm_t_port
118#define scm_port_rw_active scm_port_rw_active__GONE__REPLACE_WITH__scm_t_port_rw_active
119#define scm_ptob_descriptor scm_ptob_descriptor__GONE__REPLACE_WITH__scm_t_ptob_descriptor
120#define scm_rng scm_rng__GONE__REPLACE_WITH__scm_t_rng
121#define scm_rstate scm_rstate__GONE__REPLACE_WITH__scm_t_rstate
122#define scm_sizet scm_sizet__GONE__REPLACE_WITH__size_t
123#define scm_srcprops scm_srcprops__GONE__REPLACE_WITH__scm_t_srcprops
124#define scm_srcprops_chunk scm_srcprops_chunk__GONE__REPLACE_WITH__scm_t_srcprops_chunk
125#define scm_struct_i_flags scm_struct_i_flags__GONE__REPLACE_WITH__scm_vtable_index_flags
126#define scm_struct_i_free scm_struct_i_free__GONE__REPLACE_WITH__scm_vtable_index_instance_finalize
127#define scm_subr_entry scm_subr_entry__GONE__REPLACE_WITH__scm_t_subr_entry
128#define scm_substring_move_left_x scm_substring_move_left_x__GONE__REPLACE_WITH__scm_substring_move_x
129#define scm_substring_move_right_x scm_substring_move_right_x__GONE__REPLACE_WITH__scm_substring_move_x
130#define scm_vtable_index_printer scm_vtable_index_printer__GONE__REPLACE_WITH__scm_vtable_index_instance_printer
131#define scm_vtable_index_vtable scm_vtable_index_vtable__GONE__REPLACE_WITH__scm_vtable_index_self
f3c6a02c 132
27c6ebcb
AW
133#ifndef BUILDING_LIBGUILE
134#define SCM_ASYNC_TICK SCM_ASYNC_TICK__GONE__REPLACE_WITH__scm_async_tick
135#endif
136
137
f3c6a02c
AW
138\f
139
65619ebe
AW
140/* Deprecated 26-05-2011, as the GC_STUBBORN API doesn't do anything any
141 more. */
c2247b78
AW
142SCM_DEPRECATED SCM scm_immutable_cell (scm_t_bits car, scm_t_bits cdr);
143SCM_DEPRECATED SCM scm_immutable_double_cell (scm_t_bits car, scm_t_bits cbr,
144 scm_t_bits ccr, scm_t_bits cdr);
145
146\f
147
148SCM_DEPRECATED SCM scm_memory_alloc_key;
149SCM_DEPRECATED void scm_memory_error (const char *subr) SCM_NORETURN;
65619ebe
AW
150
151\f
152
623559f3
AW
153SCM_DEPRECATED SCM scm_no_applicable_method;
154
57898597
AW
155SCM_DEPRECATED SCM scm_class_boolean;
156SCM_DEPRECATED SCM scm_class_char;
157SCM_DEPRECATED SCM scm_class_pair;
158SCM_DEPRECATED SCM scm_class_procedure;
159SCM_DEPRECATED SCM scm_class_string;
160SCM_DEPRECATED SCM scm_class_symbol;
161SCM_DEPRECATED SCM scm_class_primitive_generic;
162SCM_DEPRECATED SCM scm_class_vector;
163SCM_DEPRECATED SCM scm_class_null;
164SCM_DEPRECATED SCM scm_class_real;
165SCM_DEPRECATED SCM scm_class_complex;
166SCM_DEPRECATED SCM scm_class_integer;
167SCM_DEPRECATED SCM scm_class_fraction;
168SCM_DEPRECATED SCM scm_class_unknown;
169SCM_DEPRECATED SCM scm_class_top;
170SCM_DEPRECATED SCM scm_class_object;
171SCM_DEPRECATED SCM scm_class_class;
172SCM_DEPRECATED SCM scm_class_applicable;
173SCM_DEPRECATED SCM scm_class_applicable_struct;
174SCM_DEPRECATED SCM scm_class_applicable_struct_with_setter;
175SCM_DEPRECATED SCM scm_class_generic;
176SCM_DEPRECATED SCM scm_class_generic_with_setter;
177SCM_DEPRECATED SCM scm_class_accessor;
178SCM_DEPRECATED SCM scm_class_extended_generic;
179SCM_DEPRECATED SCM scm_class_extended_generic_with_setter;
180SCM_DEPRECATED SCM scm_class_extended_accessor;
181SCM_DEPRECATED SCM scm_class_method;
182SCM_DEPRECATED SCM scm_class_accessor_method;
183SCM_DEPRECATED SCM scm_class_procedure_class;
184SCM_DEPRECATED SCM scm_class_applicable_struct_class;
185SCM_DEPRECATED SCM scm_class_number;
186SCM_DEPRECATED SCM scm_class_list;
187SCM_DEPRECATED SCM scm_class_keyword;
188SCM_DEPRECATED SCM scm_class_port;
189SCM_DEPRECATED SCM scm_class_input_output_port;
190SCM_DEPRECATED SCM scm_class_input_port;
191SCM_DEPRECATED SCM scm_class_output_port;
192SCM_DEPRECATED SCM scm_class_foreign_slot;
193SCM_DEPRECATED SCM scm_class_self;
194SCM_DEPRECATED SCM scm_class_protected;
195SCM_DEPRECATED SCM scm_class_hidden;
196SCM_DEPRECATED SCM scm_class_opaque;
197SCM_DEPRECATED SCM scm_class_read_only;
198SCM_DEPRECATED SCM scm_class_protected_hidden;
199SCM_DEPRECATED SCM scm_class_protected_opaque;
200SCM_DEPRECATED SCM scm_class_protected_read_only;
201SCM_DEPRECATED SCM scm_class_scm;
202SCM_DEPRECATED SCM scm_class_int;
203SCM_DEPRECATED SCM scm_class_float;
204SCM_DEPRECATED SCM scm_class_double;
205
206SCM_DEPRECATED SCM *scm_port_class;
207SCM_DEPRECATED SCM *scm_smob_class;
208
623559f3
AW
209SCM_INTERNAL void scm_init_deprecated_goops (void);
210
e4aa440a
AW
211SCM_DEPRECATED SCM scm_compute_applicable_methods (SCM gf, SCM args, long len, int scm_find_method);
212SCM_DEPRECATED SCM scm_find_method (SCM l);
28b818d3 213SCM_DEPRECATED SCM scm_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots);
2b5812c6 214SCM_DEPRECATED SCM scm_get_keyword (SCM kw, SCM initargs, SCM default_value);
2bcb278a
AW
215SCM_DEPRECATED SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name);
216SCM_DEPRECATED SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value);
217SCM_DEPRECATED SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name);
218SCM_DEPRECATED SCM scm_slot_exists_using_class_p (SCM cls, SCM obj, SCM slot_name);
e4aa440a
AW
219
220\f
221
55d30fac 222void scm_i_init_deprecated (void);
19e2247d 223
55d30fac 224#endif
19e2247d 225
55d30fac 226#endif /* SCM_DEPRECATED_H */