A few more changes on this patch. It addresses all the previous comments and suggestions. Multi-inferior cases are now properly handled through program space checks, with the aid of an additional patch i posted recently: http://sourceware.org/ml/gdb-patches/2012-01/msg00875.html. If the user flips the condition evaluation switch in the middle of a run, GDB takes appropriate actions to either remove the conditions from the target or insert them. There is also a mechanism to try and prevent delete_breakpoint (...) from inserting new breakpoints when we're trying to remove breakpoints to clean up for an execd. It basically separates the user "delete" command from the internal delete requests. There is now a function that does breakpoint deletion with updates (passing 1 to update_global_location_list (...)) in order to synchronize the list of breakpoint conditions with the target. Such a function is only called via the delete_command (...) path. I've changed the "info break" output a little. We now display " evaluates conditions" next to the location description, and we also output that same information via MI. Though it works, i'm not entirely happy with the way it is displayed. Previously i displayed such information next to the condition field, but it doesn't work right for breakpoints with multiple locations since the conditions are printed for the breakpoint instead of the locations. Suggestions? Last, i spent some time dealing with update_global_location_list (...) in order to make the condition modification detection system a little more robust and to avoid having to go through the location lists unecessarily. Tested with both GDB and GDBServer. Luis