mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-28 14:00:31 +02:00
Make file/line/column fields of ports private
* libguile/ports-internal.h (scm_t_port_internal): Move file_name, line_number, and column_number here. (SCM_FILENAME, SCM_SET_FILENAME, SCM_LINUM, SCM_COL, SCM_INCLINE): (SCM_ZEROCOL, SCM_INCCOL, SCM_DECCOL, SCM_TABCOL): Make internal. * libguile/ports.c (scm_c_make_port_with_encoding) (scm_set_port_line_x, scm_set_port_column_x): Adapt to change.
This commit is contained in:
parent
209d50c7d8
commit
8af64975be
3 changed files with 20 additions and 19 deletions
|
@ -84,11 +84,6 @@ typedef struct
|
|||
/* Data for the underlying port implementation as a raw C value. */
|
||||
scm_t_bits stream;
|
||||
|
||||
/* Source location information. */
|
||||
SCM file_name;
|
||||
long line_number;
|
||||
int column_number;
|
||||
|
||||
/* Port buffers. */
|
||||
SCM read_buf;
|
||||
SCM write_buf;
|
||||
|
@ -147,17 +142,6 @@ SCM_INTERNAL SCM scm_i_port_weak_set;
|
|||
#define SCM_SETPTAB_ENTRY(x, ent) (SCM_SET_CELL_WORD_1 ((x), (scm_t_bits) (ent)))
|
||||
#define SCM_STREAM(x) (SCM_PTAB_ENTRY(x)->stream)
|
||||
#define SCM_SETSTREAM(x, s) (SCM_PTAB_ENTRY(x)->stream = (scm_t_bits) (s))
|
||||
#define SCM_FILENAME(x) (SCM_PTAB_ENTRY(x)->file_name)
|
||||
#define SCM_SET_FILENAME(x, n) (SCM_PTAB_ENTRY(x)->file_name = (n))
|
||||
#define SCM_LINUM(x) (SCM_PTAB_ENTRY(x)->line_number)
|
||||
#define SCM_COL(x) (SCM_PTAB_ENTRY(x)->column_number)
|
||||
|
||||
#define SCM_INCLINE(port) do {SCM_LINUM (port) += 1; SCM_COL (port) = 0;} while (0)
|
||||
#define SCM_ZEROCOL(port) do {SCM_COL (port) = 0;} while (0)
|
||||
#define SCM_INCCOL(port) do {SCM_COL (port) += 1;} while (0)
|
||||
#define SCM_DECCOL(port) do {if (SCM_COL (port) > 0) SCM_COL (port) -= 1;} while (0)
|
||||
#define SCM_TABCOL(port) do {SCM_COL (port) += 8 - SCM_COL (port) % 8;} while (0)
|
||||
|
||||
/* Maximum number of port types. */
|
||||
#define SCM_I_MAX_PORT_TYPE_COUNT 256
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue