Marc:
One finds
[brad:~/programs/gambc-4.0b22/gsc] lucier% grep make-table *.scm _host.scm:(define (make-table . args) _t-c-1.scm: (set! targ-glo-vars (make-table 'test: eq?)) _t-c-1.scm: (set! targ-sym-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-key-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-num-objs (make-table 'test: eqv?)) _t-c-1.scm: (set! targ-prc-objs-seen (make-table 'test: eq?)) _utils.scm: (vector (make-table 'test: test)
and extended-bindings is not declared, so when a user redefines make- table it screws up the compiler.
Brad
Afficher les réponses par date
On May 22, 2007, at 12:20 PM, Bradley Lucier wrote:
Marc:
One finds
[brad:~/programs/gambc-4.0b22/gsc] lucier% grep make-table *.scm _host.scm:(define (make-table . args) _t-c-1.scm: (set! targ-glo-vars (make-table 'test: eq?)) _t-c-1.scm: (set! targ-sym-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-key-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-num-objs (make-table 'test: eqv?)) _t-c-1.scm: (set! targ-prc-objs-seen (make-table 'test: eq?)) _utils.scm: (vector (make-table 'test: test)
and extended-bindings is not declared, so when a user redefines make-table it screws up the compiler.
I see this is hardly unique, so I'll ask you: is this kind of stuff a bug?
Brad
[brad:~/programs/gambc-4.0b22/gsc] lucier% grep 'NEED_GLO.*___G_[abd- z]' *.c | sort | uniq -c 1 _back.c:___NEED_GLO(___G_make_2d_vector) 1 _env.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _env.c:___NEED_GLO(___G_string_2d_append) 1 _env.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _front.c:___NEED_GLO(___G_append) 1 _front.c:___NEED_GLO(___G_apply) 1 _front.c:___NEED_GLO(___G_display) 1 _front.c:___NEED_GLO(___G_for_2d_each) 1 _front.c:___NEED_GLO(___G_length) 1 _front.c:___NEED_GLO(___G_list_2d__3e_vector) 1 _front.c:___NEED_GLO(___G_list_2d_ref) 1 _front.c:___NEED_GLO(___G_make_2d_vector) 1 _front.c:___NEED_GLO(___G_max) 1 _front.c:___NEED_GLO(___G_memv) 1 _front.c:___NEED_GLO(___G_min) 1 _front.c:___NEED_GLO(___G_newline) 1 _front.c:___NEED_GLO(___G_number_2d__3e_string) 1 _front.c:___NEED_GLO(___G_open_2d_output_2d_file) 1 _front.c:___NEED_GLO(___G_path_2d_strip_2d_directory) 1 _front.c:___NEED_GLO(___G_path_2d_strip_2d_extension) 1 _front.c:___NEED_GLO(___G_reverse) 1 _front.c:___NEED_GLO(___G_string_2d__3e_number) 1 _front.c:___NEED_GLO(___G_string_2d_append) 1 _front.c:___NEED_GLO(___G_string_3c__3f_) 1 _front.c:___NEED_GLO(___G_string_3d__3f_) 1 _front.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _front.c:___NEED_GLO(___G_write) 1 _gsc.c:___NEED_GLO(___G_link_2d_flat) 1 _gsc.c:___NEED_GLO(___G_link_2d_incremental) 1 _gsc.c:___NEED_GLO(___G_main) 1 _gvm.c:___NEED_GLO(___G_append) 1 _gvm.c:___NEED_GLO(___G_display) 1 _gvm.c:___NEED_GLO(___G_length) 1 _gvm.c:___NEED_GLO(___G_make_2d_vector) 1 _gvm.c:___NEED_GLO(___G_map) 1 _gvm.c:___NEED_GLO(___G_newline) 1 _gvm.c:___NEED_GLO(___G_reverse) 1 _gvm.c:___NEED_GLO(___G_string_3d__3f_) 1 _gvm.c:___NEED_GLO(___G_write) 1 _host.c:___NEED_GLO(___G_display) 1 _host.c:___NEED_GLO(___G_error) 1 _host.c:___NEED_GLO(___G_eval) 1 _host.c:___NEED_GLO(___G_open_2d_output_2d_file) 1 _host.c:___NEED_GLO(___G_path_2d_directory) 1 _host.c:___NEED_GLO(___G_path_2d_expand) 1 _host.c:___NEED_GLO(___G_path_2d_extension) 1 _host.c:___NEED_GLO(___G_path_2d_strip_2d_directory) 1 _host.c:___NEED_GLO(___G_path_2d_strip_2d_extension) 1 _host.c:___NEED_GLO(___G_pp) 1 _host.c:___NEED_GLO(___G_symbol_2d_hash) 1 _host.c:___NEED_GLO(___G_with_2d_output_2d_to_2d_string) 1 _host.c:___NEED_GLO(___G_write) 1 _host.c:___NEED_GLO(___G_write_2d_char) 1 _parms.c:___NEED_GLO(___G_number_2d__3e_string) 1 _parms.c:___NEED_GLO(___G_string_2d_append) 1 _ptree1.c:___NEED_GLO(___G_append) 1 _ptree1.c:___NEED_GLO(___G_apply) 1 _ptree1.c:___NEED_GLO(___G_display) 1 _ptree1.c:___NEED_GLO(___G_exact_3f_) 1 _ptree1.c:___NEED_GLO(___G_integer_3f_) 1 _ptree1.c:___NEED_GLO(___G_length) 1 _ptree1.c:___NEED_GLO(___G_list_2d_ref) 1 _ptree1.c:___NEED_GLO(___G_newline) 1 _ptree1.c:___NEED_GLO(___G_number_2d__3e_string) 1 _ptree1.c:___NEED_GLO(___G_reverse) 1 _ptree1.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _ptree1.c:___NEED_GLO(___G_string_2d_append) 1 _ptree1.c:___NEED_GLO(___G_substring) 1 _ptree1.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _ptree1.c:___NEED_GLO(___G_write) 1 _ptree2.c:___NEED_GLO(___G_append) 1 _ptree2.c:___NEED_GLO(___G_apply) 1 _ptree2.c:___NEED_GLO(___G_assoc) 1 _ptree2.c:___NEED_GLO(___G_eval) 1 _ptree2.c:___NEED_GLO(___G_for_2d_each) 1 _ptree2.c:___NEED_GLO(___G_length) 1 _ptree2.c:___NEED_GLO(___G_list_2d_ref) 1 _ptree2.c:___NEED_GLO(___G_number_2d__3e_string) 1 _ptree2.c:___NEED_GLO(___G_reverse) 1 _ptree2.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _ptree2.c:___NEED_GLO(___G_string_2d_append) 1 _ptree2.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _source.c:___NEED_GLO(___G_append) 1 _source.c:___NEED_GLO(___G_apply) 1 _source.c:___NEED_GLO(___G_display) 1 _source.c:___NEED_GLO(___G_equal_3f_) 1 _source.c:___NEED_GLO(___G_exact_3f_) 1 _source.c:___NEED_GLO(___G_integer_3f_) 1 _source.c:___NEED_GLO(___G_make_2d_string) 1 _source.c:___NEED_GLO(___G_make_2d_vector) 1 _source.c:___NEED_GLO(___G_open_2d_input_2d_file) 1 _source.c:___NEED_GLO(___G_path_2d_directory) 1 _source.c:___NEED_GLO(___G_path_2d_expand) 1 _source.c:___NEED_GLO(___G_path_2d_extension) 1 _source.c:___NEED_GLO(___G_peek_2d_char) 1 _source.c:___NEED_GLO(___G_read_2d_char) 1 _source.c:___NEED_GLO(___G_real_3f_) 1 _source.c:___NEED_GLO(___G_reverse) 1 _source.c:___NEED_GLO(___G_string_2d__3e_number) 1 _source.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _source.c:___NEED_GLO(___G_string_2d_append) 1 _source.c:___NEED_GLO(___G_string_2d_ci_3d__3f_) 1 _source.c:___NEED_GLO(___G_string_3d__3f_) 1 _source.c:___NEED_GLO(___G_substring) 1 _source.c:___NEED_GLO(___G_write) 1 _t-c-1.c:___NEED_GLO(___G_append) 1 _t-c-1.c:___NEED_GLO(___G_apply) 1 _t-c-1.c:___NEED_GLO(___G_display) 1 _t-c-1.c:___NEED_GLO(___G_eq_3f_) 1 _t-c-1.c:___NEED_GLO(___G_equal_3f_) 1 _t-c-1.c:___NEED_GLO(___G_eqv_3f_) 1 _t-c-1.c:___NEED_GLO(___G_length) 1 _t-c-1.c:___NEED_GLO(___G_make_2d_table) 1 _t-c-1.c:___NEED_GLO(___G_make_2d_vector) 1 _t-c-1.c:___NEED_GLO(___G_newline) 1 _t-c-1.c:___NEED_GLO(___G_open_2d_output_2d_file) 1 _t-c-1.c:___NEED_GLO(___G_path_2d_strip_2d_directory) 1 _t-c-1.c:___NEED_GLO(___G_path_2d_strip_2d_extension) 1 _t-c-1.c:___NEED_GLO(___G_read) 1 _t-c-1.c:___NEED_GLO(___G_read_2d_char) 1 _t-c-1.c:___NEED_GLO(___G_reverse) 1 _t-c-1.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _t-c-1.c:___NEED_GLO(___G_string_2d_append) 1 _t-c-1.c:___NEED_GLO(___G_string_3c__3f_) 1 _t-c-1.c:___NEED_GLO(___G_string_3d__3f_) 1 _t-c-1.c:___NEED_GLO(___G_string_3e__3f_) 1 _t-c-1.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _t-c-1.c:___NEED_GLO(___G_symbol_2d_hash) 1 _t-c-1.c:___NEED_GLO(___G_table_2d__3e_list) 1 _t-c-1.c:___NEED_GLO(___G_table_2d_ref) 1 _t-c-1.c:___NEED_GLO(___G_table_2d_set_21_) 1 _t-c-1.c:___NEED_GLO(___G_write) 1 _t-c-2.c:___NEED_GLO(___G_abs) 1 _t-c-2.c:___NEED_GLO(___G_acos) 1 _t-c-2.c:___NEED_GLO(___G_angle) 1 _t-c-2.c:___NEED_GLO(___G_append) 1 _t-c-2.c:___NEED_GLO(___G_apply) 1 _t-c-2.c:___NEED_GLO(___G_asin) 1 _t-c-2.c:___NEED_GLO(___G_assoc) 1 _t-c-2.c:___NEED_GLO(___G_assq) 1 _t-c-2.c:___NEED_GLO(___G_assv) 1 _t-c-2.c:___NEED_GLO(___G_atan) 1 _t-c-2.c:___NEED_GLO(___G_denominator) 1 _t-c-2.c:___NEED_GLO(___G_display) 1 _t-c-2.c:___NEED_GLO(___G_eq_3f_) 1 _t-c-2.c:___NEED_GLO(___G_equal_3f_) 1 _t-c-2.c:___NEED_GLO(___G_eqv_3f_) 1 _t-c-2.c:___NEED_GLO(___G_even_3f_) 1 _t-c-2.c:___NEED_GLO(___G_exact_2d__3e_inexact) 1 _t-c-2.c:___NEED_GLO(___G_exact_3f_) 1 _t-c-2.c:___NEED_GLO(___G_exp) 1 _t-c-2.c:___NEED_GLO(___G_expt) 1 _t-c-2.c:___NEED_GLO(___G_floor) 1 _t-c-2.c:___NEED_GLO(___G_gcd) 1 _t-c-2.c:___NEED_GLO(___G_imag_2d_part) 1 _t-c-2.c:___NEED_GLO(___G_inexact_2d__3e_exact) 1 _t-c-2.c:___NEED_GLO(___G_inexact_3f_) 1 _t-c-2.c:___NEED_GLO(___G_input_2d_port_3f_) 1 _t-c-2.c:___NEED_GLO(___G_integer_3f_) 1 _t-c-2.c:___NEED_GLO(___G_lcm) 1 _t-c-2.c:___NEED_GLO(___G_length) 1 _t-c-2.c:___NEED_GLO(___G_list_2d_ref) 1 _t-c-2.c:___NEED_GLO(___G_list_3f_) 1 _t-c-2.c:___NEED_GLO(___G_log) 1 _t-c-2.c:___NEED_GLO(___G_magnitude) 1 _t-c-2.c:___NEED_GLO(___G_make_2d_polar) 1 _t-c-2.c:___NEED_GLO(___G_make_2d_rectangular) 1 _t-c-2.c:___NEED_GLO(___G_make_2d_vector) 1 _t-c-2.c:___NEED_GLO(___G_max) 1 _t-c-2.c:___NEED_GLO(___G_member) 1 _t-c-2.c:___NEED_GLO(___G_memq) 1 _t-c-2.c:___NEED_GLO(___G_memv) 1 _t-c-2.c:___NEED_GLO(___G_min) 1 _t-c-2.c:___NEED_GLO(___G_modulo) 1 _t-c-2.c:___NEED_GLO(___G_negative_3f_) 1 _t-c-2.c:___NEED_GLO(___G_newline) 1 _t-c-2.c:___NEED_GLO(___G_null_3f_) 1 _t-c-2.c:___NEED_GLO(___G_number_2d__3e_string) 1 _t-c-2.c:___NEED_GLO(___G_number_3f_) 1 _t-c-2.c:___NEED_GLO(___G_numerator) 1 _t-c-2.c:___NEED_GLO(___G_odd_3f_) 1 _t-c-2.c:___NEED_GLO(___G_output_2d_port_3f_) 1 _t-c-2.c:___NEED_GLO(___G_pair_3f_) 1 _t-c-2.c:___NEED_GLO(___G_positive_3f_) 1 _t-c-2.c:___NEED_GLO(___G_pp) 1 _t-c-2.c:___NEED_GLO(___G_quotient) 1 _t-c-2.c:___NEED_GLO(___G_rational_3f_) 1 _t-c-2.c:___NEED_GLO(___G_rationalize) 1 _t-c-2.c:___NEED_GLO(___G_real_2d_part) 1 _t-c-2.c:___NEED_GLO(___G_real_3f_) 1 _t-c-2.c:___NEED_GLO(___G_remainder) 1 _t-c-2.c:___NEED_GLO(___G_reverse) 1 _t-c-2.c:___NEED_GLO(___G_round) 1 _t-c-2.c:___NEED_GLO(___G_sin) 1 _t-c-2.c:___NEED_GLO(___G_sqrt) 1 _t-c-2.c:___NEED_GLO(___G_string_2d__3e_number) 1 _t-c-2.c:___NEED_GLO(___G_string_2d__3e_symbol) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_append) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ci_3c__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ci_3c__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ci_3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ci_3e__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ci_3e__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_length) 1 _t-c-2.c:___NEED_GLO(___G_string_2d_ref) 1 _t-c-2.c:___NEED_GLO(___G_string_3c__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_3c__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_3e__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_3e__3f_) 1 _t-c-2.c:___NEED_GLO(___G_string_3f_) 1 _t-c-2.c:___NEED_GLO(___G_symbol_2d__3e_string) 1 _t-c-2.c:___NEED_GLO(___G_tan) 1 _t-c-2.c:___NEED_GLO(___G_truncate) 1 _t-c-2.c:___NEED_GLO(___G_vector_2d_length) 1 _t-c-2.c:___NEED_GLO(___G_vector_2d_ref) 1 _t-c-2.c:___NEED_GLO(___G_write) 1 _t-c-2.c:___NEED_GLO(___G_zero_3f_) 1 _t-c-3.c:___NEED_GLO(___G_arithmetic_2d_shift) 1 _t-c-3.c:___NEED_GLO(___G_denominator) 1 _t-c-3.c:___NEED_GLO(___G_exact_2d__3e_inexact) 1 _t-c-3.c:___NEED_GLO(___G_exact_3f_) 1 _t-c-3.c:___NEED_GLO(___G_expt) 1 _t-c-3.c:___NEED_GLO(___G_imag_2d_part) 1 _t-c-3.c:___NEED_GLO(___G_inexact_2d__3e_exact) 1 _t-c-3.c:___NEED_GLO(___G_inexact_3f_) 1 _t-c-3.c:___NEED_GLO(___G_integer_2d_length) 1 _t-c-3.c:___NEED_GLO(___G_integer_3f_) 1 _t-c-3.c:___NEED_GLO(___G_modulo) 1 _t-c-3.c:___NEED_GLO(___G_negative_3f_) 1 _t-c-3.c:___NEED_GLO(___G_number_2d__3e_string) 1 _t-c-3.c:___NEED_GLO(___G_numerator) 1 _t-c-3.c:___NEED_GLO(___G_quotient) 1 _t-c-3.c:___NEED_GLO(___G_rational_3f_) 1 _t-c-3.c:___NEED_GLO(___G_real_2d_part) 1 _t-c-3.c:___NEED_GLO(___G_remainder) 1 _t-c-3.c:___NEED_GLO(___G_string_2d_append) 1 _t-c-3.c:___NEED_GLO(___G_truncate) 1 _t-c-3.c:___NEED_GLO(___G_zero_3f_) 1 _utils.c:___NEED_GLO(___G_append) 1 _utils.c:___NEED_GLO(___G_apply) 1 _utils.c:___NEED_GLO(___G_display) 1 _utils.c:___NEED_GLO(___G_equal_3f_) 1 _utils.c:___NEED_GLO(___G_make_2d_string) 1 _utils.c:___NEED_GLO(___G_make_2d_table) 1 _utils.c:___NEED_GLO(___G_make_2d_vector) 1 _utils.c:___NEED_GLO(___G_newline) 1 _utils.c:___NEED_GLO(___G_string_3d__3f_) 1 _utils.c:___NEED_GLO(___G_table_2d_ref) 1 _utils.c:___NEED_GLO(___G_table_2d_set_21_) 1 _utils.c:___NEED_GLO(___G_write)
Sorry, my regexp-fu is not so great, here are a few more:
[brad:~/programs/gambc-4.0b22/gsc] lucier% grep 'NEED_GLO.*___G_c [^_]' *.c | sort | uniq -c 1 _front.c:___NEED_GLO(___G_close_2d_output_2d_port) 1 _front.c:___NEED_GLO(___G_current_2d_output_2d_port) 1 _gsc.c:___NEED_GLO(___G_compile_2d_file) 1 _gsc.c:___NEED_GLO(___G_compile_2d_file_2d_to_2d_c) 1 _gvm.c:___NEED_GLO(___G_cons) 1 _source.c:___NEED_GLO(___G_close_2d_input_2d_port) 1 _t-c-1.c:___NEED_GLO(___G_close_2d_input_2d_port) 1 _t-c-1.c:___NEED_GLO(___G_close_2d_output_2d_port) 1 _t-c-2.c:___NEED_GLO(___G_car) 1 _t-c-2.c:___NEED_GLO(___G_cdr) 1 _t-c-2.c:___NEED_GLO(___G_ceiling) 1 _t-c-2.c:___NEED_GLO(___G_char_2d__3e_integer) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_alphabetic_3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_ci_3c__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_ci_3c__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_ci_3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_ci_3e__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_ci_3e__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_downcase) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_lower_2d_case_3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_numeric_3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_upcase) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_upper_2d_case_3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_2d_whitespace_3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3c__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3c__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3e__3d__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3e__3f_) 1 _t-c-2.c:___NEED_GLO(___G_char_3f_) 1 _t-c-2.c:___NEED_GLO(___G_complex_3f_) 1 _t-c-2.c:___NEED_GLO(___G_cos)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 22-May-07, at 2:03 PM, Bradley Lucier wrote:
Marc:
One finds
[brad:~/programs/gambc-4.0b22/gsc] lucier% grep make-table *.scm _host.scm:(define (make-table . args) _t-c-1.scm: (set! targ-glo-vars (make-table 'test: eq?)) _t-c-1.scm: (set! targ-sym-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-key-objs (make-table 'test: eq?)) _t-c-1.scm: (set! targ-num-objs (make-table 'test: eqv?)) _t-c-1.scm: (set! targ-prc-objs-seen (make-table 'test: eq?)) _utils.scm: (vector (make-table 'test: test)
and extended-bindings is not declared, so when a user redefines make-table it screws up the compiler.
I see this is hardly unique, so I'll ask you: is this kind of stuff a bug?
Brad
Yes, I think this is a bug that needs to be addressed.
Marc