Cream margarine and sugar. Add unbeaten eggs. Mix together dry ingredients and add to creamed mixture alternately with sour cream. Add flavoring. Grease an 8-inch Bundt pan. Spread a layer of batter in the bottom of the pan, then scatter a layer of cranberries (one-third of the can). Swirl with a knife. Repeat layers of batter, then cranberries, swirling each layer with a knife. Sprinkle remaining cranberries on top, swirl, and cover with nuts. Bake 50 to 55 minutes at 350 degrees F. Cool 5 minutes before removing from pan.
Add a little warm water so topping will drizzle from spoon. Pour over warm cake.