Code:
menu status {
  Favorite rooms $+([,$numtok(%rooms,32),])
  .join
  ..$submenu($popupmenu($1,join))
  .-
  .delete 
  ..$submenu($popupmenu($1,deleteroom))
}

alias -l popupmenu {
  if (($1 isnum) && ($gettok(%rooms,$1,32))) {
    var %room = $v1
    if ($2 == join) { return $iif(($me ison %room),$style(3)) %room : $2 %room }
    elseif ($2 == part) { return $iif(($me !ison %room),$style(2)) %room : $2 %room }
    else { return %room : $2 %room }
  }
}

alias -l deleteroom { set %rooms $remtok(%rooms,$1,0,32) }


im using that as you put and when i try to delete a room nothing seems to happen. any ideas?

in my variables i have this:
%rooms #mIRC #xyz #chan #USA