<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>event queue never empty</title>
		<link>http://www.allegro.cc/forums/view/608476</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 01 Oct 2011 06:56:49 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
I spent a while getting the formatting correct but when I paste it here it goes wrong and when I paste into Notepad it goes wrong.</p><p>Anyway, the code below doesn&#39;t work because al_is_event_queue_empty() always returns 0 so the drawing never happens.</p><p>This was working a few days ago. I added a bit of code and nw it&#39;s broken.</p><p>I&#39;v got no clue as to why the queue is never empty.</p><p>Any ideas ?</p><p>Using Win7.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">   4</span><span class="k2">{</span>
<span class="number">   5</span>
<span class="number">   6</span>   OneRun OneRunObject <span class="k3">=</span> OneRun<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span>   
<span class="number">   8</span>   <span class="k1">if</span><span class="k2">(</span> OneRunObject.InitOkay<span class="k2">(</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number">   9</span>   <span class="k2">{</span>
<span class="number">  10</span>      game_log<span class="k2">(</span>MAIN_LOG, <span class="s">"Problem initialising game.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span>    pause_and_quit
<span class="number">  12</span>   <span class="k2">}</span>
<span class="number">  13</span> 
<span class="number">  14</span>   
<span class="number">  15</span> 
<span class="number">  16</span>   Menu MainMenu<span class="k2">(</span><span class="s">"main_menu_bitmap_list.txt"</span>, <span class="s">"game_data/menu_bitmaps"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span> 
<span class="number">  18</span>   Menu <span class="k3">*</span>CurrentMenu<span class="k2">;</span>
<span class="number">  19</span>   
<span class="number">  20</span>   <span class="k1">int</span> cm_id <span class="k3">=</span> MAIN_MENU<span class="k2">;</span>             <span class="c">/* current menu identifier */</span>
<span class="number">  21</span>  
<span class="number">  22</span>   <span class="k1">bool</span> need_redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  23</span>   <span class="k1">bool</span> hold_on_key_down_events <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k1">bool</span> close_menu <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  25</span>   
<span class="number">  26</span>   <span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">;</span>
<span class="number">  27</span>  
<span class="number">  28</span>   <span class="k1">int</span> update_done <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  29</span>  
<span class="number">  30</span>   <span class="k1">int</span> time_of_key_down<span class="k2">;</span>
<span class="number">  31</span>  
<span class="number">  32</span>  <span class="k1">while</span><span class="k2">(</span> OneRunObject.ClearUpAndQuit<span class="k2">(</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number">  33</span>    <span class="k2">{</span>   
<span class="number">  34</span>        <span class="k1">switch</span><span class="k2">(</span>cm_id<span class="k2">)</span>
<span class="number">  35</span>      <span class="k2">{</span>
<span class="number">  36</span>          <span class="k1">case</span> MAIN_MENU:
<span class="number">  37</span>        CurrentMenu <span class="k3">=</span> <span class="k3">&amp;</span>MainMenu<span class="k2">;</span>
<span class="number">  38</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  39</span>      <span class="k2">}</span>
<span class="number">  40</span>   
<span class="number">  41</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>OneRunObject.q, <span class="k3">&amp;</span>OneRunObject.event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>      <span class="k1">switch</span><span class="k2">(</span>OneRunObject.event.type<span class="k2">)</span>
<span class="number">  43</span>    <span class="k2">{</span>
<span class="number">  44</span>      <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number">  45</span>          pf<span class="k2">(</span><span class="s">"display close.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>         
<span class="number">  47</span>          OneRunObject.SetClearUpAndQuitFlag<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>        CurrentMenu-&gt;SetNeedToActFlag<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  50</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number">  51</span>                  
<span class="number">  52</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"key down.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>          
<span class="number">  54</span>        <span class="k1">if</span><span class="k2">(</span>hold_on_key_down_events <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number">  55</span>                <span class="k2">{</span>          
<span class="number">  56</span>             OneRunObject.SetKeyState<span class="k2">(</span>ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  57</span>        <span class="k2">}</span> 
<span class="number">  58</span>           
<span class="number">  59</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  60</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number">  61</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"key up.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>          OneRunObject.SetKeyState<span class="k2">(</span>ALLEGRO_EVENT_KEY_UP<span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  64</span>      <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  65</span>        pf<span class="k2">(</span><span class="s">"timer tick\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>        need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  67</span>          
<span class="number">  68</span>        <span class="k1">if</span><span class="k2">(</span>hold_on_key_down_events <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number">  69</span>          <span class="k2">{</span>
<span class="number">  70</span>              update_done <span class="k3">=</span> CurrentMenu-&gt;Update<span class="k2">(</span>OneRunObject.key_states<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>        <span class="k2">}</span>
<span class="number">  72</span>          
<span class="number">  73</span>        <span class="k1">if</span><span class="k2">(</span>update_done <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> hold_on_key_down_events <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span> <span class="c">/* key down processed */</span>
<span class="number">  74</span>        <span class="k2">{</span>
<span class="number">  75</span>             hold_on_key_down_events <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  76</span>                     time_of_key_down <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>OneRunObject.timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>        <span class="k2">}</span>
<span class="number">  78</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>update_done <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="c">/* Enter key pressed. */</span>
<span class="number">  79</span>        <span class="k2">{</span>
<span class="number">  80</span>            <span class="k1">if</span><span class="k2">(</span>cm_id <span class="k3">=</span><span class="k3">=</span> MAIN_MENU<span class="k2">)</span>
<span class="number">  81</span>            <span class="k2">{</span>
<span class="number">  82</span>              <span class="k1">switch</span><span class="k2">(</span>CurrentMenu-&gt;OptionSelected<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  83</span>              <span class="k2">{</span>
<span class="number">  84</span>               <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span> <span class="c">/* Play. */</span>
<span class="number">  85</span>                  OneRunObject.time_to_play <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  86</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  87</span>               <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number">  88</span>                  cm_id <span class="k3">=</span> CONTROL_OPTIONS<span class="k2">;</span>
<span class="number">  89</span>                close_menu <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>                CurrentMenu-&gt;SetCloseTime<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>OneRunObject.timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  92</span>                
<span class="number">  93</span>              <span class="k2">}</span>
<span class="number">  94</span>            <span class="k2">}</span>
<span class="number">  95</span>          
<span class="number">  96</span>          
<span class="number">  97</span>        <span class="k2">}</span>
<span class="number">  98</span>          
<span class="number">  99</span>        <span class="k1">if</span><span class="k2">(</span>hold_on_key_down_events <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>OneRunObject.timer<span class="k2">)</span> <span class="k3">&gt;</span><span class="k3">=</span> time_of_key_down <span class="k3">+</span> <span class="n">20</span><span class="k2">)</span>
<span class="number"> 100</span>        <span class="k2">{</span>
<span class="number"> 101</span>            hold_on_key_down_events <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 102</span>        <span class="k2">}</span>
<span class="number"> 103</span>          
<span class="number"> 104</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 105</span>      default:
<span class="number"> 106</span>          pf<span class="k2">(</span><span class="s">"some other event.\n\n"</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 107</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 108</span>        
<span class="number"> 109</span>      <span class="k2">}</span> <span class="c">/* switch(OneRunObject.event.type) */</span>
<span class="number"> 110</span>      
<span class="number"> 111</span>      
<span class="number"> 112</span>    pf<span class="k2">(</span><span class="s">"need redraw = %s empty = %d"</span>, need_redraw ? <span class="s">"TRUE"</span> <span class="k2">:</span> <span class="s">"FALSE"</span>, <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>OneRunObject.q<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>        
<span class="number"> 114</span>    <span class="k1">if</span><span class="k2">(</span>need_redraw <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>OneRunObject.q<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 115</span>    <span class="k2">{</span>
<span class="number"> 116</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"calling\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>        CurrentMenu-&gt;DrawMenu<span class="k2">(</span>close_menu, <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>OneRunObject.timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>      <span class="k2">}</span>
<span class="number"> 119</span>      
<span class="number"> 120</span>      pf<span class="k2">(</span><span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>  
<span class="number"> 122</span>    
<span class="number"> 123</span>      <span class="k1">if</span><span class="k2">(</span>OneRunObject.time_to_play <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span>
<span class="number"> 124</span>      <span class="k2">{</span>
<span class="number"> 125</span>      <span class="c">/* if a loaded game was chosen, it should already be loaded */</span>
<span class="number"> 126</span>      
<span class="number"> 127</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"start game here.\n"</span><span class="k2">)</span><span class="k2">;</span>    
<span class="number"> 128</span>      pause_and_quit<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>      <span class="k2">}</span>
<span class="number"> 130</span>    
<span class="number"> 131</span>   
<span class="number"> 132</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>      
<span class="number"> 134</span>      pf<span class="k2">(</span><span class="s">"flushing.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_315.html" target="_blank">fflush</a><span class="k2">(</span>stdout<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>    
<span class="number"> 137</span>   <span class="k2">}</span>
<span class="number"> 138</span>  
<span class="number"> 139</span>   
<span class="number"> 140</span>
<span class="number"> 141</span>   game_log<span class="k2">(</span>MAIN_LOG, <span class="s">"End of program. Returning 0.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 143</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Thu, 29 Sep 2011 17:02:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> I added a bit of code and now it&#39;s broken.
</p></div></div><p>While I read, I&#39;ll ask: what code?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Thu, 29 Sep 2011 17:53:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I changed a line to</p><div class="source-code snippet"><div class="inner"><pre>CurrentMenu-&gt;DrawMenu<span class="k2">(</span>close_menu, <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>OneRunObject.timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>


It was</p><div class="source-code snippet"><div class="inner"><pre>CurrentMenu-&gt;DrawMenu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>


Also I started using the monolith file but I switched back to seperate archives to see if the monolith was the cause but it turned out it wasn&#39;t.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Thu, 29 Sep 2011 17:57:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You are sure it runs, except for the redraw? I.e. it closes immediately when you tell it too? If a lot of events stack up, it won&#39;t close immediately.</p><p>You changed the timing code? Maybe you forgot to register the timer event source.</p><p>BTW Is that a single-case switch-statement <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /><br />&quot;pf&quot; pfff... <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /><br />Also, if you need a text file and a bunch of bmp&#39;s, you could use a single argument to identify them both... F.i. &quot;normal_theme&quot; (it will look in the &#39;normal_theme&#39; directory) or &quot;./mythemes/user1&quot; (it will look for all files in that directory). Much easier theming.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Thu, 29 Sep 2011 18:03:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Don&#39;t call al_flip_display() if you aren&#39;t drawing. It takes a long time but your current code only handles one event per al_flip_display call which inevitably leads to the queue never being empty.</p><p>Also, about formatting, don&#39;t use any tabs (or alternatively, only tabs, but that&#39;s bound to go wrong in some places) then line up { and } with spaces and use a constant indentation. The way you have it right now makes it very hard to read.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Thu, 29 Sep 2011 18:08:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/608476/932644#target">weapon_S</a> said:</div><div class="quote"><p>&quot;pf&quot; pfff...</p></div></div><p>

When you suffer from newb blues as badly as me, and you&#39;ve typed printf() so many times, using function name macros like pf was one the things I&#39;ve learned that been a relief.</p><p>Thanks both of you for the advice. I&#39;m going to sort out that thing with the two strings. That&#39;ll make life a bit easier.</p><p>Also, thanks Elias. My program works lovely now.</p><p>Very grateful for the guidance.</p><p>/off to kettle for tea
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Thu, 29 Sep 2011 18:40:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I see only 1 al_flip_display, and it only gets called when want_redraw == true <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Thu, 29 Sep 2011 18:48:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>it&#39;s the dreadful indentation that makes it look like that
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Thu, 29 Sep 2011 18:59:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/608476/932645#target">Elias</a> said:</div><div class="quote"><p>
Also, about formatting, don&#39;t use any tabs (or alternatively, only tabs, but that&#39;s bound to go wrong in some places) then line up { and } with spaces and use a constant indentation. The way you have it right now makes it very hard to read.
</p></div></div><p>
^ This.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Thu, 29 Sep 2011 20:56:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/608476/932645#target">Elias</a> said:</div><div class="quote"><p> Also, about formatting, don&#39;t use any tabs (or alternatively, only tabs, but that&#39;s bound to go wrong in some places) then line up { and } with spaces and use a constant indentation. The way you have it right now makes it very hard to read.</p></div></div><p>FFS, do NOT indent with spaces. That&#39;s what tabs are for, and they&#39;re infinitely more flexible.</p><p>If you need to line things up (like code that bleeds onto another line), tab it in to the same level, then use spaces.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Fri, 30 Sep 2011 06:35:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Never, never, ever mix spaces with tabs. <img src="http://www.allegro.cc/forums/smileys/angry.gif" alt="&gt;:(" /></p><p>Pick one, and stick with it. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 30 Sep 2011 09:39:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/608476/932692#target">BAF</a> said:</div><div class="quote"><p>
If you need to line things up (like code that bleeds onto another line), tab it in to the same level, then use spaces.
</p></div></div><p>
That is fine in theory, but in practice it&#39;s very difficult to maintain. It&#39;s easy for you, or somebody else on the team, to mix up the tabs or spaces accidentally. Being whitespace, you won&#39;t notice. Using spaces is just much easier, especially with a mediocre or better editor that can expand them automatically for you. There&#39;s never guess work. It just works.</p><p>There&#39;s absolutely no practical difference for me. I hit the tab key (or &gt;&gt;) to indent, the shift-tab combo (or &lt;&lt;) to un-indent, and there&#39;s no visible difference. As for the actual indentation step size, you can pretty easily write a program (or editor extension or whatever) to automatically convert between them if you care, but 4-spaces should be a happy medium for everybody.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Fri, 30 Sep 2011 19:35:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> As for the actual indentation step size, you can pretty easily write a program (or editor extension or whatever) to automatically convert between them if you care, but 4-spaces should be a happy medium for everybody.</p></div></div><p>Or you can, you know, just use tabs and configure your editor to have how many ever spaces you want.</p><p>I don&#39;t understand why people think spaces are for indentation, and then come up with all these crazy workarounds to make it sound so usable.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sat, 01 Oct 2011 06:15:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Don&#39;t knock it until you&#39;ve tried it. It&#39;s clear that you haven&#39;t. At least, not with a useful editor (hint: Visual Studio&#39;s editor is not useful).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Sat, 01 Oct 2011 06:56:49 +0000</pubDate>
	</item>
</rss>
