Index: trunk/src/plug_io.c =================================================================== --- trunk/src/plug_io.c (revision 14096) +++ trunk/src/plug_io.c (revision 14097) @@ -1024,7 +1024,14 @@ pcb_cardinal_t pcb_io_incompat_save(pcb_data_t *data, pcb_any_obj_t *obj, const char *desc, const char *hint) { - pcb_message(PCB_MSG_ERROR, "save error: %s\n(%s)\n", desc, hint); + pcb_message(PCB_MSG_ERROR, "save error: %s\n", desc); + if (obj != NULL) { + pcb_coord_t x = (obj->BoundingBox.X1 + obj->BoundingBox.X2)/2; + pcb_coord_t y = (obj->BoundingBox.Y1 + obj->BoundingBox.Y2)/2; + pcb_message(PCB_MSG_ERROR, " near %$mm %$mm\n", x, y); + } + if (hint != NULL) + pcb_message(PCB_MSG_ERROR, " (%s)\n", hint); return 0; } Index: trunk/src/plug_io.h =================================================================== --- trunk/src/plug_io.h (revision 14096) +++ trunk/src/plug_io.h (revision 14097) @@ -185,7 +185,8 @@ /* Indicate an incompatibility on save; data and obj may be NULL (they are used for navigating the user to the problem). Desc should be a short - description, details should go in hint. Returns a report ID. */ + description (must not be NULL), details should go in hint (can be NULL). + Returns a report ID. */ pcb_cardinal_t pcb_io_incompat_save(pcb_data_t *data, pcb_any_obj_t *obj, const char *desc, const char *hint); void pcb_io_uninit(void);