mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
* srcprop.c (scm_finish_srcprop): Bugfix: update ptr.
(scm_init_srcprop): Adjusted size of initial source-whash. Name changes: tc16_srcprops --> scm_tc16_srcprops, _scm_make_srcprops --> scm_make_srcprops
This commit is contained in:
parent
7e763bfcba
commit
5c5549cbca
1 changed files with 14 additions and 12 deletions
|
@ -49,6 +49,7 @@
|
|||
#include "alist.h"
|
||||
#include "debug.h"
|
||||
#include "hashtab.h"
|
||||
#include "hash.h"
|
||||
#include "weaks.h"
|
||||
|
||||
#include "srcprop.h"
|
||||
|
@ -72,7 +73,7 @@ SCM scm_i_copy;
|
|||
static SCM scm_i_breakpoint, scm_i_line, scm_i_column;
|
||||
static SCM scm_i_filename;
|
||||
|
||||
long tc16_srcprops;
|
||||
long scm_tc16_srcprops;
|
||||
static scm_srcprops_chunk *srcprops_chunklist = 0;
|
||||
static scm_srcprops *srcprops_freelist = 0;
|
||||
|
||||
|
@ -127,10 +128,10 @@ static scm_smobfuns srcpropssmob =
|
|||
|
||||
#ifdef __STDC__
|
||||
SCM
|
||||
_scm_make_srcprops (int line, int col, SCM filename, SCM copy, SCM plist)
|
||||
scm_make_srcprops (int line, int col, SCM filename, SCM copy, SCM plist)
|
||||
#else
|
||||
SCM
|
||||
_scm_make_srcprops (line, col, filename, copy, plist)
|
||||
scm_make_srcprops (line, col, filename, copy, plist)
|
||||
int line;
|
||||
int col;
|
||||
SCM filename;
|
||||
|
@ -161,7 +162,7 @@ _scm_make_srcprops (line, col, filename, copy, plist)
|
|||
srcprops_freelist = (scm_srcprops *) &ptr[1];
|
||||
}
|
||||
SCM_NEWCELL (ans);
|
||||
SCM_CAR (ans) = tc16_srcprops;
|
||||
SCM_CAR (ans) = scm_tc16_srcprops;
|
||||
ptr->pos = SRCPROPMAKPOS (line, col);
|
||||
ptr->fname = filename;
|
||||
ptr->copy = copy;
|
||||
|
@ -292,13 +293,13 @@ scm_set_source_property_x (obj, key, datum)
|
|||
CLEARSRCPROPBRK (SCM_NIMP (p) && SRCPROPSP (p)
|
||||
? p
|
||||
: SCM_WHASHSET (scm_source_whash, h,
|
||||
_scm_make_srcprops (0, 0, SCM_UNDEFINED,
|
||||
scm_make_srcprops (0, 0, SCM_UNDEFINED,
|
||||
SCM_UNDEFINED, p)));
|
||||
else
|
||||
SETSRCPROPBRK (SCM_NIMP (p) && SRCPROPSP (p)
|
||||
? p
|
||||
: SCM_WHASHSET (scm_source_whash, h,
|
||||
_scm_make_srcprops (0, 0, SCM_UNDEFINED,
|
||||
scm_make_srcprops (0, 0, SCM_UNDEFINED,
|
||||
SCM_UNDEFINED, p)));
|
||||
else if (scm_i_line == key)
|
||||
{
|
||||
|
@ -306,7 +307,7 @@ scm_set_source_property_x (obj, key, datum)
|
|||
SETSRCPROPLINE (p, datum);
|
||||
else
|
||||
SCM_WHASHSET (scm_source_whash, h,
|
||||
_scm_make_srcprops (datum, 0, SCM_UNDEFINED, SCM_UNDEFINED, p));
|
||||
scm_make_srcprops (datum, 0, SCM_UNDEFINED, SCM_UNDEFINED, p));
|
||||
}
|
||||
else if (scm_i_column == key)
|
||||
{
|
||||
|
@ -314,21 +315,21 @@ scm_set_source_property_x (obj, key, datum)
|
|||
SETSRCPROPCOL (p, datum);
|
||||
else
|
||||
SCM_WHASHSET (scm_source_whash, h,
|
||||
_scm_make_srcprops (0, datum, SCM_UNDEFINED, SCM_UNDEFINED, p));
|
||||
scm_make_srcprops (0, datum, SCM_UNDEFINED, SCM_UNDEFINED, p));
|
||||
}
|
||||
else if (scm_i_filename == key)
|
||||
{
|
||||
if (SCM_NIMP (p) && SRCPROPSP (p))
|
||||
SRCPROPFNAME (p) = datum;
|
||||
else
|
||||
SCM_WHASHSET (scm_source_whash, h, _scm_make_srcprops (0, 0, datum, SCM_UNDEFINED, p));
|
||||
SCM_WHASHSET (scm_source_whash, h, scm_make_srcprops (0, 0, datum, SCM_UNDEFINED, p));
|
||||
}
|
||||
else if (scm_i_filename == key)
|
||||
{
|
||||
if (SCM_NIMP (p) && SRCPROPSP (p))
|
||||
SRCPROPCOPY (p) = datum;
|
||||
else
|
||||
SCM_WHASHSET (scm_source_whash, h, _scm_make_srcprops (0, 0, SCM_UNDEFINED, datum, p));
|
||||
SCM_WHASHSET (scm_source_whash, h, scm_make_srcprops (0, 0, SCM_UNDEFINED, datum, p));
|
||||
}
|
||||
else
|
||||
SCM_WHASHSET (scm_source_whash, h, scm_acons (key, datum, p));
|
||||
|
@ -343,8 +344,8 @@ void
|
|||
scm_init_srcprop ()
|
||||
#endif
|
||||
{
|
||||
tc16_srcprops = scm_newsmob (&srcpropssmob);
|
||||
scm_source_whash = scm_make_weak_key_hash_table (SCM_MAKINUM (255));
|
||||
scm_tc16_srcprops = scm_newsmob (&srcpropssmob);
|
||||
scm_source_whash = scm_make_weak_key_hash_table (SCM_MAKINUM (2047));
|
||||
|
||||
scm_i_filename = SCM_CAR (scm_sysintern ("filename", SCM_UNDEFINED));
|
||||
scm_i_copy = SCM_CAR (scm_sysintern ("copy", SCM_UNDEFINED));
|
||||
|
@ -366,5 +367,6 @@ scm_finish_srcprop ()
|
|||
free ((char *) ptr);
|
||||
scm_mallocated -= sizeof (scm_srcprops_chunk)
|
||||
+ sizeof (scm_srcprops) * (SRCPROPS_CHUNKSIZE - 1);
|
||||
ptr = next;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue