diff options
-rw-r--r-- | RELNOTES | 29 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | protsym.c | 168 | ||||
-rw-r--r-- | share/txr/stdlib/ver.tl | 2 | ||||
-rw-r--r-- | txr.1 | 6 |
5 files changed, 118 insertions, 89 deletions
@@ -1,3 +1,32 @@ + TXR 247 + 2020-01-19 + + + Features + + - lib: + - structural pattern matching introduced. + - prog2 macro introduced. + - progn, prog1 and prog2 are now also functions. + + - build: + - configure's test for how to define inline functions fixed. + - hopefully this will fix things for Brew. + - linker options and library flags are now separate; + there is a new platform-ldlibs configure option. + - LDLIBS variable is now honored, not just LDLIBS. + + - gc: + - finalizers now registered during finalization processing + may be called in the same phase, if they are eligible. + + Bugs + + - show-stopper regression in mapcar/maprod. + + + + TXR 246 2020-12-31 @@ -566,7 +566,7 @@ chmod a+x reconfigure # -txr_ver=246 +txr_ver=247 # # The all important banner. @@ -107,48 +107,48 @@ extern val panic_s, parser_s, path_exists_s, path_not_found_s, path_permission_s extern val path_s, pkg_s, plus_s, plusp_s, postinit_k; extern val pprint_flo_format_s, print_base_s, print_circle_s, print_flo_digits_s, print_flo_format_s; extern val print_flo_precision_s, print_s, process_error_s, prof_s, prog1_s; -extern val progn_s, promise_forced_s, promise_inprogress_s, promise_s, ptr_in_d_s; -extern val ptr_in_s, ptr_out_d_s, ptr_out_s, ptr_out_s_s, ptr_s; -extern val put_buf_s, put_byte_s, put_char_s, put_string_s, qquote_s; -extern val qref_s, quasi_s, quasilist_s, query_error_s, quote_s; -extern val r_atan2_s, r_ceil_s, r_expt_s, r_floor_s, r_lognot_s; -extern val r_logtrunc_s, r_mod_s, r_round_s, r_trunc_s, random_state_s; -extern val random_state_var_s, random_warmup_s, range_error_s, range_s, rcons_s; -extern val rdev_k, rdev_s, real_time_k, rebind_s, rec_source_loc_s; -extern val recip_s, reflect_k, regex_s, rep_s, repeat_s; -extern val repeat_spec_k, require_s, resolve_k, rest_s, restart_s; -extern val return_from_s, return_s, rfilt_k, round1_s, round_s; -extern val rplaca_s, rplacd_s, sbit_s, sec_s, seek_s; -extern val seq_iter_s, sequence_s, set_prop_s, set_s, setq_s; -extern val setqf_s, short_s, shortest_k, sign_extend_s, signum_s; -extern val sin_s, single_s, sinh_s, size_k, size_s; -extern val skip_s, slot_s, some_s, space_k, special_s; -extern val splice_s, sqrt_s, square_s, stat_s, stddebug_s; -extern val stderr_s, stdin_s, stdio_stream_s, stdnull_s, stdout_s; -extern val str_d_s, str_s, stream_s, string_k, string_s; -extern val struct_lit_s, struct_s, struct_type_s, switch_s, sym_s; -extern val symacro_k, symacrolet_s, syntax_error_s, sys_abscond_from_s, sys_apply_s; -extern val sys_catch_s, sys_l1_setq_s, sys_l1_val_s, sys_lisp1_setq_s, sys_lisp1_value_s; -extern val sys_mark_special_s, sys_qquote_s, sys_splice_s, sys_unquote_s, system_error_s; -extern val system_package_s, tan_s, tanh_s, text_s, throw_s; -extern val time_local_s, time_parse_s, time_s, time_string_s, time_utc_s; -extern val timeout_error_s, times_k, tlist_k, tnode_s, tobase64_k; -extern val tobase64url_k, tofloat_k, tohtml_k, tohtml_star_k, toint_k; -extern val tonumber_k, topercent_k, tourl_k, trailer_s, tree_bind_s; -extern val tree_case_s, tree_construct_s, tree_fun_whitelist_s, tree_iter_s, tree_lit_s; -extern val tree_s, trunc1_s, trunc_s, truncate_s, try_s; -extern val type_error_s, ubit_s, uchar_s, uid_k, uid_s; -extern val uint16_s, uint32_s, uint64_s, uint8_s, uint_s; -extern val ulong_s, unbound_s, unget_byte_s, unget_char_s, union_s; -extern val unique_s, unquote_s, until_s, until_star_s, upcase_k; -extern val uref_s, user_package_s, userdata_k, ushort_s, usr_var_s; -extern val uw_protect_s, val_s, var_k, var_s, vars_k; -extern val vec_list_s, vec_s, vecref_s, vector_lit_s, vm_closure_s; -extern val vm_desc_s, void_s, warning_s, wchar_s, weak_keys_k; -extern val weak_vals_k, when_s, while_s, while_star_s, whole_k; -extern val width_s, wild_s, word_char_k, wrap_k, wstr_d_s; -extern val wstr_s, year_s, zap_s, zarray_s, zchar_s; -extern val zerop_s, zeroplus_s, zone_s; +extern val prog2_s, progn_s, promise_forced_s, promise_inprogress_s, promise_s; +extern val ptr_in_d_s, ptr_in_s, ptr_out_d_s, ptr_out_s, ptr_out_s_s; +extern val ptr_s, put_buf_s, put_byte_s, put_char_s, put_string_s; +extern val qquote_s, qref_s, quasi_s, quasilist_s, query_error_s; +extern val quote_s, r_atan2_s, r_ceil_s, r_expt_s, r_floor_s; +extern val r_lognot_s, r_logtrunc_s, r_mod_s, r_round_s, r_trunc_s; +extern val random_state_s, random_state_var_s, random_warmup_s, range_error_s, range_s; +extern val rcons_s, rdev_k, rdev_s, real_time_k, rebind_s; +extern val rec_source_loc_s, recip_s, reflect_k, regex_s, rep_s; +extern val repeat_s, repeat_spec_k, require_s, resolve_k, rest_s; +extern val restart_s, return_from_s, return_s, rfilt_k, round1_s; +extern val round_s, rplaca_s, rplacd_s, sbit_s, sec_s; +extern val seek_s, seq_iter_s, sequence_s, set_prop_s, set_s; +extern val setq_s, setqf_s, short_s, shortest_k, sign_extend_s; +extern val signum_s, sin_s, single_s, sinh_s, size_k; +extern val size_s, skip_s, slot_s, some_s, space_k; +extern val special_s, splice_s, sqrt_s, square_s, stat_s; +extern val stddebug_s, stderr_s, stdin_s, stdio_stream_s, stdnull_s; +extern val stdout_s, str_d_s, str_s, stream_s, string_k; +extern val string_s, struct_lit_s, struct_s, struct_type_s, switch_s; +extern val sym_s, symacro_k, symacrolet_s, syntax_error_s, sys_abscond_from_s; +extern val sys_apply_s, sys_catch_s, sys_l1_setq_s, sys_l1_val_s, sys_lisp1_setq_s; +extern val sys_lisp1_value_s, sys_mark_special_s, sys_qquote_s, sys_splice_s, sys_unquote_s; +extern val system_error_s, system_package_s, tan_s, tanh_s, text_s; +extern val throw_s, time_local_s, time_parse_s, time_s, time_string_s; +extern val time_utc_s, timeout_error_s, times_k, tlist_k, tnode_s; +extern val tobase64_k, tobase64url_k, tofloat_k, tohtml_k, tohtml_star_k; +extern val toint_k, tonumber_k, topercent_k, tourl_k, trailer_s; +extern val tree_bind_s, tree_case_s, tree_construct_s, tree_fun_whitelist_s, tree_iter_s; +extern val tree_lit_s, tree_s, trunc1_s, trunc_s, truncate_s; +extern val try_s, type_error_s, ubit_s, uchar_s, uid_k; +extern val uid_s, uint16_s, uint32_s, uint64_s, uint8_s; +extern val uint_s, ulong_s, unbound_s, unget_byte_s, unget_char_s; +extern val union_s, unique_s, unquote_s, until_s, until_star_s; +extern val upcase_k, uref_s, user_package_s, userdata_k, ushort_s; +extern val usr_var_s, uw_protect_s, val_s, var_k, var_s; +extern val vars_k, vec_list_s, vec_s, vecref_s, vector_lit_s; +extern val vm_closure_s, vm_desc_s, void_s, warning_s, wchar_s; +extern val weak_keys_k, weak_vals_k, when_s, while_s, while_star_s; +extern val whole_k, width_s, wild_s, word_char_k, wrap_k; +extern val wstr_d_s, wstr_s, year_s, zap_s, zarray_s; +extern val zchar_s, zerop_s, zeroplus_s, zone_s; #if HAVE_DLOPEN extern val dlhandle_s, dlsym_s; @@ -257,48 +257,48 @@ val *protected_sym[] = { &path_s, &pkg_s, &plus_s, &plusp_s, &postinit_k, &pprint_flo_format_s, &print_base_s, &print_circle_s, &print_flo_digits_s, &print_flo_format_s, &print_flo_precision_s, &print_s, &process_error_s, &prof_s, &prog1_s, - &progn_s, &promise_forced_s, &promise_inprogress_s, &promise_s, &ptr_in_d_s, - &ptr_in_s, &ptr_out_d_s, &ptr_out_s, &ptr_out_s_s, &ptr_s, - &put_buf_s, &put_byte_s, &put_char_s, &put_string_s, &qquote_s, - &qref_s, &quasi_s, &quasilist_s, &query_error_s, "e_s, - &r_atan2_s, &r_ceil_s, &r_expt_s, &r_floor_s, &r_lognot_s, - &r_logtrunc_s, &r_mod_s, &r_round_s, &r_trunc_s, &random_state_s, - &random_state_var_s, &random_warmup_s, &range_error_s, &range_s, &rcons_s, - &rdev_k, &rdev_s, &real_time_k, &rebind_s, &rec_source_loc_s, - &recip_s, &reflect_k, ®ex_s, &rep_s, &repeat_s, - &repeat_spec_k, &require_s, &resolve_k, &rest_s, &restart_s, - &return_from_s, &return_s, &rfilt_k, &round1_s, &round_s, - &rplaca_s, &rplacd_s, &sbit_s, &sec_s, &seek_s, - &seq_iter_s, &sequence_s, &set_prop_s, &set_s, &setq_s, - &setqf_s, &short_s, &shortest_k, &sign_extend_s, &signum_s, - &sin_s, &single_s, &sinh_s, &size_k, &size_s, - &skip_s, &slot_s, &some_s, &space_k, &special_s, - &splice_s, &sqrt_s, &square_s, &stat_s, &stddebug_s, - &stderr_s, &stdin_s, &stdio_stream_s, &stdnull_s, &stdout_s, - &str_d_s, &str_s, &stream_s, &string_k, &string_s, - &struct_lit_s, &struct_s, &struct_type_s, &switch_s, &sym_s, - &symacro_k, &symacrolet_s, &syntax_error_s, &sys_abscond_from_s, &sys_apply_s, - &sys_catch_s, &sys_l1_setq_s, &sys_l1_val_s, &sys_lisp1_setq_s, &sys_lisp1_value_s, - &sys_mark_special_s, &sys_qquote_s, &sys_splice_s, &sys_unquote_s, &system_error_s, - &system_package_s, &tan_s, &tanh_s, &text_s, &throw_s, - &time_local_s, &time_parse_s, &time_s, &time_string_s, &time_utc_s, - &timeout_error_s, ×_k, &tlist_k, &tnode_s, &tobase64_k, - &tobase64url_k, &tofloat_k, &tohtml_k, &tohtml_star_k, &toint_k, - &tonumber_k, &topercent_k, &tourl_k, &trailer_s, &tree_bind_s, - &tree_case_s, &tree_construct_s, &tree_fun_whitelist_s, &tree_iter_s, &tree_lit_s, - &tree_s, &trunc1_s, &trunc_s, &truncate_s, &try_s, - &type_error_s, &ubit_s, &uchar_s, &uid_k, &uid_s, - &uint16_s, &uint32_s, &uint64_s, &uint8_s, &uint_s, - &ulong_s, &unbound_s, &unget_byte_s, &unget_char_s, &union_s, - &unique_s, &unquote_s, &until_s, &until_star_s, &upcase_k, - &uref_s, &user_package_s, &userdata_k, &ushort_s, &usr_var_s, - &uw_protect_s, &val_s, &var_k, &var_s, &vars_k, - &vec_list_s, &vec_s, &vecref_s, &vector_lit_s, &vm_closure_s, - &vm_desc_s, &void_s, &warning_s, &wchar_s, &weak_keys_k, - &weak_vals_k, &when_s, &while_s, &while_star_s, &whole_k, - &width_s, &wild_s, &word_char_k, &wrap_k, &wstr_d_s, - &wstr_s, &year_s, &zap_s, &zarray_s, &zchar_s, - &zerop_s, &zeroplus_s, &zone_s, + &prog2_s, &progn_s, &promise_forced_s, &promise_inprogress_s, &promise_s, + &ptr_in_d_s, &ptr_in_s, &ptr_out_d_s, &ptr_out_s, &ptr_out_s_s, + &ptr_s, &put_buf_s, &put_byte_s, &put_char_s, &put_string_s, + &qquote_s, &qref_s, &quasi_s, &quasilist_s, &query_error_s, + "e_s, &r_atan2_s, &r_ceil_s, &r_expt_s, &r_floor_s, + &r_lognot_s, &r_logtrunc_s, &r_mod_s, &r_round_s, &r_trunc_s, + &random_state_s, &random_state_var_s, &random_warmup_s, &range_error_s, &range_s, + &rcons_s, &rdev_k, &rdev_s, &real_time_k, &rebind_s, + &rec_source_loc_s, &recip_s, &reflect_k, ®ex_s, &rep_s, + &repeat_s, &repeat_spec_k, &require_s, &resolve_k, &rest_s, + &restart_s, &return_from_s, &return_s, &rfilt_k, &round1_s, + &round_s, &rplaca_s, &rplacd_s, &sbit_s, &sec_s, + &seek_s, &seq_iter_s, &sequence_s, &set_prop_s, &set_s, + &setq_s, &setqf_s, &short_s, &shortest_k, &sign_extend_s, + &signum_s, &sin_s, &single_s, &sinh_s, &size_k, + &size_s, &skip_s, &slot_s, &some_s, &space_k, + &special_s, &splice_s, &sqrt_s, &square_s, &stat_s, + &stddebug_s, &stderr_s, &stdin_s, &stdio_stream_s, &stdnull_s, + &stdout_s, &str_d_s, &str_s, &stream_s, &string_k, + &string_s, &struct_lit_s, &struct_s, &struct_type_s, &switch_s, + &sym_s, &symacro_k, &symacrolet_s, &syntax_error_s, &sys_abscond_from_s, + &sys_apply_s, &sys_catch_s, &sys_l1_setq_s, &sys_l1_val_s, &sys_lisp1_setq_s, + &sys_lisp1_value_s, &sys_mark_special_s, &sys_qquote_s, &sys_splice_s, &sys_unquote_s, + &system_error_s, &system_package_s, &tan_s, &tanh_s, &text_s, + &throw_s, &time_local_s, &time_parse_s, &time_s, &time_string_s, + &time_utc_s, &timeout_error_s, ×_k, &tlist_k, &tnode_s, + &tobase64_k, &tobase64url_k, &tofloat_k, &tohtml_k, &tohtml_star_k, + &toint_k, &tonumber_k, &topercent_k, &tourl_k, &trailer_s, + &tree_bind_s, &tree_case_s, &tree_construct_s, &tree_fun_whitelist_s, &tree_iter_s, + &tree_lit_s, &tree_s, &trunc1_s, &trunc_s, &truncate_s, + &try_s, &type_error_s, &ubit_s, &uchar_s, &uid_k, + &uid_s, &uint16_s, &uint32_s, &uint64_s, &uint8_s, + &uint_s, &ulong_s, &unbound_s, &unget_byte_s, &unget_char_s, + &union_s, &unique_s, &unquote_s, &until_s, &until_star_s, + &upcase_k, &uref_s, &user_package_s, &userdata_k, &ushort_s, + &usr_var_s, &uw_protect_s, &val_s, &var_k, &var_s, + &vars_k, &vec_list_s, &vec_s, &vecref_s, &vector_lit_s, + &vm_closure_s, &vm_desc_s, &void_s, &warning_s, &wchar_s, + &weak_keys_k, &weak_vals_k, &when_s, &while_s, &while_star_s, + &whole_k, &width_s, &wild_s, &word_char_k, &wrap_k, + &wstr_d_s, &wstr_s, &year_s, &zap_s, &zarray_s, + &zchar_s, &zerop_s, &zeroplus_s, &zone_s, #if HAVE_DLOPEN &dlhandle_s, &dlsym_s, diff --git a/share/txr/stdlib/ver.tl b/share/txr/stdlib/ver.tl index 3df0699a..116177e6 100644 --- a/share/txr/stdlib/ver.tl +++ b/share/txr/stdlib/ver.tl @@ -1,2 +1,2 @@ -(defvarl lib-version 245) +(defvarl lib-version 247) (defvarl *lib-version* lib-version) @@ -368,9 +368,9 @@ .ds TX \f[B]TXR\f[] .ds TL \f[B]TXR Lisp\f[] .\" Start of man page: -.TH TXR 1 2020-12-31 "Utility Commands" "TXR Programming Language" "Kaz Kylheku" +.TH TXR 1 2020-01-19 "Utility Commands" "TXR Programming Language" "Kaz Kylheku" .SH* NAME -\*(TX \- Programming Language (Version 246) +\*(TX \- Programming Language (Version 247) .SH* SYNOPSIS .mono @@ -73858,7 +73858,7 @@ Versions 200 through 215 produce version 4 files and load version 2, 3 or 4. Versions 216 through 243 produce version 5.0 files and load version 2, 3, 4 or 5, regardless of minor version. -Versions 244 through 246 produce version 5.1 files and load +Versions 244 through 247 produce version 5.1 files and load version 2, 3, 4 or 5, regardless of minor version. .SS* Semantic Differences between Compilation and Interpretation |