"Execute macro: None". How can I avoid this issue?


#1

I understand WHY this happens… I've linked to an external macro then deleted the original… but how can I prevent this or recover from it more easily?

In my current workflow I maintain a single "Enabled" macro group and link to macros within the group. Sometimes I create a new "version" and disable the old version. In an effort to "clear the clutter" I move "unused macros" into an "Unused Group". Somewhere along the way I inadvertently delete a macro that is linked to. By the time I notice the error I often cannot remember what the silly Submacro even did.

I guess this is part "Question" and part "Suggestion".

Question: How can I prevent this?
Suggestion: Could KM notify me when I'm deleting a macro that is linked to a live Group?

Also, is there a way to "Search" for these missing macro links? Searching "None" does not find the word "None" in the "Execute a Macro" action.

image


#2

Hey Ray,

You really can't without giving up the execute macro methodology.

You could rename the execute macro action to reflect the macro it's running, so at least you'd still have the macro name if the action got broken.

Could it be done? Of course.

Would Peter want to walk through the minefield of Time/Effort vs ROI for the coding and UI changes necessary?

I think it unlikely.

This is doable.

Keyboard Maestro ⇢ Discover Execute Macro Actions Where the Target Macro is MISSING- v1.00.kmmacros (8.9 KB)

The output list is all the Execute Macro Actions where the Target Macro is MISSING.

With a little ingenuity you can use the list to select the given actions in the Keyboard Maestro Editor.

-Chris


#3

@ccstone, As usual, thank you for your VERY complete answer! I'll give the macro a try.

EDIT: The script was a HUGE help. It revealed a real weakness in my development approach that I'll work to resolve.

When I decide a macro is "obsolete" I've been moving it to a disabled Macro Group for future deletion. Unfortunately, these remain available to "Active" groups… until I delete the "Disabled" group or install only the "Active" group to a new machine. Still looking for the best way to manage an ever-growing/changing list of interdependent macros.