The processing for the tm-delete-tiddler message is defined here: $:/core/modules/widgets/navigator.js,
which sets up an event listener that triggers: handleDeleteTiddlerEvent
Examining this function, we find the following lines of code:
if((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || "") !== "")
&& !confirm($tw.language.getString("ConfirmDeleteTiddler",{variables:{title: confirmationTitle}}))) {
return false;
}
This code checks to see if getTiddler() returns a non-null value (i.e., the tiddler exists) or if the current text field is not blank (i.e., text has been entered while editing). If either of these conditions is true, then it prompts for confirmation. If you press "cancel", then the code skips the delete action (return false). If you press "ok", the code continues on to perform the deletion.
From the above, it appears that it *should* be asking to confirm since the tiddler does exist.
However, it seems that this is not what is actually happening.
I don't see where the logic is broken, but this is where it occurs.
-e