Thomas Guest wrote:
I have a few comments on the zip archive I picked up from your website (which I
suspect is out of date now)

1) compile error (GCC 3.3.3)

detail/utils.cpp:95: error: no matching function for call to `
   std::vector<std::string, std::allocator<std::string> >::insert(int, const
   char[1])' ...
  
hmm... can you replace details/utils.cpp line 95 with this instead?

    include_paths.insert( include_paths.begin(), "" );

and if it still complains, maybe

    include_paths.insert( include_paths.begin(), std::string("") );

2) CLI help looks a bit funny.

$ ./quickbook.exe --help
Allowed options:
  --help                   produce help message
  -v [ --version ]         print version string
  -I [ --include-path ] arginclude path   
                        ^^^
  
odd... looks like it might be something in boost::program_options?  Here's what I get:

T:\boost\boost_1_32_0\tools\quickbook>quickbook --help
Allowed options:
  --help                    : produce help message
  -v [ --version ]          : print version string
  -I [ --include-path ] arg : include path

T:\boost\boost_1_32_0\tools\quickbook>

I don't know why the separators (":") are missing for your build, but the "arg" is correct, in that it indicates that this option expects to be followed by an argument value.
3) Run time exception:
$ ./quickbook.exe doc/quickbook.qbk
Error: attempt to create string with null pointer

I think this is caused by work-in-progress in alternate_process_name.
  
You're probably right.   detail/utils.cpp line 30 should probably be return ""; instead of return 0;
4) extra newlines when loading a file

detail::load(...) appends a couple of extra newlines. This is OK when
parsing highlight files, qbk files but may cause unwanted whitespace when
source files for highlighting are loaded in this way?
  
I noticed that too.  We can probably clean this up by creating a detail::load_qbk() which simply calls detail::load and then adds the extra newlines..  I'll give that a shot/
5) new code in utils.cpp doesn't match current style. E.g tabs instead
of spaces, different layout of braces. Use of file statics in
utils.cpp (typically QuickBook passes a struct around by reference to
hold working variables in a scoped manner).
  
Like I said, it's just a snapshot :)  I'll get tabs & brace formatting cleaned up eventually.  I also agree that statics are usually best avoided, but it might take some minor refactoring to do it "right" in this case (probably belongs in quickbook::actions, which is defined in detail/quickbook.cpp, which is no longer the only .cpp file...).  Consider the statics are a temporary measure.
Not sure how much of an issue this is, but I thought I should point it
out. I leave it in the hands of the QuickBook moderators. I have also
tweaked the house style by introducing some Doxygen style comments, so
I hope this is OK.
  
Absolutely fine with me.  I think the doxygen->BoostBook integration needs some serious TLC, but at least it works enough for the basics to get through, and more importantly the mechanisms for how to annotate the code are already defined, it's just a matter of tightening up the integration so it uses more of what doxygen provides.

- james
-- 
__________________________________________________________
 James Fowler, Open Sea Consulting
 http://www.OpenSeaConsulting.com, Marietta, Georgia, USA
 Do C++ Right.  http://www.OpenCpp.org, opening soon!

-- 
__________________________________________________________
 James Fowler, Open Sea Consulting
 http://www.OpenSeaConsulting.com, Marietta, Georgia, USA
 Do C++ Right.  http://www.OpenCpp.org, opening soon!

Reply via email to