"true" 'first' 'last' classes in menus I am building a zen subtheme in which I try to adjust my menus from:

&lt;ul class="menu"&gt;
    &lt;li class="first"&gt;
        &lt;ul class="menu&gt;
            &lt;li class="first"&gt;&lt;/li&gt;
            ...
            &lt;li class="last"&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="last"&gt;
        &lt;ul class="menu&gt;
            &lt;li class="first"&gt;&lt;/li&gt;
            ...
            &lt;li class="last"&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;


too:

&lt;ul class="menu"&gt;
    &lt;li class="first"&gt; &lt;----- mark the very first
        &lt;ul class="menu&gt;
            &lt;li class="..."&gt;&lt;/li&gt;
            ...
            &lt;li class="..."&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="..."&gt;
        &lt;ul class="menu&gt;
            &lt;li class="..."&gt;&lt;/li&gt;
            ...
            &lt;li class="last"&gt;&lt;/li&gt; &lt;----- mark the very last li element
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;


another example:

&lt;ul class="menu"&gt;
    &lt;li class="first"&gt; &lt;----- mark the very first
        &lt;ul class="menu&gt;
            &lt;li class="..."&gt;&lt;/li&gt;
            ...
            &lt;li class="..."&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="..."&gt; &lt;/li&gt;
    &lt;li class="last"&gt;
    &lt;/li&gt;
&lt;/ul&gt;


I know I can handle each menu item with theme_preprocess_menu_link but I didn't find a solution to have the very first and last item marked as I need to? Any suggestions?
I am not sure that i fully understood what you want; but if what you need is to give special attributes(ID, class etc.) to menu items, Menu attributes module may help. You also could use CSS3 :nth-child() selector.