annotate src/tests.c @ 4976:16112448d484

Rename xfree(FOO, TYPE) -> xfree(FOO) -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-04 Ben Wing <ben@xemacs.org> * alloc.c (release_breathing_space): * alloc.c (resize_string): * alloc.c (sweep_lcrecords_1): * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): * alloc.c (ADDITIONAL_FREE_compiled_function): * alloc.c (compact_string_chars): * alloc.c (ADDITIONAL_FREE_string): * alloc.c (sweep_strings): * alloca.c (xemacs_c_alloca): * alsaplay.c (alsa_play_sound_file): * buffer.c (init_initial_directory): * buffer.h: * buffer.h (BUFFER_FREE): * console-stream.c (stream_delete_console): * console-tty.c (free_tty_console_struct): * data.c (Fnumber_to_string): * device-gtk.c (gtk_init_device): * device-gtk.c (free_gtk_device_struct): * device-gtk.c (gtk_delete_device): * device-msw.c (mswindows_delete_device): * device-msw.c (msprinter_delete_device): * device-tty.c (free_tty_device_struct): * device-tty.c (tty_delete_device): * device-x.c (x_init_device): * device-x.c (free_x_device_struct): * device-x.c (x_delete_device): * dialog-msw.c (handle_directory_dialog_box): * dialog-x.c (dbox_descriptor_to_widget_value): * dired-msw.c (Fmswindows_insert_directory): * dired.c (free_user_cache): * dired.c (user_name_completion_unwind): * doc.c (unparesseuxify_doc_string): * doc.c (Fsubstitute_command_keys): * doprnt.c (emacs_doprnt_1): * dumper.c (pdump_load_finish): * dumper.c (pdump_file_free): * dumper.c (pdump_file_unmap): * dynarr.c: * dynarr.c (Dynarr_free): * editfns.c (uncache_home_directory): * editfns.c (Fset_time_zone_rule): * elhash.c: * elhash.c (pdump_reorganize_hash_table): * elhash.c (maphash_unwind): * emacs.c (make_arg_list_1): * emacs.c (free_argc_argv): * emacs.c (sort_args): * emacs.c (Frunning_temacs_p): * emodules.c (attempt_module_delete): * eval.c (free_pointer): * event-Xt.c (unselect_filedesc): * event-Xt.c (emacs_Xt_select_process): * event-gtk.c (unselect_filedesc): * event-gtk.c (dragndrop_data_received): * event-msw.c (winsock_closer): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-stream.c (finalize_command_builder): * event-stream.c (free_command_builder): * extents.c (free_gap_array): * extents.c (free_extent_list): * extents.c (free_soe): * extents.c (extent_fragment_delete): * extents.c (extent_priority_sort_function): * file-coding.c (make_coding_system_1): * file-coding.c (coding_finalizer): * file-coding.c (set_coding_stream_coding_system): * file-coding.c (chain_finalize_coding_stream_1): * file-coding.c (chain_finalize): * file-coding.c (free_detection_state): * file-coding.c (coding_category_symbol_to_id): * fileio.c: * fileio.c (Ffile_name_directory): * fileio.c (if): * fileio.c (Ffile_symlink_p): * filelock.c (FREE_LOCK_INFO): * filelock.c (current_lock_owner): * font-mgr.c (Ffc_name_unparse): * font-mgr.c (Ffc_pattern_duplicate): * frame-gtk.c (gtk_delete_frame): * frame-msw.c (mswindows_delete_frame): * frame-msw.c (msprinter_delete_frame): * frame-x.c (x_cde_destroy_callback): * frame-x.c (Fcde_start_drag_internal): * frame-x.c (x_cde_transfer_callback): * frame-x.c (x_delete_frame): * frame.c (update_frame_title): * frame.c (Fset_frame_pointer): * gc.c (register_for_finalization): * gccache-gtk.c (free_gc_cache): * gccache-gtk.c (gc_cache_lookup): * gccache-x.c (free_gc_cache): * gccache-x.c (gc_cache_lookup): * glyphs-eimage.c: * glyphs-eimage.c (jpeg_instantiate_unwind): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (png_instantiate_unwind): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate_unwind): * glyphs-gtk.c (convert_EImage_to_GDKImage): * glyphs-gtk.c (gtk_finalize_image_instance): * glyphs-gtk.c (gtk_init_image_instance_from_eimage): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-msw.c (convert_EImage_to_DIBitmap): * glyphs-msw.c (mswindows_init_image_instance_from_eimage): * glyphs-msw.c (mswindows_initialize_image_instance_mask): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (xbm_create_bitmap_from_data): * glyphs-msw.c (mswindows_finalize_image_instance): * glyphs-x.c (convert_EImage_to_XImage): * glyphs-x.c (x_finalize_image_instance): * glyphs-x.c (x_init_image_instance_from_eimage): * glyphs-x.c (x_xpm_instantiate): * gui-x.c (free_popup_widget_value_tree): * hash.c (free_hash_table): * hash.c (grow_hash_table): * hash.c (pregrow_hash_table_if_necessary): * imgproc.c (build_EImage_quantable): * insdel.c (uninit_buffer_text): * intl-win32.c (convert_multibyte_to_internal_malloc): * intl.c: * intl.c (Fset_current_locale): * keymap.c: * keymap.c (where_is_recursive_mapper): * keymap.c (where_is_internal): * lisp.h: * lisp.h (xfree): * lstream.c (Lstream_close): * lstream.c (resizing_buffer_closer): * mule-coding.c: * mule-coding.c (iso2022_finalize_detection_state): * nt.c: * nt.c (mswindows_get_long_filename): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_opendir): * nt.c (mswindows_closedir): * nt.c (mswindows_readdir): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (Fmswindows_long_file_name): * ntplay.c (nt_play_sound_file): * ntplay.c (play_sound_data_1): * number-gmp.c (gmp_free): * number-gmp.c (init_number_gmp): * number-mp.c (bignum_to_string): * number-mp.c (BIGNUM_TO_TYPE): * number.c (bignum_print): * number.c (bignum_convfree): * number.c (ratio_print): * number.c (bigfloat_print): * number.c (bigfloat_finalize): * objects-gtk.c (gtk_finalize_color_instance): * objects-gtk.c (gtk_finalize_font_instance): * objects-msw.c (mswindows_finalize_color_instance): * objects-msw.c (mswindows_finalize_font_instance): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (tty_font_list): * objects-x.c (x_finalize_color_instance): * objects-x.c (x_finalize_font_instance): * process.c: * process.c (finalize_process): * realpath.c: * redisplay.c (add_propagation_runes): * regex.c: * regex.c (xfree): * regex.c (REGEX_FREE_STACK): * regex.c (FREE_STACK_RETURN): * regex.c (regex_compile): * regex.c (regexec): * regex.c (regfree): * scrollbar-gtk.c (gtk_free_scrollbar_instance): * scrollbar-gtk.c (gtk_release_scrollbar_instance): * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (unshow_that_mofo): * scrollbar-x.c (x_free_scrollbar_instance): * scrollbar-x.c (x_release_scrollbar_instance): * select-gtk.c (emacs_gtk_selection_handle): * select-msw.c (mswindows_own_selection): * select-x.c: * select-x.c (x_handle_selection_request): * select-x.c (unexpect_property_change): * select-x.c (x_handle_property_notify): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * specifier.c (finalize_specifier): * syntax.c (uninit_buffer_syntax_cache): * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_lstat): * sysdep.c (copy_in_passwd): * sysdep.c (qxe_ctime): * sysdep.c (closedir): * sysdep.c (DIRSIZ): * termcap.c (tgetent): * termcap.c (tprint): * tests.c (Ftest_data_format_conversion): * text.c (new_dfc_convert_copy_data): * text.h (eifree): * text.h (eito_alloca): * text.h (eito_external): * toolbar-msw.c (mswindows_output_toolbar): * ui-gtk.c (CONVERT_RETVAL): * ui-gtk.c (__allocate_object_storage): * unicode.c (free_from_unicode_table): * unicode.c (free_to_unicode_table): * unicode.c (free_charset_unicode_tables): * win32.c (mswindows_read_link_1): Rename: xfree(VAL, TYPE)->xfree(VAL) Command used: gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch] Followed by grepping for 'xfree.*,' and fixing anything left. Rationale: Having to specify the TYPE argument is annoying and error-prone. It was originally put in to work around warnings due to strict aliasing but years and years ago I rewrote it in a way that doesn't use the TYPE argument at all and no one has complained since then. (And anyway, XEmacs is far from ever being in compliance with strict aliasing and would require far-reaching changes to get that way.)
author Ben Wing <ben@xemacs.org>
date Thu, 04 Feb 2010 07:28:14 -0600
parents 304aebb79cd3
children ae48681c47fa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
1 /* C support for testing XEmacs - see tests/automated/c-tests.el
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
2 Copyright (C) 2000 Martin Buchholz
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
3 Copyright (C) 2001, 2002 Ben Wing.
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
4 Copyright (C) 2006 The Free Software Foundation, Inc.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
5
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
6 This file is part of XEmacs.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
7
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
8 XEmacs is free software; you can redistribute it and/or modify it
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
10 Free Software Foundation; either version 2, or (at your option) any
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
11 later version.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
12
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
16 for more details.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
17
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
19 along with XEmacs; see the file COPYING. If not, write to
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
21 Boston, MA 02111-1307, USA. */
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
22
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
23 /* Author: Martin Buchholz
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
24
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
25 This file provides support for running tests for XEmacs that cannot
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
26 be written entirely in Lisp. These tests are run automatically via
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
27 tests/automated/c-tests.el, or can be run by hand using M-x */
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
28
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
29
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
30 #include <config.h>
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
31 #include "lisp.h"
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
32 #include "buffer.h"
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
33 #include "lstream.h"
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
34 #include "elhash.h"
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
35 #include "opaque.h"
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
36 #include "file-coding.h" /* XCODING_SYSTEM_EOL_TYPE and its values */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
37
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
38 static Lisp_Object Vtest_function_list;
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
39
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
40 DEFUN ("test-data-format-conversion", Ftest_data_format_conversion, 0, 0, "", /*
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
41 Return list of results of test TO_EXTERNAL_FORMAT() and TO_INTERNAL_FORMAT().
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
42 For use by the automated test suite. See tests/automated/c-tests.
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
43
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
44 Each element is a list (DESCRIPTION, STATUS, REASON).
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
45 DESCRIPTION is a string describing the test.
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
46 STATUS is a symbol, either t (pass) or nil (fail).
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
47 REASON is nil or a string describing the failure (not required).
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
48 */
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
49 ())
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
50 {
665
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 647
diff changeset
51 void *ptr; Bytecount len;
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
52 Lisp_Object string, opaque, conversion_result = Qnil;
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
53
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 826
diff changeset
54 Ibyte int_foo[] = "\n\nfoo\nbar";
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
55 Extbyte ext_unix[]= "\n\nfoo\nbar";
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
56
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
57 Extbyte ext_dos[] = "\r\n\r\nfoo\r\nbar";
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
58 Extbyte ext_mac[] = "\r\rfoo\rbar";
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
59 Lisp_Object opaque_dos = make_opaque (ext_dos, sizeof (ext_dos) - 1);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
60 Lisp_Object string_foo = make_string (int_foo, sizeof (int_foo) - 1);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
61
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
62 Extbyte ext_latin[] = "f\372b\343\340";
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 826
diff changeset
63 Ibyte int_latin1[] = "f\200\372b\200\343\200\340";
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 826
diff changeset
64 Ibyte int_latin2[] = "f\201\372b\201\343\201\340";
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
65 #ifdef MULE
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
66 Extbyte ext_latin12[]= "f\033-A\372b\343\340\033-B";
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
67 Extbyte ext_tilde[] = "f~b~~";
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
68 Lisp_Object string_latin2 = make_string (int_latin2, sizeof (int_latin2) - 1);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
69 #endif
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
70 Lisp_Object opaque_latin = make_opaque (ext_latin, sizeof (ext_latin) - 1);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
71 Lisp_Object opaque0_latin = make_opaque (ext_latin, sizeof (ext_latin));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
72 Lisp_Object string_latin1 = make_string (int_latin1, sizeof (int_latin1) - 1);
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
73 int autodetect_eol_p =
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
74 !NILP (Fsymbol_value (intern ("eol-detection-enabled-p")));
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
75
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
76 /* Check for expected strings before and after conversion.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
77 Conversions depend on whether MULE is defined. */
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
78
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
79 /* #### Any code below that uses iso-latin-2-with-esc is ill-conceived. */
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
80
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
81 #ifdef MULE
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
82 #define DFC_CHECK_DATA_COND_MULE(ptr,len, \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
83 constant_string_mule, \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
84 constant_string_non_mule, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
85 description) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
86 DFC_CHECK_DATA (ptr, len, constant_string_mule, description)
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
87 #define DFC_CHECK_DATA_COND_MULE_NUL(ptr,len, \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
88 constant_string_mule, \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
89 constant_string_non_mule, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
90 description) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
91 DFC_CHECK_DATA_NUL (ptr, len, constant_string_mule, description)
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
92 #else
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
93 #define DFC_CHECK_DATA_COND_MULE(ptr,len, \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
94 constant_string_mule, \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
95 constant_string_non_mule, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
96 description) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
97 DFC_CHECK_DATA (ptr, len, constant_string_non_mule, description)
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
98 #define DFC_CHECK_DATA_COND_MULE_NUL(ptr,len, \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
99 constant_string_mule, \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
100 constant_string_non_mule, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
101 description) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
102 DFC_CHECK_DATA_NUL (ptr, len, constant_string_non_mule, description)
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
103 #endif
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
104
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
105 /* These now only apply to base coding systems, and
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
106 need to test `eol-detection-enabled-p' at runtime. */
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
107 #define DFC_CHECK_DATA_COND_EOL(ptr,len, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
108 constant_string_eol, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
109 constant_string_non_eol, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
110 description) do { \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
111 if (autodetect_eol_p) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
112 DFC_CHECK_DATA (ptr, len, constant_string_eol, description); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
113 else \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
114 DFC_CHECK_DATA (ptr, len, constant_string_non_eol, description); \
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
115 } while (0)
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
116 #define DFC_CHECK_DATA_COND_EOL_NUL(ptr,len, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
117 constant_string_eol, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
118 constant_string_non_eol, \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
119 description) do { \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
120 if (autodetect_eol_p) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
121 DFC_CHECK_DATA_NUL (ptr, len, constant_string_eol, description); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
122 else \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
123 DFC_CHECK_DATA_NUL (ptr, len, constant_string_non_eol, description); \
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
124 } while (0)
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
125
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
126 /* Check for expected strings before and after conversion. */
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
127 #define DFC_CHECK_DATA(ptr,len,constant_string,test) do { \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
128 DFC_INITIALIZE (test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
129 DFC_CHECK_LENGTH (len, sizeof (constant_string) - 1, test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
130 DFC_CHECK_CONTENT (ptr, constant_string, len, test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
131 DFC_RESULT_PASS (test); \
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
132 } while (0)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
133
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
134 /* Macro version that includes the trailing NULL byte. */
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
135 #define DFC_CHECK_DATA_NUL(ptr,len,constant_string,test) do { \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
136 DFC_INITIALIZE (test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
137 DFC_CHECK_LENGTH (len, sizeof (constant_string), test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
138 DFC_CHECK_CONTENT (ptr, constant_string, len, test); \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
139 DFC_RESULT_PASS (test); \
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
140 } while (0)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
141
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
142 /* WARNING WARNING WARNING!
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
143 The following macros are NOT protected by "do { ... } while (0)"!!
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
144 */
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
145
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
146 #define DFC_INITIALIZE(test_name) if (0)
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
147
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
148 #define DFC_CHECK_LENGTH(len1,len2,str1) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
149 else if ((len1) != (len2)) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
150 conversion_result = \
4953
304aebb79cd3 function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
151 Fcons (list3 (build_cistring(str1), Qnil, build_ascstring("wrong length")), \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
152 conversion_result)
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
153
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
154 #define DFC_CHECK_CONTENT(str1,str2,len1,str3) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
155 else if (memcmp (str1, str2, len1)) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
156 conversion_result = \
4953
304aebb79cd3 function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
157 Fcons (list3 (build_cistring(str3), Qnil, \
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
158 build_ascstring("octet comparison failed")), \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
159 conversion_result)
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
160
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
161 #define DFC_RESULT_PASS(str1) \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
162 else \
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
163 conversion_result = \
4953
304aebb79cd3 function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
164 Fcons (list3 (build_cistring(str1), Qt, Qnil), \
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
165 conversion_result)
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
166
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
167 #ifdef MULE
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
168 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
169 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
170 ALLOCA, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
171 intern ("iso-8859-2"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
172 DFC_CHECK_DATA_NUL (ptr, len, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
173 "Latin-2 DATA, ALLOCA, Latin 2/NUL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
174
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
175 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
176 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin2,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
177 ALLOCA, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
178 intern ("iso-8859-2"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
179 DFC_CHECK_DATA (ptr, len, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
180 "Latin-2 Lisp string, ALLOCA, Latin 2");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
181
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
182 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
183 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
184 ALLOCA, (ptr, len),
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
185 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
186 DFC_CHECK_DATA (ptr, len, ext_latin12,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
187 "Latin-1 Lisp string, ALLOCA, Latin 2/ESC");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
188
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
189 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
190 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
191 MALLOC, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
192 intern ("iso-8859-2"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
193 DFC_CHECK_DATA (ptr, len, ext_latin, "Latin-2 DATA, MALLOC, Latin-2");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
194 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
195
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
196 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
197 LISP_OPAQUE, opaque,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
198 intern ("iso-8859-2"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
199 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
200 "Latin-2 DATA, Lisp opaque, Latin-2");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
201
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
202 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
203 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
204 ALLOCA, (ptr, len),
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
205 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
206 DFC_CHECK_DATA (ptr, len, int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
207 "Latin-2/ESC, ALLOCA, Latin-1 DATA");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
208
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
209 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
210 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
211 MALLOC, (ptr, len),
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
212 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
213 DFC_CHECK_DATA (ptr, len, int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
214 "Latin-2/ESC, MALLOC, Latin-1 DATA");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
215 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
216
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
217 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
218 LISP_STRING, string,
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
219 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
220 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
221 "Latin-2/ESC, Lisp string, Latin-2");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
222
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
223 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
224 LISP_STRING, string,
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
225 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
226 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
227 "Lisp opaque, Lisp string, Latin-2/ESC");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
228
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
229 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
230 LISP_STRING, string,
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
231 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
232 DFC_CHECK_DATA_NUL (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
233 "Lisp opaque, Lisp string, Latin-2/ESC/NUL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
234
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
235 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
236 LISP_BUFFER, Fcurrent_buffer(),
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
237 intern ("iso-latin-2-with-esc"));
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
238 DFC_CHECK_DATA_NUL (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
239 sizeof (int_latin2), int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
240 "Lisp opaque, Lisp buffer, Latin-2/ESC/NUL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
241
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
242 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
243 LISP_BUFFER, Fcurrent_buffer(),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
244 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
245 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
246 sizeof (int_latin1) - 1, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
247 "Lisp opaque, Lisp buffer, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
248
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
249 TO_INTERNAL_FORMAT (DATA, (ext_latin12, sizeof (ext_latin12) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
250 ALLOCA, (ptr, len),
4318
4d0f773d5e21 Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents: 3417
diff changeset
251 intern ("iso-latin-2-with-esc"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
252 DFC_CHECK_DATA (ptr, len, int_latin1, "DATA, ALLOCA, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
253
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
254 #endif /* MULE */
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
255
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
256 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
257 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
258 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
259 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
260 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
261 "Latin-1 DATA, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
262
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
263 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
264 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
265 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
266 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
267 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
268 "Latin-1 DATA, ALLOCA, binary/NUL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
269
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
270 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
271 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
272 ALLOCA, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
273 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
274 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_tilde, int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
275 "Latin-2 DATA, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
276
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
277 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
278 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
279 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
280 intern ("iso-8859-1"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
281 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
282 "Latin-1 DATA, ALLOCA, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
283
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
284
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
285 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
286 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
287 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
288 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
289 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
290 "Latin-1 Lisp string, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
291
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
292 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
293 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
294 ALLOCA, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
295 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
296 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
297 "Latin-1 Lisp string, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
298
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
299 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
300 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
301 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
302 intern ("iso-8859-1"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
303 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
304 "Latin-1 Lisp string, ALLOCA, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
305
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
306 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
307 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
308 MALLOC, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
309 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
310 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
311 "Latin-1 DATA, MALLOC, binary");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
312 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
313
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
314 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
315 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
316 MALLOC, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
317 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
318 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_tilde, int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
319 "Latin-2 DATA, MALLOC, binary/NUL");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
320 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
321
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
322 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
323 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
324 MALLOC, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
325 intern ("iso-8859-1"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
326 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
327 "Latin-1 DATA, MALLOC, Latin-1");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
328 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
329
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
330 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
331 LISP_OPAQUE, opaque,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
332 Qbinary);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
333 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
334 XOPAQUE_SIZE (opaque), ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
335 "Latin-1 DATA, Lisp opaque, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
336
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
337 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
338 LISP_OPAQUE, opaque,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
339 Qbinary);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
340 DFC_CHECK_DATA_COND_MULE_NUL (XOPAQUE_DATA (opaque),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
341 XOPAQUE_SIZE (opaque), ext_tilde, int_latin2,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
342 "Latin-2 DATA, Lisp opaque, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
343
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
344 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
345 LISP_OPAQUE, opaque,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
346 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
347 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
348 XOPAQUE_SIZE (opaque), ext_latin, int_latin1,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
349 "Latin-1 DATA, Lisp opaque, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
350
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
351 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
352 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
353 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
354 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
355 DFC_CHECK_DATA_COND_MULE (ptr, len, int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
356 "Latin-1 DATA, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
357
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
358 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
359 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
360 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
361 intern ("iso-8859-1"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
362 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
363 "Latin-1 DATA, ALLOCA, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
364
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
365 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
366 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
367 MALLOC, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
368 intern ("iso-8859-1"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
369 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
370 "Latin-1 DATA, MALLOC, Latin-1");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
371 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
372
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
373 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
374 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
375 MALLOC, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
376 Qnil);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
377 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
378 "Latin-1 DATA, MALLOC, nil");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
379 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
380
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
381 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
382 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
383 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
384 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
385 XSTRING_LENGTH (string), int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
386 "Latin-1 DATA, Lisp stirng, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
387
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
388 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
389 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
390 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
391 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
392 XSTRING_LENGTH (string), int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
393 "Latin-1 Lisp opaque, Lisp string, Latin-1");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
394
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
395 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
396 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
397 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
398 DFC_CHECK_DATA_COND_MULE_NUL (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
399 XSTRING_LENGTH (string), int_latin1, ext_latin,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
400 "Latin-1 Lisp opaque, Lisp string, Latin-1/NUL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
401
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
402 /* This next group used to use the COND_EOL macros, but with the new Mule,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
403 they all specify an EOL convention, and all XEmacsen can grok them. */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
404 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
405 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
406 MALLOC, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
407 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
408 DFC_CHECK_DATA_NUL (ptr, len, ext_unix,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
409 "ASCII DATA, MALLOC, binary/LF/NUL");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
410 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
411
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
412 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
413 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
414 LISP_OPAQUE, opaque,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
415 intern ("raw-text-mac"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
416 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_mac,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
417 "ASCII DATA, Lisp opaque, binary/CR");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
418
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
419 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
420 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
421 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
422 intern ("raw-text-dos"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
423 DFC_CHECK_DATA (ptr, len, ext_dos, "ASCII Lisp string, ALLOCA, binary/CRLF");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
424
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
425 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
426 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
427 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
428 intern ("raw-text-unix"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
429 DFC_CHECK_DATA (ptr, len, ext_unix, "ASCII DATA, ALLOCA, binary/LF");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
430
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
431 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
432 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
433 MALLOC, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
434 intern ("no-conversion-mac"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
435 DFC_CHECK_DATA (ptr, len, ext_mac, "ASCII Lisp string, MALLOC, binary/CR");
4976
16112448d484 Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents: 4953
diff changeset
436 xfree (ptr);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
437
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
438 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
439 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
440 ALLOCA, (ptr, len),
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 665
diff changeset
441 intern ("no-conversion-dos"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
442 DFC_CHECK_DATA (ptr, len, ext_dos, "ASCII DATA, ALLOCA, binary/CRLF");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
443
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
444 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
445 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
446 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
447 intern ("no-conversion-unix"));
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
448 DFC_CHECK_DATA_NUL (ptr, len, ext_unix, "ASCII DATA, ALLOCA, binary/LF/NUL");
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
449
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
450 /* Oh, Lawdy, Lawdy, Lawdy, this done broke mah heart!
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
451
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
452 I tried using the technique
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
453
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
454 Fget_coding_system (call2
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
455 (intern ("coding-system-change-eol-conversion"),
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
456 intern ("undecided"), $EOL_TYPE));
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
457 XCODING_SYSTEM_EOL_TYPE (cs_to_use) = $EOL_DETECT_TYPE;
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
458
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
459 with EOL_TYPE = Qlf (for no-detect) and Qnil (for auto-detect),
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
460 and with EOL_DETECT_TYPE = EOL_LF and EOL_AUTODETECT
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
461 respectively, but this doesn't seem to work on the `undecided'
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
462 coding system. The coding-system-eol-type attribute on the
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
463 coding system itself needs to be changed, too. I'm not sure at
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
464 the moment how `set-eol-detection' works its magic, but the code
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
465 below gives correct test results without default EOL detection,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
466 with default EOL detection, and with Mule. Ship it!
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
467
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
468 Mule. You'll envy the dead.
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
469 */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
470
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
471 {
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
472 /* Check eol autodetection doesn't happen when disabled -- cheat. */
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
473 Lisp_Object cs_to_use = Fget_coding_system (intern ("undecided-unix"));
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
474 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
475 LISP_BUFFER, Fcurrent_buffer(),
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
476 cs_to_use);
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
477 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
478 sizeof (ext_dos) - 1, ext_dos,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
479 "DOS Lisp opaque, Lisp buffer, undecided-unix");
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
480
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
481 /* Check eol autodetection works when enabled -- honest. */
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
482 cs_to_use =
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
483 Fget_coding_system (call2
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
484 (intern ("coding-system-change-eol-conversion"),
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
485 intern ("undecided"), Qnil));
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
486 XCODING_SYSTEM_EOL_TYPE (cs_to_use) = EOL_AUTODETECT;
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
487 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
488 LISP_BUFFER, Fcurrent_buffer(),
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
489 cs_to_use);
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
490 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
491 sizeof (int_foo) - 1, int_foo,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
492 "DOS Lisp opaque, Lisp buffer, undecided");
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
493 /* reset to default */
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
494 XCODING_SYSTEM_EOL_TYPE (cs_to_use) =
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
495 autodetect_eol_p ? EOL_AUTODETECT : EOL_LF;
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
496 }
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
497
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
498 /* Does eol-detection-enabled-p reflect the actual state of affairs?
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
499 This probably could be tested in Lisp somehow. Should it? */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
500 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
501 LISP_BUFFER, Fcurrent_buffer(),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
502 intern ("undecided"));
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
503 if (autodetect_eol_p)
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
504 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
505 BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
506 sizeof (int_foo) - 1, int_foo,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
507 "DOS Lisp opaque, Lisp buffer, autodetect eol");
3417
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
508 else
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
509 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer,
abdb33cc1f52 [xemacs-hg @ 2006-05-23 13:02:05 by stephent]
stephent
parents: 3263
diff changeset
510 BUF_PT (current_buffer)),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
511 sizeof (ext_dos) - 1, ext_dos,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
512 "DOS Lisp opaque, Lisp buffer, no autodetect eol");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
513
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
514 TO_INTERNAL_FORMAT (DATA, (ext_mac, sizeof (ext_mac) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
515 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
516 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
517 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
518 XSTRING_LENGTH (string), int_foo, ext_mac,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
519 "Mac DATA, Lisp string, Latin-1/EOL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
520 {
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
521 Lisp_Object stream =
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
522 make_fixed_buffer_input_stream (ext_dos, sizeof (ext_dos) - 1);
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
523 TO_INTERNAL_FORMAT (LISP_LSTREAM, stream,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
524 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
525 intern ("iso-8859-1"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
526 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
527 XSTRING_LENGTH (string), int_foo, ext_dos,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
528 "DOS lstream, Lisp string, Latin-1/EOL");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
529 }
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
530
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
531 TO_INTERNAL_FORMAT (DATA, (ext_unix, sizeof (ext_unix) - 1),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
532 LISP_STRING, string,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
533 intern ("no-conversion"));
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
534 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
535 XSTRING_LENGTH (string), int_foo, ext_unix,
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
536 "Unix DATA, Lisp string, no-conversion");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
537
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
538 ptr = NULL, len = rand();
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
539 TO_EXTERNAL_FORMAT (LISP_OPAQUE, opaque_dos,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
540 ALLOCA, (ptr, len),
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
541 Qbinary);
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
542 DFC_CHECK_DATA (ptr, len, ext_dos, "DOS Lisp opaque, ALLOCA, binary");
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
543
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
544 return conversion_result;
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
545 }
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
546
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
547
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
548 /* Hash Table testing */
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
549
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
550 typedef struct
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
551 {
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
552 Lisp_Object hash_table;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
553 EMACS_INT sum;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
554 } test_hash_tables_data;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
555
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
556
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
557 static int
2286
04bc9d2f42c7 [xemacs-hg @ 2004-09-20 19:18:55 by james]
james
parents: 1726
diff changeset
558 test_hash_tables_mapper (Lisp_Object UNUSED (key), Lisp_Object value,
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
559 void *extra_arg)
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
560 {
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
561 test_hash_tables_data *p = (test_hash_tables_data *) extra_arg;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
562 p->sum += XINT (value);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
563 return 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
564 }
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
565
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
566 static int
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
567 test_hash_tables_modifying_mapper (Lisp_Object key, Lisp_Object value,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
568 void *extra_arg)
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
569 {
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
570 test_hash_tables_data *p = (test_hash_tables_data *) extra_arg;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
571 Fputhash (make_int (- XINT (key)),
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
572 make_int (2 * XINT (value)),
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
573 p->hash_table);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
574 p->sum += XINT (value);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
575 return 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
576 }
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
577
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
578 static int
2286
04bc9d2f42c7 [xemacs-hg @ 2004-09-20 19:18:55 by james]
james
parents: 1726
diff changeset
579 test_hash_tables_predicate (Lisp_Object key,
04bc9d2f42c7 [xemacs-hg @ 2004-09-20 19:18:55 by james]
james
parents: 1726
diff changeset
580 Lisp_Object UNUSED (value),
04bc9d2f42c7 [xemacs-hg @ 2004-09-20 19:18:55 by james]
james
parents: 1726
diff changeset
581 void *UNUSED (extra_arg))
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
582 {
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
583 return XINT (key) < 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
584 }
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
585
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
586
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
587 DEFUN ("test-hash-tables", Ftest_hash_tables, 0, 0, "", /*
4752
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
588 Return list of results of testing C interface to hash tables.
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
589 For use by the automated test suite. See tests/automated/c-tests.
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
590
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
591 Each element is a list (DESCRIPTION, STATUS, REASON).
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
592 DESCRIPTION is a string describing the test.
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
593 STATUS is a symbol, either t (pass) or nil (fail).
b8afe0f9cbe3 Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4747
diff changeset
594 REASON is nil or a string describing the failure (not required).
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
595 */
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
596 ())
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
597 {
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
598 Lisp_Object hash_result = Qnil;
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
599
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
600 test_hash_tables_data data;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
601 data.hash_table = make_lisp_hash_table (50, HASH_TABLE_NON_WEAK,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
602 HASH_TABLE_EQUAL);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
603
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
604 Fputhash (make_int (1), make_int (2), data.hash_table);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
605 Fputhash (make_int (3), make_int (4), data.hash_table);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
606
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
607 data.sum = 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
608 elisp_maphash_unsafe (test_hash_tables_mapper,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
609 data.hash_table, (void *) &data);
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
610 hash_result = Fcons (list3 (build_ascstring ("simple mapper"),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
611 (data.sum == 2 + 4) ? Qt : Qnil,
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
612 build_ascstring ("sum != 2 + 4")),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
613 hash_result);
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
614
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
615 data.sum = 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
616 elisp_maphash (test_hash_tables_modifying_mapper,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
617 data.hash_table, (void *) &data);
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
618 hash_result = Fcons (list3 (build_ascstring ("modifying mapper"),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
619 (data.sum == 2 + 4) ? Qt : Qnil,
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
620 build_ascstring ("sum != 2 + 4")),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
621 hash_result);
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
622
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
623 /* hash table now contains: (1, 2) (3, 4) (-1, 2*2) (-3, 2*4) */
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
624
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
625 data.sum = 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
626 elisp_maphash_unsafe (test_hash_tables_mapper,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
627 data.hash_table, (void *) &data);
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
628 hash_result = Fcons (list3 (build_ascstring ("simple mapper"),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
629 (data.sum == 3 * (2 + 4)) ? Qt : Qnil,
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
630 build_ascstring ("sum != 3 * (2 + 4)")),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
631 hash_result);
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
632
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
633 /* Remove entries with negative keys, added by modifying mapper */
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
634 elisp_map_remhash (test_hash_tables_predicate,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
635 data.hash_table, 0);
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
636
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
637 data.sum = 0;
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
638 elisp_maphash_unsafe (test_hash_tables_mapper,
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
639 data.hash_table, (void *) &data);
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
640 hash_result = Fcons (list3 (build_ascstring ("remove negatives mapper"),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
641 (data.sum == 2 + 4) ? Qt : Qnil,
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 4752
diff changeset
642 build_ascstring ("sum != 2 + 4")),
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
643 hash_result);
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
644
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
645 return hash_result;
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
646 }
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
647
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
648
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
649
3263
d674024a8674 [xemacs-hg @ 2006-02-27 16:29:00 by crestani]
crestani
parents: 2720
diff changeset
650 #ifdef NEW_GC
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
651 #define TESTS_DEFSUBR(Fname) do { \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
652 DEFSUBR_MC_ALLOC (Fname); \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
653 defsubr (S##Fname); \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
654 Vtest_function_list = \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
655 Fcons (intern (subr_name (S##Fname)), \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
656 Vtest_function_list); \
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2286
diff changeset
657 } while (0)
3263
d674024a8674 [xemacs-hg @ 2006-02-27 16:29:00 by crestani]
crestani
parents: 2720
diff changeset
658 #else /* not NEW_GC */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
659 #define TESTS_DEFSUBR(Fname) do { \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
660 DEFSUBR (Fname); \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
661 Vtest_function_list = \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
662 Fcons (intern (subr_name (&S##Fname)), \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
663 Vtest_function_list); \
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
664 } while (0)
3263
d674024a8674 [xemacs-hg @ 2006-02-27 16:29:00 by crestani]
crestani
parents: 2720
diff changeset
665 #endif /* not NEW_GC */
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
666
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
667 void
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
668 syms_of_tests (void)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
669 {
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
670 Vtest_function_list = Qnil;
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
671
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
672 TESTS_DEFSUBR (Ftest_data_format_conversion);
489
4a8bb4aa9740 [xemacs-hg @ 2001-04-30 08:49:24 by martinb]
martinb
parents: 398
diff changeset
673 TESTS_DEFSUBR (Ftest_hash_tables);
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
674 /* Add other test functions here with TESTS_DEFSUBR */
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
675 }
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
676
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
677 void
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
678 vars_of_tests (void)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
679 {
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
680 DEFVAR_LISP ("test-function-list", &Vtest_function_list /*
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
681 List of all test functions defined in tests.c.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
682 For use by the automated test suite. See tests/automated/c-tests.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
683 */ );
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
684 }
4747
294a86d29f99 Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4318
diff changeset
685