- Global Cairo_begin_raster  (int mask, int s[2][2], double d[2][2])
- are top and left swapped? 
- Global D_save_command  (const char *cmd)
- To be removed  
- Global db_CatValArray_alloc  (dbCatValArray *arr, int n)
- return type void? 
- Global db_CatValArray_realloc  (dbCatValArray *arr, int n)
- return code void? 
- Global db_set_column_has_undefined_default_value  (dbColumn *)
- Replace by db_unset_column_has_default_value() ? 
- Global db_set_default_connection  (void)
- DB_OK on success, DB_* error code on fail 
- Global db_set_index_type_non_unique  (dbIndex *index)
- return type void? 
- Global db_set_index_type_unique  (dbIndex *index)
- return type void? 
- Global DBL_SIZ  
- To be removed ?  
- Global dig_head::recycle  
- Not implemented yet  
- File field.c  
- see Vect_read_dblinks(); activate auto-FID detection once OGR_L_GetFIDColumn() is working or solution found if FID not available 
- Class Format_info_ogr  
- Structure size should not change depending on compilation I think, do it better  
- Global G__location_path  (void)
- Support also Windows-like path (?) 
- Global G__mapset_path  (void)
- Support also Windows-like path (?) 
- Global G_config_path  (void)
- should it be? see possible TODO below 
- Global get_vert_intersects  (geosurf *, float *, float *, float *)
- For consistency, need to decide how last row & last column are displayed - would it look funny to always draw last row/col with finer resolution if necessary, or would it be better to only show full rows/cols? 
- Global GP_get_zmode  (int, int *)
- Who's using this? 
- Global gp_init_site  (geosite *)
- Currently does nothing 
- Global GP_load_site  (int, const char *)
- load file handle & ready for reading instead of using memory 
- Global gpd_2dsite  (geosite *, geosurf *, int)
- prevent scaling by 0 
- Global GPJ_grass_to_osr2  (const struct Key_Value *, const struct Key_Value *, const struct Key_Value *)
- Merge with GPJ_grass_to_osr() in GRASS 8. 
- Global GPJ_grass_to_wkt2  (const struct Key_Value *, const struct Key_Value *, const struct Key_Value *, int, int)
- Merge with GPJ_grass_to_wkt() in GRASS 8. 
- page GRASS 8 Programmer's Manual  
- Update the list. 
- Global gs_calc_normals  (geosurf *)
- fix to correctly calculate norms when mapped to sphere! 
- Global gs_clip_segment  (geosurf *, float *, float *, float *)
- to use fast clipping and move to gs.c 
- Global GS_draw_legend  (const char *, GLuint, int, int *, float *, int *)
- add legend from list option make font loading more flexible 
- Global GS_get_cat_at_xy  (int, int, char *, float, float)
- Allocate catstr using G_store() 
- Global GS_get_to  (float *)
- need set_to? - just use viewdir? 
- Global gs_get_zextents  (geosurf *, float *, float *, float *)
- pass flag to use zminmasked instead of zmin 
- Global gs_get_zrange0  (float *, float *)
- pass flag to use zminmasked instead of zmin could also have this return a weighted average for vertical "centroid" 
- Global gs_init_surf  (geosurf *, double, double, int, int, double, double)
- Now xmin & ox are the same, right? - get rid of ox, oy in geosurf struct? 
- Global GS_init_view  (void)
- allow setting center?  
- Global Gs_loadmap_as_char  (struct Cell_head *, const char *, unsigned char *, struct BM *, int *)
- fn body Gs_loadmap_as_float() 
- Global Gs_loadmap_as_int  (struct Cell_head *, const char *, int *, struct BM *, int *)
- fn body of Gs_loadmap_as_float() 
- Global gs_put_label  (const char *, GLuint, int, unsigned long, int *)
- Allocate label dynamically 
- Global gs_set_att_const  (geosurf *, int, float)
- set typbuf constant 
- Global GS_set_Narrow  (int *, int, float *)
- scale used to calculate len of arrow still needs work needs go function that returns center / eye distance gsd_get_los function is not working correctly ?? 
- Global GS_set_wire_color  (int, int)
- error-handling 
- Global gsd_coarse_surf_map  (geosurf *)
- normals have to be recalculated before proper low res surface can be drawn 
- Global gsd_display_fringe  (geosurf *, unsigned long, float, int[4])
- add elevation for bottom add color option add ruler grid lines 
- File gsd_fonts.c  
- This file needs to be re-written in OpenGL - This file needs to be re-written in OpenGL  
- Global gsd_line_onsurf  (geosurf *, float *, float *)
- remove fudge, instead fudge the Z buffer 
- Global gsd_nline_onsurf  (geosurf *, float *, float *, float *, int)
- remove fudge, instead fudge the Z buffer 
- Global gsd_north_arrow  (float *, float, GLuint, unsigned long, unsigned long)
- Store arrow somewhere to enable it's removal/change.  - Add option to specify north text and font.   
- Global gsd_surf_const  (geosurf *, float)
- FIX: do_diff won't work right - needs normals - maybe calculate on the fly 
- File gsdiff.c  
- generalize this concept to allow transform functions which are dependent on surfaces that are dependent on other surfaces, etc., as long as the dependency doesn't loop back. 
- Global gsds_alloc_typbuff  (int, int *, int, int)
- add ATTY_CONST 
- Global gsurf_att::lookup  
- : use transform instead  
- Global GV_draw_fastvect  (int)
- Seems to be broken, nothing is drawn 
- Global GV_load_vector  (int, const char *)
- Load file handle & ready for reading instead of using memory 
- Global GVL_get_window  (void)
- gvl_file.c use this - change 
- Global GVL_isosurf_get_drawres  (int, int *, int *, int *)
- error handling 
- Global IL_check_at_points_2d  (struct interp_params *params, struct quaddata *data, double *b, double *ertot, double zmin, double dnorm, struct triple *skip_point)
-  Alternative description: ...calculate the maximum and RMS deviation caused by smoothing.  
- Global IL_check_at_points_2d_cvdev  (struct interp_params *params, struct quaddata *data, double *b, double *ertot, double zmin, double dnorm, struct triple *target_point)
-  Alternative description: ...calculate the maximum and RMS deviation caused by smoothing.  
- Global IL_interp_segments_2d  (struct interp_params *params, struct tree_info *info, struct multtree *tree, struct BM *bitmask, double zmin, double zmax, double *zminac, double *zmaxac, double *gmin, double *gmax, double *c1min, double *c1max, double *c2min, double *c2max, double *ertot, int totsegm, off_t offset1, double dnorm)
-  Isn't this in fact the updated version of the function (IL_interp_segments_new_2d)? The function IL_interp_segments_new_2d has the following, better behavior: The difference between this function and IL_interp_segments_2d() is making sure that additional points are taken from all directions, i.e. it finds equal number of points from neighboring segments in each of 8 neighborhoods.  
- File kdtree.h  
-  Include formatting to function descriptions.  -  Doxygen ignores comment for last parameter after - );. The parameter description now goes to the end of function description.
 
- File legal_dbname.c  
- Are we as restrictive here as for vector names? 
- Global Map_info::n_site_att  
- To be removed?  
- Global Map_info::n_site_dbl  
- To be removed  
- Global Map_info::n_site_str  
- To be removed?  
- Global Map_info::site_att  
- To be removed?  
- Global MAX_OPEN_LEVEL  
- Implement
- Global N_calc_solute_transport_disptensor_2d  (N_solute_transport_data2d *data)
- Change the tensor calculation to a more realistic algorithm 
- Global N_calc_solute_transport_disptensor_3d  (N_solute_transport_data3d *data)
- Change the tensor calculation to a more realistic algorithm 
- Global PORT_DOUBLE  
- To be moved to gislib?  
- Global PORT_DOUBLE_MAX  
- To be moved to gislib?  
- Global print_256lookup  (int *)
- G_debug ? 
- Global print_frto  (float(*)[4])
- G_debug ? 
- Global print_realto  (float *)
- G_debug ? 
- Global print_surf_fields  (geosurf *)
- G_debug ? 
- Global print_view_fields  (geoview *)
- G_debug ? 
- File radii.c  
- Suggestion: all "lon"s in the file "radii.c" should read as "lat" 
- Global Rast3d_remove_color  (const char *)
- Is primary and/or secondary color file still valid for 7? 
- Global Rast_add_modular_color_rule  (const void *, int, int, int, const void *, int, int, int, struct Colors *, RASTER_MAP_TYPE)
- Question: shouldn't this function call G_add_modular_<data_type>_raster_color_rule() instead? 
- Global Rast_free_cats  (struct Categories *)
- To be removed, replaced by Rast_free_cats(). 
- Global Rast_get_cats_title  (const struct Categories *)
- Remove from GIS Library, replace by Rast_get_c_cats_title(). 
- Global Rast_init_cats  (const char *, struct Categories *)
- Eliminate pcats->num. Num has no meaning in new Categories structure and only stores (int) largest data value for backwards compatibility. 
- Global Rast_read_vector_cats  (const char *, const char *, struct Categories *)
- : To be moved to the vector library 
- Global Rast_set_cats_title  (const char *, struct Categories *)
- To be removed, replaced by Rast_set_cats_title(). 
- Global Rast_write_cats  (const char *, struct Categories *)
- To be removed, replaced by Rast_write_cats(). 
- Global Rast_write_vector_cats  (const char *, struct Categories *)
- Move to the vector library. 
- File read_pg.c  
- PostGIS Topology - fix category handling (read categories from feature table) - Support multigeometries - Currently only points, linestrings and polygons are supported, implement also other types  
- Class recycle  
- Implement it 
- File ret_codes.c  
- Are we as restrictive here as for vector names? 
- File simple_features.c  
- 
- Vect_sfa_line_is_simple()
- Vect_sfa_line_srid()
- Vect_sfa_line_envelope()
- Vect_sfa_line_asbinary()
- Vect_sfa_line_is_empty()
- Vect_sfa_line_is_3d()
- Vect_sfa_line_is_measured()
- Vect_sfa_line_boundary() 
 
- File snprintf.c  
- if needed, implement alternative versions for portability. potential code source:
- File strings.c  
- merge interesting functions from ../datetime/scan.c here 
- Global V1_rewrite_line_pg  (struct Map_info *Map, off_t offset, int type, const struct line_pnts *points, const struct line_cats *cats)
- Use UPDATE statement ? 
- Global V2_delete_line_sfa  (struct Map_info *Map, off_t line)
- Update fidx 
- Global V2_rewrite_line_pg  (struct Map_info *Map, off_t line, int type, const struct line_pnts *points, const struct line_cats *cats)
- Handle also categories  - Store original geometry in tmp table for restore  
- Global var_signature  (IClass_statistics *statistics, int band1, int band2)
- verify the computation  
- Global Vect_open_tmp_old  (struct Map_info *, const char *, const char *)
- Create new vector map if doesn't exist. 
- Global Vect_open_tmp_update  (struct Map_info *, const char *, const char *)
- Create new vector map if doesn't exist. 
- Global Vect_set_date  (struct Map_info *, const char *)
- This should be coupled to DateTime functions to support time series 
- File vector/Vlib/graph.c  
- Vect_graph_free ( dglGraph_s *graph ) 
- Global Vedit_add_vertex  (struct Map_info *Map, struct ilist *List, struct line_pnts *coord, double thresh)
- 3D 
- Global Vedit_get_min_distance  (struct line_pnts *, struct line_pnts *, int, int *)
- LL projection 
- Global Vedit_remove_vertex  (struct Map_info *Map, struct ilist *List, struct line_pnts *coord, double thresh)
- 3D 
- File write_ogr.c  
- How to deal with OGRNullFID 
- File write_pg.c  
- PostGIS version of V2__delete_area_cats_from_cidx_nat()  - function to delete corresponding entry in fidx  - PostGIS version of V2__add_area_cats_to_cidx_nat  
- File write_sfa.c  
- SFA version of V2__delete_area_cats_from_cidx_nat()  - function to delete corresponding entry in fidx  - SFA version of V2__add_area_cats_to_cidx_nat  - SFA version of V2__add_line_to_topo_nat