Index: netlist_act.c =================================================================== --- netlist_act.c (revision 23280) +++ netlist_act.c (revision 23281) @@ -280,9 +280,16 @@ net->Style = pcb_strdup_null((char *) style); } +static void pcb_netlist_ripup(pcb_lib_menu_t *net, pcb_lib_entry_t *pin) +{ + pcb_net_t *n = pcb_net_get(PCB, &PCB->netlist[PCB_NETLIST_EDITED], net->Name+2, 0); + assert(n != NULL); + pcb_net_ripup(PCB, n); +} + static const char pcb_acts_Netlist[] = - "Net(find|select|rats|norats|clear[,net[,pin]])\n" "Net(freeze|thaw|forcethaw)\n" "Net(swap)\n" "Net(add,net,pin)"; + "Net(find|select|rats|norats|clear|ripup[,net[,pin]])\n" "Net(freeze|thaw|forcethaw)\n" "Net(swap)\n" "Net(add,net,pin)"; static const char pcb_acth_Netlist[] = "Perform various actions on netlists."; @@ -316,6 +323,7 @@ case F_Rats: func = pcb_netlist_rats; break; case F_NoRats: func = pcb_netlist_norats; break; case F_Style: func = (NFunc) pcb_netlist_style; break; + case F_Ripup: func = pcb_netlist_ripup; break; case F_Swap: return pcb_netlist_swap(); break; case F_Clear: func = pcb_netlist_clear;