Be aware that functag and funcenum don't exist in the new syntax... you need to look up what replaced them and use that instead.
Edit: typedef replaced functag and union replaced funcenum.
Speaking of which, I was going to work on passing a data arg to menus in the 1.7 core... I wonder if the AM team moved the menu code yet so I can start modifying them.