« first day (1506 days earlier)      last day (1674 days later) » 

12:01 AM
RELOAD!
[bruglesco/InventoryDesktop\‌​] 1 commit. 32 additions. 1 deletion.
[FreezePhoenix/XtraUtils] 2 commits. 73 additions. 914688 deletions.
[rubberduck-vba/Rubberduck] 1 opened issue. 11 issue comments.
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3956?src=pr&el=h1) Report
> Merging [#3956](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3956?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **increase** coverage by `0.09%`.
> The diff coverage is `28.19%`.


```diff
@@ Coverage Diff @@
## next #3956 +/- ##
=======================
> @MDoerner thanks for the feedback. That actually was an oversight as I meant to address this. The latest commit now should address this shortcoming.

Why didn't I change the label? Primarily because I was concerned that if I didn't communicate the state change, the other components might not work correctly, and because I do not want to lock everything into assumptions about what should happen after a busy action ends.

In a previous commit I introduced the field `OldState` to the event a
[rubberduck-vba/Rubberduck] build for commit 44fe565e on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3956?src=pr&el=h1) Report
> Merging [#3956](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3956?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **decrease** coverage by `0.14%`.
> The diff coverage is `28.65%`.


```diff
@@ Coverage Diff @@
## next #3956 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit 44fe565e on unknown branch: 52.09% (target 0%)
 
12:16 AM
Home time
 
12:46 AM
> I checked the p-code. The `#`, `$`, `%` and `&` (and presumably `^` under 64-bit Office) are *permanently* lost once entered. For "normal" comments such as `Rem Foo`, the space between `Rem` and `Foo` is part of the comment, and in Office 2016 32-bit, the p-code has the op-code for a `Rem` statement `0x00E4` followed by 2 bytes indicating the length of the comment, followed by the comment, followed by 1-4 Null bytes for a 4-byte boundary alignment.

So, if we ever parse the code from p-code
 
 
1 hour later…
2:11 AM
@this Thanks.
 
2:59 AM
> I just realized that I have to special case comments on the previous line. Will do that tomorrow.
 
 
2 hours later…
4:33 AM
> As suggested in the OSS.SE answer, this would properly emphasize the collaborative nature of the efforts, without introducing a legal entity that doesn't really exist:

> © Copyright 2014-${YEAR} Rubberduck project contributors

Thoughts?
> As suggested in the OSS.SE answer, this would properly emphasize the collaborative nature of the efforts, without introducing a legal entity that doesn't really exist:

> © Copyright 2014-${YEAR} Rubberduck project contributors

Thoughts?
 
 
1 hour later…
5:49 AM
> Good solution with minimal effort, legal hassle, or expense. I say go for it.
[rubberduck-vba/Rubberduck] build for commit e7e2593a on unknown branch: AppVeyor build failed
BUILD FAILURE!
> Note that e7e2593 only implements variant types that we should be seeing via its current use in COM collection. It is not intended to be a comprehensive COM -> VBA marshaller at this time.
 
@Duga WTF? This builds clean locally with no failing tests. Do I need to merge the new build script?
 
 
2 hours later…
Hi @WaynePhillipsEA - we were speculating the other day that a break-point is encoded in either the p-code or the excode. Can you confirm that, or does the VBE have some other way of managing breakpoints? And what about bookmarks? Do you know how they're managed?
 
hi @ThunderFrame
they are triggered via execode. when you get a phantom breakpoint, it's because the execode needs to be recompiled
I can't remember whether or not they are stored in the pcode stream, but I will check for you in a few days. I suspect they aren't.
 
@WaynePhillipsEA yep, that was drove our speculation
 
 
1 hour later…
9:08 AM
@WaynePhillipsEA thanks for the tip. And the bookmarks?
 
 
1 hour later…
10:14 AM
@ThunderFrame I think for both breakpoints and bookmarks, as neither survive a reload of the project, it is safe to assume neither are stored in the pcode.
The only question remains as to whether the in-memory version of the pcode directly stores the breakpoints & bookmarks data or whether it is stored separately. However, it's not important to know this, since you haven't got access to the actual in-memory version of the pcode. Even if you grab the streams using the IPersist method I mentioned previously, you only get the same pcode stream that is ordinarily persisted to disk (without any bookmarks or breakpoints data)
 
@WaynePhillipsEA oh I see, I was under the impression that the IPersist method gave us the live p-code and compressed source.
 
Whether or not that is an exact copy of the internal pcode stream used by the VBE, is not something I've checked. I would assume for simplicity that it is an exact copy and that the things that are not persisted to disk are stored separately.
It could be that the serialized pcode is actually quite different to how the pcode is represented in live memory anyway.
But it's kindof moot since you've only got access to the serialized version, without breakpoint/bookmark data
 
10:34 AM
Ok, would have been a nice feature, to be able to reimpose bookmarks/breakpoints, and also offer bookmark/breakpoint navigation.
But live p-code would also be nice for getting some of the pretty printing gaffs to parse and indent properly, like Rem&This is a comment that loses the & when pretty printed
And square-bracketed Enums, and a few other peculiarities that don't survive pretty printing
 
11:12 AM
Question: what does the VariableRewriterInfoFinder try to establish as boundaries of a single variable declaration? I am not too sure since there are no tests.
Should the last part of the preceding endOfStatement be part of it or should be the endOfStatment following be part of it?
In the latter case, should we special case comments?
Anyway, it needs to be adjusted because the introduction of the unterminatedBlock broke the assumption that the parent of a blockStmt is a block.
 
11:53 AM
[rubberduck-vba/Rubberduck] build for commit 9e7c961e on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4219?src=pr&el=h1) Report
> Merging [#4219](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4219?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **decrease** coverage by `0.07%`.
> The diff coverage is `5.26%`.


```diff
@@ Coverage Diff @@
## next #4219 +/- ##
========================
[rubberduck-vba/Rubberduck] build for commit 9e7c961e on unknown branch: 52.16% (target 0%)
> I think it’s a wonderful idea. :+1:
 
12:40 PM
I think I have figured out what this class wants to do and reproduced it in a safer way.
Now, writing tests to cover the behaviour.
 
roll on payday :-)
 
I forget what the status of MemberAttributesRewriter is? We don't use that anymore? it's hanging around just in case?
@mansellan NVMe rocks. got a single 512GB here. Reusing the original 256GB from the laptop and putting it into the NAS is this week's job. (NAS currently takes 6 minutes to startup FreeNAS from a USB drive).
 
2:17 PM
My eyes!!!!
how do I change those colors so I can actually read that?
 
@Comintern I think it need to be restarted. Doesn't look to me it failed because it can't build but rather something went wrong but not sure what exactly.
@Comintern I checked it out but it seems to be for Linux? Or am I looking in wrong place?
 
2:39 PM
@this I could have sworn I'd seen it run under Windows, but apparently not natively. albertgao.xyz/2016/09/28/how-to-use-valgrind-on-windows
 
oh well.
I tried Dr. Memory but that was not helpful
more likely because I couldn't make heads or tails of the dump it dropped on me
TBH I'm kind of surprised at the dearth of good memory profiling tools
one'd think that would be very important to C++ developers.
 
Was it a full debugging dump?
 
looks like. It reported all kind of exceptions
 
Visual Studio usually does pretty well when you attach to those.
 
I tried that as well, and can't get it to give me useful reports
I can run the profile and see the memory usage go up, great. I take few snapshots at points, great.
now I try to look at what objects are... uh oh, sorry it crashed! :(
 
2:43 PM
That sounds like trying to access released memory.
 
all we want to know is whether the memory consumptions are primarily COM, GDI, or whatever
No no, that's the snapshots, after I've stopped the collection
I cannot click on the link while it's running; i have to stop the collection, so it can't be accessing live objects.
 
It's a shame Valgrind appears to be a PITA under Windows, because it excels at that kind of analysis.
 
hmm so I have to compile valgrind.
I've compiled MySQL... HHICB?
I suppose I'll have to do that on my Win 10 VM. Maybe next week when I'm back.
hmm. Wait a minute- @Comintern will valgrind be able to tell me that so and so is GDI vs. COM vs. whatever? Doesn't valgrind have to know about those to know how to analyze those?
 
@FreeMan Is that a Git bash window/
 
git powershell
 
2:50 PM
@this No, but IIR it can fence memory and give you reporting as to when and how it allocated.
 
hmm.
 
@FreeMan Ah. Looked like Git bash, although it might be the same. Can you right-click the window header for a properties dialog?
 
@WaynePhillipsEA just curious - do you have any suggestions on getting good insights on where the memory consumption is coming from. The majority of memory consumption in rubberduck is unmanaged so we can't use .NET tools and we are not sure if it's GDI or COM or something that's hogging the memory.
 
@Comintern yup - didn't think of that. Not enough coffee on a Saturday morning.
I can change the background color, but about the only options are ugly colors to get the majority of foreground colors to show up.
I wonder if there's something in the Git client that I can change the foreground colors...
question for another day.
sadly, even highlighting the hard to see colors makes another se t of hard to see colors
 
@FreeMan Didn't it install Git bash and command line Git too? They should all do the same thing, different window.
 
2:56 PM
nope. I've got "Git Shell" which launches powershell and the GitHub GUI client.
I may have skipped installing something. I'm 99.9% certain that I got it directly from git-scm.[com|org] but ... my memory isn't quite what it used to be.
well, when I changed the background back to black and it seems most of it's pretty readable.
I think I changed the background to that blue to remind me I was in powershell instead of CMD
OK, my local repository seems to be up to date with rubberduck-vba/next. The reason for me to have a fork on GitHub & keep it in sync with my local is so I don't lose my local work should my HD die, right?
 
well it could be used that way but that's not the real reasons, IMO. The real reason is that you don't have permission to the RD's repo directly.
That's why you do a "pull request" -- you're asking Mat & Co. nicely to pull your changes in your fork into their own repo.
 
ah, OK. So I do my work locally, push changes to my fork ...
 
Correct
 
^ I was getting there!
Anyone feeling like some hand holding today? 4036 makes claims to being an easy first start...
 
Is there a way to suspend and the reinstate automatic parsing if I want RD to add a component?
 
@ThunderFrame after that busy PR's merged, that probably needs to be updated, among other things. QuickFixes would be another one.
 
Time to mow the lawn (TTMTL?) before the blast furnace stokes up.
 
3:35 PM
Can one define constants inside a For Each loop?
 
I would think you can define const anywhere in the procedure.
 
Ok, then I have to revamp the ConstantRewriterInfoFinder as well.
Really, there should have been tests breaking when I introduced the unterminatedBlock.
 
Just confirmed -- it has same behavior as Dim
Public Sub foo()
    Dim i As Long

    For i = 1 To 100
        Const bar As Long = 2
    Next
End Sub
in the local windows, the bar is listed even before I reach the For statement, just like Dim.
 
Currently, any refactoring/quickfix trying to remove that will throw an exception.
The ConstantRewriterInfoFinder assumes that the parent of a blockStmt is a block, which is no longer always true.
 
shows how incredibly evil the unbalanced For/For Next + Next construct is.
 
3:50 PM
> Test Modules are added with a number-suffixed, English module name like TestModule1, but when adding standard, class and document modules in different locales, the VBE uses a localized name.

We don't rely upon the name to identify test modules, so to be user friendly, we should be using localized names.

see #3879
 
@Duga will this get us in trouble? I know there are a number of developers who has chose to install English version of Office simply because it's impossible to work with localized VBA code; the localization isn't exactly that great, AIUI.
 
> If a project has `TestModule1`, `TestModule2` and `TestModule3`, and then `TestModule2` is removed, then attempting to add a new test module fails because of this naming algo:

```c#
private string GetNextTestModuleName(IVBProject project)
{
var names = project.ComponentNames();
var index = names.Count(n => n.StartsWith(TestModuleBaseName)) + 1;

return string.Concat(TestModuleBaseName, index);
}
```

see #4220
 
4:14 PM
@this IIRC, localised VBA keywords haven't been a thing since Excel 97 or maybe even 95, but the names of new modules are localized. RD should at least adhere to the same localized word for Module as a standard module gets?
Ideally a user renames the module straight away anyway.
 
I was thinking more about that if you encourage user that it's ok to use localized identifer, the module might not port over to other settings well? (I do not work much with that kind of problems; all what I know is strictly secondhand)
 
@this any other module is already getting a localized identifier. I'm unsure what settings might present a problem, but any that do, are already causing problems with every other module for those users.
 
yeah.
 
For bilingual users, it's jarring, for non-English speakers it's baffling.
 
FML, I have so much grub damage in my yard that it makes me want to change boot loaders.
 
4:53 PM
^that makes my head hurt, but it's funny none the less!
 
5:51 PM
Why does the encapsulate field refactoring remove a non-private field and insert a new one instead of updating the original declaration?
 
 
1 hour later…
8:05 PM
0
Q: Looking for some improvements to my basic code. (Importing files)

William CezarGood day experts. Any tips to reduce lines, improve speed, any cool thing, are welcome. Im using this for years and i just realize, why not improve ...? thank you for you help! Sub AtualizarRelatorioGeral() Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Appli...

 
8:58 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4218?src=pr&el=h1) Report
> Merging [#4218](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4218?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **increase** coverage by `0.06%`.
> The diff coverage is `86.67%`.


```diff
@@ Coverage Diff @@
## next #4218 +/- ##
=======================
> Since I stumbled over it while trying to fix my problems with the whitespace around the introduced variable, I added tests for the non-trivial implementations of IRewriterInfoFinder and made the implementations work for declarations inside unterminatedBlocks introduced a while back.
 
9:12 PM
[rubberduck-vba/Rubberduck] build for commit ad24ccaa on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4218?src=pr&el=h1) Report
> Merging [#4218](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4218?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **increase** coverage by `0.08%`.
> The diff coverage is `90.83%`.


```diff
@@ Coverage Diff @@
## next #4218 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit ad24ccaa on unknown branch: 52.31% (target 0%)
 
 
1 hour later…
10:34 PM
@this, does Access allow you to set the default Option Compare statement for new modules, or is it always Database?
 
11:03 PM
I think it is always Option Compare Database.
 
> When I closed #4137, I missed the corresponding change needed in the reference resolver.
 
@Duga That's the last of the to-do's in the VB6 project. None of the optionals are particularly critical, so I think VB6 support is ready for release :-)
 
11:20 PM
[rubberduck-vba/Rubberduck] build for commit b05cf192 on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4222?src=pr&el=h1) Report
> Merging [#4222](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4222?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/9d5f49a5e60e66eed77236da94402087a9dd86c0?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #4222 +/- ##
=======================================
[rubberduck-vba/Rubberduck] build for commit b05cf192 on unknown branch: 52.23% (target 0%)
 
@Duga mostly likely because av is also running older version of ps
If resolve path returns nothing then it assumes midl not available. Fallbacks to tlbexp.
 
@this ah ok... is 5.0 being no longer available a concern?
 
@ThunderFrame good q, IDK. never tried to change default
@mansellan just do it in two lines
Resolve environment variable for system root
 
sure ok
 
Plug into resolve path
Doubt we can upgrade ps in av assume you cannt
 
11:28 PM
will have to rely on AV to test the fix works though :-(
but no biggie
 
[rubberduck-vba/Rubberduck] build for commit 5a211531 on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4210?src=pr&el=h1) Report
> Merging [#4210](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4210?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/5d5a35562ebe653848201b5cd477b5eaf8c6068a?src=pr&el=desc) will **increase** coverage by `0.01%`.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #4210 +/- ##
=========================
[rubberduck-vba/Rubberduck] build for commit 5a211531 on unknown branch: 52.23% (target 0%)
 
11:52 PM
@this Is there any merit in allowing Rubberduck to define the Option Compare default for new modules? I doubt it, as for code that interacts with database data, you'd almost always want Database, but IDK, maybe there are frustrated users out there having to re-type the statement everytime they add a module?
 

« first day (1506 days earlier)      last day (1674 days later) »