1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 19:50:24 +02:00

Deprecate scm_basic_make_class

* libguile/deprecated.h:
* libguile/deprecated.c (scm_basic_make_class): Deprecate.

* libguile/goops.c:
* libguile/goops.h (scm_make_standard_class): New internal helper.  It's
  a better spelling, as it matches make-standard-class, and is internal
  so as not to cause confusion between boot GOOPS helpers and "real"
  GOOPS interfaces.
This commit is contained in:
Andy Wingo 2015-01-04 13:43:14 -05:00
parent 51fd1cd650
commit 28b818d303
4 changed files with 20 additions and 7 deletions

View file

@ -2,7 +2,7 @@
deprecate something, move it here when that is feasible. deprecate something, move it here when that is feasible.
*/ */
/* Copyright (C) 2003, 2004, 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. /* Copyright (C) 2003, 2004, 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License * modify it under the terms of the GNU Lesser General Public License
@ -319,6 +319,17 @@ scm_find_method (SCM l)
} }
#undef FUNC_NAME #undef FUNC_NAME
SCM
scm_basic_make_class (SCM meta, SCM name, SCM dsupers, SCM dslots)
{
scm_c_issue_deprecation_warning
("scm_basic_make_class is deprecated. Use `define-class' in Scheme,"
"or use `(make META #:name NAME #:dsupers DSUPERS #:slots DSLOTS)' "
"in Scheme.");
return scm_make_standard_class (meta, name, dsupers, dslots);
}

View file

@ -5,7 +5,7 @@
#ifndef SCM_DEPRECATED_H #ifndef SCM_DEPRECATED_H
#define SCM_DEPRECATED_H #define SCM_DEPRECATED_H
/* Copyright (C) 2003,2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. /* Copyright (C) 2003,2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License * modify it under the terms of the GNU Lesser General Public License
@ -152,6 +152,7 @@ SCM_DEPRECATED void scm_memory_error (const char *subr) SCM_NORETURN;
SCM_DEPRECATED SCM scm_compute_applicable_methods (SCM gf, SCM args, long len, int scm_find_method); SCM_DEPRECATED SCM scm_compute_applicable_methods (SCM gf, SCM args, long len, int scm_find_method);
SCM_DEPRECATED SCM scm_find_method (SCM l); SCM_DEPRECATED SCM scm_find_method (SCM l);
SCM_DEPRECATED SCM scm_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots);

View file

@ -516,10 +516,10 @@ prep_hashsets (SCM class)
/******************************************************************************/ /******************************************************************************/
SCM SCM
scm_basic_make_class (SCM class, SCM name, SCM dsupers, SCM dslots) scm_make_standard_class (SCM meta, SCM name, SCM dsupers, SCM dslots)
{ {
return scm_call_4 (scm_variable_ref (var_make_standard_class), return scm_call_4 (scm_variable_ref (var_make_standard_class),
class, name, dsupers, dslots); meta, name, dsupers, dslots);
} }
/******************************************************************************/ /******************************************************************************/
@ -1594,7 +1594,7 @@ make_class_from_template (char const *template, char const *type_name, SCM super
meta = applicablep ? scm_class_procedure_class : scm_class_class; meta = applicablep ? scm_class_procedure_class : scm_class_class;
return scm_basic_make_class (meta, name, supers, SCM_EOL); return scm_make_standard_class (meta, name, supers, SCM_EOL);
} }
static SCM static SCM
@ -1614,7 +1614,7 @@ make_class_from_symbol (SCM type_name_sym, SCM supers, int applicablep)
meta = applicablep ? scm_class_procedure_class : scm_class_class; meta = applicablep ? scm_class_procedure_class : scm_class_class;
return scm_basic_make_class (meta, name, supers, SCM_EOL); return scm_make_standard_class (meta, name, supers, SCM_EOL);
} }
SCM SCM

View file

@ -235,7 +235,8 @@ SCM_API SCM scm_class_of (SCM obj);
/* Low level functions exported */ /* Low level functions exported */
SCM_API SCM scm_make_next_method (SCM methods, SCM args, SCM gf); SCM_API SCM scm_make_next_method (SCM methods, SCM args, SCM gf);
SCM_API SCM scm_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots); SCM_INTERNAL SCM scm_make_standard_class (SCM meta, SCM name, SCM dsupers,
SCM dslots);
/* Primitives exported */ /* Primitives exported */
SCM_API SCM scm_sys_allocate_instance (SCM c, SCM initargs); SCM_API SCM scm_sys_allocate_instance (SCM c, SCM initargs);