rem: if (col > 0)
add: if (col >= 0)
context: Scheme_Object *scheme_get_special(Scheme_Object *port,				  Scheme_Object *src, long line, long col, long pos,				  int peek, Scheme_Hash_Table **for_read){  int cnt;  Scheme_Object *a[4], *special;  Scheme_Input_Port *ip;  Scheme_Cont_Frame_Data cframe;  SCHEME_USE_FUEL(1);  ip = (Scheme_Input_Port *)port;  /* Only `read' and similar internals should call this function. A     caller must should ensure that there are no ungotten     characters. */  if (ip->ungotten_count) {    scheme_signal_error("ungotten characters at get-special");    return NULL;  }  if (!ip->special) {    scheme_signal_error("no ready special");    return NULL;  }  CHECK_PORT_CLOSED("#<primitive:get-special>", "input", port, ip->closed);  special = ip->special;  ip->special = NULL;  if (peek) {    /* do location increment, since read didn't */    if (line > 0)      line++;    if (col > 0)      col++;    if (pos > 0)      pos++;  }  a[0] = special;  if (!src && scheme_check_proc_arity(NULL, 2, 0, 1, a))    cnt = 0;  else {    cnt = 4;    a[0] = (src ? src : scheme_false);    a[1] = (line > 0) ? scheme_make_integer(line) : scheme_false;    a[2] = (col > 0) ? scheme_make_integer(col-1) : scheme_false;    a[3] = (pos > 0) ? scheme_make_integer(pos) : scheme_false;  }  scheme_push_continuation_frame(&cframe);  scheme_set_in_read_mark(src, for_read);  special = scheme_apply(special, cnt, a);  scheme_pop_continuation_frame(&cframe);  return special;}