From b668b02a1f04413b740fa4982ae43f9f297c70e2 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Mon, 20 Oct 2025 11:03:03 -0400 Subject: [PATCH] Corrected a problem in which "cellname delete" never cleared the cell name from the cell name hash table. So when "cellname rename" was changed recently to prevent changing the name of a cell that already exists, the suggested recipe for R-C extraction no longer works: "load x; flatten y; load y; cellname delete x; cellname rename y x". Solved by adding a HashRemove() function to the cell deletion routine. Thanks to Egor Lukyachenko for reporting the issue (Github issue tracker #467). --- VERSION | 2 +- database/DBcellname.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 4c8517f7..be108053 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.564 +8.3.565 diff --git a/database/DBcellname.c b/database/DBcellname.c index 2ba464e4..1d3d478c 100644 --- a/database/DBcellname.c +++ b/database/DBcellname.c @@ -1944,6 +1944,7 @@ DBCellDeleteDef(cellDef) entry = HashFind(&dbCellDefTable, cellDef->cd_name); ASSERT(HashGetValue(entry) == (ClientData) cellDef, "DBCellDeleteDef"); HashSetValue(entry, (ClientData) NULL); + HashRemove(&dbCellDefTable, cellDef->cd_name); if (cellDef->cd_props) DBPropClearAll(cellDef);