[Ecls-list] Latest changes

Juan Jose Garcia Ripoll jlr at mpq.mpg.de
Mon Nov 21 03:27:02 UTC 2005


1) Name changes:

   Several functions related to files have been renamed with a
   a prefix "ecl_", to avoid name collisions. Eventually this
   should be repeated to the whole of the library, but for now
   these are the functions affected:

	ecl_input_stream_p
	ecl_output_stream_p
	ecl_open_stream
	ecl_force_output (<- flush_stream)
	ecl_clear_input (<- clear_input_stream)
	ecl_clear_output (<- clear_output_stream)
	ecl_file_column
	ecl_make_string_input_stream
	ecl_make_string_output_stream

   Removed (because they were redundant)

	close_stream (use cl_close)
	si_output_stream_string (use cl_get_output_stream_string)
	make_string_output_stream_from_string
		(use si_make_string_output_stream_from_string)
	make_two_way_stream (use cl_make_two_way_stream)

2) Fixed the problem pointed out by Karsten Poeck, and which
   translates into the loss of some output values when
   compiling TAGBODY forms:
	(defun foo ()
	  (flet ((execute-form () (values 1 2 3)))
	    (tagbody
	       (execute-form)
	       (let ((*x* #'(lambda () (go exit))))
		 (declare (special *x*))
		 (return-from foo (execute-form)))
	     exit)))
	(multiple-value-list (foo)) => 1
   This only happened in compiled code, not in the interpreter.

Regards,

Juanjo





More information about the ecl-devel mailing list