title: How do I concatenate two macros with a dot between them without inserting spaces?
body: <p>I'm preprocessing my InfoPlist file to include my revision number.  My header looks like this:</p>
  
  <pre><code>#import "svn.h"
  
  #define APP_VERSION 1.0
  #define APP_BUILD APP_VERSION.SVN_REVISION
  </code></pre>
  
  <p>When I check my build version from within the program, it's <code>1.0 . 123456</code>.  But if I try this:</p>
  
  <pre><code>#import "svn.h"
  
  #define APP_VERSION 1.0
  #define APP_BUILD APP_VERSION ## . ## SVN_REVISION
  </code></pre>
  
  <p>I get</p>
  
  <pre><code>error: pasting formed 'APP_VERSION.', an invalid preprocessing token
  error: pasting formed '.SVN_REVISION', an invalid preprocessing token
  </code></pre>
  
  <p>I've seen <a href="https://stackoverflow.com/questions/10085594/how-to-concatenate-strings-with-c-preprocessor-with-dots-in-them">this question</a> but it doesn't actually give an answer; the OP didn't actually need to concatenate the tokens.  I do.  How do I concatenate two macros with a dot between them without inserting spaces?</p>