Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
SCM_PORT_WITH_PS_PS): Represent ports with print states as a smob
instead of a pair of a port and a print state. We'll need to cons
once extra in scm_printer_apply but the type system will be
cleaner, it will mix better with GOOPS, and, it will be even more
transparent to the user.
|
|
port, return the print state associated to it in the current print
chain, if one exists;
(scm_port_with_print_state): New procedure: Associate a
print-state with a port.
(scm_valid_oport_value_p): Use SCM_PORT_WITH_PS_P;
(scm_printer_apply): Wrap port and pstate as a smob;
(print_state_printer): Removed.
|
|
testing (otherwise the port-print-state trick won't be transparent
to the user; one example where this caused problems was in the
(ice-9 format) module).
|
|
|
|
scm_newsmob.
|
|
|
|
SCM_UNSPECIFIED instead of the set value.
|
|
|
|
|
|
|
|
|
|
SCM_PORT_READ, SCM_PORT_WRITE, and SCM_PORT_NEITHER (instead of
zero). The debugger knows about enums, but doesn't know about
#defines.
(typedef scm_port): Declare rw_active member to be an enum
scm_port_rw_active.
* fports.c (fport_flush, fport_end_input): Use SCM_PORT_NEITHER
instead of zero.
* ports.c (scm_add_to_port_table): Same.
* strports.c (st_flush, st_end_input): Same.
|
|
scm_must_realloc, and scm_done_malloc as appropriate.
|
|
|
|
|
|
|
|
from crashing the interpreter if the less predicate is buggy.
|
|
* fports.c (fport_write): fix line-buffering mode again.
(scm_open_file): recognise 'l' for line-buffering.
(scm_setvbuf): recognise _IOLBF for line-buffering.
|
|
|
|
of libguile to 5.0.
|
|
|
|
|
|
evaluating closures.
|
|
* fports.c (fport_write): use memcpy instead of strncpy, in case
the data contains NUL.
|
|
|
|
|
|
|
|
|
|
read.c, srcprop.c, srcprop.h (scm_i_filename, scm_i_line,
scm_i_column, scm_i_copy, scm_i_name, scm_i_lambda, scm_i_source,
scm_i_more, scm_i_procname, scm_i_dot, scm_i_arrow, scm_i_else,
scm_i_unquote, scm_i_uq_splicing, scm_i_apply, scm_i_enter_frame,
scm_i_apply_frame, scm_i_exit_frame, scm_i_trace, scm_i_quote,
scm_i_begin, scm_i_if, scm_i_and, scm_i_or, scm_i_case,
scm_i_cond, scm_i_letstar, scm_i_do, scm_i_quasiquote,
scm_i_define, scm_i_letrec, scm_i_let, scm_i_atapply,
scm_i_atcall_cc, scm_i_breakpoint): Renamed: Consequently use
scm_sym_ as prefix for symbols.
|
|
srcprop.c, srcprop.h (scm_i_filename, scm_i_line, scm_i_column,
scm_i_copy, scm_i_name, scm_i_lambda, scm_i_source, scm_i_more,
scm_i_procname, scm_i_dot, scm_i_arrow, scm_i_else, scm_i_unquote,
scm_i_uq_splicing, scm_i_apply, scm_i_enter_frame,
scm_i_apply_frame, scm_i_exit_frame, scm_i_trace, scm_i_quote,
scm_i_begin, scm_i_if, scm_i_and, scm_i_or, scm_i_case,
scm_i_cond, scm_i_letstar, scm_i_do, scm_i_quasiquote,
scm_i_define, scm_i_letrec, scm_i_let, scm_i_atapply,
scm_i_atcall_cc, scm_i_breakpoint): Renamed: Consequently use
scm_sym_ as prefix for symbols.
|
|
srcprop.c, srcprop.h (scm_i_filename, scm_i_line, scm_i_column,
scm_i_copy, scm_i_name, scm_i_lambda, scm_i_source, scm_i_more,
scm_i_procname, scm_i_dot, scm_i_arrow, scm_i_else, scm_i_unquote,
scm_i_uq_splicing, scm_i_apply, scm_i_enter_frame,
scm_i_apply_frame, scm_i_exit_frame, scm_i_trace, scm_i_quote,
scm_i_begin, scm_i_if, scm_i_and, scm_i_or, scm_i_case,
scm_i_cond, scm_i_letstar, scm_i_do, scm_i_quasiquote,
scm_i_define, scm_i_letrec, scm_i_let, scm_i_atapply,
scm_i_atcall_cc, scm_i_breakpoint): Renamed: Consequently use
scm_sym_ as prefix for symbols.
* eval.c, eval.h (scm_sym_begin, scm_sym_if, scm_sym_and,
scm_sym_case, scm_sym_cond, scm_sym_letstar, scm_sym_do,
scm_sym_define, scm_sym_letrec, scm_sym_atapply,
scm_sym_atcall_cc): Made global.
|
|
srcprop.c, srcprop.h (scm_i_filename, scm_i_line, scm_i_column,
scm_i_copy, scm_i_name, scm_i_lambda, scm_i_source, scm_i_more,
scm_i_procname, scm_i_dot, scm_i_arrow, scm_i_else, scm_i_unquote,
scm_i_uq_splicing, scm_i_apply, scm_i_enter_frame,
scm_i_apply_frame, scm_i_exit_frame, scm_i_trace, scm_i_quote,
scm_i_begin, scm_i_if, scm_i_and, scm_i_or, scm_i_case,
scm_i_cond, scm_i_letstar, scm_i_do, scm_i_quasiquote,
scm_i_define, scm_i_letrec, scm_i_let, scm_i_atapply,
scm_i_atcall_cc, scm_i_breakpoint): Renamed: Consequently use
scm_sym_ as prefix for symbols.
* debug.c (scm_i_proc, scm_i_args, scm_i_eval_args): Removed.
|
|
gsubr.c, gsubr.h, read.c, read.h, srcprop.c, srcprop.h
(scm_i_filename, scm_i_line, scm_i_column, scm_i_copy, scm_i_name,
scm_i_lambda, scm_i_source, scm_i_more, scm_i_procname, scm_i_dot,
scm_i_arrow, scm_i_else, scm_i_unquote, scm_i_uq_splicing,
scm_i_apply, scm_i_enter_frame, scm_i_apply_frame,
scm_i_exit_frame, scm_i_trace, scm_i_quote, scm_i_begin, scm_i_if,
scm_i_and, scm_i_or, scm_i_case, scm_i_cond, scm_i_letstar,
scm_i_do, scm_i_quasiquote, scm_i_define, scm_i_letrec, scm_i_let,
scm_i_atapply, scm_i_atcall_cc, scm_i_breakpoint): Renamed:
Consequently use scm_sym_ as prefix for symbols.
|
|
|
|
|
|
procedures for pure generic functions.
|
|
* ports.c (scm_seek): one more: was scm_lseek. Also changed the
Scheme name from lseek to seek, but lseek was added recently so
it shouldn't be a big problem.
* ports.c, gdbint.c, ioext.c: changed callers.
|
|
* fports.c (fport_input_waiting): if select is used, return 1
instead of whatever FD_ISSET expands to. maybe it will be useful
to interpret the value from the input_waiting ptob procedure as a
lower bound on the number of bytes available.
* Mikael asked for a few names to be changed...
* ports.c (scm_make_port_type): take the write procedure as the
second argument instead of the flush procedure.
* ports.h (scm_ptob_descriptor): rename the ptob procedures:
fflush -> flush, read_flush -> end_input, fclose -> close,
fill_buffer -> fill_input, ftruncate -> truncate,
input_waiting_p -> input_waiting.
* ports.c (end_input_void_port): was read_flush_void_port.
(scm_set_port_end_input): was scm_set_port_flush_input.
(scm_set_port_flush): was scm_set_port_write.
(scm_set_port_input_waiting): was scm_set_port_input_waiting_p
(scm_end_input): was scm_read_flush.
(scm_fill_input): was scm_fill_buffer.
(scm_flush): was scm_fflush.
* fports.c (fport_input_waiting): renamed from fport_input_waiting_p.
(fport_end_input): was local_read_flush.
(fport_flush): was local_fflush.
(fport_close): was local_fclose.
(fport_truncate): was local_ftruncate.
(fport_seek): was local_seek.
(fport_free): was local_free.
(fport_fill_input): was fport_fill_buffer.
* strports.c (st_end_input): was st_read_flush.
(st_truncate): was st_ftruncate.
* vports.c: (sf_flush): was sfflush.
(sf_close): was sfclose.
(sf_fill_input): was sf_fill_buffer.
* ports.c, fports.c, strports, vports.c, ioext.c, unif.c, filesys.c:
change callers.
|
|
|
|
apply).
(scm_operator_p): Added.
(scm_sym_atdispatch): Added.
(scm_set_object_procedure_x): Modified to handle the new style
generic functions.
(scm_object_procedures): New debugging procedure.
|
|
forms now contain the expressions to be dispatched upon instead of
depending on a surrounding lambda or let; Generic function
dispatch has been optimized; `apply' on a generic function now
works a little bit strangely. It uses a trick so that the type
dispatch code in SCM_CEVAL can be reused.
|
|
|
|
|
|
|
|
|
|
cdrxnoap and loopnoap instead of begin and loop.
|
|
* ports.c (scm_putc, scm_puts),
* unif.c (scm_uniform_array_write): use scm_lfwrite.
* ports.c (scm_putc): change type of first argument from int to char.
|
|
|