here's a "drink" verb I created:
<object name="exp_potion_100">
<inherit name="editor_object" />
<alias>100 exp potion</alias>
<alt type="simplestringlist">potion; pot; exp pot; exp pot 100; 100 exp pot</alt>
<take />
<drink type="script">
msg ("You drink the exp potion, receiving 100 experience.")
player.experience = player.experience + 100
exp_potion_100.parent = game_storage_object
</drink>
<displayverbs>Look at; Take; drink</displayverbs>
<inventoryverbs>Look at; Use; Drop; drink</inventoryverbs>
</object>
as for "edible", it is done as a Boolean, String, or Inherited (Object Type), to enable~connect~to whatever script you want run.
if you are interested in this, I can try to explain it to you, but it is a bit more advanced stuff to deal with.