if(TYPEOF(x) == ENVSXP && TYPEOF(y) == ENVSXP) { SEXP ans; PROTECT(ans = allocVector(LGLSXP, 1)); LOGICAL(ans)[0] = (x->u.envsxp.enclos == y->u.envsxp.enclos); UNPROTECT(3); return(ans); }to
SEXP do_relop_dflt(SEXP call, SEXP op, SEXP x, SEXP y)in relop.c
Done:
cursor_set()
make_cell_visible()
Most are done, need to do the get (set almost done) and handle borders.
Can't set border currently. Just need to add the code.
Maybe put the name of the file in a comment. Thinking of adding a plugin for reading and writing files which would just extend the existing Gnumeric mechanism.
sheet_cell_set_expr()
.
Need to figure out what the expressions look like.
The general mechanism is there, just haven't transitioned the code to use it.
Goes into an inifite loop. Not certain why, but it is the routines we call in Gnumeric that cause this. Perhaps we need to look at the API! :-)
That problem is fixed now, but there is the inherent problem of removing a sheet causing the workbook to be recalculated and hence the cell expression and S call to removeSheet being repeated ad nauseam.
The names are A...Z, AA...AZ, BA...BZ, CA...CZ, ....
Requires Defn.h to get RCNTXT definition. Works now, but need to get this into the R API.
Code implemented. Seems functional. See testFormat() and the formatting example sheet.
Basic version done in sheet.S
gnumeric.getAlignValue()
Extend to multiple files separated by :
(or the platform specific separator).
Need to figure out
Currently can start a new workbook with a file.
uniqueSheetName() function in workbook.S