Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

[Feature] Add new function guard to track entering leaving function in debug output.

#8

When debugging, it's often useful to know what function is currently executing, especially when dealing with real time or UI issues that can't be interrupted by a break in the debugger.

The new function guard would write automatically to the debug console what function it enters and leave, and would also indent as it goes deeper in the call stack.

Reported by Jocelyn Legault · October 16th, 2009 @ 04:13 AM

State: resolved
Milestone: v2.0.0
Assigned to: npp-community npp-community

Activity

  1. Jocelyn Legault
    Jocelyn Legault
    • State changed from new to open

    October 16th, 2009 @ 04:14 AM

  2. Jocelyn Legault
    Jocelyn Legault

    (from [d970d6b283a13757d84dc447bb53993be353deb6]) Debug function guards: implement the guard.

    • Implement the guard.
    • Implement auxiliary "guard_output" macro that allow for properly indented comments.
    • Set of unit tests for the guard and for guard_output

    [#8 state:needs-ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/d970d6b283a13757d84dc44...

    October 16th, 2009 @ 04:51 AM

  3. Jocelyn Legault
    Jocelyn Legault
    • State changed from open to needs_ack

    (from [fe52743b74fb7b7c8c1be95d06de1511bdbecdb1]) Debug function guards: implement the guard.

    • Implement the guard.
    • Implement auxiliary "guard_output" macro that allow for properly indented comments.
    • Set of unit tests for the guard and for guard_output

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/fe52743b74fb7b7c8c1be95...

    October 16th, 2009 @ 05:01 AM

  4. Thell Fowler
    Thell Fowler
    • State changed from needs_ack to proposed
    • Tag changed from debug, tool, _feature to debug, reporting, tool, _feature

    That would be helpful, I'll get it put onto pu.

    One concern though, without having really played with it yet... Would it make more sense to have it conditional on a different #define than just DEBUG? Like perhaps DEBUG_VERBOSE?

    Somewhere in my code I had function guards setup that where only active during runtime if a console was attached. I'll see if I can find that.

    Thell

    October 16th, 2009 @ 02:36 PM

  5. Thell Fowler
    Thell Fowler
    • Tag changed from debug, reporting, tool, _feature to branch-pu, debug, reporting, tool, _feature

    (from [2cdcfeb20d0debb61d7495e8cd874902e40cfe23]) Merge branch 'jl/debug-guard-tools' into pu

    • jl/debug-guard-tools: Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/visual.net/notepadPlus.8.vcproj
    PowerEditor/visual.net/notepadPlus.9.vcproj
    

    [#8 state:proposed tagged:branch-pu] http://github.com/npp-community/npp-community/commit/2cdcfeb20d0deb...

    October 16th, 2009 @ 02:54 PM

  6. Jocelyn Legault
    Jocelyn Legault

    The DEBUG_VERBOSE vs _DEBUG makes sense.
    That could be useful to debug problems that would only appear in release or shipping.

    October 16th, 2009 @ 04:24 PM

  7. Jocelyn Legault
    Jocelyn Legault

    Instead of DEBUG_VERBOSE, can we say !SHIPPING instead?

    Thinking about it, I would hate to have this code bloat the distributed binaries. In any case, so far, the only difference between SHIPPING and NDEBUG (aka Release) is the tests that are compiled out.

    October 16th, 2009 @ 06:17 PM

  8. Jocelyn Legault
    Jocelyn Legault

    Anything I should do about the reported vcproj conflicts?

    October 16th, 2009 @ 06:28 PM

  9. npp-community
    npp-community

    How about both !SHIPPING and DEBUG_VERBOSE, solves the shipping binary and still gives finer control of verbose output.

    No, you don't need to do anything regarding those two conflicts. They were expected.

    October 16th, 2009 @ 06:41 PM

  10. npp-community
    npp-community

    Bah! Posted with the wrong account!

    October 16th, 2009 @ 06:42 PM

  11. Thell Fowler
    Thell Fowler
    • Milestone set to v1.0.0-rc2

    October 16th, 2009 @ 09:18 PM

  12. Jocelyn Legault
    Jocelyn Legault

    I'd like to hear how you intend to ues the guards so I can understand the need for DEBUG_VERBOSE better. The way I saw func_guard, they where to be added when debugging, and removed before submitting your branch.

    I thought that was just a tool one would use punctually, like debugf().

    If we were to sprinkle them all across the board, N++ would become unusable when they would be enabled. I've just enabled them in DockingCont and DockingManager, and N++ slows to a crawl.

    If you want to leave the func_guard() calls in there, we would need a way to enable / disable per file.

    October 17th, 2009 @ 05:41 AM

  13. Thell Fowler
    Thell Fowler

    Well, I do feel that having the tool available is a definite good thing, yet also, adding and removing would get quite tedious. Trying to enable/disable on a per file basis seems like it would be quite a job to setup properly given that n++ nor scintilla take advantage of namespace to any extreme.

    Using a per function control file might be a way to go. A header with something along the lines of an ifndef #SHIPPING and ifdef #DEBUG_VERBOSE would then process a list of defines (say something like #define GUARD$function_name ) then developers wouldn't need to add remove from the code itself, it could easily be enabled/disabled purposefuly_ and it would still offer fine grained control...

    What about that?

    October 17th, 2009 @ 05:52 AM

  14. Jocelyn Legault
    Jocelyn Legault
    • State changed from proposed to needs_ack

    (from [af17927db601f01db8706894794cd36a89cf4215]) Debug function guards: implement the guard.

    • Implement the guard.
    • Implement auxiliary "guard_output" macro that allow for properly indented comments.
    • Set of unit tests for the guard and for guard_output

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/af17927db601f01db870689...

    October 20th, 2009 @ 05:03 AM

  15. Thell Fowler
  16. Jocelyn Legault
    Jocelyn Legault
    • Milestone cleared.

    Changed milestone to none, as this feature won't make it in before 1.0.0 is stamped.

    October 20th, 2009 @ 08:58 PM

  17. Thell Fowler
    Thell Fowler
    • State changed from needs_ack to proposed
    • Assigned user changed from Jocelyn Legault to npp-community

    (from [dec005f6c2e4940fd928a8f6fecde3f1441dcde5]) Merge branch 'jl/LH-8/debug-function-guards' into pu

    • jl/LH-8/debug-function-guards: Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/visual.net/notepadPlus.8.vcproj
    PowerEditor/visual.net/notepadPlus.9.vcproj
    

    [#8 state:proposed responsible:npp-community]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/dec005f6c2e494...

    October 21st, 2009 @ 05:19 PM

  18. TodWulff
  19. Thell Fowler
    Thell Fowler

    (from [de985f2ecc9a0053ee3b9dcff3eb0a65fee9adb8]) Merge branch 'jl/LH-8/debug-function-guards' into pu

    • jl/LH-8/debug-function-guards: Debug function guards: implement the guard.

    [#8 state:proposed]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/de985f2ecc9a00...

    November 13th, 2009 @ 09:18 PM

  20. Jocelyn Legault
    Jocelyn Legault

    A word of warning:
    That feature should not make it in the trunk before 1.0.0 is out of the
    door.

    November 13th, 2009 @ 10:26 PM

  21. Thell Fowler
    Thell Fowler

    (from [97fd698d2300f8cb6f84ff2742a9ce3a0ccdff7f]) Merge branch 'jl/LH-8/debug-function-guards' into pu

    • jl/LH-8/debug-function-guards: Debug function guards: implement the guard.

    [#8 state:proposed] http://github.com/npp-community/npp-community/commit/97fd698d2300f8...

    November 17th, 2009 @ 11:25 PM

  22. Jocelyn Legault
    Jocelyn Legault
    • State changed from proposed to needs_ack

    (from [db88840f9f26db2c14c107938bce71f47958ae6e]) Debug guards: add a way to enable / disable per category

    • New way to enable / disable function guards per category. Such a category can be either a file name or of a different scope altogether.

    • In non-shipping, the disabled guards still leave a skeleton in place, but the amount of executed code is minimal and should not be noticeable.

    • In shipping, the guards are still removed altogether.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/db88840f9f26db2c14c1079...

    November 18th, 2009 @ 06:15 AM

  23. Jocelyn Legault
    Jocelyn Legault

    (from [e2986d0b930b52ab4acab6d290831a9c86ca3774]) Debug guards: add a way to enable / disable per category

    • New way to enable / disable function guards per category. Such a category can be either a file name or of a different scope altogether.

    • In non-shipping, the disabled guards still leave a skeleton in place, but the amount of executed code is minimal and should not be noticeable.

    • In shipping, the guards are still removed altogether.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/e2986d0b930b52ab4acab6d...

    November 18th, 2009 @ 11:27 PM

  24. Thell Fowler
    Thell Fowler
    • Tag cleared.

    Hello Joce,

    First thing I saw when scanning over this is the line lengths. That needs to be fixed since it is totally out of style with other code in the project. Also, would you mind adding an explanation to the commit or comment the code with an explanation of the purpose of the function guards and usage? Lastly, with the new setup what are you thinking would be a typical usage case? Is it the responsibility of the developer to add/remove func guard statements? Is there going to be a default disabled macro and a git ignored file that different developers can use without needing to worry about accidentally committing?

    I like the idea of categories, how are you thinking this would be used?

    November 21st, 2009 @ 06:37 PM

  25. Jocelyn Legault
    Jocelyn Legault

    How many columns do you want?
    I personally feel that 80 is way to restrictive in this day and age.
    I usually try to limit myself to 132 (while I clearly busted that in a few
    place in there).
    Would 132 chars be ok with you?

    November 23rd, 2009 @ 06:21 PM

  26. Thell Fowler
    Thell Fowler

    I agree that a strict setting of 80 is kind of crazy in this day and age. I try not to go too far above that myself unless there is a reason, and I have a visual right margin set at 100 so that two pages w/ consolas 8pt can be read without too much vertical scrolling on 1400xXXX screen.

    I've found 120-130 works nicely for single page viewing. It's up to you. I just would like to have it at least have a 'similar' coding feel to the rest of the source.

    November 24th, 2009 @ 04:09 AM

  27. Jocelyn Legault
    Jocelyn Legault

    (from [a6fd1a5a639853e360b8c849d752d8115119ae41]) Debug guards: add a way to enable / disable per category

    • New way to enable / disable function guards per category. Such a category can be either a file name or of a different scope altogether.

    • In non-shipping, the disabled guards still leave a skeleton in place, but the amount of executed code is minimal and should not be noticeable.

    • In shipping, the guards are still removed altogether.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/a6fd1a5a639853e360b8c84...

    November 28th, 2009 @ 12:52 AM

  28. Jocelyn Legault
    Jocelyn Legault

    (from [c3182c46609e8b3bf9e4729194def373bf6807a1]) Debug guards: add documentation

    • Documentation added to explain what is the purpose of the function debug guards and their intended use.

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/c3182c46609e8b3bf9e4729...

    November 28th, 2009 @ 12:52 AM

  29. Thell Fowler
    Thell Fowler
    • Assigned user changed from npp-community to Jocelyn Legault
    • State changed from needs_ack to acked

    Acked. Thanks for the write-up, makes quite a bit more sense now.

    I think we will need to implement a test that ensures there are no enable/disable statements in committed .cpp files. Not sure how, but it could be made a part of the review process as well as the build process.

    It may even make sense to have a folder with committed and tracked pre-defined groups.
    ie: function-guards/theme-tracer.h

                   /view-tracer.h
                   /lexer-tracer.h
    

    etc...

    or better yet, a git-submodule repo with a bunch of predefined tracers, so developers could keep their private func guard settings in the submodule so it is still in the build tree without needing to worry about if they get committed or not.

    Alo, what do you think of adding an IsDebuggerPresent() to limit the amount of processing that occures when running a debug or release build without the debugger attached?

    Thell

    November 28th, 2009 @ 11:01 PM

  30. npp-community
    npp-community
    • State changed from acked to needs_ack

    (from [96b32e88fc5c521c092c0712b336c3fbad2db697]) Debug function guards: implement the guard.

    • Implement the guard.
    • Implement auxiliary "guard_output" macro that allow for properly indented comments.
    • Set of unit tests for the guard and for guard_output

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/96b32e88fc5c52...

    November 29th, 2009 @ 06:35 AM

  31. npp-community
    npp-community
    • Assigned user changed from Jocelyn Legault to npp-community

    (from [2d475c0e1ba981a789603704d87032ba15b9f55f]) Debug guards: add a way to enable / disable per category

    • New way to enable / disable function guards per category. Such a category can be either a file name or of a different scope altogether.

    • In non-shipping, the disabled guards still leave a skeleton in place, but the amount of executed code is minimal and should not be noticeable.

    • In shipping, the guards are still removed altogether.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/2d475c0e1ba981...

    November 29th, 2009 @ 06:35 AM

  32. npp-community
    npp-community

    (from [1085f7e970ef25800b75f9d1c07356a6af53eded]) Debug guards: add documentation

    • Documentation added to explain what is the purpose of the function debug guards and their intended use.

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/1085f7e970ef25...

    November 29th, 2009 @ 06:36 AM

  33. Thell Fowler
    Thell Fowler
    • State changed from needs_ack to proposed

    (from [4b29d77e2a871344ba4d8787ce466bd18ec21b3a]) Merge branch 'jl/LH-8v3/debug-guards-enabling-per-file' into pu

    • jl/LH-8v3/debug-guards-enabling-per-file: Debug guards: add documentation Debug guards: add a way to enable / disable per category Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/src/precompiled_headers.h
    

    [#8 state:proposed]

    Acked-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/4b29d77e2a8713...

    November 29th, 2009 @ 06:36 AM

  34. Thell Fowler
    Thell Fowler

    Line 134 of MISC/Common/Common.h is changed from DEBUG to _DEBUG, which means that instead of the developer controlling when to activate the NO_DEFAULT_CASE it is done simply by using the Debug configuration.

    Perhaps this is a good target for an initial usage of the function guard group/category capability.

    November 29th, 2009 @ 04:50 PM

  35. Jocelyn Legault
    Jocelyn Legault

    I think we will need to implement a test that ensures there are no enable/disable statements in committed .cpp files. Not sure how, but it could be made a part of the review process as well as the build process.

    I don't agree. The enable / disable calls need to be there if we want the guards to stay in the code. You'll get compilation error otherwise.

    Also, as I mention in the comments / documentation, the suggested current use is basically one category per cpp file. e.g. in foo.cpp, you'd have category foo and in other.cpp, you'd have category other.

    Maybe I need to clarify this in the documentation.



    Alo, what do you think of adding an IsDebuggerPresent() to limit the amount of processing that occures when running a debug or release build without the debugger attached?

    There's very little that goes on other then outputting to the debug console. And if no debug process is attached, OutputDebugString already does nothing by itself. See http://msdn.microsoft.com/en-us/library/aa363362(VS.85).aspx

    December 3rd, 2009 @ 12:14 AM

  36. Jocelyn Legault
    Jocelyn Legault
    • State changed from proposed to needs_ack

    (from [e7f66a94384925e3cb68364f04cdb45cc7698adf]) Debug output: improve output performance and design

    • Replace the outputF function with the DebugOutput object that allows to bundle up the outputs and flush them to the debug console only when ready.
    • It also improves the testability of debug tools that need to output as you now only have to overload the output part of the class.
    • DebugOutput comes with its set of tests.
    • The existing function guards tests have been updated to reflect the new output method.

    • Future improvements:

      • Instead of an extern variable to the global DebugOutput (yuk) we could implement a DebugOutput stack where we could push and pop DebugOutput objects. This stack would live in the application object.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/joce/npp-community/commit/e7f66a94384925e3cb68364...

    December 3rd, 2009 @ 05:27 AM

  37. Thell Fowler
    Thell Fowler

    I think we will need to implement a test that ensures there are no enable/disable statements in committed .cpp files. Not sure how, but it could be made a part of the review process as well as the build process.

    I don't agree. The enable / disable calls need to be there if we want the guards to stay in the code. You'll get compilation error otherwise.

    Also, as I mention in the comments / documentation, the suggested current use is basically one category per cpp file. e.g. in foo.cpp, you'd have category foo and in other.cpp, you'd have category other.

    Maybe I need to clarify this in the documentation.

    The func_guard() statement needs to be there, but why would you exprect the enable/disable statement to be in committed files? A single define in the npp_debug.h to check if there are active func_guards being read in from a non-tracked header seems to be a solution that eliminates having people stepping on each-others toes with enable statements.

    Also, what do you think of adding an IsDebuggerPresent() to limit the amount of processing that occures when running a debug or release build without the debugger attached?

    There's very little that goes on other then outputting to the debug console. And if no debug process is attached, OutputDebugString already does nothing by itself. See http://msdn.microsoft.com/en-us/library/aa363362(VS.85).aspx .

    Good to know!

    • npp_debug.h line# 150 should read ...'the function guards' instead of 'debug guards'

    December 4th, 2009 @ 06:55 PM

  38. Jocelyn Legault
    Jocelyn Legault

    Line 134 of MISC/Common/Common.h is changed from DEBUG to _DEBUG, which means that instead of the developer controlling > when to activate the NO_DEFAULT_CASE it is done simply by using the Debug configuration.

    Actually, it's not a problem with with the _DEBUG macro being used (which is the right one to use). It's a problem with many default cases not being handled. This probably will end up being the proper behaviour, but we still need to investigate to make sure none of these issues are serious.

    The _DEBUG macro will be replaced with the DEBUG one for the time being, but as per our IRC conversation, a new ticket should be created to deal with the NO_DEFAULT_CASES being triggered.

    December 4th, 2009 @ 07:05 PM

  39. Jocelyn Legault
    Jocelyn Legault

    The func_guard() statement needs to be there, but why would you exprect the enable/disable statement to be in committed files? A single define in the npp_debug.h to check if there are active func_guards being read in from a non-tracked header seems to be a solution that eliminates having people stepping on each-others toes with enable statements.

    That could be useful in some cases, but in many other, having a centralized category file will be rather cumbersome, and will cause full recompilations when adding / removing categories.

    Also, for generic calls that can be done in more than one context, it makes much more sense IMO to have the enabling done at file level. Otherwise, you'd still have to have a context for that one file, but it would be declared in a foreign place. i.e. TinyXML. It is its own context. I don't see why the enabling of TinyXML guards should be done elsewhere than that, and disrupting the compilation of other files that have nothing to do with it.

    Secondly, that would mean that we have a file that knows about all the project, from the top, but that could be included by the bottom. Allow me to explain: Even though we currently don't have any formal code hierarchy, we can agree that utility files like common.cpp are at the bottom of the pile and should not know anything about files implementing higher level concept, as the Docking*.cpp files for example. With the centralized concept you propose, common.cpp you be exposed, however indirectly, to docking concepts (the Docking category) that mean nothing to it.

    So, while I'm not totally opposed to categories that have scopes broader that files, I think that should be layered, and we should be careful what we put and include where.

    December 4th, 2009 @ 07:33 PM

  40. Thell Fowler
    Thell Fowler

    From irc::

    [13:36:27] while the explanation is clear enough, I still do not like the idea of the enable/disable being a tracked file.
    [13:37:10] enable/disable should never get committed to an enabled state
    [13:37:18] that is true
    [13:37:46] by having the enabler in the tracked file more checks are required by the developer and the maintainer to ensure they don't make it into committed code
    [13:38:00] That is not ideal IMO
    [13:39:03] all right, let me ponder on that a bit while I fix some emergency here.
    [13:39:05] bbl.
    [13:39:09] kk

    December 4th, 2009 @ 07:39 PM

  41. Jocelyn Legault
  42. npp-community
    npp-community

    (from [affc8250136273c35ae66e3b533d597fdda99295]) Debug function guards: implement the guard.

    • Implement the guard.
    • Implement auxiliary "guard_output" macro that allow for properly indented comments.
    • Set of unit tests for the guard and for guard_output

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/affc8250136273...

    December 7th, 2009 @ 06:14 AM

  43. npp-community
    npp-community

    (from [9b0cc77d6746b33fdd95cef417b810722e386e26]) Debug guards: add documentation

    • Documentation added to explain what is the purpose of the function debug guards and their intended use.

    [#8 state:needs_ack]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/9b0cc77d6746b3...

    December 7th, 2009 @ 06:14 AM

  44. npp-community
    npp-community

    (from [fc77c066e74f3ce3c048d47d9a9d5b38bd59fbd7]) Debug guards: add a way to enable / disable per category

    • New way to enable / disable function guards per category. Such a category can be either a file name or of a different scope altogether.

    • In non-shipping, the disabled guards still leave a skeleton in place, but the amount of executed code is minimal and should not be noticeable.

    • In shipping, the guards are still removed altogether.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/fc77c066e74f3c...

    December 7th, 2009 @ 06:14 AM

  45. npp-community
    npp-community

    (from [bcb2c98d3c5464030d27ef083475eacc0adaed88]) Debug output: improve output performance and design

    • Replace the outputF function with the DebugOutput object that allows to bundle up the outputs and flush them to the debug console only when ready.
    • It also improves the testability of debug tools that need to output as you now only have to overload the output part of the class.
    • DebugOutput comes with its set of tests.
    • The existing function guards tests have been updated to reflect the new output method.

    • Future improvements:

      • Instead of an extern variable to the global DebugOutput (yuk) we could implement a DebugOutput stack where we could push and pop DebugOutput objects. This stack would live in the application object.

    [#8 state:needs_ack responsible:npp-community]

    Signed-off-by: Jocelyn Legault jocelynlegault@gmail.com
    http://github.com/npp-community/npp-community/commit/bcb2c98d3c5464...

    December 7th, 2009 @ 06:14 AM

  46. Thell Fowler
    Thell Fowler
    • State changed from needs_ack to proposed

    (from [b43bd63b212af40adf7dfe4418d4427aa535e285]) Merge branch 'jl/LH-8v3/debug-guards-enabling-per-file' into pu

    • jl/LH-8v3/debug-guards-enabling-per-file: Debug output: improve output performance and design Debug guards: add documentation Debug guards: add a way to enable / disable per category Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/src/MISC/Common/Common.h
    PowerEditor/src/precompiled_headers.h
    

    [#8 state:proposed]

    Acked-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/b43bd63b212af4...

    December 7th, 2009 @ 06:14 AM

  47. Thell Fowler
    Thell Fowler

    (from [f395906707f5ff83e716fe4c99ee29ee7ea74924]) Merge branch 'jl/LH-8v3/debug-guards-enabling-per-file' into pu

    • jl/LH-8v3/debug-guards-enabling-per-file: Debug output: improve output performance and design Debug guards: add documentation Debug guards: add a way to enable / disable per category Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/src/MISC/Common/Common.h
    PowerEditor/src/precompiled_headers.h
    

    [#8 state:proposed]

    Acked-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/f395906707f5ff...

    December 7th, 2009 @ 11:12 PM

  48. Thell Fowler
    Thell Fowler

    (from [ed2008df1df33674c7ff537d192e2f8e326a557d]) common.h: split generic tchar defines from common functions

    • Prep for function guard category inclusion. npp_debug.h requires the generics, and some common functions require npp_debug.h.

    [#8]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/almostautomated/npp-community/commit/ed2008df1df3...

    December 17th, 2009 @ 04:17 PM

  49. Thell Fowler
    Thell Fowler

    (from [5f86353deafc23cb9f56ceb22a61849716d22907]) common.h: split generic tchar defines from common functions

    • Prep for function guard category inclusion. npp_debug.h requires the generics, and some common functions require npp_debug.h.

    [#8]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/almostautomated/npp-community/commit/5f86353deafc...

    December 22nd, 2009 @ 03:53 PM

  50. Thell Fowler
    Thell Fowler

    (from [1f9f01b1bc97b9878f1f8dd23ed7f6b09d6d679a]) Merge branch 'jl/LH-8v3/debug-guards-enabling-per-file' into pu

    • jl/LH-8v3/debug-guards-enabling-per-file: Debug output: improve output performance and design Debug guards: add documentation Debug guards: add a way to enable / disable per category Debug function guards: implement the guard.

    Conflicts:

    PowerEditor/src/MISC/Common/Common.h
    PowerEditor/src/precompiled_headers.h
    

    [#8]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/almostautomated/npp-community/commit/1f9f01b1bc97...

    December 22nd, 2009 @ 03:53 PM

  51. Jocelyn Legault
  52. Thell Fowler
    Thell Fowler

    Looks like I used 8v3 instead of v4... fixed

    January 18th, 2010 @ 10:44 PM

  53. Thell Fowler
    Thell Fowler

    (from [a75302c78043bc9a22f9e3a8586a952290bfcd3f]) Merge branch 'jl/LH-8v4/introduce-debug-guards' into next

    • jl/LH-8v4/introduce-debug-guards: common.h: split generic tchar defines from common functions testNppDebug.cpp: add tests for guard debug statements npp_debug.h: add guard_debugf_cat() controlled by guard state gitignore: do not ignore PowerEditor/MISC/Debug Debug output: improve output performance and design Debug guards: add documentation Debug guards: add a way to enable / disable per category Debug function guards: implement the guard.

    • Merge note: When merging a few manual changes are needed to ensure that common generic and DEFAULT_NO_CASE are properly handled.

    Conflicts:

    PowerEditor/src/MISC/Common/Common.h
    PowerEditor/src/precompiled_headers.h
    PowerEditor/visual.net/notepadPlus.9.vcproj
    

    [#8]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/a75302c78043bc...

    January 19th, 2010 @ 12:02 AM

  54. Thell Fowler
    Thell Fowler
    • State changed from proposed to candidate

    January 19th, 2010 @ 12:10 AM

  55. Thell Fowler
    Thell Fowler

    I've added a fix for the .gitignore from this branch in regards to PowerEditor/src/MISC/Debug being ignored.

    1) reverts commit ca84a05d75c10a37863a8983ebfbe4d6dc9cc734
    2) Correctly adds the pattern to not ignore to the main .gitignore file and removes the .gitignore from the ...MISC/Debug .gitignore which should be there until such time as there are files there to actually ignore.

    The commits can be viewed at:

    http://github.com/almostautomated/npp-community/commits/jl/LH-8v5/i...

    January 27th, 2010 @ 07:54 PM

  56. Thell Fowler
    Thell Fowler
    • State changed from candidate to needs_ack

    January 29th, 2010 @ 07:17 PM

  57. Jocelyn Legault
    Jocelyn Legault
    • State changed from needs_ack to acked

    It's all good.
    I just realized that I forgot to remove a comment when I reimplemented the output streams. Line 112:

    // JOCE Only one call to OutputF.
    

    If you could nix it, that'd be awesome.

    February 9th, 2010 @ 04:58 AM

  58. Thell Fowler
    Thell Fowler

    (from [b0534c08a38171c84f6c20bbaa403af11c8f3ef4]) npp_debug.cpp: [trivial] remove stale comment

    • OutputF is not in use here anymore, instead g_debugOutput is.

    [#8]

    Signed-off-by: Thell Fowler git@tbfowler.name
    http://github.com/npp-community/npp-community/commit/b0534c08a38171...

    February 14th, 2010 @ 04:34 PM

  59. Thell Fowler
    Thell Fowler
    • State changed from acked to resolved

    February 14th, 2010 @ 04:36 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.