<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>fail2fail - Linux</title>
    <link>http://www.fail2fail.com/</link>
    <description>perfectionism or disability?</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Vim: Auflösen von Klammern in Präprozessor-Anweisungen scheitert</title>
    <link>http://www.fail2fail.com/archives/27-Vim-Aufloesen-von-Klammern-in-Praeprozessor-Anweisungen-scheitert.html</link>
            <category>Linux</category>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/27-Vim-Aufloesen-von-Klammern-in-Praeprozessor-Anweisungen-scheitert.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    Ich musste heute bedauerlicherweise feststellen, dass Vims Syntax-Folding sowie die Klammernauflösung (und damit Funktionen von &lt;tt&gt;&quot;%&quot;&lt;/tt&gt;, &lt;tt&gt;&quot;]}&quot;&lt;/tt&gt;, etc.) unter Verwendung von bedingten Präprozessor-Anweisungen in C-Code gnadenlos versagen. Gerade wo der Code etwas unübersichtlicher wird, lässt Vim einen etwas im Stich, was die Navigation angeht. Hier ein einfacher Beispiel-Snippet, mit dem man das Problem reproduzieren kann:&lt;pre&gt;&lt;div class=&quot;c geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;i&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; i&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;somevar&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; i&lt;span style=&quot;color: #339933;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #339933;&quot;&gt;#ifdef SOME_PARAM&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;k&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; k&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;limit_one&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; k&lt;span style=&quot;color: #339933;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #339933;&quot;&gt;#else&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;k&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; k&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;limit_else&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; k&lt;span style=&quot;color: #339933;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #339933;&quot;&gt;#endif&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;//do something&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;In diesem Fall &quot;weiß&quot; Vim nicht, dass nur eine öffnende Klammer aus dem  &lt;tt&gt;#ifdef-#else&lt;/tt&gt;-Block von Bedeutung ist und macht stures Auflösen nach dem Schema &quot;auf eine öffnende Klammer gibt es eine schließende&quot; weiter.&lt;br /&gt;
Einen fertigen Workaround habe ich bisher nicht gefunden - schade...&lt;br /&gt; 
    </content:encoded>

    <pubDate>Thu, 13 May 2010 18:14:44 +0200</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/27-guid.html</guid>
    <category>linux</category>
<category>software</category>
<category>vim</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Mehrere Benutzer auf einer Soundkarte mit ALSA</title>
    <link>http://www.fail2fail.com/archives/22-Mehrere-Benutzer-auf-einer-Soundkarte-mit-ALSA.html</link>
            <category>Linux</category>
    
    <comments>http://www.fail2fail.com/archives/22-Mehrere-Benutzer-auf-einer-Soundkarte-mit-ALSA.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    In einigen Fällen laufen gleichzeitig mehrere Xsessions mit verschiedenen Benutzern. Oft ist das Problem bei Umgebungen ohne Soundserver wie Pulseaudio oder ESD, dass ein Benutzer das Ausgabegerät blockiert und andere somit ohne Audio-Wiedergabe zurecht kommen müssen. Auch falls ein Musik-Daemon wie MPD über eigenen Benutzer läuft, kann es mit dem Xsession-Benutzer eine Schlacht ganz nach &quot;wer zuerst kommt, mahlt zuerst&quot; um das Gerät geben.&lt;br /&gt;
&lt;br /&gt;
Eine mögliche 3-Schritte-Lösung für ALSA setzt auf der Benutzung des dmix-Plugins auf: &lt;br /&gt;&lt;a href=&quot;http://www.fail2fail.com/archives/22-Mehrere-Benutzer-auf-einer-Soundkarte-mit-ALSA.html#extended&quot;&gt;Continue reading &quot;Mehrere Benutzer auf einer Soundkarte mit ALSA&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 27 Jan 2010 21:19:34 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/22-guid.html</guid>
    <category>alsa</category>
<category>archlinux</category>
<category>linux</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>

</channel>
</rss>