From maintainers-request at octave dot org Wed Dec 7 18:24:47 2005 Subject: Re: message ids for warnings and errors From: "John W. Eaton" To: Paul Kienzle Cc: Stefan van der Walt , maintainers@octave.org Date: Wed, 7 Dec 2005 19:24:40 -0500 On 7-Dec-2005, Paul Kienzle wrote: | It would be nice if the warning state were automatically | restored when the function completes, otherwise we are going | to end up with unwind protect cruft sprinkled everywhere again. One of the reasons for adding the message-id thing was compatibility. Having the state scoped would break compatibility. In CVS Octave, we have 21 knobs for warning control: warn_assign_as_truth_value warn_function_name_clash warn_neg_dim_as_zero warn_separator_insert warn_variable_switch_label warn_associativity_change warn_future_time_stamp warn_num_to_str warn_single_quote_string warn_divide_by_zero warn_imag_to_real warn_precedence_change warn_str_to_num warn_empty_list_elements warn_matlab_incompatible warn_reload_forces_clear warn_string_concat warn_fortran_indexing warn_missing_semicolon warn_resize_on_range_error warn_undefined_return_values and 12 of them are off by default. So I guess we have a situation similar to Matlab, where we will start with warning on all plus the 12 exceptions. Is it really a problem if the state is global? Are there very many (any) places now where we need unwind_protect to play with the warning state? jwe